.booking-section-wrapper{background:linear-gradient(180deg, var(--color-bg-alt) 0%, #fff 100%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.booking-layout{grid-template-columns:1.15fr .85fr;align-items:start;gap:3rem;display:grid}.calendar-card{background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:2.2rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.8rem;display:flex}.calendar-month-title{font-family:var(--font-serif);color:var(--color-primary);font-size:1.45rem;font-weight:700}.calendar-nav-buttons{gap:.5rem;display:flex}.cal-nav-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-main);transition:all var(--transition-fast);background:#fff;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.cal-nav-btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.calendar-weekdays{text-align:center;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-light);grid-template-columns:repeat(7,1fr);margin-bottom:.8rem;padding-bottom:.6rem;font-size:.85rem;font-weight:700;display:grid}.calendar-days-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-day{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;font-size:.98rem;font-weight:500;display:flex;position:relative}.cal-day.empty{visibility:hidden;pointer-events:none}.cal-day.available{color:var(--color-text-main);background-color:#f7faf8;border-color:#e5ece7}.cal-day.available:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);z-index:2;font-weight:700;transform:scale(1.05)}.cal-day.booked{color:#a0a8a3;cursor:not-allowed;opacity:.7;background-color:#f3f3f3;text-decoration:line-through}.cal-day.booked:after{content:"";background:#d9534f;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.cal-day.past{color:#d0d5d2;cursor:not-allowed;background:0 0}.cal-day.selected-start,.cal-day.selected-end{z-index:3;transform:scale(1.02);background-color:var(--color-primary)!important;color:#fff!important;border-radius:var(--radius-sm)!important;font-weight:700!important}.cal-day.in-range{background-color:var(--color-primary-light)!important;color:var(--color-primary)!important;border-radius:0!important}.cal-day.today:before{content:"";background:var(--color-accent);border-radius:50%;width:4px;height:4px;position:absolute;top:4px}.calendar-footer{border-top:1px solid var(--color-border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem;padding-top:1.4rem;display:flex}.cal-legend{color:var(--color-text-muted);align-items:center;gap:1.2rem;font-size:.82rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:flex}.legend-dot{border-radius:3px;width:12px;height:12px}.legend-free{background:#eaf2ed;border:1px solid #c2d8ca}.legend-booked{background:#f0f0f0;border:1px solid #dcdcdc;position:relative}.legend-booked:after{content:"";background:#999;height:1px;position:absolute;top:50%;left:2px;right:2px}.legend-selected{background:var(--color-primary)}.sync-status-indicator{color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-full);align-items:center;gap:.5rem;padding:.35rem .8rem;font-size:.8rem;display:flex}.sync-pulse{background:#28a745;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #28a74533}.inquiry-card{background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:2.2rem;position:sticky;top:100px}.inquiry-card-header{margin-bottom:1.5rem}.inquiry-price-tag{align-items:baseline;gap:.4rem;margin-bottom:.4rem;display:flex}.inquiry-price-tag strong{color:var(--color-primary);font-size:2rem;font-weight:800;line-height:1}.inquiry-price-tag span{color:var(--color-text-muted);font-size:.95rem}.direct-booking-perk{color:var(--color-accent);align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.selected-dates-bar{background:var(--color-bg-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:1.5rem;padding:1.1rem}.dates-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.date-point span{text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:600;display:block}.date-point strong{color:var(--color-text-main);font-size:1rem}.stay-calc{color:var(--color-primary);border-top:1px dashed var(--color-border);justify-content:space-between;align-items:center;padding-top:.5rem;font-size:.88rem;font-weight:600;display:flex}.reset-dates-btn{color:#c94a4a;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:.2rem .4rem;font-size:.78rem;text-decoration:underline}.reset-dates-btn:hover{color:#a72828;background:#c94a4a14}.form-group{margin-bottom:1.1rem}.form-label{color:var(--color-text-main);margin-bottom:.4rem;font-size:.86rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-main);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2d5a431f}.form-row{flex-direction:column;gap:1.1rem;display:flex}.form-checkbox-label{color:var(--color-text-muted);cursor:pointer;align-items:flex-start;gap:.6rem;margin-bottom:1.2rem;font-size:.82rem;line-height:1.4;display:flex}.form-checkbox-label input{margin-top:.2rem}.form-submit-btn{width:100%;padding:1rem;font-size:1.05rem;font-weight:700}.form-help-text{color:var(--color-text-muted);text-align:center;margin-top:.8rem;font-size:.8rem}@media (width<=992px){.booking-layout{grid-template-columns:1fr;gap:2.5rem}.inquiry-card{position:static}}
