@font-face {
  font-family: 'Bowlero';
  src: url('fonts/Bowlero-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy:#0F1624;--navy-mid:#162033;--navy-light:#1E2D47;
  --coral:#F07020;--coral-light:#FF8C3A;--coral-dim:rgba(240,112,32,0.13);
  --white:#FFFFFF;--gray:#8A96A8;--gray-light:#C4CDD8;--text:#E8EDF5;
  --hdr:72px;--ease:cubic-bezier(0.23,1,0.32,1);
  --font-display:'Bowlero','Syne',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--navy);color:var(--text);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;object-fit:cover}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--navy)}::-webkit-scrollbar-thumb{background:var(--coral)}

/* HEADER */
#hdr{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;padding:0 56px;transition:background .5s,box-shadow .4s}
#hdr.solid{background:rgba(15,22,36,.97);backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(255,77,58,.2)}
.logo-wrap{display:flex;align-items:center;gap:12px;cursor:pointer;min-width:0}
.logo-mark{width:auto;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:1;background:none}
.logo-mark img,.site-logo{height:48px;width:auto;max-width:min(240px,55vw);object-fit:contain;display:block}
.logo-mark svg{height:100%;width:auto;max-width:100%;display:block}
.logo-text{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.logo-text span{color:var(--coral)}
.logo-img-full{height:52px;width:auto;object-fit:contain}
.logo-wrap svg,.logo-wrap .site-logo{flex-shrink:1;max-width:100%}
footer .site-logo{height:44px;max-width:220px}
.login-logo .site-logo{height:40px}
nav{display:flex;gap:32px}
nav a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-light);transition:color .25s;font-weight:400}
nav a:hover,nav a.on{color:var(--coral)}
.hdr-r{display:flex;gap:14px;align-items:center}
.lang-sw{display:flex;gap:3px}
.lang-sw button{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);padding:5px 8px;transition:all .2s;border:1px solid transparent;border-radius:2px}
.lang-sw button.on{color:var(--coral);border-color:rgba(255,77,58,.3)}
.lang-sw button:hover:not(.on){color:var(--text)}
.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:var(--gray-light);font-size:15px;transition:all .3s}
.icon-btn:hover{border-color:var(--coral);color:var(--coral)}
.burger{display:none;flex-direction:column;gap:5px;padding:6px}
.burger span{width:22px;height:1.5px;background:var(--text);transition:all .3s;display:block}

/* MOBILE NAV */
#mob-nav{position:fixed;inset:0;z-index:899;background:rgba(15,22,36,.99);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;pointer-events:none;transition:opacity .4s}

#mob-nav.open{opacity:1;pointer-events:all}
#mob-nav a{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);transition:color .3s}
#mob-nav a:hover{color:var(--coral)}

/* SEARCH */
#srch-ov{position:fixed;inset:0;z-index:950;background:rgba(15,22,36,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
#srch-ov.open{opacity:1;pointer-events:all}
#srch-ov input{width:640px;max-width:90vw;background:none;border:none;border-bottom:2px solid var(--coral);color:#fff;font-family:var(--font-display);font-size:32px;padding:14px 0;outline:none;text-align:center;letter-spacing:.04em}
#srch-ov input::placeholder{color:rgba(255,255,255,.2)}
#srch-res{width:640px;max-width:90vw;max-height:50vh;overflow-y:auto;margin-top:24px}
.srch-item{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--navy-light);border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:border-color .2s;margin-bottom:6px}
.srch-item:hover{border-color:var(--coral)}
.srch-item-ico{font-size:24px;flex-shrink:0}
.srch-item-body{flex:1;min-width:0}
.srch-item-name{font-family:var(--font-display);font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srch-item-sub{font-size:12px;color:var(--gray);margin-top:2px}
.srch-item-tag{font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:3px 8px;border:1px solid rgba(255,255,255,.12);color:var(--gray);flex-shrink:0}
.srch-empty{text-align:center;color:var(--gray);font-size:14px;padding:32px 0}
.srch-hint{color:var(--gray);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-top:20px}
.srch-close{position:absolute;top:36px;right:56px;font-size:22px;color:var(--gray);transition:color .3s}
.srch-close:hover{color:var(--coral)}

/* PAGES */
.page{display:none}.page.on{display:block}

/* HERO */
#hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease}
.slide.on{opacity:1}
.s1{background-image:url('http://www.bowlero.lv/wp-content/uploads/2017/06/block-9.jpg')}
.s2{background-image:url('http://www.bowlero.lv/wp-content/uploads/2017/06/block-3.jpg')}
.s3{background-image:url('http://www.bowlero.lv/wp-content/uploads/2017/06/block-5.jpg')}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(15,22,36,.82) 0%,rgba(15,22,36,.3) 65%,transparent 100%)}
.hero-body{position:relative;z-index:2;padding:0 80px 100px;max-width:780px}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--coral)}
.hero-eyebrow::before{content:'';width:36px;height:1.5px;background:var(--coral)}
.hero-h1{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,8vw,96px);line-height:.97;margin-bottom:28px;color:#fff;letter-spacing:-.02em}
.hero-h1 em{font-family:'Lora',serif;font-weight:400;font-style:italic;color:var(--coral)}
.hero-p{font-size:15px;color:rgba(255,255,255,.65);max-width:420px;line-height:1.75;margin-bottom:48px}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.btn-p{padding:15px 38px;background:var(--coral);color:#fff;font-family:var(--font-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:background .3s,transform .2s}
.btn-website{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border:1.5px solid rgba(255,255,255,.2);color:var(--text);font-family:var(--font-display);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;transition:all .25s;text-decoration:none}
.btn-website:hover{border-color:var(--coral);color:var(--coral)}
.btn-p:hover{background:var(--coral-light);transform:translateY(-2px)}
.btn-s{padding:15px 38px;border:1.5px solid rgba(255,255,255,.25);color:#fff;font-family:var(--font-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:all .3s}
.btn-s:hover{border-color:var(--coral);color:var(--coral)}
.slide-dots{position:absolute;bottom:52px;right:80px;z-index:2;display:flex;gap:10px}
.dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:all .3s}
.dot.on{background:var(--coral);transform:scale(1.3)}
.scroll-hint{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.35);animation:bob 2.2s ease-in-out infinite}
.scroll-hint::after{content:'↓';font-size:14px;color:var(--coral)}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* TICKER */
#ticker-bar{overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:22px 0}
.ticker-t{display:flex;animation:tick 28s linear infinite}
.tick-i{padding:0 52px;font-family:var(--font-display);font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.2);white-space:nowrap;border-right:1px solid rgba(255,255,255,.07);transition:color .3s;cursor:default}
.tick-i:hover{color:var(--coral)}
@keyframes tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* STATS */
.stats{background:var(--coral);padding:44px 80px;display:grid;grid-template-columns:repeat(4,1fr)}
.stat{text-align:center;border-right:1px solid rgba(255,255,255,.25)}
.stat:last-child{border-right:none}
.stat-n{font-family:var(--font-display);font-weight:800;font-size:54px;color:#fff;line-height:1}
.stat-l{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:6px}

/* SECTIONS */
section.sec{padding:112px 80px}
.sec-tag{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--coral);margin-bottom:18px}
.sec-tag::before{content:'';width:28px;height:1.5px;background:var(--coral)}
.sec-h{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,5vw,60px);line-height:1.05;letter-spacing:-.01em;margin-bottom:14px}
.sec-sub{color:var(--gray);font-size:15px;max-width:500px;line-height:1.75;margin-bottom:56px}
.sec-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;gap:28px;flex-wrap:wrap}
.see-all{font-family:var(--font-display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);border-bottom:1px solid transparent;transition:border-color .3s;padding-bottom:2px}
.see-all:hover{border-color:var(--coral)}

/* PROMO GRID */
.pg{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;height:700px}
.pc{position:relative;overflow:hidden;cursor:pointer}
.pc:first-child{grid-row:span 2}
.pc img{height:100%;transition:transform .8s var(--ease)}
.pc:hover img{transform:scale(1.06)}
.pc::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,22,36,.82) 0%,transparent 55%)}
.pc-info{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:30px 26px}
.pc-badge{display:inline-block;padding:4px 12px;background:var(--coral);color:#fff;font-family:var(--font-display);font-size:8px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.pc-title{font-family:var(--font-display);font-weight:700;font-size:clamp(18px,2.5vw,26px);color:#fff;line-height:1.2}

/* EVENTS */
.ev-wrap{display:flex;gap:22px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none}
.ev-wrap::-webkit-scrollbar{display:none}
.ev-card{min-width:320px;background:var(--navy-light);flex-shrink:0;overflow:hidden;scroll-snap-align:start;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s}
.ev-card:hover{transform:translateY(-8px);box-shadow:0 28px 56px rgba(0,0,0,.5)}
.ev-img{height:200px;overflow:hidden}
.ev-img img{height:100%;transition:transform .6s}
.ev-card:hover .ev-img img{transform:scale(1.06)}
.ev-body{padding:26px}
.ev-date{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--coral);margin-bottom:8px}
.ev-title{font-family:var(--font-display);font-weight:700;font-size:18px;margin-bottom:8px;line-height:1.3}
.ev-desc{font-size:12px;color:var(--gray);line-height:1.65;margin-bottom:18px}
.ev-cat{display:inline-block;padding:4px 12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(255,255,255,.1);color:var(--gray);border-radius:20px}

