/* INFO STRIP */
#info-strip {
  position:fixed; top:0; left:0; right:0; z-index:901;
  background:#0f0f0f;
  height:38px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5vw;
  font-family:var(--font-b);
}
.strip-left,.strip-center,.strip-right { display:flex; align-items:center; gap:8px; }
.strip-left { flex:1; }
.strip-center { flex:1; justify-content:center; }
.strip-right { flex:1; justify-content:flex-end; }
#info-strip > div span, #info-strip .strip-hours-wrap > span { font-size:14px; color:rgba(255,255,255,.55); white-space:nowrap; }
.strip-hours-dropdown span { color:#141414 !important; white-space:normal; }
#strip-temp { font-size:15px; font-weight:600; color:#fff; }
#strip-time { font-size:15px; font-weight:600; color:#fff; }
.strip-sep { color:rgba(255,255,255,.2) !important; }
.strip-badge {
  font-size:10px; font-weight:800; letter-spacing:.08em;
  padding:2px 10px; border-radius:50px; text-transform:uppercase;
}
.strip-badge.aberto { background:#16a34a; color:#fff; }
.strip-badge.fechado { background:#dc2626; color:#fff; }
#strip-status-txt { font-size:14px; color:rgba(255,255,255,.55); }
#strip-countdown { font-size:15px; font-weight:700; color:#F97316; }
@media(max-width:768px){
  .strip-center { display:none; }
  .strip-loc { display:none; }
  #strip-cond { display:none; }
  .strip-sep { display:none; }
}

/* ============================================================
   SHOPPING 45 — Design System
   Mobile-first | 3 breakpoints: 480, 768, 1024
   ============================================================ */

/* ── TOKENS ── */
:root {
  --orange:  #F97316;
  --orange2: #EA6A0A;
  --gold:    #FACC15;
  --dark:    #141414;
  --dark2:   #1F1F1F;
  --white:   #FFFFFF;
  --bg:      #F8F7F4;
  --text:    #2C2C2C;
  --muted:   #888888;
  --border:  #E8E5E0;
  --border2: #F0EDE8;
  --font-d:  'Playfair Display', Georgia, serif;
  --font-b:  'DM Sans', system-ui, sans-serif;
  --trans:   .25s ease;
  --r1:      8px;
  --r2:      16px;
  --shadow:  0 4px 20px rgba(0,0,0,.08);
  --shadow2: 0 8px 32px rgba(0,0,0,.12);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
/* Safe-area iPhone notch / Dynamic Island */
#nav { padding-top:max(12px, env(safe-area-inset-top)); }
#info-strip { padding-top:env(safe-area-inset-top); }
#footer { padding-bottom:max(24px, env(safe-area-inset-bottom)); }
body { background:var(--white); color:var(--text); font-family:var(--font-b); line-height:1.5; font-size:16px; }
.page-overflow-guard { overflow-x:hidden; }
img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }

/* ── TOP BAR ── */
#top-bar { display:none; }

/* ── NAV ── */
#nav {
  position:fixed; top:38px; left:0; right:0; z-index:900;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 5vw;
  background:#fff; border-bottom:1px solid var(--border);
  transition:padding .35s cubic-bezier(.4,0,.2,1), background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
#nav.scrolled {
  padding:8px 5vw;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 2px 20px rgba(0,0,0,.09);
}
.nav-logo img {
  height:112px;
  transform-origin:left center;
  will-change:transform;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
#nav.scrolled .nav-logo img { transform:scale(.65); }

.nav-center { display:flex; gap:28px; }
.nav-center a {
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); transition:color var(--trans); position:relative; padding:4px 0;
}
.nav-center a::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0; height:2px;
  background:var(--orange); transform:scaleX(0); transition:transform var(--trans);
}
.nav-center a:hover, .nav-center a.active { color:var(--dark); }
.nav-center a:hover::after, .nav-center a.active::after { transform:scaleX(1); }

.nav-right { display:flex; align-items:center; gap:12px; }
.nav-ig-btn {
  display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700;
  color:var(--muted); border:1px solid var(--border); padding:7px 14px;
  border-radius:50px; transition:all var(--trans);
}
.nav-ig-btn:hover { border-color:var(--orange); color:var(--orange); }


/* NAV SEARCH */
/* NAV SEARCH — Opção B: pill fundo suave, ícone laranja */
.nav-search {
  flex:1; max-width:480px; margin:0 28px; position:relative;
}
.nav-search-inner {
  display:flex; align-items:center; gap:10px;
  background:#F8F7F4; border-radius:50px;
  padding:0 20px; height:44px;
  border:none; outline:none;
  transition:background .25s, box-shadow .25s;
}
.nav-search-inner:focus-within {
  background:#fff;
  box-shadow:0 0 0 2px var(--orange);
}
.nav-search-icon { color:var(--orange); flex-shrink:0; }
.nav-search-input {
  flex:1; border:none; background:transparent;
  font-family:var(--font-b); font-size:16px; color:var(--dark);
  outline:none;
}
.nav-search-input::placeholder { color:var(--muted); font-size:16px; }
.nav-search-input, .nav-search-input:focus, .nav-search-input:active { border:none !important; outline:none !important; box-shadow:none !important; background:transparent !important; }
.nav-search-clear {
  background:none; border:none; cursor:pointer;
  color:#bbb; font-size:11px; padding:4px;
  opacity:0; pointer-events:none; transition:opacity .2s;
  line-height:1; display:flex; align-items:center;
  justify-content:center; flex-shrink:0;
}
.nav-search-clear:hover { color:#888; }
.nav-search-clear.visible { opacity:1; pointer-events:auto; }
.nav-search-results {
  position:absolute; top:calc(100% + 10px); left:0; right:0;
  background:#fff; border:1px solid var(--border);
  border-radius:16px; box-shadow:0 12px 40px rgba(0,0,0,.14);
  max-height:70vh; overflow-y:auto;
  display:none; z-index:1100;
}
.nav-search-results.open { display:block; }
.nsr-item {
  display:flex; align-items:center; gap:16px;
  padding:16px 24px; cursor:pointer;
  transition:background .15s; text-decoration:none;
  border-bottom:1px solid var(--bg);
}
.nsr-item:last-child { border-bottom:none; }
.nsr-item:hover { background:#FFF8F3; }
.nsr-item:first-child { border-radius:16px 16px 0 0; }
.nsr-item:last-child { border-radius:0 0 16px 16px; }
.nsr-ini {
  width:44px; height:44px; border-radius:10px;
  background:#EEECE8; border:none;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-d); font-size:18px; font-weight:900;
  color:#888; flex-shrink:0;
}
.nsr-name { font-size:18px; font-weight:700; color:var(--dark); line-height:1.2; }
.nsr-name mark { background:rgba(249,115,22,.2); color:var(--orange); border-radius:3px; padding:0 2px; font-style:normal; }
.nsr-cat  { font-size:14px; color:var(--muted); margin-top:4px; display:flex; gap:8px; align-items:center; }
.nsr-empty { padding:32px 18px; font-size:18px; color:var(--muted); text-align:center; }

/* STRIP HOURS DROPDOWN */
.strip-hours-wrap { position:relative; display:flex; align-items:center; gap:8px; }
.strip-hours-btn {
  background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.4); font-size:11px; padding:2px 4px;
  transition:color .2s; line-height:1;
}
.strip-hours-wrap:hover .strip-hours-btn { color:#fff; }
.strip-hours-dropdown {
  position:absolute; top:calc(100% + 14px); right:0;
  background:#fff; border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  width:300px; padding:20px;
  opacity:0; pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease;
  z-index:902;
}
.strip-hours-wrap:hover .strip-hours-dropdown {
  opacity:1; pointer-events:auto; transform:translateY(0);
}
.shd-title {
  font-family:var(--font-d); font-size:16px; font-weight:800;
  color:var(--dark); margin-bottom:16px;
  padding-bottom:12px; border-bottom:1px solid var(--border);
}
.shd-group { margin-bottom:16px; }
.shd-group:last-of-type { margin-bottom:12px; }
.shd-group-name {
  font-size:11px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--orange); margin-bottom:10px;
}
.shd-row {
  display:flex; justify-content:space-between;
  font-size:13px; color:#141414; padding:5px 0;
  border-bottom:1px solid #f0eeeb;
}
.shd-row span:last-child { font-weight:700; }
.shd-closed span { color:var(--muted); }
.shd-closed span:last-child { color:#dc2626; }
.shd-obs {
  font-size:11px; color:var(--muted); margin-top:8px;
  padding-top:10px; border-top:1px solid var(--border);
}
.strip-hours-dropdown span { color:inherit; }

@media(max-width:1024px){ .nav-search { display:none; } }

.nav-burger {
  display:none; flex-direction:column; gap:5px; cursor:pointer;
  padding:10px; background:none; border:none;
  min-width:44px; min-height:44px; align-items:center; justify-content:center;
  z-index:1001;
}
.nav-burger span { width:26px; height:2.5px; background:#141414; border-radius:2px; transition:all var(--trans); display:block; }
.nav-burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.nav-mobile {
  display:none; position:fixed; top:8px; left:0; right:0; bottom:0;
  background:#fff; z-index:800;
  flex-direction:column; align-items:center; justify-content:center; gap:8px;
  opacity:0; transform:translateY(-16px);
  transition:opacity .28s ease, transform .28s ease;
  pointer-events:none;
}
.nav-mobile.open { display:flex; opacity:1; transform:none; pointer-events:all; }
.nav-mobile a { font-family:var(--font-d); font-size:clamp(24px,5vw,40px); font-weight:700; color:var(--muted); padding:10px 24px; transition:color var(--trans); }
.nav-mobile a:hover { color:var(--orange); }
.nav-mobile-cta { margin-top:20px; background:var(--orange)!important; color:#fff!important; font-size:14px!important; font-weight:700; padding:14px 40px; border-radius:50px; }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:8px; border-radius:50px; font-weight:700; font-size:16px; transition:all var(--trans); cursor:pointer; white-space:nowrap; border:none; }
.btn-sm  { padding:9px 20px; font-size:14px; }
.btn-lg  { padding:16px 40px; font-size:16px; }
.btn-orange { background:var(--orange); color:#fff; }
.btn-orange:hover { background:var(--orange2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(249,115,22,.35); }
.btn-waze   { background:#33CCFF; color:#fff; border:none; }
.btn-waze:hover { background:#1ab8e8; transform:translateY(-2px); box-shadow:0 8px 24px rgba(51,204,255,.35); }
.btn-dark   { background:var(--dark); color:#fff; }
.btn-dark:hover { background:var(--dark2); transform:translateY(-2px); }
.btn-outline { background:transparent; color:var(--dark); border:2px solid var(--border); }
.btn-outline:hover { background:var(--dark); color:#fff; border-color:var(--dark); }
.btn-white  { background:#fff; color:var(--dark); }
.btn-white:hover { box-shadow:var(--shadow2); transform:translateY(-2px); }

/* ── REVEAL ANIMATIONS ── */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }

/* ── SECTION HELPERS ── */
.section-label { font-size:13px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.section-label::before { content:'——'; }
.section-eyebrow { font-size:13px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.section-h, .section-title { font-family:var(--font-d); font-size:clamp(26px,3.5vw,50px); font-weight:900; line-height:1.1; color:var(--dark); }
.section-h em, .section-title em { font-style:normal; color:var(--orange); }
.section-sub { font-size:16px; color:var(--muted); line-height:1.75; margin-top:12px; max-width:540px; }
.orange-bar { width:100%; height:4px; background:linear-gradient(90deg, var(--orange), var(--gold)); }

/* ── HERO ── */
#hero { position:relative; margin-top:126px; width:100%; height:calc(100vh - 126px); min-height:520px; overflow:hidden; }
.hero-video-wrap { position:absolute; inset:0; overflow:hidden; }
.hero-video-wrap video { position:absolute; top:50%; left:50%; width:100%; height:100%; min-width:100%; min-height:100%; transform:translate(-50%,-50%); object-fit:cover; }
.hero-fallback { position:absolute; inset:0; background:#0a1628; z-index:0; }
.hero-fallback img { width:100%; height:100%; object-fit:cover; object-position:center 30%; opacity:.55; mix-blend-mode:luminosity; display:block; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(20,20,20,.85) 0%,rgba(20,20,20,.45) 55%,rgba(249,115,22,.2) 100%); }
.hero-content { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:0 8vw; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:var(--orange); padding:6px 18px; border-radius:50px; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:20px; width:fit-content; }
.hero-eyebrow-dot { width:6px; height:6px; background:#fff; border-radius:50%; animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }
.hero-title { font-family:var(--font-d); font-size:clamp(34px,5.5vw,80px); font-weight:900; line-height:1.04; color:#fff; margin-bottom:16px; }
.hero-title em { font-style:normal; color:var(--gold); }
.hero-sub { font-size:clamp(14px,1.4vw,18px); color:rgba(255,255,255,.8); line-height:1.65; max-width:480px; margin-bottom:36px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.hero-bottom { position:absolute; bottom:0; left:0; right:0; z-index:3; }
.hero-pills-bar { display:flex; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:1px solid var(--border); }
.hero-pill { flex:1; display:flex; align-items:center; gap:14px; padding:18px 24px; border-right:1px solid var(--border); }
.hero-pill-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.hero-pill-val { font-size:16px; font-weight:800; color:var(--dark); }

/* ── ORANGE STRIP ── */
.orange-strip { background:var(--orange); padding:14px 8vw; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.orange-strip-text { font-size:16px; font-weight:700; color:#fff; display:flex; align-items:center; gap:10px; }
.orange-strip-link { font-size:14px; font-weight:800; color:#fff; border-bottom:2px solid rgba(255,255,255,.4); padding-bottom:2px; white-space:nowrap; }

/* ── STATS ── */
#stats { background:var(--white); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item { padding:36px 24px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); text-align:center; }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--font-d); font-size:clamp(36px,4vw,58px); font-weight:900; color:var(--orange); line-height:1; }
.stat-label { font-size:14px; font-weight:600; color:var(--muted); margin-top:8px; text-transform:uppercase; letter-spacing:.06em; }

/* ── SERVICES ── */
#services { background:var(--bg); padding:80px 0; }
.services-intro { padding:0 8vw 52px; }
.services-mosaic { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr); gap:3px; aspect-ratio:3/2; }
.svc-card { position:relative; overflow:hidden; cursor:pointer; }
.svc-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.svc-card:hover img { transform:scale(1.05); }
.svc-card-overlay { display:none; }
.svc-card-inner { position:absolute; bottom:14px; left:14px; right:14px; background:#1B4FA8; border-radius:10px; padding:14px 16px; transition:transform var(--trans), box-shadow var(--trans); }
.svc-card:hover .svc-card-inner { transform:translateY(-4px); box-shadow:0 8px 24px rgba(27,79,168,.4); }
.svc-card-tag { font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.svc-card-title { font-family:var(--font-d); font-size:clamp(14px,1.4vw,18px); font-weight:700; color:#fff; line-height:1.2; }
.svc-card-desc { font-size:12px; color:rgba(255,255,255,.7); margin-top:3px; }

/* ── STORES HOME (index — 6 cards) ── */
#stores-home { background:var(--white); padding:80px 0; }
.stores-home-header { padding:0 8vw 48px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
#moa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:0 8vw; }
.moa-card { background:#fff; border:1px solid var(--border2); overflow:hidden; cursor:pointer; display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease; }
.moa-card:hover { transform:translateY(-5px); box-shadow:0 16px 48px rgba(0,0,0,.12); }
.moa-card-img { height:220px; overflow:hidden; background:var(--bg); flex-shrink:0; }
.moa-card-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(100%) contrast(1.05); transition:transform .7s ease; }
.moa-card:hover .moa-card-img img { transform:scale(1.06); }
.moa-card-body { padding:18px 22px 22px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex:1; }
.moa-card-info { flex:1; min-width:0; }
.moa-card-cat { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:6px; }
.moa-card-name { font-family:var(--font-d); font-size:clamp(16px,1.4vw,20px); font-weight:700; color:var(--dark); margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.moa-card-local { font-size:13px; color:var(--muted); margin-bottom:16px; }
.moa-card-link { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--dark); display:flex; align-items:center; gap:5px; transition:color var(--trans); }
.moa-card:hover .moa-card-link { color:var(--orange); }
.moa-card-ini { width:72px; height:72px; border-radius:6px; border:1px solid var(--border); background:var(--bg); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-d); font-size:28px; font-weight:900; color:var(--border); }

/* ── EVENTS ── */
#events-home { background:var(--bg); padding:80px 0; }
.events-header { padding:0 8vw 40px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.events-carousel-wrap { position:relative; }
.events-carousel-outer { overflow:hidden; }
.events-carousel-track { display:flex; gap:8px; will-change:transform; }
.ev-slide { flex-shrink:0; width:320px; position:relative; cursor:pointer; overflow:hidden; border-radius:var(--r1); aspect-ratio:4/3; }
.ev-slide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ev-slide:hover img { transform:scale(1.04); }
.event-card-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,20,20,.8) 0%,transparent 50%); }
.event-card-inner { position:absolute; bottom:0; left:0; right:0; z-index:2; padding:20px 22px; }
.event-card-date { font-size:14px; font-weight:700; color:rgba(255,255,255,.7); margin-bottom:4px; text-transform:uppercase; letter-spacing:.08em; }
.event-card-name { font-family:var(--font-d); font-size:clamp(16px,1.5vw,20px); font-weight:700; color:#fff; }
.event-card-photos { font-size:14px; color:rgba(255,255,255,.6); margin-top:4px; }
.event-card-cta { position:absolute; top:14px; right:14px; z-index:2; background:var(--orange); color:#fff; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; opacity:0; transform:scale(.8); transition:all var(--trans); }
.ev-slide:hover .event-card-cta { opacity:1; transform:scale(1); }
.ev-nav { position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--border); font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--trans); }
.ev-nav:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
.ev-prev { left:12px; }
.ev-next { right:12px; }
.ev-dots { display:none; justify-content:center; gap:8px; margin-top:20px; padding:0 8vw; }
.ev-dot { width:8px; height:8px; border-radius:50%; background:var(--border); transition:all .3s ease; cursor:pointer; }
.ev-dot.active { background:var(--orange); transform:scale(1.3); }

/* ── PROMO BANNER ── */
#promo-banner { background:linear-gradient(90deg,#0a2050 0%,#1B4FA8 100%); display:grid; grid-template-columns:520px 1fr 480px; align-items:stretch; gap:0; overflow:hidden; height:460px; }
.promo-cubo-dir { align-self:stretch; overflow:hidden; }

.promo-banner-img { flex:none; align-self:stretch; overflow:hidden; }
.promo-banner-img img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; border-radius:0; }
.promo-banner-text { flex:1; padding:56px 48px; align-self:center; }
.promo-banner-text .section-title { color:#fff; }
.promo-banner-text .section-sub { color:rgba(255,255,255,.65); }
.promo-banner-title { font-family:var(--font-d); font-size:clamp(26px,3vw,44px); font-weight:900; color:#fff; line-height:1.1; margin-bottom:16px; }
.promo-banner-title em { font-style:italic; color:var(--gold); }
.promo-banner-sub { font-size:16px; color:rgba(255,255,255,.75); line-height:1.75; margin-bottom:32px; max-width:480px; }
.promo-banner-actions { display:flex; gap:14px; flex-wrap:wrap; }

/* ── INSTAGRAM ── */
#instagram-home { background:var(--white); padding:80px 0; }
.ig-layout { display:flex; align-items:center; gap:64px; padding:0 8vw; max-width:1260px; margin:0 auto; }
.ig-feed-col { flex:0 0 440px; }
.ig-text-col { flex:1; }
.ig-badge { display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; }
.ig-badge-icon { width:40px; height:40px; border-radius:10px; background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); display:flex; align-items:center; justify-content:center; }
.ig-badge-handle { font-size:14px; font-weight:700; color:var(--dark); }
.ig-title { font-family:var(--font-d); font-size:clamp(26px,3.5vw,46px); font-weight:900; color:var(--dark); margin-bottom:14px; line-height:1.1; }
.ig-title em { font-style:normal; color:var(--orange); }
.ig-sub { font-size:15px; color:var(--muted); line-height:1.7; margin-bottom:32px; }

/* ── TESTIMONIALS ── */
#testimonials-home { background:var(--bg); padding:80px 0; }
.testimonials-header { padding:0 8vw; margin-bottom:48px; }
.testi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:0 8vw; }
.testimonial-card { background:#fff; border:1px solid var(--border2); border-radius:var(--r2); padding:24px; display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease; }
.testimonial-card:hover { transform:translateY(-4px); box-shadow:var(--shadow2); }
.testimonial-stars { color:var(--orange); font-size:16px; margin-bottom:12px; }
.testimonial-text { font-size:16px; line-height:1.75; color:var(--text); margin-bottom:20px; font-style:italic; flex:1; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.testimonial-author { display:flex; align-items:center; gap:12px; margin-top:auto; }
.testimonial-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; color:#fff; flex-shrink:0; }
.testimonial-name { font-size:14px; font-weight:700; color:var(--dark); }
.testimonial-handle { font-size:14px; color:var(--muted); }
.testimonials-controls { display:flex; justify-content:center; gap:10px; margin-top:36px; }
.testi-btn { width:40px; height:40px; border-radius:50%; border:1px solid var(--border); background:#fff; cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center; transition:all var(--trans); }
.testi-btn:hover { background:var(--orange); color:#fff; border-color:var(--orange); }

/* ── HOURS ── */
#hours-home { background:var(--white); padding:80px 0; }
.hours-layout { display:grid; grid-template-columns:1fr 1fr; }
.hours-left { padding:48px 8vw; }
.hours-header { margin-bottom:32px; padding:0 8vw; }
.hours-list { display:flex; flex-direction:column; gap:0; margin-bottom:32px; }
.hours-row { display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--border2); font-size:15px; }
.hours-day { font-weight:600; color:var(--dark); }
.hours-time { font-weight:700; color:var(--muted); }
.hours-row.today .hours-day { color:var(--orange); }
.hours-row.today .hours-time { color:var(--orange); }
.today-chip { background:var(--orange); color:#fff; font-size:10px; font-weight:800; padding:2px 8px; border-radius:50px; letter-spacing:.08em; text-transform:uppercase; margin-left:8px; }
.hours-obs { font-size:15px; color:var(--muted); line-height:1.6; }
.hours-ctas { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.hours-map { height:460px; min-height:460px; }
.hours-map > div, .hours-map iframe { width:100%; height:460px; min-height:460px; border:none; display:block; }

/* ── MAP BALLOON ── */
.map-balloon { position:absolute; bottom:32px; left:20px; width:240px; background:#fff; border-radius:12px; box-shadow:0 8px 32px rgba(0,0,0,.2); overflow:visible; z-index:10; animation:balloonIn .4s ease; }
@keyframes balloonIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.map-balloon-img { width:100%; height:120px; object-fit:cover; display:block; border-radius:12px 12px 0 0; }
.map-balloon-body { padding:10px 12px 12px; }
.map-balloon-name { font-family:var(--font-d); font-size:14px; font-weight:800; color:var(--dark); margin-bottom:2px; }
.map-balloon-addr { font-size:11px; color:var(--muted); line-height:1.5; margin-bottom:8px; }
.map-balloon-link { font-size:11px; font-weight:700; color:var(--orange); }
.map-balloon-tip { position:absolute; bottom:-10px; left:24px; width:0; height:0; border-left:10px solid transparent; border-right:10px solid transparent; border-top:10px solid #fff; filter:drop-shadow(0 3px 3px rgba(0,0,0,.1)); }
/* Leaflet popup customization removed — map migrated to Google Maps embed */

/* ── FOOTER ── */
#footer { background:#0f0f0f; padding:0 8vw 32px; position:relative; overflow:hidden; }
#footer::before { content:''; display:block; height:3px; background:linear-gradient(90deg,var(--orange) 0%,var(--gold) 100%); margin:0 -8vw 64px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px; }
.footer-logo { height:80px; margin-bottom:20px; }
.footer-desc { font-size:16px; color:rgba(255,255,255,.5); line-height:1.85; max-width:320px; margin-bottom:24px; }
.footer-cnpj { font-size:11px; color:rgba(255,255,255,.25); margin-top:8px; letter-spacing:.04em; }
.footer-socials { display:flex; gap:10px; margin-top:4px; }
.footer-social-btn { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.5); transition:all .25s; }
.footer-social-btn:hover { background:var(--orange); border-color:var(--orange); color:#fff; transform:translateY(-2px); }
.footer-col-title { font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--orange); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.06); }
.footer-col a { display:flex; align-items:center; gap:6px; font-size:16px; color:rgba(255,255,255,.5); margin-bottom:12px; transition:all .25s; text-decoration:none; }
.footer-col a::before { content:'→'; font-size:11px; opacity:0; transform:translateX(-6px); transition:all .25s; color:var(--orange); }
.footer-col a:hover { color:#fff; padding-left:4px; }
.footer-col a:hover::before { opacity:1; transform:translateX(0); }
.footer-contact-item { font-size:16px; color:rgba(255,255,255,.5); margin-bottom:12px; line-height:1.6; }
.footer-contact-item:first-of-type { color:rgba(255,255,255,.8); font-weight:600; }
.footer-bar { border-top:1px solid rgba(255,255,255,.06); padding-top:28px; display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:center; }
.footer-copy { font-size:13px; color:rgba(255,255,255,.25); line-height:1.8; letter-spacing:.02em; }
.footer-dev { font-size:13px; color:rgba(255,255,255,.25); }
.footer-dev a { color:rgba(255,255,255,.5); transition:color .25s; }
.footer-dev a:hover { color:var(--orange); }

/* ── LIGHTBOX ── */
#lightbox { position:fixed; inset:0; z-index:3000; background:rgba(0,0,0,.96); display:none; align-items:center; justify-content:center; }
#lightbox.open { display:flex; }
#lightbox-img { max-width:90vw; max-height:86vh; object-fit:contain; border-radius:8px; }
.lb-close { position:absolute; top:20px; right:24px; font-size:32px; color:#fff; cursor:pointer; opacity:.7; }
.lb-close:hover { opacity:1; }
#lb-prev, #lb-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.1); border:none; color:#fff; font-size:24px; width:48px; height:48px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background var(--trans); }
#lb-prev { left:20px; }
#lb-next { right:20px; }
#lb-prev:hover, #lb-next:hover { background:rgba(255,255,255,.2); }
#lb-counter { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:13px; }

/* ── PAGES (lojas, loja, eventos, etc) ── */
.page-hero { padding:56px 8vw 52px; background:var(--dark); margin-top:182px; position:relative; overflow:hidden; }
.page-hero-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; opacity:.35; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,#0a2050 0%,#1B4FA8 60%,rgba(27,79,168,.7) 100%); mix-blend-mode:multiply; }
.page-hero-content { position:relative; z-index:1; }
.page-hero-title { font-family:var(--font-d); font-size:clamp(32px,5vw,64px); font-weight:900; color:#fff; margin-bottom:8px; }
.page-hero-sub { font-size:16px; color:rgba(255,255,255,.5); margin-top:12px; max-width:480px; }

/* Eventos hero com foto de fundo */
.eventos-hero { padding:72px 8vw 64px; }
.eventos-hero .page-hero-bg {
  position:absolute; inset:0;
  background:url('../uploads/eventos-hero-bg.webp') center center / cover no-repeat;
  filter:brightness(.35) saturate(1.1);
  z-index:0;
}
.eventos-hero .page-hero-content { position:relative; z-index:1; }
.search-wrap { position:relative; max-width:400px; margin-top:24px; }
.search-input { width:100%; padding:14px 48px 14px 18px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.08); border-radius:50px; font-size:14px; color:#fff; outline:none; }
.search-input::placeholder { color:rgba(255,255,255,.4); }
.search-icon { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.5); font-size:16px; }
.filter-bar-sticky { background:#fff; border-bottom:1px solid var(--border); padding:14px 8vw; position:sticky; top:78px; z-index:200; display:flex; align-items:center; justify-content:space-between; gap:16px; will-change:auto; }
.filter-bar { display:flex; gap:8px; flex-wrap:wrap; flex:1; }
.filter-count { font-size:14px; color:var(--muted); white-space:nowrap; flex-shrink:0; }
.filter-btn { padding:8px 18px; border-radius:50px; border:1px solid var(--border); font-size:15px; font-weight:600; color:var(--muted); background:#fff; cursor:pointer; transition:all var(--trans); white-space:nowrap; }
.filter-btn:hover, .filter-btn.active { border-color:var(--orange); color:var(--orange); background:rgba(249,115,22,.06); }
.stores-moa-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; background:transparent; padding:48px 8vw 64px; overflow:visible; }
/* Carregar Mais */
.load-more-wrap { padding:32px 8vw 64px; display:flex; justify-content:center; }
.load-more-btn { padding:12px 40px; border-radius:8px; border:1.5px solid var(--orange); background:transparent; color:var(--orange); font-family:var(--font-b); font-size:14px; font-weight:700; cursor:pointer; transition:background .2s, color .2s; letter-spacing:.04em; }
.load-more-btn:hover { background:var(--orange); color:#fff; }
.load-more-btn:disabled { opacity:.3; cursor:default; }

.store-moa-card { background:var(--white); border-radius:12px; border:1px solid var(--border); cursor:pointer; display:flex; flex-direction:column; transition:border-color .2s ease; position:relative; contain:layout paint; content-visibility:auto; contain-intrinsic-size:320px 360px; }
.store-moa-bar { position:absolute; left:0; right:0; bottom:0; height:50%; background:var(--orange); color:#fff; padding:16px 20px; display:flex; flex-direction:column; justify-content:center; will-change:transform,opacity; transform:translate3d(0,100%,0); opacity:0; transition:transform .22s ease-out, opacity .18s ease-out; pointer-events:none; backface-visibility:hidden; z-index:10; }
.store-moa-card:hover { transform:none; box-shadow:none; z-index:auto; border-color:var(--orange); }
.store-moa-card.is-open .store-moa-bar { transform:translate3d(0,0,0); opacity:1; pointer-events:auto; }
.store-moa-card-clip { position:relative; overflow:hidden; border-radius:inherit; isolation:isolate; }
.store-moa-img { aspect-ratio:4/3; overflow:hidden; border-radius:12px 12px 0 0; display:flex; align-items:center; justify-content:center; background:#c8c5c0; }
.store-moa-img img { width:65%; aspect-ratio:1/1; object-fit:contain; background:#fff; border-radius:8px; padding:12px; box-shadow:0 2px 12px rgba(0,0,0,.10); }
.store-moa-card:hover .store-moa-img img { transform:none; }
.store-moa-img-placeholder { width:65%; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; font-family:var(--font-b); font-size:11px; font-weight:600; color:#bbb; background:#fff; border-radius:8px; box-shadow:0 2px 12px rgba(0,0,0,.10); text-align:center; padding:8px; line-height:1.3; }
.store-moa-body { padding:18px 20px 20px; }
.store-moa-expand-btn { position:absolute; bottom:8px; right:10px; width:28px; height:28px; border-radius:50%; background:var(--orange); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:5; transition:transform .2s ease; }
.store-moa-expand-btn svg { transition:transform .2s ease; }
.store-moa-card.is-open .store-moa-expand-btn svg { transform:rotate(180deg); }
.store-moa-cat { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); margin-bottom:6px; }
.store-moa-name { font-family:var(--font-d); font-size:19px; font-weight:700; color:var(--dark); margin-bottom:4px; }
.store-moa-local { font-size:14px; color:var(--muted); }
.store-moa-loc { font-size:14px; color:var(--muted); }
.store-moa-loc-arrow { color:var(--orange); margin-left:2px; }
.no-results { text-align:center; padding:80px 20px; color:var(--muted); font-size:16px; }
.stores-load-more { text-align:center; padding:40px; }

/* ── LOJA PAGE ── */
.loja-hero { position:relative; height:50vh; min-height:380px; overflow:hidden; margin-top:88px; }

/* ── LOJA PAGE — Conceito B: Foto Overlay ── */
.lb-hero { height:280px; position:relative; overflow:visible; }
.lb-hero-bg { position:absolute; inset:0; overflow:hidden; background-size:cover; background-position:center 30%; }
.lb-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,32,80,.92) 0%,rgba(27,79,168,.82) 55%,rgba(27,79,168,.55) 100%); }
.lb-breadcrumb-bar { position:relative; z-index:2; background:var(--gold); padding:10px 8vw; display:flex; align-items:center; gap:8px; }
.lb-breadcrumb-link { font-size:11px; font-weight:800; color:#0a2050; text-decoration:none; letter-spacing:.06em; text-transform:uppercase; transition:opacity .2s; }
.lb-breadcrumb-link:hover { opacity:.7; }
.lb-breadcrumb-sep { font-size:11px; color:rgba(10,32,80,.35); }
.lb-breadcrumb-cur { font-size:11px; color:rgba(10,32,80,.6); letter-spacing:.04em; text-transform:uppercase; }
.lb-content-area { background:var(--bg); padding-bottom:250px; }
.lb-card-wrap { padding:0 8vw; margin-top:-140px; position:relative; z-index:2; }
.lb-card { background:#fff; border-radius:16px; border:1px solid var(--border); box-shadow:0 16px 64px rgba(0,0,0,.18); position:relative; overflow:hidden; padding:22px 300px 22px 26px; height:340px; }
.lb-card-left { position:relative; z-index:1; }
.lb-card-ident { display:flex; align-items:flex-start; gap:14px; margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.lb-logo-box { width:56px; height:56px; border-radius:10px; background:var(--bg); border:1px solid var(--border); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-d); font-size:22px; font-weight:900; color:var(--dark); overflow:hidden; }
.lb-logo-box img { width:100%; height:100%; object-fit:contain; padding:6px; }
.lb-cat { font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:3px; }
.lb-name { font-family:var(--font-d); font-size:clamp(20px,2vw,30px); font-weight:900; color:var(--dark); line-height:1.15; margin-bottom:3px; }
.lb-local { font-size:14px; color:var(--muted); }
.lb-desc { font-size:15px; color:var(--text); line-height:1.6; margin-bottom:12px; max-width:560px; }
.lb-contacts { display:flex; flex-direction:column; gap:6px; max-width:420px; }
.lb-contact-item { display:flex; align-items:center; gap:10px; padding:6px 0; text-decoration:none; transition:color .2s; cursor:pointer; border-bottom:1px solid var(--border); }
.lb-contact-item:last-child { border-bottom:none; }
.lb-contact-item:hover .lb-contact-val { color:var(--orange); }
.lb-contact-icon { width:24px; height:24px; border-radius:5px; background:var(--bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.lb-contact-label { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); width:80px; flex-shrink:0; }
.lb-contact-val { font-size:15px; color:var(--dark); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lb-card-photo { position:absolute; border-radius:12px; overflow:hidden; z-index:10; box-shadow:0 8px 48px rgba(0,0,0,.25); background:#c8bfb0; transform:translateZ(0); }
.lb-card-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; transition:transform .6s ease; border-radius:12px; }
.lb-card-photo:hover img { transform:scale(1.04); }

/* ═══════════════════════════════
   LOJA PAGE — novo layout lp-*
═══════════════════════════════ */
.lp-page { background:var(--bg); }

/* Breadcrumb */
.lp-breadcrumb { background:var(--gold); padding:8px 8vw; display:flex; align-items:center; gap:8px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.lp-breadcrumb-link { color:#0a2050; text-decoration:none; }
.lp-breadcrumb-link:hover { text-decoration:underline; }
.lp-breadcrumb-sep { color:#0a205066; }
.lp-breadcrumb-cur { color:#0a2050; }

/* Body */
.lp-body { padding:24px 8vw 40px; display:flex; flex-direction:column; align-items:center; }

/* Card */
.lp-card { background:#fff; border-radius:14px; border:1px solid var(--border); box-shadow:0 8px 40px rgba(0,0,0,.08); overflow:hidden; width:100%; max-width:760px; }

/* Header */
.lp-header { padding:18px 20px 14px; display:flex; align-items:flex-start; gap:14px; border-bottom:1px solid var(--border); }
.lp-logo-box { width:44px; height:44px; border-radius:8px; background:var(--bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-family:var(--font-d); font-size:18px; font-weight:700; color:var(--dark); flex-shrink:0; overflow:hidden; }
.lp-logo-box img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.lp-cat { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); margin-bottom:3px; }
.lp-name { font-family:var(--font-d); font-size:22px; font-weight:700; color:var(--dark); line-height:1.1; }
.lp-local { font-size:13px; color:var(--muted); margin-top:3px; }

/* Descrição */
.lp-desc { padding:20px 24px 0; font-size:15px; color:var(--text); line-height:1.65; margin:0; }

/* Fotos */
.lp-fotos-wrap { display:flex; justify-content:center; background:#f5f4f1; padding:28px 24px; border-bottom:1px solid var(--border); }
.lp-fotos-grid { display:none; }
.lp-foto-main { width:100%; max-width:460px; border-radius:10px; overflow:hidden; background:var(--bg); aspect-ratio:3/4; }
.lp-foto-main img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.lp-foto-sm { border-radius:10px; overflow:hidden; background:var(--bg); }
.lp-foto-sm img { width:100%; height:100%; object-fit:cover; display:block; }
.lp-foto-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family:var(--font-d); font-size:28px; font-weight:700; color:var(--border); background:var(--bg); }

/* Contatos — reaproveitando lb-contacts */
.lp-contacts { padding:16px 24px 28px; }

/* Navegação lp-store-nav reaproveitando .lb-store-nav */
.lp-store-nav { padding:48px 8vw 48px; background:var(--bg); margin-top:40px; }

/* Navegação loja anterior/próxima */
.lb-store-nav { padding:48px 8vw 48px; background:var(--bg); margin-top:32px; }
.lb-nav-btn-wrap { display:flex; align-items:center; justify-content:center; gap:32px; max-width:860px; margin:0 auto; }
.lb-nav-btn { display:flex; align-items:center; gap:8px; padding:10px 16px; border-radius:8px; border:1px solid var(--border); background:#fff; color:var(--dark); text-decoration:none; font-size:13px; font-weight:600; font-family:var(--font-b); transition:border-color .2s, color .2s; max-width:40%; }
.lb-nav-btn:hover { border-color:var(--orange); color:var(--orange); }
.lb-nav-btn span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lb-nav-next span { text-align:right; }
.lb-nav-disabled { display:flex; align-items:center; gap:8px; padding:10px 16px; border-radius:8px; border:1px solid var(--border); background:#fff; color:var(--border); font-size:13px; max-width:40%; opacity:.4; cursor:default; }
.lb-nav-count { font-size:12px; color:var(--muted); white-space:nowrap; }

@media(max-width:1024px){ .lb-card { padding-right:min(260px,24vw); } .lb-card-photo { width:min(240px,22vw); } }
@media(max-width:767px){
  .lb-hero { height:200px; }
  .lb-content-area { padding-bottom:80px; }
  .lb-card-wrap { margin-top:-60px; padding:0 5vw; }
  .lb-card { padding:20px 18px 20px; overflow:hidden; border-radius:12px; }
  .lb-card-photo { position:relative; right:auto; top:auto; bottom:auto; width:100%; height:220px; border-radius:0 0 12px 12px; margin:20px -18px -20px; width:calc(100% + 36px); }
  .lb-contacts { grid-template-columns:1fr; }
  .lb-breadcrumb-bar { padding:8px 5vw; }
}
  .lb-content-area { padding-bottom:80px; }
  .lb-card-wrap { margin-top:-60px; padding:0 5vw; }
  .lb-card { grid-template-columns:1fr; overflow:hidden; }
  .lb-card-photo { height:240px; order:-1; border-radius:16px 16px 0 0; margin:0; }
  .lb-card-left { border-radius:0 0 16px 16px; padding:20px 18px; }
  .lb-contacts { grid-template-columns:1fr; }
  .lb-breadcrumb-bar { padding:14px 5vw; }
}
  .lb-card { grid-template-columns:1fr; overflow:hidden; }
  .lb-card-photo { height:240px; order:-1; border-radius:16px 16px 0 0; margin:0; }
  .lb-card-left { padding:20px 18px; }
  .lb-contacts { grid-template-columns:1fr; }
  .lb-breadcrumb-bar { padding:14px 5vw 0; }
}
  .lb-card-top { gap:14px; }
  .lb-logo-box { width:52px; height:52px; font-size:20px; }
  .lb-contacts { grid-template-columns:1fr; }
  .lb-fotos { grid-template-columns:1fr 1fr; gap:8px; }
}
.loja-hero img { width:100%; height:100%; object-fit:cover; }
.loja-hero-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,20,20,.85) 0%,rgba(20,20,20,.2) 60%); }
.loja-hero-content { position:absolute; bottom:0; left:0; right:0; padding:32px 8vw; }
.loja-cat { font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.loja-name { font-family:var(--font-d); font-size:clamp(28px,4vw,52px); font-weight:900; color:#fff; }
.loja-local { font-size:14px; color:rgba(255,255,255,.7); margin-top:6px; }
.loja-body { max-width:900px; margin:0 auto; padding:48px 8vw; }
.loja-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:36px; }
.loja-info-item { background:var(--bg); border-radius:var(--r1); padding:20px; }
.loja-info-label { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:6px; }
.loja-info-val { font-size:15px; font-weight:700; color:var(--dark); }
.loja-actions { display:flex; gap:12px; flex-wrap:wrap; }
.ofertas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
.oferta-card { border:1px solid var(--border); border-radius:var(--r1); overflow:hidden; }
.oferta-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.oferta-info { padding:14px; }
.oferta-titulo { font-weight:700; font-size:15px; color:var(--dark); margin-bottom:4px; }
.oferta-preco { font-size:13px; color:var(--muted); }

/* ── EVENTOS PAGE ── */
/* ── EVENTOS PAGE ── */
/* Seções */
.ev-proximos-section { padding:64px 8vw 56px; background:#fff; border-bottom:1px solid var(--border); }
.ev-realizados-section { padding:64px 8vw 80px; background:var(--bg); }
.ev-section-head { margin-bottom:32px; }

/* Próximos — linha de cards horizontal */
.ev-proximos-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ev-proximo-card { border-radius:var(--r2); overflow:hidden; border:1px solid var(--border); background:#fff; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; }
.ev-proximo-card:hover { transform:translateY(-4px); box-shadow:var(--shadow2); }
.ev-proximo-thumb { aspect-ratio:1/1; background:var(--dark) center/cover no-repeat; position:relative; overflow:hidden; }
.ev-proximo-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.ev-proximo-placeholder { border-radius:var(--r2); overflow:hidden; border:1.5px dashed var(--border); background:var(--bg); }
.ev-proximo-placeholder-thumb { aspect-ratio:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.ev-proximo-placeholder-icon { width:40px; height:40px; border-radius:50%; background:#e8e6e0; display:flex; align-items:center; justify-content:center; }
.ev-proximo-placeholder-icon svg { width:18px; height:18px; stroke:#aaa; }
.ev-proximo-placeholder-label { font-size:12px; font-weight:700; color:#aaa; letter-spacing:.04em; }
.ev-proximo-placeholder-footer { padding:11px 14px; border-top:1px solid var(--border); }
.ev-proximo-placeholder-footer span { font-size:11px; color:#bbb; }
.ev-badge { position:absolute; top:10px; left:10px; font-size:10px; font-weight:700; padding:3px 10px; border-radius:20px; letter-spacing:.04em; }
.ev-badge-breve { background:var(--orange); color:#fff; }
.ev-badge-confirmado { background:#1B4FA8; color:#fff; }
.ev-proximo-body { padding:14px 16px 16px; }
.ev-proximo-date { font-size:11px; color:var(--muted); margin-bottom:5px; display:flex; align-items:center; gap:5px; }
.ev-proximo-name { font-family:var(--font-d); font-size:16px; font-weight:700; color:var(--dark); line-height:1.3; }
.ev-proximo-local { font-size:14px; color:var(--muted); margin-top:4px; }
.ev-proximo-promo { font-size:13px; color:var(--orange); font-weight:600; margin-top:6px; padding-top:6px; border-top:1px solid var(--border); line-height:1.4; }

/* Filtro por ano */
.ev-filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.ev-year-pill { font-size:15px; font-weight:600; padding:7px 20px; border-radius:50px; border:1.5px solid var(--border); background:#fff; color:var(--muted); cursor:pointer; transition:all .2s ease; }
.ev-year-pill:hover { border-color:var(--orange); color:var(--orange); }
.ev-year-pill.active { background:var(--orange); color:#fff; border-color:var(--orange); }

/* Galeria realizados — grid 3 colunas */
.ev-galeria-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:240px; gap:8px; }
.ev-g-card { position:relative; border-radius:var(--r2); overflow:hidden; cursor:pointer; }
.ev-g-card-grande { grid-column:span 2; grid-row:span 2; }
.ev-g-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }

/* Paginação galeria */
.ev-galeria-nav { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px; min-height:48px; }
.ev-galeria-nav-btn { width:42px; height:42px; border-radius:50%; border:1px solid var(--border); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s; flex-shrink:0; }
.ev-galeria-nav-btn:hover:not(:disabled) { background:var(--orange); border-color:var(--orange); color:#fff; }
.ev-galeria-nav-btn:disabled { opacity:.28; cursor:not-allowed; }
.ev-galeria-nav-info { font-size:15px; color:var(--muted); min-width:80px; text-align:center; }
.ev-g-card:hover img { transform:scale(1.04); }
.ev-g-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,20,20,.45) 0%,transparent 55%); }
.ev-g-badge { position:absolute; top:10px; right:10px; font-size:10px; font-weight:700; background:rgba(0,0,0,.45); color:rgba(255,255,255,.85); padding:3px 8px; border-radius:6px; backdrop-filter:blur(4px); }
.ev-g-info { position:absolute; bottom:14px; left:14px; right:14px; background:#E31E24; border-radius:10px; padding:13px 15px; transition:transform var(--trans), box-shadow var(--trans); z-index:1; }
.ev-g-card:hover .ev-g-info { transform:translateY(-4px); box-shadow:0 8px 24px rgba(227,30,36,.4); }
.ev-g-tag { font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:3px; }
.ev-g-name { font-family:var(--font-d); font-size:clamp(13px,1.3vw,17px); font-weight:700; color:#fff; line-height:1.2; }
.ev-g-meta { font-size:11px; color:rgba(255,255,255,.7); margin-top:3px; }

/* Vazio galeria */
.ev-galeria-empty { grid-column:1/-1; padding:64px 0; text-align:center; }
.ev-galeria-empty-icon { color:var(--border); margin-bottom:16px; display:flex; justify-content:center; }
.ev-galeria-empty-txt { font-size:16px; font-weight:600; color:var(--muted); }
.ev-galeria-empty-sub { font-size:13px; color:var(--muted); margin-top:6px; opacity:.7; }

/* Responsive */
@media(max-width:1024px){
  .ev-galeria-grid { grid-template-columns:repeat(2,1fr); }
  .ev-g-card-grande { grid-column:span 2; }
}
@media(max-width:767px){
  .ev-proximos-section, .ev-realizados-section { padding:48px 5vw; }
  .ev-proximos-row { grid-template-columns:repeat(2,1fr); gap:12px; }
  .ev-galeria-grid { grid-template-columns:1fr 1fr; grid-auto-rows:auto; gap:6px; }
  .ev-g-card-grande { grid-column:span 2; grid-row:span 1; aspect-ratio:16/9; }
  .ev-g-card { aspect-ratio:4/3; }
}

/* ── EVENTO GALERIA ── */
.evento-header { background:var(--dark); padding:48px 8vw; margin-top:88px; }
/* ── EVENTO PAGE ── */
.ev-page-breadcrumb { padding:12px 8vw; font-size:12px; color:var(--muted); display:flex; align-items:center; gap:8px; background:var(--bg); border-bottom:1px solid var(--border); margin-top:182px; }
.ev-page-breadcrumb a { color:var(--muted); text-decoration:none; transition:color var(--trans); }
.ev-page-breadcrumb a:hover { color:var(--orange); }

/* Hero */
.ev-page-hero { display:grid; grid-template-columns:220px 1fr; gap:40px; padding:48px 8vw 52px; background:#fff; align-items:start; }
.ev-page-thumb { width:220px; aspect-ratio:9/16; border-radius:14px; overflow:hidden; position:relative; flex-shrink:0; background:var(--dark); cursor:pointer; }
.ev-page-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.ev-page-thumb:hover img { transform:scale(1.04); }
.ev-page-thumb-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.65) 100%); }
.ev-page-thumb-zoom { position:absolute; top:12px; right:12px; width:32px; height:32px; border-radius:50%; background:rgba(0,0,0,.35); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .2s; }
.ev-page-thumb:hover .ev-page-thumb-zoom { opacity:1; }
.ev-page-thumb-box { position:absolute; bottom:14px; left:14px; right:14px; background:#E31E24; border-radius:10px; padding:12px 14px; transition:transform var(--trans), box-shadow var(--trans); }
.ev-page-thumb:hover .ev-page-thumb-box { transform:translateY(-4px); box-shadow:0 8px 24px rgba(227,30,36,.4); }
.ev-ptb-tag  { font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:3px; }
.ev-ptb-name { font-family:var(--font-d); font-size:clamp(16px,1.6vw,22px); font-weight:700; color:#fff; line-height:1.2; }
.ev-ptb-meta { font-size:11px; color:rgba(255,255,255,.7); margin-top:3px; }

.ev-page-info { padding-top:4px; }
.ev-page-title { font-family:var(--font-d); font-size:clamp(28px,3.5vw,52px); font-weight:900; color:var(--dark); line-height:1.15; margin-bottom:24px; }
.ev-page-title em { color:var(--orange); font-style:italic; }
.ev-page-metas { display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.ev-page-meta-item { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text); }
.ev-page-meta-icon { width:30px; height:30px; border-radius:7px; background:var(--bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--orange); }
.ev-page-desc { font-size:15px; color:var(--muted); line-height:1.8; padding:16px 18px; background:var(--bg); border-radius:10px; border-left:3px solid var(--orange); }

/* Campos opcionais: promoção, regras */
#ev-page-extras { display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
.ev-extra-block { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:10px; border:1px solid var(--border); background:#fff; }
.ev-extra-promo { border-left:3px solid var(--orange); }
.ev-extra-regras { border-left:3px solid #1B4FA8; }
.ev-extra-icon { width:28px; height:28px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.ev-extra-promo .ev-extra-icon { background:rgba(249,115,22,.1); color:var(--orange); }
.ev-extra-regras .ev-extra-icon { background:rgba(27,79,168,.1); color:#1B4FA8; }
.ev-extra-label { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.ev-extra-text { font-size:14px; color:var(--text); line-height:1.6; white-space:pre-line; }
.ev-extra-sub { font-size:12px; color:var(--muted); margin-top:3px; }

/* Regras colapsáveis */
.ev-extra-regras-header { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; user-select:none; }
.ev-extra-regras-header .ev-extra-label { margin-bottom:0; }
.ev-extra-toggle-btn { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#1B4FA8; background:rgba(27,79,168,.08); border:none; border-radius:6px; padding:5px 10px; cursor:pointer; white-space:nowrap; transition:background .2s; flex-shrink:0; }
.ev-extra-toggle-btn:hover { background:rgba(27,79,168,.16); }
.ev-extra-toggle-btn svg { transition:transform .3s ease; }
.ev-extra-toggle-btn.open svg { transform:rotate(180deg); }
.ev-extra-regras-body { max-height:0; overflow:hidden; transition:max-height .4s ease, opacity .3s ease, margin-top .3s ease; opacity:0; margin-top:0; }
.ev-extra-regras-body.open { max-height:2000px; opacity:1; margin-top:10px; }

/* Galeria */
.ev-page-gallery-section { padding:48px 8vw 72px; background:var(--bg); }
.ev-page-gallery-section.no-fotos { padding:32px 8vw 40px; }
.ev-gallery-empty-badge { font-size:15px; font-weight:400; color:#bbb; margin-left:8px; vertical-align:baseline; font-family:var(--font-b); }
.ev-page-gallery-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; }
.ev-page-gallery-title { font-family:var(--font-d); font-size:clamp(22px,2.5vw,36px); font-weight:900; color:var(--dark); }
.ev-page-gallery-title em { color:var(--orange); font-style:italic; }
.ev-page-photo-count { font-size:15px; color:var(--muted); }

.ev-gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(4,180px); gap:6px; }
.ev-gallery-grid:empty { display:none; }
.ev-g-item { border-radius:10px; overflow:hidden; cursor:pointer; }
.ev-g-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ev-g-item:hover img { transform:scale(1.05); }
.ev-g-more { border-radius:10px; background:linear-gradient(135deg,#0a2050 0%,#1B4FA8 100%); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; cursor:pointer; transition:filter var(--trans); }
.ev-g-more:hover { filter:brightness(1.12); }
.ev-g-more-num { font-family:var(--font-d); font-size:32px; font-weight:900; color:#fff; line-height:1; }
.ev-g-more-txt { font-size:12px; color:rgba(255,255,255,.6); letter-spacing:.06em; }
.ev-g-empty { border-radius:10px; background:var(--border2); }

@media(max-width:1024px){
  .ev-gallery-grid { grid-template-rows:repeat(4,150px); }
}
@media(max-width:767px){
  .ev-page-breadcrumb { margin-top:0; }
  .ev-page-hero { grid-template-columns:1fr; gap:24px; padding:24px 5vw 32px; }
  .ev-page-thumb { width:100%; max-width:100%; aspect-ratio:4/5; }
  .ev-page-gallery-section { padding:36px 5vw 56px; }
  .ev-gallery-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:unset; grid-auto-rows:100px; }
}

/* ── CONTATO ── */
/* ── CONTATO ── */
.contato-layout { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 96px); margin-top:182px; }
.contato-left { padding:80px 6vw 72px; background:#fff; }
.contato-label { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:10px; display:block; }
.contato-field { display:flex; flex-direction:column; gap:6px; margin-bottom:20px; }
.contato-label-field { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); display:block; margin-bottom:6px; }
.contato-input, .contato-select, .contato-textarea { width:100%; padding:14px 16px; border:1px solid var(--border); border-radius:var(--r1); font-size:14px; font-family:var(--font-b); color:var(--dark); outline:none; transition:border-color var(--trans); background:#fff; }
.contato-input:focus, .contato-select:focus, .contato-textarea:focus { border-color:var(--orange); }
.contato-textarea { resize:vertical; min-height:140px; }

/* Painel direito — foto full-height */
.contato-right { position:relative; overflow:hidden; }
.contato-right img { width:100%; height:100%; object-fit:cover; display:block; }

/* Info rápida abaixo do título */
.contato-meta { display:flex; flex-direction:column; gap:8px; margin-bottom:32px; }
.contato-meta span { display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); }
.contato-meta svg { color:var(--orange); flex-shrink:0; }

/* ── HISTÓRIA ── */
.historia-hero { background:var(--dark); }
.historia-body { background:var(--white); }
.historia-section { margin-bottom:56px; }
.historia-section h2 { font-family:var(--font-d); font-size:clamp(22px,2.5vw,34px); font-weight:900; color:var(--dark); margin-bottom:16px; }
.historia-section p { font-size:16px; color:var(--text); line-height:1.8; margin-bottom:16px; }
.historia-section img { width:100%; border-radius:var(--r2); margin:24px 0; }
.historia-timeline { border-left:3px solid var(--orange); padding-left:28px; margin:32px 0; }
.historia-year { font-family:var(--font-d); font-size:22px; font-weight:900; color:var(--orange); margin-bottom:4px; }
.historia-year-desc { font-size:15px; color:var(--text); line-height:1.7; margin-bottom:24px; }

/* ── ADMIN / LOJISTA ── */
.auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--bg); padding:20px; }
.auth-box { background:#fff; border-radius:var(--r2); padding:40px 36px; width:100%; max-width:420px; box-shadow:var(--shadow2); }
.admin-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.admin-form-row-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.admin-stat-card { background:var(--bg); border-radius:var(--r1); padding:20px; text-align:center; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — Mobile First
   ════════════════════════════════════════════════════════════ */

/* ── TABLET (≤1024px) ── */
@media(max-width:1024px){
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .testi-grid { grid-template-columns:repeat(2,1fr); }
  .stores-moa-grid { grid-template-columns:repeat(2,1fr); gap:12px; padding:32px 5vw 56px; }

  .ofertas-grid { grid-template-columns:repeat(2,1fr); }
  #promo-banner { grid-template-columns:180px auto 1fr; min-height:300px; }
  .promo-cubo-dir { display:none; }
  .promo-banner-img { width:300px; }
  .promo-banner-text { padding:40px 32px; }
}

/* ── MOBILE (≤768px) ── */
@media(max-width:768px){
  /* Nav */
  .nav-center, .nav-ig-btn { display:none; }
  .nav-right .btn-orange { display:none; }
  

.nav-burger { display:flex; }
  #nav { padding:0 5vw; }

  /* Info strip — oculto no mobile */
  #info-strip { display:none; }
  #top-bar { display:none; }

  /* Hero mobile — full viewport */
  #hero { height:100svh; height:100vh; margin-top:0; }
  .hero-pills-bar { display:none; }
  .hero-content { padding:0 6vw; justify-content:flex-end; padding-bottom:10vh; }
  .hero-title { font-size:clamp(28px,8vw,48px); }
  .hero-sub { font-size:15px; max-width:100%; display:none; }
  .hero-actions { flex-direction:column; gap:12px; }
  .hero-actions .btn { width:100%; justify-content:center; min-height:52px; font-size:15px; }
  .hero-fallback img { object-position:center 20%; opacity:.7; mix-blend-mode:normal; filter:brightness(.6); }

  /* Orange strip */
  .orange-strip { flex-direction:column; gap:8px; padding:12px 6vw; text-align:center; }

  /* Stats */
  .stats-grid { grid-template-columns:1fr 1fr; }
  .stat-item:nth-child(2) { border-right:none; }
  .stat-num { font-size:clamp(28px,7vw,42px); }

  /* Services */
  .services-intro { padding:0 6vw 36px; }
  .services-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .svc-card { height:180px; }

  /* Stores home */
  #moa-grid { grid-template-columns:1fr; gap:16px; padding:0 5vw; }
  .stores-home-header { padding:0 5vw 32px; flex-direction:column; align-items:flex-start; }
  .moa-card-img { height:180px; }

  /* Events */
  .events-header { padding:0 5vw 28px; flex-direction:column; align-items:flex-start; }
  .ev-slide { width:78vw; max-width:300px; }
  .events-carousel-outer { overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .events-carousel-outer::-webkit-scrollbar { display:none; }
  .events-carousel-track { transform:none!important; }
  .ev-slide { scroll-snap-align:start; }
  .ev-dots { display:flex; }
  .ev-prev, .ev-next { display:none; }

  /* Promo */
  #promo-banner { grid-template-columns:1fr; padding:40px 5vw 0; }
  .promo-cubo-esq { display:none; }
  .promo-cubo-dir { display:none; }
  .promo-banner-img { width:100%; max-width:100%; padding-left:0; }
  .promo-banner-img img { border-radius:12px; }
  .promo-banner-text { padding:32px 0; }

  /* Instagram */
  .ig-layout { flex-direction:column; gap:32px; padding:0 5vw; }
  .ig-feed-col { width:100%; }
  .ig-text-col .ig-badge { justify-content:center; }
  .ig-title { text-align:center; }
  .ig-sub { text-align:center; margin-left:auto; margin-right:auto; }

  /* Testimonials */
  .testi-grid { grid-template-columns:1fr; padding:0 5vw; gap:16px; }
  .testimonials-header { padding:0 5vw; }

  /* Hours */
  .hours-layout { grid-template-columns:1fr; }
  .hours-left { padding:40px 5vw; }
  .hours-map { min-height:320px; }
  .hours-map > div { min-height:320px; }

  /* Footer mobile — redesign limpo inspirado no WP */
  #footer { padding:0 0 max(24px,env(safe-area-inset-bottom)); }
  #footer::before { margin:0 0 40px; }
  .footer-grid { display:none; } /* grid desktop oculto no mobile */
  .footer-bar { display:none; }  /* bar desktop oculta no mobile */

  /* Footer mobile: logo + info essencial + contatos + copyright */
  .footer-mobile-block { display:flex !important; }

  /* Pages */
  .page-hero { padding:40px 5vw; margin-top:0; }
  .historia-hero { margin-top:0; }
  #nav { padding:10px 5vw; position:relative; top:auto; box-shadow:none; } .nav-logo img { height:72px; }
  .loja-hero { margin-top:76px; }
  .contato-layout { grid-template-columns:1fr; margin-top:0; }
  .contato-right { display:none; }
  .contato-left { padding:40px 5vw; }
  .contato-left::before {
    content:'';
    display:block;
    width:calc(100% + 10vw);
    margin:-40px -5vw 32px -5vw;
    height:220px;
    background:url('../uploads/contato-hero.webp') center/cover no-repeat;
    border-radius:0;
  }
  .contato-form-row { grid-template-columns:1fr; }


  .stores-moa-grid { grid-template-columns:1fr; }
  .store-moa-bar { display:none; }
  .loja-info-grid { grid-template-columns:1fr; }
  .ofertas-grid { grid-template-columns:1fr; }
  .admin-form-row, .admin-form-row-3 { grid-template-columns:1fr; }
  .admin-stat-grid { grid-template-columns:1fr 1fr; }
  .filter-bar-sticky { top:76px; padding:12px 5vw; }
  .promo-banner-actions { flex-direction:column; }
  .historia-body { padding:40px 5vw; }

  /* Tap targets iOS ≥ 44px */
  .nav-mobile a { min-height:44px; display:flex; align-items:center; padding:10px 5vw; font-size:16px; }
  .nav-mobile-cta { min-height:48px; justify-content:center; border-radius:8px; }
  .filter-btn { min-height:44px; padding:10px 14px; font-size:14px; }
  .lb-contact-item { min-height:44px; }
  .ev-year-pill { min-height:44px; padding:10px 16px; }
  .lb-nav-btn { min-height:44px; }
  .load-more-btn { min-height:48px; }
  .btn { min-height:48px; }

  /* Sem scroll horizontal — overflow guard */
  html, body { overflow-x:hidden; max-width:100vw; }
  /* overflow-x removido de section/main — quebraria position:sticky */

  /* Full-bleed mobile — seções sem padding lateral */
  #stats, #services, #stores-home, #events-home, #hours-ig-home { padding-left:0; padding-right:0; }
  .services-intro { padding-left:5vw; padding-right:5vw; }
  .services-mosaic { border-radius:0; }
  .svc-card { border-radius:0; }
  #promo-banner { padding-left:0; padding-right:0; border-radius:0; }
  .promo-banner-text { padding-left:5vw; padding-right:5vw; }
  
  /* Inputs ≥ 16px para evitar zoom iOS */
  input, textarea, select { font-size:16px !important; }
  .nav-search-input { font-size:16px; }

}

/* ── SMALL MOBILE (≤480px) ── */
@media(max-width:480px){
  .services-mosaic { grid-template-columns:1fr; grid-template-rows:auto; }
  .svc-card { height:200px; }
  .stat-item { padding:20px 12px; }
  .map-balloon { width:190px; bottom:12px; left:10px; }
  .map-balloon-img { height:90px; }
  .ev-slide { width:88vw; }
}

/* HOURS + INSTAGRAM UNIFICADO */
#hours-ig-home { background:var(--white); padding:80px 0; }
.hours-ig-layout {
  display:grid; grid-template-columns:1fr;
  gap:0; padding:0 8vw;
  align-items:start;
}
.hours-ig-left {}
.hours-ig-right {}

/* MAPA */
#map-section { background:var(--bg); padding:80px 0; scroll-margin-top:96px; }
.map-section-layout {
  display:grid; grid-template-columns:1fr 2fr;
  gap:64px; padding:0 8vw;
  align-items:center;
}
.map-section-left {}
.map-address { font-size:16px; color:var(--dark); line-height:1.75; margin-top:16px; }
.map-tip { font-size:14px; color:var(--muted); line-height:1.75; margin-top:8px; }
.map-section-right { height:420px; border-radius:16px; overflow:hidden; }
.map-section-right > div { border-radius:16px; }

@media(max-width:768px){
  .hours-ig-layout { grid-template-columns:1fr; gap:48px; }
  .map-section-layout { grid-template-columns:1fr; }
  .map-section-right { height:280px; }
}


/* ════════════════════════════════════════
   MOBILE — breakpoints pendentes
════════════════════════════════════════ */
@media(max-width:767px){

  /* Hero mobile */
  #hero { height:56vw; min-height:320px; max-height:480px; margin-top:106px; }
  .hero-video-wrap video { width:100%; height:100%; top:0; left:0; transform:none; min-width:unset; min-height:unset; object-fit:cover; object-position:center center; }
  .hero-content { padding:0 5vw; }
  .hero-title { font-size:clamp(26px,7vw,42px); }
  .hero-sub { font-size:14px; max-width:100%; }

  /* lojas.html — 4 colunas → 2 colunas → 1 coluna */
  .stores-moa-grid { grid-template-columns:repeat(2,1fr); gap:12px; padding:24px 5vw 0; }

  /* filter-bar sticky */
  .filter-bar-sticky { padding:10px 5vw; flex-wrap:wrap; gap:8px; top:68px; }
  .filter-bar { gap:6px; flex-wrap:wrap; }
  .filter-btn { font-size:13px; padding:6px 10px; }
  .filter-count { font-size:13px; }

  /* footer */
  .footer-grid { grid-template-columns:1fr; gap:32px; }

  /* ev-galeria-grid — eventos realizados */
  .ev-galeria-grid { grid-template-columns:1fr; grid-auto-rows:auto; grid-template-rows:unset; }
  .ev-g-card-grande { grid-column:span 1; grid-row:span 1; }
  .ev-g-card { aspect-ratio:4/3; }

  /* loja.html — lp-* novo layout */
  .lp-body { padding:16px 5vw 32px; }
  .lp-card { border-radius:10px; }
  .lp-header { padding:14px 16px 10px; gap:10px; }
  .lp-name { font-size:18px; }
  .lp-desc { padding:10px 16px; font-size:14px; }
  .lp-fotos-wrap { padding:10px 12px; }
  .lp-fotos-grid { grid-template-columns:1fr; grid-template-rows:200px 120px 120px; }
  .lp-foto-main { grid-row:span 1; }
  .lp-contacts { padding:10px 16px; }
  .lp-store-nav { padding:36px 5vw 36px; margin-top:32px; }

}

@media(max-width:480px){
  /* lojas.html — 1 coluna em telas muito pequenas */
  .stores-moa-grid { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════
   FOOTER MOBILE — bloco dedicado
══════════════════════════════════════ */
.footer-mobile-block {
  display:none; /* oculto no desktop */
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:48px 5vw max(32px,env(safe-area-inset-bottom));
  background:#0f0f0f;
}
.footer-mobile-logo { height:80px; margin-bottom:20px; }
.footer-mobile-tagline { font-size:18px; font-weight:700; color:#fff; margin-bottom:6px; }
.footer-mobile-sub { font-size:14px; color:rgba(255,255,255,.45); line-height:1.6; margin-bottom:28px; max-width:280px; }
.footer-mobile-contacts { width:100%; display:flex; flex-direction:column; gap:0; margin-bottom:24px; border-top:1px solid rgba(255,255,255,.07); }
.footer-mobile-contact { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.07); text-decoration:none; min-height:48px; }
.footer-mobile-contact-icon { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.07); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--orange); }
.footer-mobile-contact-text { font-size:15px; color:rgba(255,255,255,.7); text-align:left; line-height:1.4; }
.footer-mobile-social { display:flex; gap:14px; margin-bottom:32px; }
.footer-mobile-social a { width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.5); }
.footer-mobile-copy { font-size:11px; color:rgba(255,255,255,.2); line-height:1.8; }
.footer-mobile-copy a { color:rgba(255,255,255,.3); }

/* ══════════════════════════════════════
   MELHORIAS MOBILE ADICIONAIS
══════════════════════════════════════ */
@media(max-width:768px){

  /* Lojas — 1 coluna limpa */
  .stores-moa-grid { grid-template-columns:1fr !important; gap:0; padding:0; }
  .store-moa-card { border-radius:0; border-left:none; border-right:none; border-bottom:none; }
  .store-moa-card:first-child { border-top:none; }
  .store-moa-img { height:200px; }

  /* Filter bar — scroll horizontal com fade */
  .filter-bar-sticky { padding:10px 0 10px 5vw; gap:0; }
  .filter-bar { overflow-x:auto; flex-wrap:nowrap; gap:8px; padding-right:5vw; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .filter-bar::-webkit-scrollbar { display:none; }
  .filter-bar-sticky::after { content:''; position:absolute; right:0; top:0; bottom:0; width:32px; background:linear-gradient(to left,#fff,transparent); pointer-events:none; }

  /* Seções — padding lateral 5vw consistente */
  .section-intro, .stores-home-header, .events-header, .testimonials-header { padding-left:5vw; padding-right:5vw; }

  /* Botão carregar mais */
  .load-more-wrap { padding:24px 5vw 48px; }
  .load-more-btn { width:100%; min-height:52px; font-size:15px; }

  /* Nav mobile links maiores */
  .nav-mobile { padding:16px 0; }
  .nav-mobile a { padding:14px 6vw; border-bottom:1px solid rgba(0,0,0,.06); font-size:17px; }
  .nav-mobile-cta { margin:16px 6vw; border-radius:10px; font-size:16px; }

}

/* ══════════════════════════════════════
   SERVICES — sticky stack mobile
   Cada card sobe e cobre o anterior
   Desktop INALTERADO
══════════════════════════════════════ */
@media(max-width:768px){
  #services { padding:0; background:transparent; }
  .services-intro { display:none; }

  /* Container alto: 6 cards × 100vh = espaço de scroll */
  .services-mosaic {
    display:block !important;
    height:calc(6 * 100vh) !important;
    position:relative !important;
    aspect-ratio:unset !important;
    border-radius:0 !important;
    gap:0 !important;
    overflow:visible !important;
  }

  /* Cada card: sticky top:0, altura tela cheia, sobe cobrindo o anterior */
  .svc-card {
    position:sticky !important;
    top:0 !important;
    height:100svh !important;
    height:100vh !important;
    width:100% !important;
    border-radius:0 !important;
    overflow:hidden;
    cursor:pointer;
    display:block !important;
  }

  /* Z-index crescente para cada card cobrir o anterior */
  .svc-card:nth-child(1) { z-index:1; }
  .svc-card:nth-child(2) { z-index:2; }
  .svc-card:nth-child(3) { z-index:3; }
  .svc-card:nth-child(4) { z-index:4; }
  .svc-card:nth-child(5) { z-index:5; }
  .svc-card:nth-child(6) { z-index:6; }

  /* Imagem cobre tudo */
  .svc-card img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
  }

  /* Overlay sempre visível */
  .svc-card-overlay {
    display:block !important;
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
      rgba(0,0,0,.8) 0%,
      rgba(0,0,0,.3) 45%,
      rgba(0,0,0,.05) 100%);
    z-index:1;
  }

  /* Texto sempre visível na parte inferior */
  .svc-card-inner {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:28px 6vw 52px;
    z-index:2;
  }
  .svc-card-tag {
    font-size:11px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--orange);
    margin-bottom:8px;
    display:block;
  }
  .svc-card-title {
    font-family:var(--font-d);
    font-size:clamp(26px,8vw,40px);
    font-weight:900;
    color:#fff;
    line-height:1.1;
    margin-bottom:6px;
    text-shadow:0 2px 12px rgba(0,0,0,.4);
  }
  .svc-card-desc {
    font-size:15px;
    color:rgba(255,255,255,.8);
    line-height:1.5;
    text-shadow:0 1px 6px rgba(0,0,0,.4);
  }
}