/* ==================================================================
   seo.css — styles des composants ajoutés lors du chantier SEO (09/2026)
   Chargé après style.css. Ne modifie pas le design existant : les
   règles « reset » ci-dessous compensent seulement les changements de
   balise (h1 -> h2, div -> h1…) pour conserver le rendu d'origine.
   ================================================================== */

/* ---------- Accessibilité ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:#123456;color:#fff;padding:10px 16px;border-radius:0 0 8px 0}
.skip-link:focus{left:0;color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c0a079;outline-offset:2px}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* ---------- Titres : conserver l'apparence après changement de balise ---------- */
/* Titre neutre : prend l'apparence de son conteneur (mentions légales, réseau) */
.h-inherit{font:inherit;color:inherit;margin:0;padding:0;display:inline;text-transform:inherit;letter-spacing:inherit;width:auto;height:auto;text-align:inherit}
/* Ancien <h3 class="hstyleblanc"> devenu <h1> (office) : rester en bloc */
h1.h-block{display:block}
/* Anciens <h1> devenus <h2> : annule les règles génériques h2 du site (largeur 180px, etc.) */
h2.hstyleblanc{width:auto;height:auto;letter-spacing:normal;display:inline-block}
h2.strip__title{letter-spacing:normal;height:auto}
h2.lw-h1{width:auto;height:auto;letter-spacing:normal;text-transform:none;display:inline-block}
.work .work-grid .inner h2.desc{width:auto;height:auto;letter-spacing:normal;text-transform:uppercase}
.titredelarticle{letter-spacing:normal;text-transform:none;height:auto}
h2.titredelarticle,h3.titredelarticle{margin-left:0;margin-right:0}