/* ENT */
.ent-g{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.ent-layout-grid-2,.ent-layout-grid-2-top,.ent-layout-grid-2-bottom{grid-template-columns:repeat(2,1fr)}
.ent-layout-grid-4,.ent-layout-grid-4-top,.ent-layout-grid-4-bottom{grid-template-columns:repeat(4,1fr)}
.ent-layout-masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(360px,auto)}
.ent-layout-grid-3-2-bottom{grid-template-columns:repeat(2,1fr)}
.ent-c{position:relative;height:480px;overflow:hidden;cursor:pointer}
.ent-c img{height:100%;width:100%;transition:transform .8s}
.ent-c:hover img{transform:scale(1.08)}
.ent-c::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,22,36,.92) 0%,rgba(15,22,36,.15) 58%);pointer-events:none}
.ent-feature{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);z-index:3;background:#fff;padding:26px 34px;min-width:min(300px,72%);max-width:86%;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.28)}
.ent-feature-t{font-family:var(--font-display);font-weight:800;font-size:clamp(17px,2.1vw,30px);color:#111;text-transform:uppercase;letter-spacing:.06em;line-height:1.15}
.ent-feature-logo{max-height:72px;width:auto;margin:0 auto;object-fit:contain}
.ent-body{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:36px 30px;transform:translateY(14px);transition:transform .4s}
.ent-c:hover .ent-body{transform:translateY(0)}
.ent-ico{font-size:34px;margin-bottom:14px}
.ent-t{font-family:var(--font-display);font-weight:700;font-size:24px;color:#fff;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.ent-d{font-size:13px;color:rgba(255,255,255,.6);line-height:1.65;opacity:0;transition:opacity .4s .1s}
.ent-c:hover .ent-d{opacity:1}
.ent-card-btn{margin-top:12px;display:inline-block;width:auto}
.ent-menu-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* BOWLERO HIGHLIGHT */
.bhl{background:var(--coral);padding:80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:3px}
.bhl-l h2{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,5vw,64px);color:#fff;line-height:1;margin-bottom:20px}
.bhl-l p{font-size:15px;color:rgba(255,255,255,.8);line-height:1.75;margin-bottom:32px}
.bhl-feats{display:flex;flex-wrap:wrap;gap:10px}
.bhl-feat{padding:8px 18px;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.bhl-r{position:relative;height:360px;overflow:hidden}
.bhl-r img{height:100%}

/* FOOD */
.fg{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fc{background:var(--navy-light);overflow:hidden;cursor:pointer;transition:transform .4s var(--ease)}
.fc:hover{transform:translateY(-8px)}
.fc-img{height:190px;overflow:hidden}
.fc-img img{height:100%;transition:transform .6s}
.fc:hover .fc-img img{transform:scale(1.07)}
.fc-body{padding:22px}
.fc-cat{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--coral);margin-bottom:7px}
.fc-name{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:6px}
.fc-desc{font-size:12px;color:var(--gray);line-height:1.6;margin-bottom:14px}
.fc-stars{font-size:12px;color:var(--coral);letter-spacing:1px}

/* PAGE HERO */
.ph{height:46vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;margin-top:var(--hdr)}
.ph img{position:absolute;inset:0;height:100%;width:100%}
.ph::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(15,22,36,.8),rgba(15,22,36,.3))}
.ph-body{position:relative;z-index:1;padding:0 80px 52px}
.ph-body h1{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,6vw,72px);letter-spacing:-.01em;color:#fff}
.ph-body p{color:rgba(255,255,255,.55);font-size:14px;margin-top:6px}

/* FILTERS */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:44px}
.fb{padding:10px 22px;font-family:var(--font-display);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;border:1.5px solid rgba(255,255,255,.1);color:var(--gray);transition:all .3s}
.fb.on,.fb:hover{background:var(--coral);border-color:var(--coral);color:#fff}

/* STORES */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.sc{background:var(--navy-light);padding:32px 26px;cursor:pointer;transition:background .3s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px}
.sc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--coral);transform:scaleX(0);transition:transform .4s;transform-origin:left}
.sc:hover{background:var(--navy-mid)}.sc:hover::after{transform:scaleX(1)}
.sc-ico{width:56px;height:56px;background:var(--coral-dim);border:1px solid rgba(255,77,58,.2);display:flex;align-items:center;justify-content:center;font-size:24px}
.sc-cat{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--coral)}
.sc-name{font-family:var(--font-display);font-weight:700;font-size:17px}
.sc-desc{font-size:12px;color:var(--gray);line-height:1.6}
.sc-floor{font-size:10px;color:rgba(255,255,255,.25)}

/* EVENTS GRID */
.eg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

/* VISIT */
.vl{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.map-box{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--navy-light)}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:none;filter:saturate(.4) contrast(1.2)}
.info-blk{margin-bottom:36px}
.info-blk h3{font-family:var(--font-display);font-weight:700;font-size:20px;margin-bottom:16px}
.ir{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}
.ir span:first-child{color:var(--gray)}
.tr-item{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--gray-light);margin-bottom:12px}
.tr-ico{width:34px;height:34px;background:var(--coral-dim);border:1px solid rgba(255,77,58,.3);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}

/* DETAIL OVERLAY */
#det-ov{position:fixed;inset:0;z-index:960;background:var(--navy);overflow-y:auto;opacity:0;pointer-events:none;transform:translateX(100%);transition:opacity .5s,transform .5s}
#det-ov.open{opacity:1;pointer-events:all;transform:translateX(0)}
/* ══ FOOD DETAIL OVERLAY ══ */
#food-det-ov{position:fixed;inset:0;z-index:960;background:var(--navy);overflow-y:auto;opacity:0;pointer-events:none;transform:translateX(100%);transition:opacity .5s,transform .5s}
#food-det-ov.open{opacity:1;pointer-events:all;transform:translateX(0)}
.fdo-back{position:fixed;top:20px;left:24px;z-index:970;display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.8);cursor:pointer;padding:10px 16px;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);transition:all .2s}
.fdo-back:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.fdo-hero{position:relative;height:420px;overflow:hidden}
.fdo-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.fdo-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(15,22,36,.95) 100%)}
.fdo-hero-content{position:absolute;bottom:0;left:0;right:0;padding:40px 64px}
.fdo-stars{color:#F5A623;font-size:20px;margin-bottom:10px;letter-spacing:2px}
.fdo-title{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,5vw,56px);color:#fff;line-height:1;margin-bottom:14px}
.fdo-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fdo-cat-badge{font-family:var(--font-display);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:5px 14px;background:var(--coral);color:#fff;font-weight:700}
.fdo-floor-badge{font-family:var(--font-display);font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:5px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9)}
.fdo-content{display:grid;grid-template-columns:1fr 380px;gap:48px;padding:48px 64px;max-width:1200px;margin:0 auto}
.fdo-desc{font-size:16px;line-height:1.85;color:var(--text);margin-bottom:24px}
.fdo-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.fd-highlight-chip{padding:8px 16px;border:1px solid rgba(255,112,32,.3);color:var(--coral);font-family:var(--font-display);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.fdo-section-title{font-family:var(--font-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.fdo-section-title::after{content:'';flex:1;height:1px;background:rgba(255,112,32,.2)}
.fdo-menu-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.fdo-menu-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--navy-light);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:var(--text);transition:all .25s}
.fdo-menu-card:hover{border-color:var(--coral);transform:translateX(4px)}
.fdo-menu-card-ico{font-size:24px;flex-shrink:0}
.fdo-menu-card-name{font-family:var(--font-display);font-weight:700;font-size:14px}
.fdo-menu-card-hint{font-size:11px;color:var(--gray);margin-top:2px}
.fdo-menu-card-arrow{margin-left:auto;font-size:16px;color:var(--coral);transition:transform .2s}
.fdo-menu-card:hover .fdo-menu-card-arrow{transform:translate(3px,-3px)}
.fdo-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.fdo-info-card{background:var(--navy-light);border:1px solid rgba(255,255,255,.07);overflow:hidden}
.fdo-info-title{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
.fdo-info-row{display:flex;align-items:flex-start;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05)}
.fdo-info-row:last-child{border-bottom:none}
.fdo-info-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.fdo-info-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);font-family:var(--font-display);margin-bottom:4px}
.fdo-info-value{font-size:13px;color:var(--text);font-weight:500}
.fdo-link{color:var(--coral);text-decoration:none}
.fdo-link:hover{text-decoration:underline}
.fdo-website-card{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--navy-light);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:var(--text);transition:border-color .2s}
.fdo-website-card:hover{border-color:var(--coral)}
.fdo-website-name{font-weight:600;font-size:13px}
.fdo-website-hint{font-size:11px;color:var(--gray);margin-top:2px}
.fdo-website-arrow{margin-left:auto;color:var(--coral);font-size:16px}
.fdo-location-note{margin-top:16px;padding:14px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:12px;color:var(--gray);line-height:1.7}
@media(max-width:900px){.fdo-content{grid-template-columns:1fr;padding:32px 24px}.fdo-hero-content{padding:32px 24px}.fdo-hero{height:320px}.fdo-title{font-size:32px}}
/* ══ FOOD DETAIL OVERLAY END ══ */
.fd-highlight-chip{padding:7px 14px;background:rgba(255,112,32,.1);border:1px solid rgba(255,112,32,.25);color:var(--coral);font-size:11px;letter-spacing:.1em;font-family:var(--font-display);font-weight:600}
.det-back{position:fixed;top:28px;left:40px;z-index:961;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);transition:color .3s;cursor:pointer}
.det-back:hover{color:var(--coral)}
.det-hero{height:55vh;position:relative;overflow:hidden}
.det-hero img{height:100%}
.det-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(15,22,36,.9))}
.det-htxt{position:absolute;bottom:56px;left:80px;z-index:1}
.det-htxt h1{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,6vw,72px);color:#fff;letter-spacing:-.01em}
.det-body{padding:72px 80px;display:grid;grid-template-columns:1fr 340px;gap:72px}
.det-desc p{font-size:15px;color:var(--gray-light);line-height:1.85;margin-bottom:28px}
.det-sidebar{border-left:1px solid rgba(255,255,255,.07);padding-left:52px}
.det-sidebar h3{font-family:var(--font-display);font-weight:700;font-size:18px;margin-bottom:18px}

