.booking-layout{display:grid;grid-template-columns:1fr;gap:32px;max-width:900px;margin:0 auto}.apt-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.apt-tab{display:flex;flex-direction:column;align-items:flex-start;padding:20px 24px;border-radius:var(--radius-lg);border:2px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left}.apt-tab:hover{border-color:var(--color-primary)}.apt-tab.active{border-color:var(--color-primary);background:#2d6a4f0d;box-shadow:0 0 0 3px #2d6a4f1f}.apt-tab__num{font-size:1.15rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:4px}.apt-tab__price{font-size:1.1rem;font-weight:600;color:var(--color-text)}.apt-tab__sub{font-size:.82rem;color:var(--color-text-muted)}.cal-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:.82rem}.cal-legend__item{display:flex;align-items:center;gap:6px}.cal-legend__item:before{content:"";width:16px;height:16px;border-radius:4px;display:block}.cal-legend__item--free:before{background:#fff;border:1px solid #dde4dd}.cal-legend__item--pending:before{background:#fff3cd;border:1px solid #ffc107}.cal-legend__item--confirmed:before{background:#f8d7da;border:1px solid #dc3545}.cal-legend__item--holiday:before{background:#fff0d4;border:1px solid #e8a000}.cal-legend__item--selected:before{background:var(--color-primary)}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-nav__btn{background:none;border:1px solid var(--color-border);padding:8px 16px;border-radius:var(--radius-sm);font-size:1.2rem;cursor:pointer;transition:background .15s}.cal-nav__btn:hover{background:var(--color-bg-section)}.cal-nav__label{font-weight:700;font-size:1.05rem}.calendar{display:grid}.cal-months{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cal-month__name{font-weight:700;text-align:center;margin-bottom:8px;font-size:.95rem;color:var(--color-text-muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-dow{text-align:center;font-size:.72rem;font-weight:600;color:var(--color-text-muted);padding:4px 0;text-transform:uppercase}.cal-day{text-align:center;padding:7px 4px;border-radius:6px;font-size:.88rem;cursor:pointer;transition:background .1s,color .1s;border:1px solid transparent;min-height:34px;display:flex;align-items:center;justify-content:center}.cal-day:hover:not(.cal-day--disabled):not(.cal-day--past){background:#2d6a4f1a}.cal-day--past{color:var(--color-border);cursor:default}.cal-day--disabled{background:#fff;cursor:default}.cal-day--pending{background:#fff3cd;border-color:#ffc107;cursor:not-allowed}.cal-day--confirmed{background:#f8d7da;border-color:#dc3545;cursor:not-allowed}.cal-day--selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary-dark)}.cal-day--holiday{background:#fff0d4;border-color:#e8a000!important}.cal-day--in-range{background:#2d6a4f26}.cal-day--range-start,.cal-day--range-end{background:var(--color-primary);color:#fff}.cal-day--empty{background:transparent;cursor:default}.cal-loading{text-align:center;color:var(--color-text-muted);padding:20px}.cal-error{color:#dc3545;padding:12px;background:#f8d7da;border-radius:var(--radius-sm);font-size:.9rem}.selected-dates{display:flex;align-items:center;gap:12px;background:#2d6a4f14;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-weight:600;color:var(--color-primary-dark);flex-wrap:wrap}.selected-dates__clear{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.85rem;padding:2px 8px;border-radius:4px}.selected-dates__clear:hover{background:#00000012}.booking-form{display:grid;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 14px;font-size:.95rem;font-family:inherit;background:var(--color-bg-card);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d6a4f1f}.form-group textarea{resize:vertical;min-height:60px}.req{color:var(--color-accent-dark)}.form-msg{padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem}.form-msg--error{background:#f8d7da;color:#842029}.form-msg--success{background:#d1e7dd;color:#0a3622}.form-submit{width:100%;justify-content:center}.form-note{font-size:.8rem;color:var(--color-text-muted);text-align:center;margin:0}.driver-wrap{display:flex;flex-direction:column;gap:10px}.driver-check-label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.95rem;cursor:pointer}.driver-check-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.driver-days-wrap{display:flex;align-items:center;gap:10px}.driver-price-hint{font-size:.82rem;color:var(--color-primary-dark);font-weight:600}.promo-input-wrap{display:flex;gap:8px}.promo-input-wrap input{flex:1}.promo-apply-btn{padding:10px 16px;background:var(--color-bg-section);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.promo-apply-btn:hover{background:var(--color-border)}.promo-result{font-size:.82rem;margin-top:4px}.promo-result--ok{color:#2d6a4f;font-weight:600}.promo-result--err{color:#dc3545}.price-calc{background:#f0f7f2;border:1px solid #b7dfc7;border-radius:var(--radius-md);padding:16px 20px;margin-bottom:16px}.price-calc__rows{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;font-size:.88rem;color:var(--color-text-muted)}.price-calc__rows span{display:flex;justify-content:space-between}.price-calc__total{display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;border-top:1px solid #b7dfc7;padding-top:10px;color:var(--color-primary-dark)}.price-calc__total strong{font-size:1.2rem}@media (max-width: 768px){.cal-months,.apt-selector{grid-template-columns:1fr}}
