/* Stubero automotive direction, 17/10/2026.
 * Original implementation informed by the official Audi, BMW and Porsche sites.
 * Manrope is already self-hosted under OFL; no manufacturer fonts or assets used.
 * Native catalogue, image proportions and form behaviour are preserved.
 */
:root {
  --stubero-serif: var(--stubero-sans);
  --stubero-ink: #202122;
  --stubero-muted: #626466;
  --stubero-line: #dedfe0;
  --stubero-surface: #f2f3f4;
  --stubero-radius: 4px;
}

html body h1, html body h2, html body h3,
html body .rte h1, html body .rte h2, html body .rte h3 {
  font-family: var(--stubero-sans);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.035em;
}
html body #center_column > h1,
html body #center_column > .page-heading,
html body#contact #content > h1 {
  color: #202122;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.2;
  padding-bottom: 24px;
  margin-bottom: 32px;
}
html body .spl-nav-links > a { font-size: 13px; }
html body #tptnsearch #search_query_top { font-size: 13px; }

/* Photography carries the homepage; the gold is an accent for Stubero. */
html body#index .stubero-premium .srp-hero {
  grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
}
html body#index .stubero-premium .srp-hero__copy {
  padding-top: 56px;
  padding-bottom: 56px;
}
html body#index .stubero-premium .srp-hero h1 {
  font-family: var(--stubero-sans);
  font-size: clamp(34px, 3.65vw, 58px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.04em;
}
html body#index .stubero-premium .srp-hero h1 span { color: #fff; }
html body#index .stubero-premium .srp-hero__text {
  font-size: 15px;
  line-height: 1.7;
  color: #d3d5d6;
}
.stubero-premium .srp-eyebrow { letter-spacing: .14em; }
.stubero-premium h2 {
  font-family: var(--stubero-sans);
  font-size: clamp(28px, 3.1vw, 44px);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -.035em;
}
.stubero-premium .srp-about { padding-top: 88px; padding-bottom: 72px; }
.stubero-premium .srp-quote p {
  font-family: var(--stubero-sans);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
}
.stubero-premium .srp-values__inner { padding-top: 26px; padding-bottom: 26px; }
.stubero-premium .srp-value__title { font-size: 14px; letter-spacing: 0; }
.stubero-premium .srp-value__text { font-size: 12px; }
.stubero-premium .srp-cars { gap: 32px 24px; }
.stubero-premium .srp-car { border-radius: var(--stubero-radius); }
.stubero-premium .srp-car__image { border-radius: 3px 3px 0 0; }
.stubero-premium .srp-car__body { padding: 24px; }
html body#index .stubero-premium .srp-car h3 {
  font-family: var(--stubero-sans);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.025em;
}
html body#index .stubero-premium .srp-car__features { font-size: 12px; }
.stubero-premium .srp-car__price { font-size: 24px; font-weight: 600; }
.stubero-premium .srp-service__number { font-size: 26px; font-weight: 400; }
.stubero-premium .srp-service h3 { font-size: 21px; line-height: 1.35; }
.stubero-premium .srp-contact h2 { font-size: clamp(28px, 3vw, 42px); }

/* One consistent primary action, with a visible text label. */
html body .srp-button, html body .spl-enquiry .srp-button {
  min-height: 50px;
  padding: 13px 22px;
  border-radius: var(--stubero-radius);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
}
html body #center_column .button,
html body #center_column .button_large,
html body #center_column .button_small,
html body #center_column .exclusive,
html body #center_column .exclusive_large {
  min-height: 48px;
  border-radius: var(--stubero-radius);
  font-size: 13px;
}

/* Catalogue: model, specifications, price, then a clear next step. */
html body #product_list { gap: 32px 24px; }
html body #product_list > li { border-color: #dedfe0; border-radius: var(--stubero-radius); }
html body #product_list > li .product_img_link { border-radius: 3px 3px 0 0; }
html body #product_list > li .right_block { padding: 24px !important; }
html body #product_list .prod_name {
  font-family: var(--stubero-sans);
  font-size: 20px !important;
  font-weight: 500;
  line-height: 1.35 !important;
  letter-spacing: -.025em;
}
html body #product_list .product_desc { font-size: 12px; }
html body #product_list .ttc_price { font-size: 22px !important; }
html body #product_list .spl-card-discover { min-height: 48px; font-size: 13px; }
html body .sortPagiBar { border: 0; background: transparent; padding: 0; margin: 14px 0; }
html body #center_column .prodcompare .button { color: #202122; background: #fff; border-color: #bcbec0; }
html body #center_column .prodcompare .button:hover { background: #f2f3f4; border-color: #202122; }
html body #left_column .title_block { font-family: var(--stubero-sans); font-size: 16px; }

