/* La Piñata — shared location-page design system */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --mag:#D6246E;--mag-glow:rgba(214,36,110,.35);
  --gold:#F5A623;--gold-light:#FFD166;
  --turq:#1ABFB5;--turq-glow:rgba(26,191,181,.3);
  --plum:#1A1118;--plum-light:#2A1F28;--plum-mid:#3D2E3A;
  --cream:#FFF8F0;--cream-muted:rgba(255,248,240,.6);
  --font-display:'Fraunces',serif;--font-body:'Nunito',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--plum);color:var(--cream);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden}
a{color:var(--gold);text-decoration:none;transition:color .3s}
a:hover{color:var(--gold-light)}
img{max-width:100%;height:auto;display:block}
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--mag);color:#fff;padding:.5rem 1rem;z-index:10000;border-radius:4px}
.skip-link:focus{top:1rem}
section{padding:80px 1.5rem}
.container{max-width:1100px;margin:0 auto}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;font-weight:700}
h2{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:1rem}
h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}
.accent{color:var(--mag)}.gold{color:var(--gold)}.turq{color:var(--turq)}
:focus-visible{outline:2px solid var(--turq);outline-offset:2px}

/* NAV */
nav{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1rem 1.5rem;transition:background .3s,backdrop-filter .3s}
nav.scrolled{background:rgba(26,17,24,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo{font-family:'Pacifico',cursive;font-size:1.3rem;color:var(--cream);text-shadow:0 0 8px rgba(255,255,255,.3)}
.nav-logo span{color:var(--mag);text-shadow:0 0 8px var(--mag-glow)}
.nav-links{display:none;gap:1.25rem;align-items:center}
.nav-links a{color:var(--cream-muted);font-size:.9rem;font-weight:600}
.nav-links a:hover{color:var(--gold)}
.nav-cta{background:var(--mag);color:#fff!important;padding:.55rem 1.1rem;border-radius:50px;font-weight:700;transition:background .3s,transform .3s}
.nav-cta:hover{background:#E12D78;transform:scale(1.05)}
@media(min-width:768px){.nav-links{display:flex}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.8rem;border-radius:50px;font-weight:700;font-size:1rem;min-height:48px;cursor:pointer;border:none;transition:transform .3s,box-shadow .3s}
.btn-primary{background:var(--mag);color:#fff;box-shadow:0 0 30px var(--mag-glow)}
.btn-primary:hover{transform:scale(1.05);box-shadow:0 0 50px var(--mag-glow);color:#fff}
.btn-secondary{background:transparent;color:var(--cream);border:2px solid var(--gold)}
.btn-secondary:hover{background:var(--gold);color:var(--plum)}

/* HERO */
.lhero{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.lhero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.lhero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,17,24,.55) 0%,rgba(26,17,24,.78) 60%,var(--plum) 100%)}
.lhero-content{position:relative;z-index:2;padding:2rem;max-width:760px}
.lhero-eyebrow{font-family:'Pacifico',cursive;color:var(--turq);font-size:clamp(1rem,2.4vw,1.4rem);text-shadow:0 0 8px var(--turq-glow);margin-bottom:.5rem}
.lhero h1{font-family:'Pacifico',cursive;font-size:clamp(2.4rem,6vw,4.5rem);color:#fff;text-shadow:0 0 10px #fff,0 0 30px var(--mag),0 0 70px var(--mag);margin-bottom:.5rem;font-weight:400;line-height:1.05}
.lhero-sub{color:var(--cream);font-size:clamp(1rem,1.6vw,1.2rem);margin-bottom:1.75rem}
.lhero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* INTRO / LOCAL STORY */
.local-story{background:var(--plum-light)}
.local-story p{max-width:760px;margin:0 auto 1rem;color:var(--cream);font-size:1.05rem}
.local-story .lead{font-size:1.2rem;color:var(--gold);font-style:italic;font-family:var(--font-display)}

/* HIGHLIGHTS */
.highlights-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}
@media(min-width:640px){.highlights-grid{grid-template-columns:1fr 1fr}}
.highlight-card{background:var(--plum-light);border:1px solid var(--plum-mid);border-radius:14px;padding:1.5rem;transition:border-color .3s,transform .2s}
.highlight-card:hover{border-color:var(--mag);transform:translateY(-3px)}
.highlight-card h3{color:var(--gold);margin-bottom:.4rem;font-size:1.15rem}
.highlight-card p{color:var(--cream-muted);font-size:.95rem}

/* MENU HIGHLIGHTS */
.menu-mini{display:grid;grid-template-columns:1fr;gap:.6rem;max-width:720px;margin:2rem auto 0}
@media(min-width:640px){.menu-mini{grid-template-columns:1fr 1fr}}
.menu-mini-item{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;background:var(--plum-light);border:1px solid var(--plum-mid);border-radius:12px}
.menu-mini-item .n{font-weight:700;color:var(--cream)}
.menu-mini-item .d{font-size:.8rem;color:var(--cream-muted)}
.menu-mini-item .p{color:var(--gold);font-weight:700;font-family:var(--font-display);white-space:nowrap}

/* INFO / MAP */
.info-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:768px){.info-grid{grid-template-columns:1fr 1fr}}
.info-card{background:var(--plum-light);border:1px solid var(--plum-mid);border-radius:14px;padding:2rem}
.info-card h3{color:var(--gold);margin-bottom:1rem}
.info-card .addr{color:var(--cream);font-size:1.05rem;margin-bottom:.75rem}
.info-card .phone{font-size:1.4rem;font-weight:700;margin-bottom:1rem}
.info-card .phone a{color:var(--mag)}
.info-card .hours{color:var(--cream-muted);line-height:1.9;font-size:.95rem;margin-bottom:1.25rem}
.info-card .hours strong{color:var(--cream)}
.map-wrap{border-radius:14px;overflow:hidden;border:1px solid var(--plum-mid);min-height:320px}
.map-wrap iframe{width:100%;height:100%;min-height:320px;border:0;display:block;filter:grayscale(.2)}

/* REVIEWS */
.lreviews-grid{display:grid;gap:1.25rem;margin-top:2rem}
@media(min-width:768px){.lreviews-grid{grid-template-columns:repeat(3,1fr)}}
.lreview{background:var(--plum-light);border:1px solid rgba(214,36,110,.25);border-radius:12px;padding:1.75rem}
.lreview .stars{color:var(--gold);letter-spacing:2px;margin-bottom:.5rem}
.lreview p{font-style:italic;color:var(--cream);font-size:.95rem;margin-bottom:.75rem}
.lreview .who{color:var(--cream-muted);font-size:.85rem;font-weight:600}
.badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--plum-light);padding:.55rem 1.15rem;border-radius:50px;border:1px solid rgba(214,36,110,.2);margin-top:1rem}
.badge .s{color:var(--gold);font-weight:700;font-size:1.2rem;font-family:var(--font-display)}
.badge .c{color:var(--cream-muted);font-size:.9rem}

/* FAQ */
.faq{max-width:820px;margin:2rem auto 0}
.faq-item{border-bottom:1px solid var(--plum-mid)}
.faq-q{width:100%;text-align:left;background:none;border:none;color:var(--cream);font-family:var(--font-display);font-size:1.1rem;font-weight:600;padding:1.25rem 2.5rem 1.25rem 0;cursor:pointer;position:relative}
.faq-q::after{content:'+';position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--mag);font-size:1.5rem;transition:transform .3s}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--cream-muted)}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{padding:0 0 1.25rem}

