/*!
 * SOWATT – page « Nous contacter » · styles isolés (limités au conteneur #sowatt-contact).
 * Police : hérite de celle du site.
 */
#sowatt-contact{--bleu:#0078ff; --bleu-fonce:#005fcc; --ambre:#ffab00;
    --gris:#f4f7fb; --texte:#32373c; --bord:#e3e8ef; --muted:#8a9099;
    --vert:#1f9d55; --rouge:#d64545;}
#sowatt-contact, #sowatt-contact *, #sowatt-contact *::before, #sowatt-contact *::after{box-sizing:border-box;}
#sowatt-contact{font-family:inherit; color:var(--texte); line-height:1.6; margin:0; background:#fff;}
#sowatt-contact a{color:var(--bleu);}
#sowatt-contact .scon-hero{background:linear-gradient(135deg,#0078ff,#005fcc); color:#fff; padding:48px 24px 28px; text-align:center;}
#sowatt-contact .scon-hero h1{margin:0 0 8px; font-size:32px; letter-spacing:-.5px;}
#sowatt-contact .scon-hero p{margin:0 auto; max-width:560px; opacity:.92; font-size:16px;}
#sowatt-contact .scon-wrap{max-width:820px; margin:0 auto; padding:24px 24px 90px;}
#sowatt-contact .scon-crumbs{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; min-height:32px;}
#sowatt-contact .scon-crumb{background:var(--gris); border:1px solid var(--bord); border-radius:20px; padding:4px 12px; font-size:13px; font-weight:600;}
#sowatt-contact .scon-crumb button{border:0; background:none; color:var(--bleu); cursor:pointer; font-weight:700; margin-left:6px; font-size:13px;}
#sowatt-contact .scon-step{display:none;}
#sowatt-contact .scon-step.scon-active{display:block; animation:scon-fade .2s ease;}
@keyframes scon-fade{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:none}}
#sowatt-contact .scon-step h2{font-size:22px; margin:6px 0 14px;}
#sowatt-contact .scon-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px;}
#sowatt-contact .scon-choice{border:1px solid var(--bord); border-radius:14px; background:#fff; padding:18px 16px; text-align:left; cursor:pointer;
          box-shadow:0 1px 3px rgba(0,0,0,.04); transition:.15s; font:inherit; color:inherit;}
#sowatt-contact .scon-choice:hover, #sowatt-contact .scon-choice:focus-visible{border-color:var(--bleu); box-shadow:0 0 0 4px rgba(0,120,255,.12); outline:none;}
#sowatt-contact .scon-choice .scon-ico{font-size:26px; display:block; margin-bottom:6px;}
#sowatt-contact .scon-choice strong{display:block; font-size:16px;}
#sowatt-contact .scon-choice small{color:var(--muted); font-size:13px;}
#sowatt-contact .scon-back{border:0; background:none; color:var(--bleu); cursor:pointer; font-weight:600; padding:0; margin:18px 0 0; font-size:14px;}
#sowatt-contact .scon-deflect-search{position:relative; margin:8px 0 14px;}
#sowatt-contact .scon-deflect-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); width:20px; height:20px; color:var(--muted);}
#sowatt-contact #scon-dq{width:100%; padding:14px 16px 14px 46px; font-size:16px; border:2px solid var(--bord); border-radius:30px; outline:none;}
#sowatt-contact #scon-dq:focus{border-color:var(--bleu); box-shadow:0 0 0 4px rgba(0,120,255,.12);}
#sowatt-contact .scon-count{color:var(--muted); font-size:13px; margin:0 2px 8px;}
#sowatt-contact .scon-item{border:1px solid var(--bord); border-radius:12px; margin:10px 0; overflow:hidden; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.04);}
#sowatt-contact .scon-q-btn{width:100%; text-align:left; border:0; background:none; cursor:pointer; padding:14px 46px 14px 16px; font-size:15px; font-weight:600;
         color:var(--texte); position:relative; line-height:1.4; font-family:inherit;}
