:root{
  --bg:#f7ecd6;
  --card:#fef4e8;
  --muted:#111710;
  --txt:#433804;
  --accent:#433804;
  --danger:#ff5c5c;
  --ok:#4cd964;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f7ecd6;color:var(--txt)}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:16px}
.topbar{background:var(--bg);border-bottom:1px solid rgba(255,255,255,.08)}
.topbar .row{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{
    font-weight: 800;
    letter-spacing: .3px;

    /* alinhamento à direita */
    display: flex;
    justify-content: flex-end;

    /* destaque / importância */
    font-size: 1.2rem;
    text-transform: uppercase;
}

.brand-logo{height:70px;width:auto;object-fit:contain;margin-right:10px;border-radius:10px}
.brand-name{font-weight:900}

.menu{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.menu a{
  position:relative;
  padding:12px 2px;
  border-radius:0;
  color:var(--muted);
  font-weight:600;
}
.menu a:hover{opacity:.9}
.menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:2px;
  height:2px;
  width:0;
  background:rgba(143, 103, 34, 1);
  border-radius:999px;
  transition:width .18s ease;
}
.menu a.active::after{width:100%}

.cart-link{display:inline-flex;align-items:center;gap:6px;position:relative;}
.cart-count{display:inline-flex; margin-left:-10px; align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:900;background:rgba(255,255,255,.9);color:#1f1306;border:1px solid rgba(0,0,0,.08)}
.search{display:flex;gap:8px;align-items:center}
.search input{background:#ffffff;border:1px solid rgba(255,255,255,.1);color:var(--txt);padding:8px 10px;border-radius:10px;min-width:80px}
.search button{background:var(--accent);border:none;color:#fff;padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer}
.search button:hover{filter:brightness(.92);box-shadow:0 8px 18px rgba(0,0,0,.12);transform:translateY(-1px)}
.search button:active{transform:translateY(0)}
.search button:focus-visible{outline:3px solid rgba(67,56,4,.22);outline-offset:2px}
.grid{display:grid;grid-template-columns:280px 1fr;gap:16px}
@media (max-width: 900px){ .grid{grid-template-columns:1fr} .search input{min-width:140px}}
.card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px}
.sidebar h3{margin:0 0 10px 0;color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.cat a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;color:var(--txt);background:#ffffff;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .08s ease, box-shadow .08s ease}
.cat a:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.06)}
.cat small{color:rgba(0,0,0,.55)}

.sidebar-banner{margin-top:12px}
.sidebar-banner-link{display:block;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.06);background:#ffffff}
.sidebar-banner-img{display:block;width:100%;height:auto}

.btn.disabled{opacity:.55;pointer-events:none}

.userbox{position:relative}
.userbox-trigger{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:8px 10px;cursor:pointer}
.userbox-trigger:hover{background:rgba(255,255,255,.4)}
.userbox-pop{position:absolute;right:0;top:calc(100% + 8px);width:280px; margin-top:-10px; max-width:90vw;background:var(--card);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.14);display:none;z-index:50}
.userbox.open .userbox-pop{display:block}
.userbox-title{font-weight:900;margin-bottom:8px}
.userbox-label{font-size:12px;color:rgba(0,0,0,.65)}
.userbox-divider{height:1px;background:rgba(0,0,0,.08)}
.userbox-note{font-size:12px;line-height:1.5;color:rgba(67,56,4,.78);background:rgba(255,250,241,.9);border:1px solid rgba(67,56,4,.12);border-radius:12px;padding:10px 12px}
.btn-google{background:#fff;border-color:rgba(67,56,4,.14)}
.btn-google__icon{display:inline-flex;align-items:center;justify-content:center}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width: 1000px){.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.products{grid-template-columns:1fr}}
.prod{display:flex;flex-direction:column;gap:10px}
.prod img{width:100%;aspect-ratio: 4/3;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255, 1);background:#ffffff}
.badge{display:inline-block;background:rgba(143, 103, 34, 1);border:1px solid rgba(22, 47, 9,.35);color:#FFF;padding:4px 8px;border-radius:999px;font-size:12px}
.price{font-size:18px;font-weight:800}
.muted2{color:#ffffff}
.btn3{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:12px 15px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  font-size:15px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(34, 207, 4, 1);
  color:#ffffff;
  transition:transform .08s ease, box-shadow .12s ease, filter .12s ease;
}
.btn3:hover{filter:brightness(.92);box-shadow:0 10px 24px rgba(0,0,0,.12);transform:translateY(-1px)}
.btn3:active{transform:translateY(0);box-shadow:0 6px 14px rgba(0,0,0,.10)}
.btn3:focus-visible{outline:3px solid rgba(67,56,4,.22);outline-offset:2px}

.btn2{
  height:10px;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(0,0,0,.08);
  color:var(--txt);
}

/* Base button */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.55);
  color:var(--txt);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:background .12s ease, border-color .12s ease, transform .08s ease, box-shadow .12s ease, color .12s ease;
}

/* Smaller buttons (produto: adicionar/calcular) */
.btn-sm{
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
}

/* Hover only for "neutral" buttons (prevents overriding primary/variants) */
.btn:not(.btn-primary):not(.btn-danger):not(.btn3):hover{
  background:rgba(255, 253, 242, 1);
  border-color:rgba(0,0,0,.12);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
  transform:translateY(-1px);
}
.btn:active{transform:translateY(0);box-shadow:0 6px 14px rgba(0,0,0,.06)}
.btn:focus-visible{outline:3px solid rgba(67,56,4,.22);outline-offset:2px}

/* Primary */
.btn-primary{
  background:var(--accent);
  border-color:rgba(0,0,0,.12);
  color:#fff;
}
.btn-primary:hover{filter:brightness(.92);box-shadow:0 10px 24px rgba(0,0,0,.14);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0);box-shadow:0 6px 14px rgba(0,0,0,.10)}
.btn-primary:focus-visible{outline:3px solid rgba(67,56,4,.28);outline-offset:2px}

/* Danger */
.btn-danger{
  background:rgba(255,92,92,.14);
  border-color:rgba(255,92,92,.45);
  color:#7f1d1d;
}
.btn-danger:hover{
  background:rgba(255,92,92,.22);
  border-color:rgba(255,92,92,.60);
  box-shadow:0 10px 22px rgba(255,92,92,.12);
  transform:translateY(-1px);
}
.btn-danger:active{transform:translateY(0);box-shadow:0 6px 14px rgba(255,92,92,.10)}
.btn-danger:focus-visible{outline:3px solid rgba(255,92,92,.30);outline-offset:2px}

.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.select, textarea{width:100%;background:#ffffff;border:1px solid rgba(255,255,255,.1);color:var(--txt);padding:10px 12px;border-radius:12px}
.input {width:100%;background:#ffffff;border:1px solid rgba(255,255,255,.1);color:var(--txt);padding:10px 12px;border-radius:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 600px){.form-row{grid-template-columns:1fr}}
.alert{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);margin:10px 0}
.alert.ok{border-color:rgba(76,217,100,.35);background:rgba(76,217,100,.12)}
.alert.err{border-color:rgba(255,92,92,.35);background:rgba(255,92,92,.12)}
.footer{color:var(--muted);padding:34px 0;margin-top:26px;background:rgba(255,255,255,.65);border-top:1px solid rgba(0,0,0,.06)}
.slider{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.slide{display:none}
.slide.active{display:block}
.slide img{width:100%;height:260px;object-fit:cover;display:block}
.slider .caption{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.45);padding:8px 10px;border-radius:12px}

/* Carrinho */
.cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.cart-table th:nth-child(2), .cart-table td:nth-child(2),
.cart-table th:nth-child(4), .cart-table td:nth-child(4){white-space:nowrap}
.cart-actions{display:flex;justify-content:flex-end;margin-top:10px}
.cart-box{background:rgba(255,255,255,.35)}
.frete-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(0,0,0,.08);border-radius:12px;margin-bottom:10px;background:#ffffff;cursor:pointer;transition:transform .08s ease, box-shadow .08s ease}
.frete-option:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.08)}
.frete-option.selected{border-color:rgba(76,217,100,.6);box-shadow:0 10px 18px rgba(76,217,100,.12)}
.frete-radio input{transform:scale(1.05)}
.frete-info{display:flex;align-items:center;gap:10px}
/* layout do checkout (sem o padrão antigo de flex-wrap) */
.cart-checkout{margin-top:12px;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:10px;align-items:center;justify-content:end}
@media (max-width:700px){.cart-checkout{grid-auto-flow:row;justify-content:start}}

