:root {
  --text-xs: .75rem;
  --text-sm: .8125rem;
  --text-control: .875rem;
  --text-body: 1rem;
  --text-field: 1rem;
  --text-panel: 1.125rem;
  --text-section: 1.5rem;
  --text-page: 1.75rem;
  --text-public-section: 2.25rem;
}

body:is(.app-public, .app-connected) { font-family: 'Roboto', Arial, sans-serif; font-size: var(--text-body); line-height: 1.6; }
body:is(.app-public, .app-connected) :is(h1, h2, h3, h4, h5, h6, .btn, .form-label) { letter-spacing: 0 !important; }
body:is(.app-public, .app-connected) h2 { font-size: var(--text-section) !important; line-height: 1.3; }
body:is(.app-public, .app-connected) :is(h3, h4) { font-size: var(--text-panel) !important; line-height: 1.4; }
body:is(.app-public, .app-connected) h5 { font-size: var(--text-field) !important; line-height: 1.4; }
body:is(.app-public, .app-connected) h6 { font-size: var(--text-control) !important; line-height: 1.4; }

body:is(.app-public, .app-connected) :is(.page-hero, .cart-page-hero, .orders-page-hero, .order-show-hero, .profile-page-hero, .clients-page-hero, .settings-page-hero, .import-page-hero, .reduction-page-hero, .ufd-page-hero, .notification-page-hero, .simple-page-hero, .dash-hero, .slide-admin-hero) :is(h1, h2, h3),
body.app-public .login-title,
body.app-connected .container > .d-flex > h1.h4,
body.app-connected .container-fluid > .d-flex > h1.h4 {
  font: 700 var(--text-page)/1.25 'Montserrat', Arial, sans-serif !important;
  overflow-wrap: anywhere;
}
body:is(.app-public, .app-connected) :is(.page-hero, .cart-page-hero, .orders-page-hero, .order-show-hero, .profile-page-hero, .clients-page-hero, .settings-page-hero, .import-page-hero, .reduction-page-hero, .ufd-page-hero, .notification-page-hero, .simple-page-hero, .dash-hero) :is(.subtitle, .small, p),
body.app-public .login-subtitle { font-size: var(--text-control) !important; line-height: 1.6 !important; }

body:is(.app-public, .app-connected) :is(.section-title, .profile-section-title, .settings-section-title, .dash-section-title, .bulk-title, .import-section-title, .ufd-section-title, .card-title) { font: 600 var(--text-panel)/1.4 'Montserrat', Arial, sans-serif !important; }
body.app-connected .filters-panel__title,
body.app-connected .cart-summary-title { font: 600 var(--text-field)/1.4 'Montserrat', Arial, sans-serif !important; }
body:is(.app-public, .app-connected) :is(.modal-title, .orders-delete-modal__title) { font: 600 1.25rem/1.35 'Montserrat', Arial, sans-serif !important; }
body.app-connected .admin-settings-modal__title { font: 700 var(--text-page)/1.25 'Montserrat', Arial, sans-serif !important; }
body.app-connected .admin-settings-modal__label { font-size: var(--text-field) !important; line-height: 1.4 !important; }
body.app-connected .admin-settings-modal__desc { font-size: var(--text-sm) !important; line-height: 1.5 !important; }
body.app-connected .admin-settings-modal__subtitle { font-size: var(--text-body) !important; line-height: 1.6 !important; }

body:is(.app-public, .app-connected) .btn { font-size: var(--text-control) !important; line-height: 1.45 !important; white-space: normal; }
body:is(.app-public, .app-connected) .btn-sm { font-size: var(--text-sm) !important; }
body:is(.app-public, .app-connected) .btn-lg { font-size: var(--text-field) !important; }
body:is(.app-public, .app-connected) :is(.form-control, .form-select, .qty-field) { font: 400 var(--text-field)/1.5 'Roboto', Arial, sans-serif !important; }
body:is(.app-public, .app-connected) :is(.form-control-sm, .form-select-sm) { font-size: var(--text-control) !important; }
body:is(.app-public, .app-connected) :is(.form-label, .form-check-label, .login-label) { font-size: var(--text-sm) !important; line-height: 1.5 !important; }
body:is(.app-public, .app-connected) :is(.form-text, small, .small, .bulk-subtitle, .login-hint, .profile-note, .import-help) { font-size: var(--text-sm) !important; line-height: 1.5 !important; }

