/* Shared screen-only roles. Font families, weights, print and icon sizes stay
 * with their components. Scoped specificity also covers late widget CSS. */
@media screen {
  /* Display headlines share a scale; compact workflows are separate UI. */
  :root body.dabag-theme :is(.hero-content, .dabag-page-hero__content, .dabag-vehicle-hero__content, .dabag-detail-hero__content) > :is(h1, h2),
  :root body.dabag-theme .dabag-page-hero h1,
  :root body.dabag-theme .dabag-detail-hero h1 {
    font-size: var(--type-hero);
    line-height: 1.02;
    max-width: 100%;
    white-space: normal;
    word-break: normal;
  }

  /* Long unbreakable German words need a bounded display size, not a lone
   * final character. The homepage brand lockup has the same narrow constraint. */
  :root body.dabag-theme.dabag-page-fahrzeugbestand .dabag-page-hero h1 {
    font-size: clamp(1.55rem, 6.8vw, 4.8rem);
  }
  @media (max-width: 767px) {
    :root body.dabag-theme .hero-slide--readable-mobile .hero-content :is(h1, h2) {
      font-size: clamp(1.8rem, 8.5vw, 3.8rem);
    }
  }

  /* Main section headings: one role across every editorial widget family. */
  :root body.dabag-theme .section .section-heading h2,
  :root body.dabag-theme .dabag-content-block:not(.dabag-content-block--instagram):not(.dabag-content-block--promo) .dabag-content-block__copy > h2,
  :root body.dabag-theme :is(.dabag-job-list, .dabag-job-about, .dabag-app-install__copy) > h2,
  :root body.dabag-theme .dabag-app-install .dabag-app-install__inner > h2 {
    font-size: var(--type-section);
    line-height: var(--leading-title);
  }

  :root body.dabag-theme .section .eyebrow,
  :root body.dabag-theme .dabag-page-hero__eyebrow {
    font-size: var(--type-eyebrow);
    line-height: var(--leading-ui);
  }

  :root body.dabag-theme .section .section-heading > p:not(.eyebrow),
  :root body.dabag-theme .dabag-content-block:not(.dabag-content-block--instagram) .dabag-content-block__intro,
  :root body.dabag-theme :is(.hero-content > p, .dabag-page-hero__intro, .dabag-vehicle-hero__text, .dabag-location-info__intro, .dabag-job-intro, .dabag-job-meta) {
    font-size: var(--type-subtitle);
    line-height: var(--leading-ui);
  }

  /* Repeated cards and standalone promotional copy, regardless of page. */
  :root body.dabag-theme .dabag-feature-section .dabag-feature-card h3,
  :root body.dabag-theme :is(#auto-kaufen-highlights, #finanzpartner-loesung, #finanzpartner-starthilfe, #franchise-starthilfe, #franchise-produkte) .dabag-feature-card h3,
  :root body.dabag-theme .service-card h3,
  :root body.dabag-theme :is(.dabag-location-card, .dabag-job-card, .dabag-team-card) h3,
  :root body.dabag-theme .dabag-location-info__title h2,
  :root body.dabag-theme .dabag-location-info__grid h2,
  :root body.dabag-theme .dabag-vehicle-promo h3,
  :root body.dabag-theme .dabag-content-block--promo .dabag-content-block__copy > h2 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  /* Compact benefit/team/product cards are a distinct shared role. */
  :root body.dabag-theme .dabag-feature-section .dabag-feature-grid:is(.dabag-feature-grid--benefits, .dabag-feature-grid--team) .dabag-feature-card h3,
  :root body.dabag-theme :is(#finanzpartner-loesung, #finanzpartner-starthilfe, #franchise-starthilfe, #franchise-produkte) .dabag-feature-card h3,
  :root body.dabag-theme .dabag-location-team .dabag-location-team__identity h3,
  :root body.dabag-theme .dabag-vehicle-tab-card :is(.wpcs-location-info__card-title, .wpcs-location-address__name),
  :root body.dabag-theme .dabag-rich-text h3,
  :root body.dabag-theme .dabag-faq__answer h3 {
    font-size: var(--type-card-compact);
    line-height: var(--leading-title);
  }

  /* Rich text paragraphs and lists share the same size, including nesting. */
  :root body.dabag-theme .section .dabag-rich-text,
  :root body.dabag-theme .section .dabag-rich-text :is(p, ul, ol, li, blockquote),
  :root body.dabag-theme .dabag-feature-section .dabag-feature-card__text,
  :root body.dabag-theme .dabag-feature-section .dabag-feature-card__text :is(p, ul, ol, li),
  :root body.dabag-theme :is(#finanzpartner-loesung, #franchise-starthilfe, #franchise-stimmen, #franchise-produkte) .dabag-feature-card__text,
  :root body.dabag-theme .service-card p,
  :root body.dabag-theme .section .dabag-faq__answer,
  :root body.dabag-theme .section .dabag-faq__answer :is(p, ul, ol, li),
  :root body.dabag-theme .dabag-location-info__grid :is(p, dt, dd, address),
  :root body.dabag-theme .dabag-location-services__list > li,
  :root body.dabag-theme .dabag-app-install__intro,
  :root body.dabag-theme .dabag-parking__empty p {
    font-size: var(--type-body);
    line-height: var(--leading-body);
  }

  :root body.dabag-theme .dabag-rich-text h2,
  :root body.dabag-theme .dabag-faq__answer h2 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .dabag-rich-text h4,
  :root body.dabag-theme .dabag-faq__answer h4 {
    font-size: var(--type-body);
    line-height: var(--leading-title);
  }

  /* Ordinary actions/labels use one readable UI size. Icons and price badges
   * are intentionally not selected; their current metrics remain unchanged. */
  :root body.dabag-theme .section .button:not(tr),
  :root body.dabag-theme :is(.hero, .dabag-page-hero, .dabag-vehicle-hero, .dabag-detail-hero) .button,
  :root body.dabag-theme .dabag-feature-section .dabag-text-link,
  :root body.dabag-theme #auto-kaufen-highlights .dabag-text-link,
  :root body.dabag-theme .dabag-content-block__copy > .button,
  :root body.dabag-theme #auto-kaufen-auto-tinder .dabag-content-block__copy > .button,
  :root body.dabag-theme :is(.dabag-staging-form__button, .dabag-feature-section__toggle, .dabag-vehicle-selection__more, .text-toggle),
  :root body.dabag-theme .dabag-faq .dabag-faq__item summary,
  :root body.dabag-theme :is(.dabag-staging-form, .dabag-smart-form, .dabag-workshop-booking) :is(label, input:not([type="checkbox"]):not([type="radio"]), select, textarea),
  :root body.dabag-theme .dabag-smart-form__choice-group > legend {
    font-size: var(--type-button);
    line-height: var(--leading-ui);
  }

  /* Contact values remain compact even when the surrounding section is large. */
  :root body.dabag-theme .dabag-location-team :is(.dabag-location-team__role, a.dabag-team-card__contact),
  :root body.dabag-theme .dabag-location-team a.dabag-team-card__contact:is(:visited, :hover, :focus, :active),
  :root body.dabag-theme .dabag-team-card__contacts,
  :root body.dabag-theme .location-result small,
  :root body.dabag-theme :is(.dabag-source-note, .dabag-smart-form__progress, .dabag-smart-form__step-intro, .dabag-staging-form__status) {
    font-size: var(--type-small);
    line-height: var(--leading-ui);
  }

  /* Native integrations: normalize text roles, never data, fonts or icons. */
  :root body.dabag-theme .dabag-vehicle-card .dabag-vehicle-card__body h3 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .dabag-vehicle-card :is(.dabag-vehicle-card__facts, .dabag-vehicle-card__fact dd) {
    font-size: var(--type-small);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme .dabag-vehicle-card .dabag-vehicle-card__badge,
  :root body.dabag-theme .dabag-vehicle-card .dabag-vehicle-card__badges > span {
    font-size: var(--type-badge);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme.dabag-wpcarsync-live .dabag-vehicle-panel :is(.wpcs-checkbox__label, .dxim_filter > label, .wpcs-filter__label),
  :root body.dabag-theme.dabag-wpcarsync-live .dabag-vehicle-panel .dabag-vehicle-feature-filter__group .dxim_filter[data-filter-type="checkbox"] > label,
  :root body.dabag-theme .dabag-vehicle-panel :is(input[type="search"], input[type="text"], select),
  :root body.dabag-theme .dabag-vehicle-feature-filter__choice,
  :root body.dabag-theme .dabag-vehicle-feature-filter > summary {
    font-size: var(--type-button);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme .dabag-vehicle-tab-card :is(.wpcs-equip__item, .wpcs-location-address__street, .wpcs-location-address__city, .wpcs-location-address__contact-row, .wpcs-location-hours__day, .wpcs-location-hours__time) {
    font-size: var(--type-body);
    line-height: var(--leading-body);
  }

  /* Shared compact workflow typography respects the existing viewport fit. */
  :root body.dabag-theme .dabag-smart-form__heading h1 {
    font-size: clamp(1.875rem, 4.5vw, 3.25rem);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .dabag-smart-form__step > legend {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .dabag-smart-form__heading > p {
    font-size: var(--type-button);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme .dabag-smart-form .button {
    font-size: var(--type-button);
    line-height: var(--leading-ui);
  }

  :root body.dabag-theme .dabag-app-install .dabag-app-install__button,
  :root body.dabag-theme .quick-card span,
  :root body.dabag-theme .location-result strong,
  :root body.dabag-theme .dabag-service-grid h3,
  :root body.dabag-theme .dabag-job-list__grid p {
    font-size: var(--type-button);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme .site-footer,
  :root body.dabag-theme .dabag-weekly-deal__label,
  :root body.dabag-theme .dabag-location-search-status,
  :root body.dabag-theme .facts-grid dd {
    font-size: var(--type-small);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme .facts-grid dt,
  :root body.dabag-theme .dabag-job-about__facts strong {
    font-size: var(--type-section);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .offer-card h3 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme :is(.offer-card li, .offer-subline) {
    font-size: var(--type-body);
    line-height: var(--leading-body);
  }
  :root body.dabag-theme .dabag-workshop-booking__step > h3 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }

  :root body.dabag-theme .dabag-parking__empty h3,
  :root body.dabag-theme .dabag-vehicle-inquiry-modal__heading h2 {
    font-size: var(--type-section);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .dabag-parking-card h3,
  :root body.dabag-theme .dabag-parking__summary strong,
  :root body.dabag-theme .dabag-vehicle-single__contact-summary h3 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme .dabag-parking__comparison p,
  :root body.dabag-theme .dabag-comparison #wpcs_compare_table tr:not(.price):not(.price_netto) td,
  :root body.dabag-theme .dabag-comparison #wpcs_compare_table tr:not(.price):not(.price_netto) td:first-child:not(.header) {
    font-size: var(--type-small);
    line-height: var(--leading-ui);
  }
  :root body.dabag-theme .dabag-comparison #wpcs_compare_table tr.title :is(a, h1, h2, h3, h4) {
    font-size: var(--type-card-compact);
    line-height: var(--leading-title);
  }

  /* The existing Tinder illustration sits beside half-width text. Its headline
   * is a promo title, not a full-width section heading. */
  :root body.dabag-theme #auto-kaufen-auto-tinder .dabag-content-block__copy > h2 {
    font-size: var(--type-card-title);
    line-height: var(--leading-title);
  }
  :root body.dabag-theme #auto-kaufen-auto-tinder .dabag-content-block__intro {
    font-size: var(--type-body);
    line-height: var(--leading-body);
  }
}
