/* contact : repris de contact.html, adapté au balisage WordPress */
.page-contact main section{padding-block:0}
.page-contact [hidden]{display:none!important}
.k-trame{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.k-hero-in > p{color:#c3d6e7;font-size:1rem;line-height:1.55;margin-bottom:clamp(14px,2.4svh,28px)}
.k-tel{display:flex;align-items:center;gap:16px;padding:clamp(10px,1.8svh,16px) 18px;border-radius:8px;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:background .2s,border-color .2s;margin-bottom:clamp(10px,1.8svh,14px)}
.k-tel:hover{background:rgba(79,195,234,.12);border-color:rgba(79,195,234,.45)}
.k-tel-pi{flex:none;width:52px;height:52px;border-radius:8px;display:grid;place-items:center;color:var(--cyan-clair);background:linear-gradient(150deg,rgba(79,195,234,.18),rgba(16,80,143,.3));border:1px solid rgba(79,195,234,.3)}
.k-tel-pi svg{width:32px;height:32px}
.k-tel small{display:block;font-size:.85rem;color:#a9c3d8}
.k-tel b{display:block;font:800 clamp(1.5rem,2.2vw,1.9rem)/1.1 var(--titre);font-stretch:108%}
.k-tel:hover .pd .micro{animation:pulse-n .9s ease-in-out 2}
.k-agences{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:clamp(14px,2.4svh,22px)}
.k-agences div{display:flex;align-items:center;gap:12px;font-size:.88rem;color:#c3d6e7;line-height:1.35}
.k-agences b{display:block;color:#fff;font-family:var(--titre)}
.k-mini-pi{flex:none;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;color:var(--cyan-clair);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.k-mini-pi svg{width:24px;height:24px}
.k-engagements{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.92rem;color:#dbe8f3}
.k-engagements li{display:flex;align-items:center;gap:8px}
.k-engagements svg{width:18px;height:18px;color:var(--cyan-clair)}
.k-form{position:relative;width:100%;background:#fff;border:1px solid var(--filet);border-radius:8px;padding:clamp(22px,3svh,34px) clamp(22px,2.6vw,36px);box-shadow:0 50px 90px -60px rgba(10,34,64,.6),0 2px 8px rgba(10,34,64,.05);overflow:hidden}
.k-progression{position:absolute;left:0;right:0;top:0;height:4px;background:var(--glace)}
.k-progression span{display:block;height:100%;width:33.3%;background:linear-gradient(90deg,var(--cyan),var(--bleu));transition:width .5s cubic-bezier(.4,0,.2,1)}
.k-etapes-nav{list-style:none;margin:0 0 clamp(14px,2.4svh,22px);padding:0;display:flex;gap:8px 22px;flex-wrap:wrap;font:600 .88rem/1 var(--titre);color:#8ba0b4}
.k-etapes-nav li{display:flex;align-items:center;gap:8px}
.k-etapes-nav span{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:.82rem;background:var(--glace);color:#8ba0b4;transition:background .3s,color .3s}
.k-etapes-nav li.actif{color:var(--encre)}
.k-etapes-nav li.actif span{background:var(--marine);color:#fff}
.k-etapes-nav li.fait span{background:var(--cyan);color:#fff}
.k-etape{animation:k-entre .45s cubic-bezier(.2,.8,.2,1)}
@keyframes k-entre{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.k-etape h2{font-size:clamp(1.3rem,1.8vw,1.6rem);margin-bottom:clamp(12px,2svh,18px)}
.k-cibles{border:0;margin:0 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.k-cible{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:14px 16px;border-radius:8px;border:1.5px solid var(--filet);background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.k-cible input{position:absolute;opacity:0;pointer-events:none}
.k-cible-pi{grid-row:1 / span 2;width:50px;height:50px;border-radius:8px;display:grid;place-items:center;color:var(--bleu);background:linear-gradient(160deg,#fff 0%,#eef6fb 100%);border:1px solid var(--filet);box-shadow:0 1px 0 #fff inset,0 10px 20px -14px rgba(10,34,64,.55)}
.k-cible-pi svg{width:32px;height:32px}
.k-cible b{font:700 .97rem/1.25 var(--titre);color:var(--encre)}
.k-cible small{font-size:.8rem;color:var(--gris)}
.k-cible:hover{border-color:rgba(0,144,192,.5);transform:translateY(-2px);box-shadow:0 16px 30px -24px rgba(10,34,64,.6)}
.k-cible:has(input:checked){border-color:var(--cyan);background:#f2f9fd;box-shadow:0 0 0 3px rgba(0,144,192,.15)}
.k-cible:has(input:checked)::after{content:"";position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.2 2.2 2.2 4.6-4.8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.k-cible:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:2px}
.k-cible:is(:hover,:has(input:checked)) .pd-entreprise .allume{animation:clignote .9s ease-in-out 3}
.k-cible:is(:hover,:has(input:checked)) .pd-artisan .cle{animation:visse 1.1s ease-in-out}
.k-cible:is(:hover,:has(input:checked)) .pd-collectivite .drapeau{animation:flotte-drapeau 1.2s ease-in-out}
.k-cible:is(:hover,:has(input:checked)) .pd-particulier .ecran{animation:monte .8s ease-in-out}
.pd-collectivite .drapeau{transform-origin:0 100%}
.k-urgence-choix{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;background:#fff7ef;border:1px solid #f6dcc0;font-size:.9rem;color:#7a4a17;cursor:pointer}
.k-urgence-choix input{position:absolute;opacity:0}
.k-interrupteur{position:relative;flex:none;width:38px;height:22px;border-radius:22px;background:#e7cfb4;transition:background .2s}
.k-interrupteur::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s}
.k-urgence-choix:has(input:checked) .k-interrupteur{background:#e5534b}
.k-urgence-choix:has(input:checked) .k-interrupteur::after{left:19px}
.k-urgence-choix:has(input:focus-visible){outline:2px solid #e5534b;outline-offset:2px}
.k-urgence{display:flex;gap:16px;align-items:flex-start;margin-top:10px;padding:16px 18px;border-radius:8px;color:#fff;background:linear-gradient(150deg,#c2413a,#8f2622);animation:k-entre .35s ease}
.k-urgence-pi{flex:none;width:46px;height:46px;border-radius:8px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.14)}
.k-urgence-pi svg{width:30px;height:30px}
.k-urgence-pi .excl{animation:clignote 1.2s ease-in-out infinite}
.k-urgence b{display:block;font:700 1rem/1.3 var(--titre)}
.k-urgence p{margin:4px 0 12px;font-size:.88rem;color:#ffdcd8}
.k-urgence .btn{min-height:44px;background:#fff;color:#a8302a}
.k-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:clamp(14px,2.4svh,22px)}
.k-retour{display:inline-flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;color:var(--gris);font:600 .95rem/1 var(--titre);padding:10px 0}
.k-retour svg{width:18px;height:18px;transform:scaleX(-1)}
.k-retour:hover{color:var(--bleu)}
.k-suivant[disabled]{opacity:.45;cursor:not-allowed}
.k-groupe{border:0;margin:0 0 16px;padding:0}
.k-groupe legend{padding:0;margin-bottom:8px;font:700 .95rem/1.3 var(--titre);color:var(--encre)}
.k-groupe legend em,.k-champ label em{font-style:normal;font-weight:500;color:var(--gris);font-family:var(--texte);font-size:.85rem}
.k-aide{margin:-4px 0 8px;font-size:.82rem;color:var(--gris)}
.k-puces{display:flex;flex-wrap:wrap;gap:8px}
.k-puce{position:relative;cursor:pointer}
.k-puce input{position:absolute;opacity:0;pointer-events:none}
.k-puce span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:8px;border:1.5px solid var(--filet);background:#fff;font-size:.9rem;color:var(--encre);transition:border-color .15s,background .15s,color .15s}
.k-puce:hover span{border-color:rgba(0,144,192,.5)}
.k-puce input:checked + span{border-color:var(--cyan);background:#e8f5fb;color:var(--bleu);font-weight:600}
.k-puce input[type=checkbox]:checked + span::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 8.2 2.4 2.4 5.2-5.4' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.k-puce input:focus-visible + span{outline:2px solid var(--cyan);outline-offset:2px}
.k-champ{display:grid;gap:6px;margin-bottom:14px}
.k-champ label{font:700 .9rem/1.3 var(--titre);color:var(--encre)}
.k-champ :is(input,textarea){width:100%;border:1.5px solid var(--filet);border-radius:8px;padding:12px 14px;font:inherit;font-size:.95rem;color:var(--encre);background:#fbfdff;transition:border-color .2s,box-shadow .2s,background .2s}
.k-champ textarea{resize:vertical;min-height:110px;line-height:1.5}
.k-champ :is(input,textarea):focus{outline:none;border-color:var(--cyan);background:#fff;box-shadow:0 0 0 3px rgba(0,144,192,.15)}
.k-champ :is(input,textarea)::placeholder{color:#9aaebf}
.k-champ.invalide :is(input,textarea),.k-groupe.invalide .k-puce span{border-color:#e5534b}
.k-grille{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
.k-large{grid-column:1 / -1}
.k-recap{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 16px}
.k-recap span{padding:6px 10px;border-radius:8px;background:var(--glace);font-size:.8rem;color:var(--bleu);font-weight:600}
.k-consent{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--gris);cursor:pointer;margin-top:4px}
.k-consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--cyan);flex:none}
.k-consent a{color:var(--bleu)}
.k-consent.invalide{color:#c2413a}
.k-erreur{margin:8px 0 0;font-size:.83rem;color:#c2413a;font-weight:500}
.k-erreur-globale{margin-top:12px}
.k-envoyer{min-height:54px;font-size:1.02rem}
.k-merci{text-align:center;padding:clamp(20px,4svh,40px) 0;animation:k-entre .5s ease}
.k-merci-pi svg{width:72px;height:72px;margin:0 auto 18px}
.k-merci-coche{stroke-dasharray:1;stroke-dashoffset:1;animation:trace .6s ease-out .3s forwards}
.k-merci h2{font-size:clamp(1.4rem,2vw,1.8rem);margin-bottom:10px}
.k-merci-texte{color:var(--gris);margin-bottom:18px}
.k-merci-liste{list-style:none;margin:0 auto 24px;padding:0;display:grid;gap:8px;text-align:left}
.k-merci-liste li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:8px;background:var(--glace);font-size:.92rem}
.k-merci-liste b{color:var(--bleu);min-width:22px}
.k-suite{background:#fff;padding-block:clamp(64px,8vw,104px)!important}
.k-suite h2{margin-bottom:clamp(28px,4vw,44px)}
.k-suite-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);counter-reset:s}
.k-suite-liste li{position:relative;padding-top:28px;border-top:2px solid var(--glace-2);counter-increment:s}
.k-suite-liste li::before{content:"0" counter(s);position:absolute;top:-14px;right:0;font:800 .9rem/1 var(--titre);color:var(--cyan);background:#fff;padding-left:10px}
.k-suite-pi{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;color:var(--bleu);background:linear-gradient(160deg,#fff 0%,#eef6fb 100%);border:1px solid var(--filet);box-shadow:0 1px 0 #fff inset,0 12px 22px -16px rgba(10,34,64,.55);margin-bottom:16px}
.k-suite-pi svg{width:34px;height:34px}
.k-suite-liste h3{display:block;margin:0;letter-spacing:normal;font:700 1.12rem/1.3 var(--titre);margin-bottom:8px}
.k-suite-liste p{margin:0;color:var(--gris);font-size:.97rem}
.k-suite-liste li:hover .pd .p1,.k-suite-liste li:hover .pd .p2,.k-suite-liste li:hover .pd .p3{animation:saute .9s ease-in-out infinite}
.k-suite-liste li:hover .pd .p2{animation-delay:.15s}
.k-suite-liste li:hover .pd .p3{animation-delay:.3s}
.k-suite-liste li:hover .pd .micro{animation:pulse-n .9s ease-in-out infinite}
.k-suite-liste li:hover .pd .sceau{animation:tampon 1.2s cubic-bezier(.3,1.6,.5,1) infinite}
.k-agences-sec{background:var(--glace);padding-block:clamp(64px,8vw,104px)!important}
.k-agences-sec h2{margin-bottom:clamp(24px,3.5vw,40px)}
.k-agences-grille{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.k-agence{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--filet);box-shadow:0 30px 60px -44px rgba(10,34,64,.55)}
.k-plan{position:relative;min-height:240px;background:#e4eef6;overflow:hidden}
.k-plan i{position:absolute;background:#fff;box-shadow:0 0 0 1px #d6e3ee}
.k-plan .r1{left:-10%;right:-10%;top:38%;height:14px;transform:rotate(-12deg)}
.k-plan .r2{top:-10%;bottom:-10%;left:46%;width:12px;transform:rotate(18deg)}
.k-plan .r3{left:-10%;right:-10%;top:72%;height:8px;transform:rotate(6deg)}
.k-plan .r4{top:-10%;bottom:-10%;left:16%;width:8px;transform:rotate(-8deg)}
.k-plan-2 .r1{transform:rotate(9deg);top:46%}
.k-plan-2 .r2{left:58%;transform:rotate(-14deg)}
.k-plan-2 .r3{top:22%;transform:rotate(-4deg)}
.k-plan::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(0,144,192,.22),transparent 40%)}
.k-epingle{position:absolute;left:50%;top:46%;z-index:1;width:54px;height:54px;margin:-46px 0 0 -27px;color:var(--bleu);filter:drop-shadow(0 8px 10px rgba(10,34,64,.3));animation:rebond 2.4s ease-in-out infinite}
.k-epingle svg{width:54px;height:54px}
.k-agence-txt{padding:clamp(22px,2.6vw,32px)}
.k-agence-txt h3{font-size:1.3rem;margin-bottom:10px}
.k-agence-txt p{color:var(--gris);margin-bottom:10px}
.k-agence-zone{font-size:.92rem}
.k-agence-liens{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.k-agence-liens .btn{min-height:44px;padding:0 16px;font-size:.92rem}
.k-faq{background:#fff;padding-block:clamp(64px,8vw,104px)!important}
.k-faq-grille{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:1180px){.k-agences{grid-template-columns:1fr}}
@media (max-width:980px){.k-hero-in > p{margin-bottom:16px}.k-suite-liste,.k-agences-grille,.k-faq-grille{grid-template-columns:1fr}}
@media (max-width:640px){.k-cibles,.k-grille{grid-template-columns:1fr}.k-agence{grid-template-columns:1fr}.k-plan{min-height:160px}}
@media (prefers-reduced-motion:reduce){.page-contact *{animation:none!important}.k-merci-coche{stroke-dashoffset:0}}
.k-carte-gm{min-height:320px;background:#e4eef6}
.k-carte-gm::after{display:none}
.k-carte-gm iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.85)}
.k-tel-pi svg{width:34px;height:34px}
.pd-combine .ondes path{opacity:0;animation:onde-tel 1.8s ease-out infinite}
.pd-combine .ondes .o2{animation-delay:.3s}
.k-tel:hover .pd-combine{animation:sonne .5s ease-in-out 2}
.k-mini-pi{width:42px;height:42px}
.k-mini-pi svg{width:27px;height:27px}
.k-agences div:hover .epingle-b{animation:rebond .8s ease-in-out infinite}
.pd-agence .epingle-b{animation:rebond .9s ease-in-out .8s 2}
.k-engagements{gap:10px 26px}
.k-engagements li{gap:12px}
.k-engagements .k-mini-pi svg{width:27px;height:27px;color:var(--cyan-clair)}
.pd-horloge .arc24{stroke-dasharray:1;stroke-dashoffset:0;animation:trace-inverse 1.6s ease-out .6s backwards}
.pd-horloge .aiguille{transform-origin:50% 100%;animation:tourne 6s linear infinite}
.pd-devis0 .etiquette{transform-origin:15% 50%;animation:balance 2.4s ease-in-out 1s 2}
.k-engagements li:hover .pd-devis0 .etiquette{animation:balance 1.2s ease-in-out infinite}
.k-obligatoire{margin:-8px 0 14px;font-size:.82rem;color:var(--gris)}
.k-obligatoire span,.k-champ:has(:is(input,textarea)[required]:not(:disabled)) > label::after,.k-groupe[data-requis] > legend::after,.k-consent > span::after,.k-cibles[data-requis] ~ .k-obligatoire span{color:#d6453d;font-weight:700}
.k-champ:has(:is(input,textarea)[required]:not(:disabled)) > label::after,.k-groupe[data-requis] > legend::after{content:" *"}
.k-consent > span::after{content:" *"}
.k-etape[data-etape="1"] h2::after{content:" *";color:#d6453d}
.k-engagements{display:grid;grid-template-columns:1fr 1fr}
@media (max-width:640px){.k-engagements{grid-template-columns:1fr}}
.k-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;padding:calc(var(--entete) + clamp(36px,8svh,96px)) 0 clamp(44px,9svh,104px)!important;background:radial-gradient(70% 90% at 100% 100%,rgba(0,144,192,.32),transparent 60%),linear-gradient(160deg,var(--marine-2) 0%,var(--nuit) 70%)}
.k-hero .k-trame{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.k-hero h1{font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:780;line-height:1.08;margin-bottom:clamp(14px,2.4svh,22px)}
.k-hero-in > p{font-size:clamp(1rem,1.25vw,1.15rem);margin-bottom:clamp(20px,3.4svh,32px)}
.k-hero-boutons{display:flex;flex-wrap:wrap;gap:12px}
.k-form-sec{background:linear-gradient(180deg,#eaf3fa 0%,var(--glace) 100%);padding-block:clamp(48px,6vw,88px)!important;scroll-margin-top:var(--entete)}
.k-form-grille{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:clamp(24px,3vw,40px);align-items:start}
.k-form-col{scroll-margin-top:calc(var(--entete) + 20px)}
#formulaire{scroll-margin-top:calc(var(--entete) + 20px)}
.k-aside{position:sticky;top:calc(var(--entete) + 24px);overflow:hidden;isolation:isolate;padding:clamp(22px,2.4vw,30px);border-radius:8px;color:#fff;background:radial-gradient(100% 60% at 100% 0%,rgba(0,144,192,.35),transparent 60%),linear-gradient(160deg,var(--marine-2),var(--nuit));box-shadow:0 40px 80px -50px rgba(6,21,40,.8)}
.k-aside-titre{display:block;font:700 1.15rem/1.3 var(--titre);margin-bottom:16px}
.k-aside .k-tel b{font-size:clamp(1.4rem,1.9vw,1.75rem)}
.k-aside-urgence{margin:0 0 18px;padding:12px 14px;border-radius:8px;background:rgba(229,83,75,.14);border:1px solid rgba(229,83,75,.35);font-size:.86rem;line-height:1.45;color:#ffd9d6}
.k-aside-urgence span{display:block;font-weight:700;color:#fff;margin-bottom:2px}
.k-aside .k-agences,.k-aside .k-engagements{grid-template-columns:1fr;gap:12px}
.k-aside .k-agences{padding-top:16px;border-top:1px solid rgba(255,255,255,.12);margin-bottom:16px}
.k-aside .k-engagements{padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
@media (max-width:980px){.k-form-grille{grid-template-columns:1fr}.k-aside{position:static}}

/* Ajouts WordPress */
.k-piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.k-hero-boutons{margin:0}
.k-faq h2{margin:0}
.k-envoyer[aria-busy=true]{opacity:.6;cursor:progress}
/* Carte Google Maps chargée après accord : en attendant, un fond de plan et un bouton */
.k-carte-gm .k-carte-attente{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;padding:20px;text-align:center;font-size:.88rem;color:var(--gris)}
.k-carte-gm .k-carte-attente .btn{min-height:44px;padding:0 16px;font-size:.92rem}
.k-carte-gm.charge .k-carte-attente{display:none}
