/*
Theme Name: Bahia Boutique
Theme URI: https://themeforest.net/user/cleitonpesse
Author: cleitonpesse
Author URI: https://themeforest.net/user/cleitonpesse
Description: Bahia Boutique is a premium cosmetic store & dermocosmetics theme for WooCommerce. Inspired by Brazilian warmth and earthy tones — ivory, espresso, cacao, champagne — with quiet-luxury editorial design, Instrument Serif + Inter typography, and a fully Customizer-driven content panel. 100% responsive, translation-ready, with social share cards, client contact/WhatsApp settings and an architectural, refined layout.
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bahia-boutique
Tags: e-commerce, woocommerce, beauty, cosmetics, skincare, dermocosmetics, premium, responsive, customizer, translation-ready
*/

/* 
   LUMIV — MASTER BRAND DIRECTION
   Science, Illuminated.  —  Surface: Decide/Learn (editorial marketing)
   O CSS completo de design vive em style.css (abaixo).
   As variáveis de cor vêm do theme mods via Customizer (functions.php).
*/

/* ============================================================
   LUMIV — MASTER BRAND DIRECTION
   Science, Illuminated.
   Surface: Decide/Learn (editorial marketing).
   Palette & type per brand guidelines. No slop.
   ============================================================ */
:root{
  /* PALETTE (exact) */
  --ivory:      #F6EDE3;   /* principal background */
  --ivory-2:    #FCF6EF;   /* warm white (lighter surface) */
  --espresso:   #3A2D27;   /* institutional / text */
  --cacao:      #241914;   /* dark applications */
  --champagne:  #C9A56C;   /* detail only — muted */
  --sand:       #D9C5B2;   /* secondary backgrounds */
  --taupe:      #9C897C;   /* secondary info / graphics */
  --graphite:   #282726;   /* limited: digital/scientific */
  --line:       rgba(58,45,39,.16);

  /* TYPE */
  --serif: "Instrument Serif", Georgia, serif;
  --sans:  "Inter", system-ui, -apple-system, sans-serif;

  --ease: cubic-bezier(.22,.61,.21,1);
  /* Motion posture: slow, precise, subtle */
  --dur: 1.1s;

  /* SPACING SCALE */
  --gutter: clamp(1.5rem, 5vw, 7rem);
  --maxw: 1440px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ivory);
  color:var(--espresso);
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(1rem,.95rem+.3vw,1.125rem);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
::selection{background:var(--champagne);color:var(--cacao)}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* ============================================================
   TYPE SYSTEM
   ============================================================ */
.eyebrow{
  font-family:var(--sans);font-weight:500;font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);
}
.h-serif{
  font-family:var(--serif);font-weight:400;line-height:.98;
  letter-spacing:-.005em;text-wrap:balance;
}
.h-display{ font-size:clamp(2.6rem,7.2vw,6.4rem) }
.h-1{ font-size:clamp(2rem,5vw,4.2rem) }
.h-2{ font-size:clamp(1.5rem,3.4vw,2.6rem) }
.h-caps{
  font-family:var(--sans);font-weight:500;
  font-size:clamp(.95rem,1.6vw,1.25rem);
  letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);
}
.lead{ font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.6;color:var(--espresso) }
.muted{ color:var(--taupe) }
.meta{ font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe) }

/* ============================================================
   BUTTONS — architectural, 2–6px radius, no pill
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:.7rem;
  height:52px;padding-inline:2.1rem;border-radius:3px;
  font-family:var(--sans);font-weight:500;font-size:.8rem;
  letter-spacing:.15em;text-transform:uppercase;
  transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--espresso);color:var(--ivory)}
.btn-primary:hover{background:var(--cacao)}
.btn-secondary{border:1px solid var(--line);color:var(--espresso)}
.btn-secondary:hover{border-color:var(--espresso)}
.btn-link{
  height:auto;padding:0;border-radius:0;letter-spacing:.14em;
  color:var(--espresso);border-bottom:1px solid var(--espresso);
  padding-bottom:.3rem;
}
.btn-link:hover{color:var(--taupe);border-color:var(--taupe)}

/* ============================================================
   NAV
   ============================================================ */
.lumiv-shipping-bar{
  position:fixed;top:0;left:0;right:0;z-index:110;
  min-height:40px;padding:9px var(--gutter);
  display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;
  background:#4D3B31;color:#FFF7EF;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 2px 10px rgba(47,34,28,.10);
  font-size:.72rem;line-height:1.35;letter-spacing:.075em;text-transform:uppercase
}
.lumiv-shipping-bar strong{font-weight:700;color:#FFF7EF}
.lumiv-shipping-icon{flex:0 0 auto}
.lumiv-shipping-sep{margin:0 .45rem;color:#D9B98E}
body.admin-bar .lumiv-shipping-bar{top:32px}
body.admin-bar .nav.has-shipping-bar{top:72px}
@media(max-width:782px){
  body.admin-bar .lumiv-shipping-bar{top:46px}
  body.admin-bar .nav.has-shipping-bar{top:86px}
}
@media(max-width:600px){
  .lumiv-shipping-bar{min-height:44px;padding:8px 12px;font-size:.62rem;letter-spacing:.055em}
  .lumiv-shipping-sep{display:none}
  .lumiv-shipping-bar span{line-height:1.45}
}
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.6rem var(--gutter);
  display:flex;align-items:center;justify-content:space-between;
  mix-blend-mode:normal;
  transition:background .6s var(--ease),padding .6s var(--ease),box-shadow .6s var(--ease);
}
.nav.has-shipping-bar{top:40px}
.nav.scrolled{background:rgba(246,237,227,.92);backdrop-filter:blur(8px);padding-block:1rem;box-shadow:0 1px 0 var(--line)}
.nav-brand{
  font-family:var(--serif);font-size:1.5rem;letter-spacing:.18em;color:var(--espresso);
  display:flex;align-items:center;gap:.65rem;max-width:230px;white-space:nowrap;
}
/* Logo (imagem) no header, com variante retina via srcset */
.nav-brand .brand-logo{max-height:40px;width:auto;height:auto;display:block}
/* Fallback textual (wordmark) quando não há logo */
.nav-brand .brand-mark{font-family:var(--serif);font-size:1.5rem;letter-spacing:.18em;color:var(--espresso)}
.nav-brand .brand-sub{font-family:var(--sans);font-size:.5rem;letter-spacing:.34em;color:var(--taupe);text-transform:uppercase}
/* Alinha o subtítulo sob o wordmark quando em coluna */
.nav-brand:has(.brand-sub){align-items:baseline}
.nav-links{display:flex;align-items:center;gap:2.2rem}
.nav-links a{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);opacity:.85;transition:opacity .4s}
.nav-links a:hover{opacity:1}
/* Menu nativo (wp_nav_menu) estilizado igual ao layout editorial */
.nav-links .bahia-boutique-nav-menu{display:flex;align-items:center;gap:2.2rem;list-style:none;margin:0;padding:0}
.nav-links .bahia-boutique-nav-menu li{display:inline-block}
.nav-links .bahia-boutique-nav-menu a{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);opacity:.85;transition:opacity .4s}
.nav-links .bahia-boutique-nav-menu a:hover{opacity:1}
.nav-cart{display:inline-flex;align-items:center;gap:.45rem;position:relative;opacity:.85}
.nav-cart:hover{opacity:1}
.nav-cart .cart-count{font-size:.68rem;letter-spacing:0;background:var(--espresso);color:var(--ivory);border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
/* BUG #1: garante que o botão LOJA tenha texto claro (ivory) sobre fundo espresso.
   A regra .nav-links a sobrescrevia a cor, deixando texto marrom sobre marrom. */
.nav-links a.btn-primary{color:var(--ivory);opacity:1}
.nav-links a.btn-primary:hover{color:var(--ivory);background:var(--cacao)}
.nav .btn{height:44px;padding-inline:1.6rem}
.nav-toggle{display:none}

/* ============================================================
   REFRACTION MOTIF — abstract converging surfaces
   ============================================================ */
.refraction{position:relative;pointer-events:none}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  min-height:100svh;
  display:grid;grid-template-columns:1.1fr .9fr;align-items:center;
  gap:clamp(2rem,5vw,6rem);
  padding-top:8rem;padding-bottom:4rem;
  overflow:hidden;
}
.hero-copy{position:relative;z-index:2}
.hero-eyebrow-row{display:flex;align-items:center;gap:1rem;margin-bottom:2.2rem}
.hero-eyebrow-row::before{content:"";display:block;width:52px;height:1px;background:var(--espresso)}
.hero h1{font-size:clamp(2.9rem,7.6vw,7rem);line-height:.95;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--cacao)}
.hero-support{
  margin-top:2.3rem;max-width:34ch;font-size:clamp(1.05rem,1.4vw,1.3rem);
  line-height:1.6;color:var(--espresso);
}
.hero-cta{display:flex;align-items:center;gap:1.4rem;margin-top:2.8rem;flex-wrap:wrap}
.hero-cta .btn-primary{background:var(--espresso)}
.hero-cta .btn-secondary{border-color:var(--line)}

.hero-visual{position:relative;z-index:1}
.hero-img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;
  box-shadow:0 40px 80px -30px rgba(36,25,20,.35);
}
.hero-visual::before{
  content:"";position:absolute;inset:0;border-radius:4px;
  background:linear-gradient(180deg,transparent 40%,rgba(246,237,227,.4));
  z-index:2;
}
.hero-float{
  position:absolute;left:-3.5rem;bottom:2.5rem;z-index:3;
  background:var(--ivory-2);padding:1.4rem 1.6rem;border:1px solid var(--line);border-radius:3px;
  max-width:250px;
}
.hero-float .meta{margin-bottom:.5rem}
.hero-float p{font-family:var(--serif);font-size:1.05rem;line-height:1.3;color:var(--cacao)}
/* Hero carrossel (múltiplos produtos) */
.hero-carousel{position:relative;width:100%;aspect-ratio:4/5;border-radius:4px}
.hero-carousel .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease)}
.hero-carousel .hero-slide.is-active{opacity:1}
.hero-carousel .hero-img{aspect-ratio:auto;width:100%;height:100%;object-fit:cover;border-radius:4px}
.hero-carousel .hero-float{left:1.1rem;bottom:1.1rem;z-index:4}
.hero-float-link{display:inline-block;margin-top:.7rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);border-bottom:1px solid var(--espresso);padding-bottom:2px;text-decoration:none}
.hero-float-link:hover{color:var(--cacao);border-color:var(--cacao)}
.hero-dots{position:absolute;right:1.1rem;bottom:1.35rem;z-index:5;display:flex;gap:.45rem}
.hero-dots span{width:7px;height:7px;border-radius:50%;background:rgba(58,45,39,.25);transition:background .4s var(--ease)}
.hero-dots span.is-active{background:var(--espresso)}
.hero-foot{
  position:absolute;bottom:2.2rem;left:var(--gutter);right:var(--gutter);z-index:3;
  display:flex;justify-content:space-between;align-items:center;max-width:var(--maxw);margin-inline:auto;
}
.hero-foot .tag{font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe)}
.scroll-cue{display:flex;align-items:center;gap:.8rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.scroll-cue span{display:block;width:1px;height:42px;background:var(--taupe);animation:cue 2.6s var(--ease) infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1)}}

