/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#F3C45D !important;border-color:#F3C45D !important;color:#2B2B2B !important;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange{background:rgba(243,196,93,0.2) !important;border-color:rgba(243,196,93,0.2) !important;color:#2B2B2B !important;box-shadow:none !important;}.flatpickr-day.today{border-color:#F3C45D !important;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{background:#F3C45D !important;border-color:#F3C45D !important;color:#2B2B2B !important;}.flatpickr-day:hover,.flatpickr-day:focus{background:rgba(243,196,93,0.3) !important;border-color:rgba(243,196,93,0.3) !important;}.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#2B2B2B !important;background:transparent !important;border-color:transparent !important;}.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover{color:#2B2B2B !important;background:rgba(243,196,93,0.2) !important;border-color:rgba(243,196,93,0.2) !important;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:#ddd !important;background:transparent !important;border-color:transparent !important;cursor:not-allowed !important;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#F3C45D !important;}.flatpickr-current-month .flatpickr-monthDropdown-months:hover,.flatpickr-current-month input.cur-year:focus{border-color:#F3C45D !important;}.flatpickr-calendar{box-shadow:0 4px 20px rgba(0,0,0,0.15) !important;border-radius:8px !important;}.flatpickr-weekday{color:#666 !important;font-weight:600 !important;}
.cabin-booking-widget{background:#fff;border:1px solid #ddd;border-radius:8px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:24px;}.booking-date-picker h3{margin-top:0;margin-bottom:20px;font-size:20px;font-weight:600;color:#333;}.date-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:20px;}.date-input-group{display:flex;flex-direction:column;}.date-input-group label{font-size:14px;font-weight:500;color:#666;margin-bottom:6px;}.booking-date-input,.booking-guests-input{padding:10px 12px;border:1px solid #ccc;border-radius:4px;font-size:15px;transition:border-color 0.2s;}.booking-date-input:focus,.booking-guests-input:focus{outline:none;border-color:#f7b52c;}.btn-check-availability{width:100%;padding:14px 24px;background:#f7b52c;color:#000;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background 0.2s;}.btn-check-availability:hover{background:#e5a51f;}.booking-quote-section{min-height:200px;}.quote-loading{text-align:center;padding:40px 20px;}.spinner{border:3px solid #f3f3f3;border-top:3px solid #f7b52c;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 16px;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.quote-loading p{color:#666;font-size:15px;}.quote-error{text-align:center;padding:40px 20px;}.error-message{color:#d32f2f;font-size:15px;margin-bottom:16px;}.btn-try-again{padding:10px 20px;background:#f5f5f5;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;transition:background 0.2s;}.btn-try-again:hover{background:#e0e0e0;}.booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:16px;background:#f9f9f9;border-radius:6px;}.summary-cell{display:flex;flex-direction:column;gap:2px;}.summary-cell .label{font-size:11px;text-transform:uppercase;letter-spacing:0.5px;color:#888;font-weight:500;}.summary-cell .value{font-size:15px;color:#222;font-weight:700;}.pricing-breakdown{margin-bottom:24px;}.pricing-row{display:flex;justify-content:space-between;padding:6px 0;font-size:15px;}.pricing-row .label{color:#666;}.pricing-row .value{color:#333;font-weight:500;}.pricing-toggle{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:15px;cursor:pointer;user-select:none;}.pricing-toggle .label{display:flex;align-items:center;gap:6px;color:#666;}.pricing-toggle .toggle-arrow{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #999;transition:transform 0.2s ease;}.pricing-toggle.is-open .toggle-arrow{transform:rotate(180deg);}.pricing-toggle .value{color:#333;font-weight:500;}.pricing-details{display:none;padding-left:12px;border-left:2px solid #eee;margin-left:4px;}.pricing-details.is-open{display:block;}.pricing-details .pricing-row{padding:3px 0;font-size:13px;}.pricing-details .pricing-row .label{color:#888;font-weight:400;}.pricing-details .pricing-row .value{color:#888;font-weight:400;font-size:13px;}.pricing-row.total-row{border-top:2px solid #333;margin-top:8px;padding-top:12px;font-size:18px;font-weight:700;}.pricing-row.total-row .label,.pricing-row.total-row .value{color:#000;font-weight:700;}.btn-change-dates{display:block;width:100%;padding:12px;background:#f5f5f5;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;margin-bottom:12px;transition:background 0.2s;}.btn-change-dates:hover{background:#e0e0e0;}.btn-request-booking{display:block;width:100%;padding:16px;background:#f7b52c;color:#000;text-align:center;text-decoration:none;border-radius:4px;font-size:16px;font-weight:600;transition:background 0.2s;}.btn-request-booking:hover{background:#e5a51f;color:#000;text-decoration:none;}@media (max-width:768px){.cabin-booking-widget{padding:16px;}.date-inputs{grid-template-columns:1fr;}.booking-summary{gap:12px;padding:12px;}.summary-cell .value{font-size:14px;}.pricing-row,.pricing-toggle{font-size:14px;}.pricing-row.total-row{font-size:16px;}}
