*{box-sizing:border-box}

:root{
  --bg:#f7f4ee;
  --surface:#ffffff;
  --surface-soft:#f7f9fe;
  --surface-warm:#fcf8f2;
  --text:#11224b;
  --muted:#68748e;
  --line:#dce3f1;

  --primary:#123c95;
  --primary-dark:#0d2b6c;
  --primary-soft:#eaf0ff;

  --accent:#d7262e;
  --accent-dark:#b41d24;
  --accent-soft:#fff1f2;

  --shadow:0 18px 40px rgba(17,34,75,.08);
  --shadow-soft:0 10px 24px rgba(17,34,75,.06);

  --radius:24px;
  --radius-sm:16px;
  --container:1220px;
}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at top right, rgba(18,60,149,.06), transparent 28%),
    radial-gradient(circle at top left, rgba(215,38,46,.05), transparent 24%),
    linear-gradient(180deg,#fbf8f2 0%,#f5f1ea 100%);
  color:var(--text);
}

a{
  text-decoration:none;
  color:inherit;
}

img{
  max-width:100%;
  display:block;
}

.container{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(220,227,241,.9);
}

.pwa-status{
  position:sticky;
  top:0;
  z-index:110;
  background:#11224b;
  color:#fff;
  box-shadow:0 10px 30px rgba(17,34,75,.18);
}

.pwa-status-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  font-size:14px;
}

.pwa-install{
  white-space:nowrap;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:84px;
}

.brand{
  display:flex;
  align-items:center;
}

.brand img{
  height:58px;
  width:auto;
}

.topnav{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  font-weight:700;
  color:var(--primary);
}

.topnav a{
  position:relative;
  padding:8px 0;
  transition:color .18s ease;
}

.topnav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:var(--accent);
  transition:width .18s ease;
}

.topnav a:hover{
  color:var(--accent);
}

.topnav a:hover::after{
  width:100%;
}

.hero{
  padding:0;
}

.hero-home{
  min-height:100vh;
}

.hero-stage{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#0f224a;
  border-radius:0;
  border:0;
  box-shadow:none;
}

.hero-backdrop{
  position:absolute;
  inset:0;
}

.hero-backdrop img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.02);
}

.hero-overlay{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(17,34,75,.82) 0%, rgba(17,34,75,.64) 38%, rgba(17,34,75,.28) 64%, rgba(17,34,75,.18) 100%);
}

.hero-grid{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:30px;
  padding:120px 0 48px;
}

.hero-copy{
  color:#fff;
  max-width:700px;
}

.hero-copy-wide{
  align-self:start;
  padding-top:8px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.14);
  color:#fff;
  padding:8px 13px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  border:1px solid rgba(255,255,255,.16);
}

.hero h1{
  margin:16px 0 14px;
  font-size:52px;
  line-height:1.02;
  letter-spacing:-.02em;
}

.hero p{
  margin:0;
  font-size:18px;
  line-height:1.65;
  color:rgba(255,255,255,.88);
  max-width:58ch;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 18px;
  border-radius:14px;
  border:0;
  background:var(--primary);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}

.btn:hover{
  background:var(--primary-dark);
  transform:translateY(-1px);
}

.btn-outline{
  background:#fff;
  color:var(--primary);
  border:1px solid var(--line);
}

.btn-outline:hover{
  border-color:var(--primary);
  color:var(--primary-dark);
  background:#fff;
}

.btn-light{
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

.btn-light:hover{
  background:rgba(255,255,255,.22);
  color:#fff;
  border-color:rgba(255,255,255,.28);
}

.btn-accent{
  background:var(--accent);
}

.btn-accent:hover{
  background:var(--accent-dark);
}

.hero-search-card{
  align-self:end;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.45);
  border-radius:26px;
  padding:22px;
  box-shadow:0 20px 44px rgba(7,18,40,.18);
  backdrop-filter:blur(12px);
}

.search-card-head h2{
  margin:0 0 8px;
  font-size:28px;
  color:var(--text);
}

.search-card-head p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}

