:root{
  --navy:#0b1520;
  --navy-2:#111f2e;
  --navy-3:#16283b;
  --gold:#d19a2a;
  --gold-2:#e8b846;
  --gold-soft:#f2d9a3;
  --cream:#faf6ee;
  --line:rgba(209,154,42,.25);
  --fire:#e0632f;
  --fire-2:#ff8a4c;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',sans-serif;
  background:var(--cream);
  color:var(--navy);
  overflow-x:hidden;
}
h1,h2,h3,.serif{font-family:'Poppins',sans-serif; letter-spacing:-.01em;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}

/* topper strip - bottle cap pattern */
.capstrip{
  height:10px;
  background-image: repeating-radial-gradient(circle at 10px 5px, var(--gold) 0 3.5px, transparent 4px 20px);
  background-size:20px 10px;
  background-color:var(--navy);
}

/* zigzag divider like a bottle cap edge */
.zigzag{
  height:14px; width:100%;
  background:
    linear-gradient(135deg, var(--cream) 25%, transparent 25%) 0 0,
    linear-gradient(225deg, var(--cream) 25%, transparent 25%) 0 0;
  background-size:16px 14px;
  background-color:var(--navy);
}
.zigzag.flip{ transform:scaleY(-1); }

/* NAV */
header.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(11,21,32,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 24px;}
.brand{display:flex; align-items:center; gap:10px; color:var(--gold-soft);}
.brand img{width:38px; height:38px;}
.brand span{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.25rem; letter-spacing:.06em; color:var(--gold-2);}
.nav-links{display:flex; gap:28px; font-size:.92rem; font-weight:500; color:#cdd6de;}
.nav-links a:hover{color:var(--gold-2);}
.nav-cta{
  display:flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,#2fbf5f,#1fa851);
  color:#fff; padding:9px 18px; border-radius:30px;
  font-weight:700; font-size:.88rem;
  box-shadow:0 6px 16px rgba(31,168,81,.35);
}
@media(max-width:820px){ .nav-links{display:none;} }

/* TICKER - bar sign marquee */
.ticker{background:var(--gold); overflow:hidden; padding:9px 0; position:relative; z-index:5;}
.ticker-track{display:flex; flex-wrap:nowrap; width:max-content; will-change:transform; animation:ticker-scroll 24s linear infinite;}
.ticker-track span{display:inline-flex; flex:0 0 auto; align-items:center; padding-right:36px; color:var(--navy); font-weight:800; font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap;}
@keyframes ticker-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* HERO */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(209,154,42,.2), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(209,154,42,.12), transparent 55%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  color:#fff;
  padding:64px 24px 90px;
  text-align:center;
}
.hero-decor{position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden;}
.float-ic{position:absolute; font-size:2.6rem; opacity:.16; animation:floaty 7s ease-in-out infinite;}
.fi1{top:14%; left:7%; animation-duration:7s;}
.fi2{top:68%; left:11%; animation-duration:9s; animation-delay:.5s; font-size:2.1rem;}
.fi3{top:18%; right:8%; animation-duration:8s; animation-delay:1s;}
.fi4{top:72%; right:12%; animation-duration:6.5s; animation-delay:.2s; font-size:2.2rem;}
.fi5{top:42%; left:4%; animation-duration:10s; animation-delay:1.5s; opacity:.1; font-size:1.8rem;}
.fi6{top:38%; right:3%; animation-duration:9.5s; animation-delay:.8s; opacity:.12; font-size:2rem;}
@keyframes floaty{ 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-20px) rotate(6deg);} }

.bubble{position:absolute; bottom:-40px; border-radius:50%; background:rgba(209,154,42,.4); animation:rise linear infinite; pointer-events:none;}
@keyframes rise{ 0%{transform:translateY(0) scale(1); opacity:0;} 12%{opacity:.7;} 100%{transform:translateY(-560px) scale(.4); opacity:0;} }

