/* AZUFA -- couche de FORME du site public (design-visuel-1022, 22/10/2026).
   Aucune valeur de couleur ajoutee ni modifiee ici (couleurs = variables existantes).
   Portee : body.azp sans .azp-off (espaces connectes, pages de partage et formulaires metier exclus). */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400-latin.da03732a27e1.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400-latin-ext.0a6ff1a7c1e4.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500-latin.51205681a1ba.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500-latin-ext.90ff4f7e8bcb.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600-latin.2ede57db1a3a.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600-latin-ext.65aed4e1ef63.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-700-latin.8ca0a5155296.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-700-latin-ext.aa4c26661f64.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:'Inter Fallback';src:local('Arial');size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}
/* 7.2 police unique + variables heritees par tous les gabarits publics */
body.azp:not(.azp-off){
  --azufa-font-heading:var(--az-font-sans); --azufa-font-body:var(--az-font-sans);
  --font-display:var(--az-font-sans); --font-body:var(--az-font-sans);
  --azufa-radius-sm:var(--az-r-sm); --azufa-radius-md:var(--az-r-card); --azufa-radius-lg:var(--az-r-block);
  --r-cta:var(--az-r-btn); --r:var(--az-r-card);
  --azufa-shadow-card-hover:none;
  font-family:var(--az-font-sans);font-size:var(--az-fs-body);line-height:var(--az-lh-body);
  font-optical-sizing:auto;text-rendering:optimizeLegibility;
}
:where(body.azp:not(.azp-off)) :is(button,input,select,textarea){font-family:inherit}

/* 7.3 echelle typographique (titres de page) */
:where(body.azp:not(.azp-off)) h1{font-size:var(--az-fs-h1);line-height:var(--az-lh-h1);font-weight:700;letter-spacing:-.01em;overflow-wrap:break-word;hyphens:auto}
:where(body.azp:not(.azp-off)) h2{font-size:var(--az-fs-h2);line-height:var(--az-lh-h2);font-weight:700;letter-spacing:-.005em;overflow-wrap:break-word}
body.azp:not(.azp-off) :is(h2,h3) + p{margin-top:var(--az-s-4)}
body.azp:not(.azp-off) :is(h1) + p{margin-top:var(--az-s-5)}
body.azp:not(.azp-off) :is(h1) + p, body.azp:not(.azp-off) :is(.hero,.ag-hero,.ab-hero,.search-hero,.pp-hero) p{font-size:var(--az-fs-lead);line-height:var(--az-lh-lead);max-width:var(--az-hero-text)}
body.azp:not(.azp-off) :is(.hero,.ag-hero,.ab-hero,.search-hero) :is(h1,p){margin-left:auto;margin-right:auto}

/* 8.1 / 8.2 conteneurs et gouttieres */
body.azp:not(.azp-off) :is(.sn-in,.topbar-in,.section,.ag-sec,.ab-sec,.stats,.trust,.foot-in,.sf-in,.sf-wrap,.ab-wrap,.ag-wrap,.wrap,.container,.pp-wrap){padding-left:var(--az-gutter);padding-right:var(--az-gutter)}
body.azp:not(.azp-off) :is(.hero,.ag-hero,.ab-hero,.search-hero,footer,.sf){padding-left:var(--az-gutter);padding-right:var(--az-gutter)}
body.azp:not(.azp-off) :is(.ab-grid,.grid4,.grid3){max-width:var(--az-container-wide)}
/* PLEINE LARGEUR 23/10 : source unique de la largeur et des marges des pages publiques (y compris .azp-off).
   Largeur = 100 % ; gouttiere = --az-gutter (16 px mobile -> 48 px >= 1440 px). */
body.azp :is(.sn-in,.topbar-in,.section,.stats,.trust,.ab-wrap,.ob-wrap,.wrap,.container,.pp-wrap,.pp,.bf-wrap,.kz-wrap,.contact-grid,.emp-hero-in,.emp-stats-in,.emp-final-in,.vorteile-split,.hero-flex,.subnav-in,.page,.header,.foot,footer,.sf,.search-hero,.hero,.del-grid,.del-what,.del-hero){padding-left:var(--az-gutter)!important;padding-right:var(--az-gutter)!important;max-width:none!important;box-sizing:border-box}
body.azp :is(.sf-in,.sf-wrap,.foot-in,.ab-sec,.ab-hero){padding-left:0!important;padding-right:0!important;max-width:none!important}
body.azp :is(.section-head,.hero-aside,.hero-copy,.faq-list,.pp-sec p,.pp-sec ul,.pp-note,.bf-sec-head,.kz-sec-head,.bf-list,.kz-list){max-width:none!important}

/* 8.3 rythme : sections, alternance de fonds (surfaces existantes), cartes */
body.azp:not(.azp-off) :is(.section,.ag-sec,.ab-sec){padding-top:var(--az-section-y);padding-bottom:var(--az-section-y)}
body.azp:not(.azp-off) main > :is(.section,.ag-sec):nth-of-type(even):not(.ag-cta){position:relative;background:var(--azufa-pearl);box-shadow:0 0 0 100vmax var(--azufa-pearl);clip-path:inset(0 -100vmax)}
body.azp:not(.azp-off) :is(.grid4,.grid3,.ab-grid,.corridor-grid,.cards,.kz-grid){gap:var(--az-card-gap)}
body.azp:not(.azp-off) :is(.section-head){margin-bottom:var(--az-s-10)}
body.azp:not(.azp-off) :is(footer,.sf){margin-top:0}