#sowatt-contact .scon-q-btn .scon-chev{position:absolute; right:16px; top:16px; width:16px; height:16px; transition:transform .25s; color:var(--bleu);}
#sowatt-contact .scon-item.scon-open .scon-q-btn .scon-chev{transform:rotate(180deg);}
#sowatt-contact .scon-answer{display:none; padding:0 18px 16px; font-size:15px;}
#sowatt-contact .scon-item.scon-open .scon-answer{display:block;}
#sowatt-contact .scon-answer img{max-width:100%; height:auto; border-radius:8px;}
#sowatt-contact .scon-answer .tip, #sowatt-contact .scon-answer .warn{border-left:4px solid var(--ambre); background:#fff8e6; padding:10px 14px; border-radius:8px; margin:12px 0;}
#sowatt-contact mark{background:#fff1b8; padding:0 2px; border-radius:3px;}
#sowatt-contact .scon-verdict{margin-top:22px; padding:18px; border-radius:14px; background:var(--gris); border:1px solid var(--bord); text-align:center;}
#sowatt-contact .scon-verdict p{margin:0 0 12px; font-weight:600;}
#sowatt-contact .scon-btn{display:inline-block; border:0; border-radius:30px; padding:12px 22px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; margin:4px;}
#sowatt-contact .scon-btn.scon-ok{background:#e6f6ec; color:var(--vert);}
#sowatt-contact .scon-btn.scon-ko{background:var(--bleu); color:#fff;}
#sowatt-contact .scon-btn.scon-ko:hover{background:var(--bleu-fonce);}
#sowatt-contact .scon-btn.scon-ghost{background:#fff; border:1px solid var(--bord); color:var(--texte);}
#sowatt-contact .scon-form-card{border:1px solid var(--bord); border-radius:16px; padding:22px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.04);}
#sowatt-contact .scon-form-card .scon-target{font-size:12px; color:#fff; background:#5b6b7f; display:inline-block; padding:3px 10px; border-radius:12px; margin-bottom:12px;}
#sowatt-contact .scon-form-card .scon-target.scon-ticket{background:#b8641a;}
#sowatt-contact .scon-form-card .scon-target.scon-opp{background:#1f7a4d;}
#sowatt-contact fieldset{border:1px solid var(--bord); border-radius:12px; padding:12px 16px 4px; margin:0 0 14px;}
#sowatt-contact legend{font-weight:700; font-size:14px; padding:0 6px; color:var(--bleu-fonce);}
#sowatt-contact .scon-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:12px;}
#sowatt-contact label{display:block; font-size:13px; font-weight:600; margin-bottom:4px;}
#sowatt-contact input[type=text], #sowatt-contact input[type=email], #sowatt-contact input[type=tel], #sowatt-contact input[type=number], #sowatt-contact input[type=date], #sowatt-contact select, #sowatt-contact textarea{width:100%; padding:10px 12px; border:1px solid var(--bord); border-radius:8px; font:inherit; font-size:15px; background:#fff;}
#sowatt-contact textarea{min-height:110px; resize:vertical;}
#sowatt-contact .scon-check{display:flex; gap:8px; align-items:flex-start; font-size:13px; font-weight:400; margin:8px 0;}
#sowatt-contact .scon-check input{margin-top:4px;}
#sowatt-contact .scon-legal{font-size:12px; color:var(--muted); margin-top:14px;}
#sowatt-contact .scon-form-error{margin:14px 0 0; padding:12px 16px; border-radius:12px; background:#fdecec; border-left:4px solid var(--rouge); font-size:14px;}
#sowatt-contact .scon-urgent{margin-top:16px; padding:12px 16px; border-radius:12px; background:#fff8e6; border-left:4px solid var(--ambre); font-size:14px;}
#sowatt-contact .scon-done{text-align:center; padding:40px 20px;}
#sowatt-contact .scon-done .scon-ico{font-size:48px;}
#sowatt-contact .scon-proto{position:fixed; bottom:12px; right:12px; background:#1b1f24; color:#fff; font-size:12px; padding:8px 12px; border-radius:10px; opacity:.85; max-width:320px;}
#sowatt-contact .scon-proto b{color:var(--ambre);}
@media (max-width:520px){
#sowatt-contact .scon-hero h1{font-size:26px;}
#sowatt-contact .scon-wrap{padding:18px 16px 80px;}
}

