.booking-section{padding-top:80px;padding-bottom:90px;background:var(--sand)}.booking-section .eyebrow{font-size:14px}.booking-heading{display:flex;gap:40px;justify-content:space-between;align-items:end;margin-bottom:30px}.booking-heading>p{max-width:420px;font-size:16px}.booking-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.booking-card{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:30px}.booking-card h3{font-size:29px}.price-table{border-collapse:collapse;width:100%;font-size:16px}.price-table th,.price-table td{text-align:left;padding:12px 5px;border-bottom:1px solid var(--line)}.price-table th{font-weight:600;font-size:14px}.booking-note{font-size:14px;margin-top:16px;color:var(--muted)}.booking-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.booking-fields label{min-width:0;font-size:14px;font-weight:600;display:block}.booking-fields input,.booking-fields select,.booking-fields textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:6px;border:1px solid #9baead;border-radius:4px;background:white;padding:12px;min-height:48px;font:inherit;font-size:16px;color:var(--text)}.booking-fields textarea{resize:vertical}.booking-wide{grid-column:1/-1}.booking-check{display:flex;gap:12px;font-size:14px;align-items:flex-start;margin:20px 0}.booking-check input{margin-top:5px;width:18px;height:18px;flex-shrink:0}.booking-price{font-size:22px;font-weight:600;padding-top:22px;border-top:1px solid var(--line);margin-bottom:10px}.booking-status{font-size:14px;min-height:48px}.booking-form .button{width:100%;font-size:16px}.booking-form .button:disabled{opacity:.5;transform:none}.booking-retry{background:none;border:0;text-decoration:underline;font-size:14px;padding:8px 0}.booking-success{padding:30px;background:var(--cream);border:2px solid var(--accent);border-radius:8px;overflow-wrap:anywhere}.booking-success h3{font-size:28px}.admin-header{background:var(--dark);color:var(--sand);padding:25px 6vw;display:flex;justify-content:space-between;gap:20px}.admin-main{padding:45px 6vw;max-width:1200px;margin:auto}.admin-toolbar{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.admin-toolbar select{font:inherit;padding:10px}.admin-card{margin:20px 0;padding:25px;background:var(--sand);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.admin-card h3{font-size:25px;margin-bottom:10px}.admin-actions{display:flex;gap:15px;flex-wrap:wrap}.admin-actions button{font:inherit;padding:10px 18px;border:1px solid var(--dark);border-radius:4px;background:white}.admin-status{font-weight:600}.admin-note{white-space:pre-wrap}.admin-ref{font-size:14px;color:var(--muted)}@media(max-width:800px){.booking-layout{grid-template-columns:1fr}.booking-heading{display:block}.booking-section{padding-top:50px}.booking-card{padding:22px}.booking-fields{grid-template-columns:1fr}.booking-wide{grid-column:auto}.price-table{font-size:14px}.booking-price{font-size:20px}.admin-header{flex-wrap:wrap}}

.booking-fields input[type="date"]{height:48px;padding:10px 12px;appearance:none;-webkit-appearance:none}.booking-fields input[type="date"]::-webkit-date-and-time-value{text-align:left;min-width:0}.booking-fields input[type="date"]::-webkit-datetime-edit{padding:0}

.discount-field{margin:22px 0;padding:18px;background:var(--sand);border:1px solid var(--line);border-radius:6px}.discount-field>label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.discount-controls{display:flex;gap:10px}.discount-controls input{min-width:0;flex:1;width:100%;padding:10px;border:1px solid #9baead;border-radius:4px;font:inherit;font-size:16px;text-transform:uppercase}.discount-controls button{min-height:46px;padding:10px 14px;border:1px solid var(--dark);border-radius:4px;background:var(--dark);color:var(--sand);font:inherit;font-size:14px}.discount-controls button:disabled{opacity:.6}.discount-field .booking-note{margin:10px 0;font-size:12px}#discount-status{font-size:13px;margin:0}.discount-summary{font-size:14px;padding:14px;background:#e4efe5;border-left:3px solid #4c7957;line-height:1.6}.partner-code{font:600 16px monospace;letter-spacing:.04em;overflow-wrap:anywhere}.partner-form{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:25px}.partner-form label{display:block;font-size:14px;flex:1;min-width:220px}.partner-form input,.code-email{display:block;width:100%;font:inherit;padding:12px;margin-top:6px;border:1px solid #9baead;border-radius:4px;background:#fff}.code-email{max-width:440px}.partner-section{padding-top:40px;border-top:1px solid var(--line);margin-top:45px}.partner-section h2{font-size:36px}.code-inactive{opacity:.7}.partner-message{font-size:14px}.admin-actions{margin-top:18px}.footer-bottom{flex-wrap:wrap;gap:16px}@media(max-width:480px){.discount-controls{flex-direction:column}.partner-form label{min-width:0;flex-basis:100%}}

.commission-form{display:grid;grid-template-columns:minmax(0,1fr);max-width:680px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.commission-form label{max-width:260px;min-width:0}.commission-form p{margin:0;line-height:1.6}.commission-form button{justify-self:start}.commission-form [role="status"]:empty{display:none}

.room-selection{margin:35px 0}.room-selection>h3{font-size:36px;margin-bottom:12px}.room-selection>p{margin-bottom:22px}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.room-card{background:var(--cream);border:1px solid var(--line);border-radius:8px;overflow:hidden}.room-photo{display:block}.room-photo .villa-photo-frame{aspect-ratio:4/3}.room-photo figcaption{padding:10px 22px;font-size:12px;background:var(--sand)}.room-card-body{padding:24px}.room-card h4{font:32px var(--serif);margin:10px 0}.room-card-body>p{font-size:14px}.room-card dl{margin:20px 0}.room-card dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:10px 0}.room-card dd{font-weight:600;margin:0}.room-card .room-photo-note{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:20px}.villa-room-action{padding:0 20px 18px;text-align:center}.villa-room-action:has(button[hidden]){display:none}#villa-room-select[hidden]{display:none}@media(max-width:650px){.room-grid{grid-template-columns:1fr}.room-card-body{padding:20px}.room-selection>h3{font-size:30px}}
