:root{--green-950:#092d24;--green-900:#103d30;--green-800:#18513d;--green-700:#276746;--green-100:#e5f1e4;--accent:#a8d96f;--accent-strong:#8dca52;--off-white:#fbfcf8;--canvas:#f2f5f1;--surface:#fff;--ink:#102138;--muted:#66736d;--border:#dfe5df;--amber:#d88912;--amber-soft:#fff3d6;--blue-soft:#e7f0fb;--danger:#c9343b;--danger-soft:#fde8e8;--shadow:0 16px 45px #0f2f2417}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{color:var(--ink);background:var(--off-white);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:2px;outline:3px solid #8dca5280}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfcf8f2;border-bottom:1px solid #092d2417;justify-content:space-between;align-items:center;min-height:72px;padding:10px max(5vw,20px);display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:10px;min-width:max-content;display:inline-flex}.brand-logo{object-fit:contain;background:#fff;border-radius:8px;flex:0 0 48px;width:48px;height:48px}.brand-mark{background:var(--green-900);width:44px;height:44px;color:var(--accent);border:3px solid var(--accent);letter-spacing:-2px;border-radius:50%;place-items:center;font-weight:950;display:grid}.brand-lockup>span:last-child{flex-direction:column;line-height:1;display:flex}.brand-lockup strong{letter-spacing:.03em;font-size:1.18rem;font-weight:950}.brand-lockup small{letter-spacing:.16em;margin-top:4px;font-size:.68rem;font-weight:850}.site-header nav{align-items:center;gap:30px;font-size:.9rem;font-weight:750;display:flex}.site-header nav a:hover{color:var(--green-700)}.home-hero{color:#fff;background:var(--green-950);align-items:center;min-height:min(650px,78vh);padding:80px max(6vw,22px);display:flex;position:relative;overflow:hidden}.home-hero>img{object-fit:cover;object-position:55% 58%;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(90deg,#052019f5 0%,#052019c2 52%,#05201933 100%);position:absolute;inset:0}.hero-content{z-index:1;width:min(650px,100%);position:relative}.eyebrow{letter-spacing:.14em;margin:0 0 14px;font-size:.75rem;font-weight:900}.eyebrow.green{color:var(--green-700)}.home-hero h1{letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(3.25rem,8vw,6.5rem);line-height:.9}.home-hero h1 span{color:var(--accent)}.hero-text{color:#edf4ef;max-width:520px;margin:22px 0 30px;font-size:1.12rem;line-height:1.6}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 21px;font-size:.94rem;font-weight:850;display:inline-flex}.primary-button{color:#fff;background:var(--green-700);border-color:var(--green-700);box-shadow:0 9px 22px #27674630}.primary-button:hover{background:var(--green-800);border-color:var(--green-800)}.hero-cta{color:var(--green-950);background:var(--accent);border-color:var(--accent);min-width:190px}.hero-cta:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.secondary-button{color:var(--green-800);background:#fff;border-color:#b9c9bf}.danger-button{color:var(--danger);background:#fff;border-color:#edb9bc}.wide{width:100%}.trust-strip{z-index:2;border:1px solid var(--border);width:min(1080px,100% - 40px);box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:repeat(3,1fr);margin:-34px auto 0;padding:19px 26px;display:grid;position:relative}.trust-strip>div{border-right:1px solid var(--border);align-items:center;gap:13px;min-height:54px;padding:0 24px;display:flex}.trust-strip>div:last-child{border-right:0}.trust-strip>div>span{width:37px;height:37px;color:var(--green-800);background:var(--green-100);border-radius:11px;flex:0 0 37px;place-items:center;font-weight:900;display:grid}.trust-strip p{flex-direction:column;margin:0;display:flex}.trust-strip strong{font-size:.88rem}.trust-strip small{color:var(--muted);font-size:.75rem}.booking-section{background:var(--canvas);padding:100px max(5vw,20px)}.section-heading{text-align:center;width:min(760px,100%);margin:0 auto 32px}.section-heading h2,.venue-copy h2{letter-spacing:-.04em;margin:0 0 10px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.section-heading>p:last-child,.venue-copy>p{color:var(--muted)}.booking-shell,.booking-card{border:1px solid var(--border);width:min(980px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;margin:0 auto;padding:28px}.booking-progress{grid-template-columns:repeat(5,1fr);margin-bottom:24px;display:grid}.booking-progress button{cursor:pointer;color:#98a19c;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;padding:0 4px;display:flex;position:relative}.booking-progress button:before{content:"";z-index:0;background:var(--border);width:100%;height:2px;position:absolute;top:16px;left:-50%}.booking-progress button:first-child:before{display:none}.booking-progress button.done:before,.booking-progress button.active:before{background:var(--green-700)}.booking-progress button>span{z-index:1;width:34px;height:34px;color:var(--ink);background:#edf0ee;border-radius:50%;place-items:center;font-size:.82rem;font-weight:900;display:grid;position:relative}.booking-progress button.active>span,.booking-progress button.done>span{color:#fff;background:var(--green-700)}.booking-progress button.active small{color:var(--green-800)}.booking-progress small{font-size:.72rem;font-weight:750}.demo-note{background:var(--amber-soft);color:#704600;border-radius:11px;margin:0 0 22px;padding:12px 14px;font-size:.86rem}.step-heading{margin-bottom:22px}.step-kicker,.section-label{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:.7rem;font-weight:900;display:block}.step-heading h3{letter-spacing:-.025em;margin:0 0 4px;font-size:1.75rem;line-height:1.2}.step-heading p{color:var(--muted);margin:0}.date-window{scrollbar-width:thin;grid-auto-columns:minmax(72px,1fr);grid-auto-flow:column;gap:8px;padding:3px 2px 10px;display:grid;overflow-x:auto}.date-window button{border:1px solid var(--border);cursor:pointer;text-transform:capitalize;background:#fff;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:94px;padding:10px 8px;display:flex}.date-window button>span,.date-window button>small{color:var(--muted);font-size:.72rem}.date-window button>strong{margin:2px 0;font-size:1.28rem}.date-window button.selected{color:#fff;background:var(--green-700);border-color:var(--green-700);box-shadow:0 8px 18px #27674633}.date-window button.selected>span,.date-window button.selected>small{color:#fff}.date-window button:disabled{color:#afb5b1;opacity:1;background:#f2f3f2;border-style:dashed}.date-window button:disabled>span,.date-window button:disabled>small{color:#a8afab}.window-caption{color:var(--muted);margin:4px 0 22px;font-size:.78rem}.window-caption span{color:var(--green-700)}.availability-block{border:1px solid var(--border);background:#fafcf9;border-radius:18px;padding:20px}.availability-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px;display:flex}.availability-header h4{margin:0 0 2px;font-size:1.08rem}.availability-header p{color:var(--muted);text-transform:capitalize;margin:0;font-size:.84rem}.availability-count{color:var(--green-800);background:var(--green-100);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:850}.time-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.time-slot{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:62px;padding:8px;transition:transform .15s,border-color .15s;display:flex}.time-slot.free:hover{border-color:var(--green-700);transform:translateY(-1px)}.time-slot.busy{color:#9aa39e;background:#ecefed;text-decoration:line-through}.time-slot.unavailable{color:#77643d;background:#f7f2e6;border-style:dashed}.time-slot.unavailable .time-status{color:#8b7547}.time-value{font-size:1rem;font-weight:900}.time-status{color:var(--muted);margin-top:2px;font-size:.68rem;font-weight:750;text-decoration:none}.time-slot.selected-range{color:#fff;background:var(--green-800);border-color:var(--green-800);box-shadow:inset 0 0 0 1px #ffffff14}.time-slot.selected-range .time-status{color:#dce9df}.time-slot.range-start{background:var(--green-700);box-shadow:0 7px 18px #27674638}.interval-summary{color:#fff;background:var(--green-950);border-radius:12px;grid-template-columns:1fr auto;align-items:center;margin-top:14px;padding:13px 15px;display:grid}.interval-summary span{color:#cbdad1;font-size:.73rem}.interval-summary strong{grid-row:span 2;font-size:1.05rem}.interval-summary small{color:var(--accent);font-size:.72rem;font-weight:800}.availability-legend{color:var(--muted);flex-wrap:wrap;gap:7px 14px;margin:-4px 0 13px;font-size:.72rem;display:flex}.availability-legend span{align-items:center;gap:6px;display:inline-flex}.availability-legend i{border:1px solid var(--border);border-radius:50%;width:9px;height:9px;display:inline-block}.availability-legend .legend-free{background:#fff}.availability-legend .legend-unavailable{background:#f7f2e6;border-color:#cfbd8f}.availability-legend .legend-occupied{background:#c9cfcb;border-color:#abb3ae}.availability-note{color:#6f5b32;background:#fff8e9;border-radius:10px;margin:-5px 0 14px;padding:10px 12px;font-size:.78rem;line-height:1.45}.interval-blocks{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:9px;display:flex}.interval-blocks span{color:#dce9df;background:#ffffff1c;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800}.duration-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.duration-grid button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:22px 12px 16px;display:flex;position:relative}.duration-grid button.selected{border:2px solid var(--accent-strong);background:#f6fbef;box-shadow:0 9px 25px #2767461a}.duration-grid strong{margin-bottom:7px}.duration-grid b{color:var(--green-800);font-size:1.65rem}.duration-grid small{color:var(--muted)}.popular-tag{color:#fff;background:var(--green-700);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.66rem;font-weight:850;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.booking-rules{background:var(--canvas);border-radius:14px;margin:22px 0 0;padding:16px 18px}.booking-rules p{align-items:center;gap:9px;margin:6px 0;font-size:.9rem;display:flex}.booking-rules span{color:var(--green-700)}.customer-fields{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}label{flex-direction:column;gap:7px;font-size:.84rem;font-weight:800;display:flex}label>span{color:var(--danger)}label small{color:var(--muted);font-weight:500}input,select{width:100%;min-height:52px;color:var(--ink);background:#fff;border:1px solid #cfd7d1;border-radius:10px;outline:none;padding:0 14px}input:focus,select:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #2767461f}.confirmation-summary{grid-template-columns:1fr 190px;gap:16px;display:grid}.confirmation-summary dl{border:1px solid var(--border);border-radius:15px;margin:0;padding:7px 18px}.confirmation-summary dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:11px 0;display:flex}.confirmation-summary dl div:last-child{border-bottom:0}.confirmation-summary dt{color:var(--muted)}.confirmation-summary dd{text-align:right;text-transform:capitalize;margin:0;font-weight:800}.price-summary{color:#fff;background:var(--green-900);border-radius:15px;flex-direction:column;justify-content:center;padding:20px;display:flex}.price-summary span{color:#d3e1d8;font-size:.76rem}.price-summary strong{color:var(--accent);margin:5px 0;font-size:2rem}.price-summary small{color:#fff}.payment-card{color:var(--green-950);background:var(--green-100);border-radius:14px;margin:18px 0;padding:18px;line-height:1.55}.payment-card p{margin:8px 0}.payment-card>div{justify-content:space-between;align-items:center;gap:15px;display:flex}.payment-card>div strong{font-size:1.8rem}.payment-card small{color:#435b50}.mobile-action-bar{margin-top:24px}.split-actions{grid-template-columns:minmax(110px,.42fr) 1fr;gap:10px;display:grid}.form-message{background:var(--green-100);border-radius:11px;margin:15px 0 0;padding:13px 15px;line-height:1.45}.form-message.error{color:#922b31;background:var(--danger-soft)}.text-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.booking-feedback{width:min(980px,100%);margin:16px auto 0}.request-card{margin-top:18px}.request-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.request-card-heading h3{text-transform:capitalize;margin:0;font-size:1.35rem}.request-card-heading p{color:var(--muted);margin:3px 0 0}.countdown{background:var(--amber-soft);border-radius:10px;padding:12px 14px}.small-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:9px;min-height:42px;padding:0 14px;font-size:.8rem;font-weight:800}.small-button.danger{color:var(--danger);border-color:#edb9bc}.small-button.wide{margin-top:9px}.status-badge{color:#405048;white-space:nowrap;background:#edf0ee;border-radius:999px;width:fit-content;padding:5px 9px;font-size:.68rem;font-weight:900;display:inline-flex}.status-pending_payment{color:#744800;background:var(--amber-soft)}.status-pending_verification{color:#704600;background:#ffe4a3}.status-confirmed{color:#205b37;background:#dff4e7}.status-rejected,.status-expired,.status-cancelled{color:#8b2d24;background:var(--danger-soft)}.venue-section{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;width:min(1160px,100% - 40px);margin:0 auto;padding:100px 0;display:grid}.venue-photo{min-height:460px;box-shadow:var(--shadow);border-radius:24px;position:relative;overflow:hidden}.venue-photo img{object-fit:cover}.venue-copy ul{gap:11px;margin:25px 0;padding:0;list-style:none;display:grid}.venue-copy li{align-items:center;gap:9px;display:flex}.venue-copy li span{width:25px;height:25px;color:var(--green-800);background:var(--green-100);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.location-section{grid-template-columns:.75fr 1.25fr;align-items:center;gap:48px;width:min(1160px,100% - 40px);margin:0 auto;padding:0 0 100px;display:grid}.location-copy h2{margin:8px 0 16px}.location-copy p:not(.eyebrow){margin-bottom:24px}.location-map{border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:24px;overflow:hidden}.location-map iframe{border:0;width:100%;height:350px;display:block}footer{color:#fff;background:var(--green-950);justify-content:space-between;align-items:center;padding:38px max(5vw,20px);display:flex}.footer-brand .brand-logo{background:#fff}.footer-links{color:#cfddd4;gap:24px;font-size:.84rem;display:flex}.footer-credit{color:#cfddd475;letter-spacing:.035em;white-space:nowrap;font-size:.62rem;font-weight:500}.section{background:var(--canvas);min-height:100vh;padding:60px 20px}.section .booking-card{max-width:620px}.section .booking-card h1{font-size:2.2rem}.admin-login-page{color:#fff;background:radial-gradient(circle at 50% 20%, #1a5943, var(--green-950) 56%);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{width:min(430px,100%);color:var(--ink);background:#fff;border-radius:22px;gap:22px;padding:30px;display:grid;box-shadow:0 30px 80px #00000040}.admin-login-card h1{letter-spacing:-.04em;margin:3px 0 7px;font-size:2rem}.admin-login-card p{color:var(--muted);margin:0}.back-link{color:var(--muted);text-align:center;font-size:.84rem}.admin-page{background:var(--canvas);min-height:100vh;padding-bottom:100px}.admin-topbar{z-index:40;background:var(--green-950);color:#fff;justify-content:space-between;align-items:center;min-height:70px;padding:10px max(4vw,16px);display:flex;position:sticky;top:0;box-shadow:0 4px 20px #092d2424}.admin-lockup .brand-logo{flex-basis:42px;width:42px;height:42px}.admin-lockup small{color:var(--accent)}.admin-header-actions{gap:8px;display:flex}.icon-button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:11px;place-items:center;width:42px;height:42px;padding:0;font-size:1.1rem;display:grid}.admin-content{width:min(1040px,100% - 32px);margin:0 auto;padding:27px 0 50px}.admin-welcome{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.admin-welcome h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.admin-welcome p:last-child{color:var(--muted);text-transform:capitalize;margin:7px 0 0;font-size:.88rem}.refresh-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-weight:800;display:flex}.admin-content>.demo-note{color:var(--green-950);border:1px solid var(--border);background:#fff;padding:14px}.admin-content>.demo-note p{color:var(--muted);margin:8px 0 0}.admin-summary-grid{grid-template-columns:repeat(3,1fr) 1.35fr;gap:12px;margin:20px 0 30px;display:grid}.admin-summary-grid article{border:1px solid var(--border);background:#fff;border-radius:16px;align-items:center;gap:13px;min-height:105px;padding:16px;display:flex}.admin-summary-grid article.attention{background:var(--amber-soft);border-color:#eccb7e}.summary-icon{border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:950;display:grid}.summary-icon.green{color:var(--green-800);background:var(--green-100)}.summary-icon.amber{color:#8b5700;background:#ffe3a0}.summary-icon.blue{color:#275a8f;background:var(--blue-soft)}.admin-summary-grid article>div{flex-direction:column;display:flex}.admin-summary-grid article>div strong{font-size:1.65rem;line-height:1}.admin-summary-grid article small{color:var(--muted);margin-top:5px;font-size:.72rem}.admin-summary-grid .next-match{color:#fff;background:var(--green-900);flex-direction:column;justify-content:center;align-items:flex-start;padding:16px 18px;display:flex}.next-match>span{color:#bcd0c4;text-transform:uppercase;font-size:.7rem;font-weight:800}.next-match>strong{color:var(--accent);margin-top:4px;font-size:1.35rem}.next-match>small{color:#fff!important}.admin-section{margin:0 0 30px;scroll-margin-top:88px}.admin-section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.admin-section-heading h2{letter-spacing:-.03em;margin:0;font-size:1.5rem}.count-pill{color:#744800;background:#ffe3a0;border-radius:999px;place-items:center;min-width:31px;height:31px;padding:0 9px;font-size:.78rem;font-weight:900;display:grid}.count-pill.neutral{color:var(--green-800);background:var(--green-100)}.admin-card-list{gap:11px;display:grid}.admin-reservation-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:17px;overflow:hidden;box-shadow:0 6px 20px #0f2f240a}.admin-reservation-card.urgent{background:linear-gradient(135deg, #fffdf8, var(--amber-soft));border:2px solid #e7b64c}.reservation-card-topline{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reservation-card-topline>div{flex-direction:column;display:flex}.reservation-card-topline>div strong{font-size:1.18rem}.reservation-card-topline>div small{color:var(--muted);text-transform:capitalize;font-size:.74rem}.reservation-person{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin:15px 0;display:grid}.avatar{color:#fff;background:var(--green-800);border-radius:50%;place-items:center;width:42px;height:42px;font-size:.75rem;font-weight:900;display:grid}.reservation-person>div{flex-direction:column;min-width:0;display:flex}.reservation-person>div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reservation-person a{color:var(--green-700);font-size:.82rem;font-weight:750;text-decoration:underline}.player-count{flex-direction:column;align-items:flex-end;font-size:1.1rem;font-weight:900;display:flex}.player-count small{color:var(--muted);font-size:.65rem;font-weight:600}.reservation-meta{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:7px 15px;padding:10px 0;font-size:.74rem;display:flex}.reservation-meta strong{color:var(--ink)}.bizum-alert{color:#704600;background:#ffe6a9;border-radius:10px;align-items:center;gap:9px;margin:10px 0;padding:10px 12px;font-size:.79rem;font-weight:750;display:flex}.bizum-alert span{color:#fff;background:var(--amber);border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-weight:950;display:grid}.admin-card-actions{grid-template-columns:1fr .7fr;gap:8px;margin-top:12px;display:grid}.admin-card-actions>:only-child{grid-column:1/-1}.admin-card-actions button{min-height:46px}.empty-card{min-height:92px;color:var(--green-800);text-align:left;background:#fff;border:1px dashed #b8c8bd;border-radius:16px;justify-content:center;align-items:center;gap:12px;padding:18px;display:flex}.empty-card>span{background:var(--green-100);border-radius:50%;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.empty-card p{flex-direction:column;margin:0;display:flex}.empty-card small{color:var(--muted)}.admin-calendar-section{border:1px solid var(--border);background:#fff;border-radius:20px;padding:20px}.admin-date-control{background:var(--canvas);border-radius:13px;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:18px;padding:14px;display:flex}.admin-date-control label{width:min(300px,100%)}.admin-date-control p{color:var(--green-700);margin:0 0 10px;font-size:.75rem;font-weight:750}.closure-range-control{background:var(--canvas);border-radius:13px;grid-template-columns:minmax(190px,.6fr) 1fr;align-items:end;gap:12px;margin:0 0 12px;padding:14px;display:grid}.closure-range-control p{color:var(--muted);margin:0 0 10px;font-size:.78rem;line-height:1.45}.closure-grid{grid-template-columns:1.25fr .75fr;gap:12px;display:grid}.admin-tool-card{border:1px solid var(--border);border-radius:15px;padding:17px}.admin-tool-card h3,.active-closures h3{margin:0 0 5px}.admin-tool-card>p{color:var(--muted);margin:0 0 14px;font-size:.82rem}.closure-time-fields{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.close-day-card{flex-direction:column;display:flex}.close-day-card button{margin-top:auto}.active-closures-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.active-closures-heading h3{margin:0}.active-closures{border-top:1px solid var(--border);margin-top:17px;padding-top:17px}.active-closures article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.active-closures article>div{flex-direction:column;display:flex}.active-closures article span{color:var(--muted);font-size:.75rem}.active-closures .fixed-closure-row{border:1px solid var(--border);border-radius:12px;margin:8px 0;padding:12px}.muted{color:var(--muted)}.admin-mobile-nav{z-index:60;color:#dbe7df;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#092d24f5;border:1px solid #ffffff1f;border-radius:18px;grid-template-columns:repeat(4,1fr);width:min(520px,100% - 24px);min-height:64px;padding:7px 8px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 16px 38px #092d2442}.admin-mobile-nav a{flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.65rem;font-weight:750;display:flex}.admin-mobile-nav span{color:var(--accent);font-size:1rem}@media (min-width:760px){.admin-reservation-card{grid-template-columns:1fr auto;gap:0 24px;display:grid}.reservation-card-topline,.reservation-person,.reservation-meta,.bizum-alert{grid-column:1}.admin-card-actions{grid-area:1/2/span 4;grid-template-columns:1fr;align-self:center;width:260px}.admin-card-actions>:only-child{grid-column:auto}}@media (max-width:820px){.site-header nav a:nth-child(2){display:none}.trust-strip{padding:16px}.trust-strip>div{padding:0 13px}.admin-summary-grid{grid-template-columns:repeat(2,1fr)}.admin-summary-grid .next-match{grid-column:1/-1}.venue-section{grid-template-columns:1fr;gap:36px}.venue-photo{min-height:360px}.location-section{grid-template-columns:1fr;gap:24px}}@media (max-width:600px){html{scroll-padding-top:68px}body{font-size:16px}.site-header{min-height:64px;padding:8px 16px}.brand-logo{flex-basis:40px;width:40px;height:40px}.brand-mark{width:39px;height:39px;font-size:.9rem}.brand-lockup strong{font-size:1rem}.brand-lockup small{font-size:.58rem}.site-header nav{gap:14px}.site-header nav a{display:none}.site-header nav a:first-child{color:#fff;background:var(--green-700);border-radius:9px;align-items:center;min-height:40px;padding:0 13px;display:inline-flex}.home-hero{align-items:flex-end;min-height:520px;padding:60px 20px 78px}.home-hero>img{object-position:60% 50%}.hero-overlay{background:linear-gradient(#0520195c 0%,#052019bd 36%,#052019fa 100%)}.home-hero h1{font-size:clamp(3.1rem,15vw,4.4rem)}.hero-text{margin:18px 0 24px;font-size:1rem}.hero-cta{width:100%;min-height:54px}.trust-strip{border-radius:15px;width:calc(100% - 24px);margin-top:-24px;padding:12px 8px}.trust-strip>div{border-right:1px solid var(--border);text-align:center;flex-direction:column;justify-content:center;gap:5px;min-height:76px;padding:4px 7px}.trust-strip>div>span{flex-basis:30px;width:30px;height:30px}.trust-strip strong{font-size:.69rem;line-height:1.15}.trust-strip small{display:none}.booking-section{padding:68px 12px 75px}.section-heading{text-align:left;padding:0 8px}.section-heading h2{font-size:2.1rem}.booking-shell,.booking-card{border-radius:19px;padding:16px}.booking-progress{margin-bottom:18px}.booking-progress button:before{top:14px}.booking-progress button>span{width:29px;height:29px}.booking-progress small{max-width:58px;font-size:.58rem;line-height:1.1}.demo-note{font-size:.78rem}.step-heading h3{font-size:1.55rem}.step-heading p{font-size:.87rem}.date-window{grid-auto-columns:70px;margin-right:-16px;padding-right:16px}.date-window button{min-height:88px}.availability-block{margin:0 -3px;padding:14px}.availability-header{align-items:center}.time-grid{grid-template-columns:repeat(3,1fr);gap:7px}.time-slot{min-height:57px;padding:7px 3px}.interval-summary{grid-template-columns:1fr}.interval-summary strong{grid-row:auto;margin:2px 0}.duration-grid{grid-template-columns:repeat(2,1fr)}.duration-grid button:last-child{grid-column:1/-1;min-height:122px}.customer-fields{grid-template-columns:1fr;gap:15px}.confirmation-summary{grid-template-columns:1fr}.price-summary{min-height:120px}.mobile-action-bar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-radius:14px;margin:24px -7px -7px;padding:8px;position:sticky;bottom:8px;box-shadow:0 -8px 25px #0f2f2414}.mobile-action-bar button{min-height:52px}.request-card-heading{flex-direction:column}.venue-section{width:calc(100% - 32px);padding:74px 0}.venue-photo{min-height:280px}.location-section{width:calc(100% - 32px);padding-bottom:74px}.location-map iframe{height:300px}footer{flex-direction:column;align-items:flex-start;gap:22px}.footer-links{flex-direction:column;gap:8px}.section{padding:26px 12px}.admin-content{width:calc(100% - 24px);padding-top:20px}.admin-welcome{align-items:flex-end}.refresh-button span{display:none}.refresh-button{justify-content:center;width:44px;padding:0}.admin-summary-grid{gap:8px}.admin-summary-grid article{min-height:92px;padding:12px}.summary-icon{flex-basis:34px;width:34px;height:34px}.admin-summary-grid article>div strong{font-size:1.45rem}.admin-summary-grid article small{line-height:1.15}.admin-calendar-section{margin-left:-2px;margin-right:-2px;padding:15px}.admin-date-control{flex-direction:column;align-items:stretch}.admin-date-control p{margin:0}.closure-range-control,.closure-grid{grid-template-columns:1fr}.closure-time-fields select{min-height:54px}.admin-mobile-nav{bottom:8px}}.bizum-card .bizum-copy-row{background:#ffffff9e;border:1px solid #12604329;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:12px 0;padding:12px;display:flex}.bizum-card .bizum-copy-row>div{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.bizum-card .bizum-copy-row>div strong{overflow-wrap:anywhere;font-size:1rem}.bizum-card .bizum-copy-row>div small{font-weight:750}.bizum-reference-warning{background:#fff2c9;border-radius:10px;padding:11px 12px}.customer-fields input[aria-invalid=true]{border-color:var(--danger);outline-color:var(--danger)}.customer-fields .field-error{color:var(--danger);margin-top:5px;font-weight:700;display:block}@media (max-width:520px){.bizum-card .bizum-copy-row{flex-direction:column;align-items:stretch}.bizum-card .bizum-copy-row .small-button{width:100%}}.active-request-card{box-shadow:0 0 0 2px #2767461f, var(--shadow);scroll-margin-top:88px}.bizum-deposit-note{background:#ffffffb8;border-radius:10px;padding:10px 12px}.admin-sessions-section{border:1px solid var(--border);background:#fff;border-radius:18px;padding:0}.admin-sessions-summary{cursor:pointer;justify-content:space-between;align-items:flex-end;gap:12px;padding:18px;list-style:none;display:flex}.admin-sessions-summary::-webkit-details-marker{display:none}.admin-sessions-summary h2{letter-spacing:-.03em;margin:0;font-size:1.5rem}.admin-sessions-summary-meta{align-items:center;gap:8px;display:flex}.admin-sessions-chevron{color:var(--green-800);font-size:1.15rem;font-weight:900;transition:transform .18s}.admin-sessions-section[open] .admin-sessions-chevron{transform:rotate(180deg)}.admin-sessions-body{border-top:1px solid var(--border);padding:0 18px 18px}.session-list{display:grid}.session-list article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.session-list article:last-of-type{border-bottom:0}.session-device{align-items:center;gap:11px;min-width:0;display:flex}.session-device-icon{width:38px;height:38px;color:var(--green-800);background:var(--green-100);border-radius:11px;flex:0 0 38px;place-items:center;font-weight:900;display:grid}.session-device>div{flex-direction:column;min-width:0;display:flex}.session-device strong{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.session-device em{color:var(--green-800);background:var(--green-100);text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:.63rem;font-style:normal}.session-device small,.session-security-note{color:var(--muted);font-size:.72rem}.session-security-note{margin:12px 0 0;line-height:1.5}@media (max-width:520px){.session-list article{flex-direction:column;align-items:stretch}.session-list article .small-button{width:100%}}.admin-reservation-card.push-target{outline-offset:3px;outline:3px solid #1f6feb59}.admin-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.admin-week-day{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.admin-week-day.today{border-color:#27674659;box-shadow:0 0 0 2px #2767460f}.admin-week-day>header{border-bottom:1px solid var(--border);background:var(--canvas);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.admin-week-day>header>div{text-transform:capitalize;flex-direction:column;display:flex}.admin-week-day>header strong{font-size:.93rem}.admin-week-day>header small{color:var(--muted);font-size:.7rem}.admin-week-day>header>span{min-width:28px;height:28px;color:var(--green-800);background:var(--green-100);border-radius:999px;place-items:center;padding:0 8px;font-size:.72rem;font-weight:900;display:grid}.admin-week-day-list{display:grid}.admin-week-day-list>p{color:var(--muted);margin:0;padding:16px 14px;font-size:.78rem}.week-reservation-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.7fr) 1fr;align-items:center;gap:12px;padding:11px 14px;display:grid}.week-reservation-row:last-child{border-bottom:0}.week-reservation-row.urgent{background:var(--amber-soft)}.week-reservation-time,.week-reservation-person{flex-direction:column;min-width:0;display:flex}.week-reservation-time strong{font-size:.84rem}.week-reservation-time span,.week-reservation-person small{color:var(--muted);font-size:.68rem}.week-reservation-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.week-reservation-contact{overflow-wrap:anywhere;flex-wrap:wrap;column-gap:8px;display:flex}.week-reservation-contact a{color:var(--green-700);text-underline-offset:2px;text-decoration:underline}.admin-history{border:1px solid var(--border);background:#fff;border-radius:18px;overflow:hidden}.admin-history>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;list-style:none;display:flex}.admin-history>summary::-webkit-details-marker{display:none}.admin-history>summary>div{flex-direction:column;display:flex}.admin-history>summary strong{font-size:1.08rem}.admin-history[open]>summary{border-bottom:1px solid var(--border)}.history-card-list{padding:12px}.customer-reservations-block{margin-top:18px}.customer-reservations-heading{margin:0 4px 10px}.customer-reservations-heading h3{margin:2px 0 0;font-size:1.35rem}.customer-reservations-block>.request-card{margin-top:10px}.customer-history{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;margin-top:18px;overflow:hidden}.customer-history>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;list-style:none;display:flex}.customer-history>summary::-webkit-details-marker{display:none}.customer-history>summary>div{flex-direction:column;display:flex}.customer-history>summary strong{font-size:1rem}.customer-history>summary>span{min-width:29px;height:29px;color:var(--green-800);background:var(--green-100);border-radius:999px;place-items:center;padding:0 8px;font-size:.75rem;font-weight:900;display:grid}.customer-history[open]>summary{border-bottom:1px solid var(--border)}.customer-history-list{padding:0 12px 12px}.customer-history-list .request-card{box-shadow:none;margin-top:12px}@media (max-width:680px){.admin-week-grid{grid-template-columns:1fr}.week-reservation-row{grid-template-columns:112px 1fr}}.closure-primary-actions{margin-top:12px}.closure-action-card{flex-direction:column;min-height:100%;display:flex}.closure-action-kicker{background:var(--green-soft);width:max-content;color:var(--green-dark);letter-spacing:.08em;border-radius:999px;margin-bottom:8px;padding:4px 8px;font-size:.66rem;font-weight:800}.closure-action-kicker.danger{background:var(--red-soft,#fff0ef);color:var(--danger,#a9362a)}.closure-main-button{min-height:52px;margin-top:auto;font-weight:800}.closure-day-summary{background:var(--canvas);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 14px;padding:13px 14px;display:flex}.closure-day-summary strong{font-size:1rem}.closure-day-summary small{color:var(--muted)}.closure-range-advanced{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:12px;overflow:hidden}.closure-range-advanced>summary{cursor:pointer;padding:14px 16px;font-weight:800}.closure-range-advanced[open]>summary{border-bottom:1px solid var(--border)}.closure-range-advanced .closure-range-control{border-radius:0;grid-template-columns:1fr 1fr;margin:0}.closure-range-advanced .closure-range-control p{grid-column:1/-1;margin:0}.closure-range-actions{flex-wrap:wrap;gap:10px;padding:0 14px 14px;display:flex}.danger-outline{border-color:var(--danger,#a9362a);color:var(--danger,#a9362a)}.reservation-created-at{color:var(--muted);margin:9px 0 0;font-size:.75rem;line-height:1.35}.reservation-created-at strong{color:var(--text);font-weight:700}@media (max-width:640px){.closure-range-advanced .closure-range-control{grid-template-columns:1fr}.closure-range-advanced .closure-range-control p{grid-column:auto}.closure-range-actions{grid-template-columns:1fr;display:grid}.closure-range-actions button{width:100%}}.week-reservation-row.manageable{grid-template-columns:minmax(110px,.65fr) minmax(0,1fr) auto}.week-manage-button{white-space:nowrap}.upcoming-closures-overview{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:16px;overflow:hidden}.upcoming-closures-overview>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.upcoming-closures-overview>summary::-webkit-details-marker{display:none}.upcoming-closures-overview>summary>div{flex-direction:column;display:flex}.upcoming-closures-overview>summary strong{font-size:.98rem}.upcoming-closures-overview[open]>summary{border-bottom:1px solid var(--border)}.upcoming-closure-list{padding:4px 14px 12px}.upcoming-closure-day{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.upcoming-closure-day:last-child{border-bottom:0}.upcoming-closure-day>div{flex-direction:column;gap:2px;min-width:0;display:flex}.upcoming-closure-day strong{font-size:.86rem}.upcoming-closure-day span{color:var(--muted);font-size:.72rem;line-height:1.35}@media (max-width:680px){.week-reservation-row.manageable{grid-template-columns:96px minmax(0,1fr)}.week-reservation-row.manageable .week-manage-button{grid-column:1/-1;width:100%;min-height:40px}.upcoming-closure-day{flex-direction:column;align-items:stretch}.upcoming-closure-day .small-button{width:100%;min-height:40px}}.language-switcher{align-items:center;display:inline-flex}.language-switcher select{min-height:40px;font:inherit;color:inherit;background:#fff;border:1px solid #0a2d242e;border-radius:999px;padding:0 30px 0 12px;font-weight:700}.language-switcher.compact select{min-height:36px;padding-left:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.info-grid-section{grid-template-columns:1.1fr .9fr;gap:24px;max-width:1180px;margin:0 auto;padding:72px 24px;display:grid}.info-card{background:#fff;border:1px solid #0a2d241f;border-radius:28px;padding:32px;box-shadow:0 16px 42px #092d2412}.info-card h2{margin:8px 0 16px}.rules-list{gap:12px;padding-left:20px;display:grid}.birthday-card{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.birthday-card .primary-button{margin-top:12px}.legal-page{background:#f5f7f4;min-height:100vh;padding:40px 20px}.legal-shell{background:#fff;border:1px solid #0a2d241f;border-radius:28px;max-width:820px;margin:0 auto;padding:34px;box-shadow:0 18px 50px #092d2414}.legal-shell h1{margin:8px 0 24px;font-size:clamp(2rem,5vw,3.5rem)}.legal-shell h2{margin:28px 0 8px}.legal-shell p{line-height:1.7}.legal-topline,.request-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.legal-warning{background:#fff8e6;border-left:4px solid #d39d18;border-radius:12px;margin-top:30px;padding:16px}.legal-warning p{margin-bottom:0}@media (max-width:860px){.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:10px}.site-header nav>a:not(:first-child){font-size:.88rem}.info-grid-section{grid-template-columns:1fr;padding:48px 16px}.info-card{padding:24px}.language-switcher.compact select{min-height:34px}.legal-shell{padding:24px 20px}}@media (max-width:620px){.site-header{align-items:flex-start}.site-header nav{gap:8px;max-width:68%}.site-header nav a{padding:6px 4px}.site-header nav a[href=\#instalaciones],.site-header nav a[href=\#normas]{display:none}.info-grid-section{padding-top:36px}.legal-page{padding:20px 12px}.legal-shell{border-radius:20px}}.booking-policy-note{background:#f7f9f6;border:1px solid #0a2d241f;border-radius:16px;margin:18px 0;padding:16px 18px}.booking-policy-note p{margin:6px 0 8px;line-height:1.55}.booking-policy-note small{line-height:1.45}
.photo-carousel{touch-action:pan-y;isolation:isolate;background:#dfe8e1;width:100%;position:relative;overflow:hidden}.photo-carousel-viewport{position:absolute;inset:0;overflow:hidden}.photo-carousel-image{object-fit:cover;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:opacity, transform;width:100%;max-width:none;height:100%;transition:opacity 2.4s cubic-bezier(.37,0,.63,1),transform 2.8s cubic-bezier(.37,0,.63,1);position:absolute;inset:0;transform:scale(1.012)}.photo-carousel-image.is-active{opacity:1;transform:scale(1)}.photo-carousel-arrow{z-index:4;width:38px;height:38px;color:var(--green-950);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #092d241f;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 16px #092d2421}.photo-carousel-arrow svg{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block;overflow:visible}.photo-carousel-arrow-left{left:12px}.photo-carousel-arrow-right{right:12px}.photo-carousel-dots{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#092d2475;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100% - 96px);padding:6px 8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.photo-carousel-dots button{cursor:pointer;background:#ffffff85;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:width .25s,background .25s}.photo-carousel-dots button.active{background:#fff;border-radius:999px;width:18px}.hero-photo-carousel{z-index:0;background:var(--green-950);height:auto;position:absolute;inset:0}.hero-photo-carousel .photo-carousel-image{object-fit:cover;filter:saturate(1.03)contrast(1.01)}.home-hero .hero-overlay{z-index:1;background:linear-gradient(90deg,#052019b3 0%,#05201966 52%,#0520190d 100%)}.home-hero .hero-content{z-index:2}.venue-photo .facilities-photo-carousel{border-radius:inherit;height:100%;min-height:460px}.venue-photo .photo-carousel-image{object-fit:cover}.birthday-photo-carousel{aspect-ratio:4/3;border-radius:18px;width:100%;margin:20px 0 4px;box-shadow:0 12px 30px #092d241a}.birthday-photo-carousel .photo-carousel-image{object-fit:cover}.birthday-card .primary-button{margin-top:16px}@media (max-width:820px){.venue-photo .facilities-photo-carousel{min-height:360px}}@media (max-width:600px){.home-hero .hero-overlay{background:linear-gradient(#0520190f 0%,#05201975 48%,#052019c7 100%)}.home-hero .hero-content{text-shadow:0 2px 16px #00000052}.venue-photo{aspect-ratio:4/3;min-height:0}.venue-photo .facilities-photo-carousel{height:100%;min-height:0}.photo-carousel-arrow{width:34px;height:34px;box-shadow:0 5px 14px #092d241f}.photo-carousel-arrow svg{width:16px;height:16px}.photo-carousel-arrow-left{left:10px}.photo-carousel-arrow-right{right:10px}.birthday-photo-carousel{aspect-ratio:4/3;border-radius:16px;margin-top:18px}}@media (prefers-reduced-motion:reduce){.photo-carousel-image{transition:opacity 2.4s ease-in-out;transform:none!important}}
