/* Lot B — Calcul du volume (Figma 19833:4763 / 20048:7709) et Comment sont calculés nos tarifs ? (20565:15029 / 20565:15428).
   Classes pks-b-*, chargée après site.css. */

/* ---------- héros « Calcul du volume » : carte claire, texte à gauche, photo à droite ---------- */
.pks-b-hero{padding:16px 16px 0!important;}
.pks-b-hero-carte{flex-direction:row!important;align-items:center;justify-content:space-between;gap:80px;min-height:692px;padding:116px 32px 32px 84px!important;
  border-radius:32px;background:var(--pks-clair);}
.elementor-element.pks-b-hero-contenu{width:722px!important;max-width:100%;flex:0 1 722px!important;gap:32px;}
.pks-b-hero-actions{gap:32px;align-items:flex-start;}
.pks-b-hero-sous{font-size:18px;line-height:24px;font-weight:600;color:rgba(9,9,11,.8);}
.elementor-element.pks-b-hero-sous:not(.pks-blanc){max-width:500px!important;}
.pks-b-hero-sous.pks-blanc{color:rgba(255,255,255,.88)!important;max-width:none;}
.elementor-element.pks-b-hero-visuel{width:490px!important;flex:0 0 490px!important;height:544px;padding:24px 11px 24px 24px!important;align-self:flex-end;}
.pks-b-hero-visuel::after{background:linear-gradient(180deg,rgba(9,9,11,0) 40%,rgba(9,9,11,.55) 100%);}
.pks-b-puces{flex-direction:row!important;flex-wrap:wrap;gap:12px;}
.pks-b-puces > .elementor-element{width:auto!important;}
.pks-b-verre .elementor-heading-title{display:inline-flex;padding:10px 16px;border-radius:100px;background:rgba(255,255,255,.30);border:1px solid rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(9,9,11,.12);font-size:14px;line-height:20px;font-weight:500;color:#fff;}

/* ---------- héros « Tarifs » : photo plein cadre + panneau verre ---------- */
.pks-b-hero-photo{min-height:692px;padding:84px!important;justify-content:center;border-radius:32px;}
.pks-b-hero-photo::after{background:linear-gradient(90deg,rgba(9,9,11,.6) 0%,rgba(9,9,11,.05) 100%);}
.elementor-element.pks-b-verre-panneau{width:747px!important;max-width:100%;padding:56px 48px!important;gap:48px;border-radius:16px;background:rgba(255,255,255,.18);
  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);}

/* ---------- tutoriel du scan ---------- */
.pks-b-tuto{flex-direction:row!important;gap:80px;align-items:center;}
.elementor-element.pks-b-scene{width:560px!important;flex:0 0 560px!important;height:620px;border-radius:32px;background:var(--pks-clair);position:relative;overflow:hidden;
  align-items:center;justify-content:center;}