/* FOOTER */
footer{background:var(--navy-mid);border-top:1px solid rgba(255,255,255,.06);padding:72px 80px 36px}
.fg-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;margin-bottom:52px}
.fg-brand p{font-size:13px;color:var(--gray);line-height:1.75;max-width:260px;margin-top:18px}
.fg-col h4{font-family:var(--font-display);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--coral);margin-bottom:18px}
.fg-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fg-col ul li a{font-size:13px;color:var(--gray);transition:color .3s}
.fg-col ul li a:hover{color:var(--text)}
.fg-bottom{display:flex;justify-content:space-between;padding-top:36px;border-top:1px solid rgba(255,255,255,.06)}
.fg-bottom p{font-size:11px;color:rgba(255,255,255,.2)}
.socials{display:flex;gap:14px}
.socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gray);transition:all .3s}
.socials a:hover{border-color:var(--coral);color:var(--coral)}

/* FADE IN */
.fi{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.fi.vis{opacity:1;transform:translateY(0)}
.fi-1{transition-delay:.1s}.fi-2{transition-delay:.2s}.fi-3{transition-delay:.3s}.fi-4{transition-delay:.4s}

/* LANG TRANSITION */
[data-i18n]{transition:opacity .2s}

/* ════════════ CMS ════════════ */
#cms-btn{position:fixed;bottom:28px;right:28px;z-index:800;width:52px;height:52px;background:var(--coral);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 24px rgba(255,77,58,.4);transition:transform .3s,box-shadow .3s}
#cms-btn:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(255,77,58,.5)}
#cms-panel{position:fixed;inset:0;z-index:970;background:rgba(10,15,24,.97);overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .4s,transform .4s}
#cms-panel.open{opacity:1;pointer-events:all;transform:translateY(0)}
.cms-hdr{display:flex;align-items:center;justify-content:space-between;padding:24px 40px;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:rgba(10,15,24,.99);backdrop-filter:blur(20px);z-index:2}
.cms-hdr h2{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.08em}
.cms-hdr h2 span{color:var(--coral)}
.cms-close{font-size:22px;color:var(--gray);transition:color .3s}.cms-close:hover{color:var(--coral)}
.cms-lang-btn{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);padding:5px 9px;border:1px solid transparent;border-radius:2px;transition:all .2s;font-family:var(--font-display);font-weight:600}
.cms-lang-btn.on{color:var(--coral);border-color:rgba(255,112,32,.35);background:rgba(255,112,32,.08)}
.cms-lang-btn:hover:not(.on){color:var(--text);border-color:rgba(255,255,255,.15)}
.cms-body{padding:36px 40px;max-width:1200px;margin:0 auto}
.cms-tabs{display:flex;gap:4px;margin-bottom:36px;flex-wrap:wrap}
.ctab{padding:10px 22px;font-family:var(--font-display);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;border:1.5px solid rgba(255,255,255,.1);color:var(--gray);transition:all .25s}
.ctab.on{background:var(--coral);border-color:var(--coral);color:#fff}
.ctab:hover:not(.on){border-color:rgba(255,77,58,.4);color:var(--text)}
.cms-tab-content{display:none}.cms-tab-content.on{display:block}
.cms-section{margin-bottom:44px}
.cms-section h3{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.cms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}
.cms-item{background:var(--navy-light);padding:18px;display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.05);transition:border-color .3s}
.cms-item:hover{border-color:rgba(255,77,58,.3)}
.cms-item-info{flex:1;min-width:0}
.cms-item-info strong{font-family:var(--font-display);font-size:14px;font-weight:600;display:block;margin-bottom:3px}
.cms-item-info span{font-size:11px;color:var(--gray)}
.cms-item-acts{display:flex;gap:8px;flex-shrink:0}
.act-btn{padding:6px 14px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;border:1px solid rgba(255,255,255,.1);color:var(--gray);transition:all .25s}
.act-btn:hover{border-color:var(--coral);color:var(--coral)}
.del-b:hover{border-color:#FF4444 !important;color:#FF4444 !important}
.cms-add-btn{width:100%;padding:16px;border:1.5px dashed rgba(255,77,58,.3);color:var(--coral);font-family:var(--font-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:all .3s;text-align:center}
.cms-add-btn:hover{background:var(--coral-dim);border-color:var(--coral)}
#cms-modal{position:fixed;inset:0;z-index:990;background:rgba(10,15,24,.92);display:flex;align-items:flex-start;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .3s}
#cms-modal.open{opacity:1;pointer-events:all}
#cms-editor-box{background:var(--navy-light);width:780px;max-width:96vw;height:100vh;overflow-y:auto;border-left:1px solid rgba(255,77,58,.2);transform:translateX(100%);transition:transform .35s cubic-bezier(.22,.68,0,1.2);display:flex;flex-direction:column}
#cms-modal.open #cms-editor-box{transform:translateX(0)}
.editor-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:var(--navy-light);z-index:2}
.editor-header h3{font-family:var(--font-display);font-weight:700;font-size:18px}
.editor-section{padding:24px 28px;border-bottom:1px solid rgba(255,255,255,.05)}
.editor-section-title{font-family:var(--font-display);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--coral);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.editor-section-title::after{content:'';flex:1;height:1px;background:rgba(255,77,58,.2)}
.editor-img-preview{width:100%;height:180px;object-fit:cover;margin-bottom:12px;background:var(--navy);display:block;border:1px solid rgba(255,255,255,.06)}
.editor-img-preview.empty{display:flex;align-items:center;justify-content:center;font-size:40px;color:rgba(255,255,255,.08)}
.lang-tabs{display:flex;gap:4px;margin-bottom:16px}
.lang-tab{padding:7px 18px;font-family:var(--font-display);font-size:10px;letter-spacing:.15em;font-weight:700;border:1px solid rgba(255,255,255,.1);color:var(--gray);cursor:pointer;transition:all .2s}
.lang-tab.on{background:var(--coral);border-color:var(--coral);color:#fff}
.lang-tab:hover:not(.on){border-color:rgba(255,255,255,.25);color:var(--text)}
.lang-panel{display:none}.lang-panel.on{display:block}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row{margin-bottom:16px}
.form-row label{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:8px}
.form-row input,.form-row textarea,.form-row select{width:100%;background:var(--navy);border:1px solid rgba(255,255,255,.1);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;padding:12px 14px;outline:none;transition:border-color .3s;box-sizing:border-box}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--coral)}
.form-row textarea{height:100px;resize:vertical}
.form-row select option{background:var(--navy-mid)}
.form-row .char-hint{font-size:10px;color:var(--gray);margin-top:5px}
.modal-acts{display:flex;gap:12px;justify-content:flex-end;margin-top:0;padding:20px 28px;border-top:1px solid rgba(255,255,255,.07);position:sticky;bottom:0;background:var(--navy-light)}
.m-cancel{padding:12px 28px;border:1px solid rgba(255,255,255,.1);color:var(--gray);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;transition:all .25s}
.m-cancel:hover{border-color:rgba(255,255,255,.3);color:var(--text)}
.m-save{padding:12px 28px;background:var(--coral);color:#fff;font-family:var(--font-display);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;transition:background .3s}
.m-save:hover{background:var(--coral-light)}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.ds-card{background:var(--navy-light);padding:24px;border-left:3px solid var(--coral)}
.ds-card .num{font-family:var(--font-display);font-size:36px;font-weight:800;color:#fff}
.ds-card .lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-top:4px}
.activity{background:var(--navy-light);padding:24px}
.activity h4{font-family:var(--font-display);font-weight:600;font-size:14px;margin-bottom:16px;color:var(--coral)}
.act-log{display:flex;flex-direction:column;gap:10px}
.act-entry{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--gray)}
.act-dot{width:6px;height:6px;background:var(--coral);border-radius:50%;flex-shrink:0}
/* ══ MENU CARDS ══ */
.menu-dl-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;font-family:var(--font-display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;text-decoration:none;transition:all .25s;backdrop-filter:blur(4px);pointer-events:all}
.menu-dl-btn:hover{background:var(--coral);border-color:var(--coral)}
.menu-card{display:flex;align-items:center;gap:20px;padding:28px 24px;background:var(--navy-light);border:1px solid rgba(255,255,255,.07);text-decoration:none;color:var(--text);transition:all .3s;position:relative;overflow:hidden}
.menu-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,112,32,.06),transparent);opacity:0;transition:opacity .3s}
.menu-card:hover{border-color:var(--coral);transform:translateY(-2px)}
.menu-card:hover::before{opacity:1}
.menu-card-ico{font-size:36px;flex-shrink:0}
.menu-card-body{flex:1;min-width:0}
.menu-card-title{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:5px}
.menu-card-sub{font-size:12px;color:var(--gray);margin-bottom:10px}
.menu-card-cta{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--coral);font-weight:700}
.menu-card-arrow{font-size:14px;transition:transform .2s}
.menu-card:hover .menu-card-arrow{transform:translate(2px,-2px)}
.menu-card-badge{position:absolute;top:12px;right:12px;font-size:9px;letter-spacing:.12em;font-family:var(--font-display);font-weight:700;padding:3px 8px;background:rgba(255,112,32,.15);border:1px solid rgba(255,112,32,.3);color:var(--coral)}
@media(max-width:600px){#menu-cards-grid{grid-template-columns:1fr}.menu-card{flex-direction:column;align-items:flex-start}}
/* ══ MENU CARDS END ══ */
.sett-page{max-width:1100px}
.sett-header{margin-bottom:32px}
.sett-header h2{font-family:var(--font-display);font-weight:800;font-size:22px;margin-bottom:6px}
.sett-header p{font-size:13px;color:var(--gray)}
.sett-section{margin-bottom:32px}
.sett-section-hdr{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}
.sett-section-icon{font-size:20px;width:40px;height:40px;background:rgba(255,112,32,.1);border:1px solid rgba(255,112,32,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sett-section-hdr h3{font-family:var(--font-display);font-weight:700;font-size:15px;margin:0}
.sett-section-hdr p{font-size:11px;color:var(--gray);margin:3px 0 0}
.sett-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sett-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.sett-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sett-full{grid-column:1/-1}
.sett-field{display:flex;flex-direction:column;gap:6px}
.sett-field label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);font-family:var(--font-display);font-weight:600}
.sett-field input,.sett-field textarea,.sett-field select{background:var(--navy);border:1px solid rgba(255,255,255,.1);color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;padding:11px 13px;outline:none;transition:border-color .25s;width:100%;box-sizing:border-box}
.sett-field input:focus,.sett-field textarea:focus,.sett-field select:focus{border-color:var(--coral)}
.sett-field .sett-hint{font-size:10px;color:var(--gray);margin-top:3px}
.sett-card{background:var(--navy-light);border:1px solid rgba(255,255,255,.06);padding:24px}
.sett-save-bar{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}
.sett-btn{padding:12px 28px;background:var(--coral);color:#fff;font-family:var(--font-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;transition:background .25s;cursor:pointer;border:none}
.sett-btn:hover{background:var(--coral-light)}
.sett-btn.outline{background:none;border:1px solid rgba(255,255,255,.15);color:var(--gray)}
.sett-btn.outline:hover{border-color:var(--coral);color:var(--coral)}
/* slide previews */
.slide-slot{background:var(--navy);border:1px solid rgba(255,255,255,.08);padding:16px;position:relative}
.slide-slot-num{position:absolute;top:10px;right:12px;font-family:var(--font-display);font-size:28px;font-weight:800;color:rgba(255,255,255,.05);pointer-events:none}
.slide-preview{width:100%;aspect-ratio:16/9;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);overflow:hidden;position:relative;margin-bottom:12px}
.slide-preview img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s}
.slide-preview-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:rgba(255,255,255,.1);pointer-events:none}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.gallery-thumb{position:relative;cursor:pointer;border:2px solid transparent;transition:border-color .2s;overflow:hidden;aspect-ratio:16/9}
.gallery-thumb:hover{border-color:var(--coral)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumb-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);font-size:8px;color:#fff;padding:2px 4px;text-align:center;letter-spacing:.05em}
/* hours visual */
.hours-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.hours-row:last-child{border-bottom:none}
.hours-day{font-size:11px;color:var(--gray);min-width:110px;flex-shrink:0}
.hours-input{flex:1}
/* stat preview bar */
.stat-preview-bar{background:var(--coral);padding:20px 28px;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:20px}
.stat-preview-item{text-align:center;padding:0 12px}
.stat-preview-item:not(:last-child){border-right:1px solid rgba(255,255,255,.25)}
.stat-preview-num{font-family:var(--font-display);font-weight:800;font-size:32px;color:#fff;line-height:1}
.stat-preview-lbl{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-top:5px}
.stat-edit-card{background:var(--navy);border:1px solid rgba(255,255,255,.07);overflow:hidden}
.stat-edit-hdr{background:rgba(255,112,32,.08);border-bottom:1px solid rgba(255,112,32,.12);padding:10px 14px;font-family:var(--font-display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral)}
.stat-edit-body{padding:14px}
.stat-lang-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.stat-lang-row:last-child{margin-bottom:0}
.stat-lang-flag{font-size:14px;flex-shrink:0;width:20px}
.stat-lang-input{flex:1;background:var(--navy-light);border:1px solid rgba(255,255,255,.08);color:var(--text);font-family:'DM Sans',sans-serif;font-size:12px;padding:8px 10px;outline:none;transition:border-color .2s}
.stat-lang-input:focus{border-color:var(--coral)}
@media(max-width:900px){.sett-grid-4{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.sett-grid,.sett-grid-3{grid-template-columns:1fr}.sett-grid-4{grid-template-columns:1fr 1fr}.stat-preview-bar{grid-template-columns:1fr 1fr}}
/* ══ SETTINGS PAGE END ══ */
#toast{position:fixed;bottom:100px;right:28px;z-index:999;background:var(--coral);color:#fff;padding:12px 24px;font-family:var(--font-display);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;opacity:0;transform:translateY(10px);transition:all .3s;pointer-events:none}
#toast.show{opacity:1;transform:translateY(0)}

/* ════════════════════════════════════════
   BOOKING SYSTEM STYLES
════════════════════════════════════════ */

/* Booking overlay */
#book-ov{
  position:fixed;inset:0;z-index:980;background:rgba(10,15,24,.96);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .4s;
  padding:20px;
}
#book-ov.open{opacity:1;pointer-events:all;}
.book-panel{
  background:var(--navy-light);width:100%;max-width:900px;max-height:92vh;
  overflow-y:auto;border:1px solid rgba(255,77,58,.25);
  display:flex;flex-direction:column;position:relative;
  animation:slideUp .4s var(--ease);
}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.book-hdr{
  padding:28px 36px 20px;border-bottom:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;background:var(--navy-light);z-index:2;
}
.book-hdr h2{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.01em}
.book-hdr h2 span{color:var(--coral)}
.book-close{font-size:20px;color:var(--gray);transition:color .3s;padding:4px;}
.book-close:hover{color:var(--coral)}
.book-steps{display:flex;gap:0;padding:0 36px;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06)}
.bstep{
  flex:1;padding:14px 16px;text-align:center;
  font-family:var(--font-display);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gray);border-bottom:2px solid transparent;transition:all .3s;cursor:pointer;
}
.bstep.done{color:var(--coral);border-bottom-color:rgba(255,77,58,.3)}
.bstep.active{color:var(--text);border-bottom-color:var(--coral)}
.bstep-num{
  width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.07);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;margin-bottom:6px;margin-right:0;transition:background .3s;
}
.bstep.active .bstep-num,.bstep.done .bstep-num{background:var(--coral);color:#fff}
.bstep-inner{display:flex;flex-direction:column;align-items:center;gap:4px}
.book-body{padding:32px 36px;flex:1}
.book-step-content{display:none}
.book-step-content.active{display:block}

/* Date picker row */
.date-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.date-chip{
  padding:10px 18px;border:1.5px solid rgba(255,255,255,.1);
  font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.08em;
  color:var(--gray);transition:all .25s;cursor:pointer;text-align:center;min-width:72px;
}
.date-chip:hover{border-color:rgba(255,77,58,.5);color:var(--text)}
.date-chip.on{background:var(--coral);border-color:var(--coral);color:#fff}
.date-chip .dc-day{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:inherit;opacity:.75;display:block;margin-bottom:3px}
.date-chip .dc-num{font-size:18px;font-weight:800;display:block;line-height:1}

/* Time slots */
.time-section{margin-bottom:28px}
.time-section h4{font-family:var(--font-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.time-section h4::after{content:'';flex:1;height:1px;background:rgba(255,77,58,.2)}
.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}
.time-slot{
  padding:11px 8px;text-align:center;border:1.5px solid rgba(255,255,255,.08);
  font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--gray);
  transition:all .25s;cursor:pointer;position:relative;
}
.time-slot:hover:not(.taken){border-color:rgba(255,77,58,.5);color:var(--text)}
.time-slot.on{background:var(--coral);border-color:var(--coral);color:#fff}
.time-slot.taken{background:rgba(255,255,255,.03);color:rgba(255,255,255,.2);cursor:not-allowed;border-color:transparent}
.time-slot.taken::after{content:'✕';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;color:rgba(255,255,255,.15)}
.time-slot.partial{border-color:rgba(255,112,32,.4);color:var(--text)}

/* Lane map */
.lane-map-wrap{margin-bottom:28px}
.lane-map-wrap h4{font-family:var(--font-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.lane-map-wrap h4::after{content:'';flex:1;height:1px;background:rgba(255,77,58,.2)}
.lane-legend{display:flex;gap:20px;margin-bottom:16px;flex-wrap:wrap}
.ll-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--gray)}
.ll-dot{width:12px;height:12px;border-radius:2px;flex-shrink:0}
.lane-floor{margin-bottom:24px}
.lane-floor-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:10px}
.lanes-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.lane-pin{
  display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;
  transition:transform .2s;
}
.lane-pin:hover:not(.lane-taken){transform:translateY(-4px)}
/* Reservation lane tiles — simplified top-down bowling lane (wood, pins, arrows, dots) */
.lane-track{
  width:52px;height:108px;
  display:flex;flex-direction:column;align-items:stretch;
  justify-content:flex-end;
  padding:0;
  position:relative;
  contain:paint;
  isolation:isolate;
  transition:box-shadow .25s,border-color .25s,transform .2s;
  border-radius:7px 7px 3px 3px;
  border:2px solid rgba(62,43,28,.75);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 5px 14px rgba(0,0,0,.38);
  background:linear-gradient(180deg,#3d2b1f,#1e1410);
  overflow:hidden;
}
.lane-surface{
  flex:1 1 auto;
  min-height:62px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,252,245,.14) 0%,transparent 45%),
    linear-gradient(90deg,#caa87a 0%,#e8d2a8 22%,#f2e0bc 50%,#e0c8a0 78%,#bc9468 100%);
}
.lane-surface::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(
    90deg,
    transparent 0px,
    transparent 3px,
    rgba(101,67,33,.16) 3px,
    rgba(101,67,33,.16) 4px
  );
  mix-blend-mode:multiply;
  opacity:.85;
}
.lane-gutter{
  position:absolute;
  top:38%;
  bottom:30%;
  width:2px;
  border-radius:1px;
  background:rgba(72,72,78,.62);
  z-index:1;
}
.lane-gutter--l{left:4px}
.lane-gutter--r{right:4px}
.lane-pin-rack{
  position:absolute;
  top:6px;
  left:50%;
  transform:translateX(-50%) scale(.92);
  transform-origin:top center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
  z-index:2;
  max-width:100%;
  pointer-events:none;
}
.lpr-row{display:flex;justify-content:center;align-items:center;gap:2px}
.lpi{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f4f4f4;
  border:0.5px solid #111;
  font-size:4.5px;
  line-height:8px;
  text-align:center;
  font-weight:800;
  font-family:system-ui,sans-serif;
  color:#111;
  box-shadow:0 0 0 0.5px rgba(0,0,0,.08),inset 0 0.5px 0 rgba(255,255,255,.65);
}
.lane-arrow-row{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:27px;
  display:flex;
  gap:2px;
  align-items:flex-end;
  height:12px;
  z-index:1;
}
.lane-arrow-row span{
  width:0;
  height:0;
  border-left:3px solid transparent;
  border-right:3px solid transparent;
  border-bottom:7px solid #b91c1c;
  opacity:.95;
  filter:drop-shadow(0 0 0.5px rgba(0,0,0,.25));
}
.lane-arrow-row span:nth-child(1){transform:translateY(4px)}
.lane-arrow-row span:nth-child(2){transform:translateY(3px)}
.lane-arrow-row span:nth-child(3){transform:translateY(2px)}
.lane-arrow-row span:nth-child(4){transform:translateY(.5px)}
.lane-arrow-row span:nth-child(5){transform:translateY(2px)}
.lane-arrow-row span:nth-child(6){transform:translateY(3px)}
.lane-arrow-row span:nth-child(7){transform:translateY(4px)}
.lane-dot-row{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:11px;
  display:flex;
  gap:3px;
  z-index:1;
}
.lane-dot-row span{
  width:2.5px;
  height:2.5px;
  border-radius:50%;
  background:#121212;
  box-shadow:0 0 0 0.4px rgba(255,255,255,.25);
}
.lane-ball{
  flex-shrink:0;
  align-self:center;
  width:15px;
  height:15px;
  margin:0 auto 6px;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.35),transparent 42%),
    radial-gradient(circle at 50% 100%,#0a0a0a,#252525 55%,#111);
  border:1px solid rgba(0,0,0,.35);
  box-shadow:inset 0 -2px 3px rgba(0,0,0,.45);
}
.lane-pin:hover:not(.lane-taken) .lane-track{
  border-color:rgba(255,112,32,.65);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 5px 16px rgba(255,112,32,.25),
    0 5px 14px rgba(0,0,0,.35);
}
.lane-pin.lane-sel .lane-track{
  border-color:var(--coral);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 0 0 2px rgba(255,112,32,.35),
    0 6px 18px rgba(255,112,32,.28);
}
.lane-pin.lane-taken .lane-track{
  cursor:not-allowed;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 3px 10px rgba(0,0,0,.3);
}
.lane-pin.lane-taken .lane-surface{
  filter:saturate(.35) brightness(.72) contrast(1.05);
}
.lane-pin.lane-sel .lane-ball{
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.4),transparent 42%),
    radial-gradient(circle at 50% 100%,#7c2d12,#ea580c 52%,#c2410c);
  border-color:rgba(124,45,18,.8);
}
.lane-pin.lane-taken .lane-ball{
  background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.12),#2a2a2a);
  opacity:.5;
}
.lane-num{font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--gray)}
.lane-pin.lane-sel .lane-num{color:var(--coral)}
.lane-pin.lane-taken .lane-num{color:rgba(255,255,255,.2)}
.lane-tag{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,77,58,.6);margin-top:-2px}

