/*
Theme Name: SOH Immobilier
Theme URI: www.soh-immobilier.fr/
Version: 1.1
Description: Un thème enfant avec constructeur de page créé pour SOH Immobilier.
Author: A3Design
Author URI: https://www.a3design.fr
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */ 

/* ===========================
   Estimation SOH (CF7 + Beaver)
   Palette / variables
=========================== */
:root{
  --soh-gold:#CAAD6C;   /* accent */
  --soh-air:#E1E9EB;    /* gris bleuté clair */
  --soh-teal:#6D989E;   /* secondaire */
  --soh-deep:#2E5A61;   /* texte accent / boutons */
  --soh-ghost:#EEEEEE;  /* arrière-plan blocs */
  --soh-mid:#BBBBBB;    /* bordures subtiles */
  --soh-ink:#575757;    /* texte */
  --radius:12px;
  --pad:16px;
  --gap:16px;
  --shadow:0 8px 24px rgba(0,0,0,.06);
  --focus:0 0 0 3px rgba(202,173,108,.35);
}

.estimation-soh{
  max-width: 860px; margin: 0 auto;
  color: var(--soh-ink); line-height:1.5;
  font-size:16px;
}
.estimation-soh h2{
  font-weight:700; font-size:clamp(26px,3.2vw,34px);
  color: var(--soh-deep); margin:0 0 6px;
}
.estimation-soh p{ margin: 0 0 22px; color: var(--soh-ink); }

/* Fieldsets – cartes minimalistes */
.estimation-soh fieldset{
  border:1px solid var(--soh-air);
  background:#FFF; border-radius:var(--radius);
  padding: calc(var(--pad)*1.25);
  margin: 16px 0;
  box-shadow: var(--shadow);
}
.estimation-soh legend{
  padding:0 .4rem; font-weight:600; color:var(--soh-deep);
}

/* Grille responsive */
.estimation-soh fieldset{
  display:grid; grid-template-columns:1fr 1fr; gap: var(--gap);
}
.estimation-soh label{ display:block; font-weight:600; margin:.2rem 0; }
.estimation-soh label + *{ margin-top:.2rem; }
.estimation-soh .consent{ margin: 10px 0 14px; }

@media (max-width: 720px){
  .estimation-soh fieldset{ grid-template-columns:1fr; }
}

/* Inputs */
.estimation-soh input[type="text"],
.estimation-soh input[type="email"],
.estimation-soh input[type="tel"],
.estimation-soh input[type="number"],
.estimation-soh select,
.estimation-soh textarea{
  width:100%; border:1px solid var(--soh-mid);
  background: #FFF; border-radius:10px;
  padding:.7rem .9rem; outline:none; transition:.2s ease;
  appearance:none;
}
.estimation-soh textarea{ min-height:120px; }
.estimation-soh select{ background-image: linear-gradient(45deg, transparent 50%, var(--soh-mid) 50%), linear-gradient(135deg, var(--soh-mid) 50%, transparent 50%); background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size:5px 5px, 5px 5px; background-repeat:no-repeat; }

.estimation-soh input:focus,
.estimation-soh select:focus,
.estimation-soh textarea:focus{
  border-color: var(--soh-gold);
  box-shadow: var(--focus);
}

/* Messages d’erreur CF7 */
.wpcf7-not-valid-tip{
  color:#B00020; font-size:.9rem; margin-top:.25rem;
}
.wpcf7 form.invalid .wpcf7-response-output{
  border-color:#B00020; color:#B00020;
}

/* Bouton */
.estimation-soh input[type="submit"],
.estimation-soh button[type="submit"]{
  -webkit-appearance: none; appearance: none;
  border:none; cursor:pointer;
  background: var(--soh-deep);
  color:#FFF; font-weight:700; letter-spacing:.3px;
  padding: .85rem 1.25rem; border-radius: 999px;
  box-shadow: var(--shadow);
  transition:.2s ease transform, .2s ease background;
}
.estimation-soh input[type="submit"]:hover{
  transform: translateY(-1px);
  background: var(--soh-teal);
}
.estimation-soh input[type="submit"]:focus{ box-shadow: var(--focus); }

/* Ligne de consentement */
.estimation-soh .wpcf7-acceptance{
  grid-column: 1 / -1; /* full width */
  padding: .8rem 1rem; border-radius: var(--radius);
}
.estimation-soh .wpcf7-acceptance label a{ color: var(--soh-deep); text-decoration: underline; }

.estimation-soh .acceptance-988 input {
  width: auto !important;
}

/* Petites finitions */
.estimation-soh [data-visible="false"]{ display:none !important; }
