/* ============================================================
   Casablanca Brand — v2 bold layer (additive over theme.min.css)
   Marquee · amplified hero · editorial bands · size calculator ·
   IG-style lookbook · comparison tables · PDP reviews · dropdown fix
   ============================================================ */

/* ---- Keyword marquee band (under header) ---- */
.kw-marquee{background:var(--deep);color:var(--ivory);overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.kw-marquee__track{display:flex;gap:0;width:max-content;animation:kwscroll 42s linear infinite;will-change:transform}
.kw-marquee:hover .kw-marquee__track{animation-play-state:paused}
.kw-marquee__track span{font-family:var(--serif);font-size:clamp(14px,1.7vw,20px);letter-spacing:.06em;padding:.55rem 1.5rem;white-space:nowrap;display:inline-flex;align-items:center;gap:1.4rem;opacity:.92}
.kw-marquee__track span::after{content:"✦";color:var(--sun);font-size:.7em;margin-left:1.4rem}
@keyframes kwscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.kw-marquee__track{animation:none;white-space:normal;flex-wrap:wrap;width:auto}.kw-marquee__track span:nth-child(n+7){display:none}}

/* ---- Hero amplified (bolder editorial type) ---- */
.hero-copy h1,.hero h1,.terra-text{font-size:clamp(2.6rem,7.2vw,6rem)!important;line-height:.92!important;letter-spacing:-.015em}
.hero .kicker,.hero-copy .kicker{display:inline-block;font-family:var(--sans);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--sun);margin-bottom:.7rem;font-weight:700}
.hero .motto,.hero-copy .motto{font-size:clamp(1.05rem,2.4vw,1.55rem)!important}