/* Guests selector */
.guests-row{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.guests-row label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);font-family:var(--font-display)}
.guests-ctrl{display:flex;align-items:center;gap:0;border:1.5px solid rgba(255,255,255,.1);overflow:hidden}
.guests-ctrl button{
  width:40px;height:40px;font-size:20px;font-weight:300;color:var(--gray);
  transition:all .25s;background:rgba(255,255,255,.03);
}
.guests-ctrl button:hover{background:var(--coral);color:#fff}
.guests-ctrl span{min-width:48px;text-align:center;font-family:var(--font-display);font-weight:700;font-size:18px}
.pkg-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.pkg-chip{
  padding:12px 20px;border:1.5px solid rgba(255,255,255,.1);cursor:pointer;
  transition:all .25s;text-align:left;
}
.pkg-chip:hover{border-color:rgba(255,77,58,.4)}
.pkg-chip.on{border-color:var(--coral);background:rgba(255,77,58,.08)}
.pkg-chip-name{font-family:var(--font-display);font-weight:700;font-size:13px;margin-bottom:4px}
.pkg-chip-desc{font-size:11px;color:var(--gray);line-height:1.5}
.pkg-chip-price{font-family:var(--font-display);font-weight:800;font-size:16px;color:var(--coral);margin-top:8px}

/* Contact form */
.bform-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.bform-row{display:flex;flex-direction:column;gap:6px}
.bform-row label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);font-family:var(--font-display)}
.bform-row input,.bform-row textarea,.bform-row select{
  background:var(--navy);border:1.5px solid rgba(255,255,255,.08);
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;
  padding:12px 14px;outline:none;transition:border-color .3s;
}
.bform-row input:focus,.bform-row textarea:focus,.bform-row select:focus{border-color:var(--coral)}
.bform-row textarea{height:80px;resize:vertical;grid-column:1/-1}
.bform-row select option{background:var(--navy-mid)}
.bform-full{grid-column:1/-1}

