/* Packler — feuille commune du site (Figma 8eP8gt7xVId0ULSRmeaomE « Packler site new », page « Site internet »).
   Chargée par le mu-plugin packler-site sur toutes les pages SAUF la page d'attente (gabarit canvas).
   Préfixe pks- : aucune collision avec la page d'attente (pk-). Valeurs relevées dans la maquette, bureau 1440 / mobile 390. */
@font-face{font-family:"Manrope PK";font-style:normal;font-weight:200 800;font-display:swap;src:url(/wp-content/uploads/packler-polices/manrope-latin-ext.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:"Manrope PK";font-style:normal;font-weight:200 800;font-display:swap;src:url(/wp-content/uploads/packler-polices/manrope-latin.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;}

:root{
  --pks-bleu:#1D4ED8; --pks-encre:#09090B; --pks-clair:#F0F5FE; --pks-bord:#DDE9FC; --pks-gris:#525461; --pks-erreur:#DC2626;
  --pks-degrade:linear-gradient(130deg,#1D4ED8 0%,#2BD889 128%);
  --pks-degrade-survol:linear-gradient(130deg,#163EB8 0%,#22C47D 128%);
  --pks-degrade-pied:linear-gradient(100deg,#1D4ED8 0%,#2BD889 110%);
  --pks-police:"Manrope PK","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pks-marge:100px; --pks-contenu:1240px; --pks-ecart:128px;
  --e-global-typography-primary-font-family:"Manrope PK"; --e-global-typography-text-font-family:"Manrope PK";
  --e-global-typography-secondary-font-family:"Manrope PK"; --e-global-typography-accent-font-family:"Manrope PK";
  --e-global-color-primary:#09090B; --e-global-color-text:#09090B; --e-global-color-accent:#1D4ED8; --e-global-color-secondary:#09090B;
}
body{font-family:var(--pks-police);color:var(--pks-encre);background:#fff;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;}
body :is(h1,h2,h3,h4,p,a,li,span,input,button,label,textarea,select,.elementor-heading-title,.elementor-button){font-family:var(--pks-police);}
body .elementor-widget:not(:last-child){margin-block-end:0;}
body .elementor-widget-text-editor p{margin:0;}
body .elementor-widget-text-editor p + p{margin-top:12px;}
.pks-page{overflow-x:clip;}
:focus-visible{outline:2px solid var(--pks-bleu);outline-offset:3px;}

/* ---------- mise en page : bandes de 1240 px centrées, 128 px entre les sections ---------- */
.pks-page > .e-con-inner, .pks-page{gap:var(--pks-ecart);}
.elementor-element.pks-section{padding:0 var(--pks-marge);}
.elementor-element.pks-section > .e-con-inner, .pks-section > .pks-interne{width:100%;max-width:var(--pks-contenu);margin:0 auto;}
.pks-interne.pks-colonne-48, .pks-carrousel{gap:48px;}
.pks-colonne-32{gap:32px;}
.pks-pile{gap:var(--pks-ecart);padding-bottom:var(--pks-ecart)!important;}
.pks-ligne{flex-direction:row!important;}

/* ---------- titres ---------- */
.pks-h1 .elementor-heading-title{font-size:56px;line-height:60px;font-weight:600;letter-spacing:-.56px;color:var(--pks-encre);}
.pks-h2 .elementor-heading-title{font-size:44px;line-height:48px;font-weight:600;letter-spacing:-.44px;color:var(--pks-encre);}
.pks-h3 .elementor-heading-title{font-size:32px;line-height:36px;font-weight:600;letter-spacing:-.32px;color:var(--pks-encre);}
.pks-h4 .elementor-heading-title{font-size:22px;line-height:26px;font-weight:500;letter-spacing:-.22px;color:var(--pks-encre);}
.pks-h5 .elementor-heading-title{font-size:20px;line-height:24px;font-weight:600;color:var(--pks-encre);}
.pks-h6 .elementor-heading-title{font-size:18px;line-height:28px;font-weight:500;color:var(--pks-encre);}
.pks-blanc .elementor-heading-title, .pks-blanc{color:#fff!important;}
.pks-centre, .pks-centre .elementor-heading-title{text-align:center;}
.pks-chapo{font-size:18px;line-height:28px;font-weight:500;color:rgba(9,9,11,.8);}
.pks-chapo--gris{color:var(--pks-gris);}
.pks-texte{font-size:16px;line-height:24px;font-weight:500;color:rgba(9,9,11,.8);}
.pks-texte--doux{color:rgba(9,9,11,.6);}
.pks-petit{font-size:14px;line-height:20px;font-weight:500;}
.pks-entete{gap:16px;max-width:760px;}
.pks-entete--large{max-width:none;}
.pks-entete--devis{gap:10px;}
.pks-entete--devis > .pks-entete{gap:16px;}
.pks-entete--ligne{flex-direction:row!important;align-items:flex-end;justify-content:space-between;gap:64px;max-width:none;}

/* ---------- étiquette « point bleu + libellé » ---------- */
.pks-pastille{width:auto;align-self:flex-start;}
.pks-pastille .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 14px;border-radius:100px;
  background:#fff;border:1px solid var(--pks-bord);font-size:14px;line-height:20px;font-weight:700;text-transform:uppercase;color:var(--pks-encre);}
.pks-pastille .elementor-heading-title::before{content:"";flex:none;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--pks-bleu);margin:6px;}
.pks-pastille--centre{align-self:center;}
.pks-pastille--ombre .elementor-heading-title{box-shadow:0 2px 8px rgba(9,9,11,.06);}
.pks-pastille--verre .elementor-heading-title{background:rgba(255,255,255,.30);border-color:rgba(255,255,255,.50);color:#fff;font-weight:600;text-transform:uppercase;white-space:nowrap;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(9,9,11,.12);}
.pks-pastille--verre .elementor-heading-title::before{background:var(--pks-bleu);box-shadow:0 0 0 4px #fff;width:4px;height:4px;}

/* ---------- boutons ---------- */
.pks-btn, .pks-btn-contour, .pks-btn-blanc, .pks-lien, .pks-lien-souligne{width:auto;}
.pks-btn .elementor-button{height:48px;padding:0 16px;border-radius:9999px;background:var(--pks-degrade)!important;color:#fff!important;font-size:18px;line-height:24px;font-weight:600;
  transition:background .2s ease-out, transform .08s ease-out;display:inline-flex;align-items:center;}
.pks-btn .elementor-button:active{transform:scale(.98);}
.pks-btn-contour .elementor-button{height:48px;padding:0 16px;border-radius:9999px;background:transparent;border:1.5px solid #fff;color:#fff;font-size:18px;line-height:24px;font-weight:600;
  transition:background .2s ease-out,color .2s ease-out;display:inline-flex;align-items:center;}
.pks-btn-blanc .elementor-button{height:48px;padding:0 20px 0 24px;border-radius:100px;background:#fff;color:var(--pks-bleu);font-size:18px;line-height:24px;font-weight:600;display:inline-flex;align-items:center;}
.elementor-button .elementor-button-content-wrapper{align-items:center;gap:8px;}
.elementor-button .elementor-button-icon{display:inline-flex;}
.elementor-button .elementor-button-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;}
.pks-lien .elementor-button{padding:0;background:none;color:var(--pks-bleu);font-size:14px;line-height:20px;font-weight:600;height:auto;}
.pks-lien .elementor-button-icon svg{width:16px;height:16px;}
.pks-lien .elementor-button-content-wrapper{gap:6px;}
.pks-lien-souligne .elementor-button{padding:12px 8px;background:none;color:var(--pks-bleu);font-size:16px;line-height:24px;font-weight:500;height:auto;}
.pks-lien-souligne .elementor-button-text{background:linear-gradient(var(--pks-bleu),var(--pks-bleu)) 0 100%/0 1px no-repeat, linear-gradient(rgba(29,78,216,.4),rgba(29,78,216,.4)) 0 100%/100% 1px no-repeat;padding-bottom:4px;transition:background-size .3s ease-out;}
.pks-lien-souligne .elementor-button-icon svg{width:16px;height:16px;}
.pks-lien-souligne--blanc .elementor-button{color:#fff;}
.pks-lien-souligne--blanc .elementor-button-text{background:linear-gradient(#fff,#fff) 0 100%/0 1px no-repeat, linear-gradient(rgba(255,255,255,.4),rgba(255,255,255,.4)) 0 100%/100% 1px no-repeat;}
@media (hover:hover){
  .pks-btn .elementor-button:hover{background:var(--pks-degrade-survol)!important;color:#fff;}
  .pks-btn-contour .elementor-button:hover{background:#fff;color:var(--pks-bleu);}
  .pks-btn-blanc .elementor-button:hover{background:var(--pks-clair);}
  .pks-lien .elementor-button:hover{color:#163EB8;}
  .pks-lien-souligne .elementor-button:hover .elementor-button-text{background-size:100% 1px,100% 1px;}
}

/* bouton rond « flèche » (verre + pastille claire) posé sur les cartes photo */
.pks-rond{position:absolute!important;top:32px;right:32px;width:56px!important;height:56px;border-radius:100px;background:rgba(255,255,255,.30);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(9,9,11,.12);display:flex;align-items:center;justify-content:center;z-index:3;}
.pks-rond .elementor-icon{width:40px;height:40px;border-radius:9999px;background:var(--pks-clair);color:var(--pks-encre);display:flex;align-items:center;justify-content:center;transition:transform .25s ease-out,background .2s;}
.pks-rond svg{width:16px;height:16px;fill:none!important;stroke:currentColor;}
.pks-rond--bleu .elementor-icon{background:var(--pks-bleu);color:#fff;}
.pks-rond--petit{top:20px;right:20px;}

/* pastille d'icône (cercle clair 48 px) */
.pks-ico{width:auto;}
.pks-ico .elementor-icon{width:48px;height:48px;border-radius:100px;background:var(--pks-clair);color:var(--pks-encre);display:flex;align-items:center;justify-content:center;}
.pks-ico svg{width:24px;height:24px;fill:none!important;stroke:currentColor;stroke-width:1.6;}

/* ---------- en-tête (Theme Builder) : pilule blanche fixe ---------- */
.pks-entete-site{position:fixed!important;top:36px;left:30px;right:30px;width:auto!important;z-index:90;}
body.admin-bar .pks-entete-site{top:68px;}
.pks-nav{min-height:66px;padding:8px 8px 8px 20px!important;align-items:center;justify-content:space-between;gap:48px;background:#fff;border:1px solid var(--pks-bord);
  border-radius:100px;box-shadow:0 8px 24px rgba(9,9,11,.06);}
.pks-nav-gauche{flex-direction:row!important;align-items:center;gap:48px;width:auto!important;}
.pks-nav-logo{width:auto;}
.pks-nav-logo img{width:128px!important;height:35px!important;max-width:none!important;display:block;}
.pks-nav-actions{flex-direction:row!important;align-items:center;gap:24px;width:auto!important;}
.pks-nav-connexion .elementor-button{padding:0;background:none;color:var(--pks-bleu);font-size:16px;line-height:24px;font-weight:600;height:auto;}
.pks-nav-cta .elementor-button{height:48px;padding:0 14px 0 20px;font-size:16px;}
.pks-menu .elementor-nav-menu--main .elementor-item{font-size:16px;line-height:24px;font-weight:500;color:var(--pks-encre);padding:0!important;}
.pks-menu .elementor-nav-menu--main > .elementor-nav-menu > li + li{margin-left:28px;}
.pks-menu .elementor-nav-menu--main .elementor-item:hover, .pks-menu .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--pks-bleu);}
.pks-menu .elementor-nav-menu--main .elementor-item::before, .pks-menu .elementor-nav-menu--main .elementor-item::after{display:none!important;}
.pks-menu .sub-arrow{padding:0 0 0 6px!important;}
.pks-menu .sub-arrow svg, .pks-menu .sub-arrow i{width:16px;height:16px;font-size:12px;}
.pks-menu .elementor-nav-menu--dropdown.sub-menu, .pks-menu ul.sub-menu{min-width:240px!important;padding:12px 0;background:#fff;border-radius:16px;margin-top:20px!important;
  box-shadow:0 12px 32px rgba(9,9,11,.12);border:0;}
.pks-menu ul.sub-menu .elementor-sub-item{padding:10px 22px!important;font-size:16px;line-height:24px;font-weight:500;color:var(--pks-encre);background:none!important;}
.pks-menu ul.sub-menu .elementor-sub-item:hover{color:var(--pks-bleu);}
.pks-nav-mobile{display:none!important;}

/* menu mobile (popup plein écran) */
.pks-menu-mobile{gap:8px;padding:30px 29px 32px!important;}
.pks-mm-haut{flex-direction:row!important;justify-content:space-between;align-items:center;margin-bottom:20px;}
.pks-mm-logo img{width:40px;height:40px;display:block;}
.pks-mm-menu .elementor-nav-menu--dropdown{background:none!important;}
.pks-mm-menu .elementor-nav-menu--dropdown .elementor-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px!important;margin-bottom:8px;
  border-radius:12px;background:var(--pks-clair);color:var(--pks-encre)!important;font-size:16px;line-height:24px;font-weight:500;}
.pks-mm-menu .elementor-nav-menu--dropdown .sub-menu{padding:0 8px 8px!important;background:var(--pks-clair)!important;border-radius:0 0 12px 12px;margin-top:-8px!important;}
.pks-mm-menu .elementor-nav-menu--dropdown .elementor-sub-item{padding:12px 16px!important;margin-top:8px;border-radius:8px;background:#fff!important;color:var(--pks-encre)!important;font-size:16px;}
.pks-mm-menu .elementor-menu-toggle{display:none!important;}
.pks-mm-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{max-height:none!important;transform:none!important;margin:0!important;box-shadow:none;}
.pks-mm-actions{gap:12px;margin:20px 0 28px;}
.pks-mm-actions .pks-btn, .pks-mm-actions .pks-btn .elementor-button{width:100%;justify-content:center;}
.pks-mm-connexion .elementor-button{width:100%;justify-content:center;height:48px;border-radius:100px;background:#fff;border:1px solid var(--pks-bord);color:var(--pks-bleu);font-size:16px;font-weight:600;}
.pks-mm-inscription{text-align:center;}
.pks-mm-inscription .elementor-heading-title a, .pks-mm-inscription .elementor-heading-title{color:var(--pks-bleu);font-size:14px;line-height:20px;font-weight:600;}
.pks-mm-liens .elementor-icon-list-item{padding:14px 0!important;border-bottom:1px solid var(--pks-bord);}
.pks-mm-liens .elementor-icon-list-item a{display:flex;justify-content:space-between;width:100%;}
.pks-mm-liens .elementor-icon-list-text{font-size:16px;line-height:24px;font-weight:500;color:var(--pks-encre);}

/* ---------- héros de l'accueil : carte bleutée, plan de Paris, camions ---------- */
.pks-hero{padding:16px 16px 0!important;}
.pks-hero-carte{position:relative;overflow:hidden;border-radius:32px;min-height:clamp(700px,calc(100svh - 16px),852px);padding:150px 84px 64px!important;justify-content:center;background:#F0F5FE;}
.pks-hero-fond{position:absolute!important;left:0;right:0;bottom:0;top:auto;width:100%!important;z-index:0;margin:0;}
.pks-hero-fond img{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(to bottom,transparent 30%,#000 50%);mask-image:linear-gradient(to bottom,transparent 30%,#000 50%);}
.pks-hero-contenu{position:relative;z-index:2;align-items:center;gap:80px;max-width:1049px;width:100%;margin:0 auto;}
.pks-hero-entete{align-items:center;gap:32px;}
.pks-hero .pks-h1 .elementor-headline{font-size:56px;line-height:60px;font-weight:600;letter-spacing:-.56px;color:var(--pks-encre);text-align:center;margin:0;}
.pks-hero .pks-h1 .elementor-headline-dynamic-wrapper{text-align:left;height:60px;}
.pks-hero .pks-h1 .elementor-headline-dynamic-text{color:var(--pks-encre);line-height:60px;}
.pks-hero .pks-h1 .elementor-headline-plain-text:last-child{display:block;text-align:center;}
.pks-hero .pks-h1 .elementor-headline > span{line-height:60px;vertical-align:top;padding:0!important;}
.pks-h1-mobile{display:none;}
.elementor-element.pks-hero-sous{max-width:722px!important;text-align:center;font-size:18px;line-height:28px;font-weight:500;color:rgba(9,9,11,.8);}
.pks-hero-form{align-items:center;gap:32px;width:100%;}
/* sélecteur Transport express / Déménagement (onglets natifs) */
.pks-onglets{width:auto;}
.pks-onglets .e-n-tabs-heading{gap:8px;padding:0;border-radius:100px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;}
.pks-onglets .e-n-tab-title{padding:12px 16px!important;border-radius:50px;border:1px solid transparent!important;background:transparent!important;gap:8px;color:var(--pks-encre);}
.pks-onglets .e-n-tab-title[aria-selected="true"]{border-color:var(--pks-bleu)!important;background:rgba(255,255,255,.2)!important;color:var(--pks-bleu);}
.pks-onglets .e-n-tab-title-text{font-size:16px;line-height:24px;font-weight:500;color:inherit!important;}
.pks-onglets .e-n-tab-icon svg{width:20px;height:20px;fill:none!important;stroke:currentColor;stroke-width:1.6;}
.pks-onglets .e-n-tabs-content{margin-top:32px;}
.pks-onglets .e-n-tabs-content > .e-con{padding:0!important;border:0!important;background:none!important;align-items:center;}
.pks-onglets{width:100%;}
.pks-onglets .e-n-tabs{align-items:center;}
.pks-onglets .e-n-tabs-heading{width:auto;align-self:center;}
/* barre « D'où partez-vous ? / Où allez-vous ? » */
.pks-trajet{width:995px;max-width:100%;}
.pks-trajet .elementor-form-fields-wrapper{flex-wrap:nowrap;margin:0!important;padding:8px 8px 8px 12px;border-radius:1000px;background:#fff;align-items:center;
  border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box, var(--pks-degrade) border-box;box-shadow:0 6px 15px rgba(29,78,216,.10),0 2px 6px rgba(9,9,11,.04);}
.pks-trajet .elementor-field-group{padding:0!important;margin:0!important;position:relative;}
.pks-trajet .elementor-field-type-text{flex:1 1 0;width:auto;}
.pks-trajet .elementor-field-type-text + .elementor-field-type-text::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--pks-bord);}
.pks-trajet .elementor-field-label{position:absolute;left:64px;top:2px;font-size:16px;line-height:24px;font-weight:500;color:var(--pks-encre);pointer-events:none;}
.pks-trajet input{height:56px;border:0!important;background:transparent!important;padding:26px 12px 2px 64px!important;font-size:16px;line-height:24px;font-weight:500;color:var(--pks-encre);
  background-repeat:no-repeat!important;background-position:20px 50%!important;background-size:24px!important;}
.pks-trajet input::placeholder{color:rgba(9,9,11,.6);opacity:1;}
.pks-trajet .elementor-field-group:nth-child(1) input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2309090B' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E")!important;}
.pks-trajet .elementor-field-group:nth-child(2) input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2309090B' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M19 12l-7 7-7-7'/%3E%3C/svg%3E")!important;}
.pks-trajet .elementor-field-type-submit{flex:none;width:auto;}
.pks-trajet .elementor-button{width:56px;height:56px;padding:0!important;border-radius:9999px;background:var(--pks-clair)!important;color:var(--pks-encre)!important;justify-content:center;}
.pks-trajet .elementor-button svg{stroke:var(--pks-encre);}
.pks-trajet .elementor-button-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.pks-trajet .elementor-button svg{width:20px;height:20px;}
@media (hover:hover){ .pks-trajet .elementor-button:hover{background:var(--pks-bord);} }
/* camions animés (repris de la page d'attente, trajets relevés sur la carte de Léa : site-attente/build/trajets.py) */
.pks-camion-calque{position:absolute!important;left:0;right:0;bottom:0;top:auto;width:100%!important;height:auto;aspect-ratio:9059/3731;z-index:1;pointer-events:none;}
.pks-camion{position:absolute;top:0;left:0;width:44px!important;height:44px;margin:-22px 0 0 -22px;border-radius:120px;background:var(--pks-bleu);box-shadow:0 4px 20px rgba(29,78,216,.35);align-items:center;justify-content:center;}
.pks-camion::before, .pks-camion::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(29,78,216,.16);z-index:-1;animation:pks-onde 3.2s ease-in-out infinite;}
.pks-camion::after{animation-delay:1.6s;}
.pks-camion-ico{width:auto;}
.pks-camion-ico .elementor-icon{font-size:26px;display:flex;color:#fff;}
.pks-camion-ico svg{width:26px;height:26px;fill:none!important;stroke:#fff;}
.pks-camion--droite{animation:pks-trajet-droite 9s linear infinite;}
.pks-camion--droite .pks-camion{transform:rotate(-6deg);}
.pks-camion--gauche{animation:pks-trajet-gauche 14s linear infinite;}
@keyframes pks-onde{0%{transform:scale(1);opacity:1}100%{transform:scale(3.4);opacity:0}}
@keyframes pks-trajet-droite{0%,100%{transform:translate(83.01%,54.95%)}3.22%,96.78%{transform:translate(82.85%,57.63%)}5.73%,94.27%{transform:translate(82.35%,59.37%)}8.51%,91.49%{transform:translate(82.13%,61.65%)}14.81%,85.19%{transform:translate(80.58%,65.40%)}20.68%,79.32%{transform:translate(79.26%,69.15%)}25.65%,74.35%{transform:translate(78.15%,72.37%)}29.67%,70.33%{transform:translate(77.71%,75.58%)}34.78%,65.22%{transform:translate(77.88%,79.87%)}38.68%,61.32%{transform:translate(78.15%,83.09%)}42.53%,57.47%{transform:translate(78.32%,86.30%)}45.55%,54.45%{transform:translate(79.26%,87.43%)}50%{transform:translate(80.80%,87.43%)}}
@keyframes pks-trajet-gauche{0%,100%{transform:translate(0.88%,54.95%)}4.83%,95.17%{transform:translate(3.31%,57.63%)}10.11%,89.89%{transform:translate(6.07%,59.90%)}15.34%,84.66%{transform:translate(8.83%,61.91%)}19.51%,80.49%{transform:translate(11.04%,63.52%)}23.61%,76.39%{transform:translate(13.25%,64.73%)}27.66%,72.34%{transform:translate(15.45%,65.53%)}31.09%,68.91%{transform:translate(17.33%,66.20%)}32.62%,67.38%{transform:translate(17.66%,68.08%)}34.24%,65.76%{transform:translate(18.32%,69.55%)}35.85%,64.15%{transform:translate(19.21%,69.69%)}37.85%,62.15%{transform:translate(19.87%,71.83%)}40.53%,59.47%{transform:translate(20.53%,75.05%)}43.69%,56.31%{transform:translate(21.08%,79.07%)}46.77%,53.23%{transform:translate(21.47%,83.09%)}50%{transform:translate(21.69%,87.38%)}}

/* ---------- héros de page intérieure (carte claire arrondie) ---------- */
.pks-hero-page{padding:16px 16px 0!important;}
.pks-hero-page-carte{position:relative;overflow:hidden;border-radius:32px;background:var(--pks-clair);padding:200px 100px 96px!important;align-items:center;gap:32px;}
.pks-hero-page-carte > *{position:relative;z-index:2;}

/* ---------- cartes ---------- */
.pks-carte-claire{background:var(--pks-clair);border-radius:16px;}
.pks-carte-photo{position:relative;overflow:hidden;border-radius:16px;justify-content:flex-end;isolation:isolate;}
.pks-carte-photo > .pks-fond{position:absolute!important;inset:0;width:100%!important;height:100%;z-index:-2;margin:0;}
.pks-carte-photo > .pks-fond img{width:100%;height:100%!important;object-fit:cover;display:block;transition:transform .5s ease-out;}
.pks-carte-photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,9,11,0) 40%,rgba(9,9,11,.7) 100%);pointer-events:none;transition:opacity .3s ease-out;}
.pks-carte-photo--fort::after{background:linear-gradient(180deg,rgba(9,9,11,0) 30%,rgba(9,9,11,.85) 100%);}
.pks-carte-photo--video::after{background:linear-gradient(180deg,rgba(9,13,26,.36),rgba(9,13,26,.36)),linear-gradient(180deg,rgba(9,13,26,0),rgba(9,13,26,.22) 50%,rgba(9,13,26,0));}


/* bento Packler Now (texte + photo) */
.pks-bento{flex-direction:row!important;gap:32px;align-items:stretch;}
.pks-bento-texte{flex:0 0 49.2%;padding:40px 65px 42px 40px!important;gap:38px;justify-content:space-between;}
.pks-bento-texte-haut{gap:24px;}
.pks-bento-texte-bas{gap:40px;}
.pks-bento-texte-bas .pks-paragraphes{gap:28px;}
.pks-bento-visuel{flex:1 1 0;min-height:583px;}
/* cartes de réassurance */
.pks-reassurance{flex-direction:row!important;gap:32px;}
.pks-reassurance > .pks-garantie{flex:1 1 0;}
.pks-garantie{flex-direction:row!important;align-items:center;gap:16px;padding:24px 28px 24px 24px!important;border-radius:16px;background:#fff;border:1.5px solid var(--pks-bord);min-height:118px;}
.pks-garantie .pks-h5 .elementor-heading-title{font-size:20px;line-height:24px;}

/* en-tête de carrousel (titre + flèches) */
.pks-carrousel{gap:48px;position:relative;}
.pks-carrousel-tete{flex-direction:row!important;justify-content:space-between;align-items:flex-end;gap:64px;}
.pks-fleches{flex-direction:row!important;gap:12px;width:auto!important;flex:none;}
.pks-fleche{width:auto;}
.pks-fleche .elementor-icon{width:40px;height:40px;border-radius:9999px;background:var(--pks-clair);color:var(--pks-bleu);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,opacity .2s;}
.pks-fleche svg{width:20px;height:20px;fill:none!important;stroke:currentColor;stroke-width:1.6;}
.pks-fleche.est-inactif .elementor-icon{opacity:.4;cursor:default;}
@media (hover:hover){ .pks-fleche:not(.est-inactif) .elementor-icon:hover{background:var(--pks-bord);} }
/* rangée qui défile (aimantée) : le JS ajoute flèches actives et points */
.pks-defile{flex-direction:row!important;flex-wrap:nowrap!important;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;
  width:calc(100% + var(--pks-marge))!important;max-width:none!important;margin-right:calc(-1 * var(--pks-marge))!important;padding-right:var(--pks-marge)!important;scroll-padding-left:0;}
.pks-defile::-webkit-scrollbar{display:none;}
.pks-defile > *{scroll-snap-align:start;flex:none!important;}
.pks-points{display:flex;gap:8px;justify-content:center;align-items:center;}
.pks-points{gap:0;}
/* cible de 24 px (accessibilité), point visible de 8 px dessiné en ::before */
.pks-points button{position:relative;width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;transition:width .3s ease-out;}
.pks-points button::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:8px;border-radius:8px;background:var(--pks-bord);transition:background .3s;}
.pks-points button[aria-current="true"]{width:48px;}
.pks-points button[aria-current="true"]::before{background:var(--pks-degrade);}
.pks-points--desktop-cache{display:none;}
/* cartes vidéo du fonctionnement */
.pks-carte-video{width:296px!important;height:473px;padding:20px!important;justify-content:center;text-align:center;}
.pks-carte-video .pks-h4 .elementor-heading-title{color:#fff;text-align:center;}
.pks-carte-video .pks-carte-video-texte{padding-top:16px;font-size:14px;line-height:20px;font-weight:500;color:rgba(255,255,255,.8);text-align:center;}

/* lignes dépliables (Devis) : accordéon natif */
.pks-devis{flex-direction:row!important;gap:80px;align-items:flex-start;}
.pks-devis-visuel{flex:0 0 494px;}
.pks-devis-visuel img{width:494px;height:272px!important;object-fit:cover;border-radius:32px;display:block;}
.pks-lignes{flex:1 1 0;}
.pks-lignes .e-n-accordion{display:flex;flex-direction:column;gap:16px;}
.pks-lignes .e-n-accordion-item{background:var(--pks-clair);border-radius:24px;overflow:hidden;}
.pks-lignes .e-n-accordion-item-title{padding:20px!important;border:0!important;background:none!important;justify-content:space-between;gap:16px;}
.pks-lignes .e-n-accordion-item-title-text{font-size:18px;line-height:28px;font-weight:500;color:var(--pks-encre);}
.pks-lignes .e-n-accordion-item-title-icon svg{width:20px;height:20px;fill:none!important;stroke:currentColor;stroke-width:1.6;}
.pks-lignes .e-n-accordion-item > .e-con{padding:0 20px 20px!important;border:0!important;}
.pks-lignes .pks-faq-reponse{font-size:14px;line-height:20px;font-weight:500;color:rgba(9,9,11,.6);}

/* Calculez le volume : visuel immersif + étapes */
.pks-calculez{flex-direction:row!important;gap:80px;align-items:stretch;}
.pks-immersif{flex:0 0 620px;min-height:580px;padding:32px!important;}
.pks-immersif .pks-h2 .elementor-heading-title{color:#fff;}
.pks-etapes{flex:1 1 0;gap:64px;}
.pks-timeline{gap:48px;position:relative;}
.pks-timeline::before{content:"";position:absolute;left:23px;top:8px;bottom:60px;width:2px;background:var(--pks-bord);}
.pks-etape{flex-direction:row!important;gap:24px;align-items:flex-start;}
.pks-etape > .pks-ico{position:relative;z-index:1;}
.pks-etape-texte{gap:8px;flex:1 1 0;}
.pks-etape-texte .pks-texte{color:rgba(9,9,11,.6);}
.pks-etapes-actions{align-items:flex-end;gap:40px;}

/* cartes « besoin » (4 colonnes) : le texte apparaît au survol */
.pks-besoins{flex-direction:row!important;gap:32px;}
.pks-besoin{flex:1 1 0;height:380px;padding:24px!important;gap:12px;}
.pks-besoin .pks-h4 .elementor-heading-title{color:#fff;}
.pks-besoin .pks-besoin-texte{font-size:14px;line-height:20px;font-weight:500;color:rgba(255,255,255,.85);max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease-out,opacity .3s ease-out;}
@media (hover:hover){ .pks-besoin:hover .pks-besoin-texte, .pks-besoin:focus-visible .pks-besoin-texte{max-height:120px;opacity:1;} }
.pks-besoin .pks-rond{top:20px;right:20px;}

/* valeurs (3 colonnes séparées par un filet) */
.pks-valeurs{flex-direction:row!important;gap:20px;}
.pks-valeur{flex:1 1 0;gap:40px;}
.pks-valeur + .pks-valeur{padding-left:24px!important;border-left:1px solid var(--pks-bord);}
.pks-valeur-texte{gap:16px;}
.pks-valeur .pks-texte{color:rgba(9,9,11,.6);}

/* cartes service (2 colonnes, paragraphe au survol) */
.pks-services{flex-direction:row!important;gap:32px;}
.pks-service{flex:1 1 0;height:440px;padding:32px!important;gap:20px;}
.pks-service .pks-h4 .elementor-heading-title{color:#fff;}
.pks-service .pks-service-texte{font-size:16px;line-height:24px;font-weight:500;color:rgba(255,255,255,.88);max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease-out,opacity .3s ease-out;}
.pks-service::after{background:linear-gradient(180deg,rgba(9,9,11,0) 40%,rgba(9,9,11,.6) 100%);}
@media (hover:hover){ .pks-service:hover .pks-service-texte{max-height:96px;opacity:1;} .pks-service:hover::after{background:linear-gradient(180deg,rgba(9,9,11,0) 0%,rgba(9,9,11,.92) 100%);} }

/* bloc Application (téléchargement + carte Pro) */
.pks-app{flex-direction:row!important;gap:32px;align-items:stretch;}
.pks-app-carte{flex:0 0 755px;min-height:529px;padding:56px 40px 46px 56px!important;gap:40px;border-radius:32px;justify-content:space-between;}
.pks-app-carte::after{background:linear-gradient(0deg,rgba(9,9,11,.56),rgba(9,9,11,.56)),linear-gradient(90deg,rgba(9,9,11,.7),rgba(9,9,11,.35) 60%,rgba(9,9,11,.1));}
.pks-app-haut{gap:24px;}
.pks-app-haut .pks-paragraphes{gap:16px;}
.pks-app-texte{color:rgba(255,255,255,.78);font-size:16px;line-height:24px;font-weight:500;}
.pks-module{flex-direction:row!important;gap:32px;align-items:center;padding:17px 21px 17px 17px!important;border-radius:32px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(9,9,11,.12);}
.pks-qr{width:auto;flex:none;}
.pks-qr img{width:129px;height:133px!important;padding:16px 14px;background:#fff;border-radius:13px;object-fit:contain;display:block;}
.pks-module-texte{gap:14px;}
.pks-module-texte .pks-petit{color:#fff;}
.pks-anneaux{position:absolute!important;inset:0;pointer-events:none;z-index:0;overflow:hidden;border-radius:inherit;}
.pks-anneaux::before, .pks-anneaux::after{content:"";position:absolute;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);}
.pks-app-carte .pks-anneaux::before{width:440px;height:440px;left:480px;top:-160px;border-color:rgba(255,255,255,.24);box-shadow:0 0 0 90px transparent;}
.pks-app-carte .pks-anneaux::after{width:620px;height:620px;left:390px;top:-250px;border-color:rgba(255,255,255,.16);}
.pks-pro{flex:1 1 0;position:relative;overflow:hidden;background:var(--pks-bleu);border-radius:16px;padding:40px 28px 40px 40px!important;justify-content:space-between;gap:32px;}
.pks-pro .pks-anneaux::before{width:340px;height:340px;left:331px;top:-110px;border-color:rgba(255,255,255,.42);}
.pks-pro .pks-anneaux::after{width:520px;height:520px;left:241px;top:-200px;border-color:rgba(255,255,255,.30);}
.pks-pro > *, .pks-app-carte > *{position:relative;z-index:1;}
.pks-pro-contenu{gap:32px;}
.pks-pro-logo{width:auto;}
.pks-pro-logo img{width:56px;height:57px!important;padding:12px 17px;border-radius:16px;background:rgba(255,255,255,.16);object-fit:contain;display:block;}
.pks-pro-texte{gap:32px;}
.pks-pro .pks-petit{color:rgba(255,255,255,.82);}

/* témoignages */
.pks-temoignages{gap:56px;position:relative;}
.pks-temoignages .pks-defile{gap:32px;width:calc(100% + 2 * var(--pks-marge))!important;margin-left:calc(-1 * var(--pks-marge))!important;padding-left:var(--pks-marge)!important;scroll-padding-left:var(--pks-marge);}
.pks-avis{width:324px!important;min-height:397px;padding:24px!important;gap:16px;border-radius:24px;background:var(--pks-clair);justify-content:space-between;}
.pks-avis-tete{flex-direction:row!important;justify-content:space-between;align-items:center;}
.pks-avis-nom{font-size:14px;line-height:20px;font-weight:500;color:var(--pks-encre);}
.pks-avis-etoile{width:auto;}
.pks-avis-etoile .elementor-icon{width:24px;height:24px;border-radius:20px;background:var(--pks-bord);color:var(--pks-bleu);display:flex;align-items:center;justify-content:center;}
.pks-avis-etoile svg{width:16px;height:16px;fill:none!important;stroke:currentColor;stroke-width:1.6;}
.pks-avis-corps{gap:16px;}
.pks-avis-corps .pks-petit{color:rgba(9,9,11,.8);}
.pks-avis.est-actif{background:var(--pks-degrade);box-shadow:0 16px 40px -8px rgba(9,9,11,.08);position:relative;z-index:1;}
.pks-avis.est-actif :is(.pks-avis-nom,.pks-h4 .elementor-heading-title,.pks-petit){color:#fff!important;}
.pks-avis.est-actif .pks-avis-etoile .elementor-icon{background:rgba(255,255,255,.18);color:#fff;}
.pks-avis{transition:background .3s,box-shadow .3s;}
.pks-temoignages-pied{flex-direction:row!important;justify-content:center;align-items:center;gap:24px;}
.pks-temoignages::before, .pks-temoignages::after{content:"";position:absolute;top:64px;bottom:90px;width:100px;z-index:2;pointer-events:none;}
.pks-temoignages::before{left:calc(-1 * var(--pks-marge));background:linear-gradient(90deg,#fff,rgba(255,255,255,0));}
.pks-temoignages::after{right:calc(-1 * var(--pks-marge));background:linear-gradient(270deg,#fff,rgba(255,255,255,0));}

/* FAQ : bloc questions + carte d'orientation */
.pks-faq-bloc{flex-direction:row!important;gap:32px;align-items:flex-start;}
.pks-faq-conteneur{flex:0 0 854px;padding:64px!important;gap:48px;border-radius:32px;background:var(--pks-clair);}
.pks-faq .e-n-accordion{display:flex;flex-direction:column;gap:12px;}
.pks-faq .e-n-accordion-item{background:#fff;border-radius:20px;overflow:hidden;}
.pks-faq .e-n-accordion-item-title{padding:20px 24px!important;border:0!important;background:none!important;justify-content:space-between;gap:24px;}
.pks-faq .e-n-accordion-item-title-text{font-size:18px;line-height:28px;font-weight:500;color:var(--pks-encre);}
.pks-faq .e-n-accordion-item-title-icon svg{width:16px;height:16px;fill:none!important;stroke:currentColor;stroke-width:2;}
.pks-faq .e-n-accordion-item > .e-con{padding:0 72px 20px 24px!important;border:0!important;}
.pks-faq .pks-faq-reponse{font-size:16px;line-height:22px;font-weight:500;color:rgba(9,9,11,.8);}
.pks-faq-cote{flex:1 1 0;gap:32px;align-items:flex-end;}
.pks-orientation{width:100%;padding:40px!important;gap:48px;border-radius:16px;background:#fff;border:1px solid #DBE5F7;}
.pks-orientation-texte{gap:20px;}
.pks-orientation .pks-titre-carte .elementor-heading-title{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.22px;}
.pks-orientation .pks-texte{color:rgba(9,9,11,.7);}

/* ---------- pied de page (Theme Builder) ---------- */
.pks-pied{gap:64px;padding-bottom:38px!important;}
.pks-newsletter{padding:0 var(--pks-marge)!important;align-items:center;gap:32px;}
.pks-newsletter .pks-h3{max-width:656px;}
.pks-form-mail{width:440px;max-width:100%;}
.pks-form-mail .elementor-form-fields-wrapper{position:relative;flex-wrap:nowrap;margin:0!important;}
.pks-form-mail .elementor-field-group{padding:0!important;margin:0!important;}
.pks-form-mail .elementor-field-type-email{flex:1 1 auto;width:100%;}
.pks-form-mail input[type=email]{height:58px;border-radius:100px;padding:0 180px 0 24px;font-size:18px;line-height:28px;font-weight:500;color:var(--pks-encre);
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(240,245,254,.75));border:1px solid rgba(147,197,253,.55);box-shadow:inset 0 1px 2px rgba(255,255,255,.9),inset 0 -1px 2px rgba(29,78,216,.08);}
.pks-form-mail input[type=email]::placeholder{color:var(--pks-encre);opacity:1;}
.pks-form-mail input[type=email]:focus{outline:none;border-color:var(--pks-bleu);}
.pks-form-mail .elementor-field-type-submit{position:absolute;top:5px;right:5px;width:auto;padding:0;}
.pks-form-mail .elementor-button{height:48px;padding:0 16px;border-radius:9999px;background:var(--pks-degrade);font-size:18px;line-height:24px;font-weight:600;color:#fff;}
.pks-form-mail .elementor-button svg{width:24px;height:24px;}
@media (hover:hover){ .pks-form-mail .elementor-button:hover{background:var(--pks-degrade-survol);} }
.pks-form-mail .elementor-message{margin-top:12px;font-size:14px;line-height:20px;font-weight:600;text-align:center;}
.pks-form-mail .elementor-message-success{color:var(--pks-bleu);}
.pks-form-mail .elementor-message-danger, .pks-form-mail .elementor-error .elementor-message{color:var(--pks-erreur);}
.pks-pied-bas{padding:0 38px!important;}
.pks-pied-bloc{border-radius:32px;background:var(--pks-degrade-pied);padding:56px 64px 40px!important;gap:48px;}
.pks-pied-haut{flex-direction:row!important;justify-content:space-between;gap:64px;padding-bottom:48px!important;border-bottom:1px solid rgba(255,255,255,.22);}
.pks-pied-marque{gap:16px;width:auto!important;}
.pks-pied-logo img{width:234px;height:64px;display:block;}
.pks-pied-slogan .elementor-heading-title{font-size:22px;line-height:26px;font-weight:500;letter-spacing:-.22px;color:#fff;}
.pks-pied-colonnes{flex-direction:row!important;gap:80px;width:auto!important;}
.pks-pied-col{gap:16px;width:auto!important;}
.pks-pied-col .pks-pied-titre .elementor-heading-title{font-size:16px;line-height:24px;font-weight:500;color:#fff;}
.pks-pied-col .elementor-icon-list-items{display:flex;flex-direction:column;gap:12px;}
.pks-pied-col .elementor-icon-list-item{padding:0!important;margin:0!important;}
.pks-pied-col .elementor-icon-list-text{font-size:14px;line-height:20px;font-weight:500;color:rgba(255,255,255,.85);max-width:112px;transition:color .2s;}
.pks-pied-col .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#fff;}
.pks-pied-legal-ligne{flex-direction:row!important;justify-content:space-between;align-items:center;gap:24px;}
.pks-pied-legal-gauche{flex-direction:row!important;align-items:center;gap:24px;width:auto!important;}
.pks-sociaux{width:auto;}
.pks-sociaux .elementor-social-icons-wrapper{display:flex;gap:16px;}
.pks-sociaux .elementor-social-icon{width:40px;height:40px;border-radius:9999px;background:#fff!important;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s;}
.pks-sociaux .elementor-social-icon svg{width:24px;height:24px;color:#3B82F6;fill:currentColor;}
@media (hover:hover){ .pks-sociaux .elementor-social-icon:hover{background:var(--pks-bleu)!important;} .pks-sociaux .elementor-social-icon:hover svg{color:#fff;} }
.pks-legal{width:auto;}
.pks-legal .elementor-icon-list-items{display:flex;flex-direction:row;gap:16px;}
.pks-legal .elementor-icon-list-item{padding:0!important;margin:0!important;}
.pks-legal .elementor-icon-list-item::after{display:none!important;}
.pks-legal .elementor-icon-list-text{font-size:14px;line-height:20px;font-weight:600;color:#fff;}
.pks-credit{width:auto;}
.pks-credit .elementor-heading-title, .pks-credit a{font-size:14px;line-height:20px;font-weight:500;color:#fff!important;}

/* ---------- widget flottant « Télécharger l'application » ---------- */
.pks-widget-app{position:fixed!important;right:24px;bottom:24px;z-index:80;width:auto!important;flex-direction:row!important;align-items:center;gap:0;padding:16px!important;
  border-radius:16px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 20px rgba(9,9,11,.08);
  transition:opacity .3s ease-out, transform .3s ease-out;}
/* R-17 : l'ouverture ne dépend QUE de la classe est-ouvert, posée et retirée par site.js (entrée / sortie du pointeur, focus clavier,
   toucher) — plus de :hover ni de :focus-within, qui laissaient le widget ouvert après un clic (focus resté dedans) */
.pks-widget-app .pks-widget-textes{max-width:0;overflow:hidden;opacity:0;gap:4px;transition:max-width .3s ease-out, opacity .25s ease-out, margin .3s ease-out;white-space:nowrap;}
.pks-widget-app.est-ouvert .pks-widget-textes{max-width:197px;opacity:1;margin:0 20px 0 0;white-space:normal;}
.pks-widget-app.est-ouvert{background:rgba(240,245,254,.92);}
.pks-widget-app{cursor:pointer;}
.pks-widget-app:focus{outline:none;}
.pks-widget-app:focus-visible{outline:2px solid var(--pks-bleu);outline-offset:3px;}
.pks-widget-titre .elementor-heading-title{font-size:16px;line-height:24px;font-weight:600;color:var(--pks-encre);width:197px;}
.pks-widget-sous{font-size:12px;line-height:16px;font-weight:500;color:var(--pks-gris);width:197px;}
.pks-widget-qr{width:auto;}
.pks-widget-qr img{width:96px;height:96px!important;padding:8px;background:#fff;border-radius:8px;display:block;object-fit:contain;}
.pks-widget-app.est-masque{opacity:0;transform:translateY(16px);pointer-events:none;}
.pks-widget-bulle{display:none!important;}

/* =================================== tablette =================================== */
@media (max-width:1280px){
  :root{--pks-marge:48px;}
  .pks-bento-texte{padding:40px!important;}
  .pks-devis{gap:48px;} .pks-devis-visuel{flex-basis:42%;} .pks-devis-visuel img{width:100%;}
  .pks-calculez{gap:48px;} .pks-immersif{flex-basis:50%;}
  .pks-app-carte{flex-basis:62%;}
  .pks-faq-conteneur{flex-basis:68%;padding:48px!important;}
  .pks-pied-haut{flex-wrap:wrap;} .pks-pied-colonnes{gap:48px;}
  .pks-nav-gauche{gap:32px;} .pks-menu .elementor-nav-menu--main > .elementor-nav-menu > li + li{margin-left:20px;}
}
@media (max-width:1100px){
  .pks-nav .pks-menu, .pks-nav .pks-nav-actions{display:none!important;}
  .pks-nav-mobile{display:flex!important;}
  .pks-besoins{display:grid!important;grid-template-columns:repeat(2,1fr);}
  .pks-hero .pks-h1 .elementor-headline{font-size:48px;line-height:54px;}
}
.pks-nav-mobile{flex-direction:row!important;gap:8px;width:auto!important;align-items:center;}
.pks-rond-nav{width:auto;}
.pks-rond-nav .elementor-icon{width:40px;height:40px;border-radius:72px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 12px rgba(9,9,11,.12);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--pks-encre);}
.pks-rond-nav svg{width:22px;height:22px;fill:none!important;stroke:currentColor;stroke-width:1.6;}

/* =================================== mobile (maquette 390) =================================== */
@media (max-width:767px){
  :root{--pks-marge:20px;--pks-ecart:60px;}
  .pks-h1 .elementor-heading-title{font-size:32px;line-height:36px;letter-spacing:-.32px;}
  .pks-h2 .elementor-heading-title{font-size:28px;line-height:34px;letter-spacing:-.28px;}
  .pks-h3 .elementor-heading-title{font-size:22px;line-height:28px;letter-spacing:-.22px;}
  .pks-h4 .elementor-heading-title{font-size:18px;line-height:24px;letter-spacing:0;}
  .pks-chapo{font-size:16px;line-height:24px;}
  .pks-pastille .elementor-heading-title{padding:6px 8px;font-size:12px;line-height:16px;font-weight:600;gap:6px;}
  .pks-pastille .elementor-heading-title::before{margin:4px;width:3px;height:3px;box-shadow:0 0 0 3px var(--pks-bleu);}
  .pks-btn .elementor-button, .pks-btn-contour .elementor-button{font-size:16px;line-height:24px;}
  .pks-entete--ligne, .pks-carrousel-tete{flex-direction:column!important;align-items:flex-start;gap:32px;}
  .pks-carrousel-tete .pks-fleches{display:none!important;}

  /* en-tête : barre pleine largeur (logo + 2 boutons ronds), blanche translucide au défilement */
  .pks-entete-site{top:0;left:0;right:0;}
  body.admin-bar .pks-entete-site{top:46px;}
  .pks-nav{min-height:70px;padding:15px 29px!important;border-radius:0;border:0;box-shadow:none;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
  .pks-nav-logo img{width:92px;height:25px;}

  .pks-hero{padding:84px 20px 0!important;}
  .pks-hero-carte{min-height:0;border-radius:24px;padding:20px 20px 40px!important;}
  .pks-hero-contenu{gap:48px;}
  .pks-hero .pks-h1{display:none;}
  .pks-h1-mobile{display:block;}
  .pks-hero-entete{gap:32px;}
  .elementor-element.pks-hero-sous{font-size:12px;line-height:16px;}
  .pks-hero-fond img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 40%);mask-image:linear-gradient(to bottom,transparent 0,#000 40%);}
  .pks-camion-calque{display:none;}
  .pks-hero-form{gap:16px;}
  .pks-onglets .e-n-tab-title{padding:4px 8px!important;}
  .pks-onglets .e-n-tab-title-text{font-size:12px;line-height:16px;}
  .pks-onglets .e-n-tab-icon svg{width:16px;height:16px;}
  .pks-trajet .elementor-form-fields-wrapper{flex-direction:column;flex-wrap:wrap;gap:8px;padding:0;border:0;background:none;box-shadow:none;align-items:center;}
  .pks-trajet .elementor-field-type-text{width:100%;flex:none;}
  .pks-trajet .elementor-field-type-text + .elementor-field-type-text::before{display:none;}
  .pks-trajet input{height:60px;border-radius:100px!important;padding:28px 24px 8px!important;font-size:12px;line-height:16px;background-image:none!important;
    border:1px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box, var(--pks-degrade) border-box!important;}
  .pks-trajet .elementor-field-label{left:25px;top:9px;font-size:16px;line-height:24px;}
  .pks-trajet .elementor-field-type-submit{margin-top:8px!important;}
  .pks-trajet .elementor-button{width:auto;height:48px;padding:0 16px!important;background:var(--pks-degrade);color:#fff;font-size:16px;font-weight:600;gap:8px;}
  .pks-trajet .elementor-button-text{position:static;width:auto;height:auto;overflow:visible;clip:auto;}

  .pks-hero-page{padding:84px 20px 0!important;}
  .pks-hero-page-carte{border-radius:24px;padding:48px 20px!important;}

  .pks-bento{flex-direction:column!important;gap:48px;}
  .pks-bento-texte{padding:32px 24px!important;gap:32px;}
  .pks-bento-texte-bas .pks-paragraphes{gap:32px;}
  .pks-bento-texte .pks-h4 .elementor-heading-title{font-size:16px;line-height:24px;font-weight:500;}
  .pks-bento-visuel{min-height:260px;}
  .pks-rond{top:16px;right:16px;width:44px!important;height:44px;}
  .pks-rond .elementor-icon{width:32px;height:32px;}

  /* rangées horizontales : défilement aimanté pleine largeur + points */
  .pks-defile-mobile{flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;
    margin:0 calc(-1 * var(--pks-marge))!important;padding:0 var(--pks-marge)!important;scroll-padding-left:var(--pks-marge);display:flex!important;}
  .pks-defile-mobile::-webkit-scrollbar{display:none;}
  .pks-defile-mobile > *{scroll-snap-align:start;flex:none!important;}
  .pks-defile{margin:0 calc(-1 * var(--pks-marge))!important;padding:0 var(--pks-marge)!important;scroll-padding-left:var(--pks-marge);gap:16px;}
  .pks-points--desktop-cache{display:flex;}
  .pks-reassurance > .pks-garantie{width:280px!important;min-height:155px;flex-direction:column!important;align-items:flex-start;padding:20px!important;}
  .pks-garantie .pks-h5 .elementor-heading-title{font-size:16px;line-height:24px;font-weight:500;}
  .pks-carte-video{width:280px!important;height:438px;}
  .pks-devis{flex-direction:column!important;gap:48px;}
  .pks-devis-visuel{flex:none;width:100%;}
  .pks-devis-visuel img{width:100%;height:193px!important;border-radius:24px;}
  .pks-lignes .e-n-accordion{gap:12px;}
  .pks-lignes .e-n-accordion-item{border-radius:20px;}
  .pks-lignes .e-n-accordion-item-title{padding:24px!important;}
  .pks-lignes .e-n-accordion-item-title-text{font-size:18px;line-height:28px;}
  .pks-calculez{flex-direction:column!important;gap:32px;}
  .pks-immersif{flex:none;min-height:220px;border-radius:24px;}
  .pks-immersif .pks-h2{display:none;}
  .pks-etapes{gap:32px;}
  .pks-timeline::before{display:none;}
  .pks-timeline{gap:16px;}
  .pks-timeline > .pks-etape{width:280px!important;flex-direction:column!important;gap:16px;padding:24px!important;border-radius:16px;background:var(--pks-clair);}
  .pks-timeline > .pks-etape .pks-ico .elementor-icon{background:#fff;}
  .pks-etapes-actions{align-items:flex-start;gap:32px;}
  .pks-besoins{display:flex!important;}
  .pks-besoin{width:280px!important;height:380px;}
  .pks-besoin .pks-besoin-texte{max-height:none;opacity:1;}
  /* R-24 (Figma « Valeurs » mobile 20544:96517) : cartes de 280 px sans fond, filet vertical à gauche dès la 2e, pastille claire 48 px */
  .pks-valeurs{gap:20px;}
  .pks-valeur{width:280px!important;padding:0!important;border-radius:0;background:none;gap:32px;}
  .pks-valeur + .pks-valeur{border-left:1px solid var(--pks-bord);padding-left:24px!important;}
  .pks-valeur .pks-valeur-texte{gap:16px;}
  .pks-services{flex-direction:column!important;gap:20px;}
  .pks-service{flex:none;height:200px;padding:20px 20px 24px 24px!important;border-radius:24px;}
  .pks-service .pks-service-texte{display:none;}
  .pks-service .pks-rond{top:20px;right:20px;width:48px!important;height:48px;}
  .pks-app{flex-direction:column!important;gap:32px;}
  .pks-app-carte{flex:none;min-height:0;padding:24px 20px!important;gap:32px;border-radius:24px;}
  .pks-app-carte::after{background:rgba(9,9,11,.62);}
  .pks-app-texte{font-size:14px;line-height:20px;}
  .pks-module{flex-direction:column!important;align-items:stretch;gap:12px;padding:16px!important;border-radius:24px;}
  .pks-module .pks-qr, .pks-module .pks-module-titre{display:none!important;}
  .pks-module .pks-btn .elementor-button{width:100%;justify-content:center;}
  .pks-module .pks-btn{width:100%;}
  .pks-pro{padding:24px 20px!important;border-radius:24px;}
  .pks-pro-logo{display:none;}
  .pks-pro .pks-anneaux::before{left:210px;top:-80px;width:240px;height:240px;}
  .pks-pro .pks-anneaux::after{left:150px;top:-140px;width:360px;height:360px;}
  .pks-temoignages{gap:32px;}
  .pks-temoignages::before, .pks-temoignages::after{display:none;}
  .pks-avis{width:300px!important;min-height:340px;}
  .pks-temoignages-pied{gap:16px;}
  .pks-faq-bloc{flex-direction:column!important;gap:48px;}
  .pks-faq-conteneur{flex:none;width:100%;padding:32px 20px!important;gap:32px;border-radius:24px;}
  .pks-faq .e-n-accordion-item{border-radius:16px;}
  .pks-faq .e-n-accordion-item-title{padding:16px 16px 16px 20px!important;gap:16px;}
  .pks-faq .e-n-accordion-item-title-text{font-size:16px;line-height:24px;}
    .pks-faq .e-n-accordion-item > .e-con{padding:0 20px 16px!important;}
  .pks-faq .pks-faq-reponse{font-size:14px;line-height:20px;}
  .pks-faq-cote{width:100%;gap:24px;align-items:flex-start;}
  .pks-orientation{padding:32px 24px!important;gap:24px;}

  .pks-pied{gap:48px;padding-bottom:20px!important;}
  .pks-newsletter .pks-h3 .elementor-heading-title{font-size:22px;line-height:28px;}
  .pks-form-mail input[type=email]{height:56px;font-size:16px;padding-right:150px;}
  .pks-form-mail .elementor-button{font-size:16px;}
  .pks-pied-bas{padding:0 20px!important;}
  .pks-pied-bloc{padding:36px 20px 32px!important;gap:32px;border-radius:32px;text-align:center;}
  .pks-pied-haut{flex-direction:column!important;align-items:center;gap:40px;padding-bottom:0!important;border-bottom:0;}
  .pks-pied-marque{align-items:center;width:100%!important;}
  .pks-pied-logo img{width:190px;height:52px;}
  .pks-pied-slogan .elementor-heading-title{font-size:16px;line-height:24px;}
  .pks-pied-marque .pks-btn-contour, .pks-pied-marque .pks-btn-contour .elementor-button{width:100%;justify-content:center;}
  .pks-pied-colonnes{flex-direction:column!important;gap:0;width:100%!important;}
  .pks-pied-col{align-items:center;width:100%!important;padding:24px 0!important;border-bottom:1px solid rgba(255,255,255,.22);gap:12px;}
  .pks-pied-col .elementor-icon-list-items{align-items:center;}
  .pks-pied-col .elementor-icon-list-text{max-width:none;}
  .pks-pied-legal-ligne, .pks-pied-legal-gauche{flex-direction:column!important;align-items:center;gap:32px;}
  .pks-legal .elementor-icon-list-items{flex-direction:column;gap:12px;align-items:flex-start;}

  .pks-widget-app{display:none!important;}
  .pks-widget-bulle{display:flex!important;position:fixed!important;right:20px;bottom:20px;z-index:80;width:56px!important;height:56px;border-radius:28px;background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 20px rgba(9,9,11,.1);align-items:center;justify-content:center;transition:opacity .3s, transform .3s;}
  .pks-widget-bulle .elementor-icon{width:40px;height:40px;border-radius:20px;background:var(--pks-degrade);display:flex;align-items:center;justify-content:center;}
  .pks-widget-bulle svg{width:24px;height:24px;}
  .pks-widget-bulle.est-masque{opacity:0;transform:translateY(16px);pointer-events:none;}
}
@media (prefers-reduced-motion:reduce){
  .pks-camion, .pks-camion::before, .pks-camion::after, .pks-camion--droite, .pks-camion--gauche{animation:none!important;}
  *{scroll-behavior:auto!important;}
}

/* ---------- popup « Contactez-nous » ---------- */
.pks-contact{padding:40px!important;gap:24px;}
.pks-form-contact .elementor-field-group{margin-bottom:16px;}
.pks-form-contact .elementor-field-label{font-size:12px;line-height:16px;font-weight:500;color:var(--pks-encre);margin-bottom:8px;}
.pks-form-contact :is(input[type=text],input[type=email],input[type=tel],select,textarea){border-radius:100px;border:1px solid var(--pks-bord)!important;background:#fff;height:48px;padding:0 16px;
  font-size:14px;line-height:20px;font-weight:500;color:var(--pks-encre);}
.pks-form-contact textarea{border-radius:16px!important;height:auto;padding:14px 16px;min-height:120px;}
.pks-form-contact .elementor-select-wrapper select{appearance:none;}
.pks-form-contact :is(input,select,textarea):focus{outline:none;border-color:var(--pks-bleu)!important;}
.pks-form-contact ::placeholder{color:rgba(9,9,11,.45);opacity:1;}
.pks-form-contact .elementor-field-type-radio .elementor-field-subgroup{display:inline-flex;gap:0;padding:4px;border-radius:100px;background:var(--pks-clair);}
.pks-form-contact .elementor-field-type-radio .elementor-field-option{position:relative;margin:0!important;}
.pks-form-contact .elementor-field-type-radio input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.pks-form-contact .elementor-field-type-radio label{display:block;padding:6px 16px;border-radius:100px;font-size:14px;line-height:20px;font-weight:500;color:var(--pks-bleu);cursor:pointer;}
.pks-form-contact .elementor-field-type-radio input:checked + label{background:var(--pks-bleu);color:#fff;}
.pks-form-contact .elementor-field-type-radio > .elementor-field-label{display:none;}
.pks-form-contact .elementor-field-type-acceptance label{font-size:12px;line-height:16px;color:var(--pks-encre);}
.pks-form-contact .elementor-button{height:48px;padding:0 16px;border-radius:9999px;background:var(--pks-degrade);font-size:16px;font-weight:600;color:#fff;}
.pks-form-contact .elementor-message{padding:16px;border-radius:16px;background:var(--pks-clair);font-size:14px;line-height:20px;color:var(--pks-encre);}
.pks-form-contact .elementor-message strong{display:block;font-size:18px;line-height:24px;font-weight:500;}
.pks-form-contact .elementor-error .elementor-message, .pks-form-contact .elementor-field-group .elementor-message{background:none;padding:6px 0 0;color:var(--pks-erreur);font-size:12px;}
.pks-form-contact .elementor-error input{border-color:var(--pks-erreur)!important;}
@media (max-width:767px){ .pks-contact{padding:24px 20px!important;} .pks-form-contact .elementor-field-group{width:100%!important;flex-basis:100%!important;} }

/* accordéons natifs : libellé à gauche, pastille flèche à droite (une seule icône visible, pivotée à l'ouverture) */
:is(.pks-lignes,.pks-faq) .e-n-accordion-item-title{flex-direction:row!important;}
:is(.pks-lignes,.pks-faq) .e-n-accordion-item-title-header{flex:1 1 auto;order:1;text-align:left;justify-content:flex-start;}
:is(.pks-lignes,.pks-faq) .e-n-accordion-item-title-icon{order:2;flex:none;width:40px;height:40px;border-radius:9999px;display:flex!important;align-items:center;justify-content:center;transition:transform .3s ease-out,background .2s;}
.pks-lignes .e-n-accordion-item-title-icon{background:var(--pks-bord);color:var(--pks-bleu);}
.pks-faq .e-n-accordion-item-title-icon{background:var(--pks-degrade);color:#fff;}
:is(.pks-lignes,.pks-faq) .e-n-accordion-item-title-icon .e-opened{display:none!important;}
:is(.pks-lignes,.pks-faq) .e-n-accordion-item-title-icon .e-closed{display:flex!important;}
:is(.pks-lignes,.pks-faq) .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(90deg);}
@media (hover:hover){ .pks-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon{background:var(--pks-degrade-survol);} }
@media (max-width:767px){ .pks-faq .e-n-accordion-item-title-icon{width:32px;height:32px;} }

/* largeurs relevées (Elementor met --width:100% aux conteneurs : on fixe la part de chaque colonne) */
@media (min-width:1025px){
  .elementor-element.pks-faq-conteneur{width:68.87%!important;flex:0 0 68.87%!important;}
  .elementor-element.pks-app-carte{width:60.9%!important;flex:0 0 60.9%!important;}
  .elementor-element.pks-bento-texte{width:49.2%!important;flex:0 0 49.2%!important;}
}
.elementor-element.pks-points-ici{width:auto!important;flex:none!important;}
.pks-temoignages-pied > .elementor-element{width:auto!important;flex:none!important;}
.pks-pied-logo, .pks-nav-logo, .pks-pro-logo, .pks-qr, .pks-widget-qr, .pks-mm-logo{text-align:left;}
.pks-pied-logo img{width:234px!important;height:64px!important;max-width:none!important;}
@media (max-width:767px){ .pks-pied-logo{text-align:center;} .pks-pied-logo img{width:190px!important;height:52px!important;} .pks-nav-logo img{width:92px!important;height:25px!important;} }
@media (max-width:767px){
  .pks-hero .pks-h1:not(.pks-h1-mobile){display:none;}
  .pks-hero .pks-h1-mobile{display:block;}
  .elementor-element.pks-trajet{width:100%!important;}
  .pks-trajet .elementor-field-group.elementor-field-type-text{width:100%!important;align-self:stretch;}
  .pks-trajet .elementor-field-group.elementor-field-type-text{padding:1px!important;border-radius:100px;background:var(--pks-degrade);box-sizing:border-box;max-width:100%;}
  .pks-trajet .elementor-field-group:nth-child(n) input{background:#fff!important;background-image:none!important;border:0!important;border-radius:100px!important;height:58px;width:100%;box-sizing:border-box;}
  .pks-trajet .elementor-field-label{left:26px;top:10px;z-index:1;}
  .pks-trajet .elementor-field-type-submit .elementor-button{background:var(--pks-degrade)!important;color:#fff!important;}
  .pks-trajet .elementor-field-type-submit .elementor-button svg{stroke:#fff;}
  .pks-calculez > .pks-etapes{display:contents!important;}
  .pks-calculez .pks-etapes > .pks-carrousel{order:1;}
  .pks-calculez > .pks-immersif{order:2;}
  .pks-calculez .pks-etapes-actions{order:3;}
}
.pks-onglets .e-n-tabs-content{width:100%!important;align-self:stretch!important;}
.pks-onglets .e-n-tabs-content > .e-con{width:100%!important;}
@media (max-width:767px){
  .pks-newsletter .pks-h3 br{display:none;}
  .pks-sociaux .elementor-grid-item:nth-child(5), .pks-sociaux .elementor-social-icon:nth-child(5){display:none;}
  .pks-legal{align-self:stretch;}
  .pks-pied-legal-gauche{width:100%!important;}
}

/* menu mobile : liens secondaires (libellé à gauche, chevron bleu à droite) */
.pks-mm-liens .elementor-icon-list-item a{flex-direction:row-reverse;justify-content:space-between;}
.pks-mm-liens .elementor-icon-list-icon{color:var(--pks-bleu);}
.pks-mm-liens .elementor-icon-list-icon svg{width:16px;height:16px;fill:none!important;stroke:var(--pks-bleu);}
.pks-mm-menu .elementor-nav-menu--dropdown .elementor-item .sub-arrow{color:var(--pks-encre);}
.pks-menu-mobile .pks-mm-actions{margin-top:28px;}

/* tablette portrait (768–1024) : aucune maquette — les rangées à deux colonnes s'empilent comme en mobile, à la taille bureau */
@media (min-width:768px) and (max-width:1024px){
  .pks-bento, .pks-app, .pks-faq-bloc, .pks-calculez, .pks-devis{flex-direction:column!important;}
  .pks-bento > *, .pks-app > *, .pks-faq-bloc > *, .pks-calculez > *, .pks-devis > *{width:100%!important;flex:none!important;}
  .pks-bento-visuel{min-height:420px;}
  .pks-devis-visuel img{width:100%;height:320px!important;}
  .pks-immersif{min-height:480px;}
  .pks-faq-cote{align-items:flex-start;}
  .pks-services{flex-direction:column!important;} .pks-service{flex:none!important;}
}
@media (min-width:768px) and (max-width:1100px){
  .pks-garantie{flex-direction:column!important;align-items:flex-start;padding:20px!important;}
  .pks-garantie br{display:none;}
  .pks-garantie .pks-h5 .elementor-heading-title{font-size:18px;line-height:24px;}
}
/* contraste : la pastille verre sur la carte bleue Pro passe de 30 % à 15 % de blanc (3,57:1 -> ≥ 4,5:1) — écart assumé à la maquette */
.pks-pro .pks-pastille--verre .elementor-heading-title{background:rgba(255,255,255,.15);}
@media (max-width:767px){
  .pks-temoignages-pied{gap:16px;flex-wrap:nowrap!important;}
  .elementor-element.pks-temoignages-pied{flex-wrap:nowrap!important;--flex-wrap:nowrap;}
}
/* widget replié : les textes sortent du flux (ni visibles ni mesurés hors écran) */
.pks-widget-app .pks-widget-textes{visibility:hidden;}
.pks-widget-app.est-ouvert .pks-widget-textes{visibility:visible;}
.pks-widget-app:not(.est-ouvert) .pks-widget-textes{position:absolute;}

/* =================== survols, appuis et animations — relevés dans le prototype Figma (26/10) ===================
   Bouton / CTA et Site / Button : survol = dégradé foncé + flèche décalée de 4 px (0,2 s ease-out) ;
   appui = aplat #163EB0 + ombre intérieure (0,08 s) ; contour blanc : survol fond blanc / texte bleu, appui blanc 92 %. */
.elementor-button .elementor-button-icon{transition:transform .2s ease-out;}
.pks-btn .elementor-button, .pks-btn-contour .elementor-button, .pks-btn-blanc .elementor-button, .pks-form-mail .elementor-button,
.pks-form-contact .elementor-button, .pks-trajet .elementor-button{transition:background .2s ease-out,color .2s ease-out,box-shadow .08s ease-out;}
@media (hover:hover){
  :is(.pks-btn,.pks-btn-contour,.pks-btn-blanc,.pks-lien,.pks-lien-souligne,.pks-form-mail,.pks-form-contact) .elementor-button:hover .elementor-button-icon{transform:translateX(4px);}
  .pks-form-mail .elementor-button:hover, .pks-form-contact .elementor-button:hover{background:var(--pks-degrade-survol)!important;}
  .pks-lien-souligne .elementor-button:hover{color:#12339E;}
  .pks-lien-souligne .elementor-button:hover .elementor-button-text{background-image:linear-gradient(#12339E,#12339E),linear-gradient(rgba(18,51,158,.4),rgba(18,51,158,.4));}
  .pks-lien-souligne--blanc .elementor-button:hover{color:#fff;}
  .pks-lien-souligne--blanc .elementor-button:hover .elementor-button-text{background-image:linear-gradient(#fff,#fff),linear-gradient(rgba(255,255,255,.4),rgba(255,255,255,.4));}
}
.pks-btn .elementor-button:active, .pks-form-mail .elementor-button:active, .pks-form-contact .elementor-button:active{background:#163EB0!important;box-shadow:inset 0 2px 4px rgba(9,9,11,.25);}
.pks-btn-contour .elementor-button:active{background:rgba(255,255,255,.92)!important;color:var(--pks-bleu)!important;}
.pks-btn-contour .elementor-button svg{transition:stroke .2s ease-out;}
@media (hover:hover){ .pks-btn-contour .elementor-button:hover svg{stroke:var(--pks-bleu);} }

/* boutons ronds « flèche » des cartes photo : la flèche pivote vers le bas au survol de la carte (0,25 s ease-out) */
.pks-rond .elementor-icon svg{transition:transform .25s ease-out;}
@media (hover:hover){
  .pks-carte-photo:hover .pks-rond .elementor-icon svg, .pks-rond:hover .elementor-icon svg{transform:rotate(90deg);}
}
/* flèches de carrousel, flèches des lignes dépliables, bouton du trajet (Site / Button Secondary) : survol = dégradé, icône blanche */
.pks-fleche .elementor-icon, .pks-lignes .e-n-accordion-item-title-icon{transition:background .2s ease-out,color .2s ease-out,opacity .2s;}
@media (hover:hover){
  .pks-fleche:not(.est-inactif) .elementor-icon:hover{background:var(--pks-degrade)!important;color:#fff;}
  .pks-lignes .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon{background:var(--pks-degrade);color:#fff;}
  .pks-trajet .elementor-field-type-submit .elementor-button:hover{background:var(--pks-degrade)!important;color:#fff!important;}
  .pks-trajet .elementor-field-type-submit .elementor-button:hover svg{stroke:#fff;}
}
/* menu principal (Site / Button Ghost) : libellé en dégradé au survol ; sous-menu : fond #F0F5FE (0,15 s) */
@media (hover:hover){
  .pks-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover{color:transparent!important;background:var(--pks-degrade);-webkit-background-clip:text;background-clip:text;}
}
.pks-menu ul.sub-menu{padding:8px!important;}
.pks-menu ul.sub-menu .elementor-sub-item{border-radius:12px;padding:10px 14px!important;transition:background .15s ease-out;}
.pks-menu ul.sub-menu .elementor-sub-item:hover{background:var(--pks-clair)!important;color:var(--pks-encre)!important;}
/* liens du pied (Ghost OnDark) : bleu au survol, comme la maquette */
@media (hover:hover){ .pks-legal .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--pks-bleu);} }
.pks-sociaux .elementor-social-icon svg{transition:color .2s;}

/* carrousels : on peut aussi les faire glisser à la souris (DRAG du prototype) */
.pks-defile.est-saisi, .pks-defile-mobile.est-saisi{cursor:grabbing;scroll-snap-type:none;user-select:none;}
.pks-defile{cursor:grab;}
@media (max-width:767px){ .pks-defile, .pks-defile-mobile{cursor:auto;} }

/* héros mobile : « Ouverture animée » (Hero / Home Particulier mobile) — carte et onglets, puis titre (0,45 s), puis champs (0,4 s) */
@keyframes pks-ouverture{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:767px) and (prefers-reduced-motion:no-preference){
  .pks-hero .pks-hero-entete{animation:pks-ouverture .45s ease-out .05s both;}
  .pks-hero .pks-onglets .e-n-tabs-content{animation:pks-ouverture .4s ease-out .55s both;}
}
/* camions en mobile : la maquette les anime aussi (variantes « Camion sur route — Mobile ») — mêmes routes, marqueur réduit */
@media (max-width:767px){
  .pks-hero .pks-camion-calque{display:block!important;}
  .pks-hero .pks-camion{width:32px!important;height:32px;margin:-16px 0 0 -16px;}
  .pks-hero .pks-camion-ico svg{width:18px;height:18px;}
}
/* « Se connecter » (Site / Button Ghost Primary) : libellé en dégradé, bleu plein au survol */
.pks-nav-connexion .elementor-button .elementor-button-text{background:var(--pks-degrade);-webkit-background-clip:text;background-clip:text;color:transparent;transition:color .2s ease-out;}
@media (hover:hover){ .pks-nav-connexion .elementor-button:hover .elementor-button-text{color:var(--pks-bleu);} }
.pks-credit a{text-decoration:none;background:linear-gradient(#fff,#fff) 0 100%/0 1px no-repeat;transition:background-size .25s ease-out;}
@media (hover:hover){ .pks-credit a:hover{background-size:100% 1px;} }

/* camions en mobile : trajets des variantes « Camion sur route — Mobile Home » (24 étapes × 0,563 s ; 20 × 0,675 s, linéaire),
   en % de la carte du héros (le calque couvre toute la carte en mobile) */
@keyframes pks-trajet-m-gauche{0.00%{transform:translate(17.70%,99.84%)}4.17%{transform:translate(17.70%,98.09%)}8.33%{transform:translate(17.70%,96.33%)}12.50%{transform:translate(17.61%,94.57%)}16.67%{transform:translate(17.48%,92.81%)}20.83%{transform:translate(17.35%,91.05%)}25.00%{transform:translate(17.21%,89.30%)}29.17%{transform:translate(16.13%,88.01%)}33.33%{transform:translate(12.85%,87.83%)}37.50%{transform:translate(9.55%,87.71%)}41.67%{transform:translate(6.25%,87.63%)}45.83%{transform:translate(2.95%,87.60%)}50.00%{transform:translate(-0.35%,87.60%)}54.17%{transform:translate(2.95%,87.60%)}58.33%{transform:translate(6.25%,87.63%)}62.50%{transform:translate(9.55%,87.71%)}66.67%{transform:translate(12.85%,87.83%)}70.83%{transform:translate(16.13%,88.01%)}75.00%{transform:translate(17.21%,89.30%)}79.17%{transform:translate(17.35%,91.05%)}83.33%{transform:translate(17.48%,92.81%)}87.50%{transform:translate(17.61%,94.57%)}91.67%{transform:translate(17.70%,96.33%)}95.83%{transform:translate(17.70%,98.09%)}100%{transform:translate(17.70%,99.84%)}}
@keyframes pks-trajet-m-droite{0.00%{transform:translate(100.64%,89.61%)}5.00%{transform:translate(97.79%,89.93%)}10.00%{transform:translate(94.94%,90.25%)}15.00%{transform:translate(92.07%,90.50%)}20.00%{transform:translate(89.20%,90.76%)}25.00%{transform:translate(86.34%,91.05%)}30.00%{transform:translate(83.45%,91.22%)}35.00%{transform:translate(80.54%,91.32%)}40.00%{transform:translate(77.64%,91.42%)}45.00%{transform:translate(74.73%,91.52%)}50.00%{transform:translate(71.83%,91.63%)}55.00%{transform:translate(74.73%,91.52%)}60.00%{transform:translate(77.64%,91.42%)}65.00%{transform:translate(80.54%,91.32%)}70.00%{transform:translate(83.45%,91.22%)}75.00%{transform:translate(86.34%,91.05%)}80.00%{transform:translate(89.20%,90.76%)}85.00%{transform:translate(92.07%,90.50%)}90.00%{transform:translate(94.94%,90.25%)}95.00%{transform:translate(97.79%,89.93%)}100%{transform:translate(100.64%,89.61%)}}
@media (max-width:767px){
  .pks-hero .pks-camion-calque{top:0!important;bottom:auto;height:100%!important;aspect-ratio:auto!important;}
  .pks-hero .pks-camion--gauche{animation:pks-trajet-m-gauche 13.51s linear infinite;}
  .pks-hero .pks-camion--droite{animation:pks-trajet-m-droite 13.50s linear infinite;}
  .pks-hero .pks-camion--droite .pks-camion{transform:none;}
}
/* focus des champs (Input, État=Focus) : bordure bleue pleine ; barre de trajet : le dégradé devient bleu plein */
.pks-trajet .elementor-form-fields-wrapper:focus-within{background:linear-gradient(#fff,#fff) padding-box, linear-gradient(var(--pks-bleu),var(--pks-bleu)) border-box;}
.pks-trajet input:focus{outline:none;}
@media (max-width:767px){
  .pks-trajet .elementor-form-fields-wrapper:focus-within{background:none;}
  .pks-trajet .elementor-field-group.elementor-field-type-text:focus-within{background:var(--pks-bleu);}
}
:is(.pks-form-contact,.pks-form-mail) :is(input,select,textarea){transition:border-color .2s ease-out;}
/* onglets du héros (Site / Switch / Hero) : onglet inactif en encre (maquette), bleu au survol — Elementor le passait en blanc sur blanc */
.pks-onglets .e-n-tab-title[aria-selected="false"], .pks-onglets .e-n-tab-title[aria-selected="false"] .e-n-tab-title-text,
.pks-onglets .e-n-tab-title[aria-selected="false"] .e-n-tab-icon{color:var(--pks-encre)!important;}
.pks-onglets .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text, .pks-onglets .e-n-tab-title[aria-selected="true"] .e-n-tab-icon{color:var(--pks-bleu)!important;}
.pks-onglets .e-n-tab-title{transition:color .2s ease-out,background .2s ease-out,border-color .2s ease-out;}
@media (hover:hover){
  .pks-onglets .e-n-tab-title[aria-selected="false"]:hover, .pks-onglets .e-n-tab-title[aria-selected="false"]:hover .e-n-tab-title-text,
  .pks-onglets .e-n-tab-title[aria-selected="false"]:hover .e-n-tab-icon{color:var(--pks-bleu)!important;}
  .pks-onglets .e-n-tab-title[aria-selected="false"]:hover{background:rgba(255,255,255,.6)!important;}
}

/* =================== retours de recette du 27/10 — lot « composants » ===================
   R-05 : flèche des boutons = pictogramme Figma « Icon » 20 px (trait 1,4 px, glyphe 11,7 px) dans un « Icon selector » de 24 px,
   à 4 px du libellé (bouton « Je m'inscris », Newsletter / Carte 20188:36623) ; liens « → » : 16 px, à 6 px. Le trait ne grossit
   plus avec la taille (non-scaling-stroke). */
.elementor-button .elementor-button-content-wrapper{gap:4px!important;}
.elementor-button .elementor-button-icon{width:24px;height:24px;flex:none;align-items:center;justify-content:center;}
.elementor-button .elementor-button-icon svg{width:20px!important;height:20px!important;}
.elementor-button .elementor-button-icon svg :is(path,line,polyline){vector-effect:non-scaling-stroke;stroke-width:1.4px;}
:is(.pks-lien,.pks-lien-souligne) .elementor-button-content-wrapper{gap:6px!important;}
:is(.pks-lien,.pks-lien-souligne) .elementor-button-icon{width:16px;height:16px;}
:is(.pks-lien,.pks-lien-souligne) .elementor-button-icon svg{width:16px!important;height:16px!important;}
.pks-trajet .elementor-button svg{width:20px!important;height:20px!important;}
/* flèches rondes (cartes, carrousels, accordéons) : même trait fin de 1,4 px */
:is(.pks-rond,.pks-fleche,.pks-lignes,.pks-faq) svg :is(path,line,polyline){vector-effect:non-scaling-stroke;stroke-width:1.4px;}
.pks-lignes .e-n-accordion-item-title-icon svg{width:16px;height:16px;}
/* trait en dégradé bleu -> vert (bouton rond du trajet, liens « → », flèches des lignes dépliables) : dégradé déclaré par site.js */
@media (min-width:768px){ .pks-trajet .elementor-button svg :is(path,line,polyline){stroke:url(#pks-trait-degrade);} }
.pks-lien .elementor-button-icon svg :is(path,line,polyline){stroke:url(#pks-trait-degrade);}
.pks-lignes .e-n-accordion-item-title-icon svg :is(path,line,polyline){stroke:url(#pks-trait-degrade);}
@media (hover:hover){
  .pks-trajet .elementor-field-type-submit .elementor-button:hover svg :is(path,line,polyline),
  .pks-lignes .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon svg :is(path,line,polyline){stroke:#fff;}
}

/* R-21 : aucun libellé de bouton ne revient à la ligne (le bouton garde sa largeur dans une rangée) */
.elementor-button, .elementor-button .elementor-button-text{white-space:nowrap!important;}
.elementor-widget-button{flex-shrink:0;}
@media (max-width:767px){
  .elementor-widget-button{flex-shrink:1;max-width:100%;}
  .elementor-button.est-serre{font-size:14px!important;padding-left:12px!important;padding-right:12px!important;}
  .elementor-button.est-replie, .elementor-button.est-replie .elementor-button-text{white-space:normal!important;height:auto!important;min-height:48px;text-align:center;}
}
/* portables 1025–1180 px : les colonnes étroites (carte Pro, carte « Vous n'avez pas trouvé ») s'élargissent pour que le libellé
   tienne sur une ligne sans sortir de la carte */
@media (min-width:1025px) and (max-width:1180px){
  .elementor-element.pks-faq-conteneur{width:62%!important;flex:0 0 62%!important;}
  .pks-orientation{padding:32px 24px!important;}
  /* bloc Application : la carte téléchargement (QR + bouton) et la carte Pro ne tiennent pas côte à côte -> empilées, comme en tablette */
  .elementor-element.pks-app{flex-direction:column!important;}
  body .elementor-element.pks-app > .elementor-element{width:100%!important;flex:none!important;}
}

/* R-04 : FAQ — au survol, seul le bouton rond change (aucun fond sur l'icône interne) ; focus clavier visible sur le rond */
:is(.pks-faq,.pks-lignes) .e-n-accordion-item-title-icon span, :is(.pks-faq,.pks-lignes) .e-n-accordion-item-title-icon svg{background:none!important;outline:0!important;box-shadow:none!important;border:0!important;}
:is(.pks-faq,.pks-lignes) .e-n-accordion-item-title:focus{outline:none;}
:is(.pks-faq,.pks-lignes) .e-n-accordion-item-title:focus-visible{outline:none;}
:is(.pks-faq,.pks-lignes) .e-n-accordion-item-title:focus-visible .e-n-accordion-item-title-icon{outline:2px solid var(--pks-bleu);outline-offset:3px;}

/* R-06 : YouTube — au survol, le triangle « lecture » (blanc dans le fichier) prend la couleur du fond pour rester visible */
.pks-sociaux .elementor-social-icon svg path{transition:fill .2s;}
@media (hover:hover){ .pks-sociaux .elementor-social-icon:hover svg :is(path[fill="white"],path[fill="#fff"],path[fill="#FFFFFF"]){fill:var(--pks-bleu);} }
.pks-sociaux .elementor-social-icon:focus-visible{background:var(--pks-bleu)!important;}
.pks-sociaux .elementor-social-icon:focus-visible svg{color:#fff;}
.pks-sociaux .elementor-social-icon:focus-visible svg :is(path[fill="white"],path[fill="#fff"],path[fill="#FFFFFF"]){fill:var(--pks-bleu);}

/* R-01 + R-02 : témoignages — la carte active est toujours au centre de la fenêtre (aimantation au centre, marges intérieures
   d'une demi-fenêtre) ; l'ombre de la « Carte active » (0 16 40 -8 #09090B 8 %) n'est plus rognée : marge intérieure verticale
   compensée par une marge négative */
.pks-temoignages .pks-defile{padding-left:calc(50% + var(--pks-marge) - 162px)!important;padding-right:calc(50% + var(--pks-marge) - 162px)!important;
  scroll-padding-left:0!important;scroll-padding-right:0!important;padding-top:24px!important;padding-bottom:56px!important;margin-top:-24px!important;margin-bottom:-56px!important;}
.pks-temoignages .pks-defile > .pks-avis{scroll-snap-align:center;}

/* R-23 : carrousels mobiles — la zone de défilement occupe toute la largeur de l'écran (390 px), 1re carte à 20 px au repos */
@media (max-width:767px){
  .elementor-element.pks-defile-mobile, .elementor-element.pks-defile{width:calc(100% + 2 * var(--pks-marge))!important;max-width:none!important;
    margin-left:calc(-1 * var(--pks-marge))!important;margin-right:calc(-1 * var(--pks-marge))!important;
    padding-left:var(--pks-marge)!important;padding-right:var(--pks-marge)!important;scroll-padding-left:var(--pks-marge);}
  /* témoignages mobile (Figma : cartes de 280 px espacées de 12 px, carte active centrée) */
  .elementor-element.pks-temoignages .pks-defile{gap:12px!important;padding-left:calc(50% + var(--pks-marge) - 140px)!important;padding-right:calc(50% + var(--pks-marge) - 140px)!important;
    padding-top:16px!important;padding-bottom:48px!important;margin-top:-16px!important;margin-bottom:-48px!important;scroll-padding-left:0!important;}
  .pks-avis{width:280px!important;min-height:340px;}
}

/* R-30 : pagination des carrousels MOBILES (« Pagination / Carrousel / Mobile ») — points ronds de 8 px espacés de 8 px,
   point actif bleu de même taille ; zone de toucher agrandie sans changer la mise en page. R-22/R-23 : 32 px sous les cartes. */
@media (max-width:767px){
  body .pks-points{gap:8px!important;}
  body .pks-points button{width:8px!important;height:8px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;flex:none;
    border-radius:50%;background:var(--pks-bord);transition:background .3s;}
  body .pks-points button::before{display:none!important;}
  body .pks-points button::after{content:"";position:absolute;inset:-8px -4px;}
  body .pks-points button[aria-current="true"]{width:8px!important;background:var(--pks-bleu);}
}

/* R-22 : « Calculez le volume » mobile — 32 px entre le titre et les cartes */
@media (max-width:767px){
  .pks-calculez-section > .pks-interne, .pks-calculez-section > .e-con-inner{gap:32px;}
}

/* R-26 : menu burger — en-tête de déroulant ouvert + sous-liens = un seul rectangle (coins arrondis aux 4 angles extérieurs) */
.pks-mm-menu .elementor-nav-menu--dropdown a.has-submenu{transition:background .1s ease-out;}
.pks-mm-menu .elementor-nav-menu--dropdown a.has-submenu[aria-expanded="true"], .pks-mm-menu .elementor-nav-menu--dropdown a.has-submenu.highlighted{border-radius:12px 12px 0 0;margin-bottom:0!important;}
.pks-mm-menu .elementor-nav-menu--dropdown .sub-menu{margin-top:0!important;margin-bottom:8px!important;border:0!important;box-shadow:none!important;}
.pks-mm-menu .elementor-nav-menu--dropdown .sub-menu li, .pks-mm-menu .elementor-nav-menu--dropdown .sub-menu a{border:0!important;}
/* la marge haute du 1er sous-lien traversait la liste (fusion des marges) et laissait une bande blanche de 8 px sous l'en-tête */
.pks-mm-menu .elementor-nav-menu--dropdown .sub-menu{padding:8px!important;}
.pks-mm-menu .elementor-nav-menu--dropdown .sub-menu > li:first-child > .elementor-sub-item{margin-top:0!important;}

/* R-27 : retour visuel immédiat au toucher (état « pressé ») — menu, déroulants, boutons, flèches ; surlignage natif retiré */
*{-webkit-tap-highlight-color:transparent;}
.pks-mm-menu .elementor-nav-menu--dropdown .elementor-item{transition:background .1s ease-out;}
.pks-mm-menu .elementor-nav-menu--dropdown .elementor-item:active, .pks-mm-menu .elementor-nav-menu--dropdown .elementor-item.est-presse{background:var(--pks-bord)!important;}
.pks-mm-menu .elementor-nav-menu--dropdown .elementor-sub-item:active, .pks-mm-menu .elementor-nav-menu--dropdown .elementor-sub-item.est-presse{background:var(--pks-clair)!important;}
.pks-mm-liens .elementor-icon-list-item a{transition:background .1s ease-out;border-radius:8px;}
.pks-mm-liens .elementor-icon-list-item a:active{background:var(--pks-clair);}
.pks-mm-connexion .elementor-button:active{background:var(--pks-clair)!important;}
.pks-mm-inscription a:active{opacity:.6;}
.pks-nav-connexion .elementor-button:active .elementor-button-text{color:#163EB0;}
.pks-rond-nav .elementor-icon:active, .pks-fleche:not(.est-inactif) .elementor-icon:active{background:var(--pks-bord)!important;}
.pks-rond:active .elementor-icon{background:var(--pks-bord);}
.pks-rond--bleu:active .elementor-icon{background:#163EB0;}
.pks-btn-blanc .elementor-button:active{background:var(--pks-bord)!important;}
.pks-lien .elementor-button:active, .pks-lien-souligne .elementor-button:active{color:#12339E;}
.pks-trajet .elementor-button:active{background:#163EB0!important;color:#fff!important;}
:is(.pks-lignes,.pks-faq) .e-n-accordion-item-title:active .e-n-accordion-item-title-icon{filter:brightness(.92);}
.pks-sociaux .elementor-social-icon:active{background:var(--pks-clair)!important;}
.pks-pied-col .elementor-icon-list-item a:active .elementor-icon-list-text, .pks-legal a:active .elementor-icon-list-text{opacity:.7;}