.pks-b-arcs{position:absolute!important;inset:0;pointer-events:none;}
.pks-b-scene .pks-b-arcs::before, .pks-b-scene .pks-b-arcs::after, .pks-b-scene::before{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);}
.pks-b-scene .pks-b-arcs::before{width:340px;height:340px;border:1.5px solid rgba(29,78,216,.16);}
.pks-b-scene .pks-b-arcs::after{width:480px;height:480px;border:1.5px solid rgba(29,78,216,.22);}
.pks-b-scene::before{width:620px;height:620px;border:1.5px solid rgba(29,78,216,.10);z-index:0;}
.elementor-element.pks-b-telephone{width:239px!important;height:516px;padding:7.2px!important;border-radius:28.8px;background:#121726;position:relative;z-index:1;}
.pks-b-ecran, .pks-b-ecran img{width:100%!important;height:100%!important;}
.pks-b-ecran img{object-fit:cover;object-position:top;border-radius:22.3px;display:block;}
.pks-b-tuto-col{flex:1 1 0;gap:40px;align-items:flex-start;}
.pks-b-tuto-tete{gap:20px;}
.pks-b-chapo{font-size:16px;line-height:24px;font-weight:500;color:rgba(9,9,11,.8);}
.pks-b-etapes{width:100%;}
.pks-b-etapes .e-n-accordion{display:flex;flex-direction:column;gap:4px;counter-reset:pksetape;}
.pks-b-etapes .e-n-accordion-item{counter-increment:pksetape;border-radius:20px;background:transparent;transition:background .25s ease-out;}
.pks-b-etapes .e-n-accordion-item[open]{background:var(--pks-clair);}
.pks-b-etapes .e-n-accordion-item-title{padding:16px 24px 16px 20px!important;border:0!important;background:none!important;justify-content:flex-start!important;gap:16px;align-items:center;}
.pks-b-etapes .e-n-accordion-item[open] > .e-n-accordion-item-title{padding-top:24px!important;padding-bottom:8px!important;}
.pks-b-etapes .e-n-accordion-item-title::before{content:counter(pksetape);flex:none;width:32px;height:32px;border-radius:16px;background:#E2EAFB;color:var(--pks-bleu);
  display:flex;align-items:center;justify-content:center;font-size:18px;line-height:28px;font-weight:500;}
.pks-b-etapes .e-n-accordion-item[open] > .e-n-accordion-item-title::before{background:var(--pks-bleu);color:#fff;}
.pks-b-etapes .e-n-accordion-item-title-header{flex:1 1 auto;}
.pks-b-etapes .e-n-accordion-item-title-text{font-size:18px;line-height:28px;font-weight:500;color:var(--pks-encre);}
.pks-b-etapes .e-n-accordion-item-title-icon{display:none!important;}
.pks-b-etapes .e-n-accordion-item > .e-con{padding:0 24px 24px 68px!important;border:0!important;}
.pks-b-etapes .pks-faq-reponse p{font-size:14px;line-height:20px;color:rgba(9,9,11,.8);}
.pks-b-etapes .pks-faq-reponse p + p{margin-top:8px;}
.pks-b-etape-texte{font-weight:600;}
.pks-b-etape-astuce{font-weight:500;}

/* ---------- un scan adapté à chaque service ---------- */
.pks-b-services{flex-direction:row!important;gap:32px;align-items:flex-start;}
.pks-b-service{flex:1 1 0;gap:28px;}
.pks-b-service-img img{width:100%!important;height:340px!important;object-fit:cover;border-radius:24px;display:block;}
.pks-b-service-texte{gap:12px;padding-right:24px!important;}

/* ---------- carte bleue « 3 points » ---------- */
.pks-b-bleu{position:relative;overflow:hidden;border-radius:32px;background:var(--pks-bleu);padding:64px!important;gap:48px;}
.pks-b-bleu > *{position:relative;z-index:1;}
.pks-b-bleu > .pks-b-arcs{z-index:0;}
.pks-b-bleu .pks-b-arcs::before, .pks-b-bleu .pks-b-arcs::after, .pks-b-bleu::before{content:"";position:absolute;border-radius:50%;}
.pks-b-bleu .pks-b-arcs::before{width:400px;height:400px;left:960px;top:-260px;border:1.5px solid rgba(255,255,255,.14);}
.pks-b-bleu .pks-b-arcs::after{width:640px;height:640px;left:840px;top:-380px;border:1.5px solid rgba(255,255,255,.10);}
.pks-b-bleu::before{width:900px;height:900px;left:710px;top:-510px;border:1.5px solid rgba(255,255,255,.07);z-index:0;}
.pks-b-bleu-tete{gap:16px;max-width:700px;}
.pks-b-bleu-sous, .pks-b-bleu-texte{font-size:16px;line-height:24px;font-weight:600;color:rgba(255,255,255,.8);}
.pks-b-bleu-colonnes{flex-direction:row!important;gap:48px;}
.pks-b-bleu-point{flex:1 1 0;gap:32px;}
.pks-b-bleu-point + .pks-b-bleu-point{padding-left:32px!important;border-left:1px solid rgba(255,255,255,.2);}
.pks-b-bleu-point-texte{gap:12px;}
.pks-b-ico-verre{width:auto;}
.pks-b-ico-verre .elementor-icon{width:48px;height:48px;border-radius:100px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;}
.pks-b-ico-verre svg{width:24px;height:24px;fill:none!important;stroke:currentColor;stroke-width:1.6;}

/* ---------- liste à pastilles + photo (« Missions ») ---------- */
.pks-b-liste-bloc{flex-direction:row!important;gap:80px;align-items:stretch;}
.elementor-element.pks-b-liste-col{width:679px!important;flex:0 0 679px!important;gap:48px;}
.pks-b-liste{gap:32px;}
.pks-b-liste-item{flex-direction:row!important;gap:24px;align-items:center;}
.pks-b-liste-item .pks-ico .elementor-icon{color:var(--pks-bleu);}
.pks-b-liste-item .pks-h4{flex:1 1 auto;}
.elementor-element.pks-b-liste-visuel{flex:1 1 0;position:relative;min-height:304px;}
.pks-b-liste-visuel img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;border-radius:32px;display:block;}

/* ---------- texte + photo (« Ce qui compose votre tarif », « Un devis établi… ») ---------- */
.pks-b-tv{flex-direction:row!important;gap:80px;align-items:flex-start;}
.pks-b-tv--haut{align-items:stretch;}
.elementor-element.pks-b-tv-texte{width:600px!important;flex:0 0 600px!important;gap:48px;}
.pks-b-tv--haut .pks-b-tv-texte{padding-top:20px!important;}
.pks-b-tv-tete{gap:32px;}
.pks-b-tv-texte .pks-texte p + p{margin-top:24px;}
.pks-b-tv-texte .pks-texte{color:var(--pks-encre);}
.pks-b-tv-visuel{flex:1 1 0;}
.pks-b-tv-visuel img{width:100%!important;height:304px!important;object-fit:cover;border-radius:32px;display:block;}
.pks-b-tv--gauche .pks-b-tv-visuel img{height:430px!important;}

/* bento Packler Now inversé (photo à gauche) : photo sans voile, comme la maquette */
.pks-b-sans-voile::after{display:none;}
.pks-b-bento-inverse > .pks-bento-visuel{flex:0 0 50.8%!important;}

/* ---------- « Estimez votre prix » ---------- */
.pks-b-estim{min-height:380px;padding:72px 64px 68px!important;gap:76px;border-radius:32px;justify-content:flex-start;}
.pks-b-estim::after{background:linear-gradient(90deg,rgba(9,9,11,.72) 0%,rgba(9,9,11,.25) 60%,rgba(9,9,11,.5) 100%);}
.pks-b-estim-titres{gap:16px;}
.pks-b-ondes{position:absolute!important;inset:0;pointer-events:none;z-index:0;}
.pks-b-ondes::before, .pks-b-ondes::after{content:"";position:absolute;border-radius:50%;left:1050px;top:340px;transform:translate(-50%,-50%);}
.pks-b-ondes::before{width:800px;height:800px;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.22);}
.pks-b-ondes::after{width:500px;height:500px;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.30);}
.pks-b-estim > *{position:relative;z-index:1;}
.pks-b-estim-btn{margin-left:8px!important;}

