.sunset-booking-form{max-width:600px;margin:20px auto;background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px rgb(0 0 0 / .1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.form-mode-selector{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);border:2px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:30px}.form-mode-selector p{margin:0 0 15px 0;font-weight:600;color:#333;font-size:16px}.form-mode-selector label{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;padding:10px;border-radius:4px;transition:background-color 0.2s ease}.form-mode-selector label:hover{background-color:#fff}.form-mode-selector input[type="radio"]{width:18px;height:18px;cursor:pointer;accent-color:#0073aa}.form-mode-selector span{font-weight:500;color:#333;font-size:14px}.sunset-booking-form h2{color:#0073aa;margin-top:0;margin-bottom:10px;font-size:26px}.sunset-booking-form .form-intro{color:#666;margin-bottom:25px;font-size:14px;line-height:1.6}.form-section{animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.sunset-booking-form .form-group{margin-bottom:20px}.sunset-booking-form label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.sunset-booking-form label .required{color:#dc3545}.sunset-booking-form input[type="text"],.sunset-booking-form input[type="email"],.sunset-booking-form input[type="tel"],.sunset-booking-form input[type="date"],.sunset-booking-form input[type="number"],.sunset-booking-form select{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color 0.2s ease,box-shadow 0.2s ease;box-sizing:border-box}.sunset-booking-form input:focus,.sunset-booking-form select:focus{outline:none;border-color:#0073aa;box-shadow:0 0 0 3px rgb(0 115 170 / .1)}.sunset-booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sunset-booking-form .form-row-full{grid-column:1 / -1}.sunset-booking-form .pricing-breakdown{background:#f0f6fc;border:1px solid #0073aa;border-radius:4px;padding:15px;margin:20px 0;font-size:14px}.sunset-booking-form .pricing-breakdown p{margin:8px 0;display:flex;justify-content:space-between}.sunset-booking-form .pricing-breakdown .total{font-size:18px;font-weight:700;color:#0073aa;border-top:2px solid #0073aa;padding-top:10px;margin-top:10px}.sunset-booking-form .form-error{display:none;background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px;border-radius:4px;margin-bottom:20px;font-size:14px}.sunset-booking-form .form-error.show{display:block}.sunset-booking-form .form-error ul{margin:8px 0 0 20px;padding:0}.sunset-booking-form .form-error li{margin-bottom:5px}.sunset-booking-form button{width:100%;padding:14px 20px;background:#0073aa;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color 0.2s ease,transform 0.1s ease;box-shadow:0 2px 5px rgb(0 115 170 / .2)}.sunset-booking-form button:hover{background:#005a87;transform:translateY(-1px);box-shadow:0 4px 8px rgb(0 115 170 / .3)}.sunset-booking-form button:active{transform:translateY(0)}.sunset-booking-form button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.sunset-booking-form input[name="check_in_date"]:disabled,.sunset-booking-form input[name="check_out_date"]:disabled,.sunset-inquiry-form input[name="check_in_date"]:disabled,.sunset-inquiry-form input[name="check_out_date"]:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;border-color:#e0e0e0;opacity:.7}.sunset-booking-form .success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:15px;border-radius:4px;margin-bottom:20px;display:none}.sunset-booking-form .success-message.show{display:block;animation:slideDown 0.3s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sunset-booking-calendar{background:#fff;padding:20px;border-radius:8px;margin:20px 0}.sunset-booking-calendar .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sunset-booking-calendar .calendar-header button{background:#f0f0f0;border:1px solid #ddd;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px}.ui-datepicker td.sunset-blocked-date span,.ui-datepicker td.sunset-blocked-date a{text-decoration:line-through;color:#a94442!important;opacity:.75}.ui-datepicker td.sunset-blocked-date,.ui-datepicker td.sunset-blocked-date.ui-datepicker-unselectable,.ui-datepicker td.sunset-blocked-date.ui-state-disabled{position:relative}.ui-datepicker td.sunset-blocked-date .ui-state-default,.ui-datepicker td.sunset-blocked-date .ui-state-disabled{text-decoration:line-through!important;text-decoration-thickness:2px;text-decoration-color:#a94442;color:#a94442!important;background:#f8d7da!important;border-color:#f1b0b7!important;opacity:1!important}.ui-datepicker td.sunset-loading-date .ui-state-default,.ui-datepicker td.sunset-loading-date .ui-state-disabled{color:#8a8f98!important;background:#f2f4f7!important;border-color:#d9dde3!important;opacity:1!important}#ui-datepicker-div.ui-datepicker,.ui-datepicker.ui-widget,.ui-datepicker.ui-widget-content{background:#fff!important;opacity:1!important}.ui-datepicker{position:fixed!important;width:19em;padding:.5em .5em .4em;bottom:auto!important;right:auto!important;transform:none!important;border:1px solid #d0d7de!important;border-radius:6px;background:#fff!important;box-shadow:0 8px 20px rgb(0 0 0 / .12);z-index:100000!important;font-size:14px}.ui-datepicker .ui-datepicker-header{position:relative;padding:.4em 0;border-radius:4px;background:#f6f8fa!important;border:1px solid #e6ebf1!important;color:#1f2937;margin-bottom:.35em}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:50%;transform:translateY(-50%);width:1.8em;height:1.8em;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#0f172a}.ui-datepicker .ui-datepicker-prev{left:.25em}.ui-datepicker .ui-datepicker-next{right:.25em}.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover{background:#eaf2ff}.ui-datepicker .ui-datepicker-title{margin:0 2.4em;line-height:1.8em;text-align:center;font-weight:600}.ui-datepicker table{width:100%;border-collapse:collapse;margin:0}.ui-datepicker th{padding:.4em .25em;text-align:center;font-weight:600;color:#334155;font-size:12px}.ui-datepicker td{padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.42em;text-align:center;text-decoration:none;border-radius:4px;color:#0f172a;border:1px solid #fff0;background:#fff}.ui-datepicker td a:hover{background:#eaf2ff;border-color:#cdddf6}.ui-datepicker .ui-state-highlight{border-color:#8ab4f8;background:#f1f7ff}.ui-datepicker .ui-state-active{background:#0073aa;border-color:#0073aa;color:#fff!important}.ui-datepicker .ui-datepicker-unselectable .ui-state-default,.ui-datepicker .ui-state-disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc;border-color:#eef2f6;opacity:.95}.sunset-booking-calendar .calendar-header button:hover{background:#e0e0e0}.sunset-booking-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.sunset-booking-calendar .calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;user-select:none;transition:all 0.2s ease}.sunset-booking-calendar .calendar-day:hover:not(.disabled):not(.other-month){background:#f0f0f0;border-color:#0073aa}.sunset-booking-calendar .calendar-day.other-month{color:#ccc;background:#f9f9f9;cursor:default}.sunset-booking-calendar .calendar-day.blocked{background:#f8d7da;border-color:#dc3545;color:#721c24;cursor:not-allowed}.sunset-booking-calendar .calendar-day.selected{background:#0073aa;color:#fff;border-color:#0073aa}.sunset-booking-calendar .calendar-day.in-range{background:#d1ecf1;border-color:#0073aa}@media (max-width:600px){.sunset-booking-form{padding:20px;margin:10px}.sunset-booking-form .form-row{grid-template-columns:1fr}.sunset-booking-form h2{font-size:22px}.sunset-booking-form button{padding:12px 15px;font-size:14px}.sunset-booking-calendar .calendar-day{font-size:11px}}.flatpickr-calendar{box-shadow:0 2px 10px rgb(0 0 0 / .15);border-radius:6px;border:1px solid #ddd;margin-top:8px}.flatpickr-calendar.animate.open{animation:slideDown 0.2s ease}.flatpickr-day.disabled,.flatpickr-day.unavailable{background:#f5f5f5;color:#999;cursor:not-allowed;opacity:.5;text-decoration:line-through;text-decoration-color:#ccc;text-decoration-thickness:1px}.flatpickr-day.disabled:hover,.flatpickr-day.unavailable:hover{background:#f5f5f5;color:#999}.flatpickr-day.booked{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;text-decoration:line-through;text-decoration-color:#721c24;text-decoration-thickness:2px;opacity:.8}.flatpickr-day.booked:hover{background:#f5c6cb;text-decoration:line-through}.flatpickr-day.blocked-ota{background:#fff3cd;color:#856404;border:1px solid #ffeaa7;text-decoration:line-through;text-decoration-color:#856404;text-decoration-thickness:2px;opacity:.8}.flatpickr-day.blocked-ota:hover{background:#ffeaa7;text-decoration:line-through}.flatpickr-day.selected{background:#0073aa;color:#fff;border-color:#0073aa}.flatpickr-day.selected:hover{background:#005a87;border-color:#005a87}.flatpickr-day.inRange{background:#d1ecf1;border-color:#0073aa;color:#0073aa}.flatpickr-day.inRange:hover{background:#bee5eb}.flatpickr-day.today{border-color:#0073aa;position:relative}.flatpickr-day.today:after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:#0073aa;border-radius:50%}.flatpickr-prev-month,.flatpickr-next-month{color:#0073aa;transition:color 0.2s ease}.flatpickr-prev-month:hover,.flatpickr-next-month:hover{color:#005a87}.flatpickr-month{background:#f9f9f9;border-bottom:1px solid #e0e0e0}.flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{color:#0073aa}.flatpickr-weekdays{background:#f0f0f0;color:#666;font-weight:600}.sunset-booking-form input[type="text"][readonly]{background-color:#f9f9f9;cursor:pointer;position:relative}.sunset-booking-form input[type="text"][readonly]:focus{background-color:#f9f9f9}.flatpickr-day[title]:hover::after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgb(0 0 0 / .8);color:#fff;padding:6px 10px;border-radius:3px;font-size:12px;white-space:nowrap;margin-bottom:5px;z-index:999}.flatpickr-day[title]:hover::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:5px solid #fff0;border-top-color:rgb(0 0 0 / .8);margin-bottom:-5px;z-index:999}