:root{--primary-color:#4263c9;--success-color:#3ba94d;--warning-color:#f39b34;--muted-color:#ccc;--border-color:#ddd;--background-light:#f9f9f9;--text-color:#333;--border-radius:0.5rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--widget-primary-color:#4263c9;--widget-primary-dark:#3451a8;--widget-primary-light:#b3d7ff}.availability-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);gap:var(--spacing-md);padding:var(--spacing-md);background:var(--background-light);border-radius:var(--border-radius)}.availability-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-color)}.month-selector{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius)}.month-selector label{font-size:.9rem;font-weight:500;color:var(--text-color);white-space:nowrap}.month-select{flex:1;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:.25rem;background:#fff;font-size:.9rem;color:var(--text-color);cursor:pointer;transition:all 0.2s ease}.month-select:hover{border-color:var(--widget-primary-color)}.month-select:focus{outline:none;border-color:var(--widget-primary-color);box-shadow:0 0 0 2px rgb(66 99 201 / .1)}.prev-btn,.next-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--widget-primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:500;transition:all 0.2s ease;min-width:44px;min-height:44px;position:relative}.prev-btn:hover,.next-btn:hover{background-color:var(--widget-primary-dark);transform:translateY(-1px)}.prev-btn:focus,.next-btn:focus{outline:2px solid var(--widget-primary-color);outline-offset:2px}.prev-btn:disabled,.next-btn:disabled{background-color:var(--muted-color);cursor:not-allowed;opacity:.6}.prev-btn:disabled:hover,.next-btn:disabled:hover{background-color:var(--muted-color);transform:none}.price-info-header{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);text-align:center}.price-info-header.dual-price-info{margin-bottom:var(--spacing-sm)}.price-label{font-size:.9rem;font-weight:600;color:#495057;display:flex;align-items:center;justify-content:center;gap:.5rem}.price-label::before{content:"💰";font-size:1rem}.availability-widget.with-prices .day{flex-direction:column;justify-content:space-between;padding:.25rem;min-height:60px;position:relative}.day-number{font-weight:600;line-height:1;margin-bottom:auto}.day-price{font-size:.7rem;font-weight:700;line-height:1;color:var(--widget-primary-color);background:rgb(255 255 255 / .9);padding:.15rem .25rem;border-radius:.25rem;text-align:center;margin-top:auto;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px rgb(0 0 0 / .1)}.day.available .day-price{color:var(--success-color);background:rgb(59 169 77 / .1);border:1px solid rgb(59 169 77 / .2)}.day.blocked .day-price{color:var(--muted-color);background:rgb(204 204 204 / .1);border:1px solid rgb(204 204 204 / .2)}.day.past .day-price{color:#9aa0a6;background:rgb(154 160 166 / .1);border:1px solid rgb(154 160 166 / .2)}.day.range-start .day-price,.day.range-end .day-price{color:white!important;background:rgb(255 255 255 / .2)!important;border:1px solid rgb(255 255 255 / .3)!important}.day.range-middle .day-price{color:var(--widget-primary-color)!important;background:rgb(255 255 255 / .9)!important;border:1px solid var(--widget-primary-color)!important}.day.range-preview-start .day-price,.day.range-preview-end .day-price{color:var(--widget-primary-color)!important;background:rgb(255 255 255 / .95)!important;border:1px solid var(--widget-primary-color)!important;opacity:.8}.day.range-preview-middle .day-price{color:var(--widget-primary-color)!important;background:rgb(255 255 255 / .8)!important;border:1px solid rgb(66 99 201 / .5)!important;opacity:.7}.tooltip-price-section{border-top:1px solid #f1f3f4;margin-top:8px;padding-top:8px}.tooltip-item.price-main{border-bottom:none;padding-bottom:4px}.tooltip-item.price-main .tooltip-value{font-size:1.1rem;font-weight:700;color:#fff}.tooltip-item.price-detail{padding:2px 0;font-size:.8rem;opacity:.8}.tooltip-item.price-detail .tooltip-label{font-weight:400}.tooltip-value.price-value{background:linear-gradient(135deg,var(--widget-primary-color) 0%,var(--widget-primary-dark) 100%);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.9rem;font-weight:700}@keyframes priceLoad{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.day-price{animation:priceLoad 0.3s ease-out}.tooltip-item.price-detail{font-size:11px;padding:2px 0;opacity:.9}.tooltip-item.price-detail.discount .tooltip-value{color:#4caf50}.tooltip-item.price-detail.surcharge .tooltip-value{color:#ff9800}.selection-info{background:#fff;border:2px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);transition:all 0.3s ease}.selection-info.empty{border-color:#e9ecef;background:#f8f9fa}.selection-info.partial{border-color:var(--warning-color);background:#fff8e1}.selection-info.complete{border-color:var(--widget-primary-color);background:#e3f2fd}.selection-text{flex:1}.selection-instruction{color:#6c757d;font-size:.9rem;font-weight:500}.selection-dates{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-size:.9rem}.checkin,.checkout{color:var(--widget-primary-color);font-weight:600}.separator{color:#6c757d;font-size:1.1rem;margin:0 var(--spacing-sm)}.nights{color:#6c757d;font-size:.85rem;font-weight:500;margin-left:var(--spacing-sm)}.selection-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.quick-book-btn{background:var(--widget-primary-color);color:#fff;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;gap:.5rem}.quick-book-btn:hover{background:var(--widget-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgb(66 99 201 / .3)}.book-icon{font-size:1rem}.book-text{white-space:nowrap}.booking-float{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%) translateY(100%);background:#fff;border:3px solid var(--widget-primary-color);border-radius:1rem;box-shadow:0 12px 48px rgb(0 0 0 / .2);padding:0;z-index:1000;min-width:320px;max-width:90vw;opacity:0;transition:all 0.4s cubic-bezier(.4,0,.2,1)}.booking-float.visible{opacity:1;transform:translateX(-50%) translateY(0)}.booking-float-content{padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.selected-dates{flex:1;min-width:0}.date-display{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;color:#2d3748;margin-bottom:.25rem;flex-wrap:wrap}.checkin-date,.checkout-date{color:var(--widget-primary-color);font-weight:700;white-space:nowrap}.date-separator{color:#a0aec0;font-size:1.2rem;margin:0 .25rem}.nights-display{font-size:.9rem;color:#718096;font-weight:500}.price-display{font-size:.85rem;color:var(--widget-primary-color);font-weight:600;margin-top:.25rem}.booking-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.booking-btn{background:var(--widget-primary-color);color:#fff;border:none;border-radius:.75rem;padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.booking-btn:hover{background:var(--widget-primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgb(66 99 201 / .4)}.booking-btn-icon{font-size:1.2rem;transition:transform 0.2s ease}.booking-btn:hover .booking-btn-icon{transform:translateX(3px)}.booking-btn-price{margin-left:auto;margin-right:.5rem;font-size:.9rem;font-weight:700;background:rgb(255 255 255 / .2);padding:.25rem .5rem;border-radius:.375rem;white-space:nowrap}.clear-selection-btn{background:#f7fafc;color:#718096;border:2px solid #e2e8f0;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;font-size:1.3rem;font-weight:700;flex-shrink:0;line-height:1;padding:0}.clear-selection-btn span{display:block;line-height:1;transform:translateY(-1px)}.clear-selection-btn:hover{background:#fed7d7;color:#e53e3e;border-color:#fc8181;transform:scale(1.1)}.day.range-start{background:var(--widget-primary-color)!important;color:white!important;border-color:var(--widget-primary-color)!important;font-weight:bold!important;position:relative;z-index:2}.day.range-start::before{content:'';position:absolute;top:50%;right:0;width:50%;height:100%;background:var(--widget-primary-light);transform:translateY(-50%);z-index:-1}.day.range-middle{background:var(--widget-primary-light)!important;color:var(--widget-primary-color)!important;border-color:var(--widget-primary-light)!important;position:relative}.day.range-middle::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:var(--widget-primary-light);z-index:-1}.day.range-end{background:var(--widget-primary-color)!important;color:white!important;border-color:var(--widget-primary-color)!important;font-weight:bold!important;position:relative;z-index:2}.day.range-end::before{content:'';position:absolute;top:50%;left:0;width:50%;height:100%;background:var(--widget-primary-light);transform:translateY(-50%);z-index:-1}.day.range-start.range-end{background:var(--widget-primary-color)!important}.day.range-start.range-end::before{display:none}.day.range-preview-start{background:rgb(66 99 201 / .3)!important;color:var(--widget-primary-color)!important;border-color:var(--widget-primary-color)!important;font-weight:600!important;position:relative;z-index:1;transition:all 0.15s ease}.day.range-preview-start::before{content:'';position:absolute;top:50%;right:0;width:50%;height:100%;background:rgb(66 99 201 / .15);transform:translateY(-50%);z-index:-1}.day.range-preview-middle{background:rgb(66 99 201 / .15)!important;color:var(--widget-primary-color)!important;border-color:rgb(66 99 201 / .3)!important;position:relative;transition:all 0.15s ease}.day.range-preview-middle::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgb(66 99 201 / .15);z-index:-1}.day.range-preview-end{background:rgb(66 99 201 / .3)!important;color:var(--widget-primary-color)!important;border-color:var(--widget-primary-color)!important;font-weight:600!important;position:relative;z-index:1;transition:all 0.15s ease}.day.range-preview-end::before{content:'';position:absolute;top:50%;left:0;width:50%;height:100%;background:rgb(66 99 201 / .15);transform:translateY(-50%);z-index:-1}.day.available:hover{background:var(--widget-primary-color)!important;color:white!important;transform:scale(1.05);z-index:10;box-shadow:0 4px 12px rgb(66 99 201 / .3);transition:all 0.2s ease}.day.range-start:hover,.day.range-end:hover{transform:scale(1.1);box-shadow:0 6px 16px rgb(66 99 201 / .4)}.day.range-middle:hover{background:var(--widget-primary-color)!important;color:white!important;transform:scale(1.05)}.day.range-preview-start:hover,.day.range-preview-end:hover{background:rgb(66 99 201 / .5)!important;transform:scale(1.03)}.day.range-preview-middle:hover{background:rgb(66 99 201 / .25)!important;transform:scale(1.02)}.availability-legend{display:flex;gap:var(--spacing-md);font-size:.9rem;margin-bottom:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md);background:#fff;border-radius:var(--border-radius);border:1px solid var(--border-color);align-items:center}.arrival-departure-legend{margin-left:auto}.legend-detail{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.legend-item::before{content:"";display:inline-block;width:1rem;height:1rem;border-radius:.25rem;background-color:currentColor}.legend-item.available{color:var(--success-color)}.legend-item.blocked{color:var(--muted-color)}.legend-item.selected{color:var(--widget-primary-color)}.legend-item.past{color:#6c757d}.legend-item.arrival::before{background:linear-gradient(135deg,#17a2b8 0%,#17a2b8 100%)}.legend-item.departure::before{background:linear-gradient(135deg,#fd7e14 0%,#fd7e14 100%)}.availability-calendar{background:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--widget-primary-color);color:#fff}.day-header{padding:var(--spacing-sm);text-align:center;font-weight:600;font-size:.875rem;min-width:0}.availability-grid{display:flex;flex-direction:column}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border-color);padding:0 2px}.week:last-child{border-bottom:none;padding-bottom:2px}.day{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;border-right:1px solid var(--border-color);cursor:pointer;background-color:#fff;transition:all 0.2s ease;position:relative;min-height:44px}.day:last-child{border-right:none}.day.empty{background-color:var(--background-light);cursor:default}.day.available{background-color:#e8f5e9;color:var(--success-color)}.day.blocked{background-color:#f8f8f8;color:var(--muted-color);cursor:not-allowed}.day.past{background-color:#f1f3f4;color:#9aa0a6;cursor:not-allowed}.day.today{position:relative;overflow:visible;z-index:3}.day.today::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid var(--widget-primary-color);border-radius:6px;box-shadow:0 0 0 2px rgb(66 99 201 / .2);animation:todayPulse 2s infinite;pointer-events:none}.day.today.past::after{border-color:#9aa0a6;box-shadow:0 0 0 2px rgb(154 160 166 / .15);animation:none}.day.today.available{font-weight:700}.day.today .day-number{text-decoration:underline;text-decoration-color:var(--widget-primary-color);text-decoration-thickness:2px;text-underline-offset:3px}@keyframes todayPulse{0%{box-shadow:0 0 0 0 rgb(66 99 201 / .4)}70%{box-shadow:0 0 0 6px #fff0}100%{box-shadow:0 0 0 0 #fff0}}.day.selected{background-color:#fef3e2;border-color:var(--warning-color);color:var(--warning-color);font-weight:700}.day:focus{outline:2px solid var(--widget-primary-color);outline-offset:-2px;z-index:2}.day.arrival-available::before{content:'';position:absolute;top:4px;left:4px;width:6px;height:6px;background-color:#17a2b8;border-radius:50%;z-index:1}.day.departure-available::after{content:'';position:absolute;top:4px;right:4px;width:6px;height:6px;background-color:#fd7e14;border-radius:50%;z-index:1}.availability-tooltip{position:absolute;z-index:1000;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 8px 24px rgb(0 0 0 / .15);padding:0;font-size:.875rem;line-height:1.4;max-width:280px;min-width:220px;display:none;pointer-events:none;transform:translateZ(0)}.tooltip-header{background:linear-gradient(135deg,var(--widget-primary-color) 0%,var(--widget-primary-dark) 100%);color:#fff;padding:12px 16px;border-radius:8px 8px 0 0;border-bottom:1px solid rgb(255 255 255 / .1)}.tooltip-date{font-weight:600;font-size:.9rem;margin-bottom:4px}.tooltip-status{font-size:.8rem;opacity:.9;font-weight:500}.tooltip-status.available{color:#a8e6a3}.tooltip-status.blocked{color:#ffcccb}.tooltip-status.past{color:#d1d5db}.tooltip-content{padding:12px 16px}.tooltip-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f1f3f4}.tooltip-item:last-child{border-bottom:none;padding-bottom:0}.tooltip-item.disabled{opacity:.6}.tooltip-label{font-weight:500;color:#495057;margin-right:12px}.tooltip-value{display:flex;align-items:center;gap:6px;font-weight:600}.tooltip-value.positive{color:#28a745}.tooltip-value.negative{color:#dc3545}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:.7rem;font-weight:700;color:#fff}.tooltip-value.positive .tooltip-icon{background-color:#28a745}.tooltip-value.negative .tooltip-icon{background-color:#dc3545}.availability-tooltip{opacity:0;transform:translateY(-8px);transition:opacity 0.2s ease,transform 0.2s ease}.availability-tooltip[style*="display: block"]{opacity:1;transform:translateY(0)}.availability-widget{width:100%;position:relative}.layout-single .availability-calendar{max-width:100%}.layout-dual{max-width:100%}.category-selector{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;padding:1rem 1.5rem;border-bottom:none;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.category-selector label{display:block;font-weight:600;color:var(--text-color);margin-bottom:.5rem;font-size:.9rem}.category-select{width:100%;max-width:400px;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--border-radius);background:#fff;color:var(--text-color);font-size:.9rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;padding-right:3rem}.category-select:hover{border-color:var(--widget-primary-color);box-shadow:0 0 0 3px rgb(66 99 201 / .1)}.category-select:focus{outline:none;border-color:var(--widget-primary-color);box-shadow:0 0 0 3px rgb(66 99 201 / .2)}.category-selector+.category-header{border-radius:0;border-top:1px solid rgb(255 255 255 / .2)}.category-header{background:linear-gradient(135deg,var(--widget-primary-color) 0%,var(--widget-primary-dark) 100%);color:#fff;padding:1rem 1.5rem;border-radius:var(--border-radius) var(--border-radius) 0 0;margin-bottom:0;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.category-header.dual-category{text-align:center}.category-name{display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;text-shadow:0 1px 2px rgb(0 0 0 / .1)}.category-text{font-family:inherit;letter-spacing:.02em;line-height:1.2}.category-header+.availability-header{border-radius:0;margin-top:0}.category-header+.availability-header .availability-header h2{color:var(--text-color)}.dual-header{flex-wrap:wrap}.dual-month-titles{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:center}.dual-month-titles h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-color)}.dual-calendar-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:var(--spacing-md)}.layout-dual .availability-calendar{min-width:0}.layout-dual .month-1,.layout-dual .month-2{background:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.dual-month-selector{margin-bottom:var(--spacing-md)}.dual-month-selector .month-select{min-width:300px}.clear-btn{margin-top:var(--spacing-md);background:#fff0;border:2px solid var(--warning-color);color:var(--warning-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all 0.2s ease;min-height:44px}.clear-btn:hover{background:var(--warning-color);color:#fff}.clear-btn:focus{outline:2px solid var(--warning-color);outline-offset:2px}.loading{display:flex;justify-content:center;align-items:center;padding:2rem;font-size:1rem;color:var(--text-color)}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .7);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(2px);transition:all 0.3s ease;opacity:0;visibility:hidden}.loading-overlay.active{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:5px solid rgb(66 99 201 / .1);border-radius:50%;border-top-color:var(--widget-primary-color);animation:spin 1s linear infinite;margin-bottom:15px}.loading-text{font-size:.9rem;font-weight:600;color:var(--widget-primary-color);animation:pulse 1.5s ease infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}100%{opacity:.6}}.loading::before{content:"";display:inline-block;width:1rem;height:1rem;border:2px solid var(--muted-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite;margin-right:var(--spacing-sm)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1024px){.dual-calendar-container{grid-template-columns:1fr;gap:1rem}.dual-month-titles{gap:1rem}.dual-month-titles h2{font-size:1rem}.dual-month-selector .month-select{min-width:250px}.booking-float{min-width:280px}.booking-float-content{flex-direction:column;gap:1rem;text-align:center}.selected-dates{order:1}.booking-actions{order:2;justify-content:center}.price-display{font-size:.8rem;margin-top:.5rem}.booking-btn-price{font-size:.8rem;margin-left:.5rem;margin-right:.25rem}}@media (max-width:768px){.dual-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm)}.dual-month-titles{flex:1;display:flex;justify-content:center;align-items:center;gap:1rem;margin:0}.dual-month-titles h2{font-size:.9rem;margin:0;text-align:center}.prev-btn,.next-btn{font-size:1.2rem;padding:.5rem;min-width:44px;min-height:44px;border-radius:50%;flex-shrink:0}.dual-month-selector{text-align:center;margin-top:var(--spacing-sm)}.dual-month-selector .month-select{min-width:220px;font-size:.9rem}.dual-calendar-container{gap:1rem}.selection-info{padding:1rem;border-radius:.75rem}.selection-dates{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.separator{display:inline;font-size:1rem}.booking-float{min-width:280px;max-width:calc(100vw - 2rem);bottom:1rem;left:1rem;right:1rem;transform:translateX(0) translateY(100%);border-radius:1rem}.booking-float.visible{transform:translateX(0) translateY(0)}.booking-float-content{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;text-align:center}.selected-dates{order:1}.date-display{font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.nights-display{font-size:.9rem;margin-top:.25rem}.price-display{font-size:.9rem;margin-top:.5rem;text-align:center}.booking-actions{order:2;display:flex;align-items:center;justify-content:center;gap:.75rem}.booking-btn{padding:.75rem 1.5rem;font-size:.95rem;border-radius:.75rem;min-width:140px}.booking-btn-price{font-size:.85rem;margin-left:.5rem}.clear-selection-btn{width:44px;height:44px;font-size:1.2rem}.clear-selection-btn span{transform:translateY(-1px)}}@media (max-width:640px){.availability-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm)}.availability-header h2{flex:1;text-align:center;margin:0;font-size:1rem}.prev-btn,.next-btn{font-size:1.1rem;padding:.4rem;min-width:40px;min-height:40px;border-radius:50%;flex-shrink:0}.availability-legend{justify-content:center;font-size:.8rem;gap:.5rem;flex-wrap:wrap;padding:var(--spacing-sm)}.arrival-departure-legend{margin-left:0;margin-top:.5rem}.legend-detail{gap:.5rem}.day{font-size:.75rem;min-height:36px}.day-header{font-size:.75rem;padding:.25rem}.selection-info{margin-bottom:var(--spacing-sm);padding:.875rem;border-radius:.5rem}.selection-dates{display:flex;align-items:center;justify-content:center;gap:.375rem;flex-wrap:wrap}.separator{display:inline;font-size:.9rem}.selection-instruction{font-size:.8rem;text-align:center}.quick-book-btn{padding:.4rem .8rem;font-size:.8rem}.booking-float{min-width:240px;max-width:calc(100vw - 1rem);left:.5rem;right:.5rem;bottom:.5rem;transform:translateX(0) translateY(100%);border-radius:1rem}.booking-float.visible{transform:translateX(0) translateY(0)}.booking-float-content{padding:1rem;display:flex;flex-direction:column;gap:.875rem;text-align:center}.selected-dates{order:1}.date-display{font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.375rem;flex-wrap:wrap}.nights-display{font-size:.85rem;margin-top:.25rem}.price-display{font-size:.85rem;margin-top:.5rem;text-align:center}.booking-actions{order:2;display:flex;align-items:center;justify-content:center;gap:.5rem}.booking-btn{padding:.6rem 1rem;font-size:.85rem;border-radius:.5rem;min-width:120px}.booking-btn-price{font-size:.8rem;margin-left:.25rem}.clear-selection-btn{width:36px;height:36px;font-size:1rem}.clear-selection-btn span{transform:translateY(-1px)}.availability-widget.with-prices .day{min-height:44px;padding:.15rem}.day-price{font-size:.55rem;padding:.08rem .15rem;border-radius:.2rem}}@media (max-width:480px){.dual-month-titles h2{font-size:.9rem}.dual-month-selector .month-select{min-width:180px;font-size:.8rem}.booking-float-content{padding:.75rem;gap:.75rem}.date-display{font-size:.9rem}.nights-display{font-size:.8rem;margin-top:.25rem}.booking-btn{padding:.5rem .8rem;font-size:.8rem}.booking-btn-icon{font-size:1rem}.category-header{padding:.75rem 1rem}.category-name{font-size:1rem}.category-text{font-size:.95rem}.category-selector{padding:.75rem 1rem}.category-selector label{font-size:.85rem;margin-bottom:.4rem}.category-select{font-size:.8rem;padding:.6rem .75rem;padding-right:2.25rem;background-size:.8rem;max-width:100%}.availability-widget.with-prices .day{min-height:40px;padding:.1rem}.day-price{font-size:.5rem;padding:.05rem .1rem}.price-info-header{margin-bottom:var(--spacing-sm)}.price-label{font-size:.75rem}.price-label::before{font-size:.9rem}}@media (max-width:640px){.availability-tooltip{max-width:240px;min-width:200px;font-size:.8rem}.tooltip-header{padding:10px 12px}.tooltip-content{padding:10px 12px}.tooltip-item{padding:4px 0}}@keyframes rangeSelect{0%{transform:scale(1);box-shadow:0 0 0 0 rgb(66 99 201 / .7)}50%{transform:scale(1.05);box-shadow:0 0 0 4px rgb(66 99 201 / .3)}100%{transform:scale(1);box-shadow:0 0 0 0 #fff0}}.day.range-start,.day.range-end{animation:rangeSelect 0.3s ease-out}.day:hover:not(.past) .day-number{margin-top:2px}.day-number{transition:margin-top 0.2s ease}.selection-error-tooltip{position:absolute;background-color:#f44;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;font-weight:500;box-shadow:0 2px 8px rgb(0 0 0 / .2);white-space:nowrap;pointer-events:none;z-index:10000;transition:opacity 0.2s ease}.selection-error-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid #fff0;border-top-color:#f44}.prev-btn::before,.nav-button.prev::before{content:''!important;display:inline-block!important;width:12px!important;height:12px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 19l-7-7 7-7'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}.next-btn::before,.nav-button.next::before{content:''!important;display:inline-block!important;width:12px!important;height:12px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5l7 7-7 7'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}.prev-btn,.next-btn{font-size:0!important;text-indent:-9999px!important;position:relative!important}@media (max-width:768px){.dual-month-titles{display:flex!important;flex-direction:row!important;gap:2rem!important;align-items:flex-start!important;justify-content:space-around!important;padding:0 .5em}.dual-month-titles h2{font-size:0.95rem!important;margin:0!important;text-align:center!important;line-height:1.3!important;display:flex!important;flex-direction:column!important;align-items:center!important}}