/* =================================== tablette =================================== */
@media (max-width:1280px){
  .pks-b-hero-carte{gap:48px;padding-left:48px!important;}
  .elementor-element.pks-b-hero-visuel{width:420px!important;flex-basis:420px!important;}
  .pks-b-tuto, .pks-b-liste-bloc, .pks-b-tv{gap:48px;}
  .elementor-element.pks-b-scene{width:46%!important;flex-basis:46%!important;}
  .elementor-element.pks-b-liste-col, .elementor-element.pks-b-tv-texte{width:55%!important;flex-basis:55%!important;}
  .pks-b-bleu-colonnes{gap:32px;}
}
@media (max-width:1024px) and (min-width:768px){
  .pks-b-hero-carte{flex-direction:column!important;align-items:flex-start;justify-content:flex-start;gap:48px;min-height:0;padding:140px 48px 48px!important;}
  .elementor-element.pks-b-hero-contenu{flex:none!important;}
  .elementor-element.pks-b-hero-visuel{width:100%!important;flex:none!important;height:420px;align-self:stretch;}
  .pks-b-tuto{flex-direction:column!important;}
  .elementor-element.pks-b-scene{width:100%!important;flex:none!important;}
  .pks-b-bleu-colonnes{gap:24px;}
  .pks-b-bleu-point + .pks-b-bleu-point{padding-left:24px!important;}
  .pks-b-bleu{padding:48px!important;}
  .pks-b-bleu .pks-h3 .elementor-heading-title{font-size:26px;line-height:30px;}
}

