/* ============ Tokens ============ */
:root{
  --blue-900:#16213e;
  --blue-800:#1b4fd1;
  --blue-700:#1b4fd1;
  --blue-600:#2f6fed;
  --blue-500:#5a86f5;
  --blue-100:#eaf1ff;
  --blue-50:#f4f8fe;
  --ink:#16213e;
  --ink-soft:#5c6b8a;
  --white:#ffffff;
  --border:#e1e9f7;
  --success:#1aa971;
  --offer:#d9484f;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --shadow-sm:0 2px 8px rgba(22,33,62,.06);
  --shadow-md:0 10px 30px rgba(22,33,62,.10);
  --font-head:'Sora',sans-serif;
  --font-body:'Inter',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;}
html{overflow-x:hidden;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;color:var(--blue-900);}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

/* ============ Buttons & badges ============ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn--primary{
  background:var(--blue-600);
  color:var(--white);
  box-shadow:var(--shadow-md);
}
.btn--primary:hover{background:var(--blue-700);transform:translateY(-2px);}
.btn--primary:disabled{background:#c3cbdb;cursor:not-allowed;transform:none;box-shadow:none;}
.btn--ghost{
  background:var(--white);
  color:var(--blue-700);
  border:1.5px solid var(--blue-100);
}
.btn--ghost:hover{border-color:var(--blue-500);transform:translateY(-2px);}
.btn--whatsapp{
  background:var(--success);
  color:var(--white);
  box-shadow:0 10px 24px rgba(26,169,113,.28);
}
.btn--whatsapp:hover{transform:translateY(-2px);}

.icon-whatsapp{width:18px;height:18px;flex-shrink:0;}

.badge{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  background:var(--blue-100);
  color:var(--blue-700);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.badge--accent{background:var(--blue-900);color:var(--white);}
.badge--light{background:rgba(255,255,255,.15);color:var(--white);}

/* ============ Header ============ */
.header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
}
.header__right{position:relative;display:flex;align-items:center;gap:20px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-head);}
.logo__icon{
  width:44px;height:44px;
  object-fit:contain;
}
.logo__text{font-size:1.15rem;color:var(--blue-900);font-weight:500;}
.logo__text strong{color:var(--blue-600);}