/* Summary box */
.book-summary{
  background:var(--navy);border:1px solid rgba(255,77,58,.2);
  padding:24px 28px;margin-bottom:28px;
}
.book-summary h4{font-family:var(--font-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:16px}
.sum-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px}
.sum-row:last-child{border-bottom:none;padding-top:14px;margin-top:6px}
.sum-row span:first-child{color:var(--gray)}
.sum-row.total span{font-family:var(--font-display);font-weight:800;font-size:18px}
.sum-row.total span:last-child{color:var(--coral)}

/* Book footer nav */
.book-footer{
  padding:20px 36px;border-top:1px solid rgba(255,255,255,.07);
  display:flex;justify-content:space-between;align-items:center;
  position:sticky;bottom:0;background:var(--navy-light);
}
.btn-prev{
  padding:13px 28px;border:1.5px solid rgba(255,255,255,.1);
  font-family:var(--font-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;color:var(--gray);transition:all .3s;
}
.btn-prev:hover{border-color:rgba(255,255,255,.3);color:var(--text)}
.btn-next{
  padding:13px 32px;background:var(--coral);
  font-family:var(--font-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:#fff;transition:background .3s,transform .2s;
}
.btn-next:hover{background:var(--coral-light);transform:translateY(-1px)}
.btn-next:disabled{background:rgba(255,255,255,.1);color:var(--gray);cursor:not-allowed;transform:none}

/* Confirmation */
.book-confirm{
  text-align:center;padding:40px 20px;
}
.book-confirm .confirm-ico{font-size:64px;margin-bottom:24px;animation:pop .5s var(--ease)}
@keyframes pop{0%{transform:scale(0)}80%{transform:scale(1.15)}100%{transform:scale(1)}}
.book-confirm h3{font-family:var(--font-display);font-weight:800;font-size:28px;margin-bottom:12px;color:#fff}
.book-confirm p{font-size:15px;color:var(--gray);max-width:400px;margin:0 auto 28px;line-height:1.75}
.book-ref{
  display:inline-block;padding:12px 24px;background:rgba(255,77,58,.1);
  border:1px solid rgba(255,77,58,.3);font-family:var(--font-display);font-weight:700;
  font-size:18px;color:var(--coral);letter-spacing:.2em;margin-bottom:32px;
}

/* Event booking button on cards */
.ev-book-btn{
  display:block;width:100%;margin-top:14px;padding:12px;
  background:rgba(255,77,58,.1);border:1.5px solid rgba(255,77,58,.3);
  font-family:var(--font-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:var(--coral);text-align:center;transition:all .3s;cursor:pointer;
}
.ev-book-btn:hover{background:var(--coral);color:#fff;border-color:var(--coral)}

/* Booking nav button in header */
.book-nav-btn{
  padding:20px 40px;background:var(--coral);
  font-family:var(--font-display);font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  font-weight:700;color:#fff;transition:all .3s;white-space:nowrap;
}
.book-nav-btn:hover{background:var(--coral-light)}

/* CMS bookings tab */
.booking-list{display:flex;flex-direction:column;gap:10px}
/* ═══ BOOKING CARDS (CMS) ═══ */
.bk-card{background:var(--navy-light);border:1px solid rgba(255,255,255,.06);margin-bottom:12px;overflow:hidden}
.bk-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:10px}
.bk-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0;padding:4px 0}
.bk-detail{padding:10px 18px;border-right:1px solid rgba(255,255,255,.04)}
.bk-detail:last-child{border-right:none}
.bk-lbl{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);font-family:var(--font-display);margin-bottom:3px}
.bk-val{font-size:13px;color:var(--text);font-weight:500}
.bk-notes{padding:12px 18px;background:rgba(255,112,32,.05);border-top:1px solid rgba(255,112,32,.15)}
@media(max-width:600px){.bk-details-grid{grid-template-columns:1fr 1fr}.bk-card-header{flex-direction:column;align-items:flex-start}}
  background:var(--navy-light);padding:16px 20px;
  border:1px solid rgba(255,255,255,.05);
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  transition:border-color .3s;
}
.booking-item:hover{border-color:rgba(255,77,58,.2)}
.booking-badge{
  padding:5px 12px;font-family:var(--font-display);font-size:8px;letter-spacing:.15em;
  text-transform:uppercase;font-weight:700;
}
.booking-badge.bowling{background:rgba(255,77,58,.15);color:var(--coral);border:1px solid rgba(255,77,58,.3)}
.booking-badge.event{background:rgba(100,180,255,.1);color:#64B4FF;border:1px solid rgba(100,180,255,.2)}
.booking-info strong{font-family:var(--font-display);font-size:14px;font-weight:600;display:block;margin-bottom:3px}
.booking-info span{font-size:11px;color:var(--gray)}
.booking-status{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.booking-status.confirmed{color:#4CAF50}
.booking-status.pending{color:#FFC107}
.booking-status.party{color:#A855F7}
.booking-status.pro{color:#38BDF8}
.sch-business-band{position:absolute;left:72px;right:72px;background:linear-gradient(180deg,rgba(255,112,32,.06),rgba(255,112,32,.03));border-top:1px solid rgba(255,112,32,.18);border-bottom:1px solid rgba(255,112,32,.18);pointer-events:none}
.sch-offhours-mask{position:absolute;left:72px;right:72px;background:rgba(0,0,0,.18);pointer-events:none}
.sch-booking{cursor:grab;user-select:none;transition:box-shadow .18s,border-color .18s,transform .12s}
.sch-booking:hover{border-color:rgba(255,255,255,.38)!important;box-shadow:0 8px 24px rgba(0,0,0,.24)}
.sch-booking.selected{box-shadow:0 0 0 2px rgba(255,112,32,.6),0 14px 34px rgba(0,0,0,.36);border-color:rgba(255,112,32,.7)!important}
.sch-resize-handle{position:absolute;z-index:3;opacity:0;transition:opacity .12s}
.sch-booking:hover .sch-resize-handle,.sch-booking.selected .sch-resize-handle{opacity:1}
.sch-rh-left,.sch-rh-right{top:0;bottom:0;width:8px;cursor:ew-resize}
.sch-rh-left{left:0}.sch-rh-right{right:0}
.sch-rh-top,.sch-rh-bottom{left:0;right:0;height:8px;cursor:ns-resize}
.sch-rh-top{top:0}.sch-rh-bottom{bottom:0}
.sch-live-preview{position:absolute;border:2px dashed rgba(255,112,32,.85);background:rgba(255,112,32,.12);border-radius:8px;pointer-events:none;z-index:20}
.sch-live-preview.invalid{border-color:rgba(255,80,80,.9);background:rgba(255,80,80,.14)}
.sch-live-label{position:absolute;z-index:21;padding:3px 8px;border-radius:999px;background:rgba(8,12,20,.96);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:10px;font-weight:800;letter-spacing:.02em;pointer-events:none}

/* Booking page as a proper page */
#page-booking .book-page-inner{max-width:980px;margin:0 auto;padding:80px}
.book-page-tabs{display:flex;gap:3px;margin-bottom:48px}
.bpt{
  flex:1;padding:18px;text-align:center;border:1.5px solid rgba(255,255,255,.08);
  cursor:pointer;transition:all .3s;
}
.bpt:hover{border-color:rgba(255,77,58,.3)}
.bpt.on{border-color:var(--coral);background:rgba(255,77,58,.06)}
.bpt-ico{font-size:32px;margin-bottom:8px}
.bpt-title{font-family:var(--font-display);font-weight:700;font-size:14px;margin-bottom:4px}
.bpt.on .bpt-title{color:var(--coral)}
.bpt-desc{font-size:12px;color:var(--gray)}

/* Responsive booking */
@media(max-width:768px){
  .book-panel{max-height:100vh;border-radius:0}
  .book-hdr,.book-body,.book-footer{padding-left:20px;padding-right:20px}
  .book-steps{padding:0 20px;overflow-x:auto}
  .bstep{min-width:80px;padding:12px 8px}
  .bform-grid{grid-template-columns:1fr}
  .book-page-tabs{flex-direction:column}
  #page-booking .book-page-inner{padding:60px 24px}
  .lanes-row{gap:6px}
  .lane-track{width:42px;height:92px}
  .lane-num{font-size:10px}
  .lpi{font-size:0;width:6px;height:6px;line-height:6px;border-width:0.4px}
}

/* ═══ HERO SLIDE EDITOR ═══ */
.slide-editor-card{background:var(--navy);border:1px solid rgba(255,255,255,.08);padding:14px;position:relative}
.slide-num{position:absolute;top:10px;right:10px;font-family:var(--font-display);font-size:22px;font-weight:800;color:rgba(255,255,255,.06)}
.slide-preview-wrap{position:relative;width:100%;padding-top:56%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);overflow:hidden;border-radius:2px}
.slide-preview-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s}
.slide-preview-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;color:rgba(255,255,255,.1)}
.slide-preview-img.loaded{opacity:1}
.slide-quick-btns{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:700px){#hero-slides-grid{grid-template-columns:1fr}}
/* ═══ HERO SLIDE EDITOR END ═══ */
.bk-toolbar{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}
.bk-toolbar-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.bk-toolbar-top h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:18px}
.bk-toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk-search-wrap{display:flex;align-items:center;gap:8px;background:var(--navy);border:1px solid rgba(255,255,255,.1);padding:0 12px;flex:1;min-width:220px;max-width:420px;transition:border-color .2s}
.bk-search-wrap:focus-within{border-color:var(--coral)}
.bk-search-icon{font-size:14px;opacity:.5;flex-shrink:0}
.bk-search-input{background:none;border:none;color:var(--text);font-size:13px;padding:11px 0;outline:none;width:100%;font-family:'DM Sans',sans-serif}
.bk-search-input::placeholder{color:rgba(255,255,255,.25)}
.bk-clear-btn{background:none;border:none;color:var(--gray);font-size:14px;cursor:pointer;padding:4px;flex-shrink:0;transition:color .2s}
.bk-clear-btn:hover{color:var(--coral)}
.bk-date-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bk-date-label{font-size:13px;color:var(--gray);white-space:nowrap}
.bk-date-input{background:var(--navy);border:1px solid rgba(255,255,255,.1);color:var(--text);font-size:12px;padding:9px 10px;outline:none;font-family:'DM Sans',sans-serif;cursor:pointer;transition:border-color .2s}
.bk-date-input:focus{border-color:var(--coral)}
.bk-date-input::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}
.bk-stats-bar{display:flex;gap:16px;flex-wrap:wrap}
.bk-stat-chip{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gray);padding:4px 10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.bk-stat-chip strong{color:var(--text);font-family:var(--font-display);font-size:13px}
.bk-no-results{padding:40px;text-align:center;color:var(--gray);font-size:14px}
@media(max-width:700px){.bk-search-wrap{max-width:100%}.bk-date-wrap{width:100%}}
/* ═══ BOOKING TOOLBAR END ═══ */
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:28px}
.theme-card{background:var(--navy-light);border:2px solid rgba(255,255,255,.07);overflow:hidden;position:relative;transition:border-color .25s}
.theme-card.active-theme{border-color:var(--coral)}
.theme-card-header{padding:18px 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(255,255,255,.06)}
.theme-icon{font-size:36px;flex-shrink:0}
.theme-name{font-family:var(--font-display);font-weight:700;font-size:16px}
.theme-status-badge{font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:3px 10px;border-radius:2px;font-weight:700;font-family:var(--font-display)}
.theme-status-badge.active{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);color:#22C55E}
.theme-status-badge.inactive{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--gray)}
.theme-status-badge.scheduled{background:rgba(100,180,255,.12);border:1px solid rgba(100,180,255,.3);color:#64B4FF}
.theme-card-body{padding:16px 20px;font-size:12px;color:var(--gray);line-height:1.7}
.theme-card-footer{padding:12px 20px;border-top:1px solid rgba(255,255,255,.05);display:flex;gap:8px;flex-wrap:wrap}
.theme-active-indicator{position:absolute;top:0;left:0;right:0;height:3px;background:var(--coral)}
.theme-form-wrap{background:var(--navy);border:1px solid rgba(255,112,32,.2);padding:28px;margin-bottom:28px;display:none}
.theme-form-wrap.open{display:block}
.theme-form-wrap h4{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--coral);margin-bottom:22px}
.theme-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.theme-form-full{grid-column:1/-1}
.theme-section-title{font-family:var(--font-display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin:20px 0 12px;display:flex;align-items:center;gap:8px}
.theme-section-title::after{content:'';flex:1;height:1px;background:rgba(255,112,32,.2)}
.anim-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.anim-item{background:var(--navy-light);border:1px solid rgba(255,255,255,.07);padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.anim-item-icon{font-size:24px;flex-shrink:0}
.anim-item-info{flex:1;min-width:0}
.anim-item-name{font-weight:600;font-size:13px}
.anim-item-desc{font-size:11px;color:var(--gray);margin-top:2px}
.color-swatch{display:inline-block;width:20px;height:20px;border-radius:3px;vertical-align:middle;border:1px solid rgba(255,255,255,.15);cursor:pointer}
.theme-color-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.theme-color-row label{font-size:11px;color:var(--gray);min-width:120px}
/* ── FRONTEND THEME OVERLAYS ── */
#theme-overlay{position:fixed;inset:0;pointer-events:none;z-index:400;overflow:hidden}
.theme-deco{position:absolute;pointer-events:none;user-select:none;line-height:1}
.theme-banner{position:fixed;top:0;left:0;right:0;z-index:500;padding:8px 24px;text-align:center;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;justify-content:center;gap:12px}
.theme-banner .tb-close{cursor:pointer;opacity:.7;margin-left:12px;pointer-events:all}
.theme-banner .tb-close:hover{opacity:1}
@keyframes theme-run-lr{from{transform:translateX(-150px) scaleX(1)}to{transform:translateX(calc(100vw + 150px)) scaleX(1)}}
@keyframes theme-run-rl{from{transform:translateX(calc(100vw + 150px)) scaleX(-1)}to{transform:translateX(-150px) scaleX(-1)}}
@keyframes theme-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}
@keyframes theme-bounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-24px) scale(1.05)}}
@keyframes theme-fade-in-out{0%,100%{opacity:0}15%,85%{opacity:1}}
@keyframes theme-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes snowfall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(110vh) rotate(360deg);opacity:.3}}
@keyframes firework-burst{0%{transform:scale(0);opacity:1}100%{transform:scale(3);opacity:0}}
@media(max-width:768px){.theme-grid{grid-template-columns:1fr}.theme-form-grid{grid-template-columns:1fr}}
/* ════════ THEME MANAGER END ════════ */
.acc-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.acc-card{background:var(--navy-light);border:1px solid rgba(255,255,255,.06);padding:28px}
.acc-card h3{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:6px}
.acc-card .acc-sub{font-size:12px;color:var(--gray);margin-bottom:22px;line-height:1.6}
.acc-sep{height:1px;background:rgba(255,255,255,.07);margin:20px 0}
.role-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-family:var(--font-display);font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;border-radius:2px}
.role-badge.admin{background:rgba(255,112,32,.15);border:1px solid rgba(255,112,32,.35);color:var(--coral)}
.role-badge.manager{background:rgba(100,180,255,.1);border:1px solid rgba(100,180,255,.25);color:#64B4FF}
.role-badge.viewer{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--gray)}
.acc-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.acc-table th{font-family:var(--font-display);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);padding:8px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);font-weight:400}
.acc-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;vertical-align:middle}
.acc-table tr:last-child td{border-bottom:none}
.acc-table tr:hover td{background:rgba(255,255,255,.02)}
.acc-row-acts{display:flex;gap:6px;justify-content:flex-end}
.acc-status{width:8px;height:8px;border-radius:50%;display:inline-block}
.acc-status.active{background:#22C55E}.acc-status.inactive{background:var(--gray)}
.acc-form-wrap{background:var(--navy);border:1px solid rgba(255,77,58,.2);padding:22px;margin-bottom:20px;display:none}
.acc-form-wrap.open{display:block}
.acc-form-wrap h4{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--coral);margin-bottom:18px}
.acc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.acc-perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.perm-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-light);cursor:pointer;padding:6px 0}
.perm-check input[type=checkbox]{accent-color:var(--coral);width:14px;height:14px;cursor:pointer}
.acc-hint{font-size:11px;color:var(--gray);margin-top:8px;line-height:1.5;padding:10px;background:rgba(255,255,255,.03);border-left:2px solid rgba(255,112,32,.4)}
.my-pass-card{background:var(--navy-light);border:1px solid rgba(255,255,255,.06);padding:28px;margin-bottom:28px}
.my-pass-card h3{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:6px}
.pass-strength{height:3px;border-radius:2px;margin-top:8px;transition:all .3s;background:rgba(255,255,255,.1)}
.pass-strength-label{font-size:10px;margin-top:4px;letter-spacing:.1em}
@media(max-width:768px){.acc-layout{grid-template-columns:1fr}.acc-form-grid{grid-template-columns:1fr}.acc-perm-grid{grid-template-columns:1fr}}
/* ════════ ACCOUNTS MANAGER END ════════ */

