/* Sansolia – Page contact */

  .sco { --or:#dda044; --or-fonce:#b87d22; --or-pale:#fbf3e4; --rouge:#b3261e;
         --encre:#2a2522; --gris:#6b625b; --trait:#eadfcd;
         color:var(--encre); font-family:inherit; line-height:1.55; box-sizing:border-box; }
  .sco *, .sco *::before, .sco *::after { box-sizing:inherit; }
  .sco a { color:inherit; }
  .sco a:focus-visible, .sansolia-form :focus-visible { outline:3px solid var(--or); outline-offset:3px; }

  /* En-tête */
  .sco-tete { max-width:1140px; margin:0 auto; padding:48px 20px 36px;
              display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
  .sco-tete img.sco-logo { width:88px; height:auto; display:block; margin-bottom:18px; }
  .sco-tete h1 { font-size:clamp(2rem,4.2vw,3rem); line-height:1.1; margin:0 0 14px; color:var(--encre); }
  .sco-slogan { font-style:italic; font-size:1.2rem; color:var(--rouge); margin:0 0 18px; }
  .sco-intro { color:var(--gris); max-width:46ch; margin:0; }

  /* Panneau « appelez-nous » : l'élément fort de la page */
  .sco-appel { background:var(--or); color:#fff; border-radius:20px 20px 20px 4px; padding:28px 28px 24px; }
  .sco-appel p { margin:0; }
  .sco-appel .sco-appel-titre { font-weight:700; font-size:1.05rem; margin-bottom:12px; }
  .sco-tel { display:flex; align-items:baseline; gap:12px; text-decoration:none; padding:8px 0;
             border-bottom:1px solid rgba(255,255,255,.35); }
  .sco-tel:last-of-type { border-bottom:0; }
  .sco-tel span { font-size:.9rem; min-width:64px; opacity:.9; }
  .sco-tel strong { font-size:clamp(1.5rem,3vw,2rem); letter-spacing:.02em; color:#fff; }
  .sco-tel:hover strong { text-decoration:underline; text-underline-offset:5px; }
  .sco-mail { display:inline-block; margin-top:14px; font-weight:700; color:#fff !important; }
  .sco-zone { margin-top:16px !important; font-size:.95rem; display:flex; gap:8px; align-items:center; }

  @media (max-width:860px){
    .sco-tete { grid-template-columns:1fr; gap:28px; padding:32px 16px 24px; }
  }


  /* Habillage du formulaire WPForms (widget avec la classe CSS « sansolia-form ») */
  .sansolia-form { background:#fff; border:1px solid #eadfcd; border-radius:16px; padding:28px; }
  .sansolia-form .wpforms-field-label,
  .sansolia-form legend { font-weight:700; color:#2a2522; }
  .sansolia-form input[type=text], .sansolia-form input[type=email], .sansolia-form input[type=tel],
  .sansolia-form select, .sansolia-form textarea {
    border:1px solid #d9ccb6 !important; border-radius:8px !important; padding:10px 12px !important;
    font-size:16px !important; max-width:100% !important; background:#fff !important; }
  .sansolia-form input:focus, .sansolia-form select:focus, .sansolia-form textarea:focus {
    border-color:#dda044 !important; box-shadow:0 0 0 3px rgba(221,160,68,.25) !important; }
  .sansolia-form .wpforms-field { padding:10px 0 !important; }
  .sansolia-form button[type=submit], .sansolia-form .wpforms-submit {
    background:#b3261e !important; color:#fff !important; border:0 !important; border-radius:999px !important;
    padding:14px 32px !important; font-size:1.05rem !important; font-weight:700 !important; cursor:pointer; }
  .sansolia-form button[type=submit]:hover { background:#8f1d17 !important; }
  @media (max-width:860px){ .sansolia-form { padding:18px; } }


  .sco-col { padding:4px 8px 24px 0; }
  .sco-col h2 { font-size:1.35rem; margin:0 0 16px; color:#2a2522; }
  .sco-etapes { list-style:none; margin:0 0 36px; padding:0; counter-reset:etape; }
  .sco-etapes li { counter-increment:etape; position:relative; padding:0 0 18px 52px; }
  .sco-etapes li::before { content:counter(etape); position:absolute; left:0; top:0;
    width:36px; height:36px; border-radius:50%; background:#fbf3e4; border:2px solid #dda044;
    color:#b87d22; font-weight:700; display:grid; place-items:center; }
  .sco-etapes li:not(:last-child)::after { content:""; position:absolute; left:17px; top:40px; bottom:4px;
    width:2px; background:#eadfcd; }
  .sco-etapes strong { display:block; color:#2a2522; }
  .sco-etapes span { color:#6b625b; font-size:.95rem; }
  .sco-plus { background:#fbf3e4; border-radius:16px; padding:22px 22px 12px; }
  .sco-plus ul { list-style:none; margin:0; padding:0; }
  .sco-plus li { padding:0 0 10px 30px; position:relative; }
  .sco-plus li::before { content:"✅"; position:absolute; left:0; top:0; }


  .sco-bas { max-width:1140px; margin:0 auto; padding:40px 20px 56px;
             display:grid; grid-template-columns:1.4fr 1fr; gap:32px; align-items:center;
             border-top:1px solid #eadfcd; }
  .sco-bas p { margin:0 0 10px; color:#6b625b; max-width:60ch; }
  .sco-bas h2 { font-size:1.35rem; margin:0 0 12px; color:#2a2522; }
  .sco-reseaux { display:flex; flex-wrap:wrap; gap:10px; }
  .sco-reseaux a { text-decoration:none; border:2px solid #dda044; color:#b87d22; font-weight:700;
                   border-radius:999px; padding:8px 18px; }
  .sco-reseaux a:hover { background:#dda044; color:#fff; }
  @media (max-width:860px){ .sco-bas { grid-template-columns:1fr; padding:28px 16px 40px; } }

/* Mise en page 2 colonnes (formulaire intégré au shortcode) */
.sco-deux { max-width:1140px; margin:0 auto; padding:12px 20px 40px;
            display:grid; grid-template-columns:1fr 1.15fr; gap:40px; align-items:start; }
.sco-avis { max-width:1140px; margin:0 auto; padding:0 20px 32px; }
.sco-alerte { background:#fbf3e4; border:1px solid #dda044; border-radius:12px; padding:16px; }
@media (max-width:860px){ .sco-deux { grid-template-columns:1fr; padding:8px 16px 32px; } }