body:is(.app-public, .app-connected) table { font-size: var(--text-control); }
body:is(.app-public, .app-connected) table thead th,
body:is(.app-public, .app-connected) .table thead th { font: 600 var(--text-xs)/1.5 'Montserrat', Arial, sans-serif !important; letter-spacing: 0 !important; }
body:is(.app-public, .app-connected) table tbody td,
body:is(.app-public, .app-connected) .table tbody td { font-size: var(--text-control) !important; line-height: 1.5 !important; }
body:is(.app-public, .app-connected) :is(.badge, .chip-tag, .clients-count-badge, .slide-count-badge) { font-size: var(--text-xs) !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
body:is(.app-public, .app-connected) :is(.dash-kpi-label, .profile-stat-label, .order-stat-label, .import-stat-label, .reduction-stat__label, .import-log-label, .ufd-stat-label) { font-size: var(--text-xs) !important; line-height: 1.5 !important; }
body.app-connected :is(.import-meta-label, .import-file-label, .cart-summary-kicker, .filters-panel__kicker, .cart-discount-chip, .latest-arrivals-eyebrow, .mobile-line-label) { font-size: var(--text-xs) !important; line-height: 1.5 !important; }
body.app-connected :is(.dash-kpi-value, .profile-stat-value, .order-stat-value, .import-stat-value, .reduction-stat__value) { font-size: var(--text-section) !important; line-height: 1.25 !important; }

body.app-connected .product-grid .designation { font-size: var(--text-control) !important; line-height: 1.45 !important; min-height: 62px; }
body.app-connected .product-grid :is(.meta-chip, .vehicle-line, .catalog-info-row, .catalog-info-label, .catalog-info-value, .price-label, .badge-pill, .cart-count-btn),
body.app-connected .product-grid .wishlist-button [data-stock-badge],
body.app-connected [data-new-section] .wishlist-button [data-stock-badge] { font-size: var(--text-xs) !important; line-height: 1.3 !important; }
body.app-connected .product-grid .refPlusCopy { font-size: var(--text-sm) !important; }
body.app-connected .product-grid .price-ttc { font-size: 1.25rem !important; line-height: 1.3 !important; }
body.app-connected .detail-title { font-size: var(--text-section) !important; line-height: 1.4 !important; overflow-wrap: anywhere; }
body.app-connected .detail-sub { font-size: var(--text-body) !important; line-height: 1.5 !important; }
body.app-connected :is(.related-card__title, .cart-item-name, .cart-item-title, .cart-name) { font-size: var(--text-control) !important; line-height: 1.5 !important; }
body.app-connected :is(.related-card__meta, .cart-item-meta, .cart-ref, .filters-panel__eyebrow, .clients-client-email, .profile-label, .order-customer-label) { font-size: var(--text-xs) !important; line-height: 1.5 !important; }
body.app-connected :is(.home-section-head h2, .latest-arrivals-title) { font-size: var(--text-section) !important; line-height: 1.3 !important; }
body.app-connected :is(.home-section-head p, .latest-arrivals-subtitle) { font-size: var(--text-control) !important; line-height: 1.6 !important; }
body.app-connected .connected-slider-shell .hero-title { font-size: 4rem !important; line-height: 1.12 !important; letter-spacing: 0 !important; }
body.app-connected .connected-slider-shell .hero-text { font-size: var(--text-field) !important; line-height: 1.6 !important; }
body.app-connected .connected-slider-shell .hero-card .btn { font-size: var(--text-control) !important; }
body.app-connected .connected-slider-shell .hero-kicker { font-size: var(--text-xs) !important; }

body.app-public .public-main-v2 section:not(.partner-brands) .section-heading { font-size: var(--text-public-section) !important; line-height: 1.2 !important; }
body.app-public .public-main-v2 section:not(.partner-brands) .section-copy { font-size: var(--text-field) !important; line-height: 1.7 !important; }
body.app-public .public-main-v2 section:not(.partner-brands) .section-eyebrow { font-size: var(--text-xs) !important; line-height: 1.5 !important; }
body.app-public .public-main-v2 :is(.intro-fact-label, .about-metric-label, .service-line p) { font-size: var(--text-control) !important; line-height: 1.5 !important; }
body.app-public .public-main-v2 .contact-form label { font-size: var(--text-sm) !important; line-height: 1.5 !important; }

body.app-public .showcase-topbar :is(.showcase-contact, .showcase-contact strong, .showcase-contact small, .showcase-topbar__facts > span) { font-size: var(--text-xs); line-height: 1.4; }
body.app-public .showcase-header .showcase-join { font-size: var(--text-xs); }
body.app-public .showcase-header .showcase-search input { font-size: var(--text-control); }
body.app-public .showcase-header .showcase-search button { font-size: var(--text-sm); }
body.app-public .showcase-header .showcase-nav__link { font-size: var(--text-control); }
body:is(.app-public, .app-connected) .showcase .showcase-benefits li { font-size: var(--text-control); line-height: 1.5; }
body:is(.app-public, .app-connected) .showcase .showcase-action { font-size: var(--text-control); }
body:is(.app-public, .app-connected) .showcase .showcase-eyebrow { font-size: var(--text-xs); line-height: 1.5; }
body.app-public .showcase-brands .showcase-brand span { font-size: var(--text-xs); }
body.app-public .showcase-brands .showcase-brands__more { font-size: var(--text-xs); }
body.app-connected .site__header :is(.notif-item, .account-menu-item) { font-size: var(--text-control) !important; }
body.app-connected .site__header .main-menu__link { font-size: var(--text-sm) !important; }
body.app-connected .site__header :is(.topbar-welcome, .topbar-welcome-name, .header-user-greeting) { font-size: var(--text-sm) !important; }
body.app-connected .mobile-menu-quick__item { font-size: var(--text-control) !important; line-height: 1.5 !important; }
body.app-connected .mobile-menu-cats .list-group-item { font-size: var(--text-sm) !important; line-height: 1.5 !important; }

/* Shared reading scale; display headlines keep their approved hero hierarchy. */
body:is(.app-public, .app-connected) :is(input, select, textarea, button, a, label, p, span) { letter-spacing: 0; }
body.app-public .public-main-v2 .home-reference-section.section-space:is(.home-about-reference, .home-services-reference) .section-heading { font-size: 48px !important; line-height: 1.15 !important; }
body.app-public .public-main-v2 .home-reference-section.section-space:is(.home-about-reference, .home-services-reference) .section-copy { font-size: 18px !important; line-height: 1.65 !important; }
body.app-public .public-main-v2 .home-reference-section.home-services-reference .stock-frame-copy .btn { font-size: 16px !important; }
body.app-public .showcase-header .showcase-join { font-size: 14px; }
body:is(.app-public, .app-connected) .showcase .showcase-action { font-size: 14px; }
body.app-connected .site__header #InputRechercheProduit { font-size: 16px !important; font-weight: 400 !important; }
body.app-connected .product-grid .designation { font-weight: 600 !important; }
body.app-connected .product-grid .meta-line { min-height: 30px; align-items: center; }

@media (max-width: 991px) {
  body.app-public .showcase-topbar .showcase-topbar__inner { padding-inline: 12px; gap: 8px; }
  body.app-public .showcase-topbar .showcase-contact { gap: 7px; }
  body.app-public .showcase-header .showcase-join { padding-inline: 10px; gap: 7px; }
  body.app-public .showcase-header .showcase-search input { font-size: var(--text-sm); }
  body.app-public .showcase-header .showcase-search button { font-size: var(--text-xs); padding-inline: 14px; }
  body:is(.app-public, .app-connected) .showcase .showcase-benefits li { font-size: var(--text-xs); }
  body:is(.app-public, .app-connected) .showcase .showcase-action { font-size: var(--text-xs); }
  body.app-connected .site__header .brand-box { padding: 0 !important; margin: 0 !important; }
  body.app-connected .site__header .brand-logo { width: 100% !important; max-width: 190px !important; }
  body.app-connected .site__header .mobile-actions .hd-iconbtn[aria-controls="cartOffcanvas"] { display: flex; flex-direction: column; justify-content: center; gap: 3px; width: 96px !important; min-width: 96px !important; height: 56px !important; padding: 5px 4px !important; }
  body.app-connected .site__header .mobile-actions #cartTotalMobile { position: static !important; display: block; width: 100%; max-width: 100% !important; padding: 0 !important; border: 0 !important; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; overflow-wrap: anywhere; background: transparent !important; font-family: 'Roboto', Arial, sans-serif; font-variant-numeric: tabular-nums; line-height: 1.25 !important; }
}
@media (max-width: 767px) {
  :root { --text-page: 1.5rem; --text-section: 1.375rem; --text-public-section: 1.75rem; }
  body.app-connected .connected-slider-shell .hero-title { font-size: 2rem !important; }
  body.app-connected .product-grid .price-ttc { font-size: 1.125rem !important; }
  body:is(.app-public, .app-connected) :is(.form-control-sm, .form-select-sm) { font-size: var(--text-field) !important; }
  body.app-public .public-main-v2 .home-reference-section.section-space:is(.home-about-reference, .home-services-reference) .section-heading { font-size: 32px !important; }
  body.app-public .public-main-v2 .home-reference-section.section-space:is(.home-about-reference, .home-services-reference) .section-copy { font-size: 16px !important; }
  body.app-public .showcase-header .showcase-join { font-size: 12px; }
  body:is(.app-public, .app-connected) .showcase .showcase-action { font-size: 13px; }
}