/* ---------- Garde-fous contre les styles du thème / kit Elementor ---------- */
#sowatt-contact{display:block; width:100%; text-align:left;}
#sowatt-contact h1,#sowatt-contact h2,#sowatt-contact h3{line-height:1.3; text-transform:none; letter-spacing:normal; font-weight:700;}
#sowatt-contact h2{color:var(--texte);}
#sowatt-contact .scon-hero h1{color:#fff; font-size:32px; letter-spacing:-.5px; margin:0 0 8px;}
#sowatt-contact .scon-hero p{color:#fff;}
#sowatt-contact .scon-done h2{color:var(--texte);}
#sowatt-contact button{font-family:inherit; text-transform:none; letter-spacing:normal; text-decoration:none; box-shadow:none;
  min-height:0; min-width:0; margin:0; padding:0; border-radius:0; line-height:1.4; white-space:normal; width:auto; height:auto;}
#sowatt-contact .scon-choice{width:100%;}
#sowatt-contact .scon-btn{margin:4px;}
#sowatt-contact .scon-q-btn:hover,#sowatt-contact .scon-q-btn:focus,#sowatt-contact .scon-back:hover,#sowatt-contact .scon-back:focus,
#sowatt-contact .scon-crumb button:hover,#sowatt-contact .scon-crumb button:focus{background:none;}
#sowatt-contact .scon-choice:hover,#sowatt-contact .scon-choice:focus{background:#fff; color:inherit;}
#sowatt-contact .scon-btn.scon-ok:hover{background:#e6f6ec; color:var(--vert);}
#sowatt-contact .scon-btn.scon-ko:hover,#sowatt-contact .scon-btn.scon-ko:focus{color:#fff;}
#sowatt-contact .scon-btn.scon-ghost:hover{background:#fff; color:var(--texte);}
#sowatt-contact .scon-btn:disabled{opacity:.6; cursor:wait;}
#sowatt-contact input,#sowatt-contact select,#sowatt-contact textarea{font-family:inherit; color:var(--texte); line-height:1.4;
  margin:0; height:auto; min-height:0; box-shadow:none;}
#sowatt-contact input[type=text],#sowatt-contact input[type=email],#sowatt-contact input[type=tel],#sowatt-contact input[type=number],
#sowatt-contact input[type=date],#sowatt-contact select{height:auto; min-height:44px;}
#sowatt-contact #scon-dq{-webkit-appearance:none; appearance:none; background:#fff; height:auto;}
#sowatt-contact #scon-dq::-webkit-search-cancel-button{-webkit-appearance:none; display:none;}
#sowatt-contact .scon-check input{width:auto; height:auto; min-height:0; margin:4px 0 0; flex:0 0 auto;}
#sowatt-contact label{line-height:1.4; vertical-align:baseline; text-transform:none; letter-spacing:normal;}
#sowatt-contact .scon-check{display:flex;}
#sowatt-contact fieldset{min-width:0;}
#sowatt-contact legend{width:auto; float:none; border:0; margin:0;}
#sowatt-contact img{height:auto;}
#sowatt-contact a{text-decoration:underline; text-underline-offset:2px;}
#sowatt-contact button:focus-visible,#sowatt-contact a:focus-visible{outline:3px solid var(--ambre); outline-offset:2px;}
#sowatt-contact .scon-hero{border-radius:0;}
#sowatt-contact .scon-proto{z-index:9999;}
@media(max-width:600px){ #sowatt-contact .scon-hero{padding:38px 16px 24px;} #sowatt-contact .scon-hero h1{font-size:26px;} }