/* Produto: compra */
.product-buy{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
@media (max-width:700px){.product-buy{grid-template-columns:1fr}}

/* Produto: formulário de frete */
.product-frete-form{display:grid;grid-template-columns:160px auto;gap:10px;align-items:center}
@media (max-width:500px){.product-frete-form{grid-template-columns:1fr auto}}

/* Auth */
.auth-shell{display:grid;gap:18px;margin:12px 0 24px}
.auth-hero{position:relative;overflow:hidden;background:linear-gradient(135deg, rgba(255,253,247,.92), rgba(254,244,232,.96));border:1px solid rgba(67,56,4,.1);border-radius:28px;padding:28px 30px;box-shadow:0 16px 40px rgba(67,56,4,.08)}
.auth-hero.has-media{background-position:center;background-size:cover;background-repeat:no-repeat;min-height:260px;display:flex;align-items:flex-end}
.auth-hero::after{content:"";position:absolute;inset:auto -40px -70px auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(67,56,4,.12), rgba(67,56,4,0));pointer-events:none}
.auth-hero--compact{padding:24px 28px}
.auth-hero__content{position:relative;z-index:1;max-width:760px}
.auth-kicker{display:inline-block;margin-bottom:12px;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(67,56,4,.72)}
.auth-hero h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.05}
.auth-hero p{margin:12px 0 0;font-size:16px;line-height:1.7;color:rgba(67,56,4,.82)}
.auth-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.auth-chip{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(67,56,4,.09);font-size:12px;font-weight:800;color:var(--accent)}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:18px;align-items:start}
.auth-layout--register{grid-template-columns:minmax(0,1.3fr) minmax(280px,.85fr)}
.auth-card{background:rgba(254,244,232,.94);border:1px solid rgba(67,56,4,.1);border-radius:28px;padding:22px;box-shadow:0 12px 32px rgba(67,56,4,.08)}
.auth-card--aside{display:grid;gap:16px}
.auth-tabs{display:inline-grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;background:rgba(247,236,214,.9);border:1px solid rgba(67,56,4,.08);border-radius:18px;margin-bottom:18px}
.auth-tab{border:none;background:transparent;color:rgba(67,56,4,.76);padding:12px 16px;border-radius:14px;font-size:14px;font-weight:900;cursor:pointer;transition:background .15s ease,color .15s ease,transform .08s ease}
.auth-tab:hover{background:rgba(255,255,255,.6)}
.auth-tab.is-active{background:var(--accent);color:#fff;box-shadow:0 12px 28px rgba(67,56,4,.2)}
.auth-panel{display:none}
.auth-panel.is-active{display:block}
.auth-panel__head{margin-bottom:18px}
.auth-panel__head h2{margin:0 0 6px;font-size:28px}
.auth-panel__head p{margin:0;color:rgba(67,56,4,.75);line-height:1.6}
.auth-flash{margin-bottom:16px;padding:13px 15px;border-radius:16px;font-size:14px;font-weight:700}
.auth-flash--ok{background:rgba(76,217,100,.12);border:1px solid rgba(76,217,100,.3)}
.auth-flash--error{background:rgba(255,92,92,.12);border:1px solid rgba(255,92,92,.28)}
.auth-flash--info{background:rgba(67,56,4,.08);border:1px solid rgba(67,56,4,.14)}
.auth-form{display:grid;gap:12px}
.auth-form--soft{padding:18px;border-radius:22px;background:rgba(255,252,247,.78);border:1px solid rgba(67,56,4,.08)}
.auth-form--disabled{opacity:.78;justify-content:center}
.auth-form--soft h3{margin:0 0 4px;font-size:18px}
.auth-label{display:block;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(67,56,4,.72)}
.auth-error{display:block;color:#a12828;font-size:12px;font-weight:700;margin-top:-4px}
.auth-form__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px}
.auth-form__actions--spread{justify-content:flex-start}
.auth-submit{min-height:46px;padding-inline:18px}
.auth-linklike{border:none;background:none;padding:0;color:var(--accent);font-weight:800;cursor:pointer}
.auth-linklike:hover{text-decoration:underline}
.auth-ghost{background:rgba(255,255,255,.82)}
.auth-divider{position:relative;display:grid;place-items:center;margin:18px 0}
.auth-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(67,56,4,.12)}
.auth-divider span{position:relative;padding:0 12px;background:rgba(254,244,232,.94);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(67,56,4,.6)}
.auth-google{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;border-radius:16px;background:#fff;color:var(--accent);border:1px solid rgba(67,56,4,.12);font-weight:900;box-shadow:0 10px 28px rgba(67,56,4,.08);transition:transform .08s ease, box-shadow .12s ease}
.auth-google:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(67,56,4,.12)}
.auth-google__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}
.auth-note{padding:14px 16px;border-radius:16px;background:rgba(255,250,241,.88);border:1px solid rgba(67,56,4,.1);font-size:13px;line-height:1.6;color:rgba(67,56,4,.82)}
.auth-note--dense{padding:12px 14px}
.auth-code{letter-spacing:.24em;text-align:center;font-size:20px;font-weight:900}
.auth-disabled-copy{margin:0;color:rgba(67,56,4,.72);line-height:1.7}
.auth-recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.auth-aside__block h2{margin:6px 0 10px;font-size:28px;line-height:1.1}
.auth-aside__block p{margin:0;color:rgba(67,56,4,.74);line-height:1.7}
.auth-aside__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.auth-benefits{display:grid;gap:12px}
.auth-benefit{display:grid;gap:4px;padding:16px 18px;border-radius:18px;background:rgba(255,252,247,.72);border:1px solid rgba(67,56,4,.08)}
.auth-benefit strong{font-size:15px}
.auth-benefit span{font-size:13px;line-height:1.6;color:rgba(67,56,4,.74)}
@media (max-width: 920px){
  .auth-layout,.auth-layout--register{grid-template-columns:1fr}
}
@media (max-width: 700px){
  .auth-hero,.auth-card{padding:20px}
  .auth-tabs{width:100%}
  .auth-tab{padding:11px 12px}
  .auth-recovery-grid{grid-template-columns:1fr}
  .auth-panel__head h2,.auth-aside__block h2{font-size:24px}
}

/* Frete com imagens (grid) */
.frete-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.frete-logo{width:38px;height:16px;object-fit:contain;flex:0 0 38px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.05))}
.frete-badge{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}
.frete-badge-price{font-weight:700}

