/*
Theme Name:   TR Optima Conseil
Theme URI:    https://cdactroptimaconseil.fr/
Description:  Thème enfant de Kadence pour TR Optima Conseil — bureau d'études en urbanisme commercial.
Author:       TR Optima Conseil
Template:     kadence
Version:      1.4.4
Text Domain:  troptima
*/

/* ============================================================
   TR OPTIMA CONSEIL — styles du site
   Version 1.4.0 (septembre 2026) : galerie portfolio de l'accueil.
   ============================================================ */

:root{
  --rouge:#CE0538;
  --rouge-fonce:#A80430;
  --encre:#1A1A1C;
  --encre-2:#2E2E31;
  --gris:#8C8C8E;
  --gris-texte:#5E5E62;
  --fond-2:#F4F4F2;
  --trait:#DEDEDA;
  --pas:clamp(3rem,5.5vw,4.8rem);
}


/* ============================================================
   BASE TYPOGRAPHIQUE ET FONDS
   Reprend ce que la maquette définissait et que Kadence
   remplaçait par ses réglages par défaut.
   Police : Archivo — à sélectionner aussi dans
   Personnaliser → Typographie (chargement local, conforme RGPD).
   ============================================================ */
body{
  background:#fff;
  color:var(--encre);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:1.0625rem;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.entry-content h1,.entry-content h2,.entry-content h3,
.site-header .site-title{
  font-family:'Archivo',system-ui,sans-serif;
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--encre);
  text-wrap:balance;
}
.entry-content p{max-width:36rem;margin-top:0;margin-bottom:1.05em}
.entry-content a{color:inherit}
.entry-content .reg p,
.entry-content .prose p,
.entry-content .agences p{max-width:none}