/* ════════════ CMS ADMIN LOGIN ════════════ */
#cms-login-ov{
  position:fixed;inset:0;z-index:995;
  background:rgba(10,15,24,.98);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .35s;
}
#cms-login-ov.open{opacity:1;pointer-events:all}
.login-box{
  position:relative;background:var(--navy-light);width:420px;max-width:94vw;
  padding:44px 40px;border:1px solid rgba(255,77,58,.25);
  animation:slideUp .4s var(--ease);
}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.login-logo .logo-mark{width:36px;height:36px;font-size:16px}
.login-logo .logo-text{font-size:15px}
.login-box h2{font-family:var(--font-display);font-weight:800;font-size:22px;margin-bottom:6px}
.login-box p{font-size:13px;color:var(--gray);margin-bottom:28px}
.login-field{margin-bottom:18px}
.login-field label{display:block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--coral);margin-bottom:7px;font-family:var(--font-display)}
.login-field input{
  width:100%;background:var(--navy);border:1.5px solid rgba(255,255,255,.1);
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:15px;
  padding:13px 16px;outline:none;transition:border-color .3s;
}
.login-field input:focus{border-color:var(--coral)}
.login-err{
  font-size:12px;color:#FF6B6B;margin-bottom:14px;
  padding:10px 14px;background:rgba(255,77,58,.08);
  border:1px solid rgba(255,77,58,.2);display:none;
}
.login-err.show{display:block}
.login-btn{
  width:100%;padding:15px;background:var(--coral);
  font-family:var(--font-display);font-weight:700;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:#fff;
  transition:background .3s,transform .2s;margin-top:4px;
}
.login-btn:hover{background:var(--coral-light);transform:translateY(-1px)}
.login-hint{font-size:11px;color:rgba(255,255,255,.2);text-align:center;margin-top:16px}

