/*
Theme Name: Oniti TT5 Child
Theme URI: https://oniti.fr
Description: Thème enfant de Twenty Twenty-Five. Contient uniquement les surcharges de design (palette, typographie) versionnables dans Git.
Author: Oniti
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 7.0
Requires PHP: 8.1
Text Domain: oniti-tt5-child
*/

/*
 * Style généraux (hors blocs customs qui ont leurs propres fichiers
 * et hors theme.json qui contient les styles de base du thème TT5)
 *
*/

/* TYPO */
.neotech-text-primary {
    color: var(--wp--preset--color--primary);
}

.prestation-col:hover .prestation-btn svg.has-accent-background-color {
    background-color: var(--wp--preset--color--blanc) !important;
}

.neotech-nav a {
    white-space: normal;
    text-wrap: balance;
    line-height: 1.2;
}

/* Soulignement */
.neotech-nav a
{
    text-decoration: none;
    display: inline-block;
    border-bottom: 2px solid transparent;
    padding-bottom: 0.2em;
}

.neotech-nav a:focus {
    outline: none;
}

.neotech-nav a:hover,
.neotech-nav a:focus-visible,
.neotech-nav a:focus,
.neotech-nav a[aria-current] {
    border-bottom-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary) !important;
}

/* Survol, focus clavier ET page active : texte + soulignement en primary */
.neotech-nav a:hover,
.neotech-nav a:focus-visible,
.neotech-nav a[aria-current="page"] {
    color: var(--wp--preset--color--primary);
    text-decoration-color: var(--wp--preset--color--primary);
}

.neotech-nav li.neotech-two-lines,
.neotech-nav li.neotech-two-lines-big {
    text-align: center;
}

.neotech-nav li.neotech-two-lines {
   max-width: 10rem;
}

.neotech-nav li.neotech-two-lines-big {
    max-width: 6rem;
}

/* header top */
.header-top-tel a {
    text-decoration: none;
}

.header-top-devis-btn a {
    background-color: var(--wp--preset--color--accent);
    padding: 0.5em 1em;
    text-decoration: none;
    border-radius: 4px;
    color: var(--wp--preset--color--dark);
}

.header-top-devis-btn:hover a {
    background-color: var(--wp--preset--color--dark);
    color: var(--wp--preset--color--blanc);
}

.neotech-list,
.neotech-list-puces {
    list-style: none;
    margin: 0;
}

.neotech-list {
    padding: 0;
}

.neotech-list-puces {
    padding-left: 2rem;
}

strong
{
  font-weight: 700;
}

.neotech-list-puces li::before {
    content: '';
    position: relative;
    display: inline-block;
    vertical-align: middle;
    top: 0;
    left: -1.75rem;
    width: 0;
    height: 0;
    margin: 0 -.5rem 0 0;
    border-color: transparent transparent transparent var(--wp--preset--color--accent);
    border-style: solid;
    border-width: .35rem 0 .35rem .5rem;
}

.neotech-list.footer-list li a {
    text-decoration: none;
}

.neotech-list.footer-list li a:hover {
    text-decoration: underline;
}

.neotech-list.neotech-list-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.neotech-list.neotech-list-inline li:not(:last-child):after {
    content: " - ";
    color: var(--wp--preset--color--blanc);
}

/* FORMULAIRE CF7 */
.oniti-cf7 {
  --cf7-gap: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--cf7-gap);
}

.oniti-cf7__note {
  flex-basis: 100%;
  margin: 0;
}

/* Chaque champ occupe une demi-largeur (2 colonnes) */
.oniti-cf7__field {
  display: flex;
  flex-direction: column;
  flex: 1 1 calc(50% - (var(--cf7-gap) / 2));
  min-inline-size: 0;
  max-width: 100%;
}

/* Champs pleine largeur (textarea + bouton) */
.oniti-cf7__field--full {
  flex-basis: 100%;
}

.oniti-cf7__field label {
  margin-block-end: .35rem;
  font-weight: 700;
}

.oniti-cf7 input,
.oniti-cf7 textarea {
  inline-size: 100%;
  background-color: var(--wp--preset--color--primary);
  border: none;
  padding: 1rem 0.5rem;
  color: var(--wp--preset--color--blanc);
  font-size: 1rem;
}

/* Focus visible (RGAA 10.7) */
.oniti-cf7 :is(input, textarea, button):focus-visible {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
  background-color: var(--wp--preset--color--dark);
}

.oniti-cf7 input[type="submit"] {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  padding: 1rem 2rem;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  width: fit-content;
}

/* Bouton centré par rapport au formulaire */
.oniti-cf7__submit {
  justify-content: center;
  margin-block-start: 0;
}

.neotech-presta .neotech-paint {
  text-align: center;
  margin-bottom: -4rem;
  fill: #057;
}

.neotech-presta:hover .neotech-paint {
  fill: var(--wp--preset--color--accent);
}

/* RESPONSIVE */

@media ( min-width: 600px ) and ( max-width: 1049.98px ) {
    /* Change le breakpoint du burger */
    .neotech-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex !important;
    }
    .neotech-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none !important;
    }
    /* Fin change breakpoint burger */
    .oniti-cf7__cols {
    grid-template-columns: 1fr;
  }
}

@media ( min-width: 1050px ) {
    /* Change le breakpoint du burger */
    .neotech-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    .neotech-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
    }
    /* Fin change breakpoint burger */
}

@media (max-width: 1090px) {
    figure.neotech-carte {
        margin-bottom: 0 !important;
    }
    .neotech-carte-text {
        padding-top: 0 !important;
        margin-bottom: 5rem !important;;
    }
}

@media ( max-width: 1024px ) {
   .neotech-hero {
      background-image: none !important;
    }
    .neotech-hero .neotech-hero-text > .wp-block-column:first-child {
      flex-basis: 100% !important;
    }
    .header-top .header-top-text{
        display: none;
    }
    .header-top .header-top-tel-devis {
        margin: 0 auto;
    }
    .neotech-prestation {
        margin-top: 0 !important;
    }
    .prestations-cols .prestation-col:nth-child(2) {
        border: none !important;
    }
    .neotech-nav li.neotech-two-lines {
        max-width: 100%;
    }

    .neotech-nav li.neotech-two-lines-big {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
  .oniti-cf7__field {
    flex-basis: 100%;
  }
  .timeline-etape-step-icon {
    display: none;
  }
}