/* Contact uniquement : habillage progressif, contrôles natifs et traitement conservés. */
body.page-id-20.k3-inner-page .k3i-reading--wide{max-width:1250px}
body.page-id-20 #ancre-contenu .k3-contact-studio{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.65fr);margin:48px 0 64px;border:1px solid #d8e2e8;border-radius:26px;background:#fff;box-shadow:0 24px 70px #0d2b4110;isolation:isolate}
body.page-id-20 #ancre-contenu .k3-contact-studio__intro{position:relative;display:flex;flex-direction:column;min-width:0;padding:clamp(28px,3vw,44px);border-radius:25px 0 0 25px;background:#0d2b41;color:#fff;overflow:hidden}
body.page-id-20 #ancre-contenu .k3-contact-studio__intro::after{content:'';position:absolute;width:400px;height:400px;border:1px solid #ffffff14;border-radius:50%;right:-260px;bottom:60px;box-shadow:0 0 0 42px #ffffff04,0 0 0 85px #ffffff04;pointer-events:none;z-index:-1}
body.page-id-20 #ancre-contenu .k3-contact-studio__intro h2{margin:22px 0;font:700 clamp(30px,2.7vw,42px)/1.12 KreaHome,Arial,sans-serif;letter-spacing:-.045em;color:#fff;text-wrap:initial}
body.page-id-20 #ancre-contenu .k3-contact-studio__intro p{font-size:16px;line-height:1.75;color:#e0e9ed;margin:0}
body.page-id-20 #ancre-contenu .k3-contact-studio__intro .k3-contact-studio__eyebrow{color:#fff;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
body.page-id-20 #ancre-contenu .k3-contact-studio__drawing{width:100%;max-width:260px;height:auto;margin:22px 0 32px;color:#fff}
body.page-id-20 #ancre-contenu .k3-contact-studio__direct{margin-top:auto;padding-top:28px;border-top:1px solid #ffffff38}
body.page-id-20 #ancre-contenu .k3-contact-studio__direct a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin:8px 0 18px;font:700 clamp(18px,1.7vw,23px)/1.4 KreaHome,Arial,sans-serif;color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
body.page-id-20 #ancre-contenu .k3-contact-studio__direct a:hover{text-decoration-thickness:2px}
body.page-id-20 #ancre-contenu .k3-contact-studio__direct a:focus-visible{outline:2px solid #fff;outline-offset:5px}
body.page-id-20 #ancre-contenu .k3-contact-studio__intro .k3-contact-studio__location{font-size:12px}
body.page-id-20 #ancre-contenu .k3-contact-studio__form{min-width:0;padding:clamp(24px,3.4vw,48px)}
body.page-id-20 #ancre-contenu .k3-contact-studio__required{margin:0 0 26px;color:#526774;font-size:13px;line-height:1.6}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact{margin:0;padding:0;font-family:KreaHome,Arial,sans-serif;scroll-margin-top:145px}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact fieldset{margin:0;padding:0;min-width:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact fieldset::before{content:none;display:none}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .legend{width:100%;margin:0 0 26px;padding:0;border:0}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .legend :is(h3,.legend-title){font:700 26px/1.2 KreaHome,Arial,sans-serif;letter-spacing:-.035em;color:#0d2b41}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact ul.section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin:0;padding:0;list-style:none}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact li.item{min-width:0;margin:0;padding:0}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact li.item:has(#vfb-collectivite-ou-structure),
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(.item-select,.item-textarea,.item-file-upload,.item-radio){grid-column:1/-1}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact label.desc{margin:0 0 8px;padding:0;font:600 14px/1.5 KreaHome,Arial,sans-serif;color:#0d2b41}
body.page-id-20 #ancre-contenu .k3-contact-studio .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(input.text,select.select,textarea.textarea){width:100%;max-width:100%;height:54px;margin:0;padding:13px 16px;border:1px solid #a9bac5;border-radius:9px;background:#f6f8fa;color:#0d2b41;font:400 16px/1.6 KreaHome,Arial,sans-serif;box-shadow:none;transition:background-color .18s,border-color .18s,box-shadow .18s}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact textarea.textarea{height:auto;min-height:155px;resize:vertical}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(input.text,select.select,textarea.textarea):hover{border-color:#086868}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(input.text,select.select,textarea.textarea):focus{border-color:#086868;background:#fff;box-shadow:0 0 0 4px #08686812}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(input,select,textarea):focus-visible{outline:2px solid #086868;outline-offset:3px}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact input[type=file]{height:auto;padding:14px;border-style:dashed;font-size:13px}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact input[type=file]::file-selector-button{max-width:100%;margin:0 12px 0 0;padding:10px 12px;border:1px solid #d8e2e8;border-radius:6px;background:#fff;color:#0d2b41;font:600 13px/1.5 KreaHome,Arial,sans-serif;cursor:pointer}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact input[type=file]::file-selector-button:hover{background:#0d2b41;color:#fff}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact input#sendmail{width:100%;min-height:56px;margin:26px 0 0;padding:15px 24px;border:1px solid #0d2b41;border-radius:9px;background:#0d2b41;box-shadow:none;color:#fff;font:700 16px/1.5 KreaHome,Arial,sans-serif;transform:none;transition:background-color .18s,border-color .18s}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact input#sendmail:is(:hover,:focus-visible):not(:disabled){background:#086868;border-color:#086868;box-shadow:none;transform:none}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact input#sendmail:disabled{opacity:.6;cursor:wait;transform:none}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(input,select,textarea):is(.error,[aria-invalid=true]){border-color:#b42318;box-shadow:0 0 0 2px #b4231810}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact label.error{margin:6px 0 0;color:#9d2118;font-size:13px;line-height:1.5}
/* Les éventuels groupes administrables restent natifs, sans remplacement JS. */
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .vfb-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .vfb-choice-item{position:relative;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #a9bac5;border-radius:9px;background:#f6f8fa}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .vfb-choice-item:has(:checked){border-color:#086868;background:#edf6f5}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .vfb-choice-item input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#086868}
body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .vfb-choice-item label{margin:0;padding:0;min-height:44px;line-height:1.5}
@media(max-width:850px){
 body.page-id-20 #ancre-contenu .k3-contact-studio{grid-template-columns:minmax(0,1fr);margin:32px 0 48px;border-radius:20px}
 body.page-id-20 #ancre-contenu .k3-contact-studio__intro{border-radius:19px 19px 0 0;padding:28px}
 body.page-id-20 #ancre-contenu .k3-contact-studio__intro h2{max-width:22ch;margin:16px 0;font-size:32px}
 body.page-id-20 #ancre-contenu .k3-contact-studio__drawing{display:none}
 body.page-id-20 #ancre-contenu .k3-contact-studio__direct{margin-top:24px;padding-top:20px}
 body.page-id-20 #ancre-contenu .k3-contact-studio__direct a{justify-content:flex-start;margin-bottom:10px}
}
@media(max-width:560px){
 body.page-id-20 #ancre-contenu .k3-contact-studio__form{padding:26px 20px}
 body.page-id-20 #ancre-contenu .k3-contact-studio__intro{padding:28px 20px}
 body.page-id-20 #ancre-contenu .k3-contact-studio__intro h2{font-size:30px}
 body.page-id-20 #ancre-contenu .k3-contact-studio form#contact ul.section,
 body.page-id-20 #ancre-contenu .k3-contact-studio form#contact .vfb-choice-list{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :is(input,select,textarea){transition:none}}
@media(forced-colors:active){body.page-id-20 #ancre-contenu .k3-contact-studio__intro{border:1px solid CanvasText}body.page-id-20 #ancre-contenu .k3-contact-studio form#contact :focus-visible{outline-color:Highlight}}