/* ============================================================
   REVEAL (motion: fade + very light parallax)
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   MANIFESTO STRIP
   ============================================================ */
.manifesto{
  background:var(--cacao);color:var(--ivory);
  padding:clamp(4.5rem,9vw,8rem) 0;
  position:relative;overflow:hidden;
}
.manifesto .refraction-geo{opacity:.5}
.manifesto h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.6vw,3.8rem);
  line-height:1.05;max-width:20ch;text-wrap:balance;color:var(--ivory);
}
.manifesto h2 em{font-style:italic;color:var(--sand)}
.manifesto .eyebrow{color:var(--champagne);margin-bottom:2rem}
.manifesto-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,6rem);align-items:end}

/* ============================================================
   SCIENCE / INTRO SECTION
   ============================================================ */
.science{padding:clamp(5rem,10vw,10rem) 0;position:relative}
.science-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,7rem);align-items:start}
.science .eyebrow{margin-bottom:1.6rem}
.science h2{font-family:var(--serif);font-size:clamp(2.2rem,4.8vw,4rem);line-height:1;letter-spacing:-.005em}
.science-body p{margin-bottom:1.3rem;color:var(--espresso);max-width:52ch}
.science-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.4rem;border-top:1px solid var(--line);padding-top:2.4rem}
.science-stats .stat h3{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,3rem);font-weight:400;color:var(--cacao);line-height:1}
.science-stats .stat span{display:block;margin-top:.7rem;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}

/* ============================================================
   REFRACTION GEOMETRY
   ============================================================ */
.refraction-geo{position:absolute;pointer-events:none}
.refraction-line{stroke:var(--champagne);stroke-width:1;fill:none;opacity:.6}
.refraction-line-2{stroke:var(--taupe);stroke-width:1;fill:none;opacity:.35}

/* ============================================================
   PRODUCTS — horizontal, no bordered cards
   ============================================================ */
.products{padding:clamp(4rem,8vw,7rem) 0}
.products-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.4rem}
.products-head h2{font-family:var(--serif);font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;font-weight:400}
.product-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,3rem)}
.product{position:relative}
.product-img-wrap{overflow:hidden;border-radius:4px;aspect-ratio:3/4;background:var(--sand);position:relative}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.product:hover .product-img-wrap img{transform:scale(1.05)}
.product-name{font-family:var(--serif);font-size:1.5rem;margin-top:1.4rem;font-weight:400;color:var(--espresso)}
.product-cat{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);margin-top:.4rem}
.product-benefit{font-size:.9rem;color:var(--espresso);opacity:.85;margin-top:.5rem;max-width:30ch}
.product-buy-btn{
  display:flex;align-items:center;justify-content:center;
  margin-top:14px;padding:13px 16px;
  background:var(--espresso);color:var(--ivory)!important;
  border:1px solid var(--espresso);border-radius:2px;
  font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  text-decoration:none;transition:background .2s ease,border-color .2s ease
}
.product-buy-btn:hover{background:#35271f;border-color:#35271f}
.product--out{order:99}
.product-buy-btn--disabled{
  cursor:not-allowed;background:transparent;color:var(--taupe)!important;
  border-color:rgba(77,59,49,.22)
}
.product-buy-btn--disabled:hover{background:transparent;border-color:rgba(77,59,49,.22)}
.product-price{font-size:.92rem;color:var(--cacao);margin-top:.9rem;font-weight:500}
.product-badge{position:absolute;top:1rem;left:1rem;background:var(--ivory);color:var(--espresso);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;padding:.45rem .8rem;border-radius:2px}

/* ============================================================
   INGREDIENT / INCI MACRO
   ============================================================ */
.ingredient{
  background:var(--espresso);color:var(--ivory);
  padding:clamp(5rem,10vw,9rem) 0;position:relative;overflow:hidden;
}
.ingredient-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:center}
.ingredient h2{font-family:var(--serif);font-size:clamp(2rem,4.6vw,3.8rem);font-weight:400;line-height:1;color:var(--ivory)}
.ingredient p{color:var(--sand);max-width:48ch;margin-top:1.6rem}
.inci-list{margin-top:3rem;border-top:1px solid rgba(246,237,227,.18)}
.inci-row{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.15rem 0;border-bottom:1px solid rgba(246,237,227,.18)}
.inci-row .name{font-family:var(--serif);font-size:1.15rem;color:var(--ivory)}
.inci-row .pct{font-size:.8rem;letter-spacing:.14em;color:var(--champagne);text-transform:uppercase}

/* ============================================================
   PILLARS — Fórmulated with purpose
   ============================================================ */
.pillars{padding:clamp(5rem,9vw,8rem) 0;background:var(--ivory)}
.pillars .eyebrow{margin-bottom:1.4rem;text-align:center}
.pillars h2{font-family:var(--serif);font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1;text-align:center;margin-bottom:4rem}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.pillar{padding-top:1.6rem;border-top:1px solid var(--line)}
.pillar .num{font-family:var(--serif);font-size:1.5rem;color:var(--champagne);margin-bottom:2.6rem}
.pillar h3{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--espresso);margin-bottom:.9rem}
.pillar p{font-size:.92rem;color:var(--espresso);opacity:.85;line-height:1.6}

/* ============================================================
   EDITORIAL SKIN
   ============================================================ */
.skin{padding:clamp(4rem,8vw,7rem) 0;position:relative}
.skin-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.skin .eyebrow{margin-bottom:1.4rem}
.skin h2{font-family:var(--serif);font-size:clamp(2rem,4.4vw,3.6rem);font-weight:400;line-height:1;color:var(--espresso)}
.skin p{margin-top:1.4rem;max-width:46ch;color:var(--espresso);opacity:.9}
.skin .macro{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/3}
.skin .macro img{width:100%;height:100%;object-fit:cover}

/* ============================================================
   ROUTINE
   ============================================================ */
.routine{padding:clamp(5rem,9vw,8rem) 0;background:var(--sand);color:var(--espresso)}
.routine h2{font-family:var(--serif);font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1;margin-bottom:1rem}
.routine .routine-copy{max-width:46ch;margin-bottom:3.4rem;color:var(--espresso)}
.routine-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.routine-step{border-top:1px solid rgba(58,45,39,.25);padding-top:1.5rem}
.routine-step .step-num{font-family:var(--serif);font-size:1.3rem;color:var(--espresso);opacity:.5;margin-bottom:1.2rem}
.routine-step h3{font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-bottom:.6rem}
.routine-step p{font-size:.9rem;color:var(--espresso);opacity:.85;line-height:1.55}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--cacao);color:var(--ivory);padding:clamp(2.5rem,5vw,4rem) 0}
.footer-top{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,.75fr));gap:clamp(2rem,4vw,4.5rem);align-items:start}
.footer-brand{font-family:var(--serif);font-size:2rem;letter-spacing:.1em;color:var(--ivory)}
.footer-brand small{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.34em;color:var(--taupe);text-transform:uppercase;margin-top:.4rem}
.footer .tagline{font-family:var(--serif);font-style:italic;color:var(--sand);margin-top:1.4rem;font-size:1.05rem}
.footer h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:1.2rem}
.footer ul{list-style:none}
.footer li{margin-bottom:.7rem}
.footer a{font-size:.9rem;color:var(--ivory);opacity:.8;transition:opacity .4s}
.footer a:hover{opacity:1}
/* Menu nativo do rodapé estilizado igual */
.footer .bahia-boutique-footer-menu{list-style:none;margin:0;padding:0}
.footer .bahia-boutique-footer-menu li{margin-bottom:.7rem}
.footer .bahia-boutique-footer-menu a{font-size:.9rem;color:var(--ivory);opacity:.8;transition:opacity .4s}
.footer .bahia-boutique-footer-menu a:hover{opacity:1}
.footer-news{margin-top:1.5rem}
.footer-news .input-row{display:flex;gap:0;border-bottom:1px solid rgba(246,237,227,.25);max-width:360px}
.footer-news input{flex:1;background:none;border:0;outline:0;color:var(--ivory);padding:.9rem 0;font-size:.9rem}
.footer-news input::placeholder{color:var(--taupe)}
.footer-news button{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);padding:.9rem 0}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-top:2.4rem;flex-wrap:wrap}
.footer-bottom p{font-size:.72rem;color:var(--taupe)}
.footer-bottom .legal{display:flex;gap:1.5rem}
.footer-bottom .legal a{font-size:.72rem;color:var(--taupe);opacity:.8}
/* Logo no rodapé (fundo escuro) e contato/redes — tudo vindo do Customizer */
.footer-brand .brand-logo,.footer-logo{display:block;max-height:44px;width:auto;height:auto}
.footer-social{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.2rem}
.footer-social a{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);opacity:.8;transition:opacity .4s,color .4s}
.footer-social a:hover{opacity:1;color:var(--ivory)}
.footer-contact{list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--ivory);opacity:.85}
.footer-contact li{margin-bottom:.55rem}
.footer-contact a{font-size:.9rem;color:var(--ivory);opacity:.85;transition:opacity .4s}
.footer-contact a:hover{opacity:1}
.footer-contact .contact-address{line-height:1.5}