/* Product galleries keep the approved room around the vehicle and native zoom. */
html body#product .spl-vehicle #pb-left-column { display: flex; flex-direction: column; }
html body#product .spl-vehicle #pb-left-column > h1 { order: -2; margin-bottom: 16px; }
html body#product .spl-vehicle #buy_block { order: -1; margin: 0 0 24px; }
html body#product .spl-vehicle #our_price_display .ttc_price { order: -1; }
html body#product #pb-left-column > h1 {
  font-family: var(--stubero-sans);
  font-size: clamp(28px, 2.65vw, 40px);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -.035em;
}
html body#product #image-block { border-radius: var(--stubero-radius); }
html body#product #image-block .span_link { border-radius: var(--stubero-radius); font-size: 12px; }
.spl-vehicle-intro { font-size: 14px; line-height: 1.8; }
.spl-highlights li { font-size: 11px; border-radius: 3px; }
.spl-facts { gap: 20px 24px; padding-top: 24px; padding-bottom: 24px; }
.spl-facts dt { color: #737577; font-size: 11px; }
.spl-facts dd { font-size: 14px; }
.spl-call { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
.spl-order-toggle, .spl-native-details, .spl-tour { font-size: 12px; }
html body .spl-equipment h2 { font-size: 25px !important; }
.spl-equipment li { font-size: 13px; }
.srp-equipment .srp-equipment__title { font-size: clamp(27px, 3vw, 40px); font-weight: 400; }
.srp-equipment h3 { font-weight: 500; }

/* Contact and editorial pages share the same type hierarchy. */
.sc-intro h2 { font-family: var(--stubero-sans); font-size: clamp(28px, 3vw, 40px); font-weight: 400; line-height: 1.22; letter-spacing: -.035em; }
.sc-selection { font-family: var(--stubero-sans); font-size: 28px; font-weight: 400; line-height: 1.25; letter-spacing: -.03em; }
.sc-eyebrow, .sc-preview-kicker { letter-spacing: .14em; }
.sc-steps button { font-size: 12px; }
.sc-intro p { font-size: 14px; }
html body#contact .cfrow > span:first-child,
html body#contact .cfrow > .sc-label { font-size: 12px; }
.sc-pick { min-height: 44px; border-radius: var(--stubero-radius); font-size: 12px; }
html body .rte h2 { font-size: clamp(27px, 2.8vw, 38px); }
html body .rte h3 { font-size: clamp(22px, 2.1vw, 28px); }

@media (max-width: 1100px) {
  html body .spl-nav-links { gap: 24px; }
  html body#index .stubero-premium .srp-hero__copy { padding-left: 36px; padding-right: 28px; }
}
@media (max-width: 760px) {
  html body#index .stubero-premium .srp-hero { grid-template-columns: 1fr; }
  html body#index .stubero-premium .srp-hero__copy { min-height: 0; padding: 38px 24px 42px; }
  html body#index .stubero-premium .srp-hero h1 { max-width: 560px; font-size: clamp(33px, 5.6vw, 42px); }
  html body#index .stubero-premium .srp-hero__text { font-size: 14px; }
  .stubero-premium .srp-about { padding-top: 56px; padding-bottom: 48px; }
  .stubero-premium .srp-quote p { font-size: 16px; }
  .stubero-premium .srp-car__body { padding: 20px; }
  html body#index .stubero-premium .srp-car h3 { font-size: 20px; }
  html body #center_column > h1, html body #center_column > .page-heading,
  html body#contact #content > h1 { font-size: 32px; }
  html body#product #pb-left-column > h1 { font-size: 30px; }
  html body #product_list { gap: 24px 16px; }
  html body #product_list > li .right_block { padding: 20px !important; }
  html body #product_list .prod_name { font-size: 20px !important; }
  html body #product_list .ttc_price { font-size: 21px !important; }
  html body .srp-button, html body .spl-enquiry .srp-button { min-height: 48px; }
  .sc-intro h2 { font-size: 32px; }
  .sc-selection { font-size: 26px; }
}
@media (max-width: 480px) {
  html body .spl-nav-links > a { font-size: 13px; }
  html body #product_list .prod_name { font-size: 23px !important; }
  html body#index .stubero-premium .srp-car h3 { font-size: 23px; }
}