/* FOOTER */
footer{background:var(--plum-light);padding:3rem 1.5rem;text-align:center;border-top:1px solid var(--plum-mid)}
.footer-name{font-family:var(--font-display);font-size:1.3rem;color:var(--cream);margin-bottom:.5rem}
footer p{color:var(--cream-muted);font-size:.85rem;margin-bottom:.25rem}
.footer-links{margin:1rem 0;display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.footer-links a{color:var(--cream-muted);font-size:.85rem}
.footer-credit{margin-top:1.5rem;font-size:.85rem;font-family:'Pacifico',cursive;color:var(--cream);text-shadow:0 0 7px rgba(214,36,110,.4)}
.footer-credit a{color:var(--turq)}

/* STICKY MOBILE ORDER */
.sticky-order{position:fixed;bottom:0;left:0;width:100%;background:linear-gradient(180deg,transparent,var(--plum) 30%);padding:1rem 1.5rem 1.2rem;z-index:900;display:flex;justify-content:center;pointer-events:none}
.sticky-order .btn{pointer-events:all;width:100%;max-width:400px;font-size:1.1rem;box-shadow:0 -4px 30px var(--mag-glow)}
@media(min-width:768px){.sticky-order{display:none}}
@media(max-width:767px){footer{padding-bottom:100px}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.crumbs{max-width:1100px;margin:0 auto;padding:90px 1.5rem 0;font-size:.85rem;color:var(--cream-muted)}
.crumbs a{color:var(--turq)}
