.vehicle-insurance-page {
  --vi-ink:#17463e;
  --vi-muted:#5b726d;
  --vi-line:#d9e5df;
  --vi-surface:#fff;
  --vi-soft:#edf5f0;
  --vi-link:#087f70;
  background:#f4f7f5;
}
.vehicle-insurance-main { width:100%; max-width:1200px; margin:0 auto; padding:24px 28px 48px; }
.vehicle-insurance-back { display:flex; flex-wrap:wrap; gap:4px 24px; margin-bottom:20px; }
.vehicle-insurance-back a { display:inline-flex; align-items:center; min-height:44px; color:var(--vi-link); font-size:12px; font-weight:600; }
.vehicle-insurance-back a:hover { text-decoration:underline; text-underline-offset:3px; }
.vehicle-insurance-heading { margin-bottom:28px; }
.vehicle-insurance-heading h1 { margin:0; color:var(--vi-ink); font-size:clamp(26px,3vw,34px); line-height:1.25; letter-spacing:-.8px; font-weight:700; }
.vehicle-insurance-heading p { max-width:70ch; margin:12px 0 0; color:var(--vi-muted); font-size:14px; line-height:1.8; }
.vehicle-insurance-table-wrap { border:1px solid var(--vi-line); border-radius:12px; background:var(--vi-surface); overflow:hidden; }
.vehicle-insurance-table { width:100%; border-collapse:collapse; color:var(--vi-ink); font-size:13px; line-height:1.7; text-align:left; }
.vehicle-insurance-table thead th { padding:16px 24px; border-bottom:1px solid var(--vi-line); background:var(--vi-soft); color:var(--vi-muted); font-size:12px; font-weight:650; }
.vehicle-insurance-table tbody th,.vehicle-insurance-table td { padding:16px 24px; border-bottom:1px solid var(--vi-line); vertical-align:middle; overflow-wrap:anywhere; }
.vehicle-insurance-table tbody th { width:34%; font-size:15px; font-weight:700; }
.vehicle-insurance-table tbody tr:last-child > * { border-bottom:0; }
.vehicle-insurance-table td[data-label="Tipo"] { color:var(--vi-muted); }
.vehicle-insurance-table td[data-label="Página web"] { width:180px; }
.vehicle-insurance-site { display:inline-flex; align-items:center; gap:7px; min-height:44px; color:var(--vi-link); font-size:12px; font-weight:650; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.vehicle-insurance-site:hover { text-decoration-thickness:2px; }
.vehicle-insurance-note { margin:20px 0 0; padding:15px 18px; border-left:3px solid var(--vi-link); background:var(--vi-soft); color:var(--vi-muted); font-size:12px; line-height:1.8; }
.vehicle-insurance-main a:focus-visible { outline:3px solid var(--vi-link); outline-offset:4px; border-radius:3px; }
.vehicle-insurance-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Insurance entry point on vehicle and motorcycle detail pages. */
.vehicle-service-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; }
.vehicle-service-actions .vehicle-financing-link,.vehicle-service-actions .vehicle-insurance-link { margin:0; }
.vehicle-insurance-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:18px 0 0; padding:10px 17px; border:1px solid var(--accent); border-radius:8px; background:var(--soft); color:var(--accent); font-size:13px; font-weight:650; line-height:1.5; }
.vehicle-insurance-link:hover { text-decoration:underline; text-underline-offset:3px; }
.vehicle-insurance-link:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }

html[data-theme="dark"] .vehicle-insurance-page { --vi-ink:#e4f0eb; --vi-muted:#b2c6be; --vi-line:#344650; --vi-surface:#19252e; --vi-soft:#213630; --vi-link:#90e8d0; }
@media(max-width:640px) {
  .vehicle-insurance-main { padding:18px 20px 34px; }
  .vehicle-insurance-back { gap:4px 20px; margin-bottom:15px; }
  .vehicle-insurance-heading { margin-bottom:22px; }
  .vehicle-insurance-heading h1 { font-size:28px; letter-spacing:-.6px; }
  .vehicle-insurance-heading p { font-size:13px; }
  .vehicle-insurance-table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; }
  .vehicle-insurance-table,.vehicle-insurance-table tbody { display:block; width:100%; }
  .vehicle-insurance-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .vehicle-insurance-table tbody { display:grid; gap:16px; }
  .vehicle-insurance-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 16px; padding:20px; border:1px solid var(--vi-line); border-radius:12px; background:var(--vi-surface); }
  .vehicle-insurance-table tbody th,.vehicle-insurance-table td { display:block; width:auto; min-width:0; padding:0; border:0; font-size:13px; }
  .vehicle-insurance-table tbody th { grid-column:1 / -1; padding-bottom:14px; border-bottom:1px solid var(--vi-line); font-size:17px; }
  .vehicle-insurance-table tbody tr:last-child > th { border-bottom:1px solid var(--vi-line); }
  .vehicle-insurance-table td::before { content:attr(data-label); display:block; margin-bottom:5px; color:var(--vi-muted); font-size:11px; font-weight:500; }
  .vehicle-insurance-table td[data-label="Página web"] { width:auto; }
  .vehicle-insurance-note { padding:14px 16px; }
}
@media(max-width:360px) {
  .vehicle-insurance-main { padding-left:14px; padding-right:14px; }
  .vehicle-insurance-table tbody tr { padding:18px; gap:17px 13px; }
  .vehicle-insurance-heading h1 { font-size:26px; }
}
