/* ─── MIRAI CoolClip — mobile-first, accessible ─── */
/* Global horizontal-scroll lockdown + kill parent paddings (must come first) */
html, body { overflow-x:hidden !important; max-width:100vw !important; margin:0 !important; padding:0 !important; }
#page, #content, .col-full, .site-content { overflow-x:hidden !important; max-width:100vw !important; padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; }

.mc-page * { box-sizing:border-box; }
.mc-page { color:#111; font-family:"Poppins","Noto Sans JP",system-ui,sans-serif; font-size:16px; line-height:1.75; letter-spacing:.02em; max-width:100vw; overflow-x:hidden; }
.mc-page h1,.mc-page h2,.mc-page h3,.mc-page h4 { font-weight:700; line-height:1.35; margin:0; letter-spacing:.02em; color:#111; }
.mc-page p { margin:0; }
.mc-page ul { padding:0; margin:0; list-style:none; }
.mc-page img { max-width:100%; height:auto; display:block; }
.mc-page button { font-family:inherit; cursor:pointer; }

/* Storefront chrome cleanup */
#secondary,.storefront-secondary { display:none !important; }
#primary { width:100% !important; max-width:100% !important; float:none !important; }
.site-content > .col-full { padding:0 !important; max-width:100% !important; }
.product .summary,.product .images,.single-product .product { display:none !important; }
.woocommerce-breadcrumb,.related.products,.upsells.products { display:none !important; }

/* ─── SECTION 1: BUY BOX ─── */
.mc-main { background:#fff; padding:0 0 28px; }
.mc-main__inner { max-width:1400px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:18px; }

/* Gallery — match exato do fix que funcionou no drill-cz */
.mc-gallery {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.mc-gallery__main {
  position:relative;
  width:100%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  background:#fff;          /* branco, não cinza */
  border-radius:0;
  padding:0;
  box-sizing:border-box;
  overflow:hidden;
  aspect-ratio:1/1;
  display:block;
}
.mc-gallery__main img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  border-radius:0;
  object-fit:cover;         /* enche 100%, sem letterbox cinza */
}
.mc-gallery__thumbs {
  display:flex;
  gap:4px;
  margin:8px 0 0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 10px;              /* respiro lateral pra primeira/última thumb */
  scroll-padding:0 10px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  max-width:100%;
  box-sizing:border-box;
  justify-content:flex-start;    /* não centraliza — deixa fluir da esquerda */
  scroll-snap-type:x proximity;
}
.mc-gallery__thumbs::-webkit-scrollbar { display:none; width:0; height:0; }
.mc-thumb { flex:0 0 60px; width:60px; height:60px; border:1.5px solid transparent; padding:0; background:#fff; overflow:hidden; touch-action:manipulation; border-radius:6px; scroll-snap-align:start; outline:none !important; box-shadow:none !important; }
.mc-thumb:focus, .mc-thumb:focus-visible, .mc-thumb:active, .mc-thumb:hover { outline:none !important; box-shadow:none !important; }
.mc-thumb.is-active { border-color:#111; }
.mc-thumb img { width:100%; height:100%; object-fit:cover; }

/* Buy box (text content gets 10px padding to match footer/reviews/faq) */
.mc-buybox { padding:0 10px; }
.mc-reviews-widget { display:flex; align-items:center; gap:10px; font-size:14px; color:#555; margin-bottom:10px; }
.mc-stars { color:#FFB400; letter-spacing:2px; font-size:16px; }
.mc-title { font-size:clamp(22px,5.5vw,30px); line-height:1.4; margin:0 0 14px; }
.mc-subtitle { font-size:17px; color:#121212; margin:8px 0 18px; font-weight:600; line-height:1.6; }
.mc-benefits { display:flex; flex-direction:column; gap:12px; margin:0 0 20px; font-size:16px; color:#222; line-height:1.75; }
.mc-benefits li { padding:4px 0; }
.mc-benefits strong { color:#111; font-weight:700; }

/* Price */
.mc-price { margin:0 0 14px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.mc-price__regular { font-size:15px; color:#999; text-decoration:line-through; }
.mc-price__sale { font-size:clamp(28px,7vw,34px); font-weight:900; color:#D42B2B; line-height:1; }
.mc-price__off { background:#D42B2B; color:#fff; font-weight:700; font-size:12px; padding:4px 10px; }

/* Urgency banner */
.mc-urgency { background:#D42B2B; color:#fff; text-align:center; padding:13px 14px; font-weight:700; font-size:15px; margin:0 0 18px; line-height:1.4; }

/* Variants */
.mc-variants { margin:18px 0 36px; }
.mc-variants__label { font-size:15px; color:#333; margin-bottom:12px; }
.mc-variants__row { display:flex; gap:18px; }
.mc-color { width:52px; height:52px; min-width:52px; min-height:52px; border-radius:50%; border:2px solid transparent; padding:0; position:relative; touch-action:manipulation; }
.mc-color.is-active { border-color:#111; box-shadow:0 0 0 2px #fff,0 0 0 4px #111; }
.mc-color span { position:absolute; bottom:-24px; left:50%; transform:translateX(-50%); font-size:12px; white-space:nowrap; color:#555; }

/* Bundles */
.mc-bundles { margin:48px 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mc-bundle { background:#fff; border:2px solid #ddd; border-radius:10px; padding:16px 10px 14px; text-align:center; display:flex; flex-direction:column; gap:4px; position:relative; transition:border-color .15s,box-shadow .15s; min-height:120px; touch-action:manipulation; }
.mc-bundle.is-active { border-color:#D42B2B; box-shadow:0 0 0 3px rgba(212,43,43,.12); }
.mc-bundle__badge { position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:#D42B2B; color:#fff; font-size:11px; font-weight:700; padding:4px 9px; border-radius:6px; white-space:nowrap; }
.mc-bundle__qty { font-size:15px; font-weight:700; margin-top:6px; }
.mc-bundle__sub { font-size:11px; color:#666; }
.mc-bundle__total { font-size:19px; font-weight:900; color:#111; margin-top:4px; }
.mc-bundle__savings { font-size:11px; color:#D42B2B; font-weight:700; }

/* ATC — touch target generous */
.mc-atc { width:100%; min-height:56px; padding:18px 24px; background:#111; color:#fff; border:none; border-radius:6px; font-size:17px; font-weight:700; letter-spacing:.04em; margin-top:10px; transition:background .15s; touch-action:manipulation; }
.mc-atc:hover,.mc-atc:active { background:#D42B2B; }

/* Shipping checkpoints */
.mc-checkpoints { margin:24px 0; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:6px; align-items:center; padding:16px 10px; background:#f5f5f7; border-radius:8px; }
.mc-cp { text-align:center; }
.mc-cp__icon { font-size:22px; margin-bottom:6px; }
.mc-cp__top { font-size:12px; color:#111; line-height:1.3; }
.mc-cp__bottom { font-size:12px; color:#555; margin-top:4px; }
.mc-cp__sep { color:#bbb; font-size:20px; }

/* Collapsible tabs (in buy box) */
.mc-tab { border-top:1px solid #eee; padding:18px 0; }
.mc-tab summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:700; font-size:16px; color:#111; list-style:none; min-height:32px; padding:4px 0; touch-action:manipulation; }
.mc-tab summary::-webkit-details-marker { display:none; }
.mc-tab summary span { font-size:20px; color:#999; transition:transform .2s; }
.mc-tab[open] summary span { transform:rotate(90deg); }
.mc-tab__body { padding:14px 0 4px; font-size:15px; color:#444; line-height:1.8; }
.mc-tab__body p { margin-bottom:10px; }
.mc-tab__body ul { padding-left:20px; list-style:disc; }
.mc-tab__body ul li { margin-bottom:4px; }

/* ─── SECTION 2: DESCRIPTION (body-XX stacked) ─── */
.mc-description-wrap { background:#fff; max-width:900px; margin:0 auto; }
.mc-description-wrap .mc-description { display:flex; flex-direction:column; gap:0; }
.mc-description-wrap .mc-description img,
.mc-description-wrap p img { width:100%; height:auto; display:block; margin:0; }
.mc-description-wrap p { margin:0; padding:0; }

/* ─── SECTION 3: TICKER (red, true edge-to-edge) ─── */
.mc-ticker {
  background:#D42B2B;
  color:#fff;
  overflow:hidden;
  padding:16px 0;
  width:100vw;
  max-width:100vw;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  box-sizing:border-box;
}
.mc-ticker__track { display:flex; align-items:center; gap:36px; white-space:nowrap; width:max-content; animation:mc-tickerMove 60s linear infinite; will-change:transform; }
.mc-ticker__item, .mc-ticker__sep { flex-shrink:0; }
.mc-ticker__item { font-size:16px; font-weight:700; letter-spacing:.08em; color:#fff; }
.mc-ticker__sep { color:rgba(255,255,255,.5); margin:0 8px; }
@keyframes mc-tickerMove { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ─── SECTION 5: FAQ ─── */
.mc-faq { background:#fff; padding:60px 10px 80px; max-width:780px; margin:0 auto; }
.mc-faq h2 { font-size:clamp(26px,6vw,34px); text-align:center; margin:0 0 36px; font-weight:700; letter-spacing:.04em; }
.mc-faq__item { border-bottom:1px solid #e5e5e5; padding:0; margin:0; }
.mc-faq__item summary { display:flex; align-items:center; gap:14px; cursor:pointer; padding:22px 8px; font-weight:500; font-size:16px; color:#111; list-style:none; user-select:none; min-height:54px; touch-action:manipulation; }
.mc-faq__item summary::-webkit-details-marker { display:none; }
.mc-faq__check { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border:1.5px solid #111; border-radius:3px; flex-shrink:0; font-size:14px; font-weight:700; line-height:1; color:#111; background:#fff; }
.mc-faq__check::before { content:"✓"; }
.mc-faq__item[open] .mc-faq__check { background:#D42B2B; border-color:#D42B2B; color:#fff; }
.mc-faq__caret { margin-left:auto; font-size:24px; color:#666; font-weight:400; transition:transform .25s; line-height:1; }
.mc-faq__item[open] .mc-faq__caret { transform:rotate(45deg); color:#D42B2B; }
.mc-faq__item p { color:#555; font-size:15px; margin:0; padding:0 8px 22px 44px; line-height:1.85; }

/* ─── Sticky mobile ATC (thumb + info + button) ─── */
.mc-sticky { position:fixed; bottom:0; left:0; right:0; background:#fff; padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px)); box-shadow:0 -2px 12px rgba(0,0,0,.12); transform:translateY(100%); transition:transform .2s; z-index:99; display:flex; align-items:center; gap:10px; border-top:1px solid #eee; }
.mc-sticky--show { transform:translateY(0); }
.mc-sticky__info { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.mc-sticky__thumb { width:48px; height:48px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.mc-sticky__txt { flex:1; min-width:0; }
.mc-sticky__title { font-size:11px; font-weight:600; color:#111; line-height:1.3; margin:0 0 3px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.mc-sticky__price { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.mc-sticky__sale { font-size:14px; font-weight:800; color:#111; }
.mc-sticky__strike { font-size:11px; color:#999; text-decoration:line-through; }
.mc-sticky__off { font-size:9px; font-weight:700; color:#fff; background:#D42B2B; padding:2px 5px; border-radius:3px; white-space:nowrap; }
.mc-sticky__cta { padding:14px 18px; background:#D42B2B; color:#fff; border:none; border-radius:6px; font-weight:700; font-size:14px; white-space:nowrap; min-height:48px; flex-shrink:0; }

/* ─── MINI REVIEWS CAROUSEL (above title) ─── */
.mc-mr { background:#f5f5f7; border-radius:10px; overflow:hidden; margin:14px 0 18px; padding:0 0 12px; position:relative; }
.mc-mr__track { display:flex; transition:transform .4s ease; width:100%; will-change:transform; }
.mc-mr__slide {
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  min-height:88px;
  box-sizing:border-box;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 12px 6px;
}
.mc-mr__slide img { width:48px; height:48px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.mc-mr__body { flex:1; min-width:0; }
.mc-mr__text { font-size:13px; color:#333; line-height:1.55; margin:0 0 4px; }
.mc-mr__meta { font-size:11px; color:#666; margin:0; }
.mc-mr__meta strong { color:#111; font-weight:600; }
.mc-mr__stars { color:#FFB400; letter-spacing:1px; margin-left:4px; }
.mc-mr__dots { display:flex; justify-content:center; gap:6px; margin-top:10px; }
.mc-mr__dot { width:7px; height:7px; border-radius:50%; border:none; background:rgba(0,0,0,.2); padding:0; cursor:pointer; transition:background .2s; }
.mc-mr__dot.is-active { background:#D42B2B; }

/* ─── PRICE (new inline JPY) ─── */
.mc-price { margin:14px 0 18px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.mc-price__sale { font-size:clamp(22px,5.5vw,28px); font-weight:900; color:#D42B2B; line-height:1; }
.mc-price__regular { font-size:14px; color:#999; text-decoration:line-through; font-weight:600; }
.mc-price__off { background:#D42B2B; color:#fff; font-weight:700; font-size:11px; padding:4px 8px; border-radius:4px; }

/* ─── BUNDLES BLOCK (vertical, separated cards with badges) ─── */
.mc-bundles-block { margin:22px 0 14px; }
.mc-bundles-block__title { background:#1a1a1a; color:#fff; padding:11px 12px; font-size:13px; font-weight:700; text-align:center; border-radius:8px 8px 0 0; }
.mc-bundles-list { display:flex; flex-direction:column; gap:8px; padding:10px 8px; background:#fafafa; border-radius:0 0 8px 8px; border:1px solid #eee; border-top:none; }
.mc-brow { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:14px 12px; background:#fff; border:2px solid #e5e5e5; border-radius:8px; text-align:left; cursor:pointer; transition:all .15s; position:relative; touch-action:manipulation; }
.mc-brow:hover { border-color:#ccc; }
.mc-brow.is-active { background:#fff; border-color:#D42B2B; box-shadow:0 0 0 1px #D42B2B; }
.mc-brow__radio { width:22px; height:22px; border:2px solid #ccc; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; transition:border-color .15s; }
.mc-brow.is-active .mc-brow__radio { border-color:#D42B2B; }
.mc-brow__radio span { width:11px; height:11px; border-radius:50%; background:transparent; transition:background .15s; }
.mc-brow.is-active .mc-brow__radio span { background:#D42B2B; }
.mc-brow__info { display:flex; flex-direction:column; gap:2px; min-width:0; }
.mc-brow__qty-line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mc-brow__qty-line strong { font-size:15px; font-weight:700; color:#111; }
.mc-brow__unit { font-size:11px; background:#f0f0f0; color:#555; padding:2px 7px; border-radius:10px; font-weight:600; line-height:1.4; }
.mc-brow__saving { font-size:11px; color:#D42B2B; font-weight:600; margin-top:2px; }
.mc-brow__badge { position:absolute; top:-9px; right:10px; background:#D42B2B; color:#fff; font-size:10px; font-weight:700; padding:3px 9px; border-radius:10px; white-space:nowrap; line-height:1.4; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.mc-brow__price { text-align:right; flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.mc-brow__price strong { font-size:16px; font-weight:900; color:#111; line-height:1.2; }
.mc-brow__price span { font-size:11px; color:#999; text-decoration:line-through; }

/* Per-unit color picker (expander inside selected bundle) */
.mc-brow__top { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; cursor:pointer; }
.mc-brow { display:block; padding:14px 12px; }
.mc-brow__colors { display:none; margin-top:12px; padding-top:12px; border-top:1px solid #eee; }
.mc-brow.is-active .mc-brow__colors { display:block; }
.mc-brow__colors-label { font-size:12px; color:#555; margin:0 0 8px; font-weight:600; }
.mc-unit { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.mc-unit:last-child { margin-bottom:0; }
.mc-unit__thumb { width:42px; height:42px; border-radius:6px; object-fit:cover; flex-shrink:0; background:#f5f5f7; }
.mc-unit__select { flex:1; max-width:180px; padding:8px 28px 8px 10px; border:1px solid #ddd; border-radius:6px; font-size:16px; background:#fff; color:#111; cursor:pointer; font-family:inherit; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; }
.mc-unit__select:focus { outline:none; border-color:#D42B2B; }

/* ─── DUAL CTAs ─── */
.mc-cta { width:100%; min-height:54px; padding:16px 24px; border-radius:6px; font-size:16px; font-weight:700; letter-spacing:.04em; margin-top:8px; transition:all .15s; touch-action:manipulation; cursor:pointer; }
.mc-cta--primary { background:#D42B2B; color:#fff; border:2px solid #D42B2B; }
.mc-cta--primary:hover { background:#b21f1f; border-color:#b21f1f; }
.mc-cta--secondary { background:#fff; color:#D42B2B; border:2px solid #D42B2B; margin-top:8px; }
.mc-cta--secondary:hover { background:#fff8f8; }

/* ─── URGENCY + TRUST BLOCK (below CTAs) ─── */
.mc-urg-banner { margin:18px 0 12px; background:#D42B2B; color:#fff; padding:12px 14px; border-radius:6px; display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; font-size:13px; font-weight:600; line-height:1.5; text-align:center; }
.mc-urg-banner strong { font-weight:700; }
.mc-urg-banner__sep { opacity:.5; margin:0 4px; }

.mc-rank { background:#fffbe6; border:2px solid #f0c040; border-radius:10px; padding:12px 14px; margin:0 0 12px; text-align:center; }
.mc-rank__top { display:inline-block; background:#f0c040; color:#5a3e00; font-weight:700; padding:5px 14px; border-radius:20px; margin-bottom:8px; font-size:13px; }
.mc-rank__stats { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; font-size:13px; color:#333; }
.mc-rank__hl { color:#D42B2B; font-weight:700; }
.mc-rank__sep { color:#ccc; }

.mc-trust-pills { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; justify-content:center; }
.mc-tp { background:#fff; border:1.5px solid #ddd; border-radius:20px; padding:6px 12px; font-size:12px; font-weight:600; color:#333; white-space:nowrap; }

.mc-model-badge { display:block; text-align:center; background:#1a1a1a; color:#fff; padding:7px 16px; font-weight:700; margin:0 0 14px; font-size:13px; letter-spacing:.04em; border-radius:4px; }

.mc-tagline { text-align:center; font-size:clamp(16px,4.5vw,20px); font-weight:800; line-height:1.4; color:#111; margin:0 0 14px; }
.mc-hl { color:#D42B2B; }

.mc-sub-bullet { font-size:13px; color:#444; line-height:1.75; margin:0 0 8px; text-align:center; }
.mc-sub-bullet strong { color:#111; font-weight:700; }

/* ─── Tablet ≥ 640px ─── */
@media (min-width:640px) {
  .mc-page { font-size:17px; }
  .mc-main { padding:32px 24px 40px; }
  .mc-gallery__main { max-width:480px; }  /* cap tablet pra não virar gigante */
  .mc-checkpoints { padding:18px 16px; gap:10px; }
  .mc-cp__top, .mc-cp__bottom { font-size:13px; }
  .mc-bundles { grid-template-columns:1fr 1fr 1fr 1fr; }
  .mc-faq { padding:60px 24px 80px; }
  .mc-faq__item summary { font-size:17px; }
  .mc-faq__item p { font-size:16px; }
}

/* ─── Desktop ≥ 900px ─── */
@media (min-width:900px) {
  .mc-main__inner { grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .mc-gallery__main { max-width:100%; padding:8px; }   /* libera no desktop */
  .mc-title { font-size:clamp(26px,3vw,32px); }
  .mc-sticky { display:none; }
}
