.option-btn.primary{background:linear-gradient(135deg,#d4860b,#f0a500)!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:14px 28px!important;font-size:15px!important;font-weight:600!important;width:100%!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 2px 12px #d4860b59!important;letter-spacing:-.2px!important}.option-btn.primary:hover{background:linear-gradient(135deg,#c27800,#d4860b)!important;box-shadow:0 4px 16px #d4860b73!important;transform:translateY(-1px)!important}.option-btn.secondary{background:#1d1d1f!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:14px 28px!important;font-size:15px!important;font-weight:600!important;width:100%!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 2px 12px #0003!important;letter-spacing:-.2px!important}.option-btn.secondary:hover:not(:disabled){background:#3a3a3c!important;box-shadow:0 4px 16px #0000004d!important;transform:translateY(-1px)!important}.option-btn.secondary:disabled{background:#d1d5db!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}.option-card{background:#f5f5f7!important;border-radius:16px!important;padding:20px!important;border:1px solid #e5e5e5!important}.option-card h4{font-size:15px!important;font-weight:600!important;color:#1d1d1f!important;margin:0 0 6px!important}.option-card p{font-size:13px!important;color:#86868b!important;margin:0 0 14px!important;line-height:1.4!important}.option-divider{text-align:center!important;font-size:13px!important;font-weight:600!important;color:#86868b!important;padding:8px 0!important}.check-btn{background:linear-gradient(135deg,#d4860b,#f0a500)!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:14px 28px!important;font-size:16px!important;font-weight:600!important;width:100%!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 2px 12px #d4860b59!important;letter-spacing:-.2px!important}.check-btn:hover:not(:disabled){background:linear-gradient(135deg,#c27800,#d4860b)!important;box-shadow:0 4px 16px #d4860b73!important;transform:translateY(-1px)!important}.check-btn:disabled{background:#d1d5db!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}*{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,sans-serif!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.booking-header{text-align:center;padding:24px 20px 20px!important}.booking-logo{height:80px!important;width:auto!important;object-fit:contain;display:block;margin:0 auto 8px!important}.booking-header h1{font-size:28px!important;font-weight:700!important;color:#1d1d1f!important;letter-spacing:-.5px!important;margin:0 0 4px!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,sans-serif!important}.booking-header p{font-size:15px!important;color:#86868b!important;margin:0!important;font-weight:400!important}.client-booking-page{min-height:100vh;background:linear-gradient(135deg,#faf8f5,#f5f3f0);padding:2rem 1rem}.booking-container{max-width:700px;margin:0 auto}.booking-header{text-align:center;margin-bottom:3rem}.booking-logo{width:100px;height:100px;margin-bottom:1.5rem}.booking-header h1{font-size:2.5rem;color:var(--okami-gold);margin-bottom:.5rem;font-weight:700}.booking-header p{color:#666;font-size:1.1rem}.booking-form{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.input-group{display:flex;flex-direction:column}.input-group label{font-weight:600;margin-bottom:.5rem;color:#333;font-size:.95rem}.input-group input{padding:.875rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:DM Sans,sans-serif;transition:border-color .2s}.input-group input:focus{outline:none;border-color:var(--okami-gold)}.check-btn{width:100%;background:var(--okami-gold);color:var(--okami-black);border:none;padding:1rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif}.check-btn:hover:not(:disabled){background:var(--okami-gold-dark);transform:translateY(-2px)}.check-btn:disabled{opacity:.5;cursor:not-allowed}.alert{padding:1rem;border-radius:8px;margin-top:1rem;font-size:.95rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.availability-result{margin-top:2rem;padding:2rem;border-radius:12px;text-align:center}.availability-result.available{background:#f0fdf4;border:2px solid #10b981}.availability-result.unavailable{background:#fef2f2;border:2px solid #ef4444}.result-icon{font-size:4rem;margin-bottom:1rem}.availability-result.available .result-icon{color:#10b981}.availability-result.unavailable .result-icon{color:#ef4444}.availability-result h3{font-size:1.75rem;margin-bottom:.5rem;color:#1f2937}.availability-result p{color:#4b5563;font-size:1.05rem;margin-bottom:1rem}.proceed-btn{background:#10b981;color:#fff;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;margin-top:1rem}.proceed-btn:hover{background:#059669;transform:translateY(-2px)}.try-again{font-style:italic;font-size:.95rem!important}.info-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000001a}.info-section h2{font-size:1.5rem;color:var(--okami-gold);margin-bottom:1rem}.info-section ul{list-style:none;padding:0}.info-section li{padding:.75rem 0 .75rem 2rem;position:relative;color:#4b5563;line-height:1.6}.info-section li:before{content:"✓";position:absolute;left:0;color:var(--okami-gold);font-weight:700}@media (max-width: 640px){.date-inputs{grid-template-columns:1fr}.booking-header h1{font-size:2rem}.booking-form{padding:1.5rem}}.booking-options{margin-top:2rem;display:flex;gap:1.5rem;align-items:center}.option-card{flex:1;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;text-align:center}.option-card h4{font-size:1.25rem;color:#1f2937;margin-bottom:.5rem}.option-card p{font-size:.9rem;color:#6b7280;margin-bottom:1.25rem}.option-btn{width:100%;border:none;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif}.option-btn.primary{background:var(--okami-gold);color:var(--okami-black)}.option-btn.primary:hover{background:var(--okami-gold-dark);transform:translateY(-2px)}.option-btn.secondary{background:#fff;color:var(--okami-gold);border:2px solid var(--okami-gold)}.option-btn.secondary:hover:not(:disabled){background:#d4a5741a;transform:translateY(-2px)}.option-btn:disabled{opacity:.5;cursor:not-allowed}.option-divider{font-weight:600;color:#9ca3af;font-size:.875rem}@media (max-width: 768px){.booking-options{flex-direction:column}.option-divider{transform:rotate(90deg)}}.cost-summary{margin-top:2rem;padding:1.5rem;background:#fff;border:2px solid var(--okami-gold);border-radius:12px;text-align:left}.cost-summary h4{font-size:1.25rem;color:var(--okami-gold);margin-bottom:1rem;text-align:center}.cost-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e5e7eb;font-size:.95rem}.cost-row.stat-holiday{color:#dc2626;font-weight:500}.cost-row.total{border-top:2px solid var(--okami-gold);border-bottom:none;padding-top:1rem;margin-top:.5rem;font-size:1.1rem}.cost-note{font-size:.85rem;color:#6b7280;font-style:italic;margin-top:.75rem;text-align:center}.waitlist-btn{background:var(--okami-gold);color:var(--okami-black);border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;margin-top:1rem;transition:all .2s}.waitlist-btn:hover{background:var(--okami-gold-dark);transform:translateY(-2px)}.waitlist-form{margin-top:1.5rem;padding:1.5rem;background:#fff;border-radius:12px;text-align:left}.waitlist-form h4{font-size:1.25rem;color:#1f2937;margin-bottom:.5rem}.waitlist-intro{font-size:.9rem;color:#6b7280;margin-bottom:1rem}.waitlist-form input,.waitlist-form textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;margin-bottom:1rem;font-family:DM Sans,sans-serif;font-size:.95rem}.waitlist-form input:focus,.waitlist-form textarea:focus{outline:none;border-color:var(--okami-gold)}.waitlist-actions{display:flex;gap:1rem}.waitlist-actions button{flex:1;padding:.75rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:#fff;color:#6b7280;border:2px solid #d1d5db}.cancel-btn:hover{background:#f3f4f6}.submit-btn{background:var(--okami-gold);color:var(--okami-black);border:none}.submit-btn:hover:not(:disabled){background:var(--okami-gold-dark);transform:translateY(-2px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-col label{display:block;font-size:.85rem;color:#6b7280;margin-bottom:.25rem;font-weight:500}.form-col input[disabled]{background:#f3f4f6;color:#1f2937;font-weight:600}.submit-btn-full{width:100%;background:var(--okami-gold);color:var(--okami-black);border:none;padding:1rem;border-radius:8px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .2s;margin-top:.5rem}.submit-btn-full:hover:not(:disabled){background:var(--okami-gold-dark);transform:translateY(-2px)}.submit-btn-full:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.unavailable-reason{color:#6b7280;margin-bottom:1.5rem;font-size:1rem}.availability-result.unavailable h3{color:#1f2937;margin-bottom:.5rem}.booked-dates-list{background:#fff;padding:1.5rem;border-radius:12px;margin:1.5rem 0;text-align:left}.booked-dates-list h4{font-size:1.1rem;color:#1f2937;margin-bottom:1rem}.booked-dates-list ul{list-style:none;padding:0}.booked-dates-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #e5e7eb;font-size:.95rem}.booked-dates-list li:last-child{border-bottom:none}.reason-badge{background:#fee2e2;color:#991b1b;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.unavailable-actions{display:flex;gap:1rem;margin-top:1.5rem}.unavailable-actions button{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.action-btn-secondary{background:#fff;color:var(--okami-gold);border:2px solid var(--okami-gold)!important}.action-btn-secondary:hover{background:#d4a5741a;transform:translateY(-2px)}.action-btn-primary{background:var(--okami-gold);color:var(--okami-black)}.action-btn-primary:hover{background:var(--okami-gold-dark);transform:translateY(-2px)}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.form-actions button{flex:1}@media (max-width: 640px){.unavailable-actions{flex-direction:column}.booked-dates-list li{flex-direction:column;align-items:flex-start;gap:.5rem}}.calendar-preview{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.calendar-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-preview-header h3{font-size:1.5rem;color:var(--okami-gold);margin:0}.month-nav{background:#fff;border:2px solid var(--okami-gold);color:var(--okami-gold);padding:.5rem 1rem;border-radius:6px;font-size:1.25rem;cursor:pointer;transition:all .2s;font-weight:700}.month-nav:hover{background:var(--okami-gold);color:var(--okami-black)}.calendar-legend-small{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.legend-item-small{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4b5563}.legend-item-small .dot{width:12px;height:12px;border-radius:50%}.dot.green{background:#10b981}.dot.yellow{background:#f59e0b}.dot.red{background:#ef4444}.dot.gray{background:#6b7280}.mini-calendar{margin-top:1rem}.mini-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;font-weight:600;color:#4b5563;font-size:.9rem;text-align:center}.mini-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:.85rem;background:#fff;border:2px solid #e5e7eb;position:relative}.mini-day.empty{background:transparent;border:none}.mini-day.available{border-color:#10b981;background:#f0fdf4}.mini-day.limited{border-color:#f59e0b;background:#fef3c7}.mini-day.full{border-color:#ef4444;background:#fee2e2}.mini-day.blackout{border-color:#6b7280;background:#f3f4f6}.mini-day-number{font-weight:600;font-size:1rem}.mini-day-spots{font-size:.7rem;color:#6b7280;font-weight:500}.pickup-note{background:#fef3c7;border:1px solid #f59e0b;padding:1rem;border-radius:8px;margin-top:1.5rem;color:#78350f;font-size:.95rem;text-align:center}@media (max-width: 768px){.calendar-preview{padding:1rem}.mini-day-number{font-size:.85rem}.mini-day-spots{font-size:.65rem}}.month-nav:disabled{opacity:.3;cursor:not-allowed;background:#f3f4f6;border-color:#d1d5db;color:#9ca3af}.mini-day.past{opacity:.3;background:#f9fafb;border-color:#e5e7eb;color:#9ca3af}.calendar-preview{max-width:600px;margin:0 auto 2rem}.mini-calendar-days{gap:3px}.mini-day{min-height:45px;font-size:.9rem}.mini-day.selectable{cursor:pointer;transition:all .2s}.mini-day.selectable:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.mini-day.selected{border-width:3px;font-weight:700;box-shadow:0 0 0 2px var(--okami-gold)}.mini-day-number{font-size:1.1rem}@media (max-width: 768px){.calendar-preview{max-width:100%}.mini-day{min-height:40px}.mini-day-number{font-size:.95rem}}.mini-day.check-in,.mini-day.check-out{border:3px solid var(--okami-gold);box-shadow:0 0 0 2px var(--okami-gold);font-weight:700}.mini-day.in-range{background:#d4a57433!important;border-color:var(--okami-gold-light)}.action-buttons{display:flex;gap:1rem;margin-bottom:1.5rem}.action-buttons button{flex:1}.request-btn{background:#fff;color:var(--okami-gold);border:2px solid var(--okami-gold);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif}.request-btn:hover:not(:disabled){background:#d4a5741a;transform:translateY(-2px)}.request-btn:disabled{opacity:.5;cursor:not-allowed}.red-text{color:#ef4444;font-weight:600}@media (max-width: 640px){.action-buttons{flex-direction:column}}.info-notes{margin-top:1.5rem}margin-bottom: 1.5rem; } margin-bottom: 0; } font-size: 1.05rem; font-weight: 600; color: #1f2937; margin-bottom: .5rem; } color: #ef4444; } font-size: .95rem; color: #4b5563; line-height: 1.6; margin: 0; } .request-btn.highlight{background:#ef4444;color:#fff;border-color:#ef4444;animation:pulse 2s infinite}.request-btn.highlight:hover{background:#dc2626;border-color:#dc2626}@keyframes pulse{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 10px #ef444400}}.info-notes{margin-top:1.5rem;padding:0 1rem}.note-line{font-size:.9rem;color:#4b5563;line-height:1.6;margin-bottom:.75rem}.note-line:last-child{margin-bottom:0}.note-line strong{font-size:.9rem;font-weight:600;color:#1f2937}.dark-red{color:#991b1b;font-weight:600}.mini-day.in-range{background-color:transparent!important;opacity:.6}