.nav{display:flex;align-items:center;gap:28px;}
.nav__link{
  font-weight:600;
  font-size:.92rem;
  color:var(--ink-soft);
  position:relative;
  padding:4px 0;
}
.nav__link:hover{color:var(--blue-700);}
.nav__link.is-current{color:var(--blue-700);}
.nav__link--cta{
  background:var(--blue-600);
  color:var(--white) !important;
  padding:10px 20px;
  border-radius:999px;
}
.nav__link--cta:hover{background:var(--blue-700);}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:32px;
  padding:6px;
}
.nav-toggle span{
  display:block;height:2px;width:100%;
  background:var(--blue-900);border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-active span:nth-child(2){opacity:0;}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ============ WhatsApp toggle ============ */
.whatsapp-toggle{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  color:var(--white);
  border-radius:50%;
  background:var(--success);
  transition:transform .15s ease, background .15s ease;
}
.whatsapp-toggle:hover{background:#158f5f;transform:translateY(-2px);}
.whatsapp-toggle .icon-whatsapp{width:21px;height:21px;}

.icon-account{width:20px;height:20px;color:var(--blue-700);}

/* ============ Account menu ============ */
.account-menu{position:relative;}
.account-menu__panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  max-width:calc(100vw - 40px);
  min-width:230px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  padding:8px;
  z-index:200;
}
.account-menu__greeting{
  display:flex;
  align-items:center;
  gap:11px;
  padding:8px 10px 12px;
  margin-bottom:6px;
  border-bottom:1px solid var(--border);
  font-size:.78rem;
  color:var(--ink-soft);
}
.account-menu__avatar{
  flex:none;
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  color:#fff;
  font-family:var(--font-head);
  font-weight:700;
  font-size:1rem;
}
.account-menu__who{min-width:0;line-height:1.3;}
.account-menu__greeting strong{display:block;font-size:.98rem;color:var(--blue-900);font-family:var(--font-head);}
.account-menu__greeting small{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--ink-soft);}
.account-menu__item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  font-size:.9rem;
  font-weight:600;
  color:var(--ink);
  transition:background .15s ease,color .15s ease;
}
.account-menu__item:hover{background:var(--blue-50);}
.account-menu__item--area::before,
.account-menu__item--logout::before{
  content:"";
  flex:none;
  width:18px;height:18px;
  background:currentColor;
  -webkit-mask:var(--ico) center/contain no-repeat;
  mask:var(--ico) center/contain no-repeat;
}
.account-menu__item--area{color:var(--blue-900);}
.account-menu__item--area::before{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E");}
.account-menu__item--area::after{content:"›";margin-left:auto;font-size:1.2rem;line-height:1;color:var(--ink-soft);transition:transform .15s ease;}
.account-menu__item--area:hover::after{transform:translateX(3px);}
.account-menu__item--logout{color:var(--offer);font-weight:500;font-size:.85rem;margin-top:4px;}
.account-menu__item--logout::before{width:16px;height:16px;--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='M16 17l5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E");}
.account-menu__item--logout:hover{background:#fdf0f0;}

/* ============ Promo strip (js/faixa.js — Painel → Cupons → Faixa do site) ============ */
.promo-faixa{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px 14px;
  padding:9px 44px;
  font-size:.86rem;
  line-height:1.3;
  text-align:center;
}
.promo-faixa--black{
  background:#0c0c10 repeating-linear-gradient(-45deg,rgba(255,214,10,.06) 0 10px,transparent 10px 20px);
  color:#fff;
  border-bottom:2px solid #ffd60a;
}
.promo-faixa--azul{
  background:linear-gradient(90deg,var(--blue-900),var(--blue-700));
  color:#fff;
}
.promo-faixa__texto{font-family:var(--font-head);font-weight:800;letter-spacing:.02em;text-transform:uppercase;}
.promo-faixa__tempo{font-size:.8rem;opacity:.92;white-space:nowrap;}
.promo-faixa__tempo b{font-variant-numeric:tabular-nums;font-weight:700;}
.promo-faixa--black .promo-faixa__tempo b{color:#ffd60a;}
.promo-faixa__cupom{
  display:inline-flex;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
  transition:transform .15s ease,filter .15s ease;
}
.promo-faixa--black .promo-faixa__cupom{background:#ffd60a;color:#0c0c10;}
.promo-faixa--azul .promo-faixa__cupom{background:#fff;color:var(--blue-900);}
a.promo-faixa__cupom:hover{transform:translateY(-1px);filter:brightness(1.05);}
.promo-faixa__cupom.is-aplicado{background:transparent !important;color:inherit !important;border:1px solid currentColor;font-weight:600;}
.promo-faixa__fechar{
  position:absolute;
  right:8px;top:50%;
  transform:translateY(-50%);
  width:28px;height:28px;
  border-radius:50%;
  color:inherit;
  opacity:.6;
  font-size:1.2rem;
  line-height:1;
}
.promo-faixa__fechar:hover{opacity:1;background:rgba(255,255,255,.12);}
@media (max-width:600px){
  .promo-faixa{padding:8px 36px 8px 12px;gap:5px 10px;font-size:.78rem;}
  .promo-faixa__texto{flex-basis:100%;}
  .promo-faixa__tempo{font-size:.74rem;}
  .promo-faixa__cupom{padding:3px 10px;font-size:.72rem;}
}

/* ============ Language menu ============ */
.lang-menu{position:relative;}
.lang-menu__toggle{
  display:flex;align-items:center;gap:6px;
  height:42px;padding:0 14px;
  border-radius:999px;
  background:var(--blue-50);
  color:var(--blue-700);
  font-weight:700;
  font-size:.82rem;
  transition:background .15s ease;
}
.lang-menu__toggle:hover{background:var(--blue-100);}
.icon-globe{width:18px;height:18px;}
.lang-menu__panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:160px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  padding:8px;
  z-index:200;
}
.lang-menu__item{
  display:block;
  width:100%;
  text-align:left;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  font-size:.9rem;
  font-weight:600;
  color:var(--ink);
  transition:background .15s ease;
}
.lang-menu__item:hover{background:var(--blue-50);}
.lang-menu__item.is-active{color:var(--blue-700);background:var(--blue-50);}

/* ============ Cart toggle ============ */
.cart-toggle{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  font-size:1.3rem;
  border-radius:50%;
  background:var(--blue-50);
  transition:background .15s ease;
}
.cart-toggle:hover{background:var(--blue-100);}
.cart-toggle__badge{
  position:absolute;
  top:-4px;right:-4px;
  min-width:19px;height:19px;
  padding:0 4px;
  border-radius:999px;
  background:var(--offer);
  color:var(--white);
  font-size:.68rem;
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}

/* ============ Cart drawer ============ */
.cart-overlay{
  position:fixed;inset:0;
  background:rgba(10,26,58,.45);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:200;
}
.cart-overlay.is-open{opacity:1;visibility:visible;}

.cart-drawer{
  position:fixed;
  top:0;right:0;
  height:100vh;
  width:min(400px,92vw);
  background:var(--white);
  box-shadow:-16px 0 40px rgba(10,42,102,.18);
  z-index:201;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .3s ease;
}
.cart-drawer.is-open{transform:translateX(0);}

.cart-drawer__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 24px;
  border-bottom:1px solid var(--border);
}
.cart-drawer__head h3{font-size:1.15rem;}
.cart-drawer__close{
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  font-size:1rem;
  color:var(--ink-soft);
  transition:background .15s ease;
}
.cart-drawer__close:hover{background:var(--blue-50);}

.cart-drawer__body{
  flex:1;
  overflow-y:auto;
  padding:12px 24px;
}
.cart-drawer__empty{
  color:var(--ink-soft);
  text-align:center;
  padding:60px 0;
  font-size:.92rem;
}

.cart-item{
  display:flex;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid var(--border);
}
.cart-item__media{
  width:56px;height:56px;
  border-radius:var(--radius-sm);
  background:var(--blue-50);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  flex-shrink:0;
  overflow:hidden;
}
.cart-item__media img{width:100%;height:100%;object-fit:cover;}
.cart-item__info{flex:1;min-width:0;}
.cart-item__name{display:block;font-size:.9rem;font-weight:600;color:var(--blue-900);margin-bottom:4px;}
.cart-item__price{font-size:.85rem;color:var(--ink-soft);}
.cart-item__row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.cart-item__qty{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--border);
  border-radius:999px;
  padding:2px 4px;
}
.cart-item__qty button{
  width:22px;height:22px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;
  color:var(--blue-700);
}
.cart-item__qty button:hover{background:var(--blue-50);}
.cart-item__qty span{font-size:.85rem;font-weight:600;min-width:16px;text-align:center;}
.cart-item__remove{
  font-size:.78rem;
  color:var(--offer);
  font-weight:600;
}
.cart-item__remove:hover{text-decoration:underline;}

.cart-drawer__footer{
  padding:20px 24px 24px;
  border-top:1px solid var(--border);
}
.cart-drawer__subtotal{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:16px;
  font-size:.95rem;
}
.cart-drawer__subtotal strong{font-family:var(--font-head);font-size:1.2rem;color:var(--blue-800);}
.cart-drawer__discount strong{color:var(--success);}

.cart-coupon{margin-bottom:16px;}
.cart-coupon__row{display:flex;gap:8px;}
.cart-coupon__row input{
  flex:1;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:.88rem;
  font-family:inherit;
  text-transform:uppercase;
}
.cart-coupon__row input:focus{outline:none;border-color:var(--blue-500);}
.cart-coupon__row .btn{padding:10px 16px;font-size:.85rem;}
.cart-coupon__message{font-size:.8rem;margin-top:6px;font-weight:600;}
.cart-coupon__message--error{color:var(--offer);}
.cart-coupon__message--success{color:var(--success);}

.cart-coupon--applied{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;
  background:rgba(26,169,113,.1);
  border:1px solid rgba(26,169,113,.3);
  border-radius:var(--radius-sm);
  padding:10px 14px;
  font-size:.85rem;
  font-weight:600;
  color:var(--success);
}
.cart-coupon--applied button{
  color:var(--offer);
  font-weight:600;
  font-size:.8rem;
  text-decoration:underline;
}
.cart-drawer__checkout{width:100%;}
.cart-drawer__checkout.is-disabled{opacity:.5;pointer-events:none;}

/* ============ Sections ============ */
.section{padding:80px 0;}
#produtos{padding-top:32px;}
.section--alt{background:var(--blue-50);}
.section__head{text-align:center;max-width:560px;margin:0 auto 44px;}
.section__head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:10px;}
.section__head p{color:var(--ink-soft);}

/* ============ Filters panel ============ */
.produtos-layout{display:flex;flex-direction:column;gap:24px;}

.filters-overlay{
  position:fixed;inset:0;
  background:rgba(10,26,58,.45);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:200;
}
.filters-overlay.is-open{opacity:1;visibility:visible;}

.filters-panel{
  position:fixed;
  top:0;left:0;
  height:100vh;
  width:min(320px,88vw);
  background:var(--white);
  box-shadow:16px 0 40px rgba(10,42,102,.18);
  z-index:201;
  display:flex;flex-direction:column;
  gap:26px;
  padding:24px;
  overflow-y:auto;
  transform:translateX(-100%);
  transition:transform .3s ease;
}
.filters-panel.is-open{transform:translateX(0);}

.filters-panel__head{display:flex;align-items:center;justify-content:space-between;}
.filters-panel__head h3{font-size:1.4rem;}
.filters-panel__close{
  width:34px;height:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-soft);
  transition:background .15s ease;
}
.filters-panel__close:hover{background:var(--blue-50);}

.filters-group h4{font-size:.95rem;margin-bottom:14px;}

.filters-checklist{display:flex;flex-direction:column;gap:12px;}
.filters-checkbox{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;
  font-size:.95rem;
  color:var(--ink);
  cursor:pointer;
}
.filters-checkbox__label{display:flex;align-items:center;gap:10px;}
.filters-checkbox input[type="checkbox"]{
  width:19px;height:19px;
  accent-color:var(--blue-600);
  cursor:pointer;
}
.filters-checkbox__count{color:var(--ink-soft);font-size:.85rem;}

.filters-price-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.filters-price-input{
  display:flex;align-items:center;gap:6px;
  flex:1;min-width:0;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:10px 12px;
}
.filters-price-input span{color:var(--ink-soft);font-size:.85rem;}
.filters-price-input input{
  width:100%;min-width:0;border:none;outline:none;font:inherit;color:var(--ink);
}
.filters-price-input input::-webkit-outer-spin-button,
.filters-price-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.filters-apply{width:100%;}

.filters-checkbox--standalone{padding-top:20px;border-top:1px solid var(--border);}

.filters-toggle{
  display:flex;align-items:center;gap:8px;
  padding:10px 18px;
  border-radius:999px;
  border:1.5px solid var(--border);
  background:var(--white);
  font-weight:600;
  font-size:.88rem;
  color:var(--ink);
  margin-bottom:24px;
}
.icon-filter{width:16px;height:16px;}

.filters{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-bottom:24px;
}
.filter-chip{
  padding:10px 18px;
  border-radius:999px;
  border:1.5px solid var(--border);
  background:var(--white);
  font-weight:600;
  font-size:.85rem;
  color:var(--ink-soft);
  transition:all .15s ease;
}
.filter-chip:hover{border-color:var(--blue-500);color:var(--blue-700);}
.filter-chip.is-active{background:var(--blue-900);border-color:var(--blue-900);color:var(--white);}

@media (min-width:900px){
  .produtos-layout{flex-direction:row;align-items:flex-start;gap:32px;}
  .filters-overlay{display:none;}
  .filters-panel{
    position:static;
    height:auto;
    width:260px;
    flex-shrink:0;
    box-shadow:none;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    transform:none;
    padding:24px;
  }
  .filters-panel__close{display:none;}
  .filters-toggle{display:none;}
  .produtos-content{flex:1;min-width:0;}
}

/* ============ Product grid ============ */
.product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.product-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:22px 20px 24px;
  display:flex;flex-direction:column;gap:10px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.product-card__tag{
  position:absolute;top:16px;left:16px;
  background:var(--blue-900);color:var(--white);
  font-size:.68rem;font-weight:700;letter-spacing:.03em;
  padding:5px 10px;border-radius:999px;
  text-transform:uppercase;
}
.product-card__tag--offer{background:var(--offer);}
.product-card__media{
  aspect-ratio:1/1;
  width:100%;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-50);
  border-radius:var(--radius-md);
  font-size:2.6rem;
  margin-bottom:6px;
  cursor:pointer;
  overflow:hidden;
  transition:transform .15s ease;
}
.product-card__media:hover{transform:scale(1.05);}
.product-card__media img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}