/* Rodapé compacto: apenas Ajuda + Contato + copyright. */
.footer-compact{max-width:1180px}
.footer-compact-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.footer-compact-col h4{margin-bottom:1.1rem}
.footer-compact-col .bahia-boutique-footer-menu li{margin-bottom:.62rem}
.footer-compact-col .footer-contact li{margin-bottom:.62rem;line-height:1.48}
.footer-compact-bottom{border-top:1px solid rgba(246,237,227,.12);margin-top:2.1rem;padding-top:1.3rem}
.footer-compact-bottom p{font-size:.72rem;color:var(--taupe);margin:0}
.footer-compact-bottom .footer-company{margin-top:.45rem;font-size:.68rem;letter-spacing:.035em;color:rgba(246,237,227,.7)}

@media (max-width:560px){
  .footer{padding:2.5rem 0 1.6rem}
  .footer-compact-grid{grid-template-columns:1fr;gap:2.3rem}
  .footer-compact-col h4{margin-bottom:1rem}
  .footer-compact-bottom{margin-top:1.8rem}
}

/* Botão flutuante do WhatsApp, visível em desktop, tablet e celular. */
.bahia-boutique-whatsapp{position:fixed;bottom:1.4rem;right:1.4rem;z-index:9999;width:56px;height:56px;border-radius:50%;
  background:var(--espresso);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.bahia-boutique-whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.bahia-boutique-whatsapp:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
@media (max-width:1000px){
  .bahia-boutique-whatsapp{bottom:calc(1rem + env(safe-area-inset-bottom, 0px));right:calc(1rem + env(safe-area-inset-right, 0px));display:flex;visibility:visible;opacity:1}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .hero{grid-template-columns:1fr;gap:3rem;padding-top:7rem;min-height:auto}
  .hero-visual{order:-1;max-width:440px}
  .hero-foot{position:static;margin-top:3rem}
  .manifesto-grid,.science-grid,.ingredient-grid,.skin-grid{grid-template-columns:1fr}
  .science-stats{grid-template-columns:repeat(2,1fr)}
  .product-strip{grid-template-columns:1fr}
  .pillars-grid{grid-template-columns:repeat(2,1fr);gap:2.4rem}
  .routine-steps{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .nav-toggle{display:flex;flex-direction:column;gap:5px;width:32px;height:24px;justify-content:center}
  .nav-toggle span{display:block;height:1px;background:var(--espresso);width:100%}
  .nav-toggle span:nth-child(2){width:70%}
  /* Loja: tablet — 2 colunas em vez das 3/4 fixas */
  ul.products,ul.products.columns-3,ul.products.columns-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .science-stats{grid-template-columns:1fr}
  .pillars-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .hero-float{left:1rem}
  .hero-cta{flex-direction:column;align-items:flex-start}
  .nav-brand::after{display:none}
  /* Loja: celular — 1 coluna empilhada, evita produtos espremidos */
  ul.products,ul.products.columns-2,ul.products.columns-3,ul.products.columns-4{grid-template-columns:1fr}
  ul.products li.product .woocommerce-loop-product__title{font-size:1.4rem}
}



/* ===== Sobre a LUMIV — versão objetiva/comercial ===== */
.lumiv-about{background:#F6EDE3;color:#4B3A32}
.lumiv-about-wrap{max-width:1120px}
.lumiv-about-eyebrow{display:block;margin-bottom:14px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9B8576}
.lumiv-about h1,.lumiv-about h2,.lumiv-about h3{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;color:#4B3A32}
.lumiv-about-hero{padding:126px 0 78px;border-bottom:1px solid rgba(75,58,50,.12)}
.lumiv-about-hero h1{font-size:clamp(52px,6.2vw,78px);line-height:.96;margin:0 0 22px;max-width:12ch}
.lumiv-about-lead{max-width:650px;margin:0;font-size:18px;line-height:1.62;color:#6B5A50}
.lumiv-about-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}
.lumiv-about-story,.lumiv-about-name,.lumiv-about-founders-section,.lumiv-about-pillars{padding:70px 0;border-bottom:1px solid rgba(75,58,50,.12)}
.lumiv-about-story-grid,.lumiv-about-name-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,88px);align-items:start}
.lumiv-about-story h2,.lumiv-about-name h2,.lumiv-about-founders-section h2,.lumiv-about-collection h2{font-size:clamp(36px,4.4vw,54px);line-height:1.03;margin:0}
.lumiv-about-copy{font-size:16px;line-height:1.75;color:#67564C}
.lumiv-about-copy p{margin:0 0 17px}
.lumiv-about-founders-section{background:#FFF9F3}
.lumiv-about-founders-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(42px,7vw,84px);align-items:center}
.lumiv-about-founders-visual{min-height:500px;background:#E8D8C9;overflow:hidden}
.lumiv-about-founders-photo{display:block;width:100%;height:100%;min-height:500px;object-fit:cover;object-position:center}
.lumiv-about-photo-placeholder{display:flex;align-items:center;justify-content:center;min-height:500px;border:1px solid rgba(75,58,50,.12);color:#9B8576;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.lumiv-about-founders-content>p{font-size:16px;line-height:1.72;color:#67564C;margin:18px 0 0}
.lumiv-about-doctors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.lumiv-about-doctors a{display:block;padding:17px;border:1px solid rgba(75,58,50,.15);background:#FBF4EC;color:#4B3A32;text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.lumiv-about-doctors a:hover{transform:translateY(-2px);border-color:rgba(75,58,50,.34)}
.lumiv-about-doctors small{display:block;margin-bottom:6px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9B8576}
.lumiv-about-doctors strong{font-family:var(--serif);font-size:21px;font-weight:400}
.lumiv-about-name{background:#EAD8C6}
.lumiv-about-name .lumiv-about-copy strong{font-family:var(--serif);font-size:21px;font-weight:400;color:#4B3A32}
.lumiv-about-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lumiv-about-pillars-grid article{border-top:1px solid #4B3A32;padding-top:18px}
.lumiv-about-pillars-grid article>span{font-size:9px;letter-spacing:.15em;color:#9B8576}
.lumiv-about-pillars-grid h3{font-size:30px;margin:18px 0 9px}
.lumiv-about-pillars-grid p{margin:0;font-size:14px;line-height:1.62;color:#67564C}
.lumiv-about-collection{padding:70px 0 76px;background:#4D3B31;color:#F8EEE5}
.lumiv-about-collection-grid{display:grid;grid-template-columns:1fr auto;gap:46px;align-items:end}
.lumiv-about-collection .lumiv-about-eyebrow{color:#CDBAA9}
.lumiv-about-collection h2{color:#F8EEE5}
.lumiv-about-collection p{max-width:48em;margin:15px 0 0;font-size:15px;line-height:1.65;color:#D9C9BC}
.lumiv-about-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;min-width:230px}
.lumiv-about-actions .btn{width:100%;justify-content:center}
.lumiv-about-actions .btn-link{color:#F8EEE5}
@media(max-width:860px){
  .lumiv-about-hero{padding:104px 0 56px}
  .lumiv-about-story-grid,.lumiv-about-name-grid,.lumiv-about-founders-grid,.lumiv-about-collection-grid{grid-template-columns:1fr}
  .lumiv-about-founders-visual,.lumiv-about-founders-photo,.lumiv-about-photo-placeholder{min-height:330px}
  .lumiv-about-story,.lumiv-about-name,.lumiv-about-founders-section,.lumiv-about-pillars{padding:54px 0}
  .lumiv-about-pillars-grid{grid-template-columns:1fr}
  .lumiv-about-doctors{grid-template-columns:1fr}
  .lumiv-about-actions{min-width:0;width:100%}
}


/* ===== SEO/content hubs + editorial ===== */
.lumiv-content-page,.lumiv-article{padding:clamp(8rem,12vw,10rem) 0 clamp(5rem,9vw,8rem);background:var(--ivory);color:var(--espresso)}
.lumiv-content-wrap,.lumiv-article-wrap{max-width:1120px}
.lumiv-content-head,.lumiv-article-head{max-width:860px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.lumiv-content-head .eyebrow,.lumiv-article-head .eyebrow{display:block;margin-bottom:1rem}
.lumiv-content-head h1,.lumiv-article-head h1{font-family:var(--serif);font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:.94;letter-spacing:-.025em;color:var(--espresso)}
.lumiv-content-deck,.lumiv-article-deck{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65;color:var(--taupe);max-width:58ch;margin-top:1.5rem}
.lumiv-content-body{max-width:860px;font-size:1.02rem;line-height:1.78}
.lumiv-content-body>.lead{font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.25;color:var(--cacao);margin-bottom:3rem}
.lumiv-content-body h2,.lumiv-article-body h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.05;margin:3.5rem 0 1rem;color:var(--cacao)}
.lumiv-content-body h3,.lumiv-article-body h3{font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;margin:2.2rem 0 .8rem}
.lumiv-content-body p,.lumiv-article-body p{margin:0 0 1.2rem}
.lumiv-content-body ul,.lumiv-content-body ol,.lumiv-article-body ul,.lumiv-article-body ol{margin:1rem 0 1.5rem;padding-left:1.35rem}
.lumiv-content-body li,.lumiv-article-body li{margin:.55rem 0}
.lumiv-content-body a,.lumiv-article-body a{text-decoration:underline;text-underline-offset:3px}
.lumiv-content-body table{width:100%;border-collapse:collapse;margin:2rem 0 3rem;background:rgba(255,255,255,.35);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.lumiv-content-body th,.lumiv-content-body td{padding:1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.lumiv-content-body th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
.lumiv-content-body .button{display:inline-flex;text-decoration:none;background:var(--espresso);color:var(--ivory);padding:1rem 1.4rem;margin-top:1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;border-radius:2px}
.lumiv-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.5vw,2rem)}
.lumiv-blog-card{border-top:1px solid var(--line);min-width:0}
.lumiv-blog-card>a{display:block;color:inherit}
.lumiv-blog-card-media{aspect-ratio:4/3;overflow:hidden;background:var(--sand);margin-top:1rem}
.lumiv-blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.lumiv-blog-card:hover img{transform:scale(1.035)}
.lumiv-blog-card-body{padding:1.3rem 0 1.6rem}
.lumiv-blog-date{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--taupe)}
.lumiv-blog-card h2,.lumiv-blog-card h3{font-family:var(--serif);font-size:clamp(1.45rem,2.6vw,2rem);font-weight:400;line-height:1.05;margin:.75rem 0;color:var(--espresso)}
.lumiv-blog-card p{font-size:.9rem;line-height:1.6;color:var(--taupe);margin:0 0 1rem}
.lumiv-blog-more{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.lumiv-article-breadcrumb{display:flex;gap:.65rem;align-items:center;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);margin-bottom:2rem}
.lumiv-article-meta{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe)}
.lumiv-article-cover{margin:0 0 3.5rem;overflow:hidden;max-height:620px}
.lumiv-article-cover img{width:100%;height:auto;display:block}
.lumiv-article-body{max-width:760px;font-size:1.04rem;line-height:1.82}
.lumiv-article-body>p:first-child{font-size:1.15rem}
.lumiv-article-note{max-width:760px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 0;margin:3rem 0;color:var(--taupe);font-size:.88rem;line-height:1.6}
.lumiv-article-note strong{display:block;color:var(--espresso);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}
.lumiv-article-related{margin-top:5rem}
.lumiv-article-related-head{margin-bottom:2rem}
.lumiv-article-related-head h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.3rem);font-weight:400;margin-top:.6rem}
@media(max-width:1000px){.lumiv-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.lumiv-blog-grid{grid-template-columns:1fr}.lumiv-content-body table{font-size:.86rem}.lumiv-content-body th,.lumiv-content-body td{padding:.75rem}.lumiv-content-page,.lumiv-article{padding-top:7rem}}


/* ============================================================
   WOOCOMMERCE — ciclo completo de compra
   Loja, produto, carrinho e checkout mantendo a identidade LUMIV.
   ============================================================ */

/* Header da loja */
.shop-hero{padding:clamp(6rem,10vw,9rem) 0 clamp(1rem,3vw,2rem)}
.shop-hero .eyebrow{margin-bottom:1.4rem}
.shop-hero h1{font-family:var(--serif);font-size:clamp(2.4rem,6vw,5rem);font-weight:400;line-height:.98;color:var(--espresso)}
.shop-hero .lead{margin-top:1.4rem;max-width:36ch}

/* Página WooCommerce */
.woo-page{padding-block:clamp(2rem,4vw,3.5rem) clamp(5rem,9vw,8rem)}
/* A página de produto usa o header fixo (95px) — garante que o conteúdo desça abaixo dele */
.single-product-page{padding-top:clamp(7.5rem,12vw,10rem)}
.woocommerce-breadcrumb{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);margin-bottom:2.2rem}
.woocommerce-breadcrumb a{color:var(--espresso)}
.woocommerce-NoticeGroup .woocommerce-error,.woocommerce-message{
  background:var(--espresso);color:var(--ivory);padding:1rem 1.4rem;border-radius:3px;border:0;margin-bottom:1.4rem;
  font-size:.9rem;
}
.woocommerce-message a{color:var(--champagne);margin-left:.6rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}

/* Barra de ferramentas da loja: contagem + ordenação em linha */
.woocommerce-result-count{float:none;display:inline-block;margin:0;font-size:.82rem;color:var(--taupe);letter-spacing:.04em}
.woocommerce-ordering{float:none;display:inline-block;margin:0 0 0 auto}
.woocommerce-ordering select{
  border:1px solid var(--line);background:transparent;color:var(--espresso);padding:.6rem 1rem;border-radius:3px;
  font-family:var(--sans);font-size:.8rem;letter-spacing:.06em;cursor:pointer;
}
.woocommerce .woocommerce-result-count,.woocommerce-page .woocommerce-result-count{float:none;margin:0}
.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-before-shop-loop,.woocommerce-page .woocommerce-before-shop-loop{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.2rem;flex-wrap:wrap;
}

/* Filtro por categoria (chips) */
.bahia-boutique-shop-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2.6rem}
.filter-chip{
  border:1px solid var(--line);border-radius:3px;padding:.65rem 1.2rem;color:var(--espresso);
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);
}
.filter-chip:hover{border-color:var(--espresso)}
.filter-chip.is-active{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}

/* Grid de produtos na loja — o número de colunas vem do WooCommerce
   (Personalizar > WooCommerce > Catálogo > Produtos por linha). */
ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,3rem);list-style:none;padding:0;margin:0;clear:both}
ul.products.columns-4{grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,2.4vw,2.4rem)}
ul.products.columns-2{grid-template-columns:repeat(2,1fr)}
ul.products.columns-1{grid-template-columns:1fr}
ul.products li.product{background:transparent;border:0;box-shadow:none;text-align:left;margin:0;float:none;width:100%;padding:0}
ul.products li.product a.woocommerce-LoopProduct-link{display:block}
ul.products li.product img{width:100%;height:auto;object-fit:cover;border-radius:4px;margin:0;aspect-ratio:3/4;transition:transform 1.6s var(--ease)}
ul.products li.product:hover img{transform:scale(1.05)}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--espresso);padding:0;margin-top:1.2rem;line-height:1.2;display:block}
ul.products li.product .price{color:var(--espresso);font-size:.95rem;margin-top:.5rem;font-weight:500;display:block}
ul.products li.product .price del{color:var(--taupe);margin-right:.5rem;font-weight:400}
ul.products li.product .price ins{text-decoration:none;font-weight:500}
ul.products li.product a.button,.woocommerce .button.add_to_cart_button{
  display:inline-block;margin-top:1rem;background:var(--espresso);color:var(--ivory);
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;padding:.85rem 1.5rem;border-radius:3px;
  font-weight:500;border:0;transition:background .5s var(--ease);
}
ul.products li.product a.button:hover,.woocommerce .button.add_to_cart_button:hover{background:var(--cacao)}
ul.products li.product .onsale{background:var(--champagne);color:var(--cacao);border-radius:2px;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .8rem;line-height:1.4;top:1rem;left:1rem;min-height:0;min-width:0;margin:0;display:inline-block;position:absolute;z-index:2}

/* Paginação */
.woocommerce-pagination{display:flex;justify-content:center;margin-top:3rem}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{
  color:var(--espresso);padding:.6rem .9rem;border:1px solid var(--line);border-radius:3px;margin:0 .2rem;font-size:.85rem;
}
.woocommerce-pagination ul li span.current{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}

/* Página de produto — estrutura: sumário (esq, leitura L→R) + imagem (dir), abas abaixo, relacionados no fim */
.single-product-page{display:block}
.single-product-page .woocommerce div.product,.single-product-page div.product{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(2rem,5vw,5rem);align-items:start;position:relative;
}
/* Força a colocação: texto (sumário) à esquerda, galeria à direita */
/* Badge "Oferta!": posicionado sobre a imagem (coluna 2), não sobre o título */
.single-product-page div.product > .onsale{grid-column:2;grid-row:1;justify-self:start;align-self:start;margin:1rem;z-index:4}
.single-product-page div.product .summary.entry-summary{grid-column:1;grid-row:1}
.single-product-page div.product .woocommerce-product-gallery{grid-column:2;grid-row:1}
/* Galeria é o contexto de posicionamento do badge */
.single-product-page div.product .woocommerce-product-gallery{position:relative}
/* Galeria e sumário: anular floats/larguras padrão do WooCommerce */
.single-product-page div.product .woocommerce-product-gallery,
.single-product-page div.product .images{float:none;width:100%;margin:0}
.single-product-page div.product .summary.entry-summary,
.single-product-page div.product .entry-summary{float:none;width:100%;margin:0;padding:0}
/* Galeria: largura e proporção */
.single-product-page div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.single-product-page div.product .woocommerce-product-gallery__image img{width:100%}
.single-product-page div.product .woocommerce-product-gallery img{border-radius:4px;object-fit:cover}
.single-product-page div.product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:.6rem;list-style:none;padding:0;margin-top:.8rem}
.single-product-page div.product .woocommerce-product-gallery .flex-control-thumbs li{width:22%}
.single-product-page div.product .woocommerce-product-gallery .flex-control-thumbs img{border-radius:3px;aspect-ratio:1;object-fit:cover;cursor:pointer}
/* Lupinha (gatilho de zoom da galeria) — canto superior DIREITO, círculo marfim translúcido + lupa espresso.
   Arquitetônico e discreto, coerente com a marca (nada do ícone padrão azul do WooCommerce). */
.single-product-gallery,.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper{position:relative}
.woocommerce-product-gallery__trigger{
  position:absolute;top:1rem;right:1rem;left:auto;z-index:3;
  width:42px;height:42px;border-radius:50%;margin:0;padding:0;border:0;
  background:rgba(246,237,227,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2D27' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.4'/%3E%3Cpath d='M15.4 15.4 L21 21'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  box-shadow:0 2px 14px rgba(36,25,20,.12);cursor:pointer;
  transition:background-color .5s var(--ease),box-shadow .5s var(--ease);
}
.woocommerce-product-gallery__trigger:hover{background-color:rgba(246,237,227,1);box-shadow:0 4px 18px rgba(36,25,20,.18)}
.woocommerce-product-gallery__trigger::before{content:none !important}
.woocommerce-product-gallery__trigger img{display:none !important}


/* Abas abaixo do produto */
.single-product-page div.product .woocommerce-tabs{width:100%;grid-column:1/-1;margin-top:3.5rem}
.single-product-page div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--line);list-style:none;display:flex}
.single-product-page div.product .woocommerce-tabs ul.tabs li{background:none;border:0;margin:0;padding:0;list-style:none}
.single-product-page div.product .woocommerce-tabs ul.tabs li::before,.single-product-page div.product .woocommerce-tabs ul.tabs li::after{display:none}
.single-product-page div.product .woocommerce-tabs ul.tabs li a{padding:1.1rem 0;margin-right:2rem;color:var(--taupe);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid transparent;display:block}
.single-product-page div.product .woocommerce-tabs ul.tabs li.active a{color:var(--espresso);border-color:var(--espresso)}
.single-product-page div.product .woocommerce-tabs .panel{padding-top:2rem;color:var(--espresso)}
.single-product-page div.product .woocommerce-tabs .panel h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin-bottom:1rem}