.search-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.search-form-hero{
  display:grid;
  grid-template-columns:1.4fr .95fr;
  gap:14px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}

.field label{
  font-size:13px;
  font-weight:700;
  color:var(--primary);
}

.search-form input,
.search-form select{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--text);
  outline:none;
  font-size:15px;
}

.search-form input:focus,
.search-form select:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(18,60,149,.10);
}

.filter-check{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--text);
  font-weight:700;
  min-height:52px;
  width:100%;
  cursor:pointer;
}

.filter-check input{
  margin:0;
  width:16px;
  height:16px;
  flex:0 0 16px;
}

.filter-check span{
  display:block;
  flex:1 1 auto;
  line-height:1.25;
  text-align:left;
}

.search-actions{
  display:flex;
  gap:10px;
  grid-column:1 / -1;
  flex-wrap:wrap;
}

.btn-reset{
  text-align:center;
}

.quick-intro{
  padding:16px 0 6px;
}

.intro-box{
  display:flex;
  gap:20px;
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px 24px;
  box-shadow:var(--shadow-soft);
}

.cup-mark{
  width:92px;
  height:92px;
  object-fit:contain;
  flex:0 0 auto;
}

.intro-box h2{
  margin:0 0 8px;
  font-size:30px;
}

.intro-box p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.section-block{
  padding-top:18px;
}

.section-title{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin:24px 0 18px;
}

.section-kicker{
  font-size:12px;
  font-weight:700;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}

.section-title h2{
  margin:0;
  font-size:34px;
  line-height:1.05;
}

.muted{
  color:var(--muted);
}

.grid{
  display:grid;
  gap:20px;
}

.familias-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:start;
}

.produtos-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
}

.lojas-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

.card,
.store-card,
.product-box,
.product-image-box,
.empty,
.hero-sub-box,
.info-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}

.card{
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover{
  transform:translateY(-4px);
  border-color:#cbd7ef;
  box-shadow:0 18px 36px rgba(17,34,75,.12);
}

.family-card,
.product-card{
  height:100%;
}

.family-image-wrap,
.product-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fff 0%,#f7f9fe 100%);
}

.family-card img{
  width:100%;
  height:190px;
  object-fit:contain;
  object-position:center;
  padding:12px;
}

.product-card img{
  width:100%;
  height:230px;
  object-fit:contain;
  object-position:center;
  padding:10px;
}

.card-body{
  padding:18px;
}

.card-kicker{
  font-size:12px;
  font-weight:700;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.card h3{
  margin:0 0 10px;
  font-size:21px;
  line-height:1.25;
}

.meta{
  font-size:14px;
  color:var(--muted);
}

.price{
  margin-top:4px;
  font-size:28px;
  font-weight:800;
  color:var(--primary);
  letter-spacing:-.02em;
}

.tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.tag{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(18,60,149,.06);
}

.backlink{
  display:inline-block;
  margin-top:10px;
  color:var(--primary);
  font-weight:700;
}

.backlink:hover{
  color:var(--accent);
}

.page-content{
  padding-bottom:16px;
}

.hero-subpage{
  padding:20px 0 8px;
}

.hero-sub-box{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:center;
  padding:28px;
  background:
    radial-gradient(circle at top right, rgba(18,60,149,.06), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f5f8ff 56%,#fff7f7 100%);
}

.hero-sub-copy h1{
  margin:12px 0 10px;
  font-size:46px;
  line-height:1.05;
  color:var(--text);
}

.hero-sub-copy p{
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.6;
}

.hero-sub-copy .eyebrow{
  background:var(--primary-soft);
  color:var(--primary);
  border:1px solid rgba(18,60,149,.08);
}

.hero-sub-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:260px;
  border-radius:20px;
  background:linear-gradient(180deg,#fff 0%,#f8faff 100%);
  overflow:hidden;
}

.hero-sub-media img{
  width:100%;
  height:100%;
  max-height:320px;
  object-fit:contain;
  padding:18px;
}

.hero-sub-media-product img{
  max-height:360px;
}

.product-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin:6px 0 28px;
}

.product-wrap-enhanced{
  align-items:start;
}

.product-image-box{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  min-height:480px;
  padding:24px;
  overflow:hidden;
}

.product-image-box img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:760px;
  object-fit:contain;
  object-position:center;
  background:#fff;
  padding:0;
}