.media-carousel{position:relative;width:100%;height:100%;}
.media-carousel__track{
  display:flex;
  width:100%;height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  border-radius:inherit;
}
.media-carousel__track::-webkit-scrollbar{display:none;}
.media-carousel__track img{
  flex:0 0 100%;
  width:100%;height:100%;
  object-fit:cover;
  scroll-snap-align:start;
}
.media-carousel__nav{
  position:absolute;top:50%;
  transform:translateY(-50%);
  width:26px;height:26px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--blue-900);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  line-height:1;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
.media-carousel__nav:hover{background:var(--white);}
.media-carousel__nav--prev{left:8px;}
.media-carousel__nav--next{right:8px;}
.media-carousel__dots{
  position:absolute;bottom:8px;left:50%;
  transform:translateX(-50%);
  display:flex;gap:5px;
}
.media-carousel__dots span{
  width:6px;height:6px;
  border-radius:50%;
  background:rgba(255,255,255,.65);
  box-shadow:0 0 0 1px rgba(10,42,102,.15);
  transition:background .15s ease;
}
.media-carousel__dots span.is-active{background:var(--blue-900);}

.product-card h3{font-size:1.02rem;}
.product-card p{color:var(--ink-soft);font-size:.86rem;flex:1;}
.product-card__price{display:flex;align-items:baseline;gap:10px;margin-top:4px;}
.price--old{text-decoration:line-through;color:#9aa5b8;font-size:.85rem;}
.price--new{font-size:1.25rem;font-weight:800;color:var(--blue-800);font-family:var(--font-head);}
.product-card__trust{
  font-size:.76rem;font-weight:600;color:var(--success);
  display:flex;align-items:center;gap:6px;
}
.product-card__trust::before{content:"🔒";}
.product-card.is-hidden{display:none;}

.btn-add-cart{
  margin-top:10px;
  width:100%;
  padding:11px 16px;
  border-radius:999px;
  background:var(--blue-900);
  color:var(--white);
  font-weight:600;
  font-size:.85rem;
  transition:background .15s ease, transform .15s ease;
}
.btn-add-cart:hover{background:var(--blue-700);}
.btn-add-cart.is-added{background:var(--success);}
.btn-add-cart:disabled{background:#c3cbdb;cursor:not-allowed;}

.product-card__stock{margin-top:2px;}
.product-card__stock-label{font-size:.78rem;font-weight:700;display:block;margin-bottom:5px;}
.product-card__stock-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden;}
.product-card__stock-fill{height:100%;border-radius:999px;}
.product-card__stock--warning .product-card__stock-label{color:#b9700a;}
.product-card__stock--warning .product-card__stock-fill{background:#e0972f;}
.product-card__stock--danger .product-card__stock-label{color:#c0392b;}
.product-card__stock--danger .product-card__stock-fill{background:#c0392b;}
.product-card__stock--soldout{font-size:.82rem;font-weight:700;color:#c0392b;}

.pdp__info-col .product-card__stock{margin:2px 0 6px;}
.pdp__qty button:disabled{opacity:.5;cursor:not-allowed;}

/* ============ FAQ ============ */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.faq-item__question{
  width:100%;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;
  font-weight:600;
  text-align:left;
}
.faq-item__icon{font-size:1.2rem;color:var(--blue-600);transition:transform .2s ease;}
.faq-item.is-open .faq-item__icon{transform:rotate(45deg);}
.faq-item__answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease, padding .25s ease;
  padding:0 20px;
  color:var(--ink-soft);
  font-size:.92rem;
}
.faq-item.is-open .faq-item__answer{max-height:200px;padding:0 20px 18px;}

/* ============ Contact ============ */
.contact{
  background:linear-gradient(135deg,var(--blue-800),var(--blue-900));
  color:var(--white);
}
.contact h2{color:var(--white);}
.contact p{color:var(--blue-100);margin-bottom:20px;}
.contact__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.contact__list{display:flex;flex-direction:column;gap:10px;font-weight:600;}
.contact__list li{display:flex;align-items:center;gap:8px;}
.contact__list a:hover{text-decoration:underline;}

/* ============ Footer ============ */
.footer{background:var(--ink);color:#b9c3da;padding:56px 0 24px;}
.footer__inner{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:36px;
  margin-bottom:36px;
}
.footer__brand p{margin-top:12px;font-size:.85rem;color:#8894ad;max-width:32ch;}
.footer__brand .logo__text{color:var(--white);}
.footer__links h4{color:var(--white);font-size:.9rem;margin-bottom:14px;}
.footer__links a{display:block;font-size:.86rem;margin-bottom:10px;color:#b9c3da;}
.footer__links a:hover{color:var(--white);}
.footer__copy{
  text-align:center;
  font-size:.78rem;
  color:#7784a0;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:20px;
}

/* ============ Checkout ============ */
.checkout-header{
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:18px 0;
}
.checkout-header__inner{display:flex;align-items:center;gap:20px;position:relative;}
.checkout-header__lang{margin-left:auto;}
.checkout-back{font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.checkout-back:hover{color:var(--blue-700);}
.checkout-header__inner h1{font-size:1.3rem;}

.checkout{background:var(--blue-50);padding:36px 0 80px;min-height:calc(100vh - 130px);}
.checkout__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:24px;
  align-items:start;
}

.checkout-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:28px;
}
.checkout-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:20px;}
.checkout-card__title{
  display:flex;align-items:center;gap:12px;
  font-size:1.1rem;
  margin-bottom:22px;
}
.checkout-step{
  display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  background:var(--blue-600);
  color:var(--white);
  font-size:.85rem;
  font-family:var(--font-body);
  font-weight:700;
  flex-shrink:0;
}

.checkout-form{display:flex;flex-direction:column;gap:18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field span{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.field input{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:.92rem;
  font-family:inherit;
  color:var(--ink);
  transition:border-color .15s ease;
}
.field input:focus{outline:none;border-color:var(--blue-500);}
.field--invalid input,.field--invalid select{border-color:#c0392b;}
.field--invalid input:focus,.field--invalid select:focus{border-color:#c0392b;}
.field__required{color:#c0392b;}

.field select{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:12px 38px 12px 14px;
  font-size:.92rem;
  font-family:inherit;
  color:var(--ink);
  background-color:var(--white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5771' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  cursor:pointer;
  transition:border-color .15s ease;
}
.field select:focus{outline:none;border-color:var(--blue-500);}

.field input[type="file"]{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:8px 14px;
  font-size:.85rem;
  color:var(--ink-soft);
  cursor:pointer;
}
.field input[type="file"]::file-selector-button{
  border:none;
  background:var(--blue-100);
  color:var(--blue-700);
  font-weight:600;
  font-size:.85rem;
  padding:8px 16px;
  border-radius:999px;
  margin-right:14px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.field input[type="file"]::file-selector-button:hover{background:var(--blue-500);color:var(--white);}

.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field--small{grid-column:span 1;}

.field-group{
  background:var(--blue-50);
  border:1px solid var(--blue-100);
  border-radius:var(--radius-md);
  padding:16px 16px 4px;
  display:flex;flex-direction:column;gap:14px;
}
.field-group__label{
  font-size:.78rem;
  font-weight:700;
  color:var(--blue-700);
}
.field-group .field-row{margin-bottom:14px;}

.checkout-summary-items{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.checkout-summary-item{
  display:flex;justify-content:space-between;gap:12px;
  font-size:.85rem;
}
.checkout-summary-item__name{color:var(--ink);font-weight:600;}
.checkout-summary-item__qty{color:var(--ink-soft);font-weight:400;}
.checkout-summary-item__price{color:var(--ink-soft);white-space:nowrap;}
.checkout-summary-item--breakdown{color:var(--ink-soft);padding-top:10px;border-top:1px solid var(--border);}
.checkout-summary-item--breakdown:not(:first-of-type){padding-top:0;border-top:none;}
.checkout-summary-empty{color:var(--ink-soft);font-size:.88rem;text-align:center;padding:20px 0;}

.checkout-summary-total{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:16px;
  margin-bottom:18px;
  border-top:1px solid var(--border);
  font-weight:700;
}
.checkout-summary-total strong{font-family:var(--font-head);font-size:1.3rem;color:var(--blue-800);}

.btn--confirm{
  width:100%;
  background:var(--offer);
  color:var(--white);
  box-shadow:0 10px 24px rgba(224,86,47,.28);
}
.btn--confirm:hover{background:#c8481f;}
.btn--confirm:disabled{background:#c7cede;box-shadow:none;cursor:not-allowed;}
.checkout-note{
  text-align:center;
  font-size:.76rem;
  color:var(--ink-soft);
  margin-top:12px;
}
.checkout-banner{
  border-radius:var(--radius-sm);
  padding:14px 16px;
  font-size:.85rem;
  font-weight:600;
  margin-bottom:20px;
}
.checkout-banner--success{background:#e4f7ee;color:var(--success);}

/* ============ Back to top ============ */
.back-to-top{
  position:fixed;
  bottom:24px;right:24px;
  width:46px;height:46px;
  border-radius:50%;
  background:var(--blue-600);
  color:var(--white);
  font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:all .25s ease;
  z-index:90;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--blue-700);}

/* ============ Responsive ============ */
@media (max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,1fr);}

  .checkout__grid{grid-template-columns:1fr;}
  .checkout-side{position:static;}
}

@media (max-width:520px){
  .checkout-card{padding:20px;}
  .field-row{grid-template-columns:1fr;}
}

@media (max-width:860px){
  .nav{
    position:fixed;
    top:0;right:0;
    height:100vh;
    width:min(320px,80vw);
    background:var(--white);
    flex-direction:column;
    align-items:flex-start;
    padding:100px 28px 28px;
    gap:20px;
    box-shadow:-10px 0 30px rgba(10,42,102,.12);
    transform:translateX(100%);
    transition:transform .3s ease;
  }
  .nav.is-open{transform:translateX(0);}
  .nav__link--cta{width:100%;text-align:center;}
  .nav-toggle{display:flex;}

  .product-grid{grid-template-columns:repeat(2,1fr);}

  .contact__inner{flex-direction:column;align-items:flex-start;text-align:left;}

  .footer__inner{grid-template-columns:1fr;gap:28px;}
}

@media (max-width:520px){
  .section{padding:56px 0;}
  .product-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .product-card{padding:16px 14px 18px;}
  .product-card__media{font-size:2.1rem;}
}

/* ============ Cabeçalho compacto (celular) ============ */
@media (max-width:600px){
  .header__inner{padding:12px 14px;gap:8px;}
  .header__right{gap:6px;}
  .logo{gap:8px;flex-shrink:0;}
  .logo__icon{width:34px;height:34px;}
  .logo__text{font-size:1rem;}
  .lang-menu__toggle{height:38px;padding:0 11px;}
  .lang-menu__toggle .icon-globe{display:none;}
  .whatsapp-toggle,.cart-toggle{width:38px;height:38px;}
  .cart-toggle{font-size:1.15rem;}
  .whatsapp-toggle .icon-whatsapp{width:19px;height:19px;}
  .icon-account{width:18px;height:18px;}
  .nav-toggle{width:30px;padding:6px 4px;}
}
@media (max-width:380px){
  .header__inner{padding:10px 10px;}
  .header__right{gap:4px;}
  .logo{gap:6px;}
  .logo__icon{width:30px;height:30px;}
  .logo__text{font-size:.92rem;}
  .lang-menu__toggle{padding:0 9px;height:34px;}
  .whatsapp-toggle,.cart-toggle{width:34px;height:34px;}
}
.cart-drawer__note{margin:4px 0 10px;font-size:.8rem;line-height:1.4;color:var(--ink-soft);text-align:center;}

/* Coupon-link notice (js/cupom-link.js) */
.cupom-aviso{position:fixed;left:50%;bottom:20px;z-index:400;transform:translate(-50%,20px);opacity:0;transition:opacity .3s,transform .3s;
  width:min(520px,calc(100% - 32px));padding:14px 44px 14px 16px;border-radius:14px;background:#14684a;color:#fff;font-weight:600;font-size:.92rem;line-height:1.4;box-shadow:0 14px 40px rgba(10,42,102,.25);}
.cupom-aviso.is-visivel{opacity:1;transform:translate(-50%,0);}
.cupom-aviso--erro{background:#a13d2d;}
.cupom-aviso__fechar{position:absolute;top:8px;right:10px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:1.1rem;line-height:1;}

/* ============ Loja: faixa de confiança, vitrine simples, cartões ============ */
.loja-titulo{text-align:center;margin-bottom:22px;}
.loja-titulo h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin-bottom:6px;}
.loja-titulo p{color:var(--ink-soft);font-size:.95rem;}
.confianca{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.confianca li{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:12px 14px;}
.confianca li > span:first-child{font-size:1.35rem;line-height:1;}
.confianca b{display:block;font-size:.86rem;color:var(--blue-900);}
.confianca small{display:block;font-size:.76rem;color:var(--ink-soft);}
@media (max-width:860px){ .confianca{grid-template-columns:1fr 1fr;gap:8px;} .confianca li{padding:10px;} }
@media (max-width:520px){ .confianca{margin-bottom:18px;gap:6px;} .confianca li{padding:8px 10px;gap:7px;border-radius:10px;} .confianca li > span:first-child{font-size:1.05rem;} .confianca b{font-size:.76rem;} .confianca small{display:none;} }

.produtos-layout--simples .filters-panel,
.produtos-layout--simples .filters-overlay,
.produtos-layout--simples .filters-toggle,
.produtos-layout--simples .filters{display:none !important;}
.produtos-layout--simples .product-grid{grid-template-columns:repeat(auto-fit,minmax(240px,300px));justify-content:center;gap:24px;}
@media (max-width:520px){ .produtos-layout--simples .product-grid{grid-template-columns:1fr 1fr;gap:14px;} }

.product-card__laudo{align-self:flex-start;white-space:nowrap;font-size:.74rem;font-weight:700;color:#13804f;background:rgba(26,169,113,.1);border:1px solid rgba(26,169,113,.3);padding:3px 9px;border-radius:999px;text-decoration:none;}
.product-card__espaco{flex:1;}
.product-card__cupom{font-size:.8rem;color:#13804f;background:#e8f8ef;border-radius:8px;padding:5px 8px;}
.product-card__cupom b{font-size:.92rem;}
.product-card__pag{font-size:.78rem;color:var(--ink-soft);font-weight:600;}

/* ============ Aviso de pesquisa (primeira visita) ============ */
body.aviso-pesquisa-aberto{overflow:hidden;}
.aviso-pesquisa{position:fixed;inset:0;z-index:2000;background:rgba(8,16,40,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;}
.aviso-pesquisa__caixa{background:var(--white);border-radius:20px;max-width:420px;width:100%;padding:28px 24px 24px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.aviso-pesquisa__icone{font-size:2.2rem;margin-bottom:6px;}
.aviso-pesquisa h2{font-size:1.35rem;margin-bottom:10px;}
.aviso-pesquisa__texto{font-size:.92rem;line-height:1.55;color:var(--ink);margin-bottom:10px;}
.aviso-pesquisa__confirma{font-size:.82rem;line-height:1.5;color:var(--ink-soft);margin-bottom:18px;}
.aviso-pesquisa__botao{width:100%;}
@media (max-width:520px){
  .loja-titulo{margin-bottom:16px;}
  .loja-titulo h2{font-size:1.5rem;}
  .loja-titulo p{font-size:.84rem;}
  .product-card__laudo{font-size:.66rem;padding:2px 7px;}
  .product-card__cupom{font-size:.68rem;line-height:1.35;padding:5px 7px;}
  .product-card__cupom b{display:block;font-size:.88rem;}
  .product-card__pag{font-size:.7rem;}
}

/* ===== Product grid: never wider than the screen; list of horizontal cards on phones ===== */
.product-grid > *{min-width:0;}
@media (max-width:600px){
  .product-grid,
  .produtos-layout--simples .product-grid{grid-template-columns:minmax(0,1fr) !important;gap:12px;}
  .product-card{display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:14px;row-gap:5px;align-items:start;padding:12px;}
  .product-card > *{grid-column:2;min-width:0;}
  .product-card > .product-card__media{grid-column:1;grid-row:1 / span 9;margin:0;align-self:start;}
  .product-card:hover{transform:none;}
  .product-card h3{font-size:.98rem;line-height:1.25;}
  .product-card__espaco{display:none;}
  .product-card__price{margin-top:2px;}
  .product-card .price--new{font-size:1.15rem;}
  .product-card__cupom{font-size:.72rem;}
  .product-card__pag{font-size:.72rem;}
  .btn-add-cart{padding:9px 12px;font-size:.84rem;margin-top:4px;}
}

/* Product badges ("selos") — same colours on store cards and the product page */
.product-card__tag,.pdp__tag{text-transform:none;letter-spacing:.01em;}
.selo--destaque{background:linear-gradient(135deg,#d8b25a,#b8902f) !important;color:#1a1405 !important;}
.selo--top{background:#e8590c !important;color:#fff !important;}
.selo--novo{background:#1aa971 !important;color:#fff !important;}
.selo--exclusivo{background:#6d28d9 !important;color:#fff !important;}
.selo--ultimas{background:#c0392b !important;color:#fff !important;}
.selo--oferta{background:var(--offer) !important;color:#fff !important;}
/* Phones: the badge sits on the photo's corner. In the horizontal card the card is a grid, and an
   absolutely positioned grid child is placed inside its grid area — so tie it to the photo column. */
@media (max-width:600px){
  .product-card > .product-card__tag{grid-column:1;grid-row:1;top:5px;left:5px;right:auto;max-width:calc(100% - 10px);font-size:.6rem;padding:3px 7px;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
