/* One typography per component role, on every page.
 * Loaded after the page-family sheets (page-hero-assets.tpl). This sheet holds only
 * the theme's own harmonisation: the type scale and the theme's blue headings,
 * reading copy and buttons. Module components (Skrupt carousels, categories, brands,
 * policies, pages, documents, RGPD centre, support, reviews, custom content) apply the
 * same tokens from their module's custom CSS. Homepage components live in home-orientation.css. */

/* The type scale (--vvp-type-*) shared by the theme headings below and by the modules' custom CSS
 * lives in vapovor-tokens.css, with its mobile values (the modules' scoped CSS cannot hold @media). */



/* Blue section titles of the theme's own templates and content components. */
body:not(#index) #wrapper #main :is(
  .vvp-ui-band > h2, h2.vvp-ui-heading, .product-features-heading > h2, .vvp-story-text > h2,
  .account-dashboard__group > h2, .vvp-error-find > h2
):not(.sr-only),
body#index #wrapper #main :is(
  .vvp-home-reference-lead > h2, .vvp-reading-heading > h2, .vvp-home-company h2.vvp-ui-heading,
  .vvp-home-faq-main > h2, .vvp-home-documents-copy > h2
) {
  font-family: var(--vvp-type-ui);
  font-size: var(--vvp-type-section-size); font-weight: var(--vvp-type-section-weight); line-height: var(--vvp-type-section-line);
  letter-spacing: var(--vvp-type-section-tracking); text-transform: none; color: var(--vvp-type-heading-color);
}
/* The documents band is navy: its title stays white. */
body#index #wrapper #main .vvp-home-documents-panel .vvp-home-documents-copy > h2.vvp-title { color: #fff; }

/* Card title of the theme's cart summary. */
body:not(#index) #wrapper #main h2.cart-summary-title:not(.sr-only) {
  font-family: var(--vvp-type-ui);
  font-size: var(--vvp-type-card-size); font-weight: var(--vvp-type-card-weight); line-height: var(--vvp-type-card-line);
  letter-spacing: var(--vvp-type-card-tracking); text-transform: none;
}

/* Split titles (theme utility classes) keep the editorial contrast defined in page-hero.css. */
body:not(#index) #wrapper #main h2 :is(.vvp-title__lead,.vvp-title__soft),
body#index #wrapper #main h2 :is(.vvp-title__lead,.vvp-title__soft) {
  font-size: inherit; line-height: inherit; letter-spacing: inherit;
}
body:not(#index) #wrapper #main h2 .vvp-title__lead, body#index #wrapper #main h2 .vvp-title__lead { font-weight: 550; }
body:not(#index) #wrapper #main h2 .vvp-title__soft, body#index #wrapper #main h2 .vvp-title__soft { font-weight: 300; }

/* Long reading copy of CMS pages (guides set theirs in Skrupt Pages > Apparence). */
body:not(#index) #wrapper #main .page-cms :is(p,li):not(.vvp-page-hero *) {
  font-size: var(--vvp-type-reading-size); line-height: var(--vvp-type-reading-line);
}

/* Primary text buttons (PrestaShop and theme controls) follow the design-system control.
 * Icon-only cart buttons, compact product cards and the product purchase panel keep their own shape. */
body:not(#index) #wrapper #main :is(.btn-primary,.vvp-ui-button--primary):not(.add-to-cart,.skrupt-atc-card-button,.btn-touchspin,.product-miniature *) {
  min-height: var(--vvp-ui-control-height,48px); border-radius: var(--vvp-ds-radius-action,999px);
  font-size: 15px; font-weight: var(--vvp-ui-control-weight,500); line-height: 22px;
  letter-spacing: normal; text-transform: none;
}
body:not(#index) #wrapper #main .product-add-to-cart .btn-primary.add-to-cart {
  font-size: 15px; font-weight: var(--vvp-ui-control-weight,500); line-height: 22px;
}