/* ════════════ PRICING EDITOR ════════════ */
.pricing-section{margin-bottom:36px}
.pricing-section h4{
  font-family:var(--font-display);font-weight:700;font-size:14px;
  margin-bottom:18px;padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.07);color:var(--coral);
}
.pricing-tier-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.pricing-tier-table th{
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gray);padding:6px 10px;text-align:left;font-weight:400;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.pricing-tier-table td{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.04)}
.pricing-tier-table td:first-child{color:var(--gray);font-size:12px;padding-left:10px}
.tier-label{
  display:inline-block;padding:3px 10px;
  background:rgba(255,255,255,.05);font-size:11px;
  font-family:var(--font-display);font-weight:600;
}
.price-input{
  width:80px;background:var(--navy);border:1.5px solid rgba(255,255,255,.08);
  color:var(--text);font-family:var(--font-display);font-weight:700;font-size:14px;
  padding:7px 10px;outline:none;transition:border-color .3s;text-align:center;
}
.price-input:focus{border-color:var(--coral)}
.price-input-prefix{font-size:12px;color:var(--gray);margin-right:4px}
.price-cell{display:flex;align-items:center;gap:4px}
.pricing-pkg-tabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}
.ppt{
  padding:9px 18px;font-family:var(--font-display);font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;font-weight:600;
  border:1.5px solid rgba(255,255,255,.1);color:var(--gray);transition:all .25s;cursor:pointer;
}
.ppt.on{background:var(--coral);border-color:var(--coral);color:#fff}
.ppt:hover:not(.on){border-color:rgba(255,77,58,.4);color:var(--text)}
.lane-price-row{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  padding:20px;background:var(--navy);border:1px solid rgba(255,255,255,.06);
  margin-bottom:20px;
}
.lane-price-row label{
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--coral);font-family:var(--font-display);display:block;margin-bottom:8px;
}
.change-pwd-section{
  margin-top:24px;padding:20px;background:var(--navy);
  border:1px solid rgba(255,255,255,.06);
}
.change-pwd-section h4{font-family:var(--font-display);font-weight:700;font-size:14px;margin-bottom:16px;color:var(--coral)}
.logout-btn{
  padding:11px 24px;border:1.5px solid rgba(255,77,58,.3);
  font-family:var(--font-display);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;color:var(--coral);
  transition:all .3s;margin-top:16px;
}
.logout-btn:hover{background:rgba(255,77,58,.1);border-color:var(--coral)}

