/* Public interiors. Explicit page scopes keep authenticated workflows and
   demand/offer previews independent. Some legacy templates load inline rules
   after the common head; the scoped selectors below deliberately win there. */
body.cvx-public-complete {
  --public-ink: #1d1d1f;
  --public-muted: #5b6069;
  --public-line: #e3e5e9;
  --public-paper: #fff;
  --public-ground: #f5f5f7;
  background: var(--public-ground);
  color: var(--public-ink);
  font-family: var(--cvx-font-latin, system-ui, sans-serif);
  -webkit-font-smoothing: antialiased;
}
body.cvx-public-complete main { min-inline-size: 0; }
/* Offscreen positioning can enlarge an RTL page when the shared header is
   LTR. Clip hidden content at the origin instead, and reveal the skip link
   only when focused. The honeypot remains present for the existing handler. */
body.cvx-public-complete a.cvx-skip,
body.cvx-public-complete :is(.cvx-sr,.cvx-quote__hp) {
  position: absolute;
  inset-inline: 0 auto;
  left: 0;
  right: auto;
  top: 0;
  inline-size: 1px;
  block-size: 1px;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.cvx-public-complete a.cvx-skip:focus {
  inset-inline: 16px auto;
  left: 16px;
  right: auto;
  top: 8px;
  inline-size: auto;
  block-size: auto;
  width: auto;
  height: auto;
  max-inline-size: calc(100% - 32px);
  padding: 12px 16px;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}
body.cvx-public-complete main :where(p, li, dd) { line-height: 1.7; }
body.cvx-public-complete main :where(a, button, input, select, textarea, summary):focus-visible,
body.cvx-public-complete [role="region"][tabindex]:focus-visible {
  outline: 3px solid #2764ad;
  outline-offset: 4px;
}
body.cvx-public-complete main :where(h1,h2,h3) { text-wrap: balance; }
body.cvx-public-complete :where(.public-hero,.premium-hero,.sa-hero) {
  background: var(--public-paper) !important;
  color: var(--public-ink);
  padding: clamp(40px, 6vw, 80px) 24px;
  border-block-end: 1px solid var(--public-line);
}
body.cvx-public-complete :is(.public-hero,.premium-hero)::before,
body.cvx-public-complete :is(.public-hero,.premium-hero)::after { content: none; }
body.cvx-public-complete .public-hero__inner {
  max-inline-size: 1120px;
  margin-inline: auto;
  text-align: start;
}
body.cvx-public-complete :is(.public-hero,.premium-hero) h1,
body.cvx-public-complete .sa-hero h1 {
  max-inline-size: 950px;
  margin: 14px 0 20px;
  font-size: clamp(32px, 4.3vw, 56px);
  line-height: 1.12;
  font-weight: 650;
  letter-spacing: -.04em;
  color: var(--public-ink);
}
body.cvx-public-complete :is(.public-hero,.premium-hero) h1 strong { color: var(--public-ink); }
body.cvx-public-complete :is(.public-hero,.premium-hero) p,
body.cvx-public-complete .sa-hero p {
  max-inline-size: 760px;
  margin: 0;
  color: var(--public-muted);
  font-size: 18px;
  line-height: 1.65;
}
body.cvx-public-complete .public-hero__inner > span,
body.cvx-public-complete .ar-eyebrow {
  color: #59616d;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .03em;
}
body.cvx-public-complete :is(.public-hero,.premium-hero) a,
body.cvx-public-complete .sidebar-widget a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 46px;
  padding: 11px 20px;
  margin-block-start: 22px;
  gap: 8px;
  background: var(--cvx-navy-800, #082952);
  border: 1px solid var(--cvx-navy-800, #082952);
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}
body.cvx-public-complete :is(.public-hero,.premium-hero) a + a {
  background: #fff;
  color: var(--cvx-navy-800, #082952) !important;
  border-color: #c9cdd4;
}
body.cvx-public-complete .seo-landing-section {
  max-inline-size: 1200px;
  padding: 40px 24px 64px;
}
body.cvx-public-complete .seo-grid { gap: 28px; align-items: start; }
body.cvx-public-complete .seo-grid > div { display: grid; gap: 24px; min-inline-size: 0; align-content: start; }
body.cvx-public-complete .seo-card {
  min-inline-size: 0;
  padding: clamp(22px, 3vw, 32px);
  background: #fff;
  border: 1px solid var(--public-line);
  border-radius: 24px;
  box-shadow: none;
  transform: none;
}
body.cvx-public-complete .seo-card:hover { box-shadow: none; transform: none; border-color: var(--public-line); }
body.cvx-public-complete .seo-card h2 { margin: 0 0 10px; color: var(--public-ink); font-size: 25px; line-height: 1.25; letter-spacing: -.025em; }
body.cvx-public-complete .seo-card h3 { margin: 0 0 12px; color: var(--public-ink); font-size: 19px; line-height: 1.35; }
body.cvx-public-complete .seo-card p { margin-block: 8px; color: var(--public-muted); font-size: 15px; }
body.cvx-public-complete .seo-card a:not(.btn-brand-primary):not(.cvx-btn) { color: #144579; text-underline-offset: 3px; }
body.cvx-public-complete .sidebar-widget { background: #edf1f6; color: var(--public-ink); }
body.cvx-public-complete .sidebar-widget :where(h3,p,.ar-text,.ar-h3) { color: var(--public-ink); }
body.cvx-public-complete .sidebar-widget a { inline-size: 100%; margin-block-start: 12px; }
body.cvx-public-complete .seo-grid > div:last-child .seo-card:not(.sidebar-widget) a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-block-size: 44px;
  padding-block: 9px;
  gap: 10px;
  text-decoration: none;
  border-block-end: 1px solid var(--public-line);
  line-height: 1.45;
}
body.cvx-public-complete .seo-grid > div:last-child .seo-card a:last-child { border-block-end: 0; }
body.cvx-public-complete :where(.seo-table-container,.public-table-scroll,.tc-table-wrap,.ip-table-wrap,.ia-scroll) {
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #8995a5 #edf0f4;
  -webkit-overflow-scrolling: touch;
}
body.cvx-public-complete .seo-table-container { border-radius: 16px; margin-block-start: 22px; }
body.cvx-public-complete .seo-table { min-inline-size: 560px; }
body.cvx-public-complete .seo-table :where(th,td) { padding: 18px 16px; line-height: 1.5; text-align: start; }
body.cvx-public-complete .seo-table th { background: #f5f6f8; border-block-end: 1px solid var(--public-line); font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; }
body.cvx-public-complete .seo-table td { font-size: 14px; }
body.cvx-public-complete .market-stale-notice { border-radius: 12px; }
body.cvx-public--payment .seo-landing-section { max-inline-size: 1120px; display: grid; gap: 48px; }
body.cvx-public--payment .grid-3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-block-start: 28px; }
body.cvx-public--payment .step-card { background: #fff; padding: 28px; border-radius: 24px; border: 1px solid var(--public-line); box-shadow: none; }
body.cvx-public--payment .step-num { background: #edf1f6; color: #173a63; border-radius: 50%; box-shadow: none; }
body.cvx-public--payment .seo-card > .flex a { min-block-size: 44px; display: inline-flex; align-items: center; padding: 10px 18px; gap: 6px; border: 1px solid var(--public-line); border-radius: 999px; text-decoration: none; margin: 8px 6px 0 0; }
/* Arabic pages use the same mobile header and retain a translated local nav. */
body.cvx-public--arabic { font-family: var(--cvx-font-ar, system-ui, sans-serif); }
body.cvx-public--arabic .cvx-head { font-family: var(--cvx-font-latin, system-ui, sans-serif); text-align: start; }
body.cvx-public--arabic .public-language-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding-block: 10px; }
body.cvx-public--arabic .public-language-link { display: inline-flex; min-block-size: 44px; align-items: center; color: #334760; font-size: 14px; text-decoration: none; }
body.cvx-public--arabic :is(.public-hero,.premium-hero) h1 { letter-spacing: 0; line-height: 1.4; }
body.cvx-public--arabic .premium-hero > .ar-wrap { max-inline-size: 1120px; padding-inline: 0; text-align: start; }
body.cvx-public--arabic .premium-hero :is(.ar-h1,.ar-lead) { margin-inline: 0; }
body.cvx-public--arabic .ar-hero-cta { justify-content: flex-start; margin-block-start: 0; }
body.cvx-public--arabic .ar-hero-cta a { margin-block-start: 22px; }
body.cvx-public--arabic .ar-grid-cards { gap: 20px; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); }
body.cvx-public--arabic .ar-card { padding: 28px; border: 1px solid var(--public-line); border-radius: 24px; box-shadow: none; transform: none; }
body.cvx-public--arabic .public-ar-main { max-inline-size: 1200px; margin-inline: auto; padding: 48px 24px; }
body.cvx-public--arabic .ar-grid { padding: 0; margin: 28px 0 0; gap: 20px; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
body.cvx-public--arabic .ar-card :where(h3,p) { margin-block-end: 12px; line-height: 1.75; }
body.cvx-public--arabic .ar-fab { min-block-size: 48px; background: #083464; }
/* Catalogue: prominent search, lightweight filters and proportionate images. */
body.cvx-public--catalogue .products-main-content { padding-block: 48px !important; }
body.cvx-public--catalogue .products-page-container { max-inline-size: 1240px !important; }
body.cvx-public--catalogue .products-page-container > .cvx-catintro:first-child { border: 0; padding: 0; background: none; box-shadow: none; margin-block-end: 28px; }
body.cvx-public--catalogue .cvx-catintro__h1 { font-size: clamp(32px,4vw,48px); letter-spacing: -.04em; font-weight: 650; }
body.cvx-public--catalogue .products-search { max-inline-size: 760px; margin-block-end: 24px; }
body.cvx-public--catalogue .products-search label { font-size: 15px; font-weight: 500; }
body.cvx-public--catalogue .products-search__controls input { border-radius: 14px !important; min-block-size: 50px !important; }
body.cvx-public--catalogue .products-filters-panel { padding: 14px 20px !important; border-radius: 20px !important; margin-block-end: 28px !important; }
body.cvx-public--catalogue .products-filter-toggle { background: #edf1f6 !important; color: #173a63 !important; padding-inline: 16px !important; border-radius: 999px !important; }
body.cvx-public--catalogue .products-filter-input,
body.cvx-public--catalogue .products-filter-select { border-color: #bac0c9 !important; border-radius: 12px !important; }
body.cvx-public--catalogue .products-filter-btn { border-radius: 999px !important; padding: 11px 18px !important; }
body.cvx-public--catalogue .products-display-grid { gap: 24px !important; }
body.cvx-public--catalogue .products-item-card { border-radius: 24px !important; box-shadow: none !important; border: 1px solid var(--public-line) !important; transform: none !important; overflow: hidden; }
body.cvx-public--catalogue .products-item-image-container { aspect-ratio: 4/3; height: auto !important; background: #fff !important; }
body.cvx-public--catalogue .products-item-image { inline-size: 100% !important; block-size: 100% !important; object-fit: contain !important; padding: 20px; transform: none !important; }
body.cvx-public--catalogue .products-item-content { padding: 22px !important; }
body.cvx-public--catalogue .products-item-title { font-size: 18px !important; line-height: 1.4 !important; letter-spacing: -.015em; }
/* Document and utility families: generous reading measure and quiet cards. */
body.cvx-public-complete :where(.gd-wrap,.gi-wrap,.ip-wrap,.tc-main,.ia-wrap) { padding-block: 48px 72px; }
body.cvx-public-complete :where(.gd-wrap,.gi-wrap) { max-inline-size: 1040px; }
body.cvx-public-complete :where(.gd-wrap,.gi-wrap,.ip-wrap,.tc-main,.ia-wrap) h1 { font-size: clamp(32px,4vw,48px) !important; line-height: 1.15 !important; letter-spacing: -.04em; color: var(--public-ink); font-weight: 650; }
body.cvx-public-complete :where(.gd-lead,.gi-lead,.ip-lead,.tc-lead,.ia-lead) { font-size: 19px; line-height: 1.7; color: var(--public-muted); max-inline-size: 75ch; }
body.cvx-public-complete :where(.gd-meta,.gd-bc,.gi-bc,.tc-bc,.ip-bc,.ia-bc) { flex-wrap: wrap; row-gap: 6px; }
body.cvx-public--guides .gi-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.cvx-public--guides .gi-list a { background: #fff; padding: 28px; border-radius: 24px; border-color: var(--public-line); min-block-size: 160px; }
body.cvx-public--guides .gi-list strong { font-size: 21px; line-height: 1.35; margin-block-end: 12px; }
body.cvx-public--guides .gd-wrap { max-inline-size: 850px; }
body.cvx-public--guides .gd-wrap h2 { font-size: 27px; margin-block-start: 40px; }
body.cvx-public--guides .gd-cta { background: #edf1f6; color: #1d2d44; padding: 28px; border-radius: 24px; }
body.cvx-public--guides .gd-cta :where(h3,a) { color: #143d6c; }
body.cvx-public--guides .gd-faq details { padding: 18px 22px; border-radius: 16px; }
body.cvx-public--guides .gd-table { min-inline-size: 460px; }
body.cvx-public-complete :is(.gd-wrap,.gi-wrap,.ip-wrap,.tc-main,.ia-wrap,.br-more) a:not([class]) {
  color: #144579;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.cvx-public-complete :where(.tc-card,.tc-tool,.tc-offer,.ia-card,.ip-kpi,.ip-cite,.br-tile) { border-radius: 22px; padding: 24px; border-color: var(--public-line); box-shadow: none; }
body.cvx-public-complete .ia-card { padding: 26px; }
body.cvx-public-complete :where(.ia-grid,.br-list) { gap: 20px; }
body.cvx-public-complete .ia-toolnav { padding: 6px; border: 1px solid var(--public-line); border-radius: 20px; background: #eceef2; gap: 6px; margin-block-end: 32px; }
body.cvx-public-complete .ia-toolnav a { min-block-size: 44px; display: inline-flex; align-items: center; justify-content: center; flex: 1 1 auto; background: transparent; border: 0; border-radius: 14px; }
body.cvx-public-complete .ia-toolnav a[aria-current="page"] { background: #fff; color: #15385d; box-shadow: 0 2px 8px #142b4510; }
body.cvx-public-complete :where(.tc-ai,.ia-band) { border-radius: 24px; padding: 32px; }
body.cvx-public-complete .tc-field :where(input,select) { border-radius: 12px; min-block-size: 48px; border-color: #acb3bd; }
body.cvx-public-complete .tc-results { background: #f3f6f9; border: 0; border-radius: 16px; padding: 22px; }
body.cvx-public-complete .tc-total { border-radius: 12px; background: #e3ebf4; }
body.cvx-public-complete .ia-sample { border: 1px solid var(--public-line); border-radius: 20px; padding: 24px; }
body.cvx-public-complete .ia-related a { border-radius: 16px; min-block-size: 48px; }
body.cvx-public--areas .sa-hero { margin-block-start: 24px; border-radius: 28px; padding: 48px; }
body.cvx-public--areas .sa-facts { gap: 12px; }
body.cvx-public--areas .sa-fact { background: #f0f2f5; padding: 18px; border-radius: 16px; }
body.cvx-public--areas .sa-fact dd { color: #15385d; font-size: 18px; line-height: 1.4; }
body.cvx-public--areas .sa-card { padding: 26px; border-radius: 22px; }
body.cvx-public--areas .sa-section--muted { background: transparent; }
body.cvx-public--areas .sa-h2 { font-size: 27px; letter-spacing: -.025em; }
body.cvx-public--areas .sa-langs a { display: inline-flex; align-items: center; min-block-size: 44px; padding-inline: 16px; background: #fff; }
body.cvx-public--brands .cvx-band { background: #fff; padding-block: 56px; }
body.cvx-public--brands .cvx-band h1 { font-size: clamp(32px,4vw,48px); letter-spacing: -.04em; }
body.cvx-public--brands .br-tile strong { font-size: 22px; }
body.cvx-public--brands .br-more li { background: #fff; padding: 20px; border-radius: 16px; }
body.cvx-public--brands :is(.br-more,.br-fiches,.br-more li,.br-fiches li,.br-more span,.br-fiches span) { min-inline-size: 0; }
body.cvx-public--brands :is(.br-more span,.br-fiches span) { white-space: normal; overflow-wrap: anywhere; }
body.cvx-public--brands :is(.br-more li,.br-fiches li) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; }
body.cvx-public--brands .br-more li:has(> span:first-child) { grid-template-columns: minmax(120px,1fr) minmax(0,3fr); }
body.cvx-public--legal main > .cvx-wrap { max-inline-size: 920px; padding-block: 56px 72px; }
body.cvx-public--legal main h1 { font-size: clamp(34px,4vw,48px); letter-spacing: -.04em; margin-block-end: 28px; }
body.cvx-public--legal main h2 { font-size: 25px; margin-block: 36px 14px; }
body.cvx-public--legal main :where(p,ul,ol,dl) { margin-block: 14px; max-inline-size: 78ch; }
body.cvx-public--legal main li { margin-block: 8px; }
body.cvx-public--legal main a { color: #144579; text-underline-offset: 3px; }
body.cvx-public--search .search-results-container { margin-block-start: 0; padding-block: 48px 64px; }
body.cvx-public--search .search-header { text-align: start; margin-block-end: 28px; }
body.cvx-public--search .search-header h1 { font-size: clamp(32px,4vw,48px); letter-spacing: -.04em; }
body.cvx-public--search .search-filters { border: 1px solid var(--public-line); border-radius: 22px; box-shadow: none; padding: 24px; }
body.cvx-public--search .filter-form { grid-template-columns: minmax(0,2fr) minmax(0,1fr) auto; }
body.cvx-public--search :where(.filter-input,.filter-select,.filter-btn,.pagination-btn) { min-block-size: 46px; border-radius: 12px; }
body.cvx-public--product .product-detail-card { border-radius: 28px !important; box-shadow: none !important; border-color: var(--public-line); }
body.cvx-public--product .product-name-heading { font-size: clamp(28px,3vw,42px); letter-spacing: -.03em; line-height: 1.2; text-transform: none; }
body.cvx-public--product .product-price-section { background: #f5f6f8; border-radius: 18px; padding: 20px; }
body.cvx-public--product :where(.product-action-block,.quick-buy-form-container,.product-tabs-section) { border-radius: 22px !important; box-shadow: none !important; }
body.cvx-public--product :where(.action-btn-bricoma,.submit-buy-btn,.variant-chip,.qty-btn) { border-radius: 12px !important; min-block-size: 44px; }
body.cvx-public--product .pd-docs a { overflow-wrap: anywhere; }
body.cvx-public--import #cvx-main { max-inline-size: 960px; padding: 56px 24px 72px !important; }
body.cvx-public--import #cvx-main h1 { font-size: clamp(32px,4vw,48px); line-height: 1.2; letter-spacing: -.035em; margin-block: 14px 32px; }
body.cvx-public--import dl { display: grid; grid-template-columns: minmax(150px,1fr) minmax(0,2fr); border: 1px solid var(--public-line); border-radius: 22px; background: #fff; padding: 14px 26px; margin-block: 24px; }
body.cvx-public--import :where(dt,dd) { padding-block: 16px; margin: 0; border-block-end: 1px solid var(--public-line); }
body.cvx-public--import dt { font-weight: 600; color: #4d5866; }
body.cvx-public--import :where(dt,dd):nth-last-child(-n+2) { border: 0; }
body.cvx-public--bpu .bz-sec { background: #fff; border: 1px solid var(--public-line); padding: 28px; border-radius: 24px; }
body.cvx-public--bpu .bz-dl { grid-template-columns: minmax(90px,max-content) minmax(0,1fr); gap: 12px 24px; }
body.cvx-public--bpu .bz-form input:not([type="checkbox"]):not([type="hidden"]) { min-block-size: 46px; border: 1px solid #acb3bd; border-radius: 12px; padding: 10px 14px; }
body.cvx-public--bpu .bz-form input[type="checkbox"] { min-inline-size: 20px; min-block-size: 20px; }
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-hero__in { padding-block: 56px; gap: 48px; align-items: start; }
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-hero__in > *,
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) :is(.cvx-quote,.cvx-quote__form,.cvx-quote__field) { min-inline-size: 0; }
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-quote input[type="file"] {
  min-inline-size: 0;
  max-inline-size: 100%;
  inline-size: 100%;
  box-sizing: border-box;
}
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-hero h1 { font-size: clamp(34px,4vw,52px); line-height: 1.15; letter-spacing: -.04em; font-weight: 650; margin-block: 16px 24px; }
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-lead { font-size: 18px; line-height: 1.7; }
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-quote { border-radius: 24px; box-shadow: 0 8px 32px #182b4310; border: 1px solid var(--public-line); }
body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-quote__form { padding: 28px; }
body.cvx-public--devis .cvx-cat { padding: 26px; border-radius: 22px; }
body.cvx-public--devis .cvx-cat__s { display: block; font-size: 15px; line-height: 1.6; margin-block-start: 10px; }
body.cvx-public--devis .cvx-cat__n { font-size: 20px; margin-block-start: 10px; }
body.cvx-public--purchasing .purchase-main > .cvx-sec.public-service-copy { max-inline-size: 900px; padding-block: 48px 72px; }
body.cvx-public--purchasing .public-service-copy h1 { font-size: clamp(34px,4vw,52px); line-height: 1.15; letter-spacing: -.04em; margin-block: 12px 24px; }
body.cvx-public--purchasing .public-service-copy h2 { font-size: 26px; margin-block: 40px 12px; }
body.cvx-public--purchasing .public-service-copy > p { max-inline-size: 75ch; margin-block: 16px; font-size: 17px; }
body.cvx-public--about .about-heading-main { font-size: clamp(34px,4vw,56px); font-weight: 650; color: var(--public-ink); }
body.cvx-public--about .about-v2-hero::after { content: none; }
body.cvx-public--purchasing .onboarding { max-inline-size: 800px; margin-block: 24px 48px; }
body.cvx-public--purchasing .onboarding h1 { font-size: clamp(30px,4vw,44px); line-height: 1.2; letter-spacing: -.035em; margin-block: 12px 22px; }
body.cvx-public--purchasing .onboarding form { padding: 32px; border-radius: 24px; border-color: var(--public-line); gap: 22px; }
body.cvx-public--purchasing .onboarding form :where(input,select,textarea):not([type="checkbox"]):not([type="hidden"]) { min-block-size: 48px; padding: 12px 14px; border-color: #acb3bd; border-radius: 12px; }
body.cvx-public--purchasing .onboarding .consent { min-block-size: 44px; align-items: start; }
body.cvx-public--purchasing .onboarding .error { border-radius: 16px; padding: 18px 22px; }
body.cvx-public--error .error-section { min-block-size: calc(100svh - 120px); min-height: 0; padding: 56px 20px; }
body.cvx-public--error .error-container { max-inline-size: 720px; padding: clamp(28px,5vw,48px); margin-inline: 0; border: 1px solid var(--public-line); border-radius: 28px !important; box-shadow: none !important; }
body.cvx-public--error .error-code { font-size: 64px; font-weight: 600; color: #21466d; text-shadow: none; transform: none !important; opacity: 1 !important; margin-block-end: 20px; }
body.cvx-public--error .error-title { font-size: clamp(28px,4vw,40px); line-height: 1.2; letter-spacing: -.035em; margin-block-end: 20px; }
body.cvx-public--error :where(.error-brand-icon,.error-illustration) { display: none; }
body.cvx-public--error .error-brand { margin-block-end: 28px; }
body.cvx-public--error .error-btn { min-block-size: 46px; padding: 12px 22px; border-radius: 999px; font-size: 15px; }
body.cvx-public--error .error-contact { margin-block-start: 28px; padding-block-start: 24px; border-block-start: 1px solid var(--public-line); }
body.cvx-public--error .error-contact__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-block: 16px; }
body.cvx-public--error .contact-support { background: #f1f4f7; border-radius: 18px; padding: 22px; }
body.cvx-public--error .error-info { border-radius: 16px; }
/* Keep call, WhatsApp and the quote modal intact in one quiet contact panel. */
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar {
  background: #fff;
  color: #28384a;
  border: 1px solid #dce0e6;
  border-radius: 22px;
  box-shadow: 0 6px 28px #142c451a;
  overflow: hidden;
}
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__strip {
  display: block;
  height: auto;
  margin: 0;
  background: transparent;
  color: #5a6472;
  padding: 14px 18px 0;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  text-align: start;
  opacity: 1;
}
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__btn {
  min-block-size: 46px;
  border-radius: 14px;
  padding: 10px 16px;
  border: 1px solid transparent;
  color: #fff;
  line-height: 1.3;
  font-size: 14px;
}
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__btn--call {
  background: #fff;
  color: #193c67;
  border-color: #c4ccd7;
}
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__btn--call:hover { background: #f0f3f7; }
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__btn--wa { background: #128346; }
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar--floating {
  inset-inline-start: auto;
  inset-inline-end: 20px;
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  inline-size: min(560px, calc(100% - 40px));
}
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar--floating .cvx-bar__body { padding: 10px 14px 14px; }
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar--floating .cvx-bar__actions { inline-size: 100%; margin: 0; gap: 10px; }
body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)):has(.cvx-bar--floating) { padding-block-end: calc(132px + env(safe-area-inset-bottom, 0px)); }
body.cvx-public--product .cvx-bar--column { max-inline-size: none; inline-size: 100%; }
body.cvx-public--product .cvx-bar--column .cvx-bar__body { padding: 20px; gap: 14px; }
body.cvx-public--product .cvx-bar--column .cvx-bar__strip { padding: 20px 20px 0; font-size: 12px; }
body.cvx-public--product .cvx-bar--column .cvx-bar__tel-lg { color: #183c65; font-size: 26px; }
body.cvx-public--product .cvx-bar--column .cvx-bar__quiet { color: #214e80; text-decoration-color: #879db7; min-block-size: 44px; display: inline-flex; align-items: center; }
body.cvx-public--product .cvx-bar--column .cvx-bar__note { color: #5a6472; opacity: 1; }
@media (max-width: 767px) {
  body.cvx-public--brands :is(.br-more li,.br-fiches li), body.cvx-public--brands .br-more li:has(> span:first-child) { grid-template-columns: minmax(0,1fr); gap: 8px; }
  body.cvx-public-complete:is(.cvx-public--bpu,.cvx-public--devis) .cvx-hero__in { grid-template-columns: minmax(0,1fr); }
  body.cvx-public-complete :is(.public-hero,.premium-hero) { padding: 36px 20px; }
  body.cvx-public-complete :is(.public-hero,.premium-hero) p { font-size: 17px; }
  body.cvx-public-complete .seo-landing-section { padding: 24px 16px 48px; }
  body.cvx-public-complete .seo-card { padding: 22px 18px; border-radius: 20px; }
  body.cvx-public--payment .grid-3 { grid-template-columns: 1fr; }
  body.cvx-public--guides .gi-list { grid-template-columns: 1fr; }
  body.cvx-public--guides .gi-list a { min-block-size: auto; padding: 24px; }
  body.cvx-public-complete :where(.gd-wrap,.gi-wrap,.ip-wrap,.tc-main,.ia-wrap) { padding-block: 28px 48px; }
  body.cvx-public-complete :where(.tc-card,.tc-offer,.ia-card,.ia-sample) { padding: 20px; }
  body.cvx-public-complete .tc-results { padding: 18px 14px; }
  body.cvx-public--areas .sa-hero { padding: 32px 20px; border-radius: 22px; }
  body.cvx-public--areas .sa-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cvx-public--areas .sa-fact { padding: 14px; }
  body.cvx-public--catalogue .products-main-content { padding-block: 28px !important; }
  body.cvx-public--catalogue .products-filters-panel { padding: 10px 14px !important; }
  body.cvx-public--catalogue .products-filters-title { font-size: 15px !important; }
  body.cvx-public--catalogue .products-filter-toggle { font-size: 13px !important; }
  body.cvx-public--catalogue .products-item-image-container { aspect-ratio: 4/3; }
  body.cvx-public--search .filter-form { grid-template-columns: minmax(0,1fr); }
  body.cvx-public--search .search-filters { padding: 18px; }
  body.cvx-public--import dl { grid-template-columns: 1fr; padding: 14px 20px; }
  body.cvx-public--import dt { border: 0; padding-block: 14px 0; }
  body.cvx-public--import dd { padding-block: 6px 14px; }
  body.cvx-public--import dt:nth-last-child(2) { padding-block-start: 14px; }
  body.cvx-public--purchasing .onboarding form { padding: 22px 18px; }
  body.cvx-public--error .error-section { padding-block: 28px; }
  body.cvx-public-complete main :where(.tc-bc,.gd-bc,.gi-bc,.ia-bc,.ip-bc,.br-bc,.ar-crumbs) a { min-block-size: 44px; display: inline-flex; align-items: center; }
  body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)):has(.cvx-bar) { padding-block-end: calc(148px + env(safe-area-inset-bottom, 0px)); }
  body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar {
    inset-inline: 12px;
    inline-size: auto;
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    padding-block-end: 0;
    border-radius: 20px;
  }
  body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__strip { padding: 10px 14px 0; font-size: 10px; }
  body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__body { padding: 8px 10px 10px; }
  body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__actions { display: flex; flex-direction: row; gap: 8px; inline-size: 100%; }
  body:is(.cvx-public-complete,:has(.ft-wrap),:has(.fi-wrap)) .cvx-bar .cvx-bar__btn { flex: 1 1 0; min-inline-size: 0; inline-size: auto; font-size: 13px; padding-inline: 10px; }
  body.cvx-public--product .cvx-bar--column .cvx-bar__quiet { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.cvx-public-complete main * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  body.cvx-public-complete .public-language-nav { display: none; }
  body.cvx-public-complete :where(:is(.public-hero,.premium-hero),.sa-hero,.seo-card) { background: #fff !important; color: #111; box-shadow: none; }
}