/* Relacionados */
.single-product-page .related.products{grid-column:1/-1;width:100%;margin-top:4rem}
.single-product-page .related.products > h2{font-family:var(--serif);font-weight:400;font-size:1.8rem;color:var(--espresso);margin-bottom:2rem}
.single-product-page .products{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,3rem);list-style:none;padding:0;margin:0}
.single-product-page .products .product{background:transparent;border:0;text-align:left;margin:0;float:none;width:100%}

/* Conteúdo do sumário do produto — texto sem aperto */
.single-product-page div.product .summary .product_title{
  font-family:var(--serif);font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400;line-height:1.12;
  color:var(--espresso);margin-bottom:.6rem;max-width:32ch;
}
.single-product-page div.product .summary p.price{color:var(--espresso);font-size:1.35rem;font-weight:500;margin:1.1rem 0 1.6rem}
.single-product-page div.product .summary p.price del{color:var(--taupe);margin-right:.5rem;font-weight:400}
.single-product-page div.product .summary p.price ins{text-decoration:none;font-weight:500}
.single-product-page div.product .summary .woocommerce-product-details__short-description{
  margin:1.4rem 0;color:var(--espresso);font-size:1.05rem;line-height:1.7;max-width:56ch;
}
.single-product-page div.product .summary .product_meta{font-size:.8rem;color:var(--taupe);margin-top:1.7rem;border-top:1px solid var(--line);padding-top:1.3rem}
.single-product-page div.product .summary form.cart{display:flex;gap:1rem;align-items:center;margin-top:1.4rem;flex-wrap:wrap}
.single-product-page div.product .summary form.cart .quantity .qty{
  width:70px;height:52px;border:1px solid var(--line);background:transparent;color:var(--espresso);
  text-align:center;border-radius:3px;font-family:var(--sans);font-size:1rem;
}
.single-product-page div.product .summary form.cart .button,.single-product-page div.product .summary .single_add_to_cart_button{
  background:var(--espresso);color:var(--ivory);height:52px;padding-inline:2.1rem;border-radius:3px;
  border:0;font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;transition:background .5s var(--ease);
}
.single-product-page div.product .summary form.cart .button:hover{background:var(--cacao)}
/* Badge "Oferta!": sobre a imagem, mais presente */
.single-product-page div.product > .onsale,
.single-product-page div.product .woocommerce-product-gallery .onsale{
  background:var(--espresso);color:var(--ivory);border-radius:2px;
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  padding:.65rem 1.15rem;line-height:1;min-height:0;min-width:0;
  box-shadow:0 4px 18px rgba(36,25,20,.22);
}