.product-box{
  padding:28px;
}

.product-box h1{
  margin:8px 0 12px;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.02em;
}

.product-box h3{
  margin:0 0 8px;
  font-size:20px;
}

.product-box p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.product-info-grid{
  display:grid;
  gap:16px;
  margin-top:24px;
}

.info-card{
  padding:18px;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);
}

.store-card{
  padding:24px;
  background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
}

.store-card h3{
  margin:0 0 10px;
  font-size:22px;
}

.store-card p{
  margin:8px 0;
  color:var(--muted);
  line-height:1.65;
}

.site-footer{
  padding:34px 0 44px;
  margin-top:34px;
  background:#fff;
  border-top:1px solid var(--line);
}

.compact-footer{
  margin-top:24px;
}

.footer-wrap{
  display:flex;
  gap:18px;
  align-items:center;
}

.footer-wrap img{
  height:48px;
  width:auto;
}

.footer-title{
  font-weight:800;
  color:var(--primary);
  margin-bottom:6px;
}

.empty{
  padding:26px;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);
}

/* VITRINE PAGE */
.hero-vitrine-page{
  min-height:auto;
  padding:0;
}

.vitrine-stage,
.vitrine-stage-compact{
  min-height:190px;
}

.hero-grid-single{
  grid-template-columns:1fr;
}

.hero-overlay-compact{
  min-height:190px;
  background:linear-gradient(90deg, rgba(17,34,75,.62) 0%, rgba(17,34,75,.38) 46%, rgba(17,34,75,.14) 100%);
}

.hero-grid-compact{
  padding:96px 0 44px;
  align-items:end;
}

.hero-copy-compact{
  max-width:560px;
}

.hero-copy-compact h1{
  font-size:34px;
  margin:12px 0 8px;
}

.hero-copy-compact p{
  font-size:15px;
  max-width:42ch;
  line-height:1.5;
}

.vitrine-toolbar,
.vitrine-toolbar-overlap{
  margin-top:-26px;
  position:relative;
  z-index:8;
}

.toolbar-box{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border:1px solid rgba(227,232,242,.9);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:18px;
  display:grid;
  grid-template-columns:300px 1fr;
  gap:16px;
  align-items:end;
}

.vitrine-selector-field{
  gap:12px;
}

.vitrine-selector-label{
  font-size:13px;
  font-weight:700;
  color:var(--primary);
}

.vitrine-selector-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}

.vitrine-card{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  width:100%;
  min-height:112px;
  border:2px solid #c9d5ea;
  border-radius:20px;
  background:#ffffff;
  color:var(--primary);
  padding:16px 18px;
  text-align:left;
  display:grid;
  gap:6px;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  box-shadow:0 10px 24px rgba(15,33,72,.08);
}

.vitrine-card:hover{
  transform:translateY(-1px);
  border-color:rgba(17,34,75,.28);
  box-shadow:0 16px 32px rgba(15,33,72,.12);
}

.vitrine-card:focus-visible{
  outline:3px solid rgba(211,39,70,.2);
  outline-offset:2px;
}