/* Bandeau mobile de l'accueil (ancien <h1>, désormais <p class="hero-titre">) */
.header .hero-titre{display:inline-block;font-family:'avenir',sans-serif;font-size:70px;line-height:1.1;text-align:right;font-weight:400;letter-spacing:-1px;margin:0 0 5px 100px;padding:0;color:#123456}
.hero-titre span.noirresponsive{display:none}
@media only screen and (min-width:768px) and (max-width:1208px){.header .hero-titre{font-size:80px}}
@media only screen and (max-width:767px){
  .header .hero-titre{font-size:60px}
  .client .hero-titre{margin-left:0;background:url(../img/facade.png) center center no-repeat;background-size:cover;text-align:center;padding:0 0 100px 0}
  .hero-titre span.noirresponsive{display:inline-block;color:#FFF;background-color:#872;font-size:20px;line-height:22px;padding:10px 200px 10px 20px;margin:110px 0 0 0;font-family:'avenir',sans-serif;font-weight:100;opacity:.9}
}

/* ---------- Fil d'Ariane ---------- */
.fil-ariane{font-size:14px;margin:10px 0 18px;text-align:left}
.fil-ariane ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.fil-ariane li{margin:0;font-size:14px;line-height:1.4;color:#556}
.fil-ariane li+li:before{content:"›";margin:0 6px 0 2px;color:#c0a079}
.fil-ariane a{color:#123456;text-decoration:underline}

/* ---------- Bloc contact commun / pied de page ---------- */
.bandeau-contact{display:block}
.bandeau-contact:after{content:"";display:table;clear:both}
.nap-adresse{font-style:normal;margin:0;display:inline}
.nap-nom{text-transform:uppercase}
.footer-nav ul{list-style:none;margin:10px 0 6px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.footer-nav li{margin:0}
.footer-nav a,.footer-nap a{color:inherit;text-decoration:underline}
.footer-nap{font-size:14px;margin:4px 0 10px}

/* ---------- Page contact ---------- */
.contact-intro{color:inherit}
.coordonnees-bloc{font-style:normal}
.coordonnees{list-style:none;padding-left:0;margin-left:0}
.coordonnees li{margin-bottom:.35rem}
.email,.email-link{text-transform:none!important;color:inherit!important;font-weight:400;letter-spacing:normal;text-decoration:underline}
.contact-intro,.contact-intro *{text-transform:none}
a[href^="mailto:"]{text-transform:none!important}

/* ---------- Bloc-Not' : liste ---------- */
.bn-toolbar{max-width:1200px;margin:0 auto;padding:0 12px}
.bn-intro{margin:6px 0 14px}
.bn-toolbar .bn-title{margin:0 0 10px;color:#123456;text-transform:uppercase;font-size:28px;font-weight:700;line-height:1.2;display:block;text-align:left;font-family:'avenir',sans-serif}
.bn-intro p{font-size:17px;line-height:1.55;color:#333;margin:0 0 10px;max-width:900px}
.bn-intro a{color:#123456;text-decoration:underline}
.bn-rubriques ul{list-style:none;margin:6px 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bn-rubriques li{margin:0}
.bn-rubriques a{display:inline-block;padding:6px 12px;border:1px solid #c0a079;border-radius:999px;color:#123456;text-decoration:none;font-size:15px}
.bn-rubriques a[aria-current="page"],.bn-rubriques a:hover{background:#c0a079;color:#fff}
.filter-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;background:#fff;border:1px solid #eee;border-radius:12px;padding:14px;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.filter-row label{display:flex;flex-direction:column;font-size:14px;margin:0}
.filter-row input[type="search"],.filter-row select{padding:8px;border:1px solid #ddd;border-radius:8px;min-width:180px}
.filter-actions{display:flex;gap:8px}
.annos-btn{display:inline-block;padding:10px 12px;border-radius:8px;background:#123456;color:#fff;text-decoration:none;border:none;cursor:pointer}
.annos-btn:hover,.annos-btn:focus{background:#0d2533;color:#fff}
.annos-reset{background:#b91c1c!important}
.bn-count{margin:6px 0 10px;color:#556;font-size:.95rem}
.bn-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;max-width:1200px;margin:0 auto;padding:0 12px 20px}
.bn-liste .fondarticle{width:auto;margin:0;padding:0 12px 12px;display:flex;flex-direction:column}
.bn-liste .fondarticle[hidden]{display:none}
.bn-card-img{display:block;margin:0 -12px 6px}
.bn-card-img img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.bn-liste .titredelarticle{font-size:22px;line-height:1.25;text-align:left;margin:6px 0}
.bn-liste .chapeau{font-size:16px;line-height:1.45;text-align:left;margin:0 0 8px}
.datesurarticle{font-family:'avenir',sans-serif;font-size:15px;color:#873638;margin:auto 0 0;text-align:left}
.bn-vide{padding:20px 0}
@media (max-width:640px){.bn-toolbar .bn-title{font-size:22px}.filter-row input[type="search"],.filter-row select{min-width:0;width:100%}.filter-row label{flex:1 1 100%}}

/* ---------- Article ---------- */
.fonddetailsarticle-detail{display:block}
.art-header .titredelarticlecategorie-detail a{color:inherit;text-decoration:none}
.art-chapeau{max-width:900px;margin:0 auto 20px;text-align:left}
.art-chapeau.chapeau-detailarticle{padding:0}
.art-byline{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 22px;max-width:900px;text-align:left}
.art-byline p{margin:0;font-size:16px;line-height:1.5;color:#333}
.art-byline a{color:#123456;font-weight:700;text-decoration:underline}
.art-byline-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;flex:0 0 auto}
.art-dates{color:#6b7280;font-size:15px}
.art-toc{max-width:900px;margin:0 auto 10px;padding:14px 18px;background:#faf6ef;border:1px solid #eadfcc;border-radius:12px;text-align:left}
.art-toc-titre{font-weight:700;color:#123456;margin:0 0 6px;text-transform:uppercase;font-size:15px;letter-spacing:.04em}
.art-toc ol{margin:0;padding-left:22px}
.art-toc li{margin:0 0 4px;font-size:16px;line-height:1.45}
.art-toc a{color:#123456}
.art-corps h2[id]{scroll-margin-top:110px}
.art-sources,.art-cta,.art-auteur,.art-connexes{max-width:900px;margin:26px auto;text-align:left}
.art-sources h2,.art-connexes h2,.auteur-articles h2,.accueil-articles-titre{font-size:24px;line-height:1.25;color:#123456;font-weight:800;text-transform:none;letter-spacing:normal;width:auto;height:auto;margin:0 0 12px;text-align:left;display:block}
.art-sources ul{margin:0;padding-left:20px}
.art-sources li{margin:0 0 6px;font-size:16px}
.art-cta{padding:16px 20px;border-radius:14px;background:#123456;color:#fff}
.art-cta p{margin:0;color:#fff;font-size:17px}
.art-cta a{color:#e6c894;text-decoration:underline}
.art-auteur{display:flex;gap:16px;align-items:flex-start;padding:16px;border:1px solid #eadfcc;border-radius:14px;background:#fff}
.art-auteur img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top;flex:0 0 auto}
.art-auteur p{margin:0 0 6px;font-size:16px;line-height:1.5}
.art-auteur-nom a{font-weight:800;color:#123456;font-size:18px}
.art-auteur a{color:#123456}
.art-connexes .bn-liste{padding:0}
.art-retour{max-width:900px;margin:10px auto 20px;text-align:left}
.art-rubriques{text-align:center}
.art-rubriques .rubriques{margin-bottom:10px}
.main-section-blocnot p > a.btn-retour,.art-retour a.btn-retour{display:inline-block;padding:10px 16px;border-radius:8px;background:#c0a079;color:#fff;text-decoration:none;font-weight:500;line-height:1.3}
.art-retour a.btn-retour:hover{background:#a88962;color:#fff}
@media (max-width:768px){
  .titredetailarticlebn-detailarticle{padding:0 10px;font-size:30px}
  .art-byline{justify-content:flex-start}
  .art-auteur{flex-direction:column}
}

/* ---------- Pages auteur ---------- */
.page-auteur .auteur-nom{font-size:34px;font-weight:800;color:#123456;text-transform:none;letter-spacing:normal;margin:0 0 6px;display:block;text-align:left;line-height:1.2}
.page-auteur .auteur-qualite{font-size:17px;color:#444;margin:0 0 12px}
.page-auteur .auteur-qualite a{color:#123456}
.page-auteur .auteur-universites{margin:0 0 14px}
.page-auteur .parcoursassocie p{margin:0 0 12px}
.page-auteur .role h2{font-size:22px;color:#123456;text-transform:none;letter-spacing:normal;width:auto;height:auto;margin:20px 0 10px;text-align:left;display:block}
.page-auteur .auteur-contact .btn{margin:0 6px 8px 0}
.page-auteur .auteur-articles{margin:30px 0 10px}
.page-auteur .auteur-articles .bn-liste{padding:0}

/* ---------- Accueil : derniers articles ---------- */
.accueil-articles{padding:20px 0 30px}
.accueil-articles-intro{font-size:17px;margin:0 0 14px}
.accueil-articles-intro a{color:#123456;text-decoration:underline}
.accueil-articles .bn-liste{padding:0}

/* ---------- Domaines (pages piliers) ---------- */
.domaine-page{max-width:980px;margin:0 auto;padding:10px 12px 30px}
.domaine-page h1{display:block;font-size:34px;font-weight:800;color:#123456;text-align:left;margin:0 0 12px;line-height:1.2}
.domaine-page h2{font-size:24px;color:#123456;text-transform:none;letter-spacing:normal;width:auto;height:auto;margin:26px 0 10px;text-align:left;display:block;font-weight:800}
.domaine-page p,.domaine-page li{font-size:17px;line-height:1.6}
.domaine-page li{font-weight:400;margin:0 0 6px}
.domaine-page ol{padding-left:22px}
.domaine-page table{width:100%;border-collapse:collapse;margin:14px 0 16px;font-size:16px}
.domaine-page th,.domaine-page td{border:1px solid #d8dde3;padding:8px 10px;text-align:left;vertical-align:top;line-height:1.45}
.domaine-page thead th{background:#123456;color:#fff;font-weight:700}
.domaine-page tbody th{background:#f4f6f8;font-weight:700;width:28%}
@media (max-width:600px){.domaine-page table{font-size:14px}.domaine-page th,.domaine-page td{padding:6px}}

/* ---------- Page 404 ---------- */
.erreur404-page h1{display:block;font-size:32px;color:#123456;margin:20px 0}
.erreur404-page ul{margin:10px 0 20px}
.erreur404-recherche{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 30px}
.erreur404-recherche input{padding:8px;border:1px solid #ccc;border-radius:8px;min-width:240px}
.erreur404-recherche button{padding:8px 14px;border-radius:8px;border:0;background:#123456;color:#fff}

/* ---------- Tableaux larges sur mobile ---------- */
.bn .bn-tw,.art-corps .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Liens ajoutés dans le texte de l'accueil : même apparence que le texte d'origine */
.histoireetude a{text-transform:none;color:inherit;text-decoration:underline;text-decoration-color:#c0a079;text-underline-offset:3px}

/* style.css masque .main-section / .main-section-blocnot jusqu'à l'animation WOW.js :
   sans JavaScript (agents, lecteurs, certains robots) le contenu restait invisible.
   WOW.js masque lui-même les éléments .wow à l'initialisation : l'animation est conservée. */
.main-section,.main-section-blocnot{visibility:visible}

/* Le style global met les liens en majuscules : pas dans les nouveaux composants */
.art-toc a,.art-byline a,.fil-ariane a,.art-auteur a,.art-sources a,.art-cta a,.bn-intro a,.art-retour a,
.footer-nav a,.footer-nap a,.bn-rubriques a,.accueil-articles-intro a,.page-auteur .auteur-qualite a,.erreur404-page a,
.domaine-page a,.bn-liste .titredelarticle a,.coordonnees a,.contact_form a[href^="mailto:"]{text-transform:none}
.art-header p.titredelarticlecategorie-detail{text-align:center!important;color:#873638!important;margin:10px 0 5px}
.art-header p.titredelarticlecategorie-detail a{color:#873638!important;text-transform:uppercase}
.bn-liste p.datesurarticle{font-size:15px!important;line-height:1.4!important;text-align:left!important;color:#873638!important;margin:auto 0 0!important}
.bn-liste p.chapeau{font-size:16px!important;line-height:1.45!important;text-align:left!important}
/* Pages auteur : titre dans le style d'origine (ancien h2 centré en capitales) */
.page-auteur .auteur-nom{text-align:center;text-transform:uppercase;font-weight:400;color:#000;font-size:32px}
.page-auteur .auteur-qualite,.page-auteur .auteur-universites{text-align:center}
.page-auteur .auteur-contact .btn-primary{background:#123456;border-color:#123456;color:#fff}
/* « SERVICES » (office) : ancien h1.hstyleblanc devenu h2, la règle .bandeauservice h2 ne doit pas l'altérer */
.bandeauservice h2.hstyleblanc{font-weight:500}
.art-retour-haut{margin:0 auto 6px}
/* Portraits des pages auteur : garder les proportions quelle que soit la hauteur maximale imposée par style.css */
.page-auteur img.portrait{width:auto;height:auto;max-width:100%;object-fit:contain}
/* Bandeau « Le Bloc-Not' » : largeur fixée par style.css (65 %), hauteur proportionnelle */
img.logoblocnot{height:auto}
/* Logo blanc du menu : dimensions imposées par style.css sur mobile, on garde les proportions dans la même boîte */
.logoncamenu img,.notaires-carnotblanc{object-fit:contain}
/* Renvoi vers la page de référence du domaine (articles, rubriques, pied de page) */
.art-domaine{max-width:900px;margin:22px auto;padding:14px 18px;border-left:5px solid #c0a079;background:#faf6ef;border-radius:0 12px 12px 0;text-align:left}
.art-domaine p{margin:0;font-size:17px;line-height:1.55;color:#123456}
.art-domaine a,.bn-domaine a{color:#123456;font-weight:700;text-decoration:underline;text-transform:none}
.bn-domaine{font-size:17px;margin:4px 0 10px;padding:8px 12px;background:#faf6ef;border-left:4px solid #c0a079;border-radius:0 8px 8px 0;max-width:900px}
.footer-domaines{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:14px}
.footer-domaines li{margin:0}
.footer-domaines a{color:inherit;text-decoration:underline;text-transform:none}