/* =================================== mobile (maquette 390) =================================== */
@media (max-width:767px){
  /* Elementor passe les conteneurs en flex-wrap + largeur 100 % en mobile : les rangées icône + texte restent sur une ligne */
  :is(.pks-b-bleu-point,.pks-b-liste-item,.pks-b-puces){flex-wrap:nowrap!important;}
  :is(.pks-b-bleu-point,.pks-b-liste-item) > .elementor-element:not(:first-child){width:auto!important;flex:1 1 0!important;min-width:0;}
  :is(.pks-b-bleu-point,.pks-b-liste-item) > .elementor-element:first-child{width:auto!important;flex:none!important;}
  .pks-b-puces{flex-wrap:wrap!important;}
  .pks-b-hero{padding:84px 20px 0!important;}
  .pks-b-hero-carte{flex-direction:column!important;align-items:stretch;gap:48px;min-height:0;padding:56px 24px 24px!important;border-radius:24px;}
  .elementor-element.pks-b-hero-contenu{width:100%!important;flex:none!important;gap:48px;}
  .pks-b-hero-sous{font-size:18px;line-height:28px;font-weight:500;}
  .pks-b-hero-actions{gap:48px;}
  .elementor-element.pks-b-hero-visuel{width:100%!important;flex:none!important;height:175px;border-radius:24px;padding:24px 11px 24px 24px!important;align-self:stretch;justify-content:flex-end;}
  .pks-b-puces{justify-content:flex-end;gap:12px;}
  .pks-b-verre .elementor-heading-title{padding:6px 8px;font-size:12px;line-height:16px;text-transform:uppercase;}
  .pks-b-hero-photo{min-height:447px;padding:100px 16px 44px!important;border-radius:24px;justify-content:flex-start;}
  .elementor-element.pks-b-verre-panneau{padding:24px 20px!important;gap:32px;}

  .pks-b-tuto{flex-direction:column!important;gap:48px;}
  .pks-b-tuto > .pks-b-scene{order:2;}
  .pks-b-tuto > .pks-b-tuto-col{display:contents!important;}
  .pks-b-tuto-tete{order:1;gap:16px;}
  .pks-b-etapes{order:3;margin-top:-16px;}
  .pks-b-tuto-col > .pks-btn{order:4;align-self:center;}
  .elementor-element.pks-b-scene{width:100%!important;flex:none!important;height:400px;border-radius:24px;}
  .pks-b-scene .pks-b-arcs::before{width:220px;height:220px;border-color:rgba(29,78,216,.10);}
  .pks-b-scene .pks-b-arcs::after{width:300px;height:300px;}
  .pks-b-scene::before{width:380px;height:380px;border-color:rgba(29,78,216,.16);}
  .elementor-element.pks-b-telephone{width:166px!important;height:356px;padding:6.1px!important;border-radius:20px;}
  .pks-b-ecran img{border-radius:15.4px;}
  .pks-b-etapes .e-n-accordion-item-title{padding:16px 20px!important;}
  .pks-b-etapes .e-n-accordion-item[open] > .e-n-accordion-item-title{padding-top:24px!important;}
  .pks-b-etapes .e-n-accordion-item-title-text{font-size:18px;line-height:24px;}
  .pks-b-etapes .e-n-accordion-item > .e-con{padding:0 20px 24px 68px!important;}
  .pks-b-etapes .pks-faq-reponse p{font-weight:500;}

  .pks-b-services{flex-direction:column!important;gap:48px;}
  .pks-b-service{gap:20px;flex:none;width:100%;}
  .pks-b-service-img img{height:220px!important;border-radius:20px;}
  .pks-b-service-texte{gap:8px;padding-right:0!important;}

  .pks-b-bleu{padding:32px 24px!important;border-radius:24px;gap:48px;}
  .pks-b-bleu .pks-b-arcs::before{left:240px;top:auto;bottom:-120px;width:200px;height:200px;}
  .pks-b-bleu .pks-b-arcs::after{left:180px;top:auto;bottom:-180px;width:320px;height:320px;}
  .pks-b-bleu::before{left:120px;top:auto;bottom:-240px;width:440px;height:440px;}
  .pks-b-bleu-sous{font-weight:500;}
  .pks-b-bleu-colonnes{flex-direction:column!important;gap:32px;position:relative;}
  .pks-b-bleu-colonnes::before{content:"";position:absolute;left:23px;top:48px;bottom:60px;width:2px;border-radius:1px;background:rgba(255,255,255,.35);}
  .pks-b-bleu-point{flex-direction:row!important;gap:16px;flex:none;}
  .pks-b-bleu-point + .pks-b-bleu-point{padding-left:0!important;border-left:0;}
  .pks-b-bleu-point > .pks-b-ico-verre{position:relative;z-index:1;}
  .pks-b-bleu-point .pks-b-ico-verre .elementor-icon{background:#3D66DE;}
  .pks-b-bleu-point-texte{gap:8px;flex:1 1 0;}
  .pks-b-bleu .pks-h3 .elementor-heading-title{font-size:22px;line-height:28px;letter-spacing:-.22px;}
  .pks-b-bleu-texte{font-weight:500;}

  .pks-b-liste-bloc{flex-direction:column!important;gap:32px;}
  .pks-b-liste-bloc > .pks-b-liste-visuel{order:-1;}
  .elementor-element.pks-b-liste-col{width:100%!important;flex:none!important;gap:48px;}
  .pks-b-liste{gap:0;}
  .pks-b-liste-item{gap:12px;padding:14px 0!important;border-bottom:1px solid var(--pks-bord);}
  .pks-b-liste-item .pks-ico .elementor-icon{width:32px;height:32px;}
  .pks-b-liste-item .pks-ico svg{width:16px;height:16px;}
  .pks-b-liste-item br{display:none;}
  .pks-b-liste-item .pks-h4 .elementor-heading-title{font-size:16px;line-height:24px;font-weight:500;}
  .elementor-element.pks-b-liste-visuel{height:220px;min-height:220px;flex:none;width:100%;}
  .pks-b-liste-visuel img{border-radius:24px;}

  .pks-b-tv{flex-direction:column!important;gap:48px;}
  .pks-b-tv--gauche > .pks-b-tv-visuel{order:2;}
  .elementor-element.pks-b-tv-texte{width:100%!important;flex:none!important;gap:32px;}
  .pks-b-tv--haut .pks-b-tv-texte{padding-top:0!important;}
  .pks-b-tv-visuel{width:100%;flex:none;}
  .pks-b-tv-visuel img, .pks-b-tv--gauche .pks-b-tv-visuel img{height:300px!important;border-radius:24px;}
  .pks-b-tv-texte .pks-texte p + p{margin-top:16px;}

  .pks-b-bento-inverse > .pks-bento-visuel{order:2;flex:none!important;}

  .pks-b-estim{min-height:194px;padding:24px!important;gap:24px;border-radius:24px;}
  .pks-b-estim .pks-h3 .elementor-heading-title{font-size:22px;line-height:28px;}
  .pks-b-ondes::before, .pks-b-ondes::after{left:300px;top:160px;}
  .pks-b-ondes::before{width:400px;height:400px;}
  .pks-b-ondes::after{width:250px;height:250px;}
  .pks-b-estim-btn{margin-left:0!important;}
  .pks-b-estim{gap:16px;}
  .pks-b-estim-titres{gap:8px;}
  .pks-b-estim-btn .elementor-button{height:40px;font-size:14px;padding:0 14px;}
}

/* contournement local (composant partagé temoignages()) : à 320–335 px les 10 points + 2 flèches dépassent de 1 à 8 px */
@media (max-width:340px){ :is(.page-id-217,.page-id-218) .pks-temoignages-pied{gap:4px;} :is(.page-id-217,.page-id-218) .pks-temoignages-pied .pks-points{gap:4px;} :is(.page-id-217,.page-id-218) .pks-temoignages-pied .pks-points button{width:6px;height:6px;} :is(.page-id-217,.page-id-218) .pks-temoignages-pied .pks-points button[aria-current="true"]{width:20px;} }
