/* Harmonisation visuelle et ergonomie du catalogue, sans changement des données. */
.gallery-dots button,.mobile-lightbox-dots button{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:transparent}.gallery-dots button::after,.mobile-lightbox-dots button::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#8491a3}.gallery-dots button.active,.mobile-lightbox-dots button.active{width:28px;background:transparent}.gallery-dots button.active::after,.mobile-lightbox-dots button.active::after{width:22px;border-radius:99px;background:var(--primary)}.gallery-dots button:focus-visible,.mobile-lightbox-dots button:focus-visible{outline:2px solid #f0f4fa;outline-offset:1px}
.toast{position:relative;padding-right:45px;min-width:0}.toast-dismiss{position:absolute;right:6px;top:6px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#dfe8f4;font-size:1.2rem;cursor:pointer}.toast-dismiss:focus-visible{outline:2px solid white}.flash-zone{max-width:calc(100% - 28px)}
:root {
  --ui-copy: #c3ccd8;
  --ui-secondary: #a9b6c6;
  --ui-border: #323b47;
  --ui-space: 24px;
  --ui-card-radius: 18px;
  --ui-title: clamp(2rem, 3.25vw, 2.9rem);
}

/* Une hiérarchie courte : titre, texte courant et libellé. */
.section-heading h2,
.review-heading h2,
.home-contact-copy h2 {
  font-size: var(--ui-title);
  line-height: 1.12;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.section-heading { margin-bottom: 28px; }
.eyebrow { font-size: .75rem; line-height: 1.4; letter-spacing: .12em; }
.split-heading { gap: 32px; }
.split-heading p,
.home-contact-copy > .muted { color: var(--ui-copy); font-size: .95rem; line-height: 1.65; }
.hero h1.hero-premium-title { line-height: 1.02; letter-spacing: -.06em; }
.hero-copy { color: var(--ui-copy); font-size: 1rem; line-height: 1.7; }
.detail-summary h1 { font-size: clamp(2.3rem, 4.4vw, 3.7rem); line-height: 1.08; letter-spacing: -.05em; }
.detail-version { margin-block: 12px; color: var(--ui-copy); line-height: 1.55; }
.detail-price { margin-block: 24px; font-size: clamp(1.7rem, 3vw, 2.1rem); line-height: 1.2; font-variant-numeric: tabular-nums; }
.detail-description h2,
.vehicle-highlights h2 { margin-bottom: 14px; font-size: 1.2rem; line-height: 1.3; letter-spacing: -.02em; }
.detail-description p { color: var(--ui-copy); line-height: 1.75; overflow-wrap: anywhere; }
.detail-spec-grid small { color: var(--ui-secondary); font-size: .8rem; line-height: 1.45; }
.detail-spec-grid strong { margin-top: 4px; font-size: .95rem; line-height: 1.4; overflow-wrap: anywhere; }

/* Même équilibre pour les actions, sans animation qui déplace leur cible. */
.button {
  min-height: 46px;
  padding: 11px 20px;
  font-size: .875rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.button-small { min-height: 42px; padding: 9px 16px; font-size: .8125rem; }
.button:hover { transform: none; }
.button-primary { background: #e32630; box-shadow: 0 6px 20px rgba(255, 48, 56, .17); }
.button-primary:hover { background: #c91b27; box-shadow: 0 8px 24px rgba(255, 48, 56, .22); }
.button-outline { border-color: #414b58; }
.button-outline:hover { border-color: #718093; background: rgba(255, 255, 255, .055); }
.button-danger { border-color: #8e444e; background: #3d2027; color: #ffa3ad; }
.button-danger:hover { border-color: #b85865; background: #642b36; color: #fff; }
.mobile-vehicle-contact-bar button { border-color: #e32630; background: #e32630; }
.button:disabled { box-shadow: none; }
.button:focus-visible,
.text-button:focus-visible,
.menu-button:focus-visible,
.admin-nav-link:focus-visible,
.vehicle-card-clickable:focus-visible,
.review-links a:focus-visible,
.footer-legal-links a:focus-visible {
  outline: 2px solid #f0f4fa;
  outline-offset: 4px;
}
.field > span { color: #c7d0dc; font-size: .8125rem; line-height: 1.4; }
.field input::placeholder,
.field textarea::placeholder,
.toolbar-search input::placeholder { color: #94a1b2; opacity: 1; }
.form-note { color: var(--ui-secondary); font-size: .75rem; line-height: 1.55; }

/* Les cartes conservent toute leur information, avec une action alignée. */
.vehicle-grid { grid-auto-rows: 1fr; gap: var(--ui-space); }
.vehicle-card { display: flex; flex-direction: column; min-width: 0; border-color: var(--ui-border); border-radius: var(--ui-card-radius); }
.vehicle-image { flex: 0 0 auto; height: auto; max-height: 250px; aspect-ratio: 16 / 10; }
.vehicle-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.vehicle-title-row { align-items: flex-start; gap: 12px; }
.vehicle-title-row h3 { margin: 4px 0 5px; font-size: 1.15rem; font-weight: 750; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; }
.vehicle-title-row p { min-height: 2.9em; margin: 0; color: #aebccc; font-size: .8125rem; line-height: 1.45; overflow-wrap: anywhere; }
.vehicle-year { color: #aebccc; font-size: .75rem; line-height: 1.45; }
.vehicle-price { padding-top: 2px; color: #ff4b54; font-size: 1.1rem; font-weight: 800; line-height: 1.4; font-variant-numeric: tabular-nums; }
.vehicle-specs { gap: 8px; margin: 18px 0; }
.vehicle-specs span { min-width: 0; padding: 10px; color: #c2cdda; font-size: .8rem; line-height: 1.45; overflow-wrap: anywhere; }
.vehicle-body > .button { min-height: 44px; margin-top: auto; padding-inline: 12px; font-size: .8125rem; }

/* Une couleur correspond à un état, le libellé reste toujours présent. */
.vehicle-image > .badge,
.detail-badges > .badge { min-height: 28px; padding: 5px 10px; border: 1px solid transparent; font-size: .6875rem; line-height: 1.2; letter-spacing: .025em; }
.vehicle-image > .status-available,
.detail-badges > .status-available { border-color: #3c7654; background: #123b27; color: #b1efc8; }
.vehicle-image > .status-reserved,
.detail-badges > .status-reserved { border-color: #85672f; background: #483313; color: #ffe0a0; }
.vehicle-image > .status-sold,
.detail-badges > .status-sold,
.detail-badges > .status-draft { border-color: #596474; background: #29323e; color: #d9e1ed; }
.vehicle-image > .badge-featured,
.detail-badges > .badge-featured { border-color: rgba(255, 255, 255, .18); background: #bc1825; color: #fff; }
.detail-badges { flex-wrap: wrap; }

/* Des rythmes identiques, sans toucher aux fonds ni aux dégradés des sections. */
#stock.section { padding-block: 72px; }
#services.section { padding-block: 56px; }
#services > .container { gap: 32px; }
#services .section-heading h2 { max-width: 390px; margin: 10px 0 14px; font-size: var(--ui-title); line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
#services .section-heading p { color: var(--ui-copy); font-size: .9rem; line-height: 1.65; }
#services .service-grid-three { gap: 16px; }
#services .service-card { column-gap: 12px; padding: 20px; border-color: var(--ui-border); border-radius: var(--ui-card-radius); }
#services .service-card h3 { font-size: 1rem; line-height: 1.35; }
#services .service-card p { color: #b7c3d2; font-size: .8125rem; line-height: 1.6; }
#services .service-icon { color: #ff9198; }
.service-icon svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.manager-section { padding-block: 64px; }
.manager-content { padding: clamp(28px, 3.5vw, 48px); }
.manager-content h2 { font-size: clamp(2rem, 3.1vw, 2.75rem); line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
.manager-content p,
.manager-content .manager-intro { color: var(--ui-copy); font-size: .9375rem; line-height: 1.75; }
.manager-values { gap: 8px; }
.manager-values span { font-size: .75rem; font-weight: 650; }
.reviews-section { padding-block: 64px; }
.review-heading { gap: 24px; margin-bottom: 28px; }
.review-grid { gap: 20px; }
.review-grid article { display: flex; flex-direction: column; padding: 24px; border-color: var(--ui-border); border-radius: var(--ui-card-radius); }
.review-grid p { flex: 1; margin-block: 16px; font-size: 1rem; font-weight: 650; line-height: 1.6; }
.review-grid small { color: var(--ui-secondary); font-size: .75rem; }
.review-score small { color: var(--ui-secondary); font-size: .75rem; line-height: 1.5; }
.review-links { gap: 10px; margin-top: 20px; }
.review-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; font-size: .8125rem; }
.home-contact-section { padding-block: 72px; }
.home-contact-layout { gap: 40px; }
.home-contact-card { gap: 20px; padding: 26px; border-color: var(--ui-border); border-radius: 20px; }
.home-contact-card-heading h3 { font-size: 1.2rem; line-height: 1.4; }
.home-contact-info small { color: var(--ui-secondary); font-size: .6875rem; }
.vehicle-call-action small,
.vehicle-message-action small { color: #a2b0c2; }
.footer-legal-links a { color: #a2afbf; }
.footer-content .footer-vat { color: #98a6b8; }

/* Le panel garde ses outils, avec des textes secondaires plus lisibles. */
.admin-topbar h1 { font-size: 1.8rem; line-height: 1.2; letter-spacing: -.035em; }
.admin-content { gap: 24px; }
.panel-heading h2 { font-size: 1.15rem; line-height: 1.35; }
.panel-heading p,
.garage-page-intro { color: var(--ui-secondary); font-size: .8125rem; line-height: 1.6; }
.admin-body .button { min-height: 42px; font-size: .8125rem; }
.vehicle-admin-table .table-vehicle span,
.vehicle-admin-table .price-cell span,
.vehicle-admin-table .data-table th,
.publication-control > span,
.garage-settings-content small,
.garage-save-row > span { color: var(--ui-secondary); }
.vehicle-admin-table .data-table th { font-size: .6875rem; }
.completion-reasons > span { color: #c3cedc; font-size: .6875rem; padding: 5px 8px; }
.completion-edit { font-size: .8125rem; }
.stat-card strong { font-variant-numeric: tabular-nums; }

@media (hover: hover) and (pointer: fine) {
  .vehicle-card:hover { transform: translateY(-3px); border-color: #78505a; }
}

@media (min-width: 851px) and (max-width: 1100px) {
  .nav-links { gap: 18px; }
  .nav-links > a:not(.button) { font-size: .875rem; }
}

/* Même menu sur téléphone et petite tablette, plutôt qu'une rangée écrasée. */
@media (max-width: 850px) {
  .site-header .nav { min-height: 68px; gap: 16px; }
  .site-header .menu-button { display: grid; place-items: center; flex: 0 0 44px; }
  .site-header .nav-links { position: fixed; top: 68px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100dvh - 68px); padding: 12px 20px 20px; overflow-y: auto; background: #07090b; border-bottom: 1px solid var(--ui-border); }
  .site-header .nav-links.is-open { display: flex; }
  .site-header .nav-links > a:not(.button) { display: flex; align-items: center; min-height: 52px; padding: 8px 4px; border-bottom: 1px solid var(--line); font-size: .9375rem; }
  .site-header .nav-links .button { width: 100%; margin-top: 16px; }
  .home-contact-layout { gap: 28px; }
}

@media (max-width: 650px) {
  :root { --ui-space: 14px; --ui-title: clamp(1.85rem, 8.3vw, 2.2rem); }
  .section-heading { margin-bottom: 24px; }
  .eyebrow { font-size: .6875rem; }
  .hero h1.hero-premium-title { line-height: 1.04; }
  .hero-copy { font-size: .9375rem; line-height: 1.65; }
  .button,
  .button-small,
  .admin-body .button { min-height: 44px; padding: 11px 16px; font-size: .8125rem; }
  .hero-actions .button { min-height: 48px; }
  .field input,
  .field select,
  .field textarea { font-size: 16px; }
  .vehicle-grid .vehicle-card:nth-child(n) { display: flex; }
  .vehicle-body { padding: 17px; }
  .vehicle-title-row h3 { font-size: 1.125rem; }
  .vehicle-price { font-size: 1.125rem; }
  .vehicle-specs { margin-block: 16px; }
  .vehicle-specs span { padding: 10px 8px; font-size: .75rem; }
  #stock.section { padding-block: 48px; }
  #services.section { padding-block: 40px; }
  #services .service-grid-three { gap: 10px; }
  #services .service-card { padding: 16px; border-radius: 15px; }
  #services .service-card p { font-size: .8125rem; line-height: 1.55; }
  #services .service-icon { width: 42px; height: 42px; }
  .manager-section { padding-block: 40px 18px; }
  .manager-content { padding: 24px 20px; }
  .manager-content h2 { font-size: 1.9rem; line-height: 1.14; }
  .manager-content p,
  .manager-content .manager-intro { font-size: .875rem; line-height: 1.7; }
  .manager-values { margin: 20px -20px 0; padding: 16px 20px 0; }
  .reviews-section { padding-block: 28px 40px; }
  .review-grid article { padding: 22px; }
  .review-heading { gap: 20px; margin-bottom: 24px; }
  .review-score strong { font-size: 2.5rem; }
  .review-links a { min-height: 44px; }
  .home-contact-section { padding-block: 44px; }
  .home-contact-copy h2 { max-width: 360px; font-size: var(--ui-title); line-height: 1.14; }
  .home-contact-card { gap: 0; padding: 0; border: 0; }
  .home-contact-copy > .muted { font-size: .9rem; }
  .detail-summary h1 { font-size: clamp(2.15rem, 9.5vw, 2.65rem); }
  .detail-description { margin-block: 26px; }
  .detail-description p { font-size: .9375rem; }
  .admin-topbar h1 { font-size: 1.5rem; }
  .admin-content { gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .vehicle-card,
  .vehicle-image > img,
  #services .service-card { transition: none; }
  .vehicle-card:hover,
  .vehicle-card:hover .vehicle-image > img,
  #services .service-card:hover { transform: none; }
}

/* Lot 2 : filtres compacts, fiches lisibles et navigation préservée. */
.stock-filter-panel { margin-bottom: 16px; }
.stock-filter-panel > summary { display: none; }
.stock-filter-panel .filter-bar { margin-bottom: 0; }
.stock-results-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.stock-results-row > p { margin: 0; color: #aebccc; font-size: .875rem; }
.stock-results-row > p strong { color: #f2f5f9; }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.active-filters a { display: inline-flex; align-items: center; gap: 12px; min-height: 40px; max-width: 100%; padding: 8px 13px; border: 1px solid #3d4856; border-radius: 999px; background: #171f28; color: #d4deeb; font-size: .8125rem; overflow-wrap: anywhere; }
.active-filters a:hover { border-color: #c66570; }
.active-filters a > span { font-size: 1.1rem; line-height: 1; }
.active-filters a:focus-visible,.stock-filter-panel > summary:focus-visible { outline: 2px solid #f0f4fa; outline-offset: 3px; }
.site-header .nav-links a[aria-current="location"] { color: #fff; text-decoration: underline; text-decoration-color: #ff5963; text-underline-offset: 8px; text-decoration-thickness: 2px; }
.description-content p { margin: 0 0 18px; }
.description-content .equipment-label { margin-bottom: 12px; color: #edf1f7; }
.description-list { margin: 0 0 22px; padding-left: 21px; color: var(--ui-copy); font-size: .9375rem; line-height: 1.75; }
.description-list li { padding-left: 3px; break-inside: avoid; overflow-wrap: anywhere; }
.description-list li::marker { color: #8c9cae; }
.equipment-list { columns: 2; column-gap: 32px; }
.vehicle-page .vehicle-detail { align-items: start; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); column-gap: 36px; row-gap: 30px; }
.vehicle-page .detail-gallery { position: static; min-width: 0; }
.vehicle-page .detail-summary { min-width: 0; }
.vehicle-page .detail-spec-grid > div:last-child:nth-child(odd) { grid-column: 1/-1; }
.vehicle-information { grid-column: 1/-1; min-width: 0; }
.vehicle-information .detail-description { margin: 0 0 26px; max-width: 85ch; }
.vehicle-information .vehicle-equipment h2 { margin: 0 0 20px; font-size: clamp(1.25rem,2vw,1.55rem); letter-spacing: -.025em; }
.vehicle-equipment-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 36px; list-style: none; padding: 0; margin: 0; }
.vehicle-equipment-list > li { display: flex; align-items: flex-start; min-width: 0; gap: 10px; color: #c9d2df; font-size: .9375rem; line-height: 1.6; }
.vehicle-equipment-list > li[hidden] { display: none; }
.vehicle-equipment-list svg { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 3px; fill: none; stroke: #81c99b; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.vehicle-equipment-list span { min-width: 0; overflow-wrap: anywhere; }
.equipment-toggle { margin-top: 20px; font-size: .8125rem; }
.vehicle-page .vehicle-contact-compact { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 24px; row-gap: 6px; padding: 21px 24px; margin-top: 30px; background: #14191f; border-color: #303943; border-radius: 16px; }
.vehicle-contact-compact > .eyebrow { display: none; }
.vehicle-contact-compact > h2 { grid-column: 1; grid-row: 1; align-self: end; font-size: 1.1rem; }
.vehicle-contact-compact > p { grid-column: 1; grid-row: 2; margin: 0; font-size: .8125rem; }
.vehicle-contact-compact .vehicle-contact-buttons { grid-column: 2; grid-row: 1/3; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.vehicle-contact-compact .messaging-contact-actions { display: contents; }
.vehicle-contact-compact .vehicle-contact-buttons > a,.vehicle-contact-compact .vehicle-contact-buttons > button,.vehicle-contact-compact .messaging-contact-actions > a { min-height: 44px; padding: 10px 15px; border: 1px solid #3c4756; border-radius: 999px; background: #1b222b; box-shadow: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.vehicle-contact-compact .vehicle-contact-buttons > .vehicle-call-action { background: #e32630; border-color: #e32630; color: #fff; }
.vehicle-contact-compact .vehicle-contact-buttons small,.vehicle-contact-compact .vehicle-contact-icon,.vehicle-contact-compact .messaging-contact-arrow { display: none; }
.vehicle-contact-compact .vehicle-contact-buttons strong { font-size: .8125rem; }
.vehicle-contact-compact .messaging-contact-action svg { width: 15px; height: 15px; }
@media (max-width: 1050px) and (min-width: 651px) {
  .vehicle-page .vehicle-contact-compact { grid-template-columns: 1fr; }
  .vehicle-contact-compact .vehicle-contact-buttons { grid-column: 1; grid-row: 3; margin-top: 8px; }
}
@media (max-width: 850px) {
  .vehicle-page .vehicle-detail { grid-template-columns: minmax(0,1fr); gap: 26px; }
}
@media (max-width: 650px) {
  .vehicle-equipment-list { gap: 12px 18px; }
  .vehicle-equipment-list > li { gap: 7px; font-size: .8125rem; line-height: 1.6; }
  .vehicle-equipment-list svg { width: 14px; height: 14px; flex-basis: 14px; margin-top: 3px; }
  .vehicle-information .vehicle-equipment h2 { margin-bottom: 17px; }
  .vehicle-page .vehicle-contact-compact { grid-template-columns: minmax(0,1fr); padding: 18px; margin-top: 25px; }
  .vehicle-contact-compact .vehicle-contact-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-column: 1; grid-row: 3; margin-top: 10px; gap: 9px; }
  .vehicle-contact-compact .vehicle-contact-buttons > a,.vehicle-contact-compact .vehicle-contact-buttons > button,.vehicle-contact-compact .messaging-contact-actions > a { padding: 10px 8px; min-width: 0; }
  .vehicle-contact-compact > p { line-height: 1.65; }
}
.description-content.is-collapsed { max-height: var(--description-limit, 320px); overflow: hidden; mask-image: linear-gradient(#000 calc(100% - 44px),transparent); }
.description-toggle { margin-top: 16px; }
.detail-description { scroll-margin-top: 100px; }
.gallery-position { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 12px; }
.gallery-position output { min-width: 100px; text-align: center; color: #b9c7d8; font-size: .8125rem; font-variant-numeric: tabular-nums; }
.gallery-position button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #3b4654; border-radius: 50%; background: #171e26; color: #edf2f9; font: inherit; cursor: pointer; }
.gallery-position button:focus-visible { outline: 2px solid white; outline-offset: 3px; }
@media (max-width: 650px) {
  .stock-filter-panel { border: 1px solid #323b47; border-radius: 16px; overflow: hidden; background: #13171c; }
  .stock-filter-panel > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 52px; padding: 14px; color: #e8edf5; font-size: .875rem; font-weight: 650; cursor: pointer; list-style: none; }
  .stock-filter-panel > summary::-webkit-details-marker { display: none; }
  .stock-filter-panel > summary > span { display: flex; align-items: center; gap: 10px; color: #aebccc; font-size: .6875rem; font-weight: 400; }
  .stock-filter-panel summary i { font-size: 1.1rem; font-style: normal; }
  .stock-filter-panel[open] summary i { transform: rotate(180deg); }
  .stock-filter-panel .filter-bar { border: 0; border-top: 1px solid #323b47; border-radius: 0; }
  .stock-results-row { gap: 10px; margin-bottom: 16px; }
  .active-filters { width: 100%; gap: 7px; }
  .active-filters a { min-height: 44px; }
  .detail-spec-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .detail-spec-grid > div { min-width: 0; padding: 12px; }
  .detail-spec-grid strong { font-size: .875rem; }
  .detail-spec-grid small { font-size: .75rem; }
  .equipment-list { columns: 1; }
  .gallery-position { gap: 18px; }
  .gallery-position button { width: 44px; height: 44px; }
}

/* Fiche ouverte (variante B) : libellés éclaircis, valeurs lisibles, sans cartes. */
.vehicle-profile { --profile-label:#bcc9d9; --profile-value:#f3f6fb; --profile-line:#354355; min-width:0; }
.vehicle-profile .vehicle-name-row { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:10px 18px; margin-top:15px; }
.vehicle-profile .vehicle-name-row > h1,.vehicle-profile .vehicle-name-row > h2 { min-width:0; max-width:100%; margin:0; font-size:clamp(2.1rem,3vw,3rem); letter-spacing:-.045em; line-height:1.12; overflow-wrap:anywhere; }
.vehicle-profile .vehicle-name-row > .detail-price { flex:none; margin:0; color:#ff4655; font-size:clamp(1.65rem,2.4vw,2rem); line-height:1.25; white-space:nowrap; }
.vehicle-profile .detail-version { margin:9px 0 0; color:#d0d9e5; font-size:1rem; line-height:1.5; }
.vehicle-keyfacts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:25px 0 23px; padding:16px 0; border-block:1px solid var(--profile-line); }
.vehicle-keyfacts > div { min-width:0; padding:0 14px; border-right:1px solid var(--profile-line); }
.vehicle-keyfacts > div:first-child { padding-left:0; }
.vehicle-keyfacts > div:last-child { border-right:0; padding-right:0; }
.vehicle-keyfacts dt { margin:0; color:var(--profile-label); font-size:.8125rem; line-height:1.45; }
.vehicle-keyfacts dd { margin:7px 0 0; color:var(--profile-value); font-size:clamp(1.05rem,1.65vw,1.25rem); font-weight:750; line-height:1.4; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.vehicle-keyfacts dd > span { color:var(--profile-label); font-size:.75rem; font-weight:500; white-space:nowrap; }
.vehicle-technical > h2,.vehicle-technical > h3 { margin:0 0 7px; color:var(--profile-value); font-size:1rem; font-weight:650; line-height:1.5; letter-spacing:0; }
.vehicle-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; margin:0; }
.vehicle-facts > div { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; min-height:48px; padding:12px 0; border-bottom:1px solid var(--profile-line); }
.vehicle-facts > div:last-child:nth-child(odd) { grid-column:1/-1; }
.vehicle-facts > div:last-child,.vehicle-facts > div:nth-last-child(2):nth-child(odd) { border-bottom:0; }
.vehicle-facts dt { min-width:0; margin:0; color:var(--profile-label); font-size:.8125rem; line-height:1.5; overflow-wrap:anywhere; }
.vehicle-facts dd { flex:0 1 auto; min-width:0; max-width:62%; margin:0; color:var(--profile-value); font-size:.9375rem; font-weight:650; line-height:1.5; text-align:right; overflow-wrap:anywhere; }
.vehicle-information .vehicle-equipment-list > li { color:#d5deeb; }
.vehicle-page .vehicle-contact-compact { grid-template-columns:minmax(0,1fr) minmax(0,560px); gap:7px 25px; margin-top:31px; padding:22px 0 0; border:0; border-top:1px solid #354355; border-radius:0; background:transparent; }
.vehicle-contact-compact > h2 { color:#f3f6fb; }
.vehicle-contact-compact > p { color:#bcc9d9; font-size:.875rem; line-height:1.6; }
.vehicle-contact-compact .vehicle-contact-buttons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr; gap:8px; margin:0; min-width:0; align-items:stretch; }
.vehicle-contact-compact .vehicle-contact-buttons[data-contact-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vehicle-contact-compact .vehicle-contact-buttons[data-contact-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vehicle-contact-compact .vehicle-contact-buttons > a,.vehicle-contact-compact .vehicle-contact-buttons > button,.vehicle-contact-compact .messaging-contact-actions > a { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; height:auto; min-height:48px; padding:10px 9px; border:1px solid #53647a; border-radius:12px; background:transparent; color:#e6edf7; transform:none; }
.vehicle-contact-compact .vehicle-contact-buttons strong { margin:0; color:inherit; font-size:.8125rem; font-weight:700; line-height:1.3; }
.vehicle-contact-compact .vehicle-contact-buttons > .vehicle-call-action { background:#e32630; border-color:#e32630; color:#fff; }
.vehicle-contact-compact .vehicle-call-action:hover { background:#c91b27; }
.vehicle-contact-compact .vehicle-contact-buttons > button:hover,.vehicle-contact-compact .messaging-contact-actions > a:hover { background:#202a36; border-color:#8a9db8; }
.vehicle-contact-compact .messaging-contact-actions > .messenger-contact-action { color:#c1d8ff; }
.vehicle-contact-compact .messaging-contact-actions > .whatsapp-contact-action { color:#b9e5cb; }
.vehicle-contact-compact .vehicle-contact-icon,.vehicle-contact-compact .messaging-contact-action .messaging-contact-icon { display:grid; place-items:center; flex:0 0 16px; width:16px; height:16px; margin:0; padding:0; border-radius:0; background:transparent; color:inherit; }
.vehicle-contact-compact .vehicle-contact-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.vehicle-contact-compact .messaging-contact-icon svg { width:16px; height:16px; fill:currentColor; }
.vehicle-contact-compact .vehicle-contact-buttons a:focus-visible,.vehicle-contact-compact .vehicle-contact-buttons button:focus-visible { outline:2px solid #f3f6fb; outline-offset:3px; }
@media(max-width:1050px) {
  .vehicle-page .vehicle-contact-compact { grid-template-columns:minmax(0,1fr); }
  .vehicle-contact-compact .vehicle-contact-buttons { grid-column:1; grid-row:3; margin-top:10px; }
}
@media(max-width:650px) {
  .vehicle-profile .vehicle-name-row { gap:10px 12px; margin-top:13px; }
  .vehicle-profile .vehicle-name-row > h1,.vehicle-profile .vehicle-name-row > h2 { font-size:clamp(1.85rem,7.5vw,2.25rem); }
  .vehicle-profile .vehicle-name-row > .detail-price { font-size:clamp(1.5rem,6vw,1.85rem); }
  .vehicle-profile .detail-version { font-size:.9375rem; }
  .vehicle-keyfacts { margin:22px 0; padding:15px 0; }
  .vehicle-keyfacts > div,.vehicle-keyfacts > div:first-child,.vehicle-keyfacts > div:last-child { padding-inline:8px; text-align:center; }
  .vehicle-keyfacts dt { font-size:.75rem; }
  .vehicle-keyfacts dd { font-size:1.125rem; line-height:1.4; }
  .vehicle-keyfacts dd > span { font-size:.6875rem; }
  .vehicle-facts { column-gap:20px; }
  .vehicle-facts > div { gap:8px; padding-block:12px; }
  .vehicle-facts dt { font-size:.8125rem; }
  .vehicle-facts dd { max-width:60%; font-size:.875rem; }
  .vehicle-information .vehicle-equipment-list > li { font-size:.875rem; }
  .vehicle-contact-compact .vehicle-contact-buttons,.vehicle-contact-compact .vehicle-contact-buttons[data-contact-count] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .vehicle-page .vehicle-contact-compact { padding:22px 0 0; }
}
@media(max-width:360px) {
  .vehicle-keyfacts > div,.vehicle-keyfacts > div:first-child,.vehicle-keyfacts > div:last-child { padding-inline:5px; }
  .vehicle-keyfacts dd { font-size:1rem; }
  .vehicle-facts { column-gap:15px; }
}
