.cal-wrapper{background:var(--darkgray);border:1px solid #c6a77d1a;border-radius:16px;padding:24px}@media (width>=640px){.cal-wrapper{padding:32px}}@media (width>=1024px){.cal-wrapper{padding:40px}}.cal-header{margin-bottom:32px}.cal-title{font-family:var(--font-serif);margin-bottom:12px;font-size:1.875rem;font-weight:700}@media (width>=768px){.cal-title{font-size:2.25rem}}.cal-subtitle{color:#9ca3af;font-size:.95rem}.cal-legend{border-bottom:1px solid #c6a77d33;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:32px;padding-bottom:24px;display:flex}.cal-legend-item{color:#d1d5db;align-items:center;gap:8px;font-size:.875rem;display:flex}.cal-legend-dot{border-radius:50%;width:12px;height:12px}.cal-legend-dot--available{background:#fff}.cal-legend-dot--booked{background:#4b5563;position:relative}.cal-legend-dot--booked:after{content:"";background:#9ca3af;height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.cal-legend-dot--selected{background:linear-gradient(135deg,#d4af37 0%,#c6a77d 100%)}.cal-months{grid-template-columns:1fr;gap:32px;margin-bottom:32px;display:grid}@media (width>=1024px){.cal-months{grid-template-columns:1fr 1fr}}.cal-month-header{grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:24px;display:grid}.cal-month-title{font-family:var(--font-serif);text-align:center;font-size:1.5rem;font-weight:600}.cal-nav-btn{width:40px;height:40px;color:var(--champagne);cursor:pointer;background:#c6a77d1a;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .2s;display:flex}.cal-nav-btn:hover{background:#c6a77d33}.cal-nav-spacer{width:40px;height:40px}.cal-nav-btn--mobile-only{display:flex}@media (width>=1024px){.cal-nav-btn--mobile-only{display:none}}.cal-weekdays{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;display:grid}.cal-weekday{text-align:center;color:#6b7280;padding:8px 0;font-size:.75rem;font-weight:500}.cal-days{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.cal-day{aspect-ratio:1;color:inherit;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.cal-day--empty{pointer-events:none}.cal-day--past{color:#4b5563;cursor:not-allowed}.cal-day--available{color:#fff;background:var(--charcoal);cursor:pointer}.cal-day--available:hover{background:linear-gradient(135deg,#c6a77d 0%,#d4af37 100%);transform:scale(1.05)}.cal-day--booked{color:#6b7280;opacity:.4;cursor:not-allowed;background:var(--charcoal);position:relative}.cal-day--booked:after{content:"";background:#666;height:1px;position:absolute;top:50%;left:10%;right:10%;transform:translateY(-50%)}.cal-day--selected{color:var(--charcoal);z-index:10;background:linear-gradient(135deg,#d4af37 0%,#c6a77d 100%);font-weight:700;position:relative}.cal-day--in-range{color:#fff;background:#d4af374d}.cal-summary{background:var(--charcoal);border:1px solid #c6a77d33;border-radius:12px;padding:24px}.cal-summary-inner{flex-direction:column;gap:16px;display:flex}@media (width>=768px){.cal-summary-inner{flex-direction:row;justify-content:space-between;align-items:center}}.cal-summary-dates{flex:1;grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.cal-summary-dates{grid-template-columns:1fr 1fr 1fr}}.cal-summary-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem}.cal-summary-value{color:#fff;font-size:1.125rem;font-weight:600}.cal-summary-value--nights{color:var(--champagne)}.cal-whatsapp-btn{background:var(--champagne);color:var(--charcoal);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .3s;display:flex}.cal-whatsapp-btn:hover{background:var(--gold)}@media (width>=768px){.cal-whatsapp-btn{width:auto}}.cal-whatsapp-btn i{font-size:1.2rem}.cal-save-note{text-align:center;color:var(--gold);letter-spacing:.01em;margin-top:12px;font-size:.85rem;font-style:italic}.cal-loading{text-align:center;color:#9ca3af;padding:48px 0}.cal-error{text-align:center;color:#ef4444;padding:24px;font-size:.875rem}.cal-month--second{display:none}@media (width>=1024px){.cal-month--second{display:block}}.detail-main{padding-top:80px}.detail-container{max-width:1280px;margin:0 auto;padding:0 16px}@media (width>=640px){.detail-container{padding:0 24px}}@media (width>=1024px){.detail-container{padding:0 32px}}.detail-gallery-section{padding:32px 0 48px}@media (width>=1024px){.detail-gallery-section{padding:48px 0}}.detail-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=1024px){.detail-grid{grid-template-columns:7fr 5fr}}.gallery-main{border-radius:16px;height:400px;margin-bottom:16px;position:relative;overflow:hidden}@media (width>=640px){.gallery-main{height:500px}}@media (width>=1024px){.gallery-main{height:600px}}.gallery-main-img{object-fit:cover;width:100%;height:100%;transition:opacity .3s}.gallery-nav{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;transition:background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:hover{background:#000000b3}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-thumbs{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.gallery-thumb{cursor:pointer;border:2px solid #0000;border-radius:8px;transition:all .3s;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:96px}.thumb-active{border-color:var(--champagne);opacity:1}.thumb-inactive{opacity:.5}.thumb-inactive:hover{opacity:1}.detail-sidebar-inner{position:sticky;top:112px}.detail-header{margin-bottom:24px}.detail-title{margin-bottom:16px;font-size:30px;font-weight:700}@media (width>=640px){.detail-title{font-size:36px}}@media (width>=1024px){.detail-title{font-size:48px}}.detail-desc{color:#9ca3af;margin-bottom:24px;font-size:18px}.detail-amenity-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}@media (width>=640px){.detail-amenity-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1024px){.detail-amenity-grid{grid-template-columns:repeat(2,1fr)}}.detail-amenity-card{background:var(--darkgray);text-align:center;border:1px solid #c6a77d1a;border-radius:12px;padding:16px}.detail-amenity-card i{color:var(--champagne);margin-bottom:8px;font-size:20px}.detail-amenity-card p{color:#9ca3af;font-size:12px}.detail-quick-info{background:var(--darkgray);border:1px solid #c6a77d1a;border-radius:16px;padding:24px}.detail-quick-title{margin-bottom:16px;font-size:20px;font-weight:700}.detail-beds-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.detail-bed-item{text-align:center}.detail-bed-icon{background:#c6a77d1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;display:flex}.detail-bed-icon i{color:var(--champagne);font-size:24px}.detail-bed-name{margin-bottom:4px;font-size:14px;font-weight:600}.detail-bed-size{color:#9ca3af;font-size:12px}.detail-calendar-section{padding:32px 0 48px}@media (width>=1024px){.detail-calendar-section{padding:48px 0 64px}}.detail-facilities-section{background:var(--charcoal);padding:64px 0}.detail-facilities-title{text-align:center;margin-bottom:48px;font-size:30px;font-weight:700}@media (width>=640px){.detail-facilities-title{font-size:36px}}.facilities-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=768px){.facilities-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.facilities-grid{grid-template-columns:repeat(3,1fr)}}.facility-card{background:var(--darkgray);border:1px solid #c6a77d1a;border-radius:16px;padding:32px}.facility-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.facility-icon{background:#c6a77d1a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.facility-icon i{color:var(--champagne);font-size:24px}.facility-header h3{font-size:20px;font-weight:700}.facility-list{flex-direction:column;gap:12px;display:flex}.facility-list li{color:#d1d5db;align-items:center;gap:12px;display:flex}.facility-list li i{color:var(--champagne);font-size:14px}.detail-parking-section{padding:64px 0}.parking-grid{grid-template-columns:1fr;align-items:center;gap:48px;display:grid}@media (width>=1024px){.parking-grid{grid-template-columns:1fr 1fr}}.parking-image-wrap{border-radius:16px;order:2;height:400px;position:relative;overflow:hidden}@media (width>=1024px){.parking-image-wrap{order:1}}.parking-image{object-fit:cover;width:100%;height:100%}.parking-image-overlay{background:linear-gradient(#0000,#0009);position:absolute;inset:0}.parking-info{order:1}@media (width>=1024px){.parking-info{order:2}}.parking-title{margin-bottom:24px;font-size:30px;font-weight:700}@media (width>=640px){.parking-title{font-size:36px}}.parking-desc{color:#9ca3af;margin-bottom:32px;font-size:18px;line-height:1.6}.parking-features{flex-direction:column;gap:16px;display:flex}.parking-feature{align-items:flex-start;gap:16px;display:flex}.parking-feature-icon{background:#c6a77d1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.parking-feature-icon i{color:var(--champagne);font-size:20px}.parking-feature h4{margin-bottom:4px;font-weight:600}.parking-feature>div>p{color:#9ca3af;font-size:14px}.detail-other-section{background:var(--charcoal);padding:80px 0}.other-apartments-grid{grid-template-columns:1fr;gap:32px;max-width:640px;margin:0 auto;display:grid}.other-apartment-card{background:var(--darkgray);border:1px solid #c6a77d1a;border-radius:16px;transition:all .3s;display:block;overflow:hidden}.other-apartment-card:hover{border-color:#c6a77d4d}.other-apartment-image-wrap{height:256px;position:relative;overflow:hidden}.other-apartment-image{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1)}.other-apartment-card:hover .other-apartment-image{transform:scale(1.1)}.other-apartment-image-overlay{background:linear-gradient(#0000,#000c);position:absolute;inset:0}.other-apartment-info{padding:24px}.other-apartment-info h3{margin-bottom:12px;font-size:24px;font-weight:700}.other-apartment-desc{color:#9ca3af;margin-bottom:16px}.other-apartment-specs{color:#9ca3af;align-items:center;gap:16px;margin-bottom:16px;font-size:14px;display:flex}.other-apartment-specs i{color:var(--champagne);margin-right:4px}.btn-view-other{background:var(--champagne);width:100%;color:var(--charcoal);cursor:pointer;border-radius:8px;padding:12px;font-weight:600;transition:background .3s}.btn-view-other:hover{background:var(--gold)}.detail-main .cta-checks{flex-direction:column;gap:16px}@media (width>=640px){.detail-main .cta-checks{flex-direction:row;gap:24px}}
