.page-self-drive { background: #f6f9fc; }
.page-self-drive .sd-search {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 14px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(16, 36, 61, 0.14);
}
.page-self-drive .sd-search__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eef2f6;
}
.page-self-drive .sd-search__tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 6px 8px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #8b97a6;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.page-self-drive .sd-search__tabs button .icon { width: 16px; height: 16px; }
.page-self-drive .sd-search__tabs button.is-active {
    color: #F36A16;
    border-bottom-color: #F36A16;
}
.page-self-drive .sd-search__field { display: grid; gap: 6px; }
.page-self-drive .sd-search__field > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}
.page-self-drive .sd-search__field .icon { width: 14px; height: 14px; color: #94a3b8; }
.page-self-drive .sd-search__field input {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #e6edf5;
    border-radius: 12px;
    background: #fff;
    color: #10243d;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
}
.page-self-drive .sd-search__field input:focus {
    outline: 2px solid rgba(243, 106, 22, 0.28);
    border-color: #F36A16;
}
.page-self-drive .sd-search__check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
}
.page-self-drive .sd-search__check input { width: 16px; height: 16px; accent-color: #F36A16; }
.page-self-drive .sd-search__error { margin: 0; color: #c2410c; font-size: 12px; font-weight: 700; }
.page-self-drive .sd-search .btn { width: 100%; min-height: 46px; border-radius: 12px; font-weight: 800; }
.page-self-drive .sd-trip {
    margin: -6px 0 14px;
    color: #10243d;
    font-size: 14px;
    font-weight: 700;
}
@media (min-width: 960px) {
    .page-self-drive .hero__content { width: min(500px, 48%); padding-right: 12px; }
    .page-self-drive .hero h1 { font-size: 42px; }
    .page-self-drive .hero .stats { max-width: none; }
    .page-self-drive .sd-search {
        position: absolute;
        z-index: 4;
        top: 14px;
        right: 16px;
        bottom: 14px;
        width: min(330px, 34%);
        margin: 0;
        overflow: auto;
    }
    .page-self-drive .hero-slider__btn { top: 18px; margin-top: 0; }
    .page-self-drive .hero-slider__btn--next { right: 352px; }
    .page-self-drive .hero-slider__btn--prev { right: 396px; }
}
.page-self-drive .nav__link.is-active { color: #F36A16; }

.page-self-drive .drive-dock {
    top: 50%;
    right: 46px;
    bottom: auto;
    left: auto;
    transform: translateY(-50%);
}
.page-self-drive .drive-card,
.page-self-drive .drive-road,
.page-self-drive .drive-car { display: none; }
.page-self-drive .drive-tyre {
    display: block;
    position: relative;
    z-index: 1;
    flex: none;
    width: 44px;
    height: 44px;
}
.page-self-drive .drive-tyre svg { display: block; width: 100%; height: 100%; }
.page-self-drive .drive-orb {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-start;
    width: 44px;
    height: 44px;
    padding: 0;
    overflow: visible;
    gap: 0;
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 8px 14px rgba(16, 36, 61, 0.28));
    animation: none;
    transition: width 0.48s cubic-bezier(0.22, 0.8, 0.28, 1), padding 0.48s cubic-bezier(0.22, 0.8, 0.28, 1), gap 0.48s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}
.page-self-drive .drive-orb::after {
    content: "";
    position: absolute;
    inset: 0;
    display: none;
    opacity: 0;
    background: linear-gradient(105deg, transparent 28%, rgba(255, 255, 255, 0.38) 48%, transparent 68%);
    transform: translateX(-130%);
    pointer-events: none;
}
.page-self-drive .drive-tyre svg { display: block; width: 100%; height: 100%; }
.page-self-drive .drive-orb__label {
    display: inline-block;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: max-width 0.48s cubic-bezier(0.22, 0.8, 0.28, 1), opacity 0.28s ease 0.12s;
}
.page-self-drive .drive-dock.is-armed .drive-orb {
    width: 176px;
    padding: 0 0 0 12px;
    gap: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #f36a16;
    filter: none;
    box-shadow: 0 14px 32px rgba(243, 106, 22, 0.42);
}
.page-self-drive .drive-dock.is-armed .drive-orb::after {
    display: block;
    opacity: 1;
    animation: sd-orb-sheen 0.7s ease forwards;
}
.page-self-drive .drive-dock.is-armed .drive-orb__label { max-width: 112px; opacity: 1; }
.page-self-drive .drive-dock:hover .drive-tyre,
.page-self-drive .drive-dock:focus-within .drive-tyre { animation: drive-spin 0.85s linear infinite; }
.page-self-drive .drive-dock.is-armed .drive-tyre,
.page-self-drive .drive-dock.is-armed:hover .drive-tyre { animation: drive-spin 0.5s linear 3; }

.sd-search-pop[hidden] { display: none; }
.sd-search-pop__backdrop {
    position: fixed;
    inset: 0;
    z-index: 74;
    background: rgba(16, 36, 61, 0.42);
}
.sd-search-pop__panel {
    position: fixed;
    z-index: 75;
    left: 50%;
    top: 50%;
    width: min(380px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 20px 18px 16px;
    border: 1px solid #e7eef6;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 22px 50px rgba(16, 36, 61, 0.22);
    transform: translate(-50%, -50%);
    animation: sd-pop-in 0.22s ease;
}
.sd-search-pop__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid #e6edf5;
    border-radius: 50%;
    background: #fff;
    color: #10243d;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.sd-search-pop__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #F36A16;
    font-size: 12px;
    font-weight: 800;
}
.sd-search-pop__kicker .icon { width: 14px; height: 14px; }
.sd-search-pop h2 {
    margin: 6px 36px 0 0;
    color: #10243d;
    font-size: 22px;
    letter-spacing: -0.03em;
}
.sd-search-pop__sub {
    margin: 6px 0 14px;
    color: #526174;
    font-size: 13px;
    line-height: 1.45;
}
.page-self-drive .sd-search-pop .sd-search {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.page-self-drive .float-wa {
    width: 56px;
    height: 56px;
    overflow: visible;
}
.page-self-drive .float-wa .icon--wa { width: 28px; height: 28px; flex: none; }
.page-self-drive .float-wa:hover,
.page-self-drive .float-wa:focus-visible {
    width: 56px;
    padding: 0;
    border-radius: 50%;
}
.page-self-drive .float-wa__label,
.page-self-drive .float-wa:hover .float-wa__label,
.page-self-drive .float-wa:focus-visible .float-wa__label { display: none; }

.page-self-drive .to-top {
    width: 52px;
    height: 72px;
    background: transparent;
    box-shadow: none;
}
.page-self-drive .to-top__car { width: 42px; height: 64px; }

.page-self-drive .hero { padding-bottom: 0; }
.sd-road { margin: 2px 0 8px; }
.sd-road__lane {
    position: relative;
    height: 58px;
    overflow: hidden;
    container-type: inline-size;
}
.sd-road__line {
    position: absolute;
    left: 8px;
    right: 8px;
    top: 50%;
    height: 0;
    border-top: 2px dashed #e1e8f0;
}
.sd-road__car {
    position: absolute;
    top: 50%;
    left: 0;
    width: 112px;
    height: 50px;
    margin-top: -25px;
    animation: sd-road-drive 7.5s linear infinite;
}
.sd-road__car img {
    display: block;
    width: 112px;
    height: auto;
}
@keyframes sd-road-drive {
    from { transform: translateX(-130px); }
    to { transform: translateX(calc(100cqi + 16px)); }
}

.sd-hero {
    position: relative;
    overflow: hidden;
    padding: 36px 0 28px;
    background:
        radial-gradient(ellipse 50% 80% at 88% 40%, rgba(243, 106, 22, 0.1), transparent 62%),
        linear-gradient(180deg, #f6f9fc 0%, #eef4fb 100%);
}
.sd-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(16, 36, 61, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16, 36, 61, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
    pointer-events: none;
}
.sd-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: center;
    min-width: 0;
}
.sd-hero__copy, .sd-hero__visual { min-width: 0; max-width: 100%; }
.sd-kicker {
    display: inline-flex;
    margin: 0 0 14px;
    color: #F36A16;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
.sd-hero h1 {
    margin: 0;
    color: #10243d;
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.05;
}
.sd-hero h1 span { color: #F36A16; }
.sd-hero__lead {
    max-width: 36rem;
    margin: 16px 0 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.65;
}
.sd-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.sd-hero__actions .btn { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.sd-hero__actions .btn:hover { transform: translateY(-1px); }
.sd-hero__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
}
.sd-hero__checks span { color: #20C765; margin-right: 6px; font-weight: 800; }

.sd-hero__visual { position: relative; }
.sd-hero__frame {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(16, 36, 61, 0.16);
}
.sd-hero__frame::after {
    content: "";
    position: absolute;
    inset: auto -18% -28% auto;
    width: 58%;
    height: 58%;
    background: radial-gradient(circle, rgba(243, 106, 22, 0.28), transparent 68%);
    pointer-events: none;
}
.sd-hero__photo {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: 72% 48%;
    background: #e8eef5;
}
.sd-hero__script {
    position: absolute;
    right: 18px;
    top: 18px;
    margin: 0;
    color: #fff;
    font-family: var(--script);
    font-size: clamp(22px, 3vw, 32px);
    text-shadow: 0 8px 18px rgba(7, 26, 45, 0.35);
    transform: rotate(-8deg);
}
.sd-hero__price {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 2;
    min-width: 148px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 24px rgba(16, 36, 61, 0.12);
    backdrop-filter: blur(12px);
    color: #10243d;
}
.sd-hero__price span, .sd-hero__price em, .sd-hero__price small { display: block; font-style: normal; }
.sd-hero__price span { color: #64748b; font-size: 11px; font-weight: 700; }
.sd-hero__price strong { font-size: 22px; font-weight: 800; letter-spacing: -0.03em; }
.sd-hero__price em { display: inline; color: #64748b; font-size: 12px; font-weight: 600; }
.sd-hero__price small { margin-top: 4px; color: #64748b; font-size: 11px; }

.sd-strip { padding: 0 0 8px; }
.sd-strip__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 0;
    padding: 8px 4px;
    list-style: none;
    border: 1px solid #e6edf5;
    border-radius: 20px;
    background: #fff;
}
.sd-strip__row li {
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 16px 18px;
}
.sd-strip__row li + li { border-left: 0; border-top: 1px solid #eef3f8; }
.sd-strip__ico {
    width: 40px;
    height: 40px;
    flex: none;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #fff4ec;
    color: #F36A16;
}
.sd-strip__ico .icon { width: 20px; height: 20px; }
.sd-strip__row strong, .sd-strip__row em { display: block; font-style: normal; }
.sd-strip__row strong { color: #10243d; font-size: 14px; }
.sd-strip__row em { color: #64748b; font-size: 12px; }

.sd-band { padding: 56px 0; }
.sd-fleet { padding-top: 20px; padding-bottom: 48px; }
.sd-fleet .sd-section-head { margin-bottom: 16px; }
.sd-band[hidden] { display: none; }
.sd-band--mist { background: #f5f9fd; }
.sd-band--white { background: #fff; }
.sd-how { padding-bottom: 28px; }
.sd-kyc-band { padding-top: 28px; padding-bottom: 48px; }
.sd-section-head { margin-bottom: 28px; }
.sd-section-head--center { text-align: center; }
.sd-section-head--split { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: end; }
.sd-section-head h2,
.sd-kyc h2 {
    color: #10243d;
    font-size: clamp(30px, 3.4vw, 40px);
    font-weight: 800;
    letter-spacing: -0.035em;
}
.sd-section-head p {
    max-width: 40rem;
    margin: 8px 0 0;
    color: #64748b;
}
.sd-section-head--center p { margin-right: auto; margin-left: auto; }
.sd-count {
    margin: 0;
    color: #F36A16;
    font-size: 14px;
    font-weight: 700;
}
.sd-count[hidden] { display: none; }

.sd-why-band { padding-top: 56px; padding-bottom: 56px; }
.sd-why {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
.sd-why article {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 34px;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border: 0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 36, 61, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sd-why article:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(16, 36, 61, 0.1);
}
.sd-why article.sd-why__wide {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    padding: 0;
}
.sd-why__media { min-height: 180px; }
.sd-why__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
}
.sd-why__body {
    position: relative;
    padding: 20px 20px 56px;
}
.sd-why__icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 14px;
    background: #fff1e8;
    color: #F36A16;
}
.sd-why__icon .icon { width: 22px; height: 22px; }
.sd-why__icon--fill {
    margin-bottom: 12px;
    background: #F36A16;
    color: #fff;
    box-shadow: 0 8px 16px rgba(243, 106, 22, 0.28);
}
.sd-why h3 {
    margin: 0;
    color: #10243d;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.sd-why__wide h3 { font-size: 26px; line-height: 1.15; }
.sd-why p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 13.5px;
    line-height: 1.5;
}
.sd-why__wide ul {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}
.sd-why__wide li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 13.5px;
    font-weight: 700;
}
.sd-why__check {
    display: grid;
    width: 16px;
    height: 16px;
    flex: none;
    place-items: center;
    border-radius: 50%;
    background: #F36A16;
    color: #fff;
}
.sd-why__check .icon { width: 11px; height: 11px; }
.sd-why__go {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #e7eef6;
    border-radius: 50%;
    background: #fff;
    color: #10243d;
    box-shadow: 0 4px 10px rgba(16, 36, 61, 0.05);
}
.sd-why__go .icon { width: 16px; height: 16px; }
.sd-why__wide .sd-why__go {
    position: absolute;
    right: 18px;
    bottom: 16px;
    color: #F36A16;
    border-color: #ffd8c2;
}
.sd-why article:hover .sd-why__go {
    border-color: #F36A16;
    color: #F36A16;
}

.sd-dates {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e6edf5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(16, 36, 61, 0.05);
}
.sd-dates__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.sd-dates__field {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: #10243d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.sd-dates__field span { display: inline-flex; align-items: center; gap: 6px; }
.sd-dates__field .icon { width: 14px; height: 14px; color: #F36A16; }
.sd-dates__field input {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #e6edf5;
    border-radius: 12px;
    background: #f8fbfe;
    color: #10243d;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
}
.sd-dates__field input:focus {
    outline: 2px solid rgba(243, 106, 22, 0.35);
    border-color: #F36A16;
    background: #fff;
}
.sd-dates__go { grid-column: 1 / -1; display: flex; align-items: end; }
.sd-dates__go .btn { width: 100%; min-height: 48px; }
.sd-dates__error {
    margin: 10px 0 0;
    padding: 9px 12px;
    border-radius: 12px;
    background: #fdecec;
    color: #b42318;
    font-size: 13px;
    font-weight: 700;
}
.sd-dates__error[hidden] { display: none; }
.sd-dates__hint { margin: 10px 0 0; color: #64748b; font-size: 13px; font-weight: 600; }
.sd-dates__hint.is-ok { color: #15803d; font-weight: 700; }
.sd-hidden-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    padding: 14px;
    border: 1px dashed #d8e3ef;
    border-radius: 16px;
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
}
.sd-hidden-note[hidden] { display: none; }
.sd-hidden-note .btn { min-height: 42px; }
.sd-card__quote {
    margin: 0;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f1faf4;
    color: #15803d;
    font-size: 13px;
    font-weight: 800;
}
.sd-filters {
    margin-bottom: 22px;
    padding: 10px;
    border: 1px solid #e6edf5;
    border-radius: 16px;
    background: #fff;
}
.sd-filters__toggle {
    display: none;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #e6edf5;
    border-radius: 12px;
    background: #fff;
    color: #10243d;
    font-weight: 700;
    cursor: pointer;
}
.sd-filters__panel {
    display: grid;
    gap: 10px;
}
.sd-filters label { display: grid; gap: 6px; color: #10243d; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.sd-filters input, .sd-filters select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #e6edf5;
    border-radius: 12px;
    background: #f8fbfe;
    color: #10243d;
}
.sd-filters input:focus, .sd-filters select:focus { outline: 2px solid rgba(243, 106, 22, 0.35); border-color: #F36A16; background: #fff; }
.sd-filters__actions { display: flex; align-items: end; }
.sd-filters__actions .btn { min-height: 44px; width: 100%; }

.sd-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.sd-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e6edf5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(16, 36, 61, 0.04);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.sd-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(16, 36, 61, 0.08); }
.sd-card.is-selected { border-color: #ffc49a; }
.sd-card__media { position: relative; height: 230px; background: #f4f7fb; overflow: hidden; }
.sd-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.28s ease; }
.sd-card:hover .sd-card__media img { transform: scale(1.02); }
.sd-card__status, .sd-card__popular {
    position: absolute;
    top: 12px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.sd-card__status { left: 12px; background: #e9f9ef; color: #15803d; }
.sd-card__status.is-off { background: #fff1e8; color: #c2410c; }
.sd-card__status.is-wait { background: #eef4fb; color: #475569; }
.sd-card__status.is-free { background: #16b86a; color: #fff; }
.sd-card__popular { right: 12px; background: #F36A16; color: #fff; }
.sd-card__body { display: grid; gap: 8px; padding: 16px; }
.sd-card h3 { color: #10243d; font-size: 18px; }
.sd-card__type, .sd-card__pickup { margin: 0; color: #64748b; font-size: 13px; }
.sd-card__specs, .sd-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.sd-card__specs li, .sd-specs li {
    padding: 4px 8px;
    border-radius: 999px;
    background: #f4f7fb;
    color: #10243d;
    font-size: 12px;
    font-weight: 700;
}
.sd-card__price { display: grid; gap: 2px; }
.sd-card__price strong { color: #10243d; font-size: 22px; }
.sd-card__price strong span, .sd-card__price em { color: #64748b; font-size: 12px; font-style: normal; font-weight: 600; }
.sd-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sd-card__actions button { min-height: 42px; border-radius: 12px; font-weight: 800; cursor: pointer; transition: transform 0.18s ease; }
.sd-card__actions button:hover { transform: translateY(-1px); }
.sd-card__details { border: 1px solid #e6edf5; background: #fff; color: #10243d; }
.sd-card__book { border: 0; background: #F36A16; color: #fff; }
.sd-card__actions button:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.sd-card__actions button:focus-visible,
.sd-filters button:focus-visible,
.sd-faq summary:focus-visible { outline: 2px solid #F36A16; outline-offset: 2px; }

.sd-state {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
    justify-items: center;
    margin: 0;
    padding: 36px 20px;
    border: 1px dashed #d7e3ef;
    border-radius: 20px;
    background: #fff;
    color: #64748b;
    text-align: center;
}
.sd-state strong { color: #10243d; font-size: 18px; }
.sd-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }

.sd-studio {
    display: grid;
    gap: 18px;
    padding: 16px;
    border: 1px solid #e6edf5;
    border-radius: 22px;
    background: #fff;
}
.sd-studio__status { margin: 0; color: #64748b; }
.sd-studio__status[hidden], .sd-studio [hidden] { display: none; }
.sd-studio__head { display: flex; justify-content: space-between; gap: 12px; align-items: start; margin-top: 12px; }
.sd-studio__head h2 { color: #10243d; font-size: 28px; letter-spacing: -0.03em; }
.sd-studio__head p { margin: 4px 0 0; color: #64748b; }
.sd-studio__head .sd-card__status { position: static; }
.sd-studio .sd-gallery__stage { height: 240px; }
.sd-gallery__count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(16, 36, 61, 0.72);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.sd-gallery__count:empty { display: none; }
.sd-studio h3 { margin: 14px 0 8px; color: #10243d; font-size: 16px; }
.sd-studio .sd-features { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.sd-studio .sd-features li { position: relative; padding-left: 18px; color: #10243d; font-size: 14px; }
.sd-studio .sd-features li::before { content: "✓"; position: absolute; left: 0; color: #20C765; font-weight: 800; }
.sd-prices { display: grid; gap: 8px; margin-top: 8px; }
.sd-price-row { display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid #e6edf5; color: #10243d; font-size: 14px; }
.sd-price-row strong { color: #F36A16; }
.sd-studio__book h2 { margin-bottom: 8px; color: #10243d; font-size: 22px; }
.sd-studio fieldset { margin: 0; padding: 0; border: 0; }
.sd-studio legend { margin-bottom: 8px; color: #10243d; font-size: 14px; font-weight: 800; }
.sd-studio .sd-vehicle { grid-template-columns: 72px minmax(0, 1fr); }
.sd-studio .drive-submit:disabled { opacity: 0.7; cursor: not-allowed; }

.sd-steps {
    display: grid;
    gap: 20px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}
.sd-steps li {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas:
        "rail title"
        "icon copy";
    column-gap: 14px;
    row-gap: 8px;
    align-items: start;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
}
.sd-steps__rail {
    grid-area: rail;
    position: relative;
    width: 42px;
    height: 42px;
}
.sd-steps li::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 42px;
    bottom: -20px;
    border-left: 2px dashed #f7b48a;
}
.sd-steps li:last-child::before { display: none; }
.sd-steps__num {
    position: relative;
    z-index: 1;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #F36A16;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 16px rgba(243, 106, 22, 0.28);
}
.sd-steps__icon {
    grid-area: icon;
    display: grid;
    width: 52px;
    height: 52px;
    margin: 0;
    place-items: center;
    border-radius: 50%;
    background: #eaf4fc;
    color: #1479D1;
    box-shadow:
        0 0 0 8px rgba(20, 121, 209, 0.06),
        0 10px 20px rgba(16, 36, 61, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sd-steps__icon .icon { width: 24px; height: 24px; }
.sd-steps__icon--ok {
    background: #16B86A;
    color: #fff;
    box-shadow:
        0 0 0 8px rgba(22, 184, 106, 0.12),
        0 10px 20px rgba(22, 184, 106, 0.28);
}
.sd-steps strong {
    grid-area: title;
    align-self: center;
    display: block;
    color: #10243d;
    font-size: 16px;
}
.sd-steps p {
    grid-area: copy;
    margin: 0;
    color: #64748b;
    font-size: 13.5px;
    line-height: 1.5;
}

.sd-kyc {
    display: grid;
    gap: 28px;
    align-items: center;
}
.sd-kyc__lead h2 {
    color: #10243d;
}
.sd-kyc__lead p,
.sd-kyc__aside p {
    margin: 14px 0 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.6;
}
.sd-kyc__rule {
    display: inline-block;
    width: 28px;
    height: 3px;
    margin-right: 10px;
    vertical-align: middle;
    border-radius: 999px;
    background: #F36A16;
}
.sd-kyc__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px 18px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}
.sd-kyc__list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #10243d;
    font-size: 14px;
    font-weight: 700;
}
.sd-kyc__tick {
    flex: none;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    background: #16B86A;
    color: #fff;
    box-shadow: 0 6px 12px rgba(22, 184, 106, 0.22);
}
.sd-kyc__tick .icon { width: 15px; height: 15px; }
.sd-kyc__art {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 220px;
}
.sd-id-stack {
    position: relative;
    width: min(280px, 100%);
    height: 188px;
}
.sd-id-stack::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 46%;
    width: 210px;
    height: 170px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(243, 106, 22, 0.3), transparent 70%);
}
.sd-id {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 36px;
    bottom: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 14px 14px 12px;
    border: 1px solid #e7eef6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(16, 36, 61, 0.1);
}
.sd-id--back {
    z-index: 1;
    left: 46px;
    right: 4px;
    bottom: auto;
    top: 0;
    display: block;
    padding: 14px 16px 36px;
    background: linear-gradient(180deg, #f4f8fd, #fff);
    transform: rotate(7deg);
    box-shadow: 0 8px 18px rgba(16, 36, 61, 0.06);
}
.sd-id--back strong { font-size: 22px; }
.sd-id__photo {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 14px;
    background: #e7f1fb;
    color: #1479D1;
}
.sd-id__photo .icon { width: 28px; height: 28px; }
.sd-id__meta p { margin: 0; color: #1479D1; font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.sd-id__meta strong { display: block; margin-top: 2px; color: #10243d; font-size: 26px; line-height: 1; letter-spacing: 0.06em; }
.sd-id__meta em { display: block; margin-top: 4px; color: #64748b; font-size: 12px; font-style: normal; font-weight: 700; letter-spacing: 0.04em; }
.sd-id__shield {
    position: absolute;
    z-index: 3;
    right: -2px;
    bottom: 10px;
    width: 88px;
    filter: drop-shadow(0 12px 16px rgba(22, 184, 106, 0.38));
    animation: sd-shield-float 3.2s ease-in-out infinite;
}
.sd-id__shield svg { display: block; width: 100%; height: auto; }
.sd-kyc__aside {
    padding: 22px 22px 20px;
    border: 1px solid #e6edf5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(16, 36, 61, 0.06);
}
.sd-kyc__mark {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    place-items: center;
    border-radius: 50%;
    background: #fff1e8;
    color: #F36A16;
    box-shadow: 0 6px 14px rgba(243, 106, 22, 0.16);
}
.sd-kyc__mark .icon { width: 20px; height: 20px; }
.sd-kyc__aside h3 { margin: 0; color: #10243d; font-size: 20px; }
.sd-kyc__aside .btn { width: 100%; margin-top: 18px; }
@keyframes sd-shield-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.sd-faq { display: grid; gap: 10px; }
.sd-faq details { border: 1px solid #e6edf5; border-radius: 14px; background: #fff; }
.sd-faq summary { padding: 14px 16px; color: #10243d; font-weight: 800; cursor: pointer; }
.sd-faq p { margin: 0; padding: 0 16px 14px; color: #64748b; }

.sd-ready {
    position: relative;
    padding: 72px 0;
    overflow: hidden;
    background: #10243d center / cover no-repeat;
    background-image: linear-gradient(90deg, rgba(7, 26, 45, 0.94) 0%, rgba(16, 36, 61, 0.78) 52%, rgba(16, 36, 61, 0.42) 100%), var(--sd-ready);
    color: #fff;
}
.sd-ready__inner { position: relative; z-index: 1; }
.sd-ready h2 { color: #fff; font-size: clamp(30px, 4vw, 42px); letter-spacing: -0.03em; }
.sd-ready p { max-width: 34rem; margin-top: 10px; color: #d7e2ee; }

.drive-modal fieldset { margin: 0; padding: 0; border: 0; }
.drive-modal legend { margin: 0 0 8px; color: #10243d; font-size: 14px; font-weight: 800; }
.sd-check { width: 100%; }
.sd-card--skeleton {
    min-height: 300px;
    background: linear-gradient(90deg, #f3f7fb 0%, #fff 50%, #f3f7fb 100%);
    background-size: 200% 100%;
    animation: sd-shine 1.2s ease infinite;
}
@keyframes sd-shine { from { background-position: 100% 0; } to { background-position: -100% 0; } }
.sd-unavailable {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #ffd7c2;
    border-radius: 14px;
    background: #fff8f4;
    color: #10243d;
}
.sd-unavailable[hidden],
[data-sd-step][hidden],
[data-sd-conflict][hidden] { display: none; }
.sd-unavailable p { margin: 0; color: #64748b; }
.sd-unavailable__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.drive-modal__panel.is-wide { width: min(920px, calc(100vw - 32px)); }
.drive-modal .sd-gallery__stage { height: min(360px, 46vh); }
.drive-modal .sd-features { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.drive-modal .sd-features li { position: relative; padding-left: 18px; color: #10243d; font-size: 14px; }
.drive-modal .sd-features li::before { content: "✓"; position: absolute; left: 0; color: #20C765; font-weight: 800; }
.sd-bookbar {
    position: sticky;
    bottom: 0;
    margin-top: 14px;
    padding-top: 12px;
    background: linear-gradient(rgba(255, 255, 255, 0), #fff 12px);
}
.sd-bookbar .btn { width: 100%; }
.drive-modal__sub .btn { margin-top: 10px; }

@media (min-width: 768px) {
    .sd-hero { min-height: 0; padding: 48px 0 36px; }
    .sd-hero__photo { height: 360px; }
    .sd-grid { grid-template-columns: 1fr 1fr; }
    .sd-why { grid-template-columns: 1fr 1fr; }
    .sd-why article.sd-why__wide {
        grid-column: 1 / -1;
        grid-template-columns: 1.05fr 1fr;
    }
    .sd-why__media img { min-height: 240px; }
    .sd-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
    .sd-steps li {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "rail"
            "icon"
            "title"
            "copy";
        justify-items: center;
        text-align: center;
    }
    .sd-steps li::before { display: none; }
    .sd-steps__rail {
        width: 100%;
        height: 42px;
        display: flex;
        justify-content: center;
    }
    .sd-steps__rail::before {
        content: "";
        position: absolute;
        left: calc(50% + 24px);
        right: calc(-50% + 24px);
        top: 50%;
        bottom: auto;
        height: 0;
        border-left: 0;
        border-top: 2px dashed #f7b48a;
    }
    .sd-steps li:last-child .sd-steps__rail::before { display: none; }
    .sd-steps__icon {
        width: 72px;
        height: 72px;
        margin: 18px 0 10px;
    }
    .sd-steps__icon .icon { width: 30px; height: 30px; }
    .sd-steps li:hover .sd-steps__icon {
        transform: translateY(-4px);
        box-shadow:
            0 0 0 10px rgba(20, 121, 209, 0.08),
            0 14px 24px rgba(16, 36, 61, 0.1);
    }
    .sd-steps li:hover .sd-steps__icon--ok {
        box-shadow:
            0 0 0 10px rgba(22, 184, 106, 0.14),
            0 14px 24px rgba(22, 184, 106, 0.3);
    }
    .sd-steps strong { font-size: 15px; }
    .sd-kyc__list { grid-template-columns: 1fr 1fr; }
    .sd-faq { grid-template-columns: 1fr 1fr; align-items: start; }
    .drive-modal .sd-features { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
    .sd-hero { min-height: 620px; display: grid; align-items: center; padding: 28px 0 20px; }
    .sd-hero__grid { grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr); gap: 36px; }
    .sd-hero__photo { height: 420px; }
    .sd-strip__row { grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 6px 8px; }
    .sd-strip__row li { padding: 14px 10px; }
    .sd-strip__row li + li { border-top: 0; border-left: 1px solid #eef3f8; }
    .sd-filters__panel { grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)) auto; align-items: end; }
    .sd-filters__actions .btn { width: auto; }
    .sd-dates__grid { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; }
    .sd-dates__go { grid-column: auto; }
    .sd-dates__go .btn { width: auto; white-space: nowrap; }
    .sd-kyc { grid-template-columns: minmax(0, 1.15fr) minmax(200px, 0.72fr) minmax(210px, 0.82fr); gap: 24px; align-items: center; }
    .sd-why {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "wide well price"
            "wide flex local";
        gap: 16px;
        align-items: stretch;
    }
    .sd-why article.sd-why__wide {
        grid-area: wide;
        grid-column: auto;
        grid-template-columns: 0.95fr 1.05fr;
    }
    .sd-why__body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 22px 22px 58px 20px;
    }
    .sd-why article:nth-child(2) { grid-area: well; }
    .sd-why article:nth-child(3) { grid-area: price; }
    .sd-why article:nth-child(4) { grid-area: flex; }
    .sd-why article:nth-child(5) { grid-area: local; }
    .sd-band { padding: 64px 0; }
    .sd-fleet { padding-top: 16px; padding-bottom: 56px; }
    .sd-how { padding-bottom: 24px; }
    .sd-kyc-band { padding-top: 24px; padding-bottom: 56px; }
}

@media (min-width: 1280px) {
    .sd-hero__photo { height: 460px; }
    .sd-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .page-self-drive .drive-dock {
        top: 50%;
        right: 36px;
        bottom: auto;
        left: auto;
        transform: translateY(-50%);
    }
    .sd-search-pop__panel {
        width: min(380px, calc(100vw - 24px));
        max-height: calc(100vh - 24px);
    }
    .sd-hero { padding-top: 20px; }
    .sd-hero h1 { font-size: clamp(34px, 10vw, 44px); }
    .sd-hero__lead { max-width: 100%; }
    .sd-hero__actions { flex-direction: column; }
    .sd-hero__actions .btn,
    .sd-kyc .btn { width: 100%; min-height: 48px; }
    .sd-hero__photo { height: 240px; }
    .sd-filters__toggle { display: inline-flex; }
    .sd-filters__panel { display: none; margin-top: 10px; }
    .sd-filters.is-open .sd-filters__panel { display: grid; }
    .sd-filters__actions, .sd-filters__actions .btn, .sd-unavailable__actions, .sd-unavailable__actions .btn { width: 100%; }
    .sd-dates { padding: 12px; }
    .sd-dates__grid { gap: 8px; }
    .sd-dates__field { font-size: 10px; }
    .sd-dates__field input { padding: 0 8px; font-size: 13px; }
    .sd-hidden-note, .sd-hidden-note .btn { width: 100%; }
    .sd-band { padding: 52px 0; }
    .drive-modal { padding: 0; align-items: stretch; }
    .drive-modal__panel,
    .drive-modal__panel.is-wide,
    .drive-modal__panel.is-confirm {
        width: 100%;
        max-width: none;
        height: 100%;
        max-height: 100vh;
        border-radius: 0;
    }
}

@keyframes sd-pop-in {
    from { opacity: 0; transform: translate(-50%, -46%); }
    to { opacity: 1; transform: translate(-50%, -50%); }
}

@keyframes sd-orb-pulse {
    0%, 100% { box-shadow: 0 10px 24px rgba(243, 106, 22, 0.32); }
    50% { box-shadow: 0 14px 30px rgba(243, 106, 22, 0.55); }
}

@keyframes sd-orb-sheen {
    from { transform: translateX(-130%); }
    to { transform: translateX(130%); }
}

@media (prefers-reduced-motion: reduce) {
    .sd-card--skeleton,
    .sd-card,
    .sd-why article,
    .sd-card__media img,
    .page-self-drive .drive-orb,
    .page-self-drive .drive-car,
    .page-self-drive .drive-tyre,
    .page-self-drive .drive-car__wheel,
    .sd-search-pop__panel,
    .sd-id__shield,
    .sd-road__car { animation: none; transition: none; }
    .sd-hero__actions .btn,
    .sd-card:hover,
    .sd-why article:hover,
    .sd-steps li:hover .sd-steps__icon { transform: none; }
}