/* ════════════ RESPONSIVE ════════════ */
@media(max-width:1024px){
  section.sec{padding-left:40px;padding-right:40px}
  .stats{padding:36px 40px}.fg{grid-template-columns:repeat(2,1fr)}
  .sg{grid-template-columns:repeat(2,1fr)}.fg-grid{grid-template-columns:1fr 1fr}
  .ent-g{grid-template-columns:1fr 1fr}.ph-body{padding:0 40px 44px}
  .bhl{padding:56px}.det-body{padding:56px 40px}
  .settings-grid{grid-template-columns:1fr}.dash-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  :root{--hdr:64px}
  nav{display:none}.burger{display:flex}
  section.sec{padding:64px 24px}
  .stats{grid-template-columns:1fr 1fr;padding:36px 24px}
  .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:20px}
  .stat:nth-child(even){border-bottom:none}
  .pg{grid-template-columns:1fr;height:auto}.pc:first-child{grid-row:span 1}.pc{aspect-ratio:4/3}
  .ent-g{grid-template-columns:1fr}.fg{grid-template-columns:1fr}
  .sg{grid-template-columns:1fr}.eg{grid-template-columns:1fr}.vl{grid-template-columns:1fr}
  .fg-grid{grid-template-columns:1fr}
  footer{padding:56px 24px 32px}.fg-bottom{flex-direction:column;gap:16px}
  .bhl{padding:40px 24px;grid-template-columns:1fr}
  #hdr{padding:0 24px}.hero-body{padding:0 24px 80px}.slide-dots{right:24px}.scroll-hint{display:none}
  .ph-body{padding:0 24px 36px}.ph-body h1{font-size:36px}
  .det-htxt{left:24px}.det-body{padding:40px 24px;grid-template-columns:1fr}
  .det-sidebar{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.07);padding-top:36px;margin-top:8px}
  .cms-body{padding:28px 20px}.cms-hdr{padding:20px 24px}
  .settings-grid{grid-template-columns:1fr}.sec-row{flex-direction:column;align-items:flex-start}
}

/* ════════════ RESPONSIVE LAYER (MOBILE-FIRST OVERRIDES) ════════════ */
html,body{max-width:100%}

/* Keep content balanced on wide monitors while preserving current style */
section.sec > *:not(.pg):not(.stats):not(.bhl),
footer > * {
  max-width: min(1400px, 100%);
  margin-inline: auto;
}

/* Flexible global spacing + typography */
section.sec{padding-inline:clamp(16px,4vw,80px)}
.sec-sub,.hero-p,.det-desc p,.fdo-info-value,.fdo-website-hint{font-size:clamp(13px,1.2vw,15px)}
.btn-p,.btn-s,.btn-website{padding:clamp(11px,1.6vw,15px) clamp(16px,3vw,38px)}

/* Responsive nav/search text on very small phones */
#mob-nav a{font-size:clamp(22px,8vw,32px)}
#srch-ov input{font-size:clamp(22px,7vw,32px)}

/* Card/media blocks: avoid rigid heights where possible */
.pg{height:auto;grid-auto-rows:minmax(180px,1fr)}
.pc{min-height:180px}
.ev-card{min-width:clamp(240px,70vw,320px)}
.ev-img{height:clamp(150px,30vw,200px)}
.ent-c{height:clamp(260px,48vw,480px)}
.bhl-r{height:clamp(220px,34vw,360px)}
.fc-img{height:clamp(150px,24vw,190px)}

/* Booking lane map scaling */
.lanes-row{gap:clamp(5px,1vw,10px)}
.lane-track{
  width:clamp(38px,4.6vw,52px);
  height:clamp(82px,11vw,108px);
}
.lane-ball{
  width:clamp(11px,1.5vw,15px);
  height:clamp(11px,1.5vw,15px);
}
.lane-num{font-size:clamp(10px,1.3vw,11px)}

/* Booking page/overlay responsiveness */
#page-booking .book-page-inner{padding:clamp(24px,6vw,80px)}
.book-hdr,.book-body,.book-footer{padding-inline:clamp(14px,3.5vw,36px)}
.book-steps{padding-inline:clamp(10px,3vw,36px)}
.book-confirm h3{font-size:clamp(24px,6vw,28px)}
.book-confirm p{font-size:clamp(13px,3.6vw,15px)}

/* Admin login card and dashboard content */
.admin-wrap{padding:clamp(24px,8vw,96px) 14px}
.admin-wrap > .admin-card{width:min(720px,100%)}
#cms-app .cms-body{padding:clamp(16px,3vw,28px) clamp(12px,2.5vw,20px)}

/* 320–425 phone focus */
@media (max-width:425px){
  #hdr{padding-inline:14px}
  .hero-body{padding:0 14px 56px}
  .slide-dots{right:14px;bottom:18px}
  .stats{grid-template-columns:1fr;padding:24px 14px}
  .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.15);padding:0 0 14px}
  .stat:last-child{border-bottom:none}
  .stat-n{font-size:clamp(34px,12vw,44px)}
  .book-page-tabs{gap:6px}
  .book-page-tabs .fb{width:100%}
  .vl{gap:24px}
  .det-htxt{left:14px;bottom:24px}
  .det-body{padding:28px 14px}

  /* Prevent left header logo clipping on very small screens */
  .logo-wrap{min-width:0;gap:8px}
  .logo-mark{flex-shrink:1}
  .logo-mark svg{height:34px !important;width:auto !important;display:block}
  .logo-wrap svg{flex-shrink:1}
}

/* Tablet tune-up */
@media (min-width:426px) and (max-width:1024px){
  .hero-body{padding:0 clamp(20px,4vw,40px) clamp(56px,8vw,90px)}
  .ph-body{padding:0 clamp(20px,4vw,40px) clamp(28px,5vw,44px)}
}

/* Medium header compaction (keeps logo visible at ~768-1100px) */
@media (max-width:1100px){
  #hdr{padding-inline:24px}
  nav{gap:18px}
  nav a{font-size:10px}
  .book-nav-btn{padding:16px 28px;font-size:11px}
}

/* Header compaction for narrow windows/tablets */
@media (max-width:900px){
  #hdr{gap:8px;padding-inline:clamp(10px,2.8vw,24px)}
  .logo-wrap{min-width:0;flex:1 1 auto;gap:8px}
  .logo-mark{flex-shrink:1}
  .logo-mark svg{height:40px !important;width:auto !important;max-width:100%;display:block}
  .book-nav-btn{
    padding:14px 22px;
    font-size:10px;
    letter-spacing:.12em;
  }
  .hdr-r{gap:8px;flex-shrink:0}
  .lang-sw button{padding:4px 6px}
  .icon-btn{width:32px;height:32px}
}

/* Large desktop balance */
@media (min-width:1440px){
  #hdr{padding-inline:clamp(32px,4vw,64px)}
  .hero-body{max-width:min(900px,100%)}
  .book-panel{max-width:1000px}
}

@media (min-width:1920px){
  section.sec > *:not(.pg):not(.stats):not(.bhl),
  footer > * { max-width: 1520px; }
}

/* Disable legacy in-page CMS (use /admin instead) */
#cms-btn,
#cms-panel,
#cms-modal,
#cms-login-ov {
  display: none !important;
}
