[hidden]{display:none!important}.booking{padding:95px 0}.booking-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px 70px;align-items:end;margin-bottom:45px}.booking-heading .eyebrow{grid-column:1/-1;color:#78633e}.booking-heading h2 em{color:#8e6d3d}.booking-heading>p:last-child{font-size:13px;max-width:430px;color:#686157}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.booking-calendar{border:1px solid #d0c1ac;padding:27px;position:sticky;top:115px;background:#f8f4ed}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px}.calendar-top h3{font:25px var(--serif);text-transform:capitalize;letter-spacing:-.5px}.calendar-top button{width:40px;height:40px;background:transparent;border:1px solid #d0c1ac;color:#7b613c}.calendar-top button:disabled{opacity:.25;cursor:default}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week{font-size:10px;color:#8e6d3d;text-align:center;margin-bottom:10px}.calendar-week span{padding-block:8px}.calendar-days button{aspect-ratio:1;background:transparent;color:inherit;border:1px solid transparent;font-size:13px;min-width:0}.calendar-days button:hover:not(:disabled){background:#e9ddc9}.calendar-days button:disabled{color:#c1b7a6;cursor:default}.calendar-days button.selected{background:#1c1913;color:#efd0a0}.calendar-days button.is-today{border-color:#b89b6d}.calendar-note{font-size:10px;line-height:1.7;color:#776a57;margin-top:24px;padding-top:20px;border-top:1px solid #d8cbb8}.calendar-zone{font-size:9px;letter-spacing:.8px;color:#8e6d3d;margin-top:12px}.booking-form label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:600;margin-bottom:20px}.booking-form input,.booking-form select,.booking-form textarea,.admin-form input,.admin-form select{width:100%;background:#faf7f1;border:1px solid #cfc2ad;padding:13px 12px;border-radius:0;color:#262016;font:14px var(--sans);min-height:47px;max-width:100%;color-scheme:light}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:1px solid #9c7c4d;outline-offset:1px}.booking-form textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.optional{display:inline;color:#817563;font-weight:400}.field-help{font-size:10px;color:#786e5e;line-height:1.7;margin:-8px 0 18px}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.booking-form .consent-label{flex-direction:row;align-items:flex-start;font-size:10px;font-weight:400;line-height:1.65;gap:10px}.consent-label input{width:16px;min-height:16px;height:16px;flex-shrink:0;margin-top:1px;accent-color:#8e6d3d}.form-error{font-size:12px;color:#9b3328;line-height:1.6;margin-bottom:15px}.form-error:empty{display:none}.booking-submit{background:#1c1913;color:#f0d09b;min-height:52px}.booking-submit:hover{background:#3a3020}.booking-submit:disabled{opacity:.5;cursor:wait}.booking-form .booking-submit{width:100%;text-align:left}.last-booking{font-size:11px;text-decoration:underline;display:block;margin-top:18px;color:#7b6038}.booking-success{padding:45px;border:1px solid #c8b18d;background:#f8f4ed;max-width:750px}.booking-success h3{font-size:35px;line-height:1.2;margin:20px 0}.booking-success>p{font-size:13px;color:#746654;max-width:560px;margin-bottom:20px}.booking-success .eyebrow{font-size:10px;color:#8e6d3d}.receipt-code{display:block;font:26px var(--serif);letter-spacing:2px;margin:25px 0}.copy-link{background:transparent;border-bottom:1px solid #9d7b46;padding:10px 0;margin:15px 0 0 20px;font-size:11px;color:#7b6038}.dashboard{min-height:100vh;background:var(--cream);color:var(--ink);padding-bottom:65px}.dashboard-header{background:var(--ink);color:var(--cream);padding:25px 0}.dashboard-header .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-header h1{font-size:30px}.dashboard-header a{font-size:11px;color:var(--gold)}.dashboard-intro{padding:42px 0 25px}.dashboard-intro .eyebrow{color:#8e6d3d;margin-bottom:10px}.dashboard-intro h2{font-size:38px}.dashboard-intro p{font-size:12px;color:#786e5e;margin-top:12px}.dashboard-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:22px 0}.dashboard-controls input,.dashboard-controls select{background:#fffaf2;padding:12px;border:1px solid #cabc9f;font-size:14px;color:#211b12;min-height:45px}.dashboard-controls button{background:#251d13;color:#f3d39e;padding:14px 18px}.admin-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.admin-summary span{padding:10px 15px;border:1px solid #d4c3a8;font-size:11px}.admin-layout{display:grid;grid-template-columns:360px 1fr;gap:35px;align-items:start}.admin-layout .booking-calendar{position:static;padding:20px}.admin-layout .calendar-days button{position:relative;min-height:40px}.day-count{position:absolute;bottom:2px;right:3px;font-size:7px;background:#a5834e;color:white;padding:1px 3px;border-radius:50%}.admin-items{display:flex;flex-direction:column;gap:18px}.admin-item{border:1px solid #cbbc9f;padding:25px;background:#faf6ee}.admin-item-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:15px;align-items:center}.admin-item h3{font-size:25px}.status-badge{font-size:9px;text-transform:uppercase;letter-spacing:.6px;padding:8px 10px;background:#eadab9;color:#6a4e1e;white-space:nowrap}.status-confirmed{background:#dde8d6;color:#315020}.status-cancelled{background:#ebdedb;color:#7b4033}.status-completed{background:#e0e0e0;color:#4c4c4c}.admin-item p{font-size:12px;color:#655946;margin-bottom:6px;overflow-wrap:anywhere}.admin-item .admin-ref{font-size:9px;color:#8c7b61;margin-top:12px}.admin-item a{font-size:11px;text-decoration:underline;color:#795f35}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.admin-actions button{padding:12px 14px;background:#211b12;color:#efd19e;font-size:11px}.admin-actions .secondary{background:transparent;border:1px solid #c3af8a;color:#674d2e}.admin-empty{padding:35px;border:1px dashed #cbb99b;font-size:13px;color:#7a6a50;line-height:1.8}.admin-form{background:#f8f1e5;padding:28px;color:var(--ink)}.admin-form h2{font-size:29px;letter-spacing:-.5px;margin:10px 0 22px}.admin-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:17px}.admin-form .form-pair{gap:12px}.admin-dialog{border:1px solid #b69b70;padding:0;width:min(510px,calc(100% - 24px));max-height:90dvh;overflow:auto}.admin-dialog::backdrop{background:#000b}.admin-form .admin-actions{justify-content:space-between}.admin-form .field-help{margin:10px 0 20px}.tracking{max-width:780px;padding-top:60px}.tracking h2{font-size:42px;margin-bottom:25px}.tracking-card{padding:35px;background:#faf6ef;border:1px solid #cbbc9f}.tracking-card h3{font-size:28px;margin:20px 0}.tracking-card p{font-size:13px;color:#6b5e4a;line-height:1.8;margin-top:14px}.tracking .button{margin-top:25px}.tracking .receipt-code{font-size:21px}.tracking-actions{display:flex;flex-wrap:wrap;gap:12px}.tracking-actions button{margin-top:25px}.dashboard-message{font-size:13px;line-height:1.8;margin-bottom:20px;color:#825a30}.dashboard-message.error{color:#9b3328}
@media(max-width:1000px){.booking-layout{gap:35px}.booking-heading{gap:20px 35px}.booking-calendar{padding:20px}.admin-layout{grid-template-columns:300px 1fr;gap:20px}.calendar-top h3{font-size:22px}}
@media(max-width:760px){.booking{padding:65px 0}.booking-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.booking-heading h2{font-size:45px}.booking-heading>p:last-child{font-size:12px}.booking-heading .eyebrow{font-size:8px}.booking-layout{grid-template-columns:1fr;gap:30px}.booking-calendar{position:static;padding:20px}.calendar-top h3{font-size:25px}.calendar-days button{font-size:13px}.booking-form input,.booking-form select,.booking-form textarea,.admin-form input,.admin-form select{font-size:16px}.booking-success{padding:25px}.booking-success h3{font-size:30px}.booking-success>p{font-size:12px}.copy-link{display:block;margin-left:0}.dashboard-header{padding:20px 0}.dashboard-header h1{font-size:24px}.dashboard-header a{font-size:10px}.dashboard-intro h2{font-size:33px}.dashboard-intro{padding-top:30px}.admin-layout{grid-template-columns:1fr;gap:25px}.dashboard-controls{gap:10px}.dashboard-controls input{min-width:0;max-width:100%}.admin-item{padding:20px}.admin-item-head{align-items:flex-start}.admin-item h3{font-size:23px}.admin-summary span{font-size:10px;padding:9px}.admin-form{padding:23px}.tracking{padding-top:40px}.tracking h2{font-size:35px}.tracking-card{padding:25px}.tracking-card h3{font-size:25px}.tracking-actions{gap:10px}.tracking-actions .button{font-size:10px;padding-inline:15px}.dashboard .wrap{width:calc(100% - 36px)}}