.vitrine-card.is-active{
  color:#fff;
  border-color:#d32746;
  background:linear-gradient(135deg, #11224b 0%, #1c3f7d 58%, #d32746 100%);
  box-shadow:0 18px 38px rgba(17,34,75,.22);
}

.vitrine-card-kicker{
  display:block;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.vitrine-card.is-active .vitrine-card-kicker,
.vitrine-card.is-active .vitrine-card-meta{
  color:rgba(255,255,255,.82);
}

.vitrine-card strong{
  display:block;
  font-size:22px;
  line-height:1.05;
  color:var(--primary);
  word-break:break-word;
}

.vitrine-card.is-active strong{
  color:#fff;
}

.vitrine-card-meta{
  display:block;
  font-size:13px;
  line-height:1.4;
  color:var(--muted);
  word-break:break-word;
}

.vitrine-card::after{
  content:"Toque para abrir";
  display:block;
  margin-top:4px;
  font-size:11px;
  font-weight:700;
  color:#47607f;
}

.vitrine-card.is-active::after{
  content:"Loja ativa";
  color:#fff;
}

.toolbar-stats{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.stat-chip{
  min-width:150px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.stat-chip strong{
  display:block;
  font-size:22px;
  color:var(--primary);
  margin-bottom:4px;
}

.stat-chip span{
  color:var(--muted);
  font-size:13px;
}

.vitrine-page-main,
.vitrine-page-main-overlap{
  padding-top:0;
  padding-bottom:40px;
  margin-top:-6px;
}

.vitrine-shell{
  background:linear-gradient(180deg,#fdfefe 0%, #eef5ff 100%);
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:0 20px 44px rgba(20,33,61,.12);
  overflow:hidden;
}

.vitrine-top{
  padding:18px 18px 10px;
  background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(246,250,255,.94) 100%);
  border-bottom:1px solid var(--line);
}

.vitrine-top h3{
  margin:0 0 6px;
  font-size:24px;
}

.vitrine-top-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:16px;
  flex-wrap:wrap;
}

.vitrine-top-head h3{
  margin:0;
  font-size:28px;
}

.vitrine-board{
  padding:22px 18px 24px;
  background:linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(231,241,255,.76) 100%);
  backdrop-filter:blur(8px);
}

.offline-page{
  min-height:100vh;
  display:flex;
  align-items:center;
}

.offline-shell{
  overflow:hidden;
}

.offline-board{
  display:grid;
  gap:16px;
}

.offline-board p{
  margin:0;
  max-width:60ch;
}

.fila-block + .fila-block{
  margin-top:20px;
}

.fila-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  font-size:13px;
  font-weight:700;
  color:var(--primary);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.fila-head::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--accent);
  flex:0 0 auto;
}

.fila-grid{
  display:grid;
  gap:24px 18px;
}

.sabor-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  min-height:142px;
  padding:6px 4px;
}

.sabor-item-empty{
  opacity:.7;
}

.sabor-circle{
  width:88px;
  height:88px;
  border-radius:50%;
  background:#e7e7e7;
  border:3px solid rgba(255,255,255,.82);
  box-shadow:
    0 10px 22px rgba(0,0,0,.12),
    inset -10px -10px 18px rgba(0,0,0,.08),
    inset 10px 10px 18px rgba(255,255,255,.22);
  flex:0 0 auto;
}

.sabor-nome{
  margin-top:12px;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  color:var(--text);
  text-align:center;
  max-width:140px;
}

.sabor-nome-empty{
  color:var(--muted);
  font-weight:600;
}

@media (max-width: 1180px){
  .hero-grid{
    grid-template-columns:1fr;
  }

  .familias-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  .toolbar-box{
    grid-template-columns:1fr;
  }

  .vitrine-selector-grid{
    grid-template-columns:1fr 1fr;
  }

  .toolbar-stats{
    justify-content:flex-start;
  }

  .vitrine-stage,
  .vitrine-stage-compact{
    min-height:170px;
  }

  .hero-overlay-compact{
    min-height:170px;
  }

  .hero-grid-compact{
    padding:88px 0 38px;
  }

  .hero-copy-compact h1{
    font-size:30px;
  }
}

@media (max-width: 860px){
  .topbar{
    align-items:flex-start;
    flex-direction:column;
    padding:14px 0;
  }

  .brand img{
    height:48px;
  }

  .hero-stage,
  .hero-overlay{
    min-height:auto;
  }

  .hero-grid{
    padding:104px 0 28px;
    gap:20px;
  }

  .hero h1{
    font-size:38px;
  }

  .hero-sub-box,
  .product-wrap{
    grid-template-columns:1fr;
  }

  .footer-wrap,
  .intro-box{
    align-items:flex-start;
    flex-direction:column;
  }

  .hero-sub-copy h1{
    font-size:34px;
  }
}

