
/* V15 — cabeçalho da Loja sempre legível sobre fundo claro */
body.store-page .site-header,
body.store-page .site-header.is-scrolled {
  color: var(--store-navy);
  background: rgba(253,251,246,.98);
  border-bottom: 1px solid rgba(11,40,80,.10);
  backdrop-filter: blur(18px);
  box-shadow: 0 8px 30px rgba(8,23,44,.06);
}
body.store-page .site-header .main-nav > a {
  color: var(--store-navy);
  opacity: .92;
}
body.store-page .site-header .main-nav > a:hover {
  color: var(--store-navy);
  opacity: 1;
}
body.store-page .site-header .store-nav-bag {
  color: var(--store-navy);
  border-color: rgba(11,40,80,.22);
}
body.store-page .site-header .menu-toggle {
  color: var(--store-navy);
}


:root { --store-navy:#0B2850; --store-gold:#C8A85B; --store-ivory:#f7f4ec; }
body.store-page { background: #fbfaf6; color: #1c2632; }
.store-header .header-inner { min-height: 92px; }
.store-header .brand-site-logo { width: 285px; height: 58px; }
.store-nav-bag { display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border:1px solid rgba(11,40,80,.18); border-radius:999px; }
.store-nav-bag b { min-width:23px; height:23px; border-radius:50%; display:grid; place-items:center; background:var(--store-gold); color:var(--store-navy); font-size: 12px; }
.store-hero { padding: 92px 0 86px; background:linear-gradient(180deg,#fff,#f8f5ed); border-bottom:1px solid rgba(11,40,80,.08); }
.store-hero-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:80px; align-items:center; }
.store-logo-panel { min-height:390px; display:grid; place-items:center; border-radius:30px; background:#fff; box-shadow:0 22px 70px rgba(11,40,80,.08); border:1px solid rgba(11,40,80,.08); overflow:hidden; }
.store-logo-panel img { width:min(650px,94%); height:auto; object-fit:contain; }
.store-hero-copy h1 { font-size:clamp(58px,7vw,92px); color:var(--store-navy); line-height:.9; }
.store-hero-copy > p:not(.eyebrow) { margin:26px 0 0; max-width:650px; color:#606a75; font-size:18px; }
.store-actions { margin-top:34px; display:flex; flex-wrap:wrap; gap:14px; }
.store-notice { margin-top:28px; padding:16px 18px; border-left:2px solid var(--store-gold); background:rgba(200,168,91,.08); color:#58616b; font-size:13px; }
.store-section { padding:92px 0; }
.store-section.alt { background:var(--store-ivory); }
.store-section-head { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:42px; }
.store-section-head h2 { color:var(--store-navy); font-size:clamp(42px,5vw,64px); }
.store-section-head p { max-width:470px; color:#707780; }
.store-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.store-product-card { overflow:hidden; border-radius:22px; background:#fff; border:1px solid rgba(11,40,80,.09); box-shadow:0 14px 38px rgba(11,40,80,.055); transition:.25s ease; }
.store-product-card:hover { transform:translateY(-6px); box-shadow:0 26px 55px rgba(11,40,80,.12); }
.store-product-image { display:block; aspect-ratio:1/1; background:#f4f1e8; overflow:hidden; }
.store-product-image img { width:100%; height:100%; object-fit:cover; }
.store-product-copy { padding:22px; }
.store-product-copy small { color:var(--store-gold); font-size: 12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.store-product-copy h3 { margin-top:8px; color:var(--store-navy); font-size:29px; }
.store-product-copy p { margin:12px 0 0; color:#727982; font-size:13px; min-height:40px; }
.store-product-footer { margin-top:22px; padding-top:18px; border-top:1px solid rgba(11,40,80,.08); display:flex; justify-content:space-between; align-items:center; gap:14px; }
.store-product-footer strong { color:var(--store-navy); }
.store-product-footer button { border:0; background:transparent; color:var(--store-navy); font-weight:700; cursor:pointer; }
.store-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.store-category-card { min-height:190px; padding:28px; border:1px solid rgba(11,40,80,.09); border-radius:22px; background:#fff; position:relative; overflow:hidden; transition:.25s ease; }
.store-category-card::before { content:""; position:absolute; width:140px; height:140px; border:1px solid rgba(200,168,91,.22); border-radius:50%; right:-45px; top:-48px; }
.store-category-card:hover { transform:translateY(-5px); border-color:rgba(200,168,91,.45); }
.store-category-card span { color:var(--store-gold); font-size:28px; }
.store-category-card h3 { margin-top:38px; color:var(--store-navy); font-size:29px; max-width:290px; }
.store-category-card small { display:block; margin-top:12px; color:#6d747c; }
.store-empty-state { grid-column:1/-1; min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:50px; border:1px dashed rgba(11,40,80,.18); border-radius:24px; background:rgba(255,255,255,.6); }
.store-empty-state span { color:var(--store-gold); font-size: 12px; letter-spacing:.17em; font-weight:800; }
.store-empty-state h3 { margin-top:12px; color:var(--store-navy); font-size:36px; }
.store-empty-state p { max-width:560px; margin:14px 0 22px; color:#747b83; }
.store-visit { padding:78px 0; background:var(--store-navy); color:#fff; }
.store-visit-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px; }
.store-visit h2 { color:#fff; }
.store-visit p { color:rgba(255,255,255,.68); max-width:650px; margin-top:14px; }
.store-visit-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.store-footer-note { margin-top:24px; color:rgba(255,255,255,.54); font-size: 12px; }
.store-floating-bag { position:fixed; right:28px; bottom:28px; z-index:60; display:flex; align-items:center; gap:10px; padding:13px 17px; border-radius:999px; color:#fff; background:var(--store-navy); border:1px solid rgba(200,168,91,.55); box-shadow:0 14px 35px rgba(11,40,80,.2); }
.store-floating-bag b { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:var(--store-gold); color:var(--store-navy); font-size: 12px; }
.store-toast { position:fixed; left:50%; bottom:30px; z-index:100; transform:translate(-50%,20px); padding:13px 18px; border-radius:999px; background:var(--store-navy); color:#fff; opacity:0; pointer-events:none; transition:.2s ease; box-shadow:0 12px 35px rgba(0,0,0,.18); }
.store-toast.is-visible { opacity:1; transform:translate(-50%,0); }
.store-page-head { padding:82px 0 50px; background:linear-gradient(180deg,#fff,#f8f5ed); border-bottom:1px solid rgba(11,40,80,.08); }
.store-page-head h1 { color:var(--store-navy); font-size:clamp(50px,6vw,76px); line-height:1.02; letter-spacing:-.02em; text-wrap:balance; }
.store-page-head p { max-width:680px; margin-top:16px; color:#69717a; }
.store-detail { padding:80px 0 110px; }
.store-detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.store-detail-gallery { display:grid; gap:14px; }
.store-detail-gallery img { width:100%; border-radius:24px; background:#f5f1e8; border:1px solid rgba(11,40,80,.08); }
.store-detail-copy h1 { color:var(--store-navy); font-size:clamp(48px,5vw,70px); line-height:1.02; letter-spacing:-.02em; text-wrap:balance; }
.store-detail-copy > p:not(.eyebrow) { margin-top:20px; color:#68717a; }
.store-variations { display:grid; gap:14px; margin-top:28px; }
.store-variation span { display:block; margin-bottom:7px; color:var(--store-navy); font-size:12px; font-weight:700; }
.store-variation select { width:100%; padding:13px 14px; border:1px solid rgba(11,40,80,.16); border-radius:12px; background:#fff; font:inherit; }
.store-detail-price { margin-top:30px; color:var(--store-navy); font-family:var(--font-display); font-size:42px; }
.store-detail-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:26px; }
.store-presential-note { padding-top:22px; border-top:1px solid rgba(11,40,80,.09); font-size:12px; }
.bag-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:34px; align-items:start; padding:70px 0 110px; }
.bag-items { display:grid; gap:14px; }
.bag-item { display:grid; grid-template-columns:110px 1fr auto auto; gap:20px; align-items:center; padding:18px; border:1px solid rgba(11,40,80,.09); border-radius:20px; background:#fff; }
.bag-item img { width:110px; height:110px; object-fit:cover; border-radius:15px; background:#f5f1e8; }
.bag-item-copy h3 { color:var(--store-navy); font-size:25px; }
.bag-item-copy small { display:block; margin:6px 0; color:#777e86; }
.bag-item-copy strong { color:var(--store-navy); }
.bag-qty { display:flex; align-items:center; border:1px solid rgba(11,40,80,.12); border-radius:999px; overflow:hidden; }
.bag-qty button { width:36px; height:36px; border:0; background:#fff; cursor:pointer; font-size:18px; }
.bag-qty span { min-width:34px; text-align:center; }
.bag-remove { border:0; background:transparent; color:#8a4b4b; cursor:pointer; }
.bag-summary { position:sticky; top:120px; padding:30px; border-radius:24px; background:var(--store-navy); color:#fff; }
.bag-summary h2 { color:#fff; }
.bag-summary-row { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.72); }
.bag-summary-row strong { color:#fff; }
.bag-summary-actions { display:grid; gap:10px; margin-top:22px; }
.bag-summary-actions button,.bag-summary-actions a { width:100%; justify-content:center; }
.bag-summary-actions .btn-ghost { border:1px solid rgba(255,255,255,.26); background:rgba(255,255,255,.08); color:#fff; }
.bag-summary-actions .btn-ghost:hover { background:rgba(255,255,255,.14); color:#fff; }
.bag-summary-actions .btn-ghost:disabled { opacity:1; cursor:not-allowed; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.18); color:rgba(255,255,255,.62); }
.bag-warning { margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.6); font-size: 12px; line-height:1.55; }
.exit-modal { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:22px; background:rgba(4,18,36,.56); backdrop-filter:blur(6px); opacity:0; transition:.2s ease; }
.exit-modal[hidden] { display:none; }
.exit-modal.is-open { opacity:1; }
.exit-card { width:min(700px,100%); padding:38px; border-radius:28px; background:#fff; box-shadow:0 32px 100px rgba(0,0,0,.25); transform:translateY(12px) scale(.985); transition:.2s ease; }
.exit-modal.is-open .exit-card { transform:none; }
.exit-card h2 { color:var(--store-navy); font-size:48px; }
.exit-card > p { margin-top:14px; color:#69717a; }
.exit-event { margin-top:24px; padding:18px; border-left:2px solid var(--store-gold); background:#f8f4e9; }
.exit-event small { color:var(--store-gold); font-size: 12px; font-weight:800; letter-spacing:.14em; }
.exit-event strong { display:block; margin-top:6px; color:var(--store-navy); font-size:23px; }
.exit-event span { display:block; color:#737b83; }
.exit-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.exit-close { margin-left:auto; }
@media(max-width:980px){.store-hero-grid,.store-detail-layout,.bag-layout{grid-template-columns:1fr}.store-product-grid,.store-category-grid{grid-template-columns:repeat(2,1fr)}.store-visit-grid{grid-template-columns:1fr}.store-visit-actions{justify-content:flex-start}.bag-summary{position:static}.store-logo-panel{min-height:300px}}
@media(max-width:720px){.store-hero{padding:58px 0}.store-hero-grid{gap:38px}.store-logo-panel{min-height:230px}.store-product-grid,.store-category-grid{grid-template-columns:1fr}.store-section{padding:70px 0}.store-section-head{display:block}.store-section-head p{margin-top:16px}.store-floating-bag{right:18px;bottom:18px}.bag-item{grid-template-columns:76px 1fr}.bag-item img{width:76px;height:76px}.bag-qty,.bag-remove{grid-column:2}.exit-card{padding:28px 22px}.exit-card h2{font-size:39px}.store-header .brand-site-logo{width:220px;height:46px}}


/* ==========================================================
   V24 — CALIBRAÇÃO TIPOGRÁFICA DA LOJA
   Somente tipografia; nenhum grid, gap, padding ou dimensão alterado.
   ========================================================== */

body.store-page {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 27px;
  letter-spacing: .3px;
  font-weight: 400;
  color: #425066;
}

body.store-page .main-nav {
  font-size: 15px;
  line-height: 22.5px;
  letter-spacing: .15px;
  font-weight: 500;
}

.store-hero-copy > p:not(.eyebrow),
.store-section-head p,
.store-page-head p,
.store-detail-copy > p:not(.eyebrow),
.store-empty-state p,
.store-visit p,
.exit-card > p {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 27px;
  letter-spacing: .3px;
  font-weight: 400;
}

.store-hero-copy > p:not(.eyebrow),
.store-section-head p,
.store-page-head p,
.store-detail-copy > p:not(.eyebrow),
.store-empty-state p,
.exit-card > p {
  color: #425066;
}

.store-product-copy p,
.store-category-card small,
.store-notice,
.store-presential-note,
.bag-item-copy small,
.bag-warning {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22.5px;
  letter-spacing: .2px;
  font-weight: 400;
}

.store-product-footer button,
.store-nav-bag,
.store-floating-bag,
.bag-remove,
.bag-summary-actions button,
.bag-summary-actions a {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 500;
}

.store-product-copy small,
.store-empty-state span,
.store-variation span,
.exit-event small,
.store-footer-note {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
}

.store-product-copy h3,
.store-category-card h3,
.store-empty-state h3,
.store-detail-copy h1,
.store-page-head h1,
.exit-card h2,
.bag-item-copy h3,
.bag-summary h2 {
  font-family: var(--font-display);
  font-weight: 400;
}

@media (max-width: 820px) {
  body.store-page {
    font-size: 17px;
    line-height: 25.5px;
    letter-spacing: .2px;
  }
  body.store-page .main-nav > a {
    font-size: 17px !important;
    line-height: 25.5px;
  }
}


/* V34 — pequenos textos da Loja */
.store-product-copy small,
.store-empty-state span,
.store-footer-note,
.store-floating-bag b,
.bag-warning,
.exit-event small {
  font-size: 13px;
  line-height: 19.5px;
}


/* V36 — consistência tipográfica dos links da Loja */
body.store-page .main-nav a {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 500;
}

.store-footer a,
.store-breadcrumb a,
.store-section-head a,
.store-product-footer a,
.bag-summary-actions a {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 19.5px;
}

@media (max-width: 820px) {
  body.store-page .main-nav a {
    font-size: 17px;
    line-height: 25.5px;
  }
}