/* Carrinho */
.woocommerce-cart-form{border:0}
table.shop_table{border:0;border-collapse:collapse;width:100%}
table.shop_table th{background:transparent;color:var(--espresso);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:1rem;border-bottom:1px solid var(--line)}
table.shop_table td{padding:1rem;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--espresso)}
table.shop_table a.remove{color:var(--taupe);text-decoration:none}
table.shop_table a.remove:hover{color:var(--cacao)}
table.shop_table td.product-name a{color:var(--espresso);text-decoration:none}
table.shop_table td.product-name a:hover{color:var(--taupe)}
.woocommerce .cart td.actions{text-align:right;padding-top:1.6rem}
.woocommerce .cart td.actions .button{background:var(--espresso);color:var(--ivory);border-radius:3px;border:0;padding:.9rem 1.8rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.woocommerce .cart_totals h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--espresso)}
.woocommerce .cart_totals table.shop_table td,.woocommerce .cart_totals table.shop_table th{border-bottom:1px solid var(--line)}
.woocommerce .checkout-button.button.alt{background:var(--espresso);color:var(--ivory);border-radius:3px;border:0;padding:1rem 2.2rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:background .5s var(--ease)}
.woocommerce .checkout-button.button.alt:hover{background:var(--cacao)}

/* Checkout */
.woocommerce-checkout .woocommerce{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:clamp(2rem,5vw,4rem);align-items:start;
}
/* Página de pedido recebido / pagamento (Pix, cartão, boleto): NÃO usar o grid de 2 colunas do checkout.
   Lá há só um filho (.woocommerce-order) e o grid criava uma 2ª coluna vazia, prendendo o box do
   Mercado Pago na largura da coluna (ex.: 626px) em vez de ocupar a página toda. */
.woocommerce-order-received .woocommerce,
.woocommerce-order-pay .woocommerce {display:block;width:100%}
/* Box de pagamento Pix (Mercado Pago): ocupa a largura do conteúdo e empilha as colunas no mobile */
.woocommerce-order .mp-details-pix{max-width:100%;width:100%}
.woocommerce-order .mp-row-checkout-pix{max-width:100%;width:100%}

/* =====================================================================
   CHECKOUT (WooCommerce Blocks) — polimento genérico p/ qualquer gateway
   (Stripe, PayPal, Mercado Pago, PagBank, ...): o tema só estiliza; quem
   processa é o plugin. Deixamos as etapas, métodos e totais sempre no
   padrão da marca.
   ===================================================================== */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
.wc-block-checkout .wc-block-components-checkout-step{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:clamp(1.4rem,3vw,2.2rem);margin-bottom:1.6rem;
}
.wc-block-components-checkout-step__title{
  font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--espresso);
}
.wc-block-components-checkout-step__description{color:var(--taupe);font-size:.92rem;margin-bottom:1.2rem}
/* Opções de pagamento e de frete (radio) */
.wc-block-components-radio-control__option{
  border:1px solid var(--line);border-radius:3px;padding:1rem 1.1rem;margin-bottom:.7rem;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),background .4s var(--ease);
}
.wc-block-components-radio-control__option:hover{border-color:var(--taupe)}
.wc-block-components-radio-control__option:has(input:checked){border-color:var(--espresso);box-shadow:0 0 0 1px var(--espresso) inset}
.wc-block-components-radio-control__label{color:var(--espresso);font-weight:500}
/* Inputs */
.wc-block-components-input-control,.wp-block-woocommerce-checkout input,.wp-block-woocommerce-checkout select{
  border-radius:3px;font-family:var(--sans);
}
.wc-block-components-input-control .components-base-control__field{
  border:1px solid var(--line);border-radius:3px;background:var(--ivory);
}
.wc-block-components-address-form__address_1,.wc-block-components-address-form__city,
.wc-block-components-text-input{border-color:var(--line)}
/* Botão finalizar pedido (placeholder-agnostic) */
.wc-block-components-checkout-place-order-button,.wc-block-components-button.contained{
  background:var(--espresso);color:var(--ivory);border-radius:3px;border:0;
  font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  padding:1rem 2rem;transition:background .5s var(--ease);
}
.wc-block-components-checkout-place-order-button:hover,.wc-block-components-button.contained:hover{background:var(--cacao)}
/* Totais / resumo lateral */
.wc-block-components-totals-item .wc-block-components-totals-item__label,.wc-block-components-totals-item .wc-block-components-totals-item__value{color:var(--espresso)}
.wc-block-components-totals-footer .wc-block-components-totals-item__value{font-weight:600}
.wc-block-components-order-summary-item__description,.wc-block-components-order-summary-item__image{max-width:100%}

.woocommerce-checkout .woocommerce h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--espresso);margin-bottom:1.4rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  border:1px solid var(--line);background:transparent;color:var(--espresso);padding:.9rem 1rem;border-radius:3px;font-family:var(--sans);font-size:.95rem;width:100%;
}
.woocommerce form .form-row label{color:var(--espresso);font-size:.8rem;margin-bottom:.4rem;display:block}
#order_review,.woocommerce-checkout-review-order{border:1px solid var(--line);border-radius:4px;padding:2rem}
/* Resumo do pedido: força o nome do produto a expandir (não colapsar letra por letra).
   table-layout:fixed + larguras explícitas por coluna é o que resolve de forma garantida. */
#order_review,.woocommerce-checkout-review-order{overflow:visible}
#order_review table.shop_table,.woocommerce-checkout-review-order-table{
  width:100% !important;table-layout:fixed !important;border-collapse:collapse;
}
#order_review table.shop_table th,#order_review table.shop_table td,
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.9rem .5rem !important;
}
/* Nome do produto ocupa a maior parte; total numa coluna fixa à direita */
#order_review table.shop_table th.product-name,.woocommerce-checkout-review-order-table th.product-name,
#order_review table.shop_table td.product-name,.woocommerce-checkout-review-order-table td.product-name{
  width:auto !important;min-width:180px !important;box-sizing:border-box;line-height:1.4;
  word-break:normal !important;overflow-wrap:break-word !important;white-space:normal !important;hyphens:none;
}
#order_review table.shop_table th.product-total,.woocommerce-checkout-review-order-table th.product-total,
#order_review table.shop_table td.product-total,.woocommerce-checkout-review-order-table td.product-total{
  text-align:right !important;white-space:nowrap !important;width:120px !important;vertical-align:top;
}
#order_review table.shop_table .woocommerce-Price-amount,.woocommerce-checkout-review-order-table .woocommerce-Price-amount{white-space:nowrap !important}
/* Thumbnail do produto no resumo */
#order_review table.shop_table td.product-name img,.woocommerce-checkout-review-order-table td.product-name img{
  width:46px;height:46px;object-fit:cover;border-radius:3px;margin:.2rem .8rem .2rem 0;vertical-align:middle;float:left;
}
#payment{border:0}
#payment ul.payment_methods{border:0;padding:0}

/* ===== Checkout BLOCK (WooCommerce Blocks / novo checkout) =====
   Corrige o nome do produto que colapsava letra por letra (overflow-wrap:anywhere) */
