/**

 * Theme Name: Byron Child

 * Template: byron

 * Version: 1.0

 * Description: Construction Engineering and Architecture WordPress Theme

 * Author: Ninzio

 **/

#site-header {
   background: #0f0f14 !important;
}
 #featured-title {
   background-image: none !important;
}
 #menu-primary-menu > li > .sub-menu > li > a {
   padding: 6px 37px 6px 50px;
}
 #menu-primary-menu > li > .sub-menu > li > a:after {
   left: 0;
   text-indent: 15px;
}
 #menu-primary-menu > li > .sub-menu > li > a:before {
   top: -5px !important;
}
 header a.main-logo img {
   max-width: 86px;
}
 @media (min-width: 1091px) {
   footer .footer-grid > div:nth-child(2) {
     width: 17%;
  }
   footer .footer-grid > div:nth-child(4) {
     width: 33%;
  }
}
 div.master-icon-box:hover a.master-link {
   color: white;
}
 div.master-icon-box:hover a.master-link:hover {
   color: rgba(255,255,255,0.7) !important;
}
 #main-nav ul li.current-menu-item > a, #main-nav ul li.current-menu-ancestor > a {
   color: #3e90e5;
}
 #main-nav ul li.current-menu-item .current_page_item a, #main-nav ul li.current-menu-ancestor .current_page_item a {
   color: #3e90e5;
}

@media (max-width: 991px) {
   #site-logo #site-logo-inner {
     width: 100px;
  }
}
 


/* Variables simples (tu peux changer l'accent) */

.wpcf7-form {
  --accent: #f7931e;
  --border: #e6e6e6;
  --text: #1f1f1f;
  --muted: #6b7280;
  --bg: #ffffff;
  --card: #fbfbfc;
  --radius: 12px;
}


/* Layout global : 2 colonnes + zone bottom */

.wpcf7-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 28px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}


/* Colonnes en "cartes" pour éviter l'effet vide */

.wpcf7-form > .col {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
}


/* Espacement interne propre */

.wpcf7-form > .col .input-wrap,
.wpcf7-form > .col > p {
  margin: 0 0 16px 0;
}

.wpcf7-form > .col .input-wrap:last-child,
.wpcf7-form > .col > p:last-child {

  margin-bottom: 0;

}



/* Labels */

.field-label {

  display: block;

  font-weight: 700;

  color: var(--text);

  margin-bottom: 10px;

  font-size: 15px;

}



/* Champs input/select/textarea */

.wpcf7-form-control:not(.wpcf7-radio):not(.wpcf7-file) {

  width: 100%;

  box-sizing: border-box;

  padding: 13px 14px;

  border-radius: 10px;

  border: 1px solid var(--border)!important;

  background: var(--bg)!important;

  font-size: 15px;

  color: var(--text)!important;

  transition: border-color .2s ease, box-shadow .2s ease;

  margin: 0;

}



.wpcf7-form-control:focus {

  outline: none;

  border-color: color-mix(in srgb, var(--accent) 70%, #ffffff 30%);

  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent 80%);

}



/* Textarea plus agréable */

textarea.wpcf7-textarea {

  min-height: 160px;

  resize: vertical;  

  margin: 0 0 20px!important;

}



/* Aides : plus compactes et alignées */

.field-help {

  display: block;

  margin-top: 8px;

  font-size: 13px;

  color: var(--muted);

  line-height: 1.35;

}



/* -------------------------

   Grille des champs (gauche)

   Nom / Tel sur 2 colonnes, Email / Ville sur 2 colonnes

   ------------------------- */

.col:first-of-type {

.input-wrap:nth-of-type(2),

.input-wrap:nth-of-type(3) {

  gap: 14px;



  p {

    margin: 0;

    display: contents; // clé : supprime le <p> du layout

  }



  .wpcf7-form-control-wrap {

    width: 100%;

    margin: 30px 0 0;

    display: flex;

    flex-direction: column;

  }



  .field-help {

    width: 100%;

    margin-top: 15px;

  }

}

}



/* Les "aides" doivent prendre toute la largeur sous la grille */

.wpcf7-form > .col:first-of-type .input-wrap:nth-of-type(2) .field-help,

.wpcf7-form > .col:first-of-type .input-wrap:nth-of-type(3) .field-help {

  grid-column: 1 / -1;

}



/* -------------------------

   Radios en "boutons" (pills)

   ------------------------- */

.wpcf7-radio {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

}



.wpcf7-radio .wpcf7-list-item {

  margin: 0;

}



.wpcf7-radio input[type="radio"] {

  /* on garde accessible mais invisible */

  position: absolute;

  opacity: 0;

  pointer-events: none;

}



.wpcf7-radio label {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding: 10px 12px;

  border-radius: 999px;

  border: 1px solid var(--border);

  background: #fff;

  cursor: pointer;

  user-select: none;

  font-size: 14px;

  color: var(--text);

  transition: background .2s ease, border-color .2s ease, transform .05s ease;

}



