:root {
    --site-ink: #172033;
    --site-muted: #697386;
    --site-line: #e2e7ee;
    --site-bg: #f6f4f0;
    --site-surface: #ffffff;
    --site-accent: #ef6c35;
    --site-accent-dark: #d55320;
    --site-yellow: #f5c344;
}

html { scroll-behavior: smooth; }
body.public-site { margin: 0; overflow-x: clip; background: var(--site-bg); color: var(--site-ink); }
.public-site .wrapper { min-height: 100vh; background: var(--site-bg); }
.public-site .container { width: min(100% - 40px, 1360px); max-width: 1360px; margin-inline: auto; padding-inline: 0; }
.public-site h1, .public-site h2, .public-site h3, .public-site h4 { color: var(--site-ink); letter-spacing: -.025em; }

.public-site .header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); box-shadow: 0 1px 0 var(--site-line); backdrop-filter: blur(14px); }
.public-site .header__main { background: transparent; }
.public-site .header__main-inner { min-height: 78px; gap: 18px; }
.public-site .header__logo { flex: 0 0 auto; width: 165px; }
.public-site .header__logo img { width: 178px !important; }
.public-site .header__search { max-width: 590px; margin-inline: auto; }
.public-site .header-search__inner { border: 1px solid #d9dfe8; border-radius: 12px; background: #f8fafc; transition: border-color .18s, box-shadow .18s; }
.public-site .header-search__inner:focus-within { border-color: var(--site-accent); box-shadow: 0 0 0 3px rgba(239,108,53,.12); }
.public-site .header-search__input { min-height: 46px; background: transparent; }
.public-site .header__lang { min-width: 76px; margin: 0; }
.public-site .header__lang select { min-height: 42px; border-radius: 10px; }
.public-site .header-user__signin,
.public-site .header-cart__link { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; border: 1px solid var(--site-line); border-radius: 10px; background: #fff; }
.public-site summary.header-user__signin { gap: 9px !important; padding: 5px 12px 5px 8px; line-height: 1; }
.public-site summary.header-user__signin svg { flex: 0 0 30px !important; width: 30px; height: 30px; }

.public-site .header__menu { border-top: 1px solid #edf0f4; background: #fff; }
.public-site .header-menu__inner { display: flex; align-items: center; gap: 32px; min-height: 48px; }
.public-site .header-menu__head { padding: 0; }
.public-site .header-menu__link { color: #344054; font-size: 13px; font-weight: 800; text-decoration: none; transition: color .18s; }
.public-site .header-menu__link:hover { color: var(--site-accent); }

.public-site input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.public-site select,
.public-site textarea {
    min-height: 44px;
    border: 1px solid #d5dbe5;
    border-radius: 10px;
    background: #fff;
    color: var(--site-ink);
    box-shadow: none;
    outline: 0;
    transition: border-color .18s, box-shadow .18s;
}
.public-site input:focus, .public-site select:focus, .public-site textarea:focus { border-color: var(--site-accent) !important; box-shadow: 0 0 0 3px rgba(239,108,53,.12) !important; }
.public-site button, .public-site .site-button { font-family: inherit; }
.public-site .site-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 17px;
    border: 1px solid transparent; border-radius: 10px; background: var(--site-accent); color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer;
}
.public-site .site-button:hover { background: var(--site-accent-dark); color: #fff; }
.public-site .site-button--secondary { border-color: #d5dbe5; background: #fff; color: #344054; }
.public-site .site-button--secondary:hover { border-color: #b9c2cf; background: #f8fafc; color: var(--site-ink); }

.public-site .footer { margin-top: 64px; background: #151e2f; color: #d4dae4; }
.public-site .footer__inner { padding-top: 50px; }
.public-site .footer__logo { width: 190px; }
.public-site .footer__logo img { width: 190px !important; }
.public-site .footer__title { color: #fff; font-size: 14px; font-weight: 800; }
.public-site .footer-nav__link, .public-site .footer__info { color: #aeb7c6; }
.public-site .footer-nav__link:hover { color: #fff; }

.site-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; color: var(--site-muted); font-size: 12px; }
.site-breadcrumbs a { color: var(--site-muted); text-decoration: none; }
.site-breadcrumbs a:hover { color: var(--site-accent); }

.home-hero { position: relative; z-index: 2; overflow: visible; padding: 54px 0 28px !important; background: linear-gradient(135deg, #172033 0%, #263650 70%, #2e4665 100%); }
.home-hero::after { content: ''; position: absolute; top: -210px; right: -120px; width: 480px; height: 480px; border: 75px solid rgba(245,195,68,.12); border-radius: 50%; pointer-events: none; }
.home-hero__heading { position: relative; z-index: 1; max-width: 760px; margin: 0 0 26px !important; color: #fff !important; font-size: clamp(34px, 5vw, 58px) !important; line-height: 1.02; }
.home-hero__lead { position: relative; z-index: 1; margin: 0 0 28px !important; color: #c7d0de !important; font-size: 16px; }
.home-search-form { position: relative; z-index: 2; padding: 16px !important; border: 0 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 18px 45px rgba(5,12,24,.28) !important; }
.home-search-form__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) minmax(220px,1.3fr) 130px !important; gap: 10px !important; }
.home-search-form label { font-size: 11px !important; letter-spacing: .035em; text-transform: uppercase; }
.home-search-form input, .home-search-form .home-combobox__value { min-height: 48px !important; border-radius: 10px !important; }
.home-search-form button[type="submit"] { min-height: 48px !important; border-radius: 10px !important; background: var(--site-accent) !important; }

.home-vin { position: relative; z-index: 1; padding: 22px 0 42px; background: linear-gradient(180deg, #eef1f5 0%, var(--site-bg) 100%); }
.home-vin__card { display: grid; grid-template-columns: minmax(240px,.75fr) minmax(0,1.25fr); gap: 28px; align-items: center; padding: 25px 28px; border: 1px solid var(--site-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(23,32,51,.07); }
.home-vin__title { margin: 0; font-size: 23px; }
.home-vin__form { display: flex; gap: 9px; }
.home-vin__form input { flex: 1; min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-vin__result { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: -8px; }
.home-vin__result[hidden] { display: none; }
.home-vin__result-item { padding: 11px 12px; border-radius: 10px; background: #f5f7fa; }
.home-vin__result-item span { display: block; color: var(--site-muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.home-vin__result-item strong { display: block; margin-top: 3px; overflow-wrap:anywhere; font-size: 13px; line-height:1.4; }
.home-vin__status { grid-column: 1/-1; min-height: 20px; font-size: 12px; font-weight: 700; }
.home-vin__status:empty { display: none; }

.public-site .swiper { overflow: hidden; }

.home-section { padding: 34px 0 !important; }
.home-section:nth-of-type(even) { background: rgba(255,255,255,.35); }
.home-section article, .home-section .swiper-slide > a, .home-section .swiper-slide > article { border-color: var(--site-line) !important; border-radius: 15px !important; box-shadow: 0 7px 22px rgba(23,32,51,.055); transition: transform .18s, box-shadow .18s; }
.home-section article:hover, .home-section .swiper-slide > a:hover, .home-section .swiper-slide > article:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(23,32,51,.1); }

.home-makes__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.home-makes__heading h2 { margin: 0; font-size: 24px; font-weight: 800; }
.home-makes__heading a { color: #475467; font-size: 13px; font-weight: 700; text-decoration: none; }
.home-makes__heading a:hover { color: var(--site-accent); }
.home-makes__list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 30px; border-top: 1px solid #cfd5de; }
.home-makes__list--fill { grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
.home-makes__link { display: flex; align-items: center; justify-content: space-between; min-height: 51px; border-bottom: 1px solid #dfe3e9; color: #222b3b; font-size: 14px; font-weight: 750; text-decoration: none; }
.home-makes__arrow { color: #98a2b3; font-size: 21px; font-weight: 400; transition: transform .18s,color .18s; }
.home-makes__meta { display: inline-flex; align-items: center; gap: 12px; color: #667085; font-size: 12px; font-weight: 700; }
.home-makes__link:hover { color: var(--site-accent); }
.home-makes__link:hover .home-makes__arrow { color: var(--site-accent); transform: translateX(3px); }

.home-ai-cta { padding: 10px 0 38px; }
.home-ai-cta__panel { position: relative; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 48px; overflow: hidden; padding: 42px 46px; border-radius: 20px; background: #182237; color: #fff; box-shadow: 0 18px 46px rgba(23,32,51,.16); }
.home-ai-cta__panel::after { content: ''; position: absolute; right: -100px; bottom: -135px; width: 330px; height: 330px; border: 58px solid rgba(245,195,68,.1); border-radius: 50%; pointer-events: none; }
.home-ai-cta__content,.home-ai-cta__features { position: relative; z-index: 1; }
.home-ai-cta__eyebrow { display: block; margin-bottom: 12px; color: #f5c344; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.home-ai-cta h2 { max-width: 720px; margin: 0 0 15px; color: #fff; font-size: clamp(28px,3.2vw,44px); line-height: 1.08; }
.home-ai-cta p { max-width: 750px; margin: 0 0 25px; color: #cbd3df; font-size: 15px; line-height: 1.65; }
.home-ai-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 48px; padding: 0 20px; border-radius: 10px; background: var(--site-accent); color: #fff; font-size: 13px; font-weight: 850; text-decoration: none; transition: background .18s,transform .18s; }
.home-ai-cta__button:hover { background: #ff7b42; color: #fff; transform: translateY(-1px); }
.home-ai-cta__button span { font-size: 20px; font-weight: 400; }
.home-ai-cta__features { display: flex; flex-direction: column; justify-content: center; }
.home-ai-cta__feature { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 12px; min-height: 66px; border-bottom: 1px solid rgba(255,255,255,.14); }
.home-ai-cta__feature:last-child { border-bottom: 0; }
.home-ai-cta__feature span { color: #f5c344; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 11px; font-weight: 800; }
.home-ai-cta__feature strong { color: #fff; font-size: 14px; line-height: 1.35; }

.catalog-marketplace-layout { display: grid; grid-template-columns: 310px minmax(0,1fr); gap: 26px; align-items: start; }
.catalog-filter-mobile-toggle { display: none; }
.catalog-filter-sidebar { position: sticky; top: 142px; min-width: 0; max-height: calc(100vh - 158px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.catalog-filter-panel { margin: 0 !important; padding: 18px !important; border: 1px solid var(--site-line) !important; border-radius: 14px !important; background: #fff; box-shadow: 0 8px 24px rgba(23,32,51,.055); }
.catalog-filter-panel__title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding-bottom: 13px; border-bottom: 1px solid #edf0f4; }
.catalog-filter-panel__title strong { font-size: 16px; }
.catalog-filter-primary { grid-template-columns: 1fr !important; gap: 12px !important; }
.catalog-secondary-filters-row { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.catalog-secondary-filters-row > :last-child { grid-column: 1/-1; }
.catalog-filter-panel label { display: block; margin-bottom: 5px; color: #4a5568; font-size: 11px; font-weight: 800; }
.catalog-filter-panel label.catalog-custom-multiselect__option { display: flex; align-items: center; gap: 9px; margin: 0; padding: 8px 5px; }
.catalog-filter-panel .catalog-custom-multiselect__option input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; }
.catalog-filter-panel .catalog-custom-multiselect__option span { min-width: 0; font-size: 12px; }
.catalog-filter-panel select, .catalog-filter-panel input { width: 100%; }
.catalog-filter-panel .catalog-category-node__row { min-height: 38px; padding: 6px 8px; border-radius: 9px; }
.catalog-filter-panel .catalog-category-node__title { font-size: 12px; }
.catalog-filter-panel .catalog-additional-filters-grid { grid-template-columns: 1fr; }
.catalog-results { min-width: 0; }
.catalog-results__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding: 12px 15px; border: 1px solid var(--site-line); border-radius: 12px; background: #fff; }
.catalog-results .catalog-parts-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.catalog-part-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--site-line) !important; border-radius: 14px !important; background: #fff; box-shadow: 0 6px 20px rgba(23,32,51,.055); transition: transform .18s,box-shadow .18s; }
.catalog-part-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(23,32,51,.11); }
.catalog-part-card__link { display: flex !important; flex: 1; flex-direction: column; }
.catalog-part-card__image { height: 205px !important; overflow: hidden; background: #f2f4f7 !important; }
.catalog-part-card__image img { width: 100%; height: 100%; max-width: none !important; max-height: none !important; object-fit: cover !important; transition: transform .25s; }
.catalog-part-card:hover .catalog-part-card__image img { transform: scale(1.025); }
.catalog-part-card__body { flex: 1; padding: 15px !important; }
.catalog-part-card__price { margin-bottom: 9px; color: var(--site-ink); font-size: 20px; font-weight: 900; }
.catalog-part-card__price--unavailable { color: var(--site-muted); font-size: 13px; font-weight: 800; }
.catalog-part-card__title { display: -webkit-box; overflow: hidden; margin-bottom: 7px !important; color: #273247; font-size: 14px; font-weight: 800 !important; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.catalog-part-card__meta { color: var(--site-muted) !important; font-size: 12px !important; }
.catalog-part-card__action { padding: 0 15px 15px !important; }
.catalog-part-card__action button { width: 100%; min-height: 40px !important; border: 0 !important; border-radius: 9px !important; background: var(--site-ink) !important; color: #fff !important; font-weight: 800; }
.catalog-part-card__action button:hover { background: var(--site-accent) !important; }
.catalog-part-card__details { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 40px; border: 1px solid #cbd2dc; border-radius: 9px; background: #fff; color: var(--site-ink); font-size: 13px; font-weight: 800; text-decoration: none; transition: border-color .18s,color .18s,background .18s; }
.catalog-part-card__details:hover { border-color: var(--site-ink); background: #f7f8fa; color: var(--site-ink); }

@media (max-width: 1100px) {
    .home-search-form__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .home-search-form__grid > :last-child { grid-column: 1/-1; }
    .catalog-marketplace-layout { grid-template-columns: 270px minmax(0,1fr); gap: 18px; }
    .catalog-results .catalog-parts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .public-site .container { width: min(100% - 28px, 1360px); }
    .public-site .header { position: relative; }
    .public-site .header__main-inner { min-height: 68px; gap: 10px; }
    .public-site .header__logo { width: 96px; margin-right: 4px; }
    .public-site .header__logo img { width: 142px !important; }
    .public-site .header__lang { min-width: 64px; }
    .public-site .header-menu__inner { align-items: stretch; flex-direction: column; gap: 0; }
    .public-site .header-menu:not(._active) .header-menu__close { display: none; }
    .home-hero { padding-top: 38px !important; }
    .home-search-form__grid { grid-template-columns: 1fr !important; }
    .home-search-form__grid > :last-child { grid-column: auto; }
    .home-vin__card { grid-template-columns: 1fr; gap: 16px; }
    .home-vin__result { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 0; }
    .home-makes__list { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
    .home-ai-cta__panel { grid-template-columns: 1fr; gap: 24px; padding: 34px; }
    .home-ai-cta__features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-ai-cta__feature { grid-template-columns: 1fr; align-content: start; gap: 6px; min-height: 0; padding: 16px 14px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 0; }
    .home-ai-cta__feature:first-child { padding-left: 0; }
    .home-ai-cta__feature:last-child { padding-right: 0; border-right: 0; }
    .catalog-marketplace-layout { grid-template-columns: 1fr; }
    .catalog-filter-mobile-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 0 17px; border: 1px solid var(--site-line); border-radius: 12px; background: #fff; color: var(--site-ink); font-size: 14px; font-weight: 800; }
    .catalog-filter-sidebar { display: none; position: static; max-height: none; overflow: visible; }
    .catalog-filter-sidebar.is-open { display: block; }
}

@media (max-width: 560px) {
    .public-site .container { width: min(100% - 22px, 1360px); }
    .home-hero__heading { font-size: 34px !important; }
    .home-search-form { padding: 12px !important; }
    .home-vin__card { padding: 18px; }
    .home-vin__form { align-items: stretch; flex-direction: column; }
    .home-vin__result { grid-template-columns: 1fr; }
    .home-makes__heading { align-items: center; }
    .home-makes__heading h2 { font-size: 22px; }
    .home-ai-cta { padding-bottom: 28px; }
    .home-ai-cta__panel { gap: 18px; padding: 25px 21px; border-radius: 16px; }
    .home-ai-cta h2 { font-size: 28px; }
    .home-ai-cta p { font-size: 14px; line-height: 1.55; }
    .home-ai-cta__button { width: 100%; }
    .home-ai-cta__features { display: flex; }
    .home-ai-cta__feature { grid-template-columns: 32px minmax(0,1fr); padding: 12px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
    .catalog-results .catalog-parts-grid { grid-template-columns: 1fr; }
    .catalog-part-card__image { height: 230px !important; }
}

/* Shared public detail pages */
.public-detail { padding: 28px 0 64px; }
.public-detail__breadcrumbs { display:flex; align-items:center; gap:7px; min-width:0; margin-bottom:18px; color:#718096; font-size:13px; }
.public-detail__breadcrumbs a { color:#526071; }
.public-detail__breadcrumbs span:last-child { overflow:hidden; color:var(--site-ink); text-overflow:ellipsis; white-space:nowrap; }
.public-detail__hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr); gap:24px; align-items:start; margin-bottom:28px; }
.public-detail__card { min-width:0; border:1px solid var(--site-line); border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(23,32,51,.07); }
.public-detail__summary { position:sticky; top:116px; padding:25px; }
.public-detail__eyebrow { margin-bottom:10px; color:#788396; font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.public-detail__title { margin:0; color:var(--site-ink); font-size:clamp(25px,3vw,38px); font-weight:900; line-height:1.12; letter-spacing:-.025em; }
.public-detail__lead { margin-top:12px; color:#5d697b; font-size:15px; line-height:1.65; }
.public-detail__price { display:flex; align-items:baseline; gap:10px; margin:22px 0 15px; color:var(--site-ink); font-size:32px; font-weight:900; }
.public-detail__price-old { color:#929baa; font-size:16px; font-weight:600; text-decoration:line-through; }
.public-detail__price-sale { color:#d5452f; }
.public-detail__status { display:inline-flex; align-items:center; gap:7px; margin-bottom:18px; padding:7px 10px; border-radius:999px; background:#e9f7ef; color:#157347; font-size:12px; font-weight:800; }
.public-detail__status::before { width:7px; height:7px; border-radius:50%; background:#25a65a; content:""; }
.public-detail__facts { display:grid; grid-template-columns:1fr 1fr; margin:19px 0 0; border-top:1px solid #edf0f4; }
.public-detail__fact { min-width:0; padding:13px 12px 12px 0; border-bottom:1px solid #edf0f4; }
.public-detail__fact:nth-child(even) { padding-left:12px; border-left:1px solid #edf0f4; }
.public-detail__fact-label { display:block; margin-bottom:4px; color:#8590a0; font-size:10px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.public-detail__fact-value { display:block; overflow-wrap:anywhere; color:#273247; font-size:13px; font-weight:750; line-height:1.4; }
.public-detail__action { display:flex; gap:10px; margin-top:21px; }
.public-detail__button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border:1px solid var(--site-ink); border-radius:10px; background:var(--site-ink); color:#fff; font-weight:850; cursor:pointer; }
.public-detail__button:hover { background:var(--site-accent); border-color:var(--site-accent); color:#fff; }
.public-detail__button--secondary { background:#fff; color:var(--site-ink); }
.public-detail__seller { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:20px; padding-top:18px; border-top:1px solid #edf0f4; }
.public-detail__seller-name { color:var(--site-ink); font-size:14px; font-weight:850; }
.public-detail__rating { color:#d58a00; font-size:12px; white-space:nowrap; }
.public-detail__gallery { overflow:hidden; padding:10px; }
.public-detail__gallery-main { position:relative; display:flex; align-items:center; justify-content:center; height:520px; overflow:hidden; border-radius:12px; background:#f3f5f7; cursor:zoom-in; }
.public-detail__gallery-main img { width:100%; height:100%; object-fit:contain; }
.public-detail__gallery-main--cover img { object-fit:cover; }
.public-detail__gallery-count { position:absolute; right:12px; bottom:12px; padding:7px 10px; border-radius:999px; background:rgba(15,23,42,.82); color:#fff; font-size:12px; font-weight:800; }
.public-detail__thumbs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:8px; }
.public-detail__thumb { height:104px; overflow:hidden; border:0; border-radius:9px; background:#f3f5f7; cursor:zoom-in; }
.public-detail__thumb img { width:100%; height:100%; object-fit:cover; }
.public-detail__empty { display:flex; align-items:center; justify-content:center; height:420px; border:1px dashed #cbd2dc; border-radius:12px; color:#8590a0; }
.public-detail__section { margin-top:24px; padding:24px; }
.public-detail__section-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.public-detail__section-title { margin:0; color:var(--site-ink); font-size:22px; font-weight:900; }
.public-detail__specs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #edf0f4; border-left:1px solid #edf0f4; }
.public-detail__spec { min-width:0; padding:16px; border-right:1px solid #edf0f4; border-bottom:1px solid #edf0f4; }
.public-detail__spec-label { display:block; margin-bottom:6px; color:#8590a0; font-size:11px; font-weight:800; text-transform:uppercase; }
.public-detail__spec-value { color:#273247; font-size:14px; font-weight:750; overflow-wrap:anywhere; }
.public-detail__contact-layout { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); overflow:hidden; }
.public-detail__contact { padding:25px; }
.public-detail__map { width:100%; min-height:390px; border:0; }
.public-detail__phone { display:block; margin-top:10px; padding:12px 14px; border:1px solid #e4e8ee; border-radius:10px; color:var(--site-ink); font-weight:850; }

@media (max-width: 991px) {
    .public-detail__hero { grid-template-columns:1fr; }
    .public-detail__summary { position:static; }
    .public-detail__specs { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-detail__contact-layout { grid-template-columns:1fr; }
}
@media (max-width: 575px) {
    .public-detail { padding-top:18px; }
    .public-detail__hero { gap:14px; }
    .public-detail__gallery-main { height:330px; }
    .public-detail__thumb { height:72px; }
    .public-detail__summary, .public-detail__section { padding:18px; }
    .public-detail__facts, .public-detail__specs { grid-template-columns:1fr; }
    .public-detail__fact:nth-child(even) { padding-left:0; border-left:0; }
}

/* Ajax cart feedback */
.cart-flyer { position:fixed; z-index:1000; overflow:hidden; margin:0; border:2px solid #fff; border-radius:14px; object-fit:cover; opacity:.96; pointer-events:none; box-shadow:0 14px 35px rgba(15,23,42,.28); transition:transform .68s cubic-bezier(.2,.72,.25,1),opacity .62s ease; }
.cart-bump { animation:cart-bump .62s ease; }
.cart-toast { position:fixed; right:24px; bottom:24px; z-index:1001; max-width:min(360px,calc(100vw - 32px)); padding:13px 17px; border-radius:11px; background:#172033; color:#fff; font-size:14px; font-weight:800; box-shadow:0 16px 38px rgba(15,23,42,.24); opacity:0; transform:translateY(18px); pointer-events:none; transition:opacity .2s ease,transform .25s ease; }
.cart-toast.is-visible { opacity:1; transform:translateY(0); }
.cart-toast--error { background:#b42318; }
form[data-cart-pending="1"] button[type="submit"] { cursor:wait; }
form[data-cart-pending="1"] button[type="submit"].is-loading { position:relative; color:transparent !important; }
form[data-cart-pending="1"] button[type="submit"].is-loading::after { position:absolute; width:18px; height:18px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; content:""; animation:cart-spin .7s linear infinite; }
form[data-cart-pending="1"] button[type="submit"].is-added { color:#fff !important; background:#168449 !important; border-color:#168449 !important; }
@keyframes cart-spin { to { transform:rotate(360deg); } }
@keyframes cart-bump { 0%,100% { transform:scale(1); } 35% { transform:scale(1.16) rotate(-5deg); } 65% { transform:scale(.96) rotate(3deg); } }
@media (max-width:560px) { .cart-toast { right:16px; bottom:16px; left:16px; max-width:none; text-align:center; } }
@media (prefers-reduced-motion:reduce) { .cart-flyer { display:none; } .cart-bump { animation:none; } .cart-toast { transition:none; } }

/* Checkout */
.checkout-page { padding:28px 0 72px; }
.checkout-page__heading { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.checkout-page__heading h1 { margin:0; color:var(--site-ink); font-size:clamp(30px,4vw,44px); font-weight:900; letter-spacing:-.03em; }
.checkout-page__heading > span { padding:5px 9px; border-radius:999px; background:#e8edf3; color:#536173; font-size:12px; font-weight:800; }
.checkout-alert { margin-bottom:14px; padding:12px 15px; border:1px solid; border-radius:11px; font-size:14px; font-weight:700; }
.checkout-alert--error { border-color:#fac5c0; background:#fff1f0; color:#a72b21; }
.checkout-alert--success { border-color:#bce6cd; background:#edf9f1; color:#17663a; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:24px; align-items:start; }
.checkout-cart-card,.checkout-order-card { min-width:0; border:1px solid var(--site-line); border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(23,32,51,.055); }
.checkout-card-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:19px 21px; border-bottom:1px solid #e9edf2; }
.checkout-card-head h2,.checkout-form-section h2 { margin:0; color:var(--site-ink); font-size:18px; font-weight:900; }
.checkout-card-head a { color:#536173; font-size:13px; font-weight:750; }
.checkout-card-head a:hover { color:var(--site-accent); }
.checkout-items { display:grid; }
.checkout-item { position:relative; display:grid; grid-template-columns:112px minmax(0,1fr) auto 105px 28px; gap:17px; align-items:center; min-width:0; padding:18px 20px; border-bottom:1px solid #edf0f4; transition:opacity .18s,transform .18s; }
.checkout-item:last-child { border-bottom:0; }
.checkout-item[data-cart-pending="1"] { opacity:.62; pointer-events:none; }
.checkout-item__image { display:flex; align-items:center; justify-content:center; width:112px; height:92px; overflow:hidden; border-radius:11px; background:#f2f4f7; color:#8a95a5; font-size:11px; }
.checkout-item__image img { width:100%; height:100%; object-fit:cover; }
.checkout-item__body { min-width:0; }
.checkout-item__title { display:-webkit-box; overflow:hidden; color:var(--site-ink); font-size:14px; font-weight:850; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.checkout-item__meta { overflow:hidden; margin-top:5px; color:#7b8797; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.checkout-item__unit { margin-top:9px; color:#596678; font-size:12px; font-weight:700; }
.checkout-item__controls { text-align:center; }
.checkout-qty { display:grid; grid-template-columns:32px 34px 32px; align-items:center; overflow:hidden; border:1px solid #dce2e9; border-radius:9px; }
.checkout-qty button { width:32px; height:36px; padding:0; border:0; background:#f7f8fa; color:var(--site-ink); font-size:17px; cursor:pointer; }
.checkout-qty button:hover:not(:disabled) { background:#e9edf2; }
.checkout-qty button:disabled { color:#bdc4ce; cursor:not-allowed; }
.checkout-qty span { font-size:13px; font-weight:850; }
.checkout-item__max { margin-top:5px; color:#929ba8; font-size:10px; }
.checkout-item__price { color:var(--site-ink); font-size:16px; font-weight:900; text-align:right; white-space:nowrap; }
.checkout-item__remove { width:28px; height:28px; padding:0; border:0; border-radius:8px; background:transparent; color:#9aa3af; font-size:22px; line-height:1; cursor:pointer; }
.checkout-item__remove:hover { background:#fff0ef; color:#d83a2e; }
.checkout-order-card { position:sticky; top:116px; overflow:hidden; }
.checkout-form-section { display:grid; gap:13px; padding:21px; border-bottom:1px solid #e9edf2; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.checkout-field { display:grid; gap:5px; min-width:0; color:#536173; font-size:11px; font-weight:800; }
.checkout-field--full { grid-column:1/-1; }
.checkout-field input,.checkout-field select { width:100%; min-width:0; height:43px; margin:0; padding:0 12px; border:1px solid #d8dee7; border-radius:9px; outline:0; background:#fff; color:var(--site-ink); font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; transition:border-color .16s,box-shadow .16s; }
.checkout-field input:focus,.checkout-field select:focus { border-color:#708299; box-shadow:0 0 0 3px rgba(76,98,126,.1); }
.checkout-saved { gap:10px; padding:14px; border:1px solid #e1e6ec; border-radius:11px; background:#f7f8fa; color:#536173; font-size:13px; line-height:1.5; }
.checkout-saved__row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.checkout-saved__row strong { display:block; margin-bottom:3px; color:var(--site-ink); }
.checkout-saved__row strong + div { white-space:pre-line; }
.checkout-saved__row button { flex:0 0 auto; min-height:34px; padding:0 10px; border:1px solid #d4dae2; border-radius:8px; background:#fff; color:var(--site-ink); font-weight:750; cursor:pointer; }
.checkout-account { display:grid; gap:13px; padding:17px 21px; border-bottom:1px solid #e9edf2; background:#fafbfc; }
.checkout-switch,.checkout-check { display:flex; align-items:center; gap:9px; color:var(--site-ink); font-size:13px; font-weight:800; cursor:pointer; }
.checkout-switch input,.checkout-check input { flex:0 0 auto; width:17px; height:17px; margin:0; accent-color:var(--site-ink); }
.checkout-account__fields { grid-template-columns:1fr; gap:12px; }
.checkout-shipping { display:grid; gap:12px; }
.checkout-shipping__hint { color:#667285; font-size:13px; line-height:1.45; }
.checkout-shipment { display:grid; gap:8px; padding:12px; border:1px solid #e1e6ec; border-radius:11px; background:#fff; }
.checkout-shipment__head { color:var(--site-ink); font-size:13px; font-weight:800; }
.checkout-shipment__items { color:#667285; font-size:12px; line-height:1.4; }
.checkout-rate { display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid #e5e9ee; border-radius:9px; color:var(--site-ink); font-size:13px; cursor:pointer; }
.checkout-rate:has(input:checked) { border-color:var(--site-ink); background:#f7f8fa; }
.checkout-rate input { flex:0 0 auto; width:16px; height:16px; margin:0; accent-color:var(--site-ink); }
.checkout-rate span { flex:1 1 auto; min-width:0; }
.checkout-rate strong { flex:0 0 auto; }
.checkout-shipment__note { color:#667285; font-size:12px; line-height:1.4; }
.order-pay { max-width:640px; padding:22px; border:1px solid #e1e6ec; border-radius:16px; background:#fff; }
.order-pay__state { padding:14px 16px; border-radius:11px; background:#fff8e6; color:#7a5200; }
.order-pay__state strong { display:block; margin-bottom:4px; color:inherit; font-size:15px; }
.order-pay__state p { margin:0; font-size:13px; line-height:1.5; }
.order-pay__state--ok { background:#edf9f1; color:#17663a; }
.order-pay__state--muted { background:#f2f4f7; color:#536173; }
.order-pay__lines { display:grid; gap:8px; margin:18px 0 6px; }
.order-pay__line { display:flex; justify-content:space-between; gap:16px; color:#536173; font-size:14px; }
.order-pay__line strong { color:var(--site-ink); white-space:nowrap; }
.order-pay__line.is-canceled { text-decoration:line-through; opacity:.6; }
.order-pay__line--total { padding-top:10px; border-top:1px solid #e5e9ee; color:var(--site-ink); font-size:17px; font-weight:900; }
.order-pay__actions { display:grid; gap:4px; }
.order-pay__actions .checkout-submit { width:100%; margin:12px 0 0; }
.order-pay__cancel { width:100%; min-height:40px; border:0; background:none; color:#a72b21; font-size:13px; font-weight:800; cursor:pointer; }
.order-pay__note { margin:12px 0 0; color:#667285; font-size:12.5px; line-height:1.5; }
.checkout-pay-note { margin:-6px 21px 18px; color:#667285; font-size:12px; line-height:1.45; text-align:center; }
.checkout-totals { display:grid; gap:10px; padding:19px 21px 8px; }
.checkout-totals > div { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#667285; font-size:13px; }
.checkout-totals strong { color:var(--site-ink); }
.checkout-totals__grand { margin-top:4px; padding-top:15px; border-top:1px solid #e5e9ee; color:var(--site-ink) !important; font-size:18px !important; font-weight:900; }
.checkout-totals__grand strong { font-size:23px; }
.checkout-submit { width:calc(100% - 42px); min-height:49px; margin:14px 21px 21px; border:0; border-radius:10px; background:var(--site-ink); color:#fff; font-size:14px; font-weight:900; cursor:pointer; transition:background .16s,transform .16s; }
.checkout-submit:hover { background:var(--site-accent); transform:translateY(-1px); }
.checkout-empty { display:grid; justify-items:center; gap:14px; padding:70px 20px; border:1px solid var(--site-line); border-radius:18px; background:#fff; text-align:center; }
.checkout-empty__icon { font-size:38px; }
.checkout-empty h2 { margin:0 0 7px; color:var(--site-ink); }

@media (max-width:1100px) {
    .checkout-layout { grid-template-columns:minmax(0,1fr) 390px; }
    .checkout-item { grid-template-columns:88px minmax(0,1fr) auto; }
    .checkout-item__image { width:88px; height:78px; }
    .checkout-item__controls { grid-column:2; justify-self:start; }
    .checkout-item__price { grid-column:3; grid-row:1; }
    .checkout-item__remove { grid-column:3; grid-row:2; justify-self:end; }
}
@media (max-width:850px) {
    .checkout-layout { grid-template-columns:1fr; }
    .checkout-order-card { position:static; }
}
@media (max-width:560px) {
    .checkout-page { padding-top:18px; }
    .checkout-page__heading { margin-bottom:16px; }
    .checkout-item { grid-template-columns:76px minmax(0,1fr) auto; gap:11px; padding:14px; }
    .checkout-item__image { width:76px; height:72px; }
    .checkout-item__price { font-size:14px; }
    .checkout-card-head,.checkout-form-section { padding:17px; }
    .checkout-fields { grid-template-columns:1fr; }
    .checkout-field--full { grid-column:auto; }
    .checkout-submit { width:calc(100% - 34px); margin-right:17px; margin-left:17px; }
}

/* Catalog subcategories */
.catalog-subcategories { margin-bottom:28px; }
.catalog-subcategories__title { margin:0 0 13px; color:var(--site-ink); font-size:22px; font-weight:900; }
.catalog-subcategories__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); gap:13px; }
.catalog-subcategory-card { overflow:hidden; border:1px solid #dfe4ea; border-radius:14px; background:#fff; transition:border-color .18s,box-shadow .18s,transform .18s; }
.catalog-subcategory-card:hover { border-color:#c9d0d9; box-shadow:0 10px 26px rgba(23,32,51,.08); transform:translateY(-2px); }
.catalog-subcategory-card__main { display:grid; grid-template-columns:98px minmax(0,1fr) 18px; align-items:center; gap:13px; min-height:102px; padding:10px 14px 10px 10px; color:var(--site-ink); text-decoration:none; }
.catalog-subcategory-card__visual { width:98px; height:82px; overflow:hidden; border-radius:10px; background:#f1f2f3; }
.catalog-subcategory-card__image { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.catalog-subcategory-card__image--product { padding:4px; object-fit:contain; filter:saturate(.48) contrast(.86) brightness(1.1); opacity:.82; }
.catalog-subcategory-card:hover .catalog-subcategory-card__image { transform:scale(1.04); }
.catalog-subcategory-card__content { min-width:0; }
.catalog-subcategory-card__name { color:var(--site-ink); font-size:15px; font-weight:850; line-height:1.25; }
.catalog-subcategory-card__count { margin-top:5px; color:#7b8795; font-size:12px; font-weight:700; }
.catalog-subcategory-card__arrow { color:#9aa4b1; font-size:25px; line-height:1; transition:color .18s,transform .18s; }
.catalog-subcategory-card:hover .catalog-subcategory-card__arrow { color:var(--site-accent); transform:translateX(2px); }
.catalog-subcategory-card__children { padding:0 12px 12px; }
.catalog-subcategory-card__links { display:flex; flex-wrap:wrap; gap:7px; padding-top:11px; border-top:1px solid #edf0f3; }
.catalog-subcategory-card__link { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid #dfe3e8; border-radius:999px; color:#4c5868; font-size:12px; text-decoration:none; }
.catalog-subcategory-card__link:hover { border-color:#bdc6d0; color:var(--site-ink); }
.catalog-subcategory-card__link--more { border-style:dashed; }
@media (max-width:560px) {
    .catalog-subcategories__grid { grid-template-columns:1fr; }
    .catalog-subcategory-card__main { grid-template-columns:84px minmax(0,1fr) 16px; min-height:92px; }
    .catalog-subcategory-card__visual { width:84px; height:72px; }
}

/* Compact source vehicle on a part page */
.part-source-vehicle { position:relative; display:grid; grid-template-columns:300px minmax(0,1fr); width:min(100%,820px); min-height:240px; margin-top:22px; overflow:hidden; border:1px solid var(--site-line); border-radius:16px; background:#fff; box-shadow:0 8px 25px rgba(23,32,51,.055); }
.part-source-vehicle__media { position:relative; display:flex; align-items:center; justify-content:center; min-height:240px; overflow:hidden; background:#eef1f4; color:#8792a2; font-size:12px; cursor:zoom-in; }
.part-source-vehicle__media > img { width:100%; height:100%; min-height:240px; object-fit:cover; }
.part-source-vehicle__body { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; min-width:0; padding:24px; }
.part-source-vehicle__body h2 { margin:0; color:var(--site-ink); font-size:25px; font-weight:900; line-height:1.2; }
.part-source-vehicle__facts { display:grid; grid-template-columns:1fr 1fr; width:100%; margin:18px 0; border-top:1px solid #edf0f4; }
.part-source-vehicle__facts > div { min-width:0; padding:12px 12px 0 0; }
.part-source-vehicle__facts span { display:block; margin-bottom:3px; color:#8792a2; font-size:10px; font-weight:800; text-transform:uppercase; }
.part-source-vehicle__facts strong { display:block; overflow-wrap:anywhere; color:#334056; font-size:13px; }
.part-source-vehicle__address { grid-column:1/-1; }
@media (max-width:680px) {
    .part-source-vehicle { grid-template-columns:1fr; }
    .part-source-vehicle__media,.part-source-vehicle__media > img { min-height:210px; max-height:260px; }
    .part-source-vehicle__body { padding:19px; }
}

/* Checkout steps (templates/Catalog/checkout/, docs/checkout.md) */
.checkout-steps { display:flex; flex-wrap:wrap; gap:6px 4px; margin:0 0 22px; padding:0; list-style:none; counter-reset:none; }
.checkout-steps__item { display:flex; align-items:center; gap:8px; color:#8a95a4; font-size:13px; font-weight:800; }
.checkout-steps__item + .checkout-steps__item::before { content:''; width:28px; height:2px; margin-right:4px; border-radius:2px; background:#dde3ea; }
.checkout-steps__item a { display:flex; align-items:center; gap:8px; color:inherit; text-decoration:none; }
.checkout-steps__item a:hover .checkout-steps__label { text-decoration:underline; }
.checkout-steps__num { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#e8edf3; color:#5d6b7c; font-size:12px; }
.checkout-steps__item.is-current { color:var(--site-ink); }
.checkout-steps__item.is-current .checkout-steps__num { background:var(--site-ink); color:#fff; }
.checkout-steps__item.is-done { color:#17663a; }
.checkout-steps__item.is-done .checkout-steps__num { background:#dff3e6; color:#17663a; }
.checkout-main { min-width:0; }
.checkout-step .checkout-form-section:last-of-type { border-bottom:0; }
.checkout-step > .checkout-alert { margin:18px 21px 0; }
.checkout-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.checkout-section-head h2 { margin:0; }
.checkout-section-head span { color:#536173; font-size:13px; }
.checkout-section-head a, .checkout-recap a, .checkout-mini__edit, .checkout-pay-note a { color:var(--site-accent); font-weight:800; }
.checkout-note { margin:0; color:#667285; font-size:12.5px; line-height:1.45; }
.checkout-field i { color:#c2410c; font-style:normal; }
.checkout-field.has-error input, .checkout-field.has-error select { border-color:#d83a2e; background:#fffafa; }
.checkout-field__error { color:#b42318; font-size:12px; font-weight:700; }
.checkout-choice { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid #e1e6ec; border-radius:11px; cursor:pointer; }
.checkout-choice:has(input:checked) { border-color:var(--site-ink); background:#f7f8fa; }
.checkout-choice input { flex:0 0 auto; width:17px; height:17px; margin:2px 0 0; accent-color:var(--site-ink); }
.checkout-choice strong { display:block; color:var(--site-ink); font-size:14px; }
.checkout-choice small { display:block; margin-top:2px; color:#667285; font-size:12.5px; }
[data-password-block][hidden] { display:none; }
.checkout-step-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:18px 21px 21px; border-top:1px solid #e9edf2; }
.checkout-back { color:#536173; font-size:14px; font-weight:800; text-decoration:none; }
.checkout-back:hover { color:var(--site-accent); }
.checkout-next { min-height:49px; padding:0 26px; border:0; border-radius:10px; background:var(--site-ink); color:#fff; font-size:15px; font-weight:900; cursor:pointer; }
.checkout-next:hover { background:var(--site-accent); }
a.checkout-submit { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.checkout-submit:disabled { opacity:.6; cursor:wait; transform:none; }
.checkout-recap { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid #eef1f4; }
.checkout-recap:last-child { border-bottom:0; padding-bottom:0; }
.checkout-recap > div { min-width:0; overflow-wrap:anywhere; }
.checkout-recap > a { flex:0 0 auto; }
.checkout-recap:first-child { padding-top:0; }
.checkout-recap span { display:block; margin-bottom:3px; color:#7b8797; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.checkout-recap p { margin:0 0 4px; color:var(--site-ink); font-size:14px; line-height:1.5; }
.checkout-recap small { color:#536173; }
.checkout-mini { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.checkout-mini li { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:10px; align-items:center; font-size:13px; }
.checkout-mini__img { position:relative; width:52px; height:44px; border-radius:8px; background:#f1f4f7; overflow:visible; }
.checkout-mini__img img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.checkout-mini__img b { position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#536173; color:#fff; font-size:11px; line-height:20px; text-align:center; }
.checkout-mini__title { display:-webkit-box; overflow:hidden; color:var(--site-ink); font-weight:700; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.checkout-mini__edit { font-size:13px; }
.checkout-item--static { grid-template-columns:88px minmax(0,1fr) auto; }
.checkout-item--static .checkout-item__image { width:88px; height:72px; }
@media (max-width: 640px) {
    .checkout-steps__label { display:none; }
    .checkout-steps__item.is-current .checkout-steps__label { display:inline; }
    .checkout-steps__item + .checkout-steps__item::before { width:14px; }
    .checkout-fields { grid-template-columns:1fr; }
    .checkout-step-actions { flex-direction:column-reverse; align-items:stretch; }
    .checkout-next { width:100%; }
    .checkout-back { text-align:center; }
}

/* Checkout: address suggestions (public/js/address-autocomplete.js) and the "ship as entered" confirmation. */
.address-suggest-holder { position:relative; }
.address-suggest { position:absolute; z-index:30; top:100%; left:0; right:0; margin-top:4px; overflow:hidden; border:1px solid #d8dee7; border-radius:10px; background:#fff; box-shadow:0 12px 28px rgba(16,24,40,.14); }
.address-suggest__option { display:grid; gap:2px; padding:9px 12px; cursor:pointer; color:var(--site-ink); font-size:13px; font-weight:700; }
.address-suggest__option small { color:#66758a; font-size:12px; font-weight:600; }
.address-suggest__option.is-active, .address-suggest__option:hover { background:#f2f5f9; }
.address-suggest__credit { padding:5px 12px 6px; border-top:1px solid #eef1f5; color:#5f6368; font:400 11px/1.3 Roboto, Arial, sans-serif; text-align:right; }
.checkout-alert p { margin:0; }
.checkout-confirm { display:flex; gap:8px; align-items:flex-start; margin-top:9px; color:#3d4a5c; font-weight:700; cursor:pointer; }
.checkout-confirm input { margin-top:3px; }
.address-suggest-hint { color:#b54708; font-size:12px; font-weight:700; }

/* Home: "For dismantlers and parts sellers" (templates/Home/index.html.twig) */
.home-sell { padding: 10px 0 38px; }
.home-sell__panel { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 40px; overflow: hidden; padding: 42px 46px; border-radius: 20px; background: #182237; color: #fff; box-shadow: 0 18px 46px rgba(23,32,51,.16); }
.home-sell__panel::after { content: ''; position: absolute; left: -110px; bottom: -150px; width: 340px; height: 340px; border: 58px solid rgba(245,195,68,.08); border-radius: 50%; pointer-events: none; }
.home-sell__head, .home-sell__grid { position: relative; z-index: 1; }
.home-sell__eyebrow { display: block; margin-bottom: 12px; color: #f5c344; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.public-site .home-sell h2, .home-sell h2 { margin: 0 0 14px; color: #fff; font-size: clamp(26px, 2.8vw, 40px); line-height: 1.1; }
.home-sell__head p { margin: 0 0 20px; color: #cbd3df; font-size: 15px; line-height: 1.6; }
.home-sell__flow { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 24px; padding: 0; list-style: none; counter-reset: sell-step; }
.home-sell__flow li { counter-increment: sell-step; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.08); color: #e5e9f0; font-size: 12.5px; font-weight: 700; }
.home-sell__flow li::before { content: counter(sell-step); display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #f5c344; color: #182237; font-size: 11px; font-weight: 850; }
.home-sell__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.home-sell__link { color: #f5c344; font-size: 13px; font-weight: 800; text-decoration: underline; }
.home-sell__link:hover { color: #ffd76a; }
.home-sell__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.home-sell__card { display: grid; align-content: start; gap: 6px; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.04); }
.home-sell__icon { font-size: 22px; line-height: 1; }
.home-sell__card strong { color: #fff; font-size: 15px; line-height: 1.3; }
.home-sell__card span:not(.home-sell__icon) { color: #b8c2d1; font-size: 13px; line-height: 1.55; }
@media (max-width: 1100px) { .home-sell__panel { grid-template-columns: 1fr; gap: 28px; padding: 34px; } }
@media (max-width: 640px) { .home-sell__panel { padding: 26px 20px; border-radius: 16px; } .home-sell__grid { grid-template-columns: 1fr; } }