.wc-block-components-order-summary-item__description{flex:1 1 auto;min-width:0}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{
  overflow-wrap:normal !important;word-break:normal !important;white-space:normal !important;
  width:auto !important;min-width:0;line-height:1.4;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name a{overflow-wrap:normal !important;word-break:normal !important}
.wc-block-components-order-summary-item{overflow:hidden}
.wc-block-components-order-summary-item__description > *{min-width:0;max-width:100%}
.wc-block-components-order-summary__content > .wc-block-components-order-summary-item{min-width:0}
#payment ul.payment_methods li{border-bottom:1px solid var(--line);padding:.9rem 0}
#payment ul.payment_methods li label{color:var(--espresso)}
#place_order{width:100%;background:var(--espresso);color:var(--ivory);border-radius:3px;border:0;padding:1.1rem;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:background .5s var(--ease)}
#place_order:hover{background:var(--cacao)}

/* ===== Checkout LUMIV — fluxo enxuto ===== */
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .woocommerce{
  display:block;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) form.checkout.woocommerce-checkout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:start;
}
.lumiv-checkout-head{max-width:760px;margin-bottom:2.1rem}
.lumiv-checkout-head h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.6rem,5vw,4.6rem);line-height:.98;
  margin:.45rem 0 1rem;color:var(--espresso)
}
.lumiv-checkout-head .lumiv-content-deck{max-width:620px;color:#716054;line-height:1.6}
body.woocommerce-checkout .woocommerce-form-coupon-toggle{
  max-width:640px;margin:0 0 1.25rem
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  margin:0;padding:.8rem 1rem;border:1px solid rgba(58,45,39,.12);
  background:#FBF4EC;color:#716054;border-radius:3px;font-size:.78rem
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none}
body.woocommerce-checkout .woocommerce-form-coupon-toggle a{
  color:var(--espresso);font-weight:600;text-decoration:underline;text-underline-offset:3px
}

body.woocommerce-checkout #customer_details{
  grid-column:1;grid-row:1 / span 3;
  width:100%;margin:0
}
body.woocommerce-checkout #customer_details .col-1{
  float:none;width:100%;padding:clamp(1.35rem,2.5vw,2rem);
  border:1px solid var(--line);background:#FCF6EF;border-radius:4px
}
body.woocommerce-checkout #customer_details .col-2{display:none!important}
body.woocommerce-checkout .woocommerce-billing-fields>h3{
  display:flex;align-items:center;gap:.7rem;
  font-family:var(--serif);font-size:0!important;margin:0 0 1.4rem!important
}
body.woocommerce-checkout .woocommerce-billing-fields>h3::before{
  content:"1";display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:var(--espresso);color:var(--ivory);
  font-family:var(--sans);font-size:.75rem;font-weight:600
}
body.woocommerce-checkout .woocommerce-billing-fields>h3::after{
  content:"Seus dados";font-family:var(--serif);font-size:1.65rem;line-height:1;
  color:var(--espresso);font-weight:400
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:2px
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{
  float:none!important;width:100%!important;margin:0 0 12px!important
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide{
  grid-column:1/-1
}
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_country_field{
  grid-column:1/-1
}
body.woocommerce-checkout #billing_country_field{display:none!important}

body.woocommerce-checkout .woocommerce form .form-row label{
  font-size:.75rem;font-weight:500;letter-spacing:.025em;margin:0 0 .38rem;color:#5B493F
}
body.woocommerce-checkout .woocommerce form .form-row .required{color:#A16F52}
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single{
  min-height:48px;background:#FFFDF9;border:1px solid rgba(58,45,39,.18);
  border-radius:3px;color:var(--espresso);box-shadow:none
}
body.woocommerce-checkout .woocommerce form .form-row input.input-text{
  padding:.75rem .9rem
}
body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus{
  outline:0;border-color:var(--espresso);box-shadow:0 0 0 1px var(--espresso)
}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{
  line-height:46px;padding-left:.9rem;color:var(--espresso)
}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
body.woocommerce-checkout .woocommerce form .form-row .description{
  display:block!important;margin-top:.35rem;font-size:.69rem;line-height:1.4;color:#8D7A6E
}

.lumiv-checkout-stephead{
  grid-column:1/-1;display:flex;align-items:flex-start;gap:.75rem;
  padding-top:1.3rem;margin:1rem 0 1.1rem;border-top:1px solid rgba(58,45,39,.13)
}
.lumiv-checkout-stephead>span{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;
  width:30px;height:30px;border-radius:50%;background:var(--espresso);color:var(--ivory);
  font-size:.75rem;font-weight:600
}
.lumiv-checkout-stephead strong{
  display:block;font-family:var(--serif);font-size:1.55rem;line-height:1;color:var(--espresso);font-weight:400
}
.lumiv-checkout-stephead small{
  display:block;margin-top:.4rem;color:#8A786B;font-size:.72rem;line-height:1.45
}
.lumiv-cep-status{display:block;margin-top:.45rem;font-size:.7rem;line-height:1.4;color:#8A786B}
.lumiv-cep-status.is-success{color:#4E725B}
.lumiv-cep-status.is-error{color:#9A5449}

body.woocommerce-checkout #order_review_heading{
  grid-column:2;grid-row:1;
  font-family:var(--serif);font-weight:400;font-size:1.65rem!important;
  margin:0 0 -1.2rem!important;color:var(--espresso)
}
body.woocommerce-checkout #order_review{
  grid-column:2;grid-row:2;
  position:sticky;top:130px;
  background:#FCF6EF;border:1px solid var(--line);border-radius:4px;padding:clamp(1.25rem,2.3vw,1.8rem)
}
body.woocommerce-checkout #order_review table.shop_table{
  margin:0 0 1rem
}
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td{
  font-size:.82rem;padding:.75rem .35rem!important
}

/* Frete: dá mais espaço às opções e elimina a coluna "Envio" exagerada. */
body.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th{
  width:24%!important;min-width:78px!important;padding-right:.75rem!important;
  vertical-align:top!important
}
body.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td{
  width:76%!important;vertical-align:top!important
}
body.woocommerce-checkout #order_review ul#shipping_method,
body.woocommerce-checkout #order_review .woocommerce-shipping-methods{
  margin:0!important;padding:0!important;list-style:none!important
}
body.woocommerce-checkout #order_review ul#shipping_method li,
body.woocommerce-checkout #order_review .woocommerce-shipping-methods li{
  display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:.45rem;
  align-items:start;margin:0 0 .7rem!important;padding:0!important;
  list-style:none!important;line-height:1.42
}
body.woocommerce-checkout #order_review ul#shipping_method li:last-child,
body.woocommerce-checkout #order_review .woocommerce-shipping-methods li:last-child{margin-bottom:0!important}
body.woocommerce-checkout #order_review ul#shipping_method input,
body.woocommerce-checkout #order_review .woocommerce-shipping-methods input{
  margin:.12rem 0 0!important
}
body.woocommerce-checkout #order_review ul#shipping_method label,
body.woocommerce-checkout #order_review .woocommerce-shipping-methods label{
  display:block!important;min-width:0;font-size:.83rem;line-height:1.42;
  color:var(--espresso);word-break:normal!important;overflow-wrap:normal!important
}
body.woocommerce-checkout #order_review .woocommerce-shipping-methods .amount{
  white-space:nowrap;font-weight:600
}
body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td{
  font-size:1rem;font-weight:600
}
body.woocommerce-checkout #payment{
  background:transparent;margin-top:1.1rem
}
body.woocommerce-checkout #payment ul.payment_methods{margin:0;padding:0;list-style:none}
body.woocommerce-checkout #payment ul.payment_methods li{
  position:relative;margin:0 0 .65rem;padding:.95rem!important;
  border:1px solid rgba(58,45,39,.16)!important;border-radius:3px;background:#FFFDF9
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--espresso)!important;box-shadow:0 0 0 1px var(--espresso) inset
}
body.woocommerce-checkout #payment ul.payment_methods li>label{
  display:block;font-size:.84rem;font-weight:600;color:var(--espresso);cursor:pointer
}
body.woocommerce-checkout #payment .payment_method_woo-mercado-pago-custom>label::after{
  content:"Digite os dados do cartão aqui mesmo, sem precisar entrar em uma conta Mercado Pago.";
  display:block;margin:.38rem 0 0 1.65rem;font-size:.68rem;line-height:1.45;
  font-weight:400;color:#8A786B
}
body.woocommerce-checkout #payment .payment_method_woo-mercado-pago-basic>label::after{
  content:"Use sua conta Mercado Pago, saldo ou cartões já salvos. Você será redirecionado para concluir.";
  display:block;margin:.38rem 0 0 1.65rem;font-size:.68rem;line-height:1.45;
  font-weight:400;color:#8A786B
}
body.woocommerce-checkout #payment div.payment_box{
  margin:.85rem 0 0;padding:.85rem;background:#F6EDE3;border-radius:3px;
  color:#665348;font-size:.78rem;line-height:1.5
}
body.woocommerce-checkout #payment div.payment_box::before{display:none}
body.woocommerce-checkout #place_order{
  margin-top:.6rem;min-height:54px;font-size:.78rem
}
.lumiv-checkout-security{
  margin:.8rem 0 0!important;text-align:center;color:#8A786B;
  font-size:.68rem!important;line-height:1.45
}

/* Esconde elementos que não agregam ao checkout curto. */
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #ship-to-different-address{
  display:none!important
}

@media(max-width:860px){
  body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) form.checkout.woocommerce-checkout{
    grid-template-columns:1fr;gap:1.4rem
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{
    grid-column:1;grid-row:auto
  }
  body.woocommerce-checkout #order_review{position:static}
  body.woocommerce-checkout #order_review_heading{margin:0 0 -.6rem!important}
}
@media(max-width:560px){
  body.woocommerce-checkout #order_review tr.woocommerce-shipping-totals{
    display:table-row!important;width:100%!important
  }
  body.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th{
    display:none!important
  }
  body.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td{
    display:table-cell!important;width:100%!important;max-width:none!important;min-width:0!important;
    padding:.7rem .35rem .95rem!important
  }
  body.woocommerce-checkout #order_review .lumiv-mobile-shipping-title{
    margin:0 0 .55rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;
    text-transform:uppercase;color:var(--espresso)
  }
  body.woocommerce-checkout #order_review ul#shipping_method,
  body.woocommerce-checkout #order_review .woocommerce-shipping-methods{
    display:block!important;width:100%!important;max-width:none!important
  }
  body.woocommerce-checkout #order_review ul#shipping_method li,
  body.woocommerce-checkout #order_review .woocommerce-shipping-methods li{
    display:flex!important;width:100%!important;max-width:none!important;
    gap:.65rem!important;align-items:flex-start!important;
    padding:.52rem 0!important;margin:0!important
  }
  body.woocommerce-checkout #order_review ul#shipping_method input,
  body.woocommerce-checkout #order_review .woocommerce-shipping-methods input{
    flex:0 0 auto!important;margin-top:.18rem!important
  }
  body.woocommerce-checkout #order_review ul#shipping_method label,
  body.woocommerce-checkout #order_review .woocommerce-shipping-methods label{
    display:block!important;flex:1 1 0!important;width:100%!important;max-width:none!important;
    white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
    font-size:.84rem!important;line-height:1.45!important
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
  body.woocommerce-checkout #billing_email_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_state_field{
    grid-column:1
  }
  body.woocommerce-checkout #customer_details .col-1{padding:1.05rem}
  body.woocommerce-checkout #order_review{padding:1.05rem}
}


