.room-card{background-color:white;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);border:1px solid var(--color-border);overflow:hidden;transition:all .2s ease;margin-bottom:16px;min-width:300px;max-width:350px;flex-shrink:0}.room-card.single-room{min-width:100%;max-width:100%;flex:1}.room-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.room-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.room-image-carousel{position:relative;width:100%;height:200px;overflow:hidden;background-color:var(--color-bg-tertiary);touch-action:pan-y pinch-zoom;user-select:none}.room-image-slider{display:flex;height:100%;width:100%;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.room-image-slide{width:100%;height:100%;flex-shrink:0;flex-grow:0;flex-basis:100%}.room-image{width:100%;height:100%;object-fit:cover;display:block}.room-image-placeholder{width:100%;height:100%;flex-direction:column;gap:8px;color:var(--color-text-muted);background-color:var(--color-bg-tertiary)}.room-carousel-nav,.room-image-placeholder{display:flex;align-items:center;justify-content:center}.room-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background-color:rgba(0,0,0,.6);border:none;border-radius:50%;cursor:pointer;z-index:10;transition:all .3s ease;opacity:0}.room-image-carousel:hover .room-carousel-nav{opacity:1}.room-carousel-nav:hover{background-color:rgba(0,0,0,.8);transform:translateY(-50%) scale(1.1)}.room-carousel-prev{left:12px}.room-carousel-next{right:12px}.room-image-indicators{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10}.room-indicator-dot{width:6px;height:6px;border-radius:50%;background-color:rgba(255,255,255,.5);cursor:pointer;transition:all .3s ease}.room-indicator-dot.active{width:24px;border-radius:3px;background-color:white}.room-indicator-dot:hover{background-color:rgba(255,255,255,.8)}.room-content{padding:16px;min-height:200px;display:flex;flex-direction:column}.room-name{font-size:19px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px;line-height:1.3}.room-info-container{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px;flex:1}.room-info-item{display:flex;flex-direction:column;align-items:center;gap:2px}.room-info-icon{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}.room-info-text{font-size:13px;color:var(--color-text-muted);margin:0}.room-price-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.room-price-details{display:flex;flex-direction:column;gap:4px}.room-price-discount-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-original-price{font-size:15px;color:var(--color-text-muted);text-decoration:line-through}.room-price{font-size:17px;font-weight:600;color:var(--color-text-primary)}.room-price-note{font-size:15px;color:var(--color-text-muted);font-weight:500}.room-discount-badge{background-color:var(--color-accent);color:white;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.room-availability{background-color:var(--color-success);color:white;padding:4px 8px;border-radius:20px;font-size:13px;font-weight:500}.room-availability.unavailable{background-color:var(--color-error)}.room-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:auto;justify-content:space-between}.room-button{padding:8px 16px;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.room-button.primary{color:white}.room-button.primary,.room-button.primary:hover{background-color:var(--color-accent)}.room-button.outline{background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.room-button.outline:hover{background-color:var(--color-accent);color:white}.room-button:disabled{opacity:.5;cursor:not-allowed}.stepper-container{display:flex;flex-direction:row;align-items:center;border-radius:6px;background-color:white;border:1px solid var(--color-accent);overflow:hidden}.stepper-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background-color:var(--primary-light);color:var(--color-text-secondary);cursor:pointer;font-size:17px;font-weight:500;transition:background-color .2s;border-right:1px solid var(--color-border)}.stepper-button:last-child{border-right:none;border-left:1px solid var(--color-border)}.stepper-button:hover:not(:disabled){background-color:var(--primary-light)}.stepper-button:disabled{opacity:.5;cursor:not-allowed}.stepper-value{min-width:40px;text-align:center;font-size:15px;font-weight:500;color:var(--color-text-primary);padding:8px 12px;background-color:white}.room-selection-info{margin-top:8px;padding:8px 12px;background-color:var(--primary-light);border-radius:6px;border:1px solid var(--color-accent)}.room-selection-text{font-size:15px;color:var(--color-accent);margin:0;text-align:center}.room-fully-booked{color:var(--color-error);font-size:15px;font-weight:500;text-align:center;margin-top:8px}.rooms-section{margin-bottom:4px}.rooms-section-title{font-size:21px;font-weight:600;color:var(--color-text-primary);margin:16px 12px 4px}.rooms-grid{display:flex;flex-direction:column;gap:16px;padding:8px 8px 0;scroll-behavior:smooth}.rooms-grid .room-card{min-width:100%;max-width:100%;width:100%}.rooms-grid::-webkit-scrollbar{height:6px}.rooms-grid::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:3px}.rooms-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.rooms-grid::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.room-modal-overlay{position:fixed;inset:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.room-modal{background-color:rgb(255,255,255);border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);animation:slideUp .3s ease;overflow:hidden;position:relative;z-index:1000000}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.room-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border);flex-shrink:0}.room-modal-title{font-size:25px;font-weight:700;color:var(--color-text-primary);margin:0}.room-modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:color .2s ease;border-radius:6px}.room-modal-close:hover{color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.room-modal-content{flex:1;overflow-y:auto;padding:0;border-bottom:16px}.room-modal-image-carousel{position:relative;width:100%;height:400px;overflow:hidden;background-color:var(--color-bg-tertiary);user-select:none}.room-modal-image-track{display:flex;height:100%;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}.room-modal-image-track::-webkit-scrollbar{display:none}.room-modal-image-slide{width:100%;height:100%;flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:always}.room-modal-image{width:100%;height:100%;object-fit:contain;background-color:var(--color-bg-secondary)}.room-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background-color:rgba(0,0,0,.6);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .3s ease}.room-modal-nav:hover{background-color:rgba(0,0,0,.8);transform:translateY(-50%) scale(1.1)}.room-modal-prev{left:16px}.room-modal-next{right:16px}.room-modal-indicators{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}.room-modal-dot{width:8px;height:8px;border-radius:50%;background-color:rgba(255,255,255,.5);cursor:pointer;transition:all .3s ease}.room-modal-dot.active{width:32px;border-radius:4px;background-color:white}.room-modal-dot:hover{background-color:rgba(255,255,255,.8)}.room-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:24px;background-color:var(--color-bg-secondary);margin:16px;border-radius:12px}.room-detail-item{display:flex;flex-direction:column;gap:4px}.room-detail-label{font-size:13px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.room-detail-value{font-size:17px;font-weight:600;color:var(--color-text-primary)}.room-description-section{padding:0 24px 24px}.room-section-title{font-size:21px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.room-description-text{font-size:16px;line-height:1.6;color:var(--color-text-secondary);margin:0}.room-amenities-section{padding:0 24px 24px}.room-amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}.room-amenity-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background-color:var(--color-bg-secondary);border-radius:8px;transition:all .2s ease}.room-amenity-item:hover{background-color:var(--color-bg-tertiary);transform:translateY(-2px)}.room-amenity-icon{width:36px;height:36px;border-radius:50%;background-color:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.room-amenity-name{font-size:14px;font-weight:500;color:var(--color-text-primary);text-align:center;line-height:1.3}.room-modal-footer{padding:20px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;flex-shrink:0}.room-modal-close-btn{padding:10px 24px;background-color:var(--color-accent);color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.room-modal-close-btn:hover{opacity:.9;transform:translateY(-1px)}.room-amenities1{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.amenity-item1{display:flex;align-items:center;gap:4px;background:var(--color-bg-secondary);padding:4px 8px;border-radius:6px;font-size:13px;color:var(--color-text-muted)}.amenity-item1 svg{color:var(--color-accent)}.room-show-more-amenities{display:flex;align-items:center;gap:4px;background:transparent;padding:4px 8px;border-radius:6px;font-size:13px;color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;transition:all .2s ease;font-weight:500}.room-show-more-amenities:hover{background:var(--color-accent);color:white;transform:translateY(-1px)}@media (max-width:768px){.room-card{min-width:280px;max-width:300px;margin-bottom:12px}.rooms-grid{gap:12px}.room-carousel-nav{display:none}.room-modal{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0;margin-top:auto}.room-modal-image-carousel{height:250px}.room-details-grid{grid-template-columns:1fr;gap:16px;padding:20px;margin:12px}.room-amenities-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.room-amenities-section,.room-description-section{padding:0 20px 20px}.room-modal-header{padding:16px 20px}.room-modal-title{font-size:21px}}@media (max-width:480px){.room-info-item{gap:2px}.room-info-icon{width:12px;height:12px}.room-info-text{font-size:11px}.room-details-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;padding:8px;margin:8px}.room-detail-item{display:flex;flex-direction:column;gap:4px}.room-detail-label{font-size:11px;letter-spacing:.5px;margin-top:4px}.room-detail-value{font-size:13px;font-weight:600;color:var(--color-text-primary)}.room-description-text{font-size:14px;line-height:1.6;color:var(--color-text-secondary);margin:0}.room-amenities-grid{gap:12px;padding-bottom:16px}.room-amenity-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background-color:var(--color-bg-secondary);border-radius:8px;transition:all .2s ease}.room-modal-overlay{height:100%}.room-modal{max-height:80vh}}.contact-card{width:100%;margin:0;background:var(--color-bg-card);padding:var(--spacing-md,1rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.contact-content{display:flex;flex-direction:column;gap:12px;width:100%;text-align:center}.contact-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--color-text-primary);margin:0}.contact-text{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin:0}.contact-buttons{display:flex;flex-direction:row;align-items:stretch;gap:10px}.contact-phone-btn,.contact-whatsapp-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;font-size:.95rem;font-weight:600;border-radius:var(--radius-full);text-decoration:none;white-space:nowrap;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.contact-whatsapp-btn,.contact-whatsapp-btn:hover{background:var(--color-success);color:#fff;border:none}.contact-whatsapp-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px hsla(150,55%,45%,.3)}.contact-phone-btn,.contact-phone-btn:hover{color:var(--color-accent)}.contact-phone-btn{background:hsla(280,65%,60%,.1);border:1px solid var(--color-border-accent)}.contact-phone-btn:hover{background:hsla(280,65%,60%,.16);transform:translateY(-1px)}.phone-number{display:inline;font-weight:700}.contact-phone-btn svg,.contact-whatsapp-btn svg{flex-shrink:0}@media (max-width:768px){.contact-card{padding:12px}.contact-content{gap:10px}.contact-title{font-size:1rem}.contact-text{font-size:.8rem;line-height:1.45}.contact-buttons{gap:8px}.contact-phone-btn,.contact-whatsapp-btn{gap:6px;min-height:40px;padding:8px 10px;font-size:.84rem}}@media (max-width:360px){.contact-phone-btn,.contact-whatsapp-btn{font-size:.78rem;padding:8px}}.toggle-switch{display:inline-flex;background-color:var(--color-bg-secondary);border-radius:8px;padding:0;gap:4px}.toggle-option{padding:8px 16px;border:none;background-color:transparent;color:var(--color-text-muted);font-size:15px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.toggle-option:hover{background-color:var(--color-border)}.toggle-option.selected{background-color:var(--success);color:white;font-weight:600}@media (max-width:468px){.toggle-switch{display:inline-flex;background-color:var(--color-bg-secondary);border-radius:8px;padding:2px;gap:4px}.toggle-option{padding:8px 10px;border:none;background-color:transparent;color:var(--color-text-muted);font-size:11px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.toggle-option:hover{background-color:var(--color-border)}.toggle-option.selected{background-color:var(--success);color:white;font-weight:600}}.hourly-selection{gap:24px}.hourly-section,.hourly-selection{display:flex;flex-direction:column}.hourly-section{gap:12px}.section-title{font-size:19px;font-weight:600;color:var(--color-text-primary);margin:0}.info-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:15px;border-left:3px solid}.info-banner.info{background-color:rgba(var(--primary-rgb),.1);border-left-color:var(--color-accent);color:var(--color-accent)}.info-banner.warning{background-color:rgba(255,152,0,.1);border-left-color:var(--color-warning);color:var(--color-warning)}.time-slots-container{display:flex;overflow-x:auto;gap:8px;padding:4px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;height:50px;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background-color:white;cursor:pointer;transition:all .2s ease;flex-shrink:0}.time-slot:hover:not(.disabled){border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.time-slot.selected{background-color:var(--success);border-color:var(--success);color:white}.time-slot.disabled{background-color:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.time-number{font-size:16px;font-weight:600}.time-period{font-size:11px;font-weight:500;margin-top:2px}.duration-slots-container{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.duration-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;background-color:white;cursor:pointer;transition:all .2s ease;gap:6px}.duration-slot:hover:not(.disabled){border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.duration-slot.selected{background-color:var(--success);border-color:var(--success);color:white}.duration-slot.disabled{background-color:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.duration-text{font-size:15px;font-weight:600}.price-container{display:flex;align-items:center;gap:6px}.original-price{font-size:13px;text-decoration:line-through;color:var(--color-text-muted)}.discounted-price{font-size:14px;font-weight:600;color:var(--success)}.duration-slot.selected .discounted-price,.duration-slot.selected .original-price{color:white}.price{font-size:14px;font-weight:500;color:var(--color-text-muted)}.duration-slot.selected .price{color:white}.booking-summary{display:flex;justify-content:space-between;padding:16px;background-color:white;border:1px solid var(--color-border);border-radius:8px;gap:16px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.summary-label{font-size:13px;color:var(--color-text-muted);text-align:center}.summary-value{font-size:15px;font-weight:600;color:var(--color-text-primary);text-align:center}.summary-value.highlight{font-size:19px;color:var(--color-accent)}.extra-info{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:white;border:1px solid var(--color-border);border-radius:8px}.extra-info svg{color:var(--color-accent);flex-shrink:0;margin-top:2px}.extra-info strong{display:block;font-size:15px;font-weight:600;margin-bottom:4px;color:var(--color-text-primary)}.extra-info p{font-size:14px;color:var(--color-text-muted);margin:0}@media (max-width:768px){.time-slots-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.time-slot{min-width:60px;height:45px}.duration-slot{min-width:100px}.booking-summary{gap:12px}}@media (max-width:480px){.duration-slot{min-width:86px;padding:8px 12px;gap:4px}.duration-slots-container{gap:6px}.booking-summary{padding:10px;gap:6px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.summary-label{font-size:11px}.summary-value{font-size:13px}.summary-value.highlight{font-size:15px}}.cv-panel{--cv-gap:12px;--cv-pad:14px;--cv-radius:14px;--cv-border:1px solid var(--color-border);--cv-booked:var(--color-bg-tertiary);gap:var(--space-lg);padding:var(--space-sm);background:var(--color-bg-card);border-radius:18px;box-shadow:0 8px 28px -20px rgba(15,23,42,.28)}.cv-panel,.cv-section{display:flex;flex-direction:column}.cv-section{gap:8px;min-width:0}.cv-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);margin:0 0 0 2px;font-family:var(--font-heading);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.cv-title-note{font-size:var(--text-xs);font-weight:600;letter-spacing:0;color:var(--color-text-secondary)}.cv-empty{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.cv-empty--boxed{padding:var(--space-lg) var(--space-md);border:1px dashed var(--color-border);border-radius:var(--cv-radius);text-align:center}.cv-areas{display:flex;flex-direction:column;gap:8px}.cv-area{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--cv-pad);text-align:left;font:inherit;background:var(--color-bg-card);border:var(--cv-border);border-radius:var(--cv-radius);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.cv-area:hover{box-shadow:0 2px 10px -6px rgba(15,23,42,.25)}.cv-area--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,var(--color-bg-card))}.cv-area--selected,.cv-area--selected:hover{box-shadow:0 0 0 1px var(--color-accent)}.cv-area-icon{flex-shrink:0}.cv-area-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cv-area-capacity{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cv-area-type{font-size:var(--text-xs);color:var(--color-text-secondary)}.cv-calendar{display:flex;flex-direction:column;gap:8px;padding:var(--cv-pad);border:var(--cv-border);border-radius:var(--cv-radius)}.cv-calendar-nav{display:flex;align-items:center;justify-content:space-between}.cv-calendar-month{font-size:var(--text-base);font-weight:700;color:var(--color-text-primary)}.cv-calendar-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0 0 2px;font-size:1.3rem;line-height:1;color:var(--color-text-primary);background:transparent;border:var(--cv-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth)}.cv-calendar-arrow:hover{border-color:var(--color-accent);color:var(--color-accent)}.cv-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cv-calendar-weekdays{font-size:.72rem;font-weight:600;text-align:center;color:var(--color-text-secondary)}.cv-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;min-width:0;padding:4px 2px;font:inherit;background:var(--color-bg-card);border:var(--cv-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth),background-color var(--duration-fast) var(--ease-smooth)}.cv-day:hover:not(:disabled){border-color:var(--color-accent)}.cv-day:disabled{cursor:default}.cv-day-number{font-size:.85rem;font-weight:600;line-height:1.1;color:var(--color-text-primary)}.cv-day-status{font-size:.6rem;font-weight:700;line-height:1;color:var(--color-text-secondary)}.cv-day-status--open{color:var(--color-success)}.cv-day--booked{background:var(--cv-booked)}.cv-day--past{background:var(--color-bg-secondary);border-color:var(--color-border-light)}.cv-day--past .cv-day-number{color:var(--color-text-muted);font-weight:500}.cv-day--outside{background:transparent;border-color:transparent}.cv-day--outside .cv-day-number{color:var(--color-border);font-weight:500}.cv-day--selected{background:var(--color-accent);border-color:var(--color-accent)}.cv-day--selected .cv-day-number,.cv-day--selected .cv-day-status{color:#fff}.cv-slots{display:flex;flex-direction:column;gap:var(--cv-gap)}.cv-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.cv-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:10px 8px;font:inherit;text-align:center;background:var(--color-bg-card);border:var(--cv-border);border-radius:12px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.cv-slot:hover:not(:disabled){border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.cv-slot:disabled{cursor:not-allowed}.cv-slot-time{font-size:.82rem;font-weight:600;color:var(--color-text-primary)}.cv-slot-prices{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px}.cv-slot-price{font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.cv-slot-price--original{font-size:.78rem;font-weight:500;text-decoration:line-through;color:var(--color-text-muted)}.cv-slot-price--offer{color:var(--color-primary-text)}.cv-slot-status{font-size:.72rem;font-weight:700;color:var(--color-text-secondary)}.cv-slot-group{display:flex;flex-direction:column;align-items:center;gap:2px}.cv-slot-group-from{font-size:.72rem;color:var(--color-text-secondary)}.cv-slot-group-hint{font-size:.68rem;font-weight:600;color:var(--color-accent)}.cv-slot--offer{border:2px solid var(--color-primary-text)}.cv-slot-badge{position:absolute;top:-1px;right:-1px;padding:2px 6px;font-size:.6rem;font-weight:700;letter-spacing:.02em;color:#fff;background:var(--color-primary-text);border-radius:0 10px 0 8px}.cv-slot--booked{background:var(--cv-booked);border-color:var(--color-border)}.cv-slot--booked .cv-slot-time{color:var(--color-text-muted)}.cv-slot--selected{background:var(--color-accent);border-color:var(--color-accent)}.cv-slot--selected .cv-slot-group-from,.cv-slot--selected .cv-slot-price,.cv-slot--selected .cv-slot-price--original,.cv-slot--selected .cv-slot-time{color:#fff}.cv-slot--selected .cv-slot-badge{color:var(--color-primary-text);background:#fff}.cv-group{overflow:hidden;border:var(--cv-border);border-radius:var(--cv-radius)}.cv-group-title{padding:var(--space-sm) var(--cv-pad);font-size:var(--text-xs);font-weight:700;color:var(--color-text-primary);background:var(--color-bg-card-hover);border-bottom:var(--cv-border)}.cv-group-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:10px var(--cv-pad)}.cv-group-row+.cv-group-row{border-top:1px solid var(--color-border-light)}.cv-group-pax{padding:3px 10px;font-size:.82rem;font-weight:600;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent);border-radius:var(--radius-full)}.cv-group-price{font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.cv-menu{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.cv-menu-item{flex:0 0 auto;overflow:hidden;border:var(--cv-border);border-radius:var(--radius-md);scroll-snap-align:start;transition:border-color var(--duration-fast) var(--ease-smooth)}.cv-menu-item:hover{border-color:var(--color-accent)}.cv-menu-item img{display:block;width:120px;height:120px;object-fit:cover}@media (max-width:768px){.cv-panel{--cv-pad:12px;--cv-radius:12px;gap:var(--space-md);padding:10px;border-radius:14px}.cv-title{font-size:1rem}.cv-calendar{padding:10px}}@media (max-width:400px){.cv-calendar{padding:8px}.cv-calendar-grid{gap:3px}.cv-day{min-height:46px;padding:3px 1px}.cv-day-status{font-size:.52rem}.cv-menu-item img{width:100px;height:100px}}.property-details-page{padding-top:var(--navbar-height,80px)}.property-details-page .section{padding-top:var(--space-2xl)}.event-pricing{display:flex;flex-direction:column;gap:var(--spacing-xs)}.event-pricing-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.event-pricing-range{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:.95rem}.event-pricing-price{font-weight:700;color:var(--color-text-primary)}.property-details-header{margin-bottom:var(--spacing-xl)}.property-details-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.property-details-title{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--color-text-primary)}.property-details-rating{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:1.05rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.property-details-rating svg{color:var(--color-gold,var(--color-accent))}.property-details-rating-count{font-weight:400;color:var(--color-text-muted)}.property-details-location{display:flex;align-items:center;gap:6px;font-size:1rem;color:var(--color-accent);margin:var(--spacing-xs) 0 var(--spacing-md)}.property-details-state{text-align:center;padding:4rem 1rem;color:var(--color-text-secondary)}.property-details-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:hsla(280,65%,65%,.15);border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.property-details-content{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.property-details-aside,.property-details-main{min-width:0}.details-sections{display:flex;flex-direction:column}.detail-section{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.detail-section:first-child{border-top:none;padding-top:0}.detail-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.detail-section-title{font-family:var(--font-heading);font-size:1.45rem;color:var(--color-text-primary)}.detail-section-rating{display:inline-flex;align-items:center;gap:5px;font-size:1rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.detail-section-rating svg{color:var(--color-gold,var(--color-accent))}.detail-section-rating-count{font-weight:400;color:var(--color-text-muted)}.detail-rich-text{color:var(--color-text-secondary);line-height:1.8;overflow-wrap:break-word;word-break:break-word}.detail-rich-text :is(ul,ol){padding-left:1.25rem}.detail-list-text{font-size:.975rem;line-height:1.65}.detail-list-text>*+*{margin-top:.75rem}.detail-list-text :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.4;color:var(--color-text-primary)}.detail-list-text :is(h1,h2,h3,h4,h5,h6)+*{margin-top:.4rem}.detail-list-text :is(strong,b){font-weight:600;color:var(--color-text-primary)}.detail-list-text ul{list-style:disc;padding-left:1.25rem}.detail-list-text ol{list-style:decimal;padding-left:1.4rem}.detail-list-text li{padding-left:.25rem}.detail-list-text li+li{margin-top:.5rem}.detail-list-text li::marker{color:var(--color-accent)}.detail-list-text li>p{margin:0}.detail-list-text p:empty,.detail-list-text p:has(>br:only-child){display:none}.collapsible-text__body{position:relative;max-height:180px;overflow:hidden}.collapsible-text__body.is-expanded{max-height:none}.collapsible-text__body.has-fade:after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(to bottom,transparent,var(--color-bg-primary));pointer-events:none}.refund-options{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs)}.refund-option{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem}.refund-option-window{color:var(--color-text-secondary)}.refund-option-percent{font-weight:600;color:var(--color-accent)}.refund-non-refundable{color:var(--color-text-secondary)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--spacing-sm);align-items:start}.reviews-modal .reviews-grid{grid-template-columns:1fr;gap:var(--spacing-xs)}.review-card{display:flex;flex-direction:column;height:260px;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.review-card.is-expanded{height:auto}.review-card-head{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.review-card-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);background:var(--gradient-primary,var(--color-accent));color:#fff;font-weight:700}.review-card-meta{display:flex;flex-direction:column;min-width:0;flex:1}.review-card-name{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.review-card-time{font-size:.8125rem;color:var(--color-text-muted)}.review-card-rating{display:inline-flex;align-items:center;gap:3px;font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.review-card-rating svg{color:var(--color-gold,var(--color-accent))}.review-card-text{position:relative;flex:1;min-height:0;overflow:hidden;font-size:.95rem;line-height:1.6;color:var(--color-text-secondary);overflow-wrap:break-word;word-break:break-word;white-space:pre-line}.review-card.is-expanded .review-card-text{flex:0 0 auto;overflow:visible}.review-card-text.has-fade:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.4em;background:linear-gradient(transparent,var(--color-bg-card));pointer-events:none}.review-card-readmore{margin-top:4px;padding:0;background:none;border:none;color:var(--color-accent);font-size:.9rem;font-weight:600;text-align:center;cursor:pointer}.review-card-readmore:hover{text-decoration:underline}.detail-address{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.detail-map{position:relative}.detail-map-frame{width:100%;height:320px;border:1px solid var(--color-border);border-radius:var(--radius-md);filter:grayscale(.1)}.detail-map-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.detail-map-btn{display:inline-flex;align-items:center;gap:6px;padding:.55rem 1rem;border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;color:var(--color-accent);transition:all var(--transition-fast)}.detail-map-btn:hover{background:hsla(280,65%,65%,.1);border-color:var(--color-accent)}.detail-map-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.detail-map-btn-primary:hover{background:var(--color-accent-dark,var(--color-accent));color:#fff}.property-description-wrapper{position:relative;margin-bottom:var(--spacing-lg)}.property-description{color:var(--color-text-secondary);line-height:1.8;max-height:200px;overflow:hidden;position:relative;transition:max-height var(--transition-smooth);overflow-wrap:break-word;word-break:break-word}.property-description:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent,var(--color-bg-primary));pointer-events:none}.amenities-show-more-btn,.read-more-btn{display:inline-flex;align-items:center;min-height:0;min-width:0;margin-top:var(--spacing-xs);padding:2px 0;background:none;border:none;border-radius:0;color:var(--color-accent);font-size:.95rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--transition-fast)}.amenities-show-more-btn:hover,.read-more-btn:hover{color:var(--color-accent-dark,var(--color-accent))}.property-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.property-feature{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.property-feature-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.property-feature-text{min-width:0}.property-feature-icon{color:var(--color-accent);flex-shrink:0;line-height:0}.property-feature-icon svg{width:100%;height:100%;display:block}.property-feature-value{font-size:1.2rem;font-weight:600;line-height:1.2;color:var(--color-text-primary)}.property-feature-label{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.amenity-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.95rem}.amenity-icon{color:var(--color-accent);flex-shrink:0;line-height:0}.amenity-icon svg{width:100%;height:100%;display:block}.amenity-text{margin:0}.property-details-aside{position:sticky;top:100px;align-self:start}.property-contact-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.property-contact-title{font-family:var(--font-heading);font-size:1.55rem;color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-align:center}.property-trust-badge{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:hsla(280,65%,65%,.1);border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:.9rem;color:var(--color-accent)}.property-contact-btn{width:100%;margin-bottom:var(--spacing-sm)}.property-contact-note{text-align:center;font-size:.86rem;color:var(--color-text-muted);margin-top:var(--spacing-sm)}@media (max-width:992px){.property-details-content{grid-template-columns:1fr}.property-details-aside{position:static}}@media (max-width:768px){.property-details-page .section{padding:12px 0 32px}.property-details-content{gap:var(--space-lg);margin-top:0}.property-details-header{margin-bottom:var(--space-md)}.property-details-heading{gap:8px;flex-wrap:nowrap}.property-details-title{font-size:1.4rem;font-weight:600;line-height:1.25}.property-details-rating{font-size:.88rem;margin-top:4px}.property-details-rating svg{width:14px;height:14px}.property-details-location{font-size:.88rem;gap:4px;margin:4px 0 12px}.property-features{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:var(--space-md)}.property-feature{gap:8px;padding:8px 10px;border-radius:10px}.property-feature-icon-wrap{width:30px;height:30px}.property-feature-value{font-size:.98rem}.property-feature-label{font-size:.6rem;letter-spacing:.03em}.detail-section{padding:18px 0}.detail-section-header{margin-bottom:10px;gap:8px}.detail-section-title{font-size:1.15rem;font-weight:600}.detail-section-rating{font-size:.88rem}.detail-rich-text{font-size:.9rem;line-height:1.65}.detail-list-text{font-size:.88rem;line-height:1.6}.detail-list-text>*+*{margin-top:.5rem}.detail-list-text :is(h1,h2,h3,h4,h5,h6){font-size:.92rem}.detail-list-text li+li{margin-top:.3rem}.property-description-wrapper{margin-bottom:0}.property-description{max-height:150px}.property-description:after{height:44px}.collapsible-text__body{max-height:140px}.collapsible-text__body.has-fade:after{height:44px}.amenities-show-more-btn,.read-more-btn{margin-top:8px;font-size:.86rem}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:6px}.amenity-item{gap:6px;padding:7px 9px;border-radius:8px;font-size:.8rem;line-height:1.3}.event-pricing-row,.refund-option{gap:10px;padding:8px 12px;border-radius:8px;font-size:.84rem}.event-pricing-range{font-size:.84rem}.reviews-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}.reviews-grid::-webkit-scrollbar{display:none}.reviews-grid .review-card{scroll-snap-align:start}.reviews-modal .reviews-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-auto-columns:auto;overflow-x:visible;scroll-snap-type:none}.review-card{height:200px;padding:12px;border-radius:12px}.review-card-head{gap:8px;margin-bottom:8px}.review-card-avatar{width:30px;height:30px;font-size:.85rem}.review-card-name{font-size:.86rem}.review-card-time{font-size:.72rem}.review-card-rating{font-size:.8rem}.review-card-text{font-size:.84rem;line-height:1.5}.review-card-readmore{min-height:0;font-size:.8rem}.detail-address{gap:6px;margin-bottom:10px;font-size:.86rem;line-height:1.4}.detail-map-frame{height:220px;border-radius:12px}.detail-map-actions{gap:8px;margin-top:10px}.detail-map-btn{padding:.45rem .8rem;font-size:.8rem;border-radius:8px}}@media (max-width:480px){.property-details-title{font-size:1.25rem}.property-features{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px}.property-feature{padding:7px 8px;gap:6px}.property-feature-icon-wrap{width:26px;height:26px}.detail-section{padding:16px 0}.detail-section-title{font-size:1.08rem}.amenity-item{padding:6px 8px;font-size:.76rem}.detail-map-frame,.review-card{height:190px}}