/* ---- Editorial split band (bold new section) ---- */
.ed-band{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:stretch;background:var(--deep);color:var(--ivory);border-radius:var(--radius-lg);overflow:hidden;margin:clamp(24px,4vw,44px) auto;max-width:var(--container)}
.ed-band__copy{padding:clamp(24px,4vw,52px);display:flex;flex-direction:column;justify-content:center;gap:.9rem}
.ed-band__copy .kicker{font-family:var(--sans);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sun);font-weight:700}
.ed-band__copy h2{font-family:var(--serif);font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.02;margin:0;color:#fff}
.ed-band__copy p{color:rgba(247,241,230,.82);margin:0;max-width:52ch}
.ed-band__media{position:relative;min-height:280px;background:#12312d}
.ed-band__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ed-band__stats{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:.4rem}
.ed-band__stats b{font-family:var(--serif);font-size:1.8rem;color:var(--sun);display:block;line-height:1}
.ed-band__stats span{font-size:.8rem;color:rgba(247,241,230,.7)}
@media (max-width:820px){.ed-band{grid-template-columns:1fr}.ed-band__media{min-height:220px;order:-1}}

/* ---- Section eyebrow used on new blocks ---- */
.v2-eyebrow{font-family:var(--sans);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--terra);font-weight:700;margin:0 0 .35rem}
.v2-sec{max-width:var(--container);margin:clamp(26px,4vw,46px) auto;padding:0 clamp(16px,4vw,28px)}
.v2-sec>h2{font-family:var(--serif);font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.04;margin:.1rem 0 1rem;color:var(--ink)}

/* ---- Size / fit calculator ---- */
.size-calc{background:linear-gradient(160deg,var(--ivory),#fff);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(18px,3vw,30px);box-shadow:var(--shadow-sm)}
.size-calc__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem;align-items:end}
.size-calc label{display:block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.size-calc input,.size-calc select{width:100%;padding:.7rem .8rem;border:1px solid var(--line-strong);border-radius:12px;background:#fff;font:inherit;color:var(--ink)}
.size-calc input:focus,.size-calc select:focus{outline:none;box-shadow:var(--ring);border-color:var(--sun)}
.size-calc__btn{grid-column:1/-1}
.size-calc__btn button{width:100%;background:var(--terra);color:#fff;border:0;border-radius:999px;padding:.85rem 1.2rem;font-weight:700;font-size:1rem;cursor:pointer;transition:background .15s}
.size-calc__btn button:hover{background:var(--terra-2)}
.size-calc__out{grid-column:1/-1;margin-top:.2rem;min-height:2.2rem}
.size-calc__result{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--deep);color:#fff;border-radius:14px;padding:.9rem 1.1rem}
.size-calc__result .sz{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--sun)}
.size-calc__result .txt{font-size:.92rem;color:rgba(247,241,230,.9)}
.size-calc__note{font-size:.8rem;color:var(--muted);margin:.7rem 0 0}
@media (max-width:560px){.size-calc__grid{grid-template-columns:1fr}}

/* ---- IG-style lookbook ---- */
.lookbook__head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.lookbook__handle{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink)}
.lookbook__handle .av{width:40px;height:40px;border-radius:50%;background:conic-gradient(from 90deg,var(--terra),var(--sun),var(--teal-2),var(--terra));display:grid;place-items:center}
.lookbook__handle .av b{width:34px;height:34px;border-radius:50%;background:var(--deep);color:var(--sun);display:grid;place-items:center;font-family:var(--serif);font-size:.9rem}
.lookbook__handle small{display:block;color:var(--muted);font-weight:500;font-size:.8rem}
.lookbook__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.lookbook__grid figure{position:relative;margin:0;aspect-ratio:1/1;overflow:hidden;border-radius:12px;background:var(--ivory-2)}
.lookbook__grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.lookbook__grid figure:hover img{transform:scale(1.06)}
.lookbook__grid figcaption{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;align-items:center;gap:.4rem;padding:.5rem .6rem;font-size:.78rem;color:#fff;background:linear-gradient(0deg,rgba(15,38,36,.72),transparent)}
.lookbook__grid .lk-like{display:inline-flex;align-items:center;gap:.25rem}
@media (max-width:760px){.lookbook__grid{grid-template-columns:repeat(2,1fr)}}

/* ---- Comparison table wrap (bolder) ---- */
.v2-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch}
.v2-table-wrap table{width:100%;border-collapse:collapse;min-width:520px}
.v2-table-wrap th,.v2-table-wrap td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--line)}
.v2-table-wrap thead th{background:var(--deep);color:var(--ivory);font-family:var(--serif);font-weight:600;letter-spacing:.01em}
.v2-table-wrap tbody tr:nth-child(even){background:var(--ivory)}
.v2-table-wrap tbody tr:last-child td{border-bottom:0}

/* ---- PDP ratings + reviews ---- */
.rating-inline{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--ink)}
.rating-inline .stars{color:var(--sun);letter-spacing:.05em}
.rating-inline a{color:var(--muted);text-decoration:underline}
.reviews{max-width:var(--container);margin:1.6rem auto 2.6rem;padding:0 clamp(16px,4vw,32px)}
.reviews h2,.reviews h3{font-family:var(--serif)}
.reviews__summary{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1rem}
.reviews__score{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--ink)}
.reviews__score small{display:block;font-size:.8rem;color:var(--muted);font-family:var(--sans)}
.reviews__list{display:grid;gap:.8rem}
.review{border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.1rem;background:#fff}
.review .stars{color:var(--sun);font-size:.9rem}
.review .who{font-weight:700;color:var(--ink);margin:.2rem 0}
.review p{margin:.25rem 0 0;color:var(--muted)}

/* ---- Footer polish after removing Explore column ---- */
.footer-grid{grid-template-columns:1.6fr 1fr 1.4fr!important}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr!important}}

/* ---- Header dropdown: pure CSS, hover + keyboard/touch focus. No JS, no flicker, no dead states ---- */
.has-sub{position:relative}
.has-sub > .sub{display:none!important;position:absolute;top:100%;left:0;margin-top:0;z-index:60}
.has-sub:hover > .sub,
.has-sub:focus-within > .sub{display:block!important}
.has-sub > .sub-toggle::after{content:"▾";margin-left:.35rem;font-size:.7em;display:inline-block;transition:transform .15s}
.has-sub:hover > .sub-toggle::after,
.has-sub:focus-within > .sub-toggle::after{transform:rotate(180deg)}

/* ---- misc bold touches ---- */
.section-head h2,.v2-sec>h2{position:relative}
.hero .btn.primary,.cat-hero .btn.primary,.btn.rh-shop{background:var(--terra);border-color:var(--terra);color:#fff}
.hero .btn.primary:hover,.btn.rh-shop:hover{background:var(--terra-2);border-color:var(--terra-2)}