.hero-grid{
  position:relative; z-index:1;
  max-width:760px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center;
}
.hero-visual{margin-bottom:26px;}
.hero-visual .logo-plate{
  background:radial-gradient(circle at 50% 30%, rgba(209,154,42,.18), transparent 65%);
  border:1px solid var(--line); border-radius:28px; padding:18px;
  animation:floaty 6s ease-in-out infinite;
}
.hero-visual img{width:170px; border-radius:16px; filter:drop-shadow(0 12px 24px rgba(0,0,0,.35));}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line); color:var(--gold-soft);
  padding:6px 14px; border-radius:30px; font-size:.78rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; margin-bottom:22px;
}
.hero-badge .dot{width:7px; height:7px; border-radius:50%; background:#2fbf5f; box-shadow:0 0 0 3px rgba(47,191,95,.25);}
.hero-badge.closed .dot{background:#e05c5c; box-shadow:0 0 0 3px rgba(224,92,92,.25);}
.hero h1{font-size:2.9rem; line-height:1.15; font-weight:800; margin-bottom:18px;}
.hero h1 em{font-style:normal; color:var(--gold-2);}
.hero p.lead{color:#b7c2cc; font-size:1.08rem; line-height:1.6; max-width:540px; margin:0 auto 32px; text-align:center;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; justify-content:center;}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:12px; font-weight:700; font-size:.98rem;
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn:hover{transform:translateY(-3px) scale(1.02);}
.btn-wpp{background:linear-gradient(135deg,#2fbf5f,#1fa851); color:#fff; box-shadow:0 10px 26px rgba(31,168,81,.35);}
.btn-outline{border:1.5px solid var(--gold); color:var(--gold-soft);}
.btn-outline:hover{background:rgba(209,154,42,.1);}

.hero-strip{
  position:relative; z-index:1;
  max-width:1000px; margin:56px auto 0; padding:0 24px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.strip-card{
  background:var(--navy-3); border:1px solid var(--line); border-radius:16px;
  padding:20px 22px; display:flex; gap:14px; align-items:flex-start; text-align:left;
  transition:transform .2s ease, border-color .2s ease;
}
.strip-card:hover{transform:translateY(-5px); border-color:var(--gold);}
.strip-card .ic{font-size:1.4rem;}
.strip-card h3{font-size:.95rem; color:var(--gold-2); margin-bottom:4px; font-family:'Poppins'; font-weight:700;}
.strip-card p{font-size:.85rem; color:#aeb9c3; line-height:1.5;}
@media(max-width:900px){
  .hero-strip{grid-template-columns:1fr;}
  .hero h1{font-size:2.2rem;}
}

/* SCROLL REVEAL */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* SECTION HEADINGS */
.section{padding:78px 0;}
.section-head{text-align:center; max-width:640px; margin:0 auto 46px;}
.eyebrow{
  display:inline-block; color:var(--gold); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px;
}
.section-head h2{font-size:2.1rem; color:var(--navy); font-weight:700;}
.section-head p{color:#5c6b78; margin-top:12px; font-size:1rem; line-height:1.6;}

/* CATEGORY FILTERS */
.filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:40px;}
.chip{
  padding:9px 18px; border-radius:30px; font-size:.86rem; font-weight:600;
  border:1.5px solid #e2d6bd; color:#4a5560; background:#fff; cursor:pointer;
  transition:all .15s ease;
}
.chip:hover{border-color:var(--gold); transform:translateY(-2px) scale(1.04);}
.chip.active{background:var(--navy); border-color:var(--navy); color:var(--gold-soft);}

/* PRODUCT GRID */
.cat-block{margin-bottom:52px;}
.cat-title{
  display:flex; align-items:center; gap:14px; margin-bottom:22px;
}
.cat-title h3{font-size:1.35rem; color:var(--navy); font-weight:700;}
.cat-title .line{flex:1; height:1px; background:linear-gradient(90deg, #e2d6bd, transparent);}
.cat-title .count{font-size:.78rem; color:#8b7a4f; background:#f5ead0; padding:4px 10px; border-radius:20px; font-weight:700;}

.grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:18px;
}
@media(max-width:640px){
  .grid{ grid-template-columns:repeat(2, 1fr); gap:12px; }
  .card .info{ padding:10px 10px 12px; }
  .card .info p{ font-size:.8rem; }
}
.card{
  background:#fff; border:1px solid #eee2c9; border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease;
  content-visibility:auto; contain-intrinsic-size:220px;
}
.card:hover{transform:translateY(-6px) scale(1.02); box-shadow:0 16px 34px rgba(11,21,32,.14); border-color:var(--gold);}
.card .thumb{
  aspect-ratio:1/1; background:#fff; display:flex; align-items:center; justify-content:center;
  padding:14px; border-bottom:1px solid #f2ead6; overflow:hidden;
}
.card .thumb img{max-height:100%; max-width:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .3s ease;}
.card:hover .thumb img{transform:scale(1.08) rotate(-1deg);}
.card .thumb.placeholder{
  background:linear-gradient(135deg,#f7efdb,#f2e6c4);
}
.card .info{padding:12px 14px 16px;}
.card .info p{font-size:.85rem; font-weight:600; color:var(--navy); line-height:1.35;}

/* ESPETINHOS */
.espetinhos{
  position:relative; overflow:hidden;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 26px),
    linear-gradient(135deg, #7a2a12 0%, var(--fire) 55%, var(--fire-2) 100%);
  color:#fff;
}
.esp-grid{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  max-width:640px; margin:0 auto; gap:8px;
}
.esp-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.25);
  padding:6px 14px; border-radius:30px; font-size:.78rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px;
}
.esp-grid h2{font-size:2.2rem; font-weight:800; color:#fff; margin-bottom:16px;}
.esp-grid p.desc{color:rgba(255,255,255,.9); line-height:1.7; margin:0 auto 26px; max-width:480px;}
.esp-schedule{
  background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.22); border-radius:20px;
  padding:30px; backdrop-filter:blur(4px); margin-top:30px; width:100%; max-width:400px;
  transition:transform .2s ease;
}
.esp-schedule:hover{transform:translateY(-4px);}
.esp-schedule .esp-day{
  display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:8px;
}
.esp-schedule .esp-day .num{font-size:2.6rem; animation:floaty 4s ease-in-out infinite;}
.esp-schedule .esp-day h3{font-size:1.3rem; font-weight:800; color:#fff;}
.esp-schedule .esp-day .time-big{font-size:1.15rem; font-weight:700; color:#ffe3d0;}
.esp-schedule .esp-only{
  margin-top:16px; padding-top:16px; border-top:1px dashed rgba(255,255,255,.3);
  font-size:.85rem; color:rgba(255,255,255,.85); line-height:1.6; text-align:left;
}
.esp-grid .btn-wpp{background:#fff; color:var(--fire); box-shadow:0 10px 26px rgba(0,0,0,.25);}

/* ABOUT / HOURS */
.about{background:var(--navy); color:#fff;}
.about-grid{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  max-width:600px; margin:0 auto; gap:6px;
}
.about .eyebrow{color:var(--gold-2);}
.about h2{color:#fff;}
.about-grid p.desc{color:#b7c2cc; line-height:1.7; margin:18px 0 26px; max-width:480px;}
.hours-card{
  background:var(--navy-3); border:1px solid var(--line); border-radius:18px; padding:28px;
  width:100%; max-width:420px; margin-top:30px; text-align:left;
  transition:transform .2s ease;
}
.hours-card:hover{transform:translateY(-4px);}
.hours-row{
  display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06);
  font-size:.95rem;
}
.hours-row:last-child{border-bottom:none;}
.hours-row .day{color:#dbe2e8; font-weight:600;}
.hours-row .time{color:var(--gold-2); font-weight:700;}
.hours-row .closed{color:#8b98a3; font-weight:600;}

/* TELEFONE EXTRA */
.extra-phone{
  margin-top:14px; font-size:.85rem; color:#b7c2cc;
}
.extra-phone a{ color:var(--gold-2); font-weight:700; }

/* LOCATION */
.location .container{
  display:grid; grid-template-columns:1fr 1.15fr; gap:40px; align-items:stretch;
}
.loc-card{
  background:#fff; border:1px solid #eee2c9; border-radius:20px; padding:34px;
  display:flex; flex-direction:column; justify-content:center;
}
.loc-card .eyebrow{margin-bottom:12px;}
.loc-card h2{font-size:1.8rem; margin-bottom:16px;}
.loc-card .addr{font-size:1.02rem; color:#3a4550; line-height:1.7; margin-bottom:24px;}
.loc-card .addr b{color:var(--navy);}
.map-wrap{
  border-radius:20px; overflow:hidden; border:1px solid #eee2c9; min-height:360px;
  box-shadow:0 20px 40px rgba(11,21,32,.08);
}
.map-wrap iframe{width:100%; height:100%; min-height:360px; border:0;}
@media(max-width:860px){ .location .container{grid-template-columns:1fr;} }

/* FOOTER */
footer{background:var(--navy); color:#8b98a3; padding:40px 0 28px; border-top:1px solid var(--line);}
.foot-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.foot-brand{display:flex; align-items:center; gap:10px;}
.foot-brand img{width:30px; height:30px;}
.foot-brand span{color:var(--gold-2); font-family:'Poppins',sans-serif; font-weight:700; letter-spacing:.03em;}
footer .fine{font-size:.8rem;}

/* WHATSAPP FLOAT */
.wpp-float{
  position:fixed; bottom:22px; right:22px; z-index:200;
  background:linear-gradient(135deg,#2fbf5f,#1fa851); color:#fff;
  width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(31,168,81,.45); animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 10px 26px rgba(31,168,81,.45), 0 0 0 0 rgba(47,191,95,.5);}
  70%{box-shadow:0 10px 26px rgba(31,168,81,.45), 0 0 0 16px rgba(47,191,95,0);}
  100%{box-shadow:0 10px 26px rgba(31,168,81,.45), 0 0 0 0 rgba(47,191,95,0);}
}