.wpcf7-radio label:active {

  transform: translateY(1px);

}



/* petit rond décoratif */

.wpcf7-radio label::before {

  content: "";

  width: 12px;

  height: 12px;

  border-radius: 999px;

  border: 2px solid #c7c7c7;

  display: inline-block;

  box-sizing: border-box;

}



/* état sélectionné */

.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label,

.wpcf7-radio input[type="radio"]:checked + span {

  /* selon CF7 le label est souvent un span */

}



.wpcf7-radio input[type="radio"]:checked ~ .wpcf7-list-item-label {

  /* fallback */

}



.wpcf7-radio label:has(input[type="radio"]:checked) {

  border-color: color-mix(in srgb, var(--accent) 65%, var(--border) 35%);

  background: color-mix(in srgb, var(--accent) 12%, #ffffff 88%);

}



.wpcf7-radio label:has(input[type="radio"]:checked)::before {

  border-color: var(--accent);

  box-shadow: inset 0 0 0 3px var(--accent);

}



/* -------------------------

   Select : look plus net

   ------------------------- */

select.wpcf7-select {

  appearance: none;

  background-image:

    linear-gradient(45deg, transparent 50%, #666 50%),

    linear-gradient(135deg, #666 50%, transparent 50%);

  background-position:

    calc(100% - 18px) calc(50% - 3px),

    calc(100% - 12px) calc(50% - 3px);

  background-size: 6px 6px, 6px 6px;

  background-repeat: no-repeat;

  padding-right: 42px;

}



/* File input : plus propre */

input.wpcf7-file {

  padding: 10px;

}



/* -------------------------

   RGPD + Bouton en bas, pleine largeur

   ------------------------- */

.wpcf7-form > .input-wrap:last-of-type,

.wpcf7-form > p:last-of-type,

.wpcf7-form > .wpcf7-response-output {

  grid-column: 1 / -1;

}



.wpcf7-form > .input-wrap:last-of-type {

  margin-top: 8px;

  background: #fff;

  border: 1px solid var(--border);

  border-radius: var(--radius);

  padding: 14px 16px;

}



/* Acceptance plus lisible */

.wpcf7-acceptance,

.wpcf7-form .wpcf7-list-item-label {

  font-size: 14px;

  color: var(--text);

}



/* Bouton */

.wpcf7-submit {

  width: 100%;

  max-width: 420px;

  margin: 6px auto 0 auto;

  display: block;

  padding: 14px 18px;

  border-radius: 12px;

  border: none;

  background: var(--accent);

  color: #fff;

  font-weight: 800;

  font-size: 16px;

  cursor: pointer;

  transition: filter .2s ease, transform .05s ease;

}



.wpcf7-submit:hover { filter: brightness(0.95); }

.wpcf7-submit:active { transform: translateY(1px); }



/* Messages CF7 */

.wpcf7-response-output {

  margin: 10px 0 0 0;

  border-radius: 12px;

}



/* -------------------------

   Responsive

   ------------------------- */

@media (max-width: 980px) {

  .wpcf7-form {

    grid-template-columns: 1fr;

  }

  .wpcf7-form > .col:first-of-type .input-wrap:nth-of-type(2) p,

  .wpcf7-form > .col:first-of-type .input-wrap:nth-of-type(3) p {

    grid-template-columns: 1fr;

  }

}



/* =========================

FIX BAS FORM : RGPD + CTA

(cible le div "nu" : pas .col, pas .wpcf7-response-output)

========================= */



.wpcf7-form > div:not(.col):not(.wpcf7-response-output) {

  grid-column: 1 / -1;

  max-width: 720px;

  margin: 18px auto 0;

  display: grid;

  gap: 14px;

}



/* Carte RGPD */

.wpcf7-form > div:not(.col):not(.wpcf7-response-output) .input-wrap {

  margin: 0;

  background: #fff;

  border: none;

  border-radius: var(--radius);

  padding: 14px 16px;

}



/* Checkbox alignée */

.wpcf7-form > div:not(.col):not(.wpcf7-response-output) .wpcf7-checkbox label {

  display: flex;

  align-items: flex-start;

  gap: 12px;

  margin: 0;

  cursor: pointer;

}



.wpcf7-form > div:not(.col):not(.wpcf7-response-output) .wpcf7-checkbox input[type="checkbox"] {

  width: 18px;

  height: 18px;

  margin: 2px 0 0 0;

  flex: 0 0 18px;

}



.wpcf7-form > div:not(.col):not(.wpcf7-response-output) .wpcf7-checkbox .wpcf7-list-item-label {

  line-height: 1.35;

}



/* Bouton centré sous la carte */

.wpcf7-form > div:not(.col):not(.wpcf7-response-output) > .wpcf7-submit {

  margin: 0 auto;

  max-width: 520px;

}