/* Produto: abas */
.product-tabs{border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;background:#fff}
.pt-nav{display:flex;gap:6px;flex-wrap:wrap;padding:10px;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(0,0,0,.02)}
.pt-tab{appearance:none;border:1px solid rgba(0,0,0,.10);background:#fff;padding:8px 10px;border-radius:999px;font-weight:700;font-size:13px;cursor:pointer}
.pt-tab.is-active{border-color:rgba(0,0,0,.22);box-shadow:0 10px 18px rgba(0,0,0,.06)}
.pt-panel{display:none;padding:12px}
.pt-panel.is-active{display:block}

/* Galeria: suporte a vídeo */
.pg-media{width:100%}
.pg-iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:16px;background:#000}
.pg-video{width:100%;border-radius:16px;background:#000}
.pg-thumb-video{position:relative;width:56px;height:56px;border-radius:12px;display:block;overflow:hidden;border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.04)}
.pg-thumb-video img{width:100%;height:100%;object-fit:cover;display:block}
.pg-thumb-video .pg-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.32));color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
@media (max-width:700px){
  .cart-table thead{display:none}
  .cart-table, .cart-table tbody, .cart-table tr, .cart-table td{display:block;width:100%}
  .cart-table tr{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:10px;margin-bottom:10px;background:#ffffff}
  .cart-table td{border:none;padding:6px 0}
  .cart-table td:last-child{padding-top:10px}
}


/* Checkout steps */
.steps{display:flex;align-items:center;gap:10px;margin:0 0 14px 0;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:#fff;text-decoration:none;color:inherit}
.step .num{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid rgba(0,0,0,.12);background:#f4f4f4}
.step.active{border-color:rgba(0,0,0,.18);box-shadow:0 10px 18px rgba(0,0,0,.06)}
.step.done .num{background:rgba(76,217,100,.14);border-color:rgba(76,217,100,.35)}
.line{flex:1;min-width:20px;height:2px;background:rgba(0,0,0,.08);border-radius:999px}
.line.done{background:rgba(76,217,100,.35)}
@media (max-width:700px){.line{display:none}}

/* Payment choose */
.pay-methods{display:flex;flex-direction:column;gap:12px}
.pay-choose{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pay-radio{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;cursor:pointer}
.pay-radio input{transform:scale(1.05)}
.card-pay{padding:12px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff}


/* Minha Conta */
.account-layout{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}
.account-sidebar{padding:12px;position:sticky;top:88px}
.account-nav{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.06);background:#fff;margin-bottom:10px}
.account-nav:hover{border-color:rgba(0,0,0,.12)}
.account-nav.active{border-color:rgba(34,197,94,.35);box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.account-content{padding:14px}
@media (max-width: 900px){
  .account-layout{grid-template-columns:1fr}
  .account-sidebar{position:relative;top:auto}
}


/* Home hero full width */
.home-hero{margin-bottom:16px}
.slider--full{width:100%}
.slider--full .slide img{height:320px}
@media (max-width: 900px){ .slider--full .slide img{height:220px} }

/* Categorias accordion */
.cat--accordion{display:flex;flex-direction:column;gap:3px}
.cat-item{display:flex;flex-direction:column;gap:3px}
.cat-link, .cat-toggle{display:flex;align-items:center;justify-content:space-between;gap:0px;padding:10px 12px;border-radius:14px;color:var(--txt);background:#ffffff;border:1px dashed rgba(0,0,0,.12);box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .08s ease, box-shadow .08s ease}
.cat-toggle{cursor:pointer;width:100%;text-align:left}
.cat-link:hover, .cat-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.06)}
.cat-chevron{color:rgba(0,0,0,.55);font-size:14px}
.cat-sub{padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.0);}
.cat-sub a{display:block;padding:8px 10px;border-radius:12px;color:rgba(0,0,0,.82)}
.cat-sub a:hover{background:rgba(0,0,0,.04)}
.cat-sub-all{font-weight:700}

/* Best sellers */
.best-sellers{margin-top:14px}
.best-sellers h4{margin:0 0 10px 0;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.best-seller-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.06);margin-bottom:8px}
.best-seller-item:hover{box-shadow:0 6px 14px rgba(0,0,0,.06);transform:translateY(-1px)}
.best-seller-img{width:46px;height:46px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.best-seller-title{font-size:13px;font-weight:800;line-height:1.2}
.best-seller-price{font-size:12px;color:rgba(0,0,0,.72)}

.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px;align-items:start}
.footer-title{font-weight:900;color:rgba(0,0,0,.8);margin-bottom:8px}
.footer-text{color:rgba(0,0,0,.65);max-width:340px}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.footer-links a{color:rgba(0,0,0,.68)}
.footer-links a:hover{color:rgba(0,0,0,.9)}
@media (max-width: 900px){ .footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width: 560px){ .footer-grid{grid-template-columns:1fr;}}



/* ===== HOME PRODUTOS (3 colunas / 4 linhas) ===== */
.product-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
  width:100%;
  max-width:100%;
}
@media (max-width: 980px){
  .product-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px){
  .product-grid{ grid-template-columns:1fr; }
}
.product-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-card--luxury,
.prod.product-card--luxury{
  background:linear-gradient(180deg, #f7efe4 0%, #f4eadf 100%);
  border-radius:24px;
  border:1px solid rgba(126, 95, 55, .10);
  box-shadow:0 20px 40px rgba(87, 57, 24, .12), inset 0 1px 0 rgba(255,255,255,.72), inset 0 -10px 24px rgba(109, 79, 44, .05);
  padding:7px 7px 7px;
}
.product-card--luxury:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 50px rgba(87, 57, 24, .16), inset 0 1px 0 rgba(255,255,255,.75), inset 0 -10px 24px rgba(109,79,44,.06);
}
.product-badge-premium{
  position:absolute;
  top:14px;
  left:14px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(135deg, #8f6a33 0%, #d8ba78 100%);
  color:#fff8e9;
  box-shadow:0 10px 24px rgba(109,79,44,.16);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.product-media--luxury{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:178px;
  padding:14px 12px 20px;
  text-decoration:none;
}
.product-media--luxury::before{
  content:"";
  position:absolute;
  inset:8px 10px 18px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(249,244,238,.96) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 12px 24px rgba(96, 68, 39, .08);
}
.product-media-glow{
  position:absolute;
  inset:8% 14% 26%;
  border-radius:50%;
  background:radial-gradient(circle at top left, rgba(255,255,255,.95), rgba(255,255,255,.2) 45%, rgba(213,180,132,.12) 70%, transparent 100%);
  pointer-events:none;
}
.product-media--luxury img {
  position: relative;
border-radius:5%;
  z-index: 1;
max-height:200px;
  /* Altera para ocupar 100% da largura e altura do container */
  width: 100%;
  height: 100%; 
  

  
  /* 'cover' faz a imagem preencher tudo sem sobrar espaços brancos, 
     cortando as bordas se necessário. Se quiser ver a imagem inteira 
     mesmo que sobre espaço, mantenha 'contain' */
  object-fit: cover; 
  
  display: block;
  filter: drop-shadow(8px 12px 14px rgba(82, 54, 27, .14));
  transition: transform .35s ease;
}
.product-card:hover .product-media--luxury img{ transform:translateY(-2px) scale(1.03); }
.product-reflection{
  position:absolute;
  left:24%;
  right:24%;
  bottom:10px;
  height:14px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(130, 97, 61, .18) 0%, rgba(130, 97, 61, .08) 45%, rgba(130, 97, 61, 0) 75%);
  filter:blur(6px);
  pointer-events:none;
}
.badge-promo{ display:none; }
.price-old{
  font-weight:600;
  font-size:12px;
  opacity:.55;
  text-decoration:line-through;
  white-space:nowrap;
}
.price-new{ font-weight:800; white-space:nowrap; font-size:30px; color:#b48a4a; }
.prod .prod-media img{ border-radius:0; }
.product-body{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.product-body--luxury{ padding:0 4px 4px; }
.product-title{
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.product-title--luxury{
  color:#2f2118;
  text-align:center;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size:20px;
  line-height:1.16;
  letter-spacing:.01em;
  min-height:48px;
}
.product-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#7a5d34;
  font-size:13px;
}
.product-rating-stars{ color:#caa55f; letter-spacing:.18em; font-size:14px; }
.product-rating-text{ color:#6e5540; font-weight:600; }
.product-price-stack{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.price--luxury{
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size:24px;
  font-weight:700;
  color:#b48a4a;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  flex-wrap:wrap;
}
.price--luxury-single{ color:#b48a4a; }
.product-installments{
  text-align:center;
  color:#7a695b;
  font-size:13px;
}
.product-actions{ margin-top:4px; }
.product-actions--luxury .btn-action{ width:100%; }
.loadmore-wrap{ display:flex; justify-content:center; }
.btn-ghost{ background:transparent; border:1px solid rgba(0,0,0,.12); }
.btn-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:none;
  color:#fff8ee;
  padding:9px 16px;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
  font-size:14px;
  line-height:1.3;
  letter-spacing:.02em;
  transition:all .22s ease;
  text-decoration:none;
  white-space:nowrap;
}
.btn-action--luxury{
  min-height:44px;
  background:linear-gradient(135deg, #8d6938 0%, #d4b170 100%);
  box-shadow:0 14px 24px rgba(105, 76, 40, .18), inset 0 1px 0 rgba(255,255,255,.28);
}
.btn-action:hover {
  transform:translateY(-1px);
  box-shadow:0 18px 28px rgba(105, 76, 40, .22), inset 0 1px 0 rgba(255,255,255,.34);
}
.btn-action:active {
  transform:translateY(0);
  box-shadow:0 10px 18px rgba(105, 76, 40, .18);
}
.btn-action:focus {
  outline:none;
  box-shadow:0 0 0 3px rgba(212,177,112,.22), 0 16px 28px rgba(105,76,40,.20);
}
.product-info-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
  white-space:nowrap;
  padding-top:2px;
  color:#6f5847;
  font-size:12px;
}
.product-info-row span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.product-info-row .shipping-icon{
  width:14px;
  height:14px;
  display:inline-block;
  color:#b48a4a;
  flex:0 0 14px;
}
@media (max-width: 420px){
  .product-info-row{font-size:11px;gap:8px;}
}
.btn-action .icon {
  width: 16px;
  height: 16px;
  fill: white;
  filter: brightness(0) invert(1); /* Garante que fique 100% branco */
}

/* Ou usando pseudo-elemento com emoji/ícone unicode */
.btn-action.with-icon::after {
  content: '→';
  color: white;
  font-size: 14px;
  opacity: 0.9;
  margin-left: 4px;
}

/* Versão com ícone de carrinho */
.btn-action.cart-icon::after {
  content: '🛒';
  font-size: 15px;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

/* Versão outline (mais discreta) */
.btn-action.outline {
  background: transparent;
  border: 1.5px solid rgba(143, 103, 34, 0.6);
  color: rgba(143, 103, 34, 0.9);
}

.btn-action.outline:hover {
  background: rgba(143, 103, 34, 0.08);
  color: rgba(143, 103, 34, 1);
  border-color: rgba(143, 103, 34, 0.8);
}

.btn-action.outline .icon {
  fill: rgba(143, 103, 34, 0.9);
}

.btn-action.outline:hover .icon {
  fill: rgba(143, 103, 34, 1);
}

/* Versão pequena */
.btn-action.small {
  padding: 8px 14px;
  font-size: 13px;
  border-radius: 8px;
  gap: 6px;
}

.btn-action.small .icon {
  width: 14px;
  height: 14px;
}

/* Versão mínima */
.btn-action.minimal {
  background: rgba(143, 103, 34, 0.1);
  border: 1px solid rgba(143, 103, 34, 0.2);
  color: rgba(143, 103, 34, 0.9);
  padding: 8px 12px;
  font-weight: 500;
}

.btn-action.minimal:hover {
  background: rgba(143, 103, 34, 0.15);
  border-color: rgba(143, 103, 34, 0.3);
  color: rgba(143, 103, 34, 1);
  box-shadow: none;
  transform: none;
}
/* ============================
   Página do Produto: Galeria profissional (navegação + zoom)
   ============================ */
.product-gallery { padding: 14px; }
.pg-main{
  position: relative;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}
.pg-image{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #fff;
  cursor: zoom-in;
}
@media (max-width: 720px){
  .pg-image{ height: 320px; }
}
.pg-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 22px rgba(0,0,0,.10);
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 22px;
  line-height: 1;
}
.pg-prev{ left: 12px; }
.pg-next{ right: 12px; }
.pg-nav:active{ transform: translateY(-50%) scale(.98); }
.pg-hint{
  position: absolute;
  left: 12px;
  bottom: 12px;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
}

.pg-thumbs{
  display: flex;
  gap: 10px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.pg-thumb{
  width: 72px;
  height: 56px;
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  cursor: pointer;
  opacity: .86;
}
.pg-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.pg-thumb.is-active{
  outline: 2px solid rgba(0,0,0,.6);
  opacity: 1;
}

/* Zoom modal */
.pg-zoom{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}
.pg-zoom.is-open{ display:block; }
.pg-zoom-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
}
.pg-zoom-content{
  position: relative;
  width: min(980px, calc(100vw - 24px));
  height: min(720px, calc(100vh - 24px));
  margin: 12px auto;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  display:flex;
  flex-direction: column;
}
.pg-zoom-close{
  position:absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.95);
  cursor: pointer;
  font-size: 22px;
}
.pg-zoom-toolbar{
  padding: 10px 12px;
  display:flex;
  gap: 8px;
  justify-content:center;
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}
.pg-zoom-btn{
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  border-radius: 12px;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 700;
}
.pg-zoom-stage{
  position: relative;
  flex: 1;
  overflow: hidden;
  background: #0b0b0b;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pg-zoom-image{
  max-width: 100%;
  max-height: 100%;
  transform-origin: center center;
  cursor: grab;
  user-select: none;
}
.pg-zoom-image:active{ cursor: grabbing; }

/* Zoom: vídeo (iframe/mp4) */
.pg-zoom-iframe,
.pg-zoom-video{
  width: min(1100px, 100%);
  height: min(70vh, 620px);
  border: 0;
  border-radius: 14px;
  background: #000;
  display: none;
}
.pg-zoom-video{object-fit: contain;}

.pg-zoom.is-video .pg-zoom-toolbar{display:none;}
.pg-zoom.is-video .pg-zoom-stage{padding: 14px; overflow: auto;}


/* ===== Minha conta: acompanhamento + chat ===== */
.stepper { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.stepper .step { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:14px; border:1px solid rgba(67,56,4,.10); background:#ffffff; }
.stepper .step .dot { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#fff8db; border:1px solid rgba(67,56,4,.10); font-size:18px; flex:0 0 40px; }
.stepper .step.done { opacity: .92; }
.stepper .step.active { box-shadow: 0 10px 26px rgba(0,0,0,.06); border-color: rgba(67,56,4,.18); }
.stepper .step .t { font-weight:800; color:#433804; }
.stepper .step .m { font-size:13px; opacity:.82; margin-top:2px; }

.track-box { display:flex; gap:12px; align-items:center; padding:12px; border-radius:14px; background:#fff8db; border:1px solid rgba(67,56,4,.12); }
.track-img { width:96px; height:72px; object-fit:cover; border-radius:12px; border:1px solid rgba(67,56,4,.12); background:#ffffff; }

.link-muted { background:transparent; border:none; color:#433804; opacity:.8; cursor:pointer; font-size:13px; padding:0; }
.link-muted:hover { opacity:1; text-decoration:underline; }

.hide { display:none; }

.chat { display:flex; flex-direction:column; gap:10px; padding:10px; background:#ffffff; border-radius:14px; border:1px solid rgba(67,56,4,.12); }
.chat-row { display:flex; }
.chat-row.cliente { justify-content:flex-start; }
.chat-row.admin { justify-content:flex-end; }
.chat-bubble { max-width: 78%; background:#fff8db; border:1px solid rgba(67,56,4,.12); border-radius:14px; padding:10px 12px; }
.chat-row.admin .chat-bubble { background:#f7ecd6; }
.chat-meta { font-size:12px; opacity:.75; margin-bottom:4px; }


/* ===== Acompanhamento do pedido (horizontal + modal) ===== */
.track-steps{
  display:flex;
  align-items:stretch;
  gap:8px;
  margin-top:14px;
  flex-wrap:nowrap; /* sempre na mesma linha */
  overflow-x:auto;  /* se não couber, permite arrastar */
  -webkit-overflow-scrolling: touch;
  padding-bottom:6px;
}
.track-steps::-webkit-scrollbar{ height:8px; }
.track-steps::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.12); border-radius:99px; }

.track-step{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:14px;
  padding:8px 10px;
  cursor:pointer;
  white-space:nowrap;
  transition: transform .12s ease, box-shadow .12s ease;
}

.track-step:hover{ transform: translateY(-1px); box-shadow:0 8px 20px rgba(0,0,0,.06); }
.track-step.locked,
.track-step:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}
.track-step.locked:hover,
.track-step:disabled:hover{ box-shadow:none; transform:none; }
.track-dot{
  width:28px;height:28px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;
  background:#fff8db;
  border:1px solid rgba(0,0,0,.08);
}
.track-label{ font-weight:700; font-size:12px; }
.track-line{
  flex:1 1 40px;
  height:3px;
  border-radius:999px;
  background:rgba(0,0,0,.12);
  min-width:30px;
  margin-top:22px;
}
.track-step.done{
  border-color: rgba(67,56,4,.35);
  background:#ffffff;
}
.track-step.done .track-dot{
  background:#e9f7e7;
  border-color: rgba(22,130,32,.25);
}
.track-line.done{ background: rgba(22,130,32,.55); }
.track-step.active{
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  border-color: rgba(22,130,32,.35);
}
.modal-backdrop{
  position:fixed; inset:0;
  background: rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:9999;
}
.modal-card{
  width:min(640px, 100%);
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  overflow:hidden;
}
.modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.08);
  background:#fff8db;
}
.modal-title{ font-weight:800; font-size:18px; color:#433804; }
.modal-sub{ font-size:13px; opacity:.75; }
.modal-close{
  border:0;background:transparent;cursor:pointer;
  font-size:18px;line-height:1;
  padding:6px 8px;border-radius:10px;
}
.modal-close:hover{ background: rgba(0,0,0,.06); }
.modal-body{ padding:16px; }

/* ===== Minha conta: visual refinado ===== */
.account-shell__head{
  padding:22px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) auto;
  gap:18px;
  align-items:start;
  background:linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.45));
  border:1px solid rgba(67,56,4,.08);
}
.account-shell__intro{display:grid;gap:8px;min-width:0}
.account-shell__eyebrow,
.account-section-head__eyebrow,
.account-block-head__eyebrow,
.account-order-hero__meta{
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(67,56,4,.72);
}
.account-shell__title,
.account-section-head__title,
.account-block-head__title{
  margin:0;
  color:#433804;
}
.account-shell__title{font-size:34px;line-height:1.02}
.account-shell__text{margin:0;max-width:700px;color:rgba(67,56,4,.74);line-height:1.6}
.account-shell__metrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, auto));
  gap:10px;
  align-items:stretch;
}
.account-shell__metric{
  min-width:110px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(67,56,4,.10);
  display:grid;
  gap:4px;
}
.account-shell__metric-value{font-size:24px;font-weight:900;color:#433804;line-height:1}
.account-shell__metric-label{font-size:13px;color:rgba(67,56,4,.68)}
.account-shell__logout{
  min-height:100%;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.account-shell__alert{grid-column:1 / -1}

.account-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.account-sidebar{
  padding:16px;
  position:sticky;
  top:88px;
  border:1px solid rgba(67,56,4,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62));
}
.account-sidebar__title{
  margin-bottom:12px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(67,56,4,.66);
}
.account-nav{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 15px;
  border-radius:18px;
  text-decoration:none;
  color:#433804;
  border:1px solid rgba(67,56,4,.08);
  background:rgba(255,255,255,.72);
  margin-bottom:10px;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease, background .14s ease;
}
.account-nav:hover{
  border-color:rgba(67,56,4,.18);
  box-shadow:0 12px 24px rgba(67,56,4,.08);
  transform:translateY(-1px);
}
.account-nav.active{
  color:#ffffff;
  background:#433804;
  border-color:#433804;
  box-shadow:0 16px 28px rgba(67,56,4,.18);
}
.account-nav.active .account-icon{color:#ffffff}
.account-sidebar__tip{
  margin-top:16px;
  padding:14px;
  border-radius:18px;
  background:#f7ecd6;
  border:1px solid rgba(67,56,4,.10);
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  color:rgba(67,56,4,.74);
  line-height:1.55;
  font-size:13px;
}
.account-content{
  padding:18px;
  border:1px solid rgba(67,56,4,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.64));
}
.account-overview-hero{
  margin-top:8px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(67,56,4,.08);
  background:linear-gradient(135deg, rgba(247,236,214,.96), rgba(255,255,255,.88));
  min-height:220px;
}
.account-overview-hero__image{
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
}
.account-overview-hero__fallback{
  min-height:220px;
  padding:28px;
  display:grid;
  align-content:center;
  gap:12px;
}
.account-overview-hero__fallback h4{
  margin:0;
  font-size:34px;
  line-height:1.02;
  color:#433804;
}
.account-overview-hero__fallback p{
  margin:0;
  max-width:650px;
  color:rgba(67,56,4,.72);
  line-height:1.6;
}
.account-overview-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.account-overview-card{
  padding:18px;
  display:grid;
  gap:10px;
  border-radius:24px;
  text-decoration:none;
  color:#433804;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(67,56,4,.08);
  box-shadow:0 16px 32px rgba(67,56,4,.05);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.account-overview-card:hover{
  transform:translateY(-2px);
  border-color:rgba(67,56,4,.16);
  box-shadow:0 22px 36px rgba(67,56,4,.09);
}
.account-overview-card__icon{
  width:48px;height:48px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:#433804;background:#f7ecd6;border:1px solid rgba(67,56,4,.10);
}
.account-overview-card__icon svg{width:22px;height:22px;fill:currentColor}
.account-overview-card__title{font-size:20px;font-weight:900}
.account-overview-card__text{color:rgba(67,56,4,.68);line-height:1.55}
.account-overview-card__meta{font-size:13px;font-weight:800;color:rgba(67,56,4,.74)}
.account-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.account-icon svg{width:18px;height:18px;fill:currentColor}

.account-section-head,
.account-block-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.account-section-head--tight{margin-bottom:12px}
.account-section-head__badge{
  padding:10px 14px;
  border-radius:999px;
  background:#f7ecd6;
  border:1px solid rgba(67,56,4,.10);
  color:#433804;
  font-weight:800;
  font-size:13px;
}

.account-form-card,
.account-panel,
.account-track-card,
.account-info-card,
.account-support__panel{
  margin-top:16px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(67,56,4,.08);
  box-shadow:0 16px 38px rgba(67,56,4,.05);
}
.account-form-card__actions,
.account-support__actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.account-address-grid{display:grid;gap:14px;margin-top:14px}
.account-address-item{display:grid;gap:10px}
.account-address-card{
  margin:0;
  padding:16px 18px;
  border-radius:22px;
  border:1px solid rgba(67,56,4,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(247,236,214,.55));
}
.account-address-card__main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
}
.account-address-card__content{
  min-width:0;
  display:grid;
  gap:10px;
}
.account-address-card__top{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.account-address-card__icon{
  width:42px;height:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:#433804;background:#f7ecd6;border:1px solid rgba(67,56,4,.10);
}
.account-address-card__icon svg{width:20px;height:20px;fill:currentColor}
.account-address-card__title{font-size:18px;font-weight:800;color:#433804;line-height:1.25}
.account-address-card__meta{margin-top:4px;color:rgba(67,56,4,.68)}
.account-address-card__chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.account-address-card__details{
  display:flex;
  gap:10px 14px;
  flex-wrap:wrap;
  color:rgba(67,56,4,.72);
  font-size:13px;
  align-items:center;
}
.account-address-card__actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  min-width:150px;
  margin-left:auto;
  justify-self:end;
  align-self:center;
}
.account-inline-form{display:inline-flex}
.account-icon-btn{
  width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:14px;
  background:#fff;
  color:#433804;
  border:1px solid rgba(67,56,4,.12);
  box-shadow:0 10px 18px rgba(67,56,4,.06);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.account-icon-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(67,56,4,.22);
  box-shadow:0 14px 24px rgba(67,56,4,.10);
}
.account-icon-btn.is-danger{color:#b42318;border-color:rgba(180,35,24,.18);background:#fff6f5}
.account-icon-btn .account-icon svg{width:18px;height:18px}
.account-address-edit{margin-top:10px;padding:16px;border-radius:20px}
.account-address-edit__footer{
  margin-top:12px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:space-between;
}
.account-checkbox{display:inline-flex;gap:8px;align-items:center;margin:0;color:#433804;font-weight:700}

.account-order-detail{margin-top:14px;padding:18px;border-radius:26px}
.account-order-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}
.account-order-hero__title{
  margin:6px 0 0;
  font-size:28px;
  line-height:1.08;
  color:#433804;
}
.account-order-hero__line{
  margin-top:12px;
  display:flex;
  gap:10px 12px;
  flex-wrap:wrap;
  color:rgba(67,56,4,.72);
  font-size:14px;
}
.account-order-hero__side{
  min-width:170px;
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(67,56,4,.10);
  text-align:right;
}
.account-order-hero__side-label{display:block;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(67,56,4,.58)}
.account-order-hero__total{display:block;margin-top:6px;font-size:28px;line-height:1;color:#433804;white-space:nowrap}
.account-order-callout{
  margin-top:16px;
  padding:14px 16px;
  border-radius:20px;
  background:#fff8db;
  border:1px solid rgba(67,56,4,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.account-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid transparent;
}
.account-status-pill.is-pending{background:#eef3ff;color:#2452b6;border-color:rgba(36,82,182,.12)}
.account-status-pill.is-paid{background:#eaf8ef;color:#157347;border-color:rgba(21,115,71,.12)}
.account-status-pill.is-progress{background:#fff5e4;color:#a25c00;border-color:rgba(162,92,0,.12)}
.account-status-pill.is-shipped{background:#edf7ff;color:#0b66a6;border-color:rgba(11,102,166,.12)}
.account-status-pill.is-delivered{background:#e8f7ef;color:#0b7a48;border-color:rgba(11,122,72,.12)}
.account-status-pill.is-canceled{background:#fff0ef;color:#b42318;border-color:rgba(180,35,24,.12)}
.account-status-pill.is-neutral{background:#f5f3ec;color:#6e6240;border-color:rgba(67,56,4,.10)}

.track-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(155px, 1fr));
  align-items:stretch;
  gap:10px;
  margin-top:12px;
  overflow:visible;
  padding:2px 0 0;
}
.track-step{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:center;
  gap:12px;
  border:1px solid rgba(67,56,4,.10);
  background:#fff;
  border-radius:20px;
  padding:14px 16px;
  box-sizing:border-box;
}
.track-dot{
  width:40px;height:40px;
  flex:0 0 40px;
  border-radius:14px;
  background:#f7ecd6;
  border:1px solid rgba(67,56,4,.10);
  font-size:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.track-copy{
  min-width:0;
  display:grid;
  gap:4px;
  text-align:left;
  padding-right:12px;
}
.track-label{
  font-size:12px;
  font-weight:900;
  color:#433804;
  line-height:1.08;
  white-space:nowrap;
  word-break:keep-all;
}
.track-state{
  font-size:10px;
  color:rgba(67,56,4,.62);
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  line-height:1.08;
  white-space:normal;
}
.track-line{
  display:none;
}
.track-step.done .track-dot{background:#eaf8ef;border-color:rgba(21,115,71,.18)}
.track-step.active{
  border-color:#433804;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,236,214,.72));
  box-shadow:0 18px 30px rgba(67,56,4,.10);
}
.track-step.active .track-dot{background:#433804;color:#fff8e7;border-color:#433804}
.track-step.active .track-label,
.track-step.active .track-state{color:#433804}

.track-box{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border-radius:20px;
}
.track-img{width:96px;height:78px;border-radius:16px}

.account-support{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(67,56,4,.10);
}
.account-block-head--actions-only{
  justify-content:flex-end;
  align-items:center;
}
.account-support__panel{
  margin-top:12px;
  padding:16px;
}
.account-support__reply{margin-top:14px;display:grid;gap:10px}
.account-support__reply-meta,
.account-support__reply-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.account-order-columns{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.account-panel{margin-top:16px}
.account-history-list{display:grid;gap:10px}
.account-history-item{margin:0;padding:14px;border-radius:18px}
.account-order-product{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.account-order-product__thumb{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(67,56,4,.10);
  background:linear-gradient(180deg, #f7ecd6, #efe3cd);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8a6b30;
  font-size:18px;
  font-weight:900;
  text-transform:uppercase;
}
.account-order-product__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.account-order-product__name{
  min-width:0;
  line-height:1.4;
}

.account-table{
  margin-top:0;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0 10px;
}
.account-table thead th{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(67,56,4,.62);
  padding:0 14px 8px;
  border:none;
}
.account-table tbody tr td{
  background:rgba(255,255,255,.82);
  border-top:1px solid rgba(67,56,4,.08);
  border-bottom:1px solid rgba(67,56,4,.08);
  padding:14px;
  vertical-align:middle;
}
.account-table tbody tr td:first-child{
  border-left:1px solid rgba(67,56,4,.08);
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}
.account-table tbody tr td:last-child{
  border-right:1px solid rgba(67,56,4,.08);
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}
.account-table__actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.account-table__actions .btn{display:inline-flex;gap:8px;align-items:center}
.account-table__money,
.account-table--orders thead th:nth-child(4){
  white-space:nowrap;
}
.account-orders-filter{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.account-orders-filter__chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(67,56,4,.12);
  background:rgba(255,255,255,.78);
  color:#433804;
  font-weight:800;
  cursor:pointer;
  transition:background .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.account-orders-filter__chip strong{font-weight:900}
.account-orders-filter__chip:hover,
.account-orders-filter__chip.is-active{
  background:#433804;
  color:#ffffff;
  border-color:#433804;
  box-shadow:0 14px 28px rgba(67,56,4,.16);
}

.chat--support{
  max-height:46vh;
  overflow:auto;
  padding:14px;
  border-radius:20px;
  background:#fffdf7;
}
.chat-bubble{border-radius:18px;padding:12px 14px;box-shadow:0 8px 16px rgba(67,56,4,.04)}
.chat-attachment{margin-top:10px}
.chat-attachment img{
  display:block;
  max-width:260px;
  border-radius:14px;
  border:1px solid rgba(67,56,4,.10);
}

.modal-backdrop{
  background:rgba(50,38,8,.42);
  backdrop-filter:blur(6px);
}
.modal-card{
  width:min(680px, 100%);
  border-radius:24px;
  border:1px solid rgba(67,56,4,.10);
  background:#fffdf8;
}
.modal-card--timeline{width:min(620px, 100%)}
.modal-card--support{
  width:min(1080px, calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  display:flex;
  flex-direction:column;
}
.modal-card--support .modal-body{
  overflow:auto;
  max-height:calc(100vh - 150px);
}
.modal-head{
  padding:18px 20px;
  background:#f7ecd6;
  border-bottom:1px solid rgba(67,56,4,.10);
}
.modal-title{font-size:22px}
.modal-sub{margin-top:4px;color:rgba(67,56,4,.68)}
.modal-body{padding:18px}

@media (max-width: 980px){
  .account-shell__head,
  .account-layout,
  .account-order-hero,
  .account-order-columns,
  .account-overview-grid,
  .account-address-card__main{grid-template-columns:1fr}
  .account-shell__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-sidebar{position:relative;top:auto}
  .account-address-card__actions{justify-content:flex-start}
  .account-order-hero__side{text-align:left}
}
@media (max-width: 700px){
  .account-shell__title{font-size:28px}
  .account-shell__metrics{grid-template-columns:1fr}
  .account-overview-hero__image{height:200px}
  .account-overview-hero__fallback{padding:22px}
  .account-overview-hero__fallback h4{font-size:28px}
  .account-content,
  .account-form-card,
  .account-panel,
  .account-track-card,
  .account-info-card,
  .account-support__panel,
  .account-order-detail{padding:16px}
  .account-address-card{padding:14px}
  .account-address-card__top{grid-template-columns:40px minmax(0,1fr)}
  .account-address-card__chips{grid-column:1 / -1;justify-content:flex-start}
  .account-table{display:block;overflow-x:auto}
  .account-table__actions{justify-content:flex-start}
  .account-address-card__actions{justify-content:flex-start;min-width:0;margin-left:0}
}
@media (max-width: 860px){
  .track-steps{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width: 520px){
  .track-steps{grid-template-columns:1fr}
}


/* -----------------------------
   FOOTER (modelo Lumi Velas)
------------------------------ */
.site-footer{
  margin-top:0px;
  background:#f7efe9;
  padding: 24px 0 0;
}

.site-footer .footer-card{
  max-width: 1075px;
  margin: 0 auto;
  background: #f9f4f0;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  overflow: hidden;
}

/* Faixa de benefícios (topo) */
.footer-benefits{
  background:#f5eee8;
  padding: 22px 0;
  border-bottom: 1px solid #e6d7ca;
}

.footer-benefits .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}

.benefit-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:#8b6a4f;
  font-size:14px;
  white-space: nowrap;
}

.benefit-item img{
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.benefit-link{
  color: inherit;
  text-decoration: none;
}

.benefit-link:hover{opacity:.9}

.benefit-sep{
  width:1px;
  height:26px;
  background:#e0d1c3;
  flex: 0 0 1px;
}

/* Conteúdo principal */
.footer-main{
  padding: 28px 0 18px;
  background:#f9f4f0;
}

.footer-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.footer-col{
  padding: 0 24px;
}

.footer-col:not(:first-child){
  border-left: 1px solid #e6d7ca;
}

.footer-col h4{
  margin: 0 0 12px;
  color:#6b4f3b;
  font-size: 16px;
  font-weight: 700;
}

.footer-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:#7a6655;
  font-size:14px;
  margin: 0 0 10px;
  text-decoration:none;
}

.footer-item:hover{opacity:.92}

.footer-ico{
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex: 0 0 18px;
}

/* Rodapé inferior */
.footer-bottom{
  text-align:center;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e6d7ca;
  font-size:13px;
  color:#8b7a6b;
}

/* Responsivo */
@media(max-width: 900px){
  .footer-benefits .container{
    justify-content:center;
    flex-wrap: wrap;
  }
  .benefit-item{white-space: normal}
  .benefit-sep{display:none}
  .footer-grid{grid-template-columns: 1fr 1fr}
  .footer-col:nth-child(3){border-left:none}
  .footer-col{padding: 0 18px 18px}
}

@media(max-width: 520px){
  .site-footer{padding: 18px 0 0}
  .footer-grid{grid-template-columns: 1fr}
  .footer-col{border-left:none !important;padding: 0 18px 18px}
}


/* Carrinho - layout compacto (como mock) */
.cart-bottom-grid{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:14px;
  margin-top:14px;
}
@media (max-width: 900px){
  .cart-bottom-grid{grid-template-columns:1fr;}
}

/* Frete no carrinho (escopo: form[data-frete-form]) */
form[data-frete-form] .frete-options{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:stretch;
}
form[data-frete-form] .frete-options .frete-option{
  flex:0 0 190px;
  max-width:190px;
  margin-bottom:0;
  padding:10px;
  flex-direction:column;
  align-items:flex-start;
}
form[data-frete-form] .frete-options .frete-radio{align-self:flex-start}
form[data-frete-form] .frete-options .frete-info{display:flex;flex-direction:column;gap:6px;width:100%}
form[data-frete-form] .frete-options .frete-logo{width:90px;height:32px;object-fit:contain;display:block}



/* ============================
   Página do produto — visual inspirado na referência
   ============================ */
.product-page{
  grid-template-columns:minmax(220px, 250px) minmax(0, 1.5fr);
  align-items:start;
  gap:22px;
}
.product-page-main{display:flex;flex-direction:column;gap:18px}
.product-gallery-card,
.product-summary-card,
.product-description-card,
.freight-card{
  background:#f6f2eb;
  border:1px solid rgba(67,56,4,.08);
  border-radius:26px;
  box-shadow:0 8px 24px rgba(67,56,4,.05);
}
.product-gallery-card{padding:18px}
.product-summary-card{padding:22px 24px}
.product-description-card,
.freight-card{padding:18px 22px}
.product-gallery{padding:0}
.product-title{
  margin:0;
  font-size:clamp(1.2rem, 1.2vw, 1rem);
  line-height:1.05;
  color:#342505;
text-align: center;
  font-weight:900;
}
.product-summary-head{display:flex;flex-direction:column;gap:16px}
.product-price-row{display:flex;align-items:center;gap:14px;justify-content: center;}
.price-compare{font-size:14px;color:rgba(67,56,4,.72);margin-bottom:4px}
.product-price{
  font-size:clamp(1.5rem, 2vw, 1.8rem);
  line-height:1;
  color:#b07a0f;
  font-weight:900;
}
.stock-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  font-weight:800;
  font-size:14px;
  background:#e6f2df;
  color:#237746;
}
.stock-badge.is-out{background:#f8e2e2;color:#9a2c2c}
.stock-dot{width:10px;height:10px;border-radius:999px;background:currentColor;box-shadow:0 0 0 5px rgba(255,255,255,.55) inset}
.product-summary-divider{height:1px;background:rgba(67,56,4,.10);margin:18px 0}
.product-buy-box{display:flex;flex-direction:column;gap:16px}
.product-buy-form{display:flex;flex-direction:column;gap:16px}

.product-buy-grid-single{grid-template-columns:minmax(0,260px)}
.field-block{display:flex;flex-direction:column;gap:8px; align-items: center;}
.field-label{font-size:14px;font-weight:800;color:#4b3912}
.product-select,
.freight-input{
  min-height:54px;
  background:#fff;
  border:1px solid rgba(67,56,4,.08);
  border-radius:18px;
  padding:0 18px;
  font-size:15px;
  box-shadow:0 2px 0 rgba(67,56,4,.02) inset;
}
.product-cart-btn{
  width:50%;
  min-height:58px;
  border:none;
  border-radius:18px;
  font-size:18px;
  font-weight:800;
  background:linear-gradient(90deg,#6f5200 0%, #9c7106 50%, #6f5200 100%);
  color:#fff;
  box-shadow:0 14px 26px rgba(111,82,0,.18);
  
  /* Centralização */
  display: block;        /* Garante que seja um elemento em bloco */
  margin: 0 auto;        /* Centraliza horizontalmente */
}
.product-cart-btn:hover{filter:brightness(.98)}
.section-title-row{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.section-title{margin:0;font-size:20px;line-height:1.1;color:#342505;font-weight:900}
.section-title-line{height:1px;flex:1;background:rgba(67,56,4,.12)}
.product-description-content{
  background:#fff;
  border:1px solid rgba(67,56,4,.08);
  border-left:3px solid #c3912a;
  border-radius:22px;
  padding:18px 24px;
  color:#56472b;
  line-height:1.55;
  font-size:15px;
}
.product-tabs{border:none;background:transparent}
.pt-nav{padding:0 0 12px;border:none;background:transparent;gap:8px}
.pt-tab{
  border:1px solid rgba(67,56,4,.10);
  background:#fff;
  color:#4a3915;
  padding:10px 14px;
  border-radius:999px;
}
.pt-tab.is-active{background:#f6ebd3;border-color:#c3912a;box-shadow:none}
.pt-panel{padding:0}
.freight-title-row{margin-bottom:12px}
.product-frete-form{
  grid-template-columns:minmax(0,1fr) 154px;
  gap:12px;
}
.freight-input-wrap{position:relative}
.freight-input{
  padding-left:46px;
}
.freight-input-icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(67,56,4,.55);
  font-size:18px;
  z-index:2;
}
.freight-calc-btn{
  min-height:54px;
  border:none;
  border-radius:16px;
  font-size:15px;
  background:linear-gradient(180deg,#d6a233 0%, #b57a08 100%);
  color:#fff;
}
.freight-result{margin-top:12px}
.freight-address-box{margin-bottom:14px}
.freight-address-label{font-size:13px;font-weight:800;color:rgba(67,56,4,.68);margin-bottom:6px}
.freight-address-main{font-weight:700;color:#3b2c0d}
.freight-address-sub{margin-top:4px;color:rgba(67,56,4,.70);font-size:14px}
.frete-grid-inline{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.freight-chip,
.frete-option.freight-chip,
.frete-badge.freight-chip{
  min-height:42px;
  padding:10px 14px;
  border-radius:16px;
  border:1px solid rgba(67,56,4,.10);
  background:#fff;
  box-shadow:0 2px 8px rgba(67,56,4,.05);
  margin:0;
}
.freight-chip-info,
.frete-badge-info{display:flex;align-items:center;gap:10px}
.freight-chip-logo{width:46px;height:20px;flex:0 0 46px}
.freight-chip-meta{display:flex;align-items:center;gap:8px;color:#6a5731;font-size:14px;white-space:nowrap}
.freight-chip-meta strong{color:#4a3410;font-size:15px}
.frete-option{align-items:center}
.frete-option.selected{border-color:#c3912a;box-shadow:0 8px 20px rgba(195,145,42,.14)}
.freight-footnote{margin-top:12px;font-size:13px;color:rgba(67,56,4,.78)}

.pg-main{
  border-radius:24px;
  background:#fff;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pg-media,
.pg-media > *{width:100%}
.pg-image,
.pg-iframe,
.pg-video{border-radius:24px}
.pg-thumbs{gap:12px;justify-content:flex-start}
.pg-thumb{
  width:104px;
  height:104px;
  border-radius:18px;
  border:1px solid rgba(67,56,4,.10);
  opacity:1;
  box-shadow:0 4px 10px rgba(67,56,4,.04);
}
.pg-thumb.is-active{outline:2px solid #b88619;outline-offset:0}
.pg-thumb-video{width:100%;height:100%;border:none;border-radius:18px}
.pg-nav{
  width:48px;
  height:48px;
  border:none;
  background:#fff;
  color:#4b3911;
  font-size:28px;
}
.pg-zoom-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:12px;
  width:100%;
  padding:10px 12px;
  border:none;
  background:transparent;
  color:#5a4a28;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.pg-hint{display:none}

@media (max-width: 980px){
  .product-page{grid-template-columns:1fr}
  .pg-main{min-height:420px}
}
@media (max-width: 640px){
  .product-summary-card{padding:18px}
  .product-description-card,.freight-card,.product-gallery-card{padding:16px}
  .product-buy-grid{grid-template-columns:1fr}
  .product-frete-form{grid-template-columns:1fr}
  .freight-calc-btn{width:100%}
  .pg-main{min-height:320px}
  .pg-thumb{width:78px;height:78px}
  .stock-badge{font-size:13px}
}


/* ===== Produto: ajuste final galeria horizontal + modal ===== */
.product-page{display:grid;grid-template-columns:35% 65%;gap:26px;align-items:start}
.product-page-left,.product-page-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.product-gallery-card,.product-summary-card,.product-description-card,.freight-card{width:100%;box-sizing:border-box;background:#f6f2eb;border:1px solid rgba(67,56,4,.08);border-radius:26px;box-shadow:0 8px 24px rgba(67,56,4,.05)}
.product-gallery-card{padding:18px}
.product-summary-card{padding:26px 34px}
.product-description-card,.freight-card{padding:18px 22px}
.product-page-title{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,2.25vw,42px);line-height:1.05;font-weight:500;letter-spacing:-.02em;color:#2f2118;text-align:left}
.product-subtitle{font-size:16px;line-height:1.5;color:#5f4a3a}
.product-summary-divider{height:1px;background:#e3d8ce;margin:18px 0 22px}
.product-price-block{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.product-price-compare{font-size:15px;color:#8a7767}
.product-page-price{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:clamp(14px,2vw,28px);line-height:1;font-weight:700;color:#a7741d;letter-spacing:-.02em}
.product-summary-badges{display:flex;flex-wrap:wrap;gap:12px;padding:9px 14px;border-radius:999px;background:#efe6dd;color:#6a573f;font-size:15px;margin-bottom:18px}
.product-buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.product-buy-grid.product-buy-grid-single{grid-template-columns:1fr}
.field-block{align-items:stretch}
.product-cart-btn{width:100%;min-height:60px;border-radius:18px;font-size:20px;font-weight:800;background:linear-gradient(90deg,#3f2d1d 0%,#8b632c 50%,#3f2d1d 100%);box-shadow:0 14px 26px rgba(63,45,29,.22)}
.product-rating-row{display:flex;align-items:center;gap:12px;justify-content:center;color:#6a5731}
.product-rating-stars{color:#b9872f;font-size:26px;letter-spacing:2px}
.product-rating-text{font-size:15px}
.section-title{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:600;color:#2f2118}
.product-description-content{background:transparent;border:none;padding:0;color:#4d392c;line-height:1.8;font-size:18px}
.pg-main{position:relative;margin-bottom:16px;border-radius:28px;background:#f4eee8;overflow:hidden}
.pg-media{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f4eee8}
.pg-media img,.pg-media iframe,.pg-media video,.pg-image,.pg-iframe,.pg-video{display:block;width:100%;height:100%;object-fit:cover;border:0}
.pg-thumbs-wrap{display:flex!important;align-items:center;gap:10px;margin-top:6px}
.pg-thumbs{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 2px 8px;flex:1;scrollbar-width:none;cursor:grab}
.pg-thumbs::-webkit-scrollbar{display:none}
.pg-thumbs.dragging{cursor:grabbing;scroll-behavior:auto}
.pg-thumb{flex:0 0 88px!important;width:88px!important;height:68px!important;border:none;padding:0;border-radius:18px;overflow:hidden;background:#f4eee8;cursor:pointer;scroll-snap-align:center;box-shadow:0 0 0 1px #e1d4c7 inset,0 4px 10px rgba(67,56,4,.04);opacity:1}
.pg-thumb.is-active{box-shadow:0 0 0 2px #b78a45 inset,0 6px 16px rgba(0,0,0,.08)}
.pg-thumb img,.pg-thumb-video img{width:100%;height:100%;object-fit:cover;display:block}
.pg-thumb-video{position:relative;display:block;width:100%;height:100%}
.pg-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background:rgba(0,0,0,.18)}
.pg-thumbs-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#fff;color:#3b2a1e;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.10);flex:0 0 auto}
.pg-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:none;border-radius:50%;background:#fff;color:#3b2a1e;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.12);z-index:5}
.pg-prev{left:12px}.pg-next{right:12px}
.pg-zoom-trigger{margin-top:14px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-size:15px;color:#5e4938;cursor:pointer}
.pg-zoom{position:fixed;inset:0;z-index:9999;display:none}
.pg-zoom.is-open{display:block}
.pg-zoom-backdrop{position:absolute;inset:0;background:rgba(34,24,17,.55);backdrop-filter:blur(2px)}
.pg-zoom-content{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,1180px);height:min(88vh,860px);background:#f6efe8;border-radius:26px;box-shadow:0 20px 80px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.pg-zoom-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f6efe8;border-radius:18px;overflow:hidden}
.pg-zoom-image,.pg-zoom-iframe,.pg-zoom-video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:none!important;border:0;border-radius:16px;background:#f6efe8}
.pg-zoom-image.is-active,.pg-zoom-iframe.is-active,.pg-zoom-video.is-active{display:block!important}
.pg-zoom-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:none;border-radius:50%;background:#fff;color:#2f2118;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.12);z-index:3}
.pg-zoom-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:50%;background:#fff;color:#2f2118;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.14);z-index:3}
.pg-zoom-prev{left:18px}.pg-zoom-next{right:18px}
@media (max-width:1100px){.product-page{grid-template-columns:1fr}.product-page-title{font-size:38px}.product-page-price{font-size:22px}}
@media (max-width:768px){.pg-thumb{flex:0 0 92px!important;width:92px!important;height:92px!important;min-width:92px}.pg-thumbs-arrow{width:34px;height:34px;font-size:24px}.pg-zoom-content{width:min(96vw,1180px);height:min(84vh,860px);padding:14px;border-radius:18px}.pg-zoom-nav{width:42px;height:42px;font-size:28px}.product-buy-grid{grid-template-columns:1fr}.product-page-title{font-size:32px}.product-page-price{font-size:36px}.product-summary-card{padding:20px}.product-description-card,.freight-card,.product-gallery-card{padding:16px}}

/* ===== Banner slots / thumbs / checkout upgrades ===== */
.site-banner-card{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(67,56,4,.10);
  background:linear-gradient(135deg,#f5ecdd 0%,#f0e3cf 100%);
  box-shadow:0 14px 36px rgba(67,56,4,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}
.site-banner-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(67,56,4,.12)}
.site-banner-card__img{display:block;width:100%;height:auto;object-fit:cover}
.site-banner-card__fallback{
  min-height:140px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:22px;
  color:#2f2118;
}
.site-banner-card__pill{
  display:inline-flex;
  width:max-content;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.site-banner-card--strip .site-banner-card__img,
.site-banner-card--grid .site-banner-card__img{aspect-ratio:16/4}
.site-banner-card--sidebar .site-banner-card__img{aspect-ratio:4/5}
.site-banner-card--corner .site-banner-card__img{aspect-ratio:1/1}
.site-banner-card--hero-wrap{height:100%}
.site-banner-card--hero-wrap .site-banner-card__img{height:320px}
.promo-slot{display:block}
.promo-slot + .promo-slot{margin-top:12px}
.promo-grid-banner{grid-column:1/-1}

.page-content{
  overflow-wrap:anywhere;
}
.page-content .page-editor-image{
  position:relative;
  display:block;
  margin:18px auto;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden;
}
.page-content .page-editor-image img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
}
.page-content td .page-editor-image,
.page-content th .page-editor-image{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto;
}
.page-content .page-editor-table{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  margin:18px auto;
  padding:12px;
  border-radius:18px;
  overflow:auto;
  box-sizing:border-box;
}
.page-content .page-editor-table table{
  width:100% !important;
  max-width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  border-spacing:0;
  background:transparent !important;
}
.page-content .page-editor-table td,
.page-content .page-editor-table th{
  background:transparent !important;
  vertical-align:middle;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.page-content .page-editor-table__handle,
.page-content .page-editor-table__move,
.page-content .page-editor-table__divider,
.page-content .page-editor-image__handle{
  display:none !important;
}
.promo-grid-banner .site-banner-card{height:100%}
.promo-slot--home-top,.promo-slot--category-top{margin-bottom:2px}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.banner-carousel{
  position:relative;
  overflow:hidden;
}
.banner-carousel__viewport{
  position:relative;
  min-height:100%;
}
.banner-carousel__slide{
  display:none;
  width:100%;
}
.banner-carousel__slide.is-active{
  display:block;
  animation:bannerFade .35s ease;
}
.banner-carousel__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#3f2d1d;
  box-shadow:0 10px 24px rgba(67,56,4,.18);
  cursor:pointer;
  z-index:3;
}
.banner-carousel__arrow--prev{left:16px}
.banner-carousel__arrow--next{right:16px}
.banner-carousel__dots{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  z-index:3;
}
.banner-carousel__dot{
  width:11px;
  height:11px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:0 0 0 1px rgba(67,56,4,.12);
  cursor:pointer;
}
.banner-carousel__dot.is-active{background:#fff}
.banner-carousel--embedded .banner-carousel__arrow{
  width:40px;
  height:40px;
}
.banner-carousel--embedded .banner-carousel__dots{
  bottom:12px;
}

@keyframes bannerFade{
  from{opacity:.35}
  to{opacity:1}
}

.cart-product-cell{display:flex;align-items:center;gap:12px;min-width:0}
.cart-product-thumb{
  width:70px;height:70px;flex:0 0 70px;overflow:hidden;border-radius:16px;
  border:1px solid rgba(67,56,4,.10);background:#fff;
}
.cart-product-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cart-product-meta{min-width:0}
.cart-product-name{display:block;font-weight:700;color:inherit;text-decoration:none}
.cart-product-name:hover{text-decoration:underline}
.cart-product-badge{
  display:inline-flex;
  margin-top:6px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(76,217,100,.14);
  color:#315d2d;
  font-size:12px;
  font-weight:800;
}
.cart-side-banner,.checkout-side-banner{margin-top:16px}
.cart-table{
  border-collapse:separate;
  border-spacing:0 12px;
}
.cart-table thead th{
  padding:0 12px 2px;
  border-bottom:none;
}
.cart-row td{
  padding:18px 12px;
  vertical-align:middle;
  border-bottom:1px solid rgba(67,56,4,.12);
  background:rgba(255,255,255,.72);
}
.cart-row td:first-child{
  border-radius:18px 0 0 18px;
  border-left:1px solid rgba(67,56,4,.10);
}
.cart-row td:last-child{
  border-radius:0 18px 18px 0;
  border-right:1px solid rgba(67,56,4,.10);
}
.cart-product-col{min-width:320px}
.cart-money{
  font-weight:700;
  white-space:nowrap;
}
.cart-qtd-cell{
  width:120px;
}
.cart-qtd{
  max-width:84px;
  margin:0 auto;
  text-align:center;
  font-weight:700;
}
.cart-remove-cell{
  width:72px;
  text-align:right;
}
.cart-remove-btn{
  width:42px;
  height:42px;
  padding:0;
  border-radius:999px;
}
.cart-remove-btn svg{
  width:18px;
  height:18px;
}

.checkout-summary-item{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:10px 0;border-bottom:1px solid rgba(67,56,4,.08);
}
.checkout-summary-item:last-of-type{border-bottom:none}
.checkout-summary-media{display:flex;align-items:center;gap:12px;min-width:0}
.checkout-summary-thumb{
  width:58px;height:58px;flex:0 0 58px;border-radius:14px;object-fit:cover;
  border:1px solid rgba(67,56,4,.10);background:#fff;
}
.checkout-summary-name{font-weight:700;line-height:1.3}
.checkout-summary-price{font-weight:700;white-space:nowrap}
.checkout-summary-totals{
  margin-top:12px;
  padding:14px 16px;
  border:1px solid rgba(67,56,4,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(243,232,209,.82) 100%);
  box-shadow:0 14px 28px rgba(67,56,4,.06);
}
.checkout-summary-total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:7px 0;
}
.checkout-summary-total-row span{color:#5b4724}
.checkout-summary-total-row strong{white-space:nowrap}
.checkout-summary-total-row.is-discount{
  color:#305f34;
}
.checkout-summary-total-row.is-discount span,
.checkout-summary-total-row.is-discount strong{
  color:#305f34;
}
.checkout-summary-total-row.is-grand-total{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid rgba(67,56,4,.12);
  font-size:1.04rem;
}
.checkout-summary-total-row.is-grand-total strong{
  font-size:1.16rem;
  color:#4c3a11;
}
.checkout-benefits{
  margin-top:14px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(67,56,4,.10);
  background:linear-gradient(180deg,rgba(255,248,237,.95) 0%,rgba(240,229,206,.92) 100%);
  box-shadow:0 18px 36px rgba(67,56,4,.08);
}
.checkout-benefits__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.checkout-benefits__eyebrow{
  display:inline-block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8a6a24;
}
.checkout-benefits__title{
  margin:0;
  font-size:1.2rem;
  color:#3f2d10;
}
.checkout-benefits__hint{
  margin:0;
  max-width:240px;
  color:#6f5a35;
  line-height:1.45;
  text-align:right;
}
.checkout-benefits__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.checkout-benefit-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(67,56,4,.10);
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 26px rgba(67,56,4,.06);
}
.checkout-benefit-card--saldo{
  grid-column:1 / -1;
  background:linear-gradient(135deg,rgba(229,245,214,.95) 0%,rgba(247,240,223,.96) 100%);
  border-color:rgba(107,159,83,.28);
}
.checkout-benefit-card__eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#887035;
}
.checkout-benefit-card__title{
  margin:0;
  font-size:1.05rem;
  color:#3f2d10;
}
.checkout-benefit-card__text{
  margin:0;
  color:#705936;
  line-height:1.5;
}
.checkout-benefit-card__status{
  padding:10px 12px;
  border-radius:14px;
  background:#f6efe1;
  color:#5d4a22;
  border:1px solid rgba(67,56,4,.08);
}
.checkout-benefit-card__status.is-active{
  background:rgba(226,243,214,.9);
  color:#325536;
  border-color:rgba(76,217,100,.28);
}
.checkout-benefit-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.checkout-benefit-form .input{
  min-width:0;
}
.checkout-benefit-form--saldo{
  grid-template-columns:minmax(0,1fr) auto;
}
.checkout-benefit-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:0 14px;
  border-radius:16px;
  border:1px solid rgba(67,56,4,.10);
  background:rgba(255,255,255,.76);
  color:#4f3f19;
}
.checkout-benefit-card__saldo-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.checkout-benefit-card__amount{
  white-space:nowrap;
  padding:10px 16px;
  border-radius:16px;
  background:#3f5f2e;
  color:#fff8e8;
  font-size:1.18rem;
  font-weight:800;
  box-shadow:0 12px 24px rgba(63,95,46,.18);
}

  .product-summary-topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
  .product-summary-topbar.has-corner-banner .product-summary-head{flex:1;min-width:0}
  .product-corner-banner{width:170px;flex:0 0 170px}
  .product-freight-banner{width:100%}
  .product-freight-banner .site-banner-card{border-radius:20px}
  .product-strip-banner-wrap{margin-top:18px}
  .product-strip-banner-wrap .site-banner-card{border-radius:20px}

@media (max-width:1100px){
  .product-summary-topbar{flex-direction:column}
  .product-corner-banner{width:100%;max-width:320px}
}
@media (max-width:900px){
  .site-banner-card--hero-wrap .site-banner-card__img{height:220px}
  .banner-carousel__arrow{
    width:42px;
    height:42px;
  }
}
@media (max-width:700px){
  .cart-product-cell{align-items:flex-start}
  .checkout-summary-item{align-items:flex-start;flex-direction:column}
  .checkout-summary-price{padding-left:70px}
  .checkout-summary-total-row{gap:12px}
  .checkout-benefits{padding:16px}
  .checkout-benefits__head,
  .checkout-benefit-card__saldo-head{flex-direction:column}
  .checkout-benefits__hint{text-align:left;max-width:none}
  .checkout-benefits__grid,
  .checkout-benefit-form,
  .checkout-benefit-form--saldo{grid-template-columns:1fr}
}
@media (max-width:560px){
  .site-banner-card--strip .site-banner-card__img,
  .site-banner-card--grid .site-banner-card__img{aspect-ratio:16/6}
  .cart-product-thumb{width:58px;height:58px;flex-basis:58px}
  .checkout-summary-thumb{width:52px;height:52px;flex-basis:52px}
  .checkout-summary-price{padding-left:64px}
  .checkout-summary-totals{padding:14px}
  .checkout-benefit-card{padding:16px}
  .checkout-benefit-checkbox{padding:12px 14px;align-items:flex-start}
  .banner-carousel__arrow{
    width:38px;
    height:38px;
  }
  .banner-carousel__arrow--prev{left:10px}
  .banner-carousel__arrow--next{right:10px}
  .banner-carousel__dots{bottom:12px}
}

@media (max-width:700px){
  .cart-table{
    border-spacing:0;
  }
  .cart-table tr.cart-row td{
    background:transparent;
    border:none;
    border-radius:0;
    padding:6px 0;
  }
  .cart-remove-cell{
    text-align:left;
  }
}
.account-payment-tabs{
  display:inline-flex;
  gap:8px;
  padding:6px;
  margin-bottom:18px;
  border-radius:18px;
  background:rgba(255,248,235,.92);
  border:1px solid rgba(67,56,4,.10);
}
.account-payment-tabs__item{
  border:none;
  background:transparent;
  color:#6e5a31;
  padding:11px 16px;
  border-radius:14px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  transition:background .16s ease, color .16s ease, box-shadow .16s ease;
}
.account-payment-tabs__item.is-active{
  background:#fff;
  color:#433804;
  box-shadow:0 10px 22px rgba(67,56,4,.08);
}
.account-payment-tab-panel{display:none}
.account-payment-tab-panel.is-active{display:block}
.account-payment-grid{display:grid;grid-template-columns:minmax(325px,.83fr) minmax(0,1.17fr);gap:18px;align-items:start}
.account-payment-grid--secondary{margin-top:18px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.account-payment-section{background:linear-gradient(180deg,rgba(255,253,248,.96) 0%,rgba(246,238,220,.92) 100%)}
.account-payment-balance{
  display:grid;
  gap:14px;
  padding:18px 20px;
  background:
    radial-gradient(circle at top right, rgba(191,230,162,.42), transparent 34%),
    linear-gradient(135deg,rgba(255,249,239,.98) 0%,rgba(237,245,229,.98) 100%);
  border:1px solid rgba(133,117,62,.14);
  box-shadow:0 16px 32px rgba(67,56,4,.07);
  color:#433804;
}
.account-payment-balance__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.account-payment-balance .account-section-head__eyebrow{color:#8a6c2c}
.account-payment-balance .muted{color:rgba(67,56,4,.68)}
.account-payment-balance__value{font-size:38px;font-weight:900;line-height:1.02;margin-top:8px;color:#4b3a10}
.account-payment-balance__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(133,117,62,.14);
  color:#6d5827;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.account-payment-balance__text{margin:0;color:rgba(67,56,4,.82);line-height:1.55;max-width:28ch}
.account-payment-balance__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.account-payment-balance__meta-item{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(133,117,62,.10);
}
.account-payment-balance__meta-item strong{
  font-size:13px;
  color:#4f3d11;
}
.account-payment-balance__meta-item span{
  font-size:12px;
  line-height:1.45;
  color:#6f5c34;
}
.account-payment-movements{margin-top:10px}
.account-payment-movements--light{padding-top:0;border-top:none}
.account-payment-block__title{margin:0;color:#433804;font-size:20px}
.account-payment-section__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.account-payment-movement{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(67,56,4,.08);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 20px rgba(67,56,4,.05);
}
.account-payment-movements--light .account-payment-movement + .account-payment-movement{margin-top:10px}
.account-payment-movement__value{font-weight:900;white-space:nowrap}
.account-payment-movement__value.is-positive{color:#3f7a34}
.account-payment-movement__value.is-negative{color:#b94d3d}
.account-payment-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.account-payment-cards{display:grid;gap:12px;margin-bottom:16px}
.account-payment-card{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(67,56,4,.10);
  background:linear-gradient(180deg,rgba(255,252,246,.96) 0%,rgba(246,238,219,.92) 100%);
}
.account-payment-vouchers{margin-top:10px}
.account-payment-vouchers--light{padding-top:0;border-top:none}
.account-payment-voucher{
  display:grid;
  gap:12px;
  margin-top:12px;
  padding:16px;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(255,199,95,.34), transparent 34%),
    linear-gradient(135deg,rgba(255,248,228,.98) 0%,rgba(255,236,200,.92) 100%);
  border:1px solid rgba(196,145,47,.22);
  box-shadow:0 14px 30px rgba(164,115,20,.10);
}
.account-payment-voucher__head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.account-payment-voucher__status{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.account-payment-voucher__status.is-active{
  background:linear-gradient(135deg,#cdeeb2 0%,#a9de77 100%);
  color:#34591f;
  box-shadow:0 8px 18px rgba(100,156,50,.16);
}
.account-payment-voucher__status.is-inactive{
  background:rgba(224,209,181,.84);
  color:#6e5b36;
}
.account-payment-voucher__status.is-deleted{
  background:linear-gradient(135deg,#ffd8cc 0%,#f0a18c 100%);
  color:#8b3420;
  box-shadow:0 8px 18px rgba(192,96,69,.14);
}
.account-payment-voucher__code{
  padding:13px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,#fff4d6 0%,#f7dc9a 100%);
  border:1px solid rgba(196,145,47,.22);
  font-size:15px;
  font-weight:900;
  letter-spacing:.08em;
  color:#7b4b00;
  word-break:break-word;
}
.account-payment-voucher__notice{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(196,145,47,.18);
  color:#7a5520;
  line-height:1.5;
  font-size:13px;
}
.account-payment-voucher__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  color:rgba(67,56,4,.82);
  font-size:13px;
}
.account-payment-voucher__meta span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.52);
}
.account-card-form{
  display:grid;
  gap:14px;
  margin-top:18px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,252,246,.96) 0%,rgba(245,237,220,.92) 100%);
  border:1px solid rgba(67,56,4,.10);
  box-shadow:0 14px 28px rgba(67,56,4,.06);
}
.account-card-form label{
  display:grid;
  gap:7px;
  color:#5a461d;
  font-size:13px;
  font-weight:800;
}
.account-card-form .input{
  min-height:50px;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(67,56,4,.12);
  background:rgba(255,255,255,.94);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 8px 18px rgba(67,56,4,.04);
}
.account-card-form .input:focus{
  outline:none;
  border-color:rgba(183,138,69,.68);
  box-shadow:0 0 0 3px rgba(183,138,69,.14), 0 10px 20px rgba(67,56,4,.06);
}
.account-card-form__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.account-payment-security{margin-top:18px;padding-top:18px;border-top:1px solid rgba(67,56,4,.08)}
.account-payment-security__list{margin:10px 0 0 18px;padding:0;display:grid;gap:8px;color:rgba(67,56,4,.76)}

@media (max-width:900px){
  .account-payment-grid,
  .account-payment-grid--secondary{grid-template-columns:1fr}
  .account-payment-balance__meta{grid-template-columns:1fr}
}
@media (max-width:640px){
  .account-payment-tabs{
    display:grid;
    width:100%;
  }
  .account-payment-balance__top,
  .account-payment-voucher__head,
  .account-payment-movement{
    flex-direction:column;
    align-items:flex-start;
  }
  .account-payment-balance__tag{white-space:normal}
}
.product-admin-shell__actions{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.product-admin-stock-link{
  min-width:220px;
  display:grid;
  gap:4px;
  padding:14px 18px;
  border-radius:18px;
  text-decoration:none;
  color:#5b4518;
  background:linear-gradient(180deg,rgba(255,250,240,.96) 0%,rgba(245,232,205,.98) 100%);
  border:1px solid rgba(181,140,70,.20);
  box-shadow:0 12px 24px rgba(67,56,4,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-admin-stock-link:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(67,56,4,.10);
  border-color:rgba(181,140,70,.34);
}
.product-admin-stock-link.is-active{
  border-color:rgba(170,120,36,.48);
  box-shadow:0 16px 30px rgba(170,120,36,.14);
}
.product-admin-stock-link__label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8b6a2b;
}
.product-admin-stock-link strong{
  font-size:30px;
  line-height:1;
  color:#513a10;
}
.product-admin-stock-link small{
  color:rgba(81,58,16,.74);
}
@media (max-width:720px){
  .product-admin-shell__actions{
    width:100%;
    justify-content:stretch;
  }
  .product-admin-stock-link,
  .product-admin-shell__actions .product-toolbar__add{
    width:100%;
  }
}