@media (max-width: 720px){
  .toolbar-box{
    padding:16px;
    gap:14px;
  }

  .vitrine-stage,
  .vitrine-stage-compact{
    min-height:150px;
  }

  .hero-overlay-compact{
    min-height:150px;
  }

  .hero-grid-compact{
    padding:82px 0 30px;
  }

  .hero-copy-compact h1{
    font-size:24px;
  }

  .hero-copy-compact p{
    font-size:14px;
    line-height:1.5;
  }

  .vitrine-toolbar,
  .vitrine-toolbar-overlap{
    margin-top:-16px;
  }

  .vitrine-top-head h3{
    font-size:22px;
  }

  .vitrine-selector-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .vitrine-card{
    min-height:96px;
    padding:14px 16px;
    border-radius:18px;
    gap:5px;
    box-shadow:0 8px 18px rgba(15,33,72,.08);
  }

  .vitrine-card strong{
    font-size:20px;
  }

  .vitrine-card-meta{
    font-size:12px;
  }

  .fila-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:18px 10px;
  }

  .sabor-item{
    min-height:126px;
  }

  .sabor-circle{
    width:72px;
    height:72px;
  }

  .sabor-nome{
    font-size:13px;
    max-width:110px;
  }

  .stat-chip{
    min-width:0;
    flex:1 1 140px;
  }
}

@media (max-width: 640px){
  .container{
    width:min(100% - 20px, var(--container));
  }

  .hero-grid{
    width:min(100% - 20px, var(--container));
    padding:96px 0 20px;
  }

  .hero h1{
    font-size:30px;
    line-height:1.08;
  }

  .hero p,
  .hero-sub-copy p{
    font-size:16px;
  }

  .hero-actions,
  .search-actions{
    flex-direction:column;
  }

  .vitrine-selector-grid{
    grid-template-columns:1fr;
  }

  .vitrine-selector-label{
    font-size:12px;
  }

  .vitrine-card{
    min-height:88px;
    padding:13px 14px;
  }

  .vitrine-card strong{
    font-size:18px;
  }

  .vitrine-card-kicker,
  .vitrine-card-meta{
    font-size:12px;
  }

  .vitrine-card::after{
    font-size:10px;
  }

  .pwa-status-wrap{
    flex-direction:column;
    align-items:flex-start;
  }

  .search-form-hero{
    grid-template-columns:1fr;
  }

  .field-checks{
    grid-template-columns:1fr;
  }

  .topnav{
    gap:12px;
    font-size:14px;
  }

  .section-title{
    align-items:flex-start;
    flex-direction:column;
  }

  .section-title h2{
    font-size:26px;
  }

  .familias-grid{
    grid-template-columns:1fr;
  }

  .product-card img{
    height:210px;
  }

  .family-card img{
    height:180px;
  }

  .product-box{
    padding:20px;
  }

  .product-box h1{
    font-size:32px;
  }

  .product-image-box{
    min-height:280px;
    padding:14px;
  }

  .product-image-box img{
    max-height:420px;
  }

  .store-card{
    padding:18px;
  }

  .hero-sub-box{
    padding:20px;
  }

  .hero-sub-media{
    min-height:200px;
  }

  .filter-check{
    min-height:50px;
    padding:12px 14px;
  }
}
@media (max-width: 720px){
  .fila-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:14px 8px;
  }

  .sabor-item{
    min-height:112px;
  }

  .sabor-circle{
    width:60px;
    height:60px;
  }

  .sabor-nome{
    font-size:12px;
    max-width:90px;
    margin-top:8px;
  }

  .stat-chip{
    min-width:0;
    flex:1 1 140px;
  }
}

@media (max-width: 420px){
  .fila-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:14px 8px;
  }

  .sabor-circle{
    width:58px;
    height:58px;
  }

  .sabor-nome{
    font-size:11px;
    max-width:82px;
  }
}
