:root{font-family:ui-rounded,Avenir Next,Avenir,Segoe UI,sans-serif;color:#043a5a;background:#fff7e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(140deg,#fff7e6,#edf9fa);min-height:100vh}a{color:inherit}.shell{width:min(1050px,calc(100% - 36px));margin:auto}header{background:#ffffffde;border-bottom:1px solid #d4e6e7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:900;letter-spacing:-.04em;line-height:1}.brand img{height:40px;width:40px;object-fit:cover;object-position:center 28%;border-radius:50%;border:2px solid #043a5a}nav{display:flex;gap:1rem;align-items:center;font-size:.9rem;font-weight:800}nav a{text-decoration:none}.nav-button,.button{border:0;border-radius:12px;padding:.85rem 1.05rem;font:inherit;font-weight:900;text-decoration:none;display:inline-flex;justify-content:center;cursor:pointer;background:#043a5a;color:#fff}.button:disabled{opacity:.55;cursor:not-allowed}.link-button{font:inherit;font-weight:800;background:none;border:0;color:#043a5a;cursor:pointer}.sun{background:#f5c94d;color:#043a5a}.outline{background:#fff;color:#043a5a;border:1px solid #d4e6e7}.danger{background:#a32222}.page-grid,.booking-page{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;padding:5.5rem 0}.homepage-booking{background:linear-gradient(135deg,#eaf7f7,#fff7e6);border-top:1px solid #d4e6e7}.homepage-booking .booking-page{padding:5rem 0}.hero-full{min-height:calc(100vh - 128px);display:flex;align-items:center;background:linear-gradient(90deg,#021929d1,#02192970 42%,#0219290a 72%),url(/cabana-shore-hero.png) center/cover no-repeat}.hero-content{padding:7rem 0;max-width:min(1050px,calc(100% - 36px));margin:auto;color:#fff}.hero-content .eyebrow{color:#8de4e8}.hero-content h1{max-width:650px}.hero-content h1 em{color:#f5c94d}.hero-content .intro{color:#e4f3f3}.hero-content .outline{background:#ffffffdb}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#15758a}.eyebrow:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#2db9c3;margin-right:.45rem}h1{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.075em;line-height:.95;margin:.7rem 0 1.2rem}h1 em{font-style:normal;color:#087aa5}.intro{font-size:1.1rem;line-height:1.6;color:#557181;max-width:540px}.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}.card{background:#fff;border:1px solid #d4e6e7;border-radius:24px;padding:1.5rem;box-shadow:0 20px 55px #043a5a18}.field{display:grid;gap:.35rem;margin:.8rem 0}.field span,.field-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#557181}.field-label{margin:1.45rem 0 .6rem}.field input,.field select,.field textarea{min-height:51px;padding:.7rem .85rem;border:1px solid #d4e6e7;border-radius:12px;font:inherit;color:#043a5a;background:#fff}.field textarea{min-height:auto;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #2db9c333;border-color:#2db9c3}.notice{padding:.8rem 1rem;border-radius:10px;background:#fff7d6;color:#765b00;font-size:.9rem;font-weight:700}.notice.success{background:#e8f8eb;color:#176c34}.error{color:#a32222;font-weight:700}.small{font-size:.9rem;line-height:1.5;color:#557181}.loading{padding:2rem 0;color:#557181}.booking-card{min-height:450px}.court-tabs{display:flex;gap:.55rem;flex-wrap:wrap}.court-tab{display:grid;gap:.22rem;text-align:left;padding:.8rem 1rem;border:1px solid #c9dedf;border-radius:13px;background:#fff;color:#043a5a;cursor:pointer}.court-tab span{font-size:.72rem;color:#557181;text-transform:capitalize}.court-tab.active{background:#043a5a;color:#fff;border-color:#043a5a}.court-tab.active span{color:#bce8e9}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.slot{display:grid;gap:.15rem;padding:.7rem .3rem;border:1px solid #d4e6e7;border-radius:12px;background:#f5fbfb;color:#043a5a;cursor:pointer;text-align:center}.slot span{font-size:.74rem;color:#557181}.slot i{font-size:.68rem;color:#a32222;font-style:normal}.slot:disabled{opacity:.52;cursor:not-allowed;background:#f4f4f4}.slot.selected{background:#087a8f;color:#fff;border-color:#087a8f}.slot.selected span{color:#d8ffff}.checkout{margin-top:1.25rem;padding-top:1.2rem;border-top:1px solid #d4e6e7}.checkout h3{margin:.1rem 0 1rem}.summary{display:grid;grid-template-columns:1fr auto;gap:.55rem;padding:1rem;border-radius:14px;background:#edf9fa;color:#557181;font-size:.9rem}.summary b{color:#043a5a}.summary strong{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #cae2e3;padding-top:.75rem;color:#043a5a;font-size:1rem}.payment-flow{text-align:center}.payment-flow .small{max-width:380px;margin:.5rem auto 1.25rem}.qr-wrap{background:#fff;border:1px solid #d4e6e7;padding:.8rem;border-radius:18px;margin:1.25rem auto;width:min(270px,100%)}.qr-wrap img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.amount{font-size:1.1rem}.amount b{color:#087a8f;margin-left:.35rem}.test-payment{margin-top:.35rem;background:#6c4b9f;color:#fff}.test-note{margin:.55rem auto .25rem;font-size:.76rem;font-weight:800;color:#765b00}.text-action{border:0;background:none;color:#557181;text-decoration:underline;display:block;margin:1rem auto;cursor:pointer;font:inherit;font-size:.85rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1.25rem;background:#021929a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{width:min(440px,100%);padding:1.7rem;border-radius:24px;background:#fff;box-shadow:0 28px 75px #02192980}.confirm-dialog h2{margin:.45rem 0 .75rem;font-size:1.9rem;letter-spacing:-.045em}.dialog-summary{display:grid;gap:.35rem;margin:1.2rem 0;padding:1rem;border-radius:14px;background:#edf9fa;color:#557181;font-size:.92rem}.dialog-summary>b{color:#043a5a;font-size:1.05rem}.dialog-summary strong{display:flex;justify-content:space-between;margin-top:.3rem;padding-top:.7rem;border-top:1px solid #cae2e3;color:#043a5a}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.4rem}.booking{display:grid;gap:.25rem;padding:1rem 0;border-bottom:1px solid #d4e6e7}.booking span,.empty{color:#557181}.empty{background:#edf9fa;padding:1rem;border-radius:12px}footer{background:#043a5a;color:#d6eced;padding:1.5rem 0}footer .shell{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}@media (max-width:700px){.page-grid,.booking-page{grid-template-columns:1fr;gap:1.7rem;padding:3rem 0}.homepage-booking .booking-page{padding:3rem 0}.hero-full{min-height:640px;background-position:57% center}.hero-content{padding:4rem 0}nav>a:not(.nav-button){display:none}.slot-grid{grid-template-columns:repeat(2,1fr)}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}footer .shell{display:block;line-height:2}}