/* Botão CTA da home */
.products-cta{display:flex;justify-content:center;margin-top:3.4rem}
.products-cta .btn{background:var(--espresso);color:var(--ivory)}

/* ============================================================
   PAGE TEMPLATE (conteúdo, carrinho, checkout, minha conta)
   ============================================================ */
/* Página de conteúdo e páginas WooCommerce */
.bahia-boutique-page{padding:clamp(6rem,10vw,9rem) 0 clamp(5rem,9vw,8rem)}
.bahia-boutique-page .eyebrow{margin-bottom:1.2rem}
.bahia-boutique-page-title{font-size:clamp(2rem,4.6vw,3.8rem);margin-bottom:2rem}
.bahia-boutique-page-content{max-width:70ch}
.bahia-boutique-page-content p{margin-bottom:1.2rem}
.bahia-boutique-page-title:empty{display:none}
/* Checkout / carrinho / conta: o conteúdo deve ocupar a largura toda do .wrap,
   não os 70ch — senão o checkout espremia numa coluna de ~707px. */
body.woocommerce-checkout .bahia-boutique-page-content,
body.woocommerce-cart .bahia-boutique-page-content,
body.woocommerce-account .bahia-boutique-page-content{max-width:100%}

/* ============================================================
   MINHA CONTA (WooCommerce) — área do cliente premium
   ============================================================ */
.woocommerce-MyAccount-navigation{
  position:sticky;top:7rem;width:100%;
}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.4rem;color:var(--espresso);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  transition:background .5s var(--ease),color .5s var(--ease);
}
.woocommerce-MyAccount-navigation li a::after{content:"→";opacity:.4;font-size:.9rem;transition:opacity .4s}
.woocommerce-MyAccount-navigation li a:hover{background:var(--ivory-2)}
.woocommerce-MyAccount-navigation li a:hover::after{opacity:1}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--espresso);color:var(--ivory)}
.woocommerce-MyAccount-navigation li.is-active a::after{opacity:1}

/* Saudação premium */
.bahia-boutique-account-greeting{margin-bottom:2.6rem;padding-bottom:2.6rem;border-bottom:1px solid var(--line)}
.bahia-boutique-account-greeting .eyebrow{margin-bottom:.8rem}
.bahia-boutique-account-greeting h1{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.05;color:var(--espresso)}
.bahia-boutique-account-greeting p{margin-top:.9rem;color:var(--taupe);max-width:46ch}

/* Conteúdo da conta */
.woocommerce-MyAccount-content{margin-left:0}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content .woocommerce-account h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--espresso);margin-bottom:1.2rem}
.woocommerce-MyAccount-content p{color:var(--espresso)}
.woocommerce-MyAccount-content a{color:var(--espresso);text-decoration:underline;text-underline-offset:3px}
.woocommerce-MyAccount-content a:hover{color:var(--taupe)}

/* Ordenação dos pedidos */
.woocommerce-MyAccount-content table.woocommerce-orders-table td,.woocommerce-MyAccount-content table.woocommerce-orders-table th{
  padding:1rem;border-bottom:1px solid var(--line);text-align:left;color:var(--espresso);
}
.woocommerce-MyAccount-content table.woocommerce-orders-table th{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.woocommerce-MyAccount-content table.woocommerce-orders-table td a{text-decoration:none;font-weight:500}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status .woocommerce-orders-table__status{
  display:inline-block;border:1px solid var(--line);border-radius:2px;padding:.25rem .7rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
}

/* Endereços / dados */
.woocommerce-MyAccount-content .woocommerce-addresses .woocommerce-Address{display:block;border:1px solid var(--line);border-radius:4px;padding:1.6rem;margin-bottom:1.5rem}
.woocommerce-MyAccount-content .woocommerce-Address h3{font-size:1rem;letter-spacing:.1em;text-transform:uppercase}
.woocommerce-MyAccount-content .woocommerce-Address .edit{text-decoration:none;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}

/* Formulários da conta */
.woocommerce-MyAccount-content form .form-row input.input-text,.woocommerce-MyAccount-content form .form-row textarea,.woocommerce-MyAccount-content form .form-row select{
  border:1px solid var(--line);background:transparent;color:var(--espresso);padding:.9rem 1rem;border-radius:3px;font-family:var(--sans);font-size:.95rem;width:100%;
}
.woocommerce-MyAccount-content form .form-row label{color:var(--espresso);font-size:.8rem;margin-bottom:.4rem;display:block}
.woocommerce-MyAccount-content .woocommerce-Button,.woocommerce-MyAccount-content button.woocommerce-Button{
  background:var(--espresso);color:var(--ivory);border-radius:3px;border:0;padding:.9rem 1.9rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:background .5s var(--ease);
}
.woocommerce-MyAccount-content .woocommerce-Button:hover{background:var(--cacao)}

/* Layout 2 colunas da conta */
.woocommerce-account .woocommerce{
  display:grid;grid-template-columns:260px 1fr;gap:clamp(2rem,4vw,4rem);align-items:start;
}

/* Responsivo da conta */
@media (max-width:1000px){
  .woocommerce-MyAccount-navigation{position:static}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
}

/* Responsivo e-commerce */
@media (max-width:1000px){
  ul.products{grid-template-columns:repeat(2,1fr)}
  .woocommerce div.product,.single-product-page div.product{grid-template-columns:1fr}
  /* Reseta a colocação explícita p/ empilhar: imagem em cima, texto embaixo */
  .single-product-page div.product .summary.entry-summary{grid-column:auto;grid-row:auto}
  .single-product-page div.product .woocommerce-product-gallery{grid-column:auto;grid-row:auto}
  .single-product-page div.product > .onsale{grid-column:auto;grid-row:auto;position:absolute;top:1rem;left:1rem;margin:0}
  .single-product-page div.product .woocommerce-tabs{grid-column:auto;margin-top:3rem}
  .single-product-page .related.products{grid-column:auto}
  .woocommerce div.product .summary,.single-product-page div.product .summary{margin-top:2.2rem}
  .woocommerce-checkout .woocommerce{grid-template-columns:1fr}
  .woocommerce-ordering{margin:0;width:100%}
  .woocommerce-ordering select{width:100%}
  .woocommerce .woocommerce-before-shop-loop{flex-direction:column;align-items:flex-start;gap:1rem}
}
@media (max-width:560px){
  ul.products{grid-template-columns:1fr}
  /* Título e preço menores + botão a largura toda no mobile */
  .single-product-page div.product .summary .product_title{font-size:clamp(1.5rem,7vw,2.1rem);max-width:none}
  .single-product-page div.product .summary .woocommerce-product-details__short-description{font-size:.98rem}
  .woocommerce div.product form.cart,.single-product-page div.product .summary form.cart{flex-direction:column;align-items:stretch}
  .woocommerce div.product form.cart .button,.single-product-page div.product .summary form.cart .button{width:100%;max-width:100%}
  .single-product-page .products{grid-template-columns:1fr}
  /* Carrinho: empilha a tabela de forma legível no mobile */
  table.shop_table{table-layout:auto}
  table.shop_table td,table.shop_table th{padding:.75rem .5rem}
  table.shop_table td.product-name{min-width:120px}
  .woocommerce .cart .coupon,.woocommerce .cart td.actions{display:flex;flex-direction:column;gap:.8rem;text-align:left}
  .woocommerce .cart .coupon .button{width:100%}
  .woocommerce-checkout .woocommerce{grid-template-columns:1fr}
  .woocommerce-checkout-review-order{margin-top:2rem}
  /* Carrinho BLOCK (WooCommerce Blocks): empilha e não estoura a largura no mobile */
  .wc-block-components-order-summary-item,.wc-block-components-product-wrapper{
    display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;max-width:100%;
  }
  .wc-block-components-order-summary-item__description{width:100%}
  .wc-block-components-product-name{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .wc-block-components-order-summary-item__image,.wc-block-components-product-image img{max-width:100%;width:auto}
  .wc-block-components-totals-wrapper,.wc-block-components-totals-item{max-width:100%}
  .wc-block-components-totals-item{flex-wrap:wrap;gap:.5rem}
  .wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{overflow-x:hidden}
  /* Carrinho BLOCK (WooCommerce Blocks): empilha item e coluna total, sem estourar a largura */
  .wp-block-woocommerce-cart .wc-block-cart-items__header{display:none}
  .wc-block-cart-items__row{
    display:grid !important;grid-template-columns:1fr !important;gap:.9rem !important;
    padding:1.2rem 0 !important;border-bottom:1px solid var(--line);max-width:100%;
  }
  .wc-block-cart-item__image{max-width:100%}
  .wc-block-cart-item__image img{max-width:110px;height:auto;width:auto}
  .wc-block-cart-item__total{text-align:left !important;width:100% !important;max-width:100%}
  .wc-block-cart-item__total .wc-block-components-product-price{white-space:normal;word-break:break-word}
  .wc-block-cart-item__product{min-width:0;max-width:100%}
  .wc-block-components-product-name{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
  .wc-block-components-totals-wrapper,.wc-block-components-totals-item{max-width:100%}
  .wc-block-components-totals-item{flex-wrap:wrap;gap:.5rem}
  /* Checkout BLOCK: colunas empilhadas em telas pequenas (o contêiner usa flex) */
  .wc-block-components-sidebar-layout{flex-direction:column !important}
  .wc-block-components-main,.wc-block-components-sidebar{max-width:100% !important;width:100% !important;flex-basis:100% !important;padding:0 !important;margin:0 !important}
  .wc-block-components-sidebar{margin-top:2rem}
  /* Box de pagamento Pix no mobile: colunas empilham, conteúdo centralizado, sem estourar */
  .woocommerce-order .mp-row-checkout-pix{flex-direction:column;align-items:center;gap:1.5rem}
  .woocommerce-order .mp-pix-left,.woocommerce-order .mp-pix-right{max-width:100%;width:100%;text-align:center}
  .woocommerce-order .mp-pix-right .mp-details-pix-qr{max-width:100%}
}

/* ===== BLOG (journal) — white-label ===== */
.journal{padding:clamp(5rem,9vw,8rem) 0;background:var(--ivory)}
.journal-head{max-width:640px;margin-bottom:clamp(2.5rem,5vw,4rem)}
.journal-head h2{font-family:var(--serif);font-size:clamp(2rem,4.4vw,3.4rem);font-weight:400;line-height:1;margin:.8rem 0 1rem;color:var(--espresso)}
.journal-head p{font-size:1.02rem;color:var(--espresso);opacity:.85;line-height:1.6;max-width:44ch}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.6rem)}
.journal-card{display:flex;flex-direction:column;color:var(--espresso)}
.journal-media{overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:var(--sand);position:relative;margin-bottom:1.2rem}
.journal-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.journal-card:hover .journal-media img{transform:scale(1.05)}
.journal-media.journal-num{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:1.4rem;aspect-ratio:4/5;background:linear-gradient(160deg,var(--ivory) 0%,var(--sand) 100%)}
.journal-num span{font-family:var(--serif);font-size:clamp(3rem,6vw,4.4rem);line-height:.9;color:var(--espresso);opacity:.92}
.journal-card .meta{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.journal-card h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;line-height:1.25;margin:.55rem 0 .6rem}
.journal-card p{font-size:.92rem;font-weight:300;line-height:1.6;color:var(--espresso);opacity:.85;max-width:34ch}
.journal-more{margin-top:.8rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cacao);opacity:.85;transition:opacity .2s,transform .3s var(--ease)}
.journal-card:hover .journal-more{opacity:1;transform:translateX(4px)}
.journal-empty{color:var(--taupe);font-size:1rem}
@media (max-width:900px){.journal-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.journal-grid{grid-template-columns:1fr}}