/* le personnalisateur Kadence pose un fond bleuté sur le contenu */
.content-bg,.site,.content-area,body.custom-background{background:#fff!important}

/* --- largeur commune des sections --- */
.zone{width:min(100% - 2.5rem,73rem);margin-inline:auto}

/* --- rythme vertical : on neutralise les marges de blocs --- */
.sec,.ouv,.appel{padding-block:var(--pas);margin-block:0!important}
.sec--gris{background:var(--fond-2)}

/* ============ BLOC D'OUVERTURE ============ */
.ouv{position:relative;background:var(--encre);color:#fff;overflow:hidden}
.ouv::after{
  content:"";position:absolute;inset:0 0 0 auto;width:46%;
  background:var(--rouge);
  clip-path:polygon(38% 0,100% 0,100% 100%,0 100%);
  opacity:.96;
}
.ouv .zone{position:relative;z-index:1}
.ouv h1,.ouv h2,.ouv h3,.ouv p,.ouv li,
.appel h2,.appel h3{color:#fff}
.ouv .fiche h2{color:var(--gris-texte)}
.ouv .fiche td{color:var(--gris-texte)}
.ouv .fiche td:last-child{color:var(--encre)}
.ouv h1{font-size:clamp(1.8rem,3.7vw,2.8rem)!important;max-width:18ch;margin:0 0 1rem;line-height:1.12;letter-spacing:-.02em}
.ouv p{color:#D2D2D4;max-width:42ch}

/* bandeau d'accroche */
.rappel{
  display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.03em;
  color:#fff;background:var(--rouge);padding:.35rem .7rem;margin-bottom:1.4rem!important;
}

/* boutons */
.wp-block-button__link{border-radius:0!important;font-weight:600;padding:.82rem 1.5rem}
.btn-blanc .wp-block-button__link{background:#fff;color:var(--encre)}
.btn-blanc .wp-block-button__link:hover{background:#E8E8E6}
.btn-creux .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.btn-creux .wp-block-button__link:hover{background:rgba(255,255,255,.12)}
.btn-rouge .wp-block-button__link{background:var(--rouge);color:#fff}
.btn-rouge .wp-block-button__link:hover{background:var(--rouge-fonce)}

/* fiche de chiffres */
.fiche{background:#fff;color:var(--encre);padding:1.35rem 1.5rem}
.fiche h2{
  font-size:.8rem!important;letter-spacing:.03em!important;font-weight:600;letter-spacing:.03em;color:var(--gris-texte);
  padding-bottom:.8rem;border-bottom:2px solid var(--rouge);margin:0 0 1.2rem
}
.fiche table{border:0;width:100%}
.fiche td{border:0;padding:.31rem 0;font-size:.92rem;color:var(--gris-texte)}
.fiche td:last-child{
  text-align:right;font-size:1.18rem;font-weight:700;color:var(--encre);
  font-variant-numeric:tabular-nums;white-space:nowrap
}

/* ============ TITRES DE SECTION ============ */
.sec h2{font-size:clamp(1.4rem,2.5vw,1.85rem)!important;margin:0 0 .6rem;max-width:26ch;line-height:1.12;letter-spacing:-.02em}
.chapo{color:var(--gris-texte);max-width:60ch;margin-bottom:1.7rem!important}

/* ============ HUIT COMPÉTENCES ============ */
/* WordPress insère un conteneur interne dans chaque groupe :
   la grille s'applique à ce conteneur, et au groupe lui-même s'il n'y en a pas */
.reg>.wp-block-group__inner-container,
.reg:not(:has(>.wp-block-group__inner-container)){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.reg .tuile{
  position:relative;background:#fff;border:1px solid var(--trait);
  padding:1.15rem 1.2rem 1.25rem;transition:border-color .15s ease
}
.reg .tuile::before{content:"";display:block;width:.85rem;height:.85rem;background:var(--rouge);margin-bottom:.75rem}
.reg .tuile:hover{border-color:var(--encre)}
.reg .tuile h3{font-size:1.02rem!important;margin:0 0 .3rem;line-height:1.25}
.reg .tuile h3 a{text-decoration:none;color:inherit}
.reg .tuile h3 a::after{content:"";position:absolute;inset:0}
.reg .tuile:hover h3 a{color:var(--rouge)}
.reg .tuile p{margin:0;color:var(--gris-texte);font-size:.885rem;line-height:1.45}
/* Kadence pose un margin-bottom sur les enfants de bloc, annulé sur :last-child :
   la grille se calait sur la tuile la plus haute */
.reg .tuile{margin-bottom:0!important}

/* ============ BLOC ARGUMENTAIRE ============ */
.prose{max-width:66rem}
.prose>.wp-block-group__inner-container,
.prose:not(:has(>.wp-block-group__inner-container)){columns:2;column-gap:3.2rem}
.prose p{break-inside:avoid;margin:0 0 1em;max-width:none}
.prose p:last-child{margin-bottom:0}


/* ============ GALERIE PORTFOLIO (accueil) ============ */
.galerie>.wp-block-group__inner-container,
.galerie:not(:has(>.wp-block-group__inner-container)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.galerie figure{margin:0!important;position:relative}
.galerie img{width:100%;height:auto;display:block;aspect-ratio:2.5/1;object-fit:cover;border:1px solid var(--trait)}
.galerie figcaption{font-size:.85rem;color:var(--gris-texte);margin:.5rem 0 0;text-align:left}
.galerie figcaption strong{color:var(--encre);font-weight:600}
.sec .galerie-note{font-size:.82rem;color:var(--gris);margin:1rem 0 0!important;max-width:none}
@media (max-width:600px){
  .galerie>.wp-block-group__inner-container,
  .galerie:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr}
}

/* ============ AGENCES ============ */
.agences{border-top:2px solid var(--encre);padding-top:1.4rem}
.agences>.wp-block-group__inner-container,
.agences:not(:has(>.wp-block-group__inner-container)){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}
.agences h3{font-size:1rem!important;margin:0 0 .2rem}
.agences p{font-size:.89rem;line-height:1.45;color:var(--gris-texte);margin:0 0 .25rem}
.agences a{font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums;border-bottom:2px solid var(--trait);color:var(--encre)}
.agences a:hover{border-bottom-color:var(--rouge)}
.ag-venir h3{color:var(--gris)}

/* ============ APPEL FINAL ============ */
.appel{background:var(--encre);color:#fff}
.appel h2{font-size:clamp(1.5rem,2.9vw,2rem)!important;margin:0 0 .7rem}
.appel p{color:#D2D2D4;margin:0}
.appel .wp-block-columns{align-items:center;gap:2.5rem}

/* ============ APPARITION AU DÉFILEMENT ============ */
/* troptima.js pose .reveal sur les éléments à animer puis .is-visible
   quand ils entrent dans l'écran. Sans JS, rien n'est masqué. */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
.reg .tuile.reveal:nth-child(2){transition-delay:.06s}
.reg .tuile.reveal:nth-child(3){transition-delay:.12s}
.reg .tuile.reveal:nth-child(4){transition-delay:.18s}
.cas li.reveal:nth-child(2){transition-delay:.08s}
.cas li.reveal:nth-child(3){transition-delay:.16s}
.cas li.reveal:nth-child(4){transition-delay:.24s}

/* ============ ACCESSIBILITÉ ============ */
a:focus-visible,.wp-block-button__link:focus-visible{outline:2px solid var(--rouge);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1;transform:none}}


/* ============================================================
   INTÉGRATION KADENCE
   Les sections occupent toute la largeur : on retire la marge,
   le fond blanc et l'ombre que Kadence pose autour du contenu.
   ============================================================ */
.page #primary{margin-top:0!important;margin-bottom:0!important}
.page .entry-content-wrap{padding:0!important}
.page .entry.single-entry{background:transparent;box-shadow:none;border:0}

/* accroche du bloc d'ouverture : évite qu'elle s'étire */
.rappel{width:max-content;max-width:100%}

/* accroche « Cabinet habilité… » en grande taille : une seule ligne,
   taille calée sur la largeur de sa colonne (unités de conteneur) */
.wp-block-column:has(> .rappel){container-type:inline-size}
.rappel.has-large-font-size{
  white-space:nowrap;
  max-width:none!important;
  font-size:clamp(1rem,3.7cqi,var(--wp--preset--font-size--large))!important;
}


/* ============================================================
   PALIERS RESPONSIVES
   1024 px : Kadence passe le menu en burger ; on empile le bloc
   d'ouverture au même seuil pour rester cohérent. C'est aussi
   la largeur effective d'un portable Windows en échelle 150 %.
   ============================================================ */
@media (max-width:1024px){
  .ouv .wp-block-columns{flex-wrap:wrap}
  .ouv .wp-block-column{flex-basis:100%!important;width:100%}
  .ouv h1{max-width:22ch}
  .fiche{max-width:30rem;margin-top:.5rem}
  .ouv::after{width:100%;clip-path:polygon(0 84%,100% 66%,100% 100%,0 100%);opacity:.92}
  .reg>.wp-block-group__inner-container,
  .reg:not(:has(>.wp-block-group__inner-container)){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 781 px : seuil natif de WordPress pour empiler les colonnes */
@media (max-width:781px){
  .prose>.wp-block-group__inner-container,
  .prose:not(:has(>.wp-block-group__inner-container)){columns:1}
  .appel .wp-block-columns{gap:1rem}
}

/* 600 px : téléphones */
@media (max-width:600px){
  :root{--pas:2rem}
  .reg>.wp-block-group__inner-container,
  .reg:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr}
  .agences>.wp-block-group__inner-container,
  .agences:not(:has(>.wp-block-group__inner-container)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .fiche{padding:1.1rem 1.2rem}
  .fiche td:last-child{font-size:1.05rem}
  .wp-block-button__link{padding:.72rem 1.2rem;font-size:.93rem}
}

/* 420 px : petits téléphones */
@media (max-width:420px){
  .agences>.wp-block-group__inner-container,
  .agences:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr}
  .ouv h1{font-size:1.65rem!important}
}

/* ============================================================
   PAGES INTÉRIEURES — gabarit commun aux pages de service
   ============================================================ */
.bandeau{background:var(--encre);color:#fff;padding-block:clamp(2.2rem,4vw,3.4rem);margin-block:0!important}
.bandeau .zone{position:relative}
.bandeau::after{content:"";position:absolute;right:0;top:0;bottom:0;width:8px;background:var(--rouge)}
.bandeau{position:relative;overflow:hidden}
.bandeau .silo{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#fff;background:var(--rouge);padding:.3rem .65rem;margin:0 0 1rem!important}
.bandeau h1{color:#fff!important;font-size:clamp(1.7rem,3.4vw,2.5rem)!important;max-width:24ch;margin:0 0 .8rem;line-height:1.12;letter-spacing:-.02em}
.bandeau .chapo{color:#D2D2D4;max-width:60ch;margin-bottom:0!important;font-size:1.08rem}

/* ------------------------------------------------------------
   BANDEAU ILLUSTRÉ
   Quand la page a une image à la une, functions.php injecte
   `.single-entry.has-post-thumbnail .bandeau{background-image:url(…)}`.
   Les visuels sont conçus pour ça : fond #F4F4F2 (= --fond-2),
   tiers gauche vide pour le titre, dessin à droite. Le bandeau
   passe alors en clair, texte encre. Hauteur d'image = hauteur du
   bandeau, calée à droite ; sous 1024 px on revient au hero sombre.
   ------------------------------------------------------------ */
.single-entry.has-post-thumbnail .bandeau{
  background-color:var(--fond-2);
  background-repeat:no-repeat;
  background-position:right center;
  background-size:auto 100%;
  color:var(--encre);
}
.single-entry.has-post-thumbnail .bandeau h1{color:var(--encre)!important;max-width:20ch}
.single-entry.has-post-thumbnail .bandeau .chapo{color:var(--gris-texte);max-width:44ch}
.single-entry.has-post-thumbnail .bandeau .silo{color:#fff;background:var(--rouge)}
.single-entry.has-post-thumbnail .bandeau::after{background:var(--rouge)}

/* écrans intermédiaires : le dessin recule pour laisser le titre respirer */
@media (max-width:1300px){
  .single-entry.has-post-thumbnail .bandeau{background-size:auto 82%;background-position:right bottom}
}
/* tablette et mobile : hero sombre d'origine, sans image */
@media (max-width:1024px){
  .single-entry.has-post-thumbnail .bandeau{
    background-image:none!important;
    background-color:var(--encre);
    color:#fff;
  }
  .single-entry.has-post-thumbnail .bandeau h1{color:#fff!important;max-width:24ch}
  .single-entry.has-post-thumbnail .bandeau .chapo{color:#D2D2D4;max-width:60ch}
}

.corps{padding-block:clamp(3rem,5.5vw,4.6rem);margin-block:0!important}
.corps .wp-block-columns{gap:clamp(2rem,4vw,3.5rem);align-items:flex-start}
/* au-dessus du seuil d'empilement : latérale à largeur fixe, le texte prend le reste */
@media (min-width:782px){
  .corps .colonne-texte{flex:1 1 0!important;min-width:0}
  .corps .colonne-aside{flex:0 0 19rem!important;width:19rem}
}
.corps .colonne-texte h2{font-size:1.65rem!important;margin:3rem 0 .9rem;padding-top:.2rem}
.corps .colonne-texte h2:first-child{margin-top:0}
.corps .colonne-texte h2+p{font-size:1.1rem;line-height:1.65;color:var(--encre)}
.corps .colonne-texte h3{font-size:1.12rem!important;margin:1.8rem 0 .5rem}
.corps .colonne-texte p,.corps .colonne-texte li{max-width:none;line-height:1.7}
/* option : texte justifié avec césure (à décommenter si souhaité)
.corps .colonne-texte p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
*/
.corps .colonne-texte>*+*{margin-top:1.1em}
/* schémas de contenu (blocs HTML) : toute la largeur de la colonne */
.colonne-texte .schema{max-width:none}
.colonne-texte .schema-figure,.colonne-texte .cas{margin:2.4rem 0}
.corps .colonne-texte ul{padding-left:1.2rem}
.corps .colonne-texte li{margin-bottom:.4rem}
.corps .colonne-texte li::marker{color:var(--rouge)}

/* encadré de synthèse dans le texte */
.encadre{background:var(--fond-2);border-left:4px solid var(--rouge);padding:1.2rem 1.4rem;margin:2.2rem 0!important;max-width:none}
.encadre p{margin:0 0 .5em;max-width:none}
.encadre p:last-child{margin-bottom:0}
.encadre strong{color:var(--encre)}

/* colonne latérale */
.corps .colonne-aside{position:sticky;top:5.5rem}
.corps .colonne-aside .fiche{background:var(--fond-2);border:1px solid var(--trait)}
.corps .colonne-aside .fiche h2{margin-top:0}
.corps .colonne-aside .fiche td{font-size:.9rem;vertical-align:top}
.corps .colonne-aside .fiche td:last-child{font-size:.95rem;text-align:right;white-space:normal}
.corps .colonne-aside .wp-block-buttons{margin-top:1.1rem}
.corps .colonne-aside .wp-block-button{width:100%}
.corps .colonne-aside .wp-block-button__link{width:100%;text-align:center}
.corps .colonne-aside .sommaire{margin-top:1.4rem;padding:1.1rem 1.2rem;border:1px solid var(--trait)}
.corps .colonne-aside .sommaire h2{font-size:.8rem!important;letter-spacing:.03em;color:var(--gris-texte);margin:0 0 .7rem;padding-bottom:.6rem;border-bottom:2px solid var(--rouge)}
.corps .colonne-aside .sommaire ul{list-style:none;margin:0;padding:0}
.corps .colonne-aside .sommaire li{padding:.4rem 0;border-bottom:1px solid var(--trait);font-size:.93rem}
.corps .colonne-aside .sommaire li:last-child{border:0}
.corps .colonne-aside .sommaire a{text-decoration:none}
.corps .colonne-aside .sommaire a:hover{color:var(--rouge)}

@media (max-width:781px){
  .corps .colonne-aside{position:static}
}

/* pages simples sans colonne latérale : texte centré, largeur de lecture */
.corps .colonne-texte:only-child{max-width:44rem}
.corps .colonne-large{max-width:52rem}
.corps .colonne-large h3{margin-top:1.4rem;font-size:1.05rem!important}
.corps .colonne-large h3+p{margin-bottom:.4rem}

/* ============================================================
   PAGES CONTACT / DEVIS : coordonnées à gauche, formulaire à droite
   ============================================================ */
.corps--formulaire .wp-block-columns{gap:clamp(2rem,5vw,4.5rem);align-items:flex-start}
.corps--formulaire .colonne-infos h2{font-size:.8rem!important;letter-spacing:.03em;color:var(--gris-texte);margin:1.6rem 0 .5rem;padding-bottom:.4rem;border-bottom:2px solid var(--rouge);max-width:16rem}
.corps--formulaire .colonne-infos h2:first-child{margin-top:0}
.corps--formulaire .colonne-infos p{margin-bottom:.8em;max-width:none}
.corps--formulaire .colonne-infos a{text-decoration:none;border-bottom:1px solid var(--trait)}
.corps--formulaire .colonne-infos a:hover{border-bottom-color:var(--rouge)}
.corps--formulaire .colonne-infos li{margin-bottom:.45rem;max-width:none}
.corps--formulaire .colonne-form{background:var(--fond-2);padding:1.8rem 2rem 2rem;border:1px solid var(--trait)}
.corps--formulaire .colonne-form h2{font-size:1.25rem!important;margin:0 0 .6rem}
.corps--formulaire .colonne-form>p{max-width:none;color:var(--gris-texte);font-size:.95rem}
@media (max-width:781px){.corps--formulaire .colonne-form{padding:1.3rem 1.2rem 1.5rem}}

/* ============================================================
   FORMULAIRES WPFORMS — aux couleurs du site
   ============================================================ */
.wpforms-container .wpforms-field-label{font-weight:600;font-size:.93rem;color:var(--encre);margin-bottom:.3rem}
.wpforms-container .wpforms-field-sublabel{font-size:.8rem;color:var(--gris-texte)}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=number],
.wpforms-container select,
.wpforms-container textarea{
  border:1px solid var(--trait)!important;border-radius:0!important;background:#fff!important;
  padding:.65rem .8rem!important;font-family:inherit!important;font-size:.97rem!important;color:var(--encre)!important;
  box-shadow:none!important;transition:border-color .15s ease
}
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{
  border-color:var(--encre)!important;outline:2px solid var(--rouge)!important;outline-offset:1px
}
.wpforms-container .wpforms-field{padding:.6rem 0!important}
.wpforms-container .wpforms-required-label{color:var(--rouge)}
.wpforms-container .wpforms-field-checkbox label{font-size:.9rem;color:var(--gris-texte);line-height:1.45}
.wpforms-container button[type=submit].wpforms-submit,
.wpforms-container .wpforms-submit{
  background:var(--rouge)!important;color:#fff!important;border:2px solid var(--rouge)!important;border-radius:0!important;
  padding:.85rem 1.6rem!important;font-weight:600!important;font-size:.97rem!important;font-family:inherit!important;
  transition:background .15s ease
}
.wpforms-container .wpforms-submit:hover{background:var(--rouge-fonce)!important;border-color:var(--rouge-fonce)!important}
.wpforms-container .wpforms-confirmation-container-full{background:#fff;border:1px solid var(--trait);border-left:4px solid var(--avis,#2C6E52);padding:1.2rem 1.4rem}
.wpforms-container label.wpforms-error{color:var(--rouge)!important;font-size:.85rem}


/* ============================================================
   EN-TÊTE ET PIED DE PAGE
   (migré depuis le CSS additionnel du personnalisateur)
   ============================================================ */

/* ============ MENU : RUBRIQUE COURANTE ============ */
/* Kadence pose current-menu-item sur la page ouverte et
   current-menu-ancestor sur sa rubrique : on marque les deux. */
.site-header .current-menu-item>a,
.site-header .current-menu-ancestor>a,
.site-header .current-page-ancestor>a,
.site-header .current_page_ancestor>a{font-weight:700!important;color:var(--encre)!important;position:relative}
.site-header .current-menu-item>a::after,
.site-header .current-menu-ancestor>a::after,
.site-header .current-page-ancestor>a::after{
  content:"";position:absolute;left:.6em;right:.6em;bottom:.35em;height:2px;background:var(--rouge)
}
.site-header .sub-menu .current-menu-item>a::after{display:none}
.site-header .sub-menu .current-menu-item>a{color:var(--rouge)!important}

/* ============ BOUTON DEVIS (en-tête) ============ */
.btn-devis{
  display:inline-block;padding:.65rem 1.25rem;
  background:var(--rouge);color:#fff!important;
  font-weight:600;font-size:.93rem;text-decoration:none;
  border:2px solid var(--rouge);white-space:nowrap;
  transition:background .15s ease
}
.btn-devis:hover{background:var(--rouge-fonce);border-color:var(--rouge-fonce)}
@media (max-width:1024px){.btn-devis{padding:.55rem 1rem;font-size:.88rem}}

/* ============ PIED DE PAGE ============ */
.site-footer,#colophon{background:var(--encre-2);color:#B4B4B7;font-size:.9rem}
.site-footer a,#colophon a{color:#D2D2D4;text-decoration:none;border-bottom:1px solid transparent}
.site-footer a:hover,#colophon a:hover{color:#fff;border-bottom-color:var(--rouge)}

.pied-marque{text-align:center}
.pied-marque img{display:block;width:160px;height:auto;margin:0 auto .8rem}
.pied-baseline{color:#D2D2D4;line-height:1.45;margin:0 0 1.4rem}

.pied-agences p{margin:0 0 .9rem;line-height:1.5}
.pied-agences strong{color:#fff}

.pied-titre{
  font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#fff;
  margin:0 auto .8rem;padding-bottom:.5rem;border-bottom:2px solid var(--rouge);max-width:12rem;
  text-align:center
}
.pied-liens{list-style:none;margin:0;padding:0}
.pied-liens li{margin:0 0 .45rem}

.pied-legal{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.2rem .55rem;font-size:.8rem;color:#8A8A8D;margin:0;line-height:1.6
}
.pied-legal a,.pied-legal span{display:inline!important;margin:0}
.pied-legal a{color:#B4B4B7}
.pied-sep{color:#5E5E62}
.pied-credit{font-size:.75rem;color:#6E6E72;text-align:center;margin:.4rem 0 0}

@media (max-width:781px){
  .pied-legal{line-height:1.9}
  .pied-sep{display:none}
  .pied-legal a{display:block}
}
/* ---------------------------------------------------------------
   Notes d'information (PDF) — bloc de téléchargement en tête de page
   À coller à la fin de style.css du thème enfant (kadence-child)
   et passer la version du thème en 1.3.1 pour rafraîchir le cache.
   --------------------------------------------------------------- */
.note-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	margin: 1.5rem 0 2.5rem;
	padding: 1rem 1.25rem;
	background: #F4F4F2;
	border-left: 4px solid #CE0538;
	border-radius: 4px;
}
.note-info__texte { flex: 1 1 18rem; min-width: 0; }
.note-info__kicker {
	display: block;
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #8C8C8E;
}
.note-info__titre {
	display: block;
	margin-top: .2rem;
	font-weight: 600;
	line-height: 1.35;
	color: #1A1A1C;
}
.note-info__btn {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .7rem 1.15rem;
	background: #CE0538;
	color: #fff;
	font-weight: 600;
	border-radius: 4px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s ease;
}
.note-info__btn:hover,
.note-info__btn:focus-visible { background: #A50430; color: #fff; text-decoration: none; }
.note-info__btn svg { width: 1.15em; height: 1.15em; flex: none; }
.note-info__meta { font-weight: 400; font-size: .85em; opacity: .85; }
@media (max-width: 640px) {
	.note-info__btn { width: 100%; justify-content: center; }
}

.note-info + .note-info { margin-top: -1.75rem; }

/* ---------------------------------------------------------------
   Logo horizontal « TR Optima Conseil – Territoire & Réglementation »
   (octobre 2026). Il est 5 fois plus large que haut : on le pilote
   en hauteur, et on resserre le menu pour lui faire de la place.
   Valeurs à ajuster ici si le menu déborde à une largeur donnée.
   --------------------------------------------------------------- */
#masthead .site-branding a.brand img.custom-logo {
	max-width: none;
	width: auto;
	height: 64px;
}
/* Entre 1025 et 1279 px le menu complet ne tient plus (il passait déjà
   sur deux lignes vers 1 100 px) : on affiche l'en-tête mobile, burger compris. */
@media (min-width: 1025px) and (max-width: 1279px) {
	#masthead #main-header   { display: none; }
	#masthead #mobile-header { display: block; }
}
@media (min-width: 1280px) {
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
		font-size: 14px;
		padding-left: 6px;
		padding-right: 6px;
	}
	#main-header .header-button {
		font-size: 16px;
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 1440px) {
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
		font-size: 15px;
		padding-left: 7px;
		padding-right: 7px;
	}
}
@media (max-width: 1024px) {
	#masthead .site-branding a.brand img.custom-logo { height: 40px; }
}
@media (max-width: 380px) {
	#masthead .site-branding a.brand img.custom-logo { height: 34px; }
}

/* ---------------------------------------------------------------
   Page Prestations (octobre 2026) : grille de tuiles à colonnes
   automatiques, pour une rangée de 5 tuiles (les études) sans
   tuile orpheline. Même tuile que les compétences de l'accueil.
   --------------------------------------------------------------- */
.reg.reg--auto > .wp-block-group__inner-container,
.reg.reg--auto:not(:has(> .wp-block-group__inner-container)) {
	grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
}

/* Actualités : même gabarit que les pages (bandeau sous l’en-tête, sans image ni boîte) */
body.single-post .content-area{margin-top:0;margin-bottom:0}
body.single-post .entry-content-wrap{padding:0}
body.single-post article.single-entry{box-shadow:none}
body.single-post .article-post-thumbnail,body.single-post .entry-footer{display:none}
