/* Formulaire de devis Comptoir GEP
 * Couleurs : --cg-primary (bleu), --cg-gray (gris), --cg-active (rouge : focus, sélection, étape en cours, erreurs).
 * Les règles marquées !important neutralisent le style des champs de Salient (listes « pilule », boutons arrondis).
 */
.cg-devis{--cg-primary:#0f2f4f;--cg-gray:#6b7785;--cg-active:#d63c3c;--cg-line:#d5dbe2;--cg-soft:#f3f5f8;--cg-radius:10px;--cg-text:#1d2733;width:100%;max-width:100%;margin:0;font-size:16px;line-height:1.5;color:var(--cg-text);box-sizing:border-box}
.cg-devis *,.cg-devis *::before,.cg-devis *::after{box-sizing:border-box}
.cg-devis [hidden]{display:none!important}

/* En-tête : langue + compteur */
.cg-devis__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap}
.cg-devis__lang{display:inline-flex;border:1px solid var(--cg-line);border-radius:var(--cg-radius);overflow:hidden;background:#fff}
.cg-devis .cg-devis__lang button{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 16px!important;font-size:14px!important;font-weight:600;color:var(--cg-gray)!important;background:#fff!important;border-radius:0!important;line-height:1.2!important;transition:background .15s,color .15s}
.cg-devis .cg-devis__lang button[aria-pressed=true]{background:var(--cg-primary)!important;color:#fff!important}
.cg-devis .cg-devis__lang button:focus-visible{outline:2px solid var(--cg-active);outline-offset:-2px}
.cg-devis__count{margin:0!important;font-size:14px;font-weight:600;color:var(--cg-gray)}

/* Étapes */
.cg-devis__steps{display:flex;gap:8px;list-style:none!important;margin:0 0 12px!important;padding:0!important}
.cg-devis__steps li{flex:1;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--cg-gray);margin:0!important;padding:0!important;list-style:none!important;min-width:0}
.cg-devis__steps li::before,.cg-devis__steps li::marker{content:none!important}
.cg-devis__steps .cg-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--cg-line);font-weight:700;font-size:13px;background:#fff}
.cg-devis__steps li.is-done{color:var(--cg-primary);font-weight:600}
.cg-devis__steps li.is-done .cg-n{border-color:var(--cg-primary);background:var(--cg-primary);color:#fff}
.cg-devis__steps li.is-active{color:var(--cg-active);font-weight:700}
.cg-devis__steps li.is-active .cg-n{border-color:var(--cg-active);background:var(--cg-active);color:#fff}
.cg-devis__bar{height:4px;background:var(--cg-line);border-radius:4px;overflow:hidden;margin-bottom:28px}
.cg-devis__bar span{display:block;height:100%;background:var(--cg-primary);transition:width .3s}
.cg-devis[dir=rtl] .cg-devis__bar span{margin-inline-start:auto}

.cg-devis__draft{margin:-12px 0 20px!important;padding:10px 14px;border-radius:var(--cg-radius);background:var(--cg-soft);color:var(--cg-primary);font-size:14px}

/* Étapes du formulaire */
.cg-devis__step{border:0!important;margin:0!important;padding:0!important;min-width:0}
.cg-devis__step legend{display:block;width:100%;font-size:24px;font-weight:700;line-height:1.3;color:var(--cg-primary);margin:0 0 18px!important;padding:0!important;outline:none}
.cg-devis__hint{color:var(--cg-gray);margin:-8px 0 16px!important}
.cg-devis__hint strong{color:var(--cg-primary)}

/* Cartes de choix */
.cg-devis__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cg-devis .cg-card{position:relative;display:block;cursor:pointer;margin:0!important;padding:0!important}
.cg-devis .cg-card input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important}
.cg-card__box{position:relative;display:flex;align-items:center;min-height:62px;padding-block:14px;padding-inline:46px 16px;border:1.5px solid var(--cg-line);border-radius:var(--cg-radius);background:#fff;font-weight:600;line-height:1.35;color:var(--cg-text);transition:border-color .15s,background .15s,box-shadow .15s}
.cg-card__box::before{content:"";position:absolute;inset-inline-start:16px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--cg-line);border-radius:50%;background:#fff;transition:all .15s}
.cg-card input[type=checkbox]+.cg-card__box::before{border-radius:4px}
.cg-card:hover .cg-card__box{border-color:var(--cg-gray)}
.cg-card input:checked+.cg-card__box{border-color:var(--cg-active);background:#fff;box-shadow:0 0 0 1px var(--cg-active)}
.cg-card input:checked+.cg-card__box::before{border-color:var(--cg-active);background:var(--cg-active);box-shadow:inset 0 0 0 3px #fff}
.cg-card input:focus-visible+.cg-card__box{outline:2px solid var(--cg-active);outline-offset:2px}

/* Champs */
.cg-devis__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;align-items:start}
.cg-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cg-span2{grid-column:1/-1}
.cg-devis .cg-label{display:block;margin:0!important;padding:0!important;font-size:15px;font-weight:600;line-height:1.4;color:var(--cg-primary);white-space:normal}
.cg-devis .cg-label small{display:inline!important;font-size:13px;font-weight:400;color:var(--cg-gray);margin-inline-start:4px}
.cg-req{color:var(--cg-active);margin-inline-start:3px}

.cg-devis .cg-devis__form input[type=text],.cg-devis .cg-devis__form input[type=email],.cg-devis .cg-devis__form input[type=tel],.cg-devis .cg-devis__form input[type=number],.cg-devis .cg-devis__form select,.cg-devis .cg-devis__form textarea{
	display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:48px!important;margin:0!important;padding:11px 14px!important;
	border:1.5px solid var(--cg-line)!important;border-radius:var(--cg-radius)!important;background-color:#fff!important;box-shadow:none!important;
	font:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important;color:var(--cg-text)!important;text-align:start!important;
	transition:border-color .15s,box-shadow .15s}
.cg-devis .cg-devis__form textarea{min-height:110px!important;resize:vertical}
.cg-devis .cg-devis__form select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;cursor:pointer;padding-inline-end:40px!important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7785' stroke-width='2'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px 8px!important}
.cg-devis[dir=rtl] .cg-devis__form select{background-position:left 14px center!important}
.cg-devis .cg-devis__form select:invalid{color:var(--cg-gray)!important}
.cg-devis .cg-devis__form select option{color:var(--cg-text);background:#fff}
.cg-devis .cg-devis__form input::placeholder,.cg-devis .cg-devis__form textarea::placeholder{color:#9aa5b1;opacity:1}
.cg-devis .cg-devis__form input:hover,.cg-devis .cg-devis__form select:hover,.cg-devis .cg-devis__form textarea:hover{border-color:var(--cg-gray)!important}
.cg-devis .cg-devis__form input:focus,.cg-devis .cg-devis__form select:focus,.cg-devis .cg-devis__form textarea:focus{border-color:var(--cg-active)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--cg-active) 18%,transparent)!important;outline:none!important}
.cg-devis .cg-devis__form .is-invalid{border-color:var(--cg-active)!important;background-color:#fff!important}
.cg-devis .cg-devis__form .is-valid{border-color:var(--cg-primary)!important}
.cg-devis input[type=number]::-webkit-inner-spin-button,.cg-devis input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cg-devis input[type=number]{-moz-appearance:textfield}

/* Salient « Fancy Select » (select2) : on garde la liste native du navigateur */
.cg-devis .select2-container{display:none!important}
.cg-devis select.select2-hidden-accessible{position:static!important;clip:auto!important;clip-path:none!important;overflow:visible!important;border:1.5px solid var(--cg-line)!important}

.cg-field__err{margin:2px 0 0!important;font-size:13px;line-height:1.4;color:var(--cg-active);font-weight:600}

/* Récapitulatif */
.cg-devis__recap{margin:0 0 22px;border:1.5px solid var(--cg-line);border-radius:var(--cg-radius);overflow:hidden}
.cg-recap__group{padding:14px 18px;border-bottom:1px solid var(--cg-line)}
.cg-recap__group:last-child{border-bottom:0}
.cg-recap__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.cg-recap__head strong{color:var(--cg-primary);font-size:15px}
.cg-devis .cg-recap__edit{all:unset;cursor:pointer;font-size:14px;font-weight:600;color:var(--cg-primary)!important;text-decoration:underline!important;text-underline-offset:3px}
.cg-devis .cg-recap__edit:hover,.cg-devis .cg-recap__edit:focus-visible{color:var(--cg-active)!important}
.cg-recap__list{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:4px 16px;margin:0}
.cg-recap__list dt{color:var(--cg-gray);margin:0;font-weight:400}
.cg-recap__list dd{margin:0;color:var(--cg-text);overflow-wrap:anywhere}
.cg-recap__list .cg-recap__full{grid-column:1/-1}

.cg-devis__step .cg-field.cg-span2{margin-bottom:6px}
.cg-devis .cg-devis__consent{display:flex!important;gap:10px;align-items:flex-start;margin:16px 0 0!important;font-weight:400!important;color:var(--cg-text)!important;cursor:pointer;line-height:1.5}
.cg-devis .cg-devis__consent input{position:static!important;opacity:1!important;flex:none;width:18px!important;height:18px!important;margin:3px 0 0!important;accent-color:var(--cg-active);display:inline-block!important}
.cg-devis__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.cg-devis__error{color:var(--cg-active);background:color-mix(in srgb,var(--cg-active) 8%,#fff);border:1px solid color-mix(in srgb,var(--cg-active) 30%,#fff);padding:10px 14px;border-radius:var(--cg-radius);margin:20px 0 0!important}

/* Boutons */
.cg-devis__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.cg-devis__nav [data-next],.cg-devis__nav [data-submit]{margin-inline-start:auto!important}
.cg-devis .cg-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px!important;margin:0!important;
	border:1.5px solid var(--cg-primary)!important;border-radius:var(--cg-radius)!important;background:var(--cg-primary)!important;color:#fff!important;
	font:inherit!important;font-size:16px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;cursor:pointer;transition:background .15s,border-color .15s}
.cg-devis .cg-btn:hover{background:color-mix(in srgb,var(--cg-primary) 85%,#000)!important;border-color:color-mix(in srgb,var(--cg-primary) 85%,#000)!important}
.cg-devis .cg-btn:active{background:var(--cg-active)!important;border-color:var(--cg-active)!important}
.cg-devis .cg-btn:focus-visible{outline:2px solid var(--cg-active)!important;outline-offset:2px}
.cg-devis .cg-btn[disabled]{opacity:.65;cursor:wait}
.cg-devis .cg-btn[hidden]{display:none!important}
.cg-devis .cg-btn--ghost{background:#fff!important;color:var(--cg-primary)!important;border-color:var(--cg-line)!important}
.cg-devis .cg-btn--ghost:hover{background:var(--cg-soft)!important;border-color:var(--cg-gray)!important}
.cg-devis .cg-btn--ghost:active{color:#fff!important}
.cg-devis .cg-btn--next::after{content:"→"}
.cg-devis .cg-btn--ghost::before{content:"←"}
.cg-devis[dir=rtl] .cg-btn--next::after{content:"←"}
.cg-devis[dir=rtl] .cg-btn--ghost::before{content:"→"}

/* Confirmation */
.cg-devis__done{text-align:center;padding:40px 20px;outline:none}
.cg-devis__check{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--cg-primary);color:#fff;font-size:32px;line-height:64px}
.cg-devis__done h3{color:var(--cg-primary);margin:0 0 8px}
.cg-devis__done p{color:var(--cg-gray)}

@media (max-width:767px){
	.cg-devis__steps{gap:4px}
	.cg-devis__steps li{justify-content:center}
	.cg-devis__steps li [data-t]{display:none}
	.cg-devis__grid{grid-template-columns:1fr;gap:16px}
	.cg-devis__cards{grid-template-columns:1fr}
	.cg-devis__step legend{font-size:20px}
	.cg-recap__list{grid-template-columns:1fr;gap:0}
	.cg-recap__list dd{margin-bottom:8px}
	.cg-devis__nav{flex-wrap:wrap}
	.cg-devis__nav .cg-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){.cg-devis *{transition:none!important}}
