:root{--red:#d62828;--red2:#a61b1b;--cream:#fff6e5;--ink:#2b1b17;--gold:#ffb703;--card:#fff;--line:#f0dfc2;--head:'Fredoka','Trebuchet MS',sans-serif;--body:'Nunito',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}
body{margin:0;font-family:var(--body);background:var(--cream);color:var(--ink)}
a{color:inherit}
.btn{display:inline-block;border:0;cursor:pointer;font:800 1rem var(--body);padding:.8rem 1.4rem;border-radius:99px;text-decoration:none;background:var(--gold);color:var(--ink);transition:transform .15s,box-shadow .15s;box-shadow:0 4px 0 #c98600}
.btn:hover{transform:translateY(-2px)}.btn.red{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red2)}.btn.ghost{background:#fff;box-shadow:0 4px 0 #ddd}
.site-head{background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.2rem}
.logo{font:700 1.6rem var(--head);text-decoration:none;letter-spacing:.5px}.logo span{color:var(--gold)}
.site-head nav{display:flex;gap:1.2rem;align-items:center}.site-head nav a{text-decoration:none;font-weight:800}
.badge{font-size:.8rem;font-weight:800;padding:.25rem .7rem;border-radius:99px;background:#fff3;white-space:nowrap}
.badge.open{background:#2ecc71;color:#06361a}
.hero{position:relative;min-height:78vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#000}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.hero .in{position:relative;padding:2rem;max-width:760px}
.hero h1{font:700 clamp(2.4rem,7vw,4.8rem) var(--head);margin:.2em 0;line-height:1;text-shadow:0 4px 18px #000a}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p{font-size:1.25rem;margin:0 0 1.5rem;text-shadow:0 2px 8px #000a}
.hero .cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.strip{background:var(--gold);overflow:hidden;white-space:nowrap;font:700 1.1rem var(--head);padding:.6rem 0}
.strip div{display:inline-block;animation:run 28s linear infinite}@keyframes run{to{transform:translateX(-50%)}}
section{max-width:1180px;margin:auto;padding:3rem 1.2rem}
h2{font:700 2.2rem var(--head);margin:0 0 .3rem;color:var(--red)}.sub{margin:0 0 1.5rem;opacity:.8}
.tools{position:sticky;top:52px;z-index:15;background:var(--cream);padding:.7rem 0;border-bottom:2px dashed var(--line)}
.tools input{width:100%;padding:.8rem 1.1rem;border-radius:99px;border:2px solid var(--line);font:1rem var(--body);margin-bottom:.6rem}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.3rem}
.chip{flex:none;border:2px solid var(--red);background:#fff;color:var(--red);font:800 .9rem var(--body);padding:.4rem .9rem;border-radius:99px;cursor:pointer}
.chip.on{background:var(--red);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.2rem;margin-top:1.2rem}
.cat{grid-column:1/-1;font:700 1.7rem var(--head);margin:1.2rem 0 -.2rem;color:var(--ink)}
.card{background:var(--card);border-radius:20px;overflow:hidden;border:2px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative}
.card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 12px 24px #0002}
.card.pop{animation:pop .9s 2}@keyframes pop{50%{transform:scale(1.06);box-shadow:0 0 0 6px var(--gold)}}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#ffe9bd}
.card .b{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.card h3{margin:0;font:700 1.2rem var(--head)}.card p{margin:0;font-size:.92rem;opacity:.8;flex:1}
.card .btn{text-align:center;padding:.55rem 1rem;font-size:.9rem}
.fav{position:absolute;top:.6rem;right:.6rem;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:#fffd;font-size:1.3rem;cursor:pointer}
.fav.on{background:var(--red);color:#fff}
.tag{position:absolute;top:.6rem;left:.6rem;background:var(--gold);font-weight:800;font-size:.75rem;padding:.25rem .6rem;border-radius:99px}
.empty{grid-column:1/-1;text-align:center;padding:2rem;opacity:.7}
.planner{background:#fff;border:3px solid var(--red);border-radius:28px;padding:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}
.planner label{font-weight:800;display:block;margin:.8rem 0 .2rem}
.planner input[type=range]{width:100%;accent-color:var(--red)}
.seg{display:flex;gap:.4rem;flex-wrap:wrap}.seg button{flex:1}
.out{background:var(--cream);border-radius:20px;padding:1.4rem;text-align:center}
.out .big{font:700 4rem var(--head);color:var(--red);line-height:1}
.out ul{list-style:none;padding:0;margin:1rem 0;text-align:left;font-weight:700}
.out li{padding:.4rem 0;border-bottom:1px dashed var(--line)}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.hours{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}
.hours td{padding:.6rem 1rem;border-bottom:1px solid var(--line)}.hours tr.today{background:var(--gold);font-weight:800}
footer{background:var(--ink);color:#fff;text-align:center;padding:2rem 1rem}footer a{color:var(--gold)}
@media(max-width:760px){.planner,.visit{grid-template-columns:1fr}.site-head nav a.h{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* WordPress adjustments */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0!important}
header.wp-block-template-part{position:sticky;top:0;z-index:20}
.wow-site>.site-head{position:sticky;top:0;z-index:20}
.admin-bar header.wp-block-template-part,.admin-bar .wow-site>.site-head{top:32px}
.admin-bar .tools{top:84px}
@media(max-width:782px){.admin-bar header.wp-block-template-part,.admin-bar .wow-site>.site-head{top:46px}.admin-bar .tools{top:98px}}
.wow-site,.wp-site-blocks{overflow-x:clip}
.wp-block-group.hero h1,.wp-block-group.hero p{margin-top:0}
.wp-block-group.hero p{margin-bottom:1.5rem}
section.wp-block-group{max-width:1180px;margin-left:auto;margin-right:auto}
.wp-block-heading{margin-top:0}