/* ============================================================
   LUMIV — coleção editorial / loja
   ============================================================ */
.lumiv-collection{overflow:hidden}
.lumiv-collection-hero{background:var(--ivory-2);padding:clamp(7.5rem,12vw,10rem) 0 clamp(3rem,6vw,6rem)}
.lumiv-collection-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.lumiv-collection-intro{padding-block:2rem}
.lumiv-collection-intro h1{font-size:clamp(3.3rem,6vw,7rem);line-height:.94;max-width:12ch;margin:1.25rem 0 1.6rem}
.lumiv-collection-intro h1 em,.lumiv-section-head h2 em,.lumiv-collection-end h2 em{font-weight:400}
.lumiv-collection-intro>p{max-width:43ch;font-size:clamp(1.08rem,1.5vw,1.38rem);line-height:1.55;color:var(--espresso);opacity:.85}
.lumiv-collection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.6rem;margin-top:2.3rem}
.lumiv-text-link{display:inline-flex;align-items:center;gap:.8rem;width:max-content;border-bottom:1px solid currentColor;padding-bottom:.35rem;font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--espresso);transition:gap .3s var(--ease),opacity .3s}
.lumiv-text-link:hover{gap:1.1rem;opacity:.65}
.lumiv-collection-note{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:clamp(2rem,5vw,5rem);color:var(--taupe);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.lumiv-collection-note span{color:var(--espresso);font-weight:600}
.lumiv-collection-note i{width:1px;height:13px;background:var(--line);margin-inline:.35rem}
.lumiv-collection-visual{position:relative;min-width:0;aspect-ratio:4/5;background:var(--sand);overflow:hidden}
.lumiv-collection-hero-image{width:100%;height:100%;object-fit:cover}
.lumiv-collection-visual-caption{position:absolute;left:1.35rem;right:1.35rem;bottom:1.25rem;display:flex;justify-content:space-between;gap:1rem;color:var(--cacao);font-size:.66rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}
.lumiv-collection-visual-caption b{font-weight:600}
.lumiv-needs{padding:clamp(4.5rem,8vw,8rem) 0;background:var(--ivory)}
.lumiv-section-head{max-width:760px}
.lumiv-section-head h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:1;margin:1rem 0 1.1rem}
.lumiv-section-head p{max-width:47ch;color:var(--espresso);opacity:.75;font-size:1.05rem}
.lumiv-needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin-top:clamp(2.5rem,5vw,5rem);border:1px solid var(--line)}
.lumiv-need{position:relative;display:flex;flex-direction:column;min-height:270px;padding:clamp(1.5rem,2.8vw,2.6rem);background:var(--ivory);transition:background .3s}
.lumiv-need:hover{background:var(--ivory-2)}
.lumiv-need-number,.lumiv-formula-topline{font-size:.69rem;font-weight:600;letter-spacing:.18em;color:var(--taupe)}
.lumiv-need h3{max-width:12ch;font-family:var(--serif);font-size:clamp(1.85rem,2.6vw,2.8rem);font-weight:400;line-height:1.05;margin:auto 0 1rem;color:var(--espresso)}
.lumiv-need p{max-width:31ch;font-size:.87rem;line-height:1.5;color:var(--espresso);opacity:.75}
.lumiv-need-arrow{position:absolute;top:1.5rem;right:1.7rem;color:var(--espresso);font-size:1.2rem}
.lumiv-formulas-head{padding-bottom:clamp(2.5rem,5vw,5rem)}
.lumiv-formula{background:var(--ivory-2);padding:clamp(3rem,6vw,6rem) 0}
.lumiv-formula:nth-of-type(even){background:#ede1d5}
.lumiv-formula-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);align-items:center}
.lumiv-formula:nth-of-type(even) .lumiv-formula-media{order:2}
.lumiv-formula-media{display:block;aspect-ratio:4/5;background:var(--sand);overflow:hidden}
.lumiv-formula-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lumiv-formula-media:hover .lumiv-formula-image{transform:scale(1.025)}
.lumiv-formula-copy{min-width:0}
.lumiv-formula-topline{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:clamp(2rem,4vw,4rem)}
.lumiv-formula-copy h3{font-size:clamp(2.7rem,4.7vw,5.6rem);line-height:.98;margin:.85rem 0 1.5rem;max-width:12ch}
.lumiv-formula-lead{font-size:clamp(1.1rem,1.55vw,1.45rem);line-height:1.48;max-width:36ch}
.lumiv-formula-detail{max-width:52ch;font-size:.93rem;line-height:1.65;opacity:.72;margin-top:1rem}
.lumiv-formula-active{display:flex;flex-direction:column;gap:.35rem;border-top:1px solid var(--line);padding-top:1.4rem;margin-top:clamp(1.8rem,3vw,3rem)}
.lumiv-formula-active span{font-size:.68rem;color:var(--taupe);font-weight:600;text-transform:uppercase;letter-spacing:.17em}
.lumiv-formula-active strong{font-weight:500;font-size:.94rem}
.lumiv-formula-price{margin:1.8rem 0 1.1rem;font-size:1.2rem;font-weight:500}
.lumiv-formula-price del{font-size:.82rem;color:var(--taupe);font-weight:400;margin-right:.5rem}
.lumiv-formula-price ins{text-decoration:none}
.lumiv-formula-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.3rem 1.8rem}
.lumiv-formula-unavailable{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--espresso);border:1px solid var(--line);padding:.95rem 1.1rem}
.lumiv-collection-end{background:var(--cacao);color:var(--ivory);padding:clamp(4rem,8vw,8rem) 0}
.lumiv-collection-end-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,8vw,8rem);align-items:end}
.lumiv-collection-end .eyebrow{color:var(--sand)}
.lumiv-collection-end h2{font-size:clamp(2.8rem,5vw,5.3rem);line-height:1;margin-top:1rem}
.lumiv-collection-end p{max-width:42ch;color:var(--sand);line-height:1.65;margin-bottom:1.8rem}
.lumiv-collection-end .btn-secondary{border-color:var(--sand);color:var(--ivory)}
.lumiv-collection-end .btn-secondary:hover{background:var(--ivory);color:var(--cacao)}
.lumiv-collection [id]{scroll-margin-top:100px}
@media (max-width:1000px){
  .lumiv-collection-hero-grid,.lumiv-formula-grid{gap:2rem}
  .lumiv-need{min-height:250px}
}
@media (max-width:760px){
  .lumiv-collection-hero{padding-top:7.4rem}
  .lumiv-collection-hero-grid,.lumiv-formula-grid,.lumiv-collection-end-grid{grid-template-columns:1fr}
  .lumiv-collection-intro{padding-block:0}
  .lumiv-collection-intro h1{font-size:clamp(3rem,11vw,5rem)}
  .lumiv-collection-note{margin-top:2rem}
  .lumiv-collection-visual{max-width:540px;width:100%;margin-inline:auto;aspect-ratio:5/4}
  .lumiv-needs-grid{grid-template-columns:1fr}
  .lumiv-need{min-height:0;padding:1.4rem 1.5rem 1.6rem}
  .lumiv-need h3{max-width:none;margin:1.6rem 0 .6rem}
  .lumiv-formula:nth-of-type(even) .lumiv-formula-media{order:0}
  .lumiv-formula-media{aspect-ratio:5/4}
  .lumiv-formula-topline{margin-bottom:1.8rem}
  .lumiv-formula-copy h3{max-width:none}
}
@media (max-width:480px){
  .lumiv-collection-actions{align-items:stretch;gap:1.35rem}
  .lumiv-collection-actions .btn{width:100%;text-align:center}
  .lumiv-collection-note{font-size:.6rem;gap:.3rem}
  .lumiv-collection-note i{margin-inline:.1rem}
  .lumiv-collection-visual-caption{font-size:.55rem}
  .lumiv-formula-actions{align-items:stretch;flex-direction:column}
  .lumiv-formula-actions .btn{width:100%;text-align:center}
}