/* 9.1 / 9.2 cartes : bordure legere, fond blanc, sans ombre ; rayon 16 */
body.azp:not(.azp-off) :is(.pcard,.bcard,.ab-offer,.ab-cat,.ab-box,.ag-card,.ag-stat,.del-card,.job-card,.beruf-card,.step-card,.vorteile-card,.testi-card,.cost-card,.corridor-card,.parcours-card,.elig-card,.state-card,.contact-form-card,.ct-card,.trust2-card,.kz-cat,.kz-route,.kz-job,.bf-cat,.bf-route,.bf-job,.card,.box,.ob-card,.ob-blk,.fx-card,.hw-mc,.hw-phase){border-radius:var(--az-r-card);box-shadow:none;background-color:var(--azufa-white)}
body.azp:not(.azp-off) :is(.pcard,.bcard,.ab-offer,.ag-card,.job-card,.beruf-card,.corridor-card,.parcours-card):hover{box-shadow:none;border-color:var(--azufa-card-border-hover)}
body.azp:not(.azp-off) :is(.pcard,.bcard,.ab-offer,.ag-card,.job-card,.beruf-card,.step-card,.vorteile-card,.testi-card,.cost-card,.corridor-card,.parcours-card,.del-card,.ct-card){padding:var(--az-card-pad)}
body.azp:not(.azp-off) :is(.pcard p,.ab-offer p,.ag-card p,.bcard p,.beruf-card p){max-width:55ch;font-size:var(--az-fs-small);line-height:var(--az-lh-small)}
body.azp:not(.azp-off) :is(.sn-panel,.sn-drawer,.uber-menu,.search-suggest){border-radius:var(--az-r-card);box-shadow:var(--az-shadow-lg)}
body.azp:not(.azp-off) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-radius:var(--az-r-field)}
body.azp:not(.azp-off) :is(.sn-top,.topbar){box-shadow:none}

/* 10.1 boutons */
body.azp:not(.azp-off) :is(.btn,.azufa-btn,.ab-btn,.ag-btn,.sn-btn,.sw-cta,.azufa-cc-btn){
  min-height:var(--az-btn-h);padding-left:var(--az-btn-px);padding-right:var(--az-btn-px);border-radius:var(--az-r-btn);
  font-size:var(--az-fs-body);font-weight:700;line-height:1.2;align-items:center;justify-content:center;text-align:center;
  box-shadow:none;transition:background-color .15s ease,border-color .15s ease,filter .15s ease}
body.azp:not(.azp-off) .sn-btn{min-height:var(--az-tap);padding-left:14px;padding-right:14px;font-size:var(--az-fs-small)}
body.azp:not(.azp-off) :is(.btn-primary,.azufa-btn-primary,.ag-btn-primary,.ab-btn-primary,.sn-primary):hover{filter:brightness(.88)}
body.azp:not(.azp-off) :is(.btn-ghost,.azufa-btn-ghost,.ag-btn-ghost){border-width:1.5px;border-style:solid}
body.azp:not(.azp-off) :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--gelb,var(--azufa-red));outline-offset:3px}
body.azp:not(.azp-off) main p a:not([class]), body.azp:not(.azp-off) main li a:not([class]){text-decoration:none}
body.azp:not(.azp-off) main :is(p,li) a:not([class]):is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:3px}
body.azp:not(.azp-off) button[disabled],body.azp:not(.azp-off) [aria-busy=true]{min-width:0}

/* cibles tactiles >= 44 px (navigation, pied de page, listes de liens) */
body.azp:not(.azp-off) :is(.sf a,.foot-links a,.sn-drawer a,.sn-panel a,.ab-pag a,summary,.search-chip,.sector-chip,.ag-chips a,.sn-link){min-height:var(--az-tap);align-items:center}
body.azp:not(.azp-off) :is(.sf a,.foot-links a,.ab-pag a,.search-chip,.sector-chip,.ag-chips a){display:inline-flex}
body.azp:not(.azp-off) :is(.sn-drawer a,.sn-panel a,.sf li a){display:flex}
body.azp:not(.azp-off) :is(.btn,.azufa-btn,.ab-btn,.ag-btn,.sw-cta,.azufa-cc-btn):not(.sn-btn){display:inline-flex}
body.azp:not(.azp-off) table{display:block;max-width:100%;overflow-x:auto}
@media (prefers-reduced-motion:reduce){body.azp:not(.azp-off) *{transition:none!important}}

/* 7.4 graisses : jamais 800/900 hors display ponctuel (surcharges des composants partages) */
body.azp:not(.azp-off) :is(b,strong){font-weight:700}
body.azp:not(.azp-off) :is(.azufa-step-num,.azufa-stat-card__value,.azufa-cc-panel h2,.azufa-badge-count){font-weight:700}
