.avba-estimation-wrap{margin:0}
.avba-estimation-form{margin:0;padding:0}
.avba-estimation-field{padding:10px 0}
.avba-estimation-label{display:block;margin:0 0 7px;color:var(--avba-brown,#3b302a);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.avba-estimation-label span{color:#a54a4a}
.avba-estimation-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.avba-estimation-sub-label{display:block;margin-top:7px;color:var(--avba-taupe,#75675e);font-size:.78rem}
.avba-estimation-form input[type=text],
.avba-estimation-form input[type=email],
.avba-estimation-form input[type=tel],
.avba-estimation-form input[type=date],
.avba-estimation-form select,
.avba-estimation-form textarea{
    width:100%!important;min-height:52px!important;padding:13px 14px!important;
    border:1px solid rgba(59,48,42,.25)!important;border-radius:0!important;
    background:var(--avba-paper,#f4eee2)!important;color:var(--avba-dark,#181310)!important;
    box-shadow:none!important;font:inherit;box-sizing:border-box
}
.avba-estimation-form textarea{min-height:145px!important;resize:vertical}
.avba-estimation-form input:focus,.avba-estimation-form select:focus,.avba-estimation-form textarea:focus{border-color:var(--avba-gold,#c6a15b)!important;box-shadow:0 0 0 2px rgba(198,161,91,.13)!important;outline:none!important}
.avba-estimation-help{display:block;margin-top:8px;color:var(--avba-taupe,#75675e);font-size:.78rem;line-height:1.5}

.avba-estimation-upload-box{
    position:relative;
    padding:18px;
    border:1px dashed rgba(198,161,91,.65);
    background:linear-gradient(180deg, rgba(198,161,91,.08), rgba(198,161,91,.03));
}
.avba-estimation-file-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.avba-estimation-upload-trigger{
    display:grid;
    grid-template-columns:56px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:16px 18px;
    border:1px solid rgba(198,161,91,.55);
    background:rgba(24,19,16,.92);
    color:#f5eee1;
    cursor:pointer;
    transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.avba-estimation-upload-trigger:hover{
    transform:translateY(-1px);
    border-color:var(--avba-gold,#c6a15b);
    box-shadow:0 8px 18px rgba(0,0,0,.14);
    background:rgba(24,19,16,.97);
}
.avba-estimation-upload-trigger:focus-within{
    border-color:var(--avba-gold,#c6a15b);
    box-shadow:0 0 0 3px rgba(198,161,91,.18);
}
.avba-estimation-upload-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border:1px solid rgba(198,161,91,.45);
    background:rgba(198,161,91,.10);
    color:var(--avba-gold,#c6a15b);
    font-size:1.8rem;
    font-weight:300;
    line-height:1;
}
.avba-estimation-upload-main{display:grid;gap:5px;min-width:0}
.avba-estimation-upload-main strong{color:#fff;font-size:.95rem;letter-spacing:.02em}
.avba-estimation-upload-status{color:rgba(245,238,225,.78);font-size:.82rem;line-height:1.4}
.avba-estimation-upload-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:122px;
    min-height:42px;
    padding:10px 16px;
    border:1px solid var(--avba-gold,#c6a15b);
    background:var(--avba-gold,#c6a15b);
    color:var(--avba-dark,#181310);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.avba-estimation-upload-meta{
    display:grid;
    gap:4px;
    margin-top:12px;
    color:var(--avba-taupe,#75675e);
    font-size:.78rem;
    line-height:1.55;
}
.avba-estimation-files{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}
.avba-estimation-file-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    max-width:100%;
    padding:8px 10px;
    border:1px solid rgba(198,161,91,.35);
    background:rgba(198,161,91,.08);
    color:var(--avba-dark,#181310);
    font-size:.78rem;
    line-height:1.3;
}
.avba-estimation-file-chip strong{font-weight:700}
.avba-estimation-file-chip--error{
    border-color:rgba(165,74,74,.45);
    background:#fff0f0;
    color:#7c2929;
}
.avba-estimation-file-warning{
    width:100%;
    color:#7c2929;
    font-size:.78rem;
    line-height:1.4;
}
.avba-estimation-choice{margin:0;border:0;padding:10px 0}
.avba-estimation-choice label,.avba-estimation-consent label{display:flex;align-items:flex-start;gap:11px;margin:11px 0;color:inherit;cursor:pointer}
.avba-estimation-choice input,.avba-estimation-consent input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--avba-gold,#c6a15b)}
.avba-estimation-consent label span{line-height:1.45}
.avba-estimation-submit{min-height:53px!important;padding:14px 28px!important;border:1px solid var(--avba-gold,#c6a15b)!important;border-radius:0!important;background:var(--avba-gold,#c6a15b)!important;color:var(--avba-dark,#181310)!important;font-size:.76rem!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase!important;cursor:pointer}
.avba-estimation-submit:hover{background:var(--avba-gold-light,#ead7a5)!important}
.avba-estimation-message{margin:0 0 20px;padding:16px 18px;border:1px solid;font-size:.9rem;line-height:1.5}
.avba-estimation-message--success{border-color:#87b29a;background:#edf7f1;color:#225b3a}
.avba-estimation-message--error{border-color:#c88989;background:#fff0f0;color:#7c2929}
.avba-estimation-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.avba-estimation-form .avba-field-invalid{border-color:#a54a4a!important;box-shadow:0 0 0 2px rgba(165,74,74,.08)!important}
.avba-form-panel[style*="background"] .avba-estimation-label{color:inherit}

@media(max-width:760px){
  .avba-estimation-name-grid{grid-template-columns:1fr;gap:12px}
  .avba-estimation-form input[type=text],.avba-estimation-form input[type=email],.avba-estimation-form input[type=tel],.avba-estimation-form input[type=date],.avba-estimation-form select,.avba-estimation-form textarea{min-height:48px!important;font-size:16px!important}
  .avba-estimation-form textarea{min-height:130px!important}
  .avba-estimation-upload-box{padding:14px}
  .avba-estimation-upload-trigger{grid-template-columns:1fr;justify-items:start}
  .avba-estimation-upload-icon{width:48px;height:48px;font-size:1.55rem}
  .avba-estimation-upload-button{min-width:0;width:auto}
  .avba-estimation-submit{width:100%}
}

.avba-section--form {
    background: var(--avba-ivory, #f3ede2) !important;
}

.avba-estimation-upload-trigger.is-has-files{border-color:var(--avba-gold,#c6a15b);box-shadow:0 0 0 1px rgba(198,161,91,.18)}

/* AVBA v1.4 — mobile : même ambiance taupe que la section desktop. */
@media (max-width:760px){
  .avba-section--form{
    background:linear-gradient(145deg,#514736 0%,#6a6152 52%,#817665 100%)!important;
    color:var(--avba-ivory,#f3ede2)!important;
  }
  .avba-section--form .avba-form-section-copy h2{
    color:var(--avba-ivory,#f3ede2)!important;
  }
  .avba-section--form .avba-form-section-copy .avba-lead{
    color:rgba(243,237,226,.72)!important;
  }
  .avba-section--form .avba-form-section-copy .avba-kicker{
    color:var(--avba-gold-light,#ead7a5)!important;
  }
  .avba-section--form .avba-contact-mini{
    border-color:rgba(234,215,165,.28)!important;
    background:rgba(234,215,165,.24)!important;
  }
  .avba-section--form .avba-contact-mini a{
    background:#352900!important;
    color:var(--avba-ivory,#f3ede2)!important;
  }
  .avba-section--form .avba-contact-mini span{
    color:rgba(243,237,226,.62)!important;
  }
  .avba-section--form .avba-contact-mini strong{
    color:var(--avba-ivory,#f3ede2)!important;
  }
}

/* AVBA v1.5 — mobile : contraste des choix sur le panneau clair du formulaire. */
@media (max-width:760px){
  .avba-estimation-form .avba-estimation-choice label,
  .avba-estimation-form .avba-estimation-consent label,
  .avba-estimation-form .avba-estimation-choice label span,
  .avba-estimation-form .avba-estimation-consent label span{
    color:var(--avba-dark,#181310)!important;
  }
  .avba-estimation-form .avba-estimation-choice input,
  .avba-estimation-form .avba-estimation-consent input{
    border-color:#5e6065!important;
  }
}

/* AVBA v1.6 — fond stable avant/après soumission, desktop et mobile.
   Le retour ?avba_form_status=success ne doit jamais retomber sur le fond clair du thème. */
body .avba-section--form{
  background:linear-gradient(145deg,#514736 0%,#6a6152 52%,#817665 100%)!important;
  color:var(--avba-ivory,#f3ede2)!important;
}
body .avba-section--form .avba-form-section-copy h2{
  color:var(--avba-ivory,#f3ede2)!important;
}
body .avba-section--form .avba-form-section-copy .avba-lead{
  color:rgba(243,237,226,.76)!important;
}
body .avba-section--form .avba-form-section-copy .avba-kicker{
  color:var(--avba-gold-light,#ead7a5)!important;
}
body .avba-section--form .avba-contact-mini{
  border-color:rgba(234,215,165,.28)!important;
  background:rgba(234,215,165,.24)!important;
}
body .avba-section--form .avba-contact-mini a{
  background:#352900!important;
  color:var(--avba-ivory,#f3ede2)!important;
}
body .avba-section--form .avba-contact-mini span{
  color:rgba(243,237,226,.62)!important;
}
body .avba-section--form .avba-contact-mini strong{
  color:var(--avba-ivory,#f3ede2)!important;
}


/* AVBA v1.7 — passage en boutique : calendrier natif + créneau, sans dépendance externe. */
.avba-estimation-visit{
  margin:8px 0 14px;
  padding:18px;
  border:1px solid rgba(198,161,91,.42);
  background:rgba(198,161,91,.07);
}
.avba-estimation-visit[hidden]{display:none!important}
.avba-estimation-visit__heading{margin-bottom:8px}
.avba-estimation-visit__heading .avba-estimation-label{margin-bottom:7px}
.avba-estimation-visit__heading p{
  margin:0;
  color:var(--avba-taupe,#75675e);
  font-size:.78rem;
  line-height:1.5;
}
.avba-estimation-visit__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.avba-estimation-form input[type=date]{
  appearance:auto;
  -webkit-appearance:auto;
}
@media(max-width:760px){
  .avba-estimation-visit{padding:16px 14px;margin-top:4px}
  .avba-estimation-visit__grid{grid-template-columns:1fr;gap:4px}
  .avba-estimation-visit__heading p{font-size:.86rem;line-height:1.55}
}


/* AVBA v1.8 — heure de passage précise et confirmation calendrier. */
.avba-estimation-visit select option:disabled{color:#aaa}
.avba-estimation-visit__heading p strong{color:#181310}


/* ==========================================================
   AVBA v1.9.8 — DESKTOP UNIQUEMENT
   Correction définitive du fond + contraste du formulaire.
   Le mobile reste strictement inchangé.
   ========================================================== */
@media (min-width: 761px) {

  /* Toute la section prend le brun-noir premium AVBA.
     Sélecteur volontairement plus spécifique que l'ancien réglage v1.6. */
  html body .avba-section--form {
    background-color: #17110f !important;
    background-image:
      radial-gradient(circle at 18% 18%, rgba(198,161,91,.055), transparent 30%),
      linear-gradient(180deg, #17110f 0%, #1b1412 100%) !important;
    color: #f6efe5 !important;
    color-scheme: dark !important;
  }

  /* Colonne texte de gauche */
  html body .avba-section--form .avba-form-section-copy,
  html body .avba-section--form .avba-form-section-copy h2,
  html body .avba-section--form .avba-form-section-copy h3 {
    color: #f7f0e6 !important;
  }

  html body .avba-section--form .avba-form-section-copy .avba-kicker {
    color: #caa75f !important;
  }

  html body .avba-section--form .avba-form-section-copy .avba-lead,
  html body .avba-section--form .avba-form-section-copy > p:not(.avba-kicker) {
    color: rgba(247,240,230,.78) !important;
  }

  /* Petit bloc téléphone/e-mail */
  html body .avba-section--form .avba-contact-mini {
    background: rgba(33,24,21,.96) !important;
    border-color: rgba(198,161,91,.28) !important;
    box-shadow: none !important;
  }

  html body .avba-section--form .avba-contact-mini a {
    background: #211815 !important;
    color: #f7f0e6 !important;
  }

  html body .avba-section--form .avba-contact-mini a + a {
    border-top-color: rgba(198,161,91,.22) !important;
  }

  html body .avba-section--form .avba-contact-mini span {
    color: rgba(247,240,230,.62) !important;
  }

  html body .avba-section--form .avba-contact-mini strong {
    color: #fff8ef !important;
  }

  /* Panneau du formulaire */
  html body .avba-section--form .avba-form-panel {
    background: #211916 !important;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0)) !important;
    color: #f7f0e6 !important;
    border-color: rgba(198,161,91,.22) !important;
    box-shadow: 0 24px 50px rgba(0,0,0,.22) !important;
    color-scheme: dark !important;
  }

  /* Tous les libellés du formulaire sur fond sombre */
  html body .avba-section--form .avba-form-panel > .avba-kicker,
  html body .avba-section--form .avba-estimation-label {
    color: #efe5d7 !important;
  }

  html body .avba-section--form .avba-estimation-label span {
    color: #d46f65 !important;
  }

  html body .avba-section--form .avba-estimation-sub-label,
  html body .avba-section--form .avba-estimation-help,
  html body .avba-section--form .avba-estimation-upload-meta,
  html body .avba-section--form .avba-estimation-visit__heading p {
    color: #b9ab9e !important;
  }

  html body .avba-section--form .avba-estimation-choice label,
  html body .avba-section--form .avba-estimation-consent label,
  html body .avba-section--form .avba-estimation-choice label span,
  html body .avba-section--form .avba-estimation-consent label span {
    color: #efe5d7 !important;
  }

  /* Champs volontairement clairs pour une lecture parfaite sur tous navigateurs */
  html body .avba-section--form .avba-estimation-form input[type=text],
  html body .avba-section--form .avba-estimation-form input[type=email],
  html body .avba-section--form .avba-estimation-form input[type=tel],
  html body .avba-section--form .avba-estimation-form input[type=date],
  html body .avba-section--form .avba-estimation-form select,
  html body .avba-section--form .avba-estimation-form textarea {
    color-scheme: light !important;
    background: #f7f2e9 !important;
    background-image: none !important;
    color: #211815 !important;
    border-color: rgba(198,161,91,.28) !important;
    opacity: 1 !important;
  }

  html body .avba-section--form .avba-estimation-form input:focus,
  html body .avba-section--form .avba-estimation-form select:focus,
  html body .avba-section--form .avba-estimation-form textarea:focus {
    background: #fffaf2 !important;
    border-color: #c6a15b !important;
    box-shadow: 0 0 0 3px rgba(198,161,91,.12) !important;
  }

  /* Bloc d'upload / visite : cohérent sur fond sombre */
  html body .avba-section--form .avba-estimation-upload-box,
  html body .avba-section--form .avba-estimation-visit {
    border-color: rgba(198,161,91,.35) !important;
    background: rgba(198,161,91,.055) !important;
  }

  html body .avba-section--form .avba-estimation-file-chip {
    color: #efe5d7 !important;
    background: rgba(198,161,91,.09) !important;
  }
}


/* ==========================================================
   AVBA v1.9.10 — mobile : date sans débordement + suppression
   du trait de focus/fragment entre la section précédente et le formulaire.
   ========================================================== */
@media (max-width:760px) {
  /* iOS/Firefox/Safari peuvent donner une largeur intrinsèque trop grande
     au contrôle date natif. On autorise la grille et le champ à rétrécir. */
  .avba-estimation-visit,
  .avba-estimation-visit__grid,
  .avba-estimation-visit__grid > *,
  .avba-estimation-visit .avba-estimation-field {
    min-width:0 !important;
    max-width:100% !important;
  }

  .avba-estimation-form input[type=date] {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .avba-estimation-form input[type=date]::-webkit-date-and-time-value {
    min-width:0 !important;
    text-align:left !important;
  }

  /* Le formulaire est une cible d'ancre (#formulaire). Certains navigateurs
     mobiles peuvent afficher un liseré de focus/target très coloré. */
  #formulaire,
  #formulaire:target,
  .avba-section--form,
  .avba-section--form:target {
    outline:0 !important;
    outline-color:transparent !important;
    border-top:0 !important;
    box-shadow:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  /* Neutralise aussi un éventuel liseré au bord inférieur de la section
     immédiatement précédente, sans toucher à son contenu. */
  .avba-section--dark + #formulaire,
  .avba-section--dark + .avba-section--form {
    border-top:0 !important;
  }
}


/* ==========================================================
   AVBA v1.9.12 — mobile : largeur forcée du champ date
   lors de l’ouverture de « Passage en boutique ».
   Firefox/iOS peut conserver une largeur intrinsèque trop grande.
   ========================================================== */
@media (max-width:760px) {
  .avba-estimation-visit .avba-estimation-field {
    overflow:hidden !important;
  }

  .avba-estimation-visit .avba-estimation-field > input[type=date] {
    display:block !important;
    inline-size:100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}


/* ==========================================================
   AVBA v1.9.13 — mobile : bordure droite visible sur le champ
   « Jour souhaité » dans « Passage en boutique ».
   ========================================================== */
@media (max-width:760px) {
  .avba-estimation-visit .avba-estimation-field > input[type=date] {
    width:calc(100% - 2px) !important;
    max-width:calc(100% - 2px) !important;
    margin-right:2px !important;
    border-right:1px solid rgba(59,48,42,.25) !important;
    background-clip:padding-box !important;
  }

  html body .avba-section--form .avba-estimation-visit .avba-estimation-field > input[type=date] {
    border-right:1px solid rgba(198,161,91,.28) !important;
  }
}


/* ==========================================================
   AVBA v1.9.14 — correction structurelle du champ date mobile.
   La bordure visible appartient maintenant à un conteneur AVBA,
   et non au contrôle date natif du navigateur.
   ========================================================== */
.avba-estimation-date-shell{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

@media (max-width:760px) {
  .avba-estimation-visit .avba-estimation-date-shell{
    position:relative;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    background:#f7f2e9 !important;
    border:1px solid rgba(59,48,42,.25) !important;
  }

  .avba-estimation-visit .avba-estimation-date-shell > input[type=date]{
    display:block !important;
    inline-size:100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:13px 14px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:#f7f2e9 !important;
    background-image:none !important;
    color:#211815 !important;
  }

  .avba-estimation-visit .avba-estimation-date-shell:focus-within{
    border-color:#c6a15b !important;
    box-shadow:0 0 0 2px rgba(198,161,91,.13) !important;
  }
}

/* AVBA v1.10 — formulaire plus court, validation explicite et interface harmonisée. */
.avba-estimation-form--v110{
  display:grid;
  gap:4px;
}
.avba-estimation-form--v110 .avba-estimation-form-intro{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin:0 0 8px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(59,48,42,.14);
}
.avba-estimation-form--v110 .avba-estimation-form-intro strong{
  color:var(--avba-dark,#181310);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  font-weight:600;
}
.avba-estimation-form--v110 .avba-estimation-form-intro span{
  color:var(--avba-taupe,#75675e);
  font-size:.74rem;
}
.avba-estimation-form--v110 .avba-estimation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.avba-estimation-form--v110 .avba-estimation-field{padding:7px 0}
.avba-estimation-form--v110 .avba-estimation-label{margin-bottom:6px}
.avba-estimation-form--v110 input[type=text],
.avba-estimation-form--v110 input[type=email],
.avba-estimation-form--v110 input[type=tel],
.avba-estimation-form--v110 input[type=date],
.avba-estimation-form--v110 select,
.avba-estimation-form--v110 textarea{
  min-height:48px!important;
  padding:11px 13px!important;
  border-radius:8px!important;
  background:#f7f2e9!important;
  border-color:rgba(59,48,42,.20)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.avba-estimation-form--v110 textarea{
  min-height:104px!important;
  line-height:1.5;
}
.avba-estimation-form--v110 textarea::placeholder{color:#91857d;opacity:.9}
.avba-estimation-form--v110 .avba-estimation-optional{
  color:var(--avba-taupe,#75675e)!important;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.avba-estimation-form--v110 .avba-estimation-upload-box--compact{
  padding:10px;
  border-radius:10px;
  background:rgba(198,161,91,.045);
}
.avba-estimation-form--v110 .avba-estimation-upload-trigger{
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:11px;
  min-height:60px;
  padding:10px 12px;
  border-radius:8px;
}
.avba-estimation-form--v110 .avba-estimation-upload-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  font-size:1.25rem;
}
.avba-estimation-form--v110 .avba-estimation-upload-main{gap:2px}
.avba-estimation-form--v110 .avba-estimation-upload-main strong{font-size:.87rem}
.avba-estimation-form--v110 .avba-estimation-upload-status{font-size:.75rem}
.avba-estimation-form--v110 .avba-estimation-upload-button{
  min-width:88px;
  min-height:36px;
  padding:8px 12px;
  border-radius:6px;
  font-size:.68rem;
}
.avba-estimation-form--v110 .avba-estimation-upload-meta{
  margin-top:8px;
  font-size:.71rem;
}
.avba-estimation-form--v110 .avba-estimation-file-chip{
  padding:6px 8px;
  border-radius:6px;
  font-size:.72rem;
}
.avba-estimation-form--v110 .avba-estimation-choice--cards{padding-top:8px}
.avba-estimation-form--v110 .avba-estimation-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.avba-estimation-form--v110 .avba-estimation-choice-grid label{
  position:relative;
  display:block;
  margin:0;
  min-height:64px;
  padding:11px 12px 10px 38px;
  border:1px solid rgba(59,48,42,.18);
  border-radius:8px;
  background:#f7f2e9;
  color:var(--avba-dark,#181310)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.avba-estimation-form--v110 .avba-estimation-choice-grid label:hover{
  border-color:rgba(198,161,91,.72);
}
.avba-estimation-form--v110 .avba-estimation-choice-grid input{
  position:absolute;
  left:12px;
  top:14px;
  width:17px;
  height:17px;
}
.avba-estimation-form--v110 .avba-estimation-choice-grid label:has(input:checked){
  border-color:var(--avba-gold,#c6a15b);
  background:rgba(198,161,91,.11);
  box-shadow:0 0 0 1px rgba(198,161,91,.12);
}
.avba-estimation-form--v110 .avba-estimation-choice-grid strong{
  display:block;
  margin-bottom:2px;
  font-size:.82rem;
}
.avba-estimation-form--v110 .avba-estimation-choice-grid small{
  display:block;
  color:var(--avba-taupe,#75675e);
  font-size:.69rem;
  line-height:1.3;
}
.avba-estimation-form--v110 .avba-estimation-visit{
  margin:4px 0 7px;
  padding:14px;
  border-radius:9px;
}
.avba-estimation-form--v110 .avba-estimation-visit__heading p{font-size:.73rem}
.avba-estimation-form--v110 .avba-estimation-consent{
  padding:9px 0 5px;
}
.avba-estimation-form--v110 .avba-estimation-consent label{
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(59,48,42,.13);
  border-radius:8px;
  background:rgba(247,242,233,.68);
  font-size:.76rem;
}
.avba-estimation-form--v110 .avba-estimation-consent input{width:18px;height:18px}
.avba-estimation-form--v110 .avba-estimation-submit{
  display:grid!important;
  gap:2px;
  width:100%;
  min-height:58px!important;
  margin-top:7px;
  padding:12px 22px!important;
  border-radius:8px!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.avba-estimation-form--v110 .avba-estimation-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(24,19,16,.12);
}
.avba-estimation-form--v110 .avba-estimation-submit span{
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.avba-estimation-form--v110 .avba-estimation-submit small{
  font-size:.67rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  opacity:.72;
}
.avba-estimation-form--v110 .avba-estimation-submit.is-loading{opacity:.72;cursor:wait;transform:none;box-shadow:none}
.avba-estimation-form--v110 .avba-estimation-field-error{
  display:block;
  min-height:0;
  margin-top:5px;
  color:#8e3434;
  font-size:.72rem;
  font-weight:650;
  line-height:1.35;
}
.avba-estimation-form--v110 .avba-estimation-field-error:empty{display:none}
.avba-estimation-form--v110 .avba-estimation-error-summary{
  margin:0 0 5px;
  padding:10px 12px;
  border:1px solid rgba(165,74,74,.45);
  border-radius:8px;
  background:#fff1f1;
  color:#792828;
  font-size:.78rem;
  line-height:1.4;
}
.avba-estimation-form--v110 .avba-field-invalid{
  border-color:#a54a4a!important;
  background:#fffafa!important;
  box-shadow:0 0 0 3px rgba(165,74,74,.08)!important;
}
.avba-estimation-form--v110 .avba-estimation-consent:has(.avba-field-invalid) label{
  border-color:rgba(165,74,74,.48);
  background:#fffafa;
}

@media(max-width:760px){
  .avba-estimation-form--v110{gap:2px}
  .avba-estimation-form--v110 .avba-estimation-form-intro{
    display:grid;
    gap:3px;
    padding-bottom:11px;
    margin-bottom:3px;
  }
  .avba-estimation-form--v110 .avba-estimation-form-intro strong{font-size:1rem}
  .avba-estimation-form--v110 .avba-estimation-grid{grid-template-columns:1fr;gap:0}
  .avba-estimation-form--v110 .avba-estimation-field{padding:6px 0}
  .avba-estimation-form--v110 textarea{min-height:96px!important}
  .avba-estimation-form--v110 .avba-estimation-choice-grid{grid-template-columns:1fr;gap:7px}
  .avba-estimation-form--v110 .avba-estimation-choice-grid label{min-height:55px;padding-top:9px;padding-bottom:8px}
  .avba-estimation-form--v110 .avba-estimation-choice-grid input{top:12px}
  .avba-estimation-form--v110 .avba-estimation-upload-trigger{
    grid-template-columns:34px minmax(0,1fr) auto;
    justify-items:stretch;
    padding:9px 10px;
  }
  .avba-estimation-form--v110 .avba-estimation-upload-icon{width:34px;height:34px}
  .avba-estimation-form--v110 .avba-estimation-upload-button{min-width:70px;padding:7px 9px}
  .avba-estimation-form--v110 .avba-estimation-upload-meta{line-height:1.35}
  .avba-estimation-form--v110 .avba-estimation-visit__grid{grid-template-columns:1fr;gap:0}
  .avba-estimation-form--v110 .avba-estimation-submit{min-height:56px!important}
}

/* v1.10.1 — contraste et lisibilité du formulaire */
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label,
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label strong,
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label span{
  color:#241d18!important;
}
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label small{
  color:#6e6259!important;
  opacity:1!important;
}
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label:has(input:checked){
  background:#3a3028!important;
  border-color:#c9a45b!important;
}
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label:has(input:checked) strong,
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label:has(input:checked) span{
  color:#fffaf2!important;
}
html body .avba-estimation-form--v110 .avba-estimation-choice-grid label:has(input:checked) small{
  color:#d8cec4!important;
}
html body .avba-estimation-form--v110 .avba-estimation-consent label,
html body .avba-estimation-form--v110 .avba-estimation-consent label span,
html body .avba-estimation-form--v110 .avba-estimation-consent label a{
  color:#3a302a!important;
  opacity:1!important;
}
html body .avba-estimation-form--v110 .avba-estimation-consent label{
  background:#f2ece3!important;
  border-color:rgba(59,48,42,.24)!important;
  line-height:1.4;
}
html body .avba-estimation-form--v110 .avba-estimation-consent input{
  accent-color:#b88f42!important;
}
html body .avba-estimation-form--v110 input[type=text],
html body .avba-estimation-form--v110 input[type=email],
html body .avba-estimation-form--v110 input[type=tel],
html body .avba-estimation-form--v110 input[type=date],
html body .avba-estimation-form--v110 select,
html body .avba-estimation-form--v110 textarea{
  color:#241d18!important;
  -webkit-text-fill-color:#241d18!important;
  font-size:.88rem!important;
}
html body .avba-estimation-form--v110 input::placeholder,
html body .avba-estimation-form--v110 textarea::placeholder{
  color:#766a61!important;
  -webkit-text-fill-color:#766a61!important;
  opacity:1!important;
}
html body .avba-estimation-form--v110 .avba-estimation-upload-main strong{
  color:#fffaf2!important;
}
html body .avba-estimation-form--v110 .avba-estimation-upload-status,
html body .avba-estimation-form--v110 .avba-estimation-upload-meta{
  color:#bfb4aa!important;
  opacity:1!important;
}
html body .avba-estimation-form--v110 .avba-estimation-submit span{
  color:#201914!important;
}
html body .avba-estimation-form--v110 .avba-estimation-submit small{
  color:#473a31!important;
  opacity:1!important;
}

@media (min-width:761px) and (max-width:1100px){
  .avba-estimation-form--v110 .avba-estimation-choice-grid{gap:8px}
  .avba-estimation-form--v110 .avba-estimation-choice-grid label{
    min-height:70px;
    padding:11px 10px 10px 36px;
  }
  .avba-estimation-form--v110 .avba-estimation-choice-grid strong{font-size:.78rem}
  .avba-estimation-form--v110 .avba-estimation-choice-grid small{font-size:.66rem}
}


/* ==========================================================
   AVBA v1.10.2 — tablette / desktop : contraste complet.
   Corrige les textes héritant de couleurs sombres dans la
   section Expertise sans modifier le rendu mobile validé.
   ========================================================== */
@media (min-width:761px) {
  html body .avba-section--form .avba-estimation-form-intro,
  html body .avba-section--form .avba-estimation-form-intro strong {
    color:#f7f0e6 !important;
  }
  html body .avba-section--form .avba-estimation-form-intro span {
    color:rgba(247,240,230,.68) !important;
  }

  /* CTA "Quelques photos suffisent" injecté par la couche Expertise. */
  html body.avba-expertise-refonte .avba-section--form .avba-xp-photocta {
    background:rgba(33,24,21,.96) !important;
    border-color:rgba(198,161,91,.32) !important;
  }
  html body.avba-expertise-refonte .avba-section--form .avba-xp-photocta__text {
    color:rgba(247,240,230,.78) !important;
  }
  html body.avba-expertise-refonte .avba-section--form .avba-xp-photocta__button {
    background:#211815 !important;
    color:#f7f0e6 !important;
    border-color:rgba(198,161,91,.58) !important;
  }

  /* Garde-fou pour les textes d'aide du panneau sombre. */
  html body .avba-section--form .avba-form-panel .avba-estimation-form-intro,
  html body .avba-section--form .avba-form-panel .avba-estimation-form-intro *,
  html body .avba-section--form .avba-form-panel .avba-estimation-upload-main,
  html body .avba-section--form .avba-form-panel .avba-estimation-upload-main * {
    text-shadow:none !important;
  }
}
