:root {
  --green: #077331;
  --green-bright: #0b8840;
  --green-text: #077331;
  --line: #d3dfd5;
  --surface: #fafbf7;
  --consult-ink: #143a26;
  --consult-accent: #ac500a;
}

.site-header .brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.site-header .brand img { flex: none; }
.site-header .brand-label, .site-header .brand-name { display: block; }
.site-header .brand-name {
  color: var(--consult-ink);
  font-size: clamp(15px, 2.1vw, 23px);
  line-height: 1.25;
  word-break: auto-phrase;
}
.site-header .header-line {
  padding-inline: clamp(12px, 2vw, 22px);
  gap: 6px;
  border-radius: 100px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .site-header .header-guide { display: none; }
}
@media (max-width: 390px) {
  .site-header .brand img { width: 34px; height: 34px; }
  .site-header .brand { gap: 6px; }
}

.consult-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr);
  align-items: center;
  overflow: hidden;
  min-height: 360px;
  margin: clamp(14px, 2.4vw, 28px) 0 18px;
  border: 1px solid #ebdfbd;
  border-radius: 20px;
  background: linear-gradient(112deg, #fff9e8 12%, #fffdf7 56%, #e5f3d9 100%);
}
.consult-hero-copy {
  position: relative;
  z-index: 1;
  padding: clamp(24px, 4.8vw, 58px);
}
.consult-kicker {
  display: inline-block;
  color: var(--green-text);
  font-size: clamp(13px, 1.6vw, 17px);
  font-weight: 800;
  background: linear-gradient(transparent 72%, #ffec9f 72%);
}
.consult-hero h1 {
  margin: 12px 0;
  color: var(--consult-ink);
  font-size: clamp(30px, 4.8vw, 62px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.consult-hero h1 strong { color: var(--consult-accent); }
.consult-hero-note {
  color: #3c4d42;
  font-size: clamp(13px, 1.6vw, 17px);
  font-weight: 650;
  line-height: 1.7;
}
.consult-hero-visual {
  position: absolute;
  inset: 0 0 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 44%;
  pointer-events: none;
}
.consult-hero-visual::before {
  position: absolute;
  inset: 10% 12% auto;
  aspect-ratio: 1;
  border: 1px solid #e4e9c4;
  border-radius: 50%;
  background: #f1f5d6;
  content: "";
}
.consult-hero-visual img {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  object-position: center bottom;
}
.consult-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.consult-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 16px;
  border: 1px solid var(--green);
  border-radius: 99px;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.consult-actions .consult-primary, .quote-consult .line-button, .mobile-total #seeBreakdown {
  background: var(--green);
  color: #fff;
}
.consult-actions .consult-primary:hover, .quote-consult .line-button:hover { background: var(--green-bright); }
.consult-actions .consult-secondary { color: var(--green-text); background: #fff; }
.consult-actions .consult-secondary:hover { background: #eef7e9; }

.calculator-main > .panel > .section-heading {
  gap: 8px;
  padding: clamp(8px, 1.4vw, 14px);
  border: 0;
  border-radius: 9px;
  background: var(--green);
  color: #fff;
}
.calculator-main > .panel > .section-heading h2 {
  color: #fff;
  font-size: clamp(17px, 2.2vw, 23px);
  line-height: 1.3;
}
.calculator-main .step-num { background: #ffda80; color: #583004; }
.calculator-main .section-heading > .optional-tag { color: #fff5c7; }
.calculator-main fieldset legend,
.calculator-main .dates > label,
.calculator-main .ward-field,
.calculator-main .contract-controls > label { font-size: 15px; }
.vehicle-body h3 { font-size: clamp(15px, 1.9vw, 19px); line-height: 1.4; word-break: auto-phrase; }
.vehicle-body .vehicle-model { color: #45584e; font-size: clamp(12px, 1.5vw, 15px); line-height: 1.45; }
.vehicle-price strong { font-size: clamp(20px, 4.7vw, 28px); }
.vehicle-price small, .vehicle-body .vehicle-reference { font-size: 11px; }
.price-table th[scope="row"] { min-width: 9em; color: var(--ink); font-size: 14px; white-space: normal; }
.price-table .table-model { display: block; margin-top: 3px; color: #45584e; font-size: 12px; font-weight: 500; line-height: 1.5; }
.price-table td { font-size: 13px; }
.price-table td button[aria-pressed=true] { color: #fff; }
.estimate { border-top-color: var(--green); }
.estimate-heading h2 { font-size: clamp(16px, 1.7vw, 20px); }
.estimate .total { color: var(--consult-accent); font-size: clamp(36px, 7vw, 50px); line-height: 1.2; }
.estimate .total-label { font-size: 14px; }
.mobile-total > div > span { font-size: 11px; }
.quote-consult {
  margin-top: 15px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f4f9ed;
}
.quote-consult h3 { color: var(--consult-ink); font-size: 15px; }
.quote-consult .copy-help { margin-top: 3px; font-size: 12px; }
.quote-consult .copy-button { margin-top: 10px; font-size: 13px; }
.quote-consult .line-button { font-size: 13px; }

.quote-showroom { max-width: 760px; margin: 22px auto 18px; }
.quote-showroom > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #eef7e9;
  color: var(--consult-ink);
  font-size: 15px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}
.quote-showroom > summary::-webkit-details-marker { display: none; }
.quote-showroom[open] > summary span { transform: rotate(45deg); }
.quote-showroom .showroom-hero { display: block; margin-top: 8px; padding: 0; min-height: 0; background: none; }
.quote-showroom .hero-visual { width: 100%; margin: 0; border-color: var(--line); }

.consult-flow {
  position: relative;
  overflow: hidden;
  margin-top: clamp(20px, 4vw, 40px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #edf6e6;
}
.consult-flow-copy { position: relative; z-index: 1; padding: clamp(20px, 4vw, 46px); }
.consult-flow h2 {
  margin-top: 5px;
  color: var(--consult-ink);
  font-size: clamp(22px, 3.4vw, 40px);
  line-height: 1.25;
  word-break: auto-phrase;
}
.consult-flow ol { display: grid; gap: 10px; margin: 18px 0 0; padding-left: 1.5em; }
.consult-flow li { padding-left: 4px; color: var(--consult-ink); }
.consult-flow li::marker { color: var(--green-text); font-weight: 800; }
.consult-flow li span { display: block; color: #3c4d42; font-size: 13px; }
.consult-flow > img {
  position: absolute;
  right: 5%;
  bottom: 0;
  width: auto;
  height: 93%;
  max-height: 340px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .consult-hero { grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); }
  .consult-hero-visual { width: 38%; }
}
@media (max-width: 640px) {
  .consult-hero { display: block; min-height: 0; border-radius: 15px; margin-bottom: 12px; }
  .consult-hero-copy { padding: 18px 14px 15px; }
  .consult-hero h1 { font-size: clamp(23px, 6.2vw, 38px); margin-block: 9px; }
  .consult-hero-note { max-width: 72%; }
  .consult-hero-note br { display: none; }
  .consult-hero-visual { inset: 0 0 auto auto; height: 77%; width: 28%; }
  .consult-hero-visual::before { inset: 20% 1% auto; }
  .consult-hero-visual img { width: 122%; height: 90%; max-width: none; object-fit: contain; object-position: center bottom; }
  .consult-hero .consult-actions { display: grid; gap: 7px; margin-top: 12px; }
  .consult-actions a { min-height: 44px; padding: 7px 10px; }
  .calculator-main > .panel > .section-heading { margin-bottom: 14px; }
  .calculator-main .step-num { padding: 0; }
  .consult-flow > img { display: none; }
}
@media (max-width: 360px) {
  .consult-hero-visual { opacity: .85; }
  .consult-hero-note { max-width: 77%; }
}

/* Shared price catalogue: period, vehicle and optional coverage only. */
.price-range {
  display: grid;
  gap: 5px;
  margin: 12px 0 18px;
  padding: 16px 18px;
  border: 1px solid #d8e6d7;
  border-radius: 12px;
  background: #f4f9ed;
}
.price-range > span { color: #3c5744; font-size: 13px; font-weight: 700; }
.price-range > strong { color: #94500b; font-size: clamp(21px, 3.2vw, 30px); line-height: 1.35; font-variant-numeric: tabular-nums; }
.price-range > small { color: #53675b; font-size: 11px; }
.delivery-consult-note { margin-top: 16px; padding: 13px; border: 1px solid #d3dfd5; border-radius: 10px; background: #fafbf7; }
.delivery-consult-note > strong { color: #143a26; font-size: 14px; }
.delivery-consult-note p { margin-top: 5px; color: #3c4d42; font-size: 13px; line-height: 1.7; }
.delivery-consult-note small { display: block; margin-top: 5px; color: #53675b; font-size: 11px; }
@media (max-width: 390px) {
  .price-range { padding: 12px; }
  .price-range > strong { font-size: 20px; }
}
