﻿.sc-hero-layout { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(360px,1.2fr); gap:28px; align-items:start; margin-top:32px; padding-bottom:80px; }
.sc-badges { display:flex; flex-direction:column; gap:10px; margin-top:28px; }
.sc-badge { display:flex; align-items:center; gap:14px; padding:12px 16px; border:1px solid rgba(255,250,240,0.14); border-radius:8px; background:rgba(255,250,240,0.07); transition:background 0.2s; }
.sc-badge:hover { background:rgba(255,250,240,0.12); }
.sc-badge > span { font-size:22px; flex-shrink:0; }
.sc-badge b { display:block; color:#fffaf0; font-size:13px; font-weight:700; margin-bottom:1px; }
.sc-badge small { display:block; color:rgba(255,250,240,0.58); font-size:11px; }
.sc-form-card { background:#fffaf0; border-radius:10px; overflow:hidden; box-shadow:0 28px 72px rgba(13,27,42,0.32); }
.sc-form-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:20px 24px; border-bottom:1px solid rgba(21,23,26,0.1); }
.sc-form-head h2 { font-size:17px; color:#15171a; margin:0 0 4px; font-weight:800; }
.sc-form-head p { font-size:13px; color:#6f736f; margin:0; }
.sc-pill { flex-shrink:0; background:#15171a; color:#fffaf0; border-radius:6px; padding:8px 12px; font-size:11px; font-weight:800; white-space:nowrap; letter-spacing:0.04em; }
.sc-form { padding:20px 24px 24px; }
.sc-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:12px; }
.sc-field { display:flex; flex-direction:column; gap:6px; }
.sc-field-wide { grid-column:span 2; }
.sc-field label, .sc-passengers label { color:#6f736f; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; }
.sc-field input, .sc-field select { height:44px; padding:0 12px; border:1px solid rgba(21,23,26,0.14); border-radius:7px; background:#f4f1eb; color:#15171a; font:inherit; font-size:14px; font-weight:600; transition:border-color 0.2s,box-shadow 0.2s; }
.sc-field input:focus, .sc-field select:focus { outline:none; border-color:#7a612f; box-shadow:0 0 0 3px rgba(135,107,53,0.12); }
.sc-field textarea { min-height:80px; padding:10px 12px; border:1px solid rgba(21,23,26,0.14); border-radius:7px; background:#f4f1eb; color:#15171a; font:inherit; font-size:14px; resize:vertical; transition:border-color 0.2s,box-shadow 0.2s; }
.sc-field textarea:focus { outline:none; border-color:#7a612f; box-shadow:0 0 0 3px rgba(135,107,53,0.12); }
.sc-form-row { display:flex; align-items:flex-end; gap:12px; margin-bottom:12px; }
.sc-passengers { display:flex; flex-direction:column; gap:6px; }
.sc-counter { display:flex; align-items:center; height:44px; border:1px solid rgba(21,23,26,0.14); border-radius:7px; overflow:hidden; background:#f4f1eb; width:130px; }
.sc-counter button { width:40px; height:100%; border:0; background:transparent; color:#15171a; font-size:18px; font-weight:800; cursor:pointer; transition:background-color 0.15s; }
.sc-counter button:hover { background:rgba(21,23,26,0.08); }
.sc-counter span { flex:1; text-align:center; font-size:15px; font-weight:800; color:#15171a; border-left:1px solid rgba(21,23,26,0.14); border-right:1px solid rgba(21,23,26,0.14); height:100%; display:flex; align-items:center; justify-content:center; }
.sc-submit { flex:1; height:44px; border:0; border-radius:7px; background:#15171a; color:#fffaf0; font:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:background-color 0.2s,transform 0.2s; }
.sc-submit:hover { background:#7a612f; transform:translateY(-1px); }
.sc-benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sc-benefit { padding:28px 24px; border:1px solid rgba(21,23,26,0.08); border-radius:8px; background:#fffaf0; box-shadow:0 20px 48px rgba(21,23,26,0.06); transition:transform 0.2s,box-shadow 0.2s; }
.sc-benefit:hover { transform:translateY(-3px); box-shadow:0 28px 64px rgba(21,23,26,0.1); }
.sc-benefit-icon { width:52px; height:52px; border-radius:10px; background:rgba(214,177,106,0.16); display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:14px; }
.sc-benefit h3 { margin:0 0 8px; color:#15171a; font-size:17px; font-weight:800; }
.sc-benefit p { margin:0; color:#6f736f; font-size:14px; line-height:1.65; }
@media(max-width:960px){
    .sc-hero-layout { grid-template-columns:1fr; }
    .sc-benefits-grid { grid-template-columns:repeat(2,1fr); }
    .sc-badges { flex-direction:row; flex-wrap:wrap; }
}
@media(max-width:768px){
    .sc-form-grid { grid-template-columns:1fr; }
    .sc-field-wide { grid-column:span 1; }
    .sc-benefits-grid { grid-template-columns:1fr; }
    .sc-hero-layout { padding-bottom:56px; }
}
.sc-user-badge {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px; background: rgba(45,106,95,.08);
    border: 1px solid rgba(45,106,95,.2); border-radius: 9px;
    font-size: 14px; font-weight: 700; color: #2d6a5f; margin-bottom: 18px;
}
.sc-user-badge svg { flex-shrink: 0; }
.sc-user-badge-pill {
    margin-left: auto; padding: 3px 10px; background: rgba(45,106,95,.15);
    border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .04em;
}
.sc-guest-fields { margin-bottom: 4px; }
.sc-divider { border: none; border-top: 1px solid rgba(21,23,26,.08); margin: 18px 0; }
.sc-req { color: #c0392b; font-size: 13px; }
.sc-field-err { display: block; font-size: 12px; font-weight: 600; color: #c0392b; margin-top: 5px; }
.sc-modal-overlay {
    display: none; position: fixed; inset: 0; z-index: 1000;
    background: rgba(21,23,26,.55); backdrop-filter: blur(4px);
    align-items: center; justify-content: center; padding: 16px;
}
.sc-modal-overlay.open { display: flex; }
.sc-modal {
    background: #fffaf0; border-radius: 14px; width: 100%; max-width: 440px;
    box-shadow: 0 32px 80px rgba(21,23,26,.22); position: relative;
    animation: scModalIn .2s ease;
}
.sc-modal-close {
    position: absolute; top: 14px; right: 14px; background: none; border: none;
    cursor: pointer; color: #73695a; padding: 4px; border-radius: 6px;
    display: flex; align-items: center; transition: color .15s;
}
.sc-modal-close:hover { color: #15171a; }
.sc-modal-head { padding: 28px 28px 0; }
.sc-modal-head h3 { font-size: 18px; font-weight: 850; color: #15171a; margin: 0 0 6px; }
.sc-modal-head p  { font-size: 13px; color: #6f736f; margin: 0; line-height: 1.5; }
.sc-modal-body { padding: 20px 28px; }
.sc-modal-body .sc-field { margin-bottom: 14px; }
.sc-modal-body .sc-field:last-of-type { margin-bottom: 0; }
.sc-modal-hint { font-size: 12px; color: #73695a; margin: 14px 0 0; text-align: center; }
.sc-modal-hint a { color: #7a612f; font-weight: 700; text-decoration: none; }
.sc-modal-footer {
    padding: 16px 28px 24px; display: flex; gap: 10px;
    border-top: 1px solid rgba(21,23,26,.07);
}
.sc-modal-cancel {
    flex: 1; padding: 12px; border: 1.5px solid rgba(21,23,26,.12);
    border-radius: 9px; background: transparent; color: #6f736f;
    font: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
    transition: border-color .15s;
}
.sc-modal-cancel:hover { border-color: rgba(21,23,26,.25); color: #15171a; }
.sc-modal-confirm {
    flex: 2; padding: 12px; border: none; border-radius: 9px;
    background: #15171a; color: #fffaf0; font: inherit; font-size: 14px;
    font-weight: 800; cursor: pointer; transition: background .2s;
}
.sc-modal-confirm:hover { background: #7a612f; }
.sc-success-msg {
    text-align: center; padding: 32px 20px;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.sc-success-msg p { margin: 0; font-size: 14px; color: #6f736f; }
.sc-success-msg strong { color: #15171a; font-size: 16px; }
.sc-autocomplete-wrap { position: relative; width: 100%; }
.sc-autocomplete-wrap input { width: 100%; box-sizing: border-box; }
.sc-autocomplete-drop {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0; right: 0;
    background: #fff;
    border: 1px solid rgba(21,23,26,0.12);
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(21,23,26,0.14);
    z-index: 600;
    overflow: hidden;
    max-height: 260px;
    overflow-y: auto;
}
.sc-autocomplete-drop.open { display: block; }
.sc-ac-item {
    width: 100%; display: flex; align-items: center; gap: 10px;
    padding: 10px 14px; border: none; background: transparent;
    cursor: pointer; text-align: left;
    border-bottom: 1px solid rgba(21,23,26,0.06);
    transition: background 0.12s;
}
.sc-ac-item:last-child { border-bottom: none; }
.sc-ac-item:hover, .sc-ac-item:focus { background: #f4f1eb; outline: none; }
.sc-ac-icon { font-size: 15px; color: #7a612f; flex-shrink: 0; }
.sc-ac-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.sc-ac-name { font-size: 13px; font-weight: 700; color: #15171a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-ac-type { font-size: 11px; color: #73695a; }
.sc-ac-loading, .sc-ac-empty {
    padding: 14px 16px; font-size: 13px; color: #73695a; text-align: center;
}
.sc-ac-loading::before {
    content: '';
    display: inline-block; width: 12px; height: 12px;
    border: 2px solid #d6b16a; border-top-color: transparent;
    border-radius: 50%; animation: scAcSpin 0.6s linear infinite;
    margin-right: 8px; vertical-align: middle;
}
