.date-strip{grid-template-columns:repeat(8,1fr)}.booking-calendar{color:#0b3046;background:#f1f8fc;border:1px solid #cbdce5;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 24px;padding:18px;font-size:16px;font-weight:700;display:flex}.booking-calendar input{color:#0b3046;min-width:180px;max-width:100%;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #9db7c5;border-radius:9px;padding:12px}.booking-calendar small{color:#527080;flex-basis:100%;font-size:14px;font-weight:400}.slots-status{color:#617984;text-align:center;background:#f8fbfc;border:1px dashed #bed2da;border-radius:12px;margin-top:18px;padding:18px;font-size:11px}.slots-status.error{color:#a3483a;background:#fff6f4;border-color:#e7b7ae}.booking-form{background:#f7fcfd;border:1px solid #bfdce7;border-radius:16px;margin-top:16px;padding:22px;scroll-margin-top:84px}.category-tabs{scroll-margin-top:88px}.booking-form>div:first-child small,.booking-complete small{color:#1684aa;letter-spacing:.14em;font:800 8px Arial}.booking-form h3,.booking-complete h3{color:var(--navy);margin:5px 0 4px;font-size:20px}.booking-form>div:first-child p{color:var(--muted);margin:0;font-size:10px}.booking-fields{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.booking-fields label{color:#466572;font-size:9px;font-weight:800}.booking-fields label>span{color:#fff;background:#d95e49;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:7px}.booking-fields label>small{color:#7f929a;margin-left:6px;font-size:7px}.booking-fields input,.booking-fields textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbdbe1;border-radius:9px;outline:none;margin-top:6px;padding:12px;font-size:11px;display:block}.booking-fields input:focus,.booking-fields textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #187fac17}.booking-fields textarea{resize:vertical;min-height:75px}.field-note{line-height:1.55;display:block;color:#6d7f87!important;margin-top:6px!important;font-size:8px!important}.contact-summary{color:#28566a;background:#eef6f9;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;display:flex}.contact-summary strong,.contact-summary span{font-size:9px}.privacy-consent{color:#405f6c;background:#fff;border:1px solid #c8dce5;border-radius:9px;align-items:flex-start;gap:9px;margin-top:14px;padding:12px;font-size:9px;font-weight:700;line-height:1.6;display:flex}.privacy-consent input{width:18px;height:18px;accent-color:var(--navy);flex:none;margin:1px 0 0}.privacy-consent a{color:var(--blue)}.booking-error{color:#b34a3a;margin:10px 0 0;font-size:9px}.submit-booking{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;margin-top:14px;padding:14px;font-size:11px;font-weight:800}.submit-booking:disabled{opacity:.6;cursor:wait}.cancel-policy{color:#758992;text-align:center;margin-top:9px;font-size:8px;display:block}.booking-policy{color:#644c32;background:#fffaf3;border:1px solid #e0c9a9;border-radius:10px;margin-top:14px;padding:14px}.booking-policy>strong{font-size:12px}.booking-policy ul{margin:9px 0;padding-left:19px}.booking-policy li,.booking-policy p{font-size:10px;line-height:1.7}.booking-policy p{border-top:1px solid #eadbc6;margin:8px 0 0;padding-top:8px}.booking-complete{background:#f0fbf7;border:1px solid #a9dac8;border-radius:16px;align-items:center;gap:16px;margin-top:18px;padding:22px;scroll-margin-top:84px;display:flex}.booking-complete>span{color:#fff;background:#16805f;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:grid}.booking-complete p{color:#527168;margin:5px 0 0;font-size:10px;line-height:1.6}.booking-complete p strong{color:#194e3f;font-size:12px}.line-link-box{background:#fff;border:1px solid #9ad9ad;border-radius:12px;margin-top:14px;padding:14px}.line-link-box strong{color:#176b38;font-size:12px;display:block}.line-link-box p{margin:5px 0 10px}.line-link-box .line-open-link{color:#fff;font:inherit;cursor:pointer;background:#06c755;border:0;border-radius:999px;justify-content:center;align-items:center;padding:11px 16px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.line-link-box>small{color:#456b53;margin-top:9px;font-size:9px;font-weight:700;display:block}.line-link-box>small a{color:#176b38;text-underline-offset:2px;font-weight:800;text-decoration:underline}.pass-lookup{background:#f7fbfc;border:1px solid #c7dce5;border-radius:14px;margin-top:10px;padding:14px 16px}.pass-lookup-toggle{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.pass-lookup-body{border-top:1px solid #dce8ed;gap:10px;margin-top:12px;padding-top:12px;display:grid}.pass-lookup-body>div:not(.pass-lookup-result){grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:8px;display:grid}.pass-lookup-body label{color:#486572;grid-column:1/-1;font-size:11px;font-weight:800}.pass-lookup-body input{min-width:0;color:var(--ink);background:#fff;border:1px solid #c3d5dd;border-radius:9px;outline:none;padding:12px;font-size:16px}.pass-lookup-body button:not(.pass-lookup-toggle){background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:12px 15px;font-size:11px;font-weight:800}.pass-lookup-body button:disabled{opacity:.55;cursor:wait}.pass-lookup-body>p{color:#b34a3a;margin:0;font-size:10px}.pass-lookup-body>small{color:#6d818b;font-size:9px}.pass-lookup-result{color:#174e3d;background:#eaf8f3;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:15px;display:grid}.pass-lookup-result>div{flex-direction:column;display:flex}.pass-lookup-result>div small{font-size:9px}.pass-lookup-result>div strong{font-size:32px}.pass-lookup-result>div strong span{margin-left:3px;font-size:12px}.pass-lookup-result dl{grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;margin:0;display:grid}.pass-lookup-result dl div{flex-direction:column;display:flex}.pass-lookup-result dt{color:#66847a;font-size:8px}.pass-lookup-result dd{margin:2px 0 0;font-size:10px;font-weight:800}.pass-lookup-result.paused,.pass-lookup-result.expired,.pass-lookup-result.used_up{color:#75461d;background:#fff4e9}@media (width<=900px){.date-strip{grid-template-columns:repeat(4,1fr)}}@media (width<=620px){.booking-form{padding:16px}.booking-fields{grid-template-columns:1fr}.contact-summary{flex-direction:column;align-items:flex-start}.booking-complete{align-items:flex-start;padding:17px}.pass-lookup-body>div:not(.pass-lookup-result),.pass-lookup-result{grid-template-columns:1fr}.pass-lookup-result dl{grid-template-columns:1fr 1fr}.pass-lookup-result>button{width:100%}}.booking-success-page{box-sizing:border-box;width:min(680px,100%);margin:0 auto;padding:20px 16px 40px}.booking-success-page .booking-complete{text-align:center;outline:none;margin:0;padding:24px 20px;display:block}.booking-success-page .booking-complete>span{margin:0 auto 12px}.booking-success-page .booking-complete h1{color:#194e3f;margin:8px 0 18px;font-size:26px}.booking-success-page .booking-complete p{font-size:15px;line-height:1.7}.booking-success-page .booking-complete .completion-date{color:#194e3f;font-size:clamp(20px,5.5vw,28px);font-weight:800}.booking-success-page .booking-complete .completion-time{color:#194e3f;margin:4px 0 16px;font-size:clamp(28px,8vw,40px);font-weight:900;line-height:1.3}.completion-back{text-align:center;color:#194e3f;margin-top:16px;padding:14px;font-size:16px;display:block}#booking-options{outline:none;scroll-margin-top:88px}
