/*
Theme Name: ATIA Institutionnel 2
Theme URI: https://atia-ong.org
Description: Variante du theme editorial ATIA. En-tete de page en deux colonnes (titre + accroche a gauche, image mise en avant a droite) et diaporama sur la page d'accueil.
Author: ATIA - Groupe Inter Aide
Template: astra
Version: 2.0.0
Text Domain: atia-institutionnel-2
*/

/* ============================================================
   VARIABLES
   ============================================================ */
:root{
  --navy:#1B3D5C; --navy-dark:#122A40; --orange:#C85000;
  --paper:#FFFFFF; --wash:#F6F5F1; --rule:#DDE3EB;
  --muted:#607080; --ink:#1C2B3A;
  --max-w:1160px; --nav-h:96px;
}
:root{
  --ast-heading-color:var(--navy);
  --ast-content-background-color:var(--paper);
  --ast-border-color:var(--rule);
}

/* ============================================================
   BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Helvetica Neue',Arial,Helvetica,sans-serif;
  font-size:16px;line-height:1.75;color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--navy);text-decoration:none;transition:color .15s;}
a:hover{color:var(--orange);}
h1,h2,h3{font-family:Georgia,Cambria,'Times New Roman',serif;font-weight:normal;line-height:1.2;color:var(--navy);}
h4,h5,h6{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:600;line-height:1.35;color:var(--navy);}
h1{font-size:clamp(2rem,4.4vw,3.2rem);}
h2{font-size:clamp(1.6rem,3vw,2.4rem);}
h3{font-size:1.35rem;}
p{margin-bottom:1.2em;}
p:last-child{margin-bottom:0;}
ul,ol{padding-left:1.4em;}
li{margin-bottom:.4em;}

/* Astra neutralise */
.site-header,.main-header-bar,.ast-site-header-wrap,.site-footer,.footer-widget-area,
.site-below-footer-wrap,.ast-above-header,.ast-sticky-active .site-header{display:none!important;}
.ast-article-single,.entry-content,.ast-container{max-width:100%!important;padding:0!important;margin:0!important;}
.site-primary,#primary{width:100%!important;padding:0!important;max-width:100%!important;}
.hentry,.ast-article-single{padding:0!important;}
.entry-title,.post-thumbnail{display:none!important;}

/* ============================================================
   NAVIGATION
   ============================================================ */
.atia-header{position:sticky;top:0;z-index:1000;background:var(--paper);border-bottom:1px solid var(--rule);height:var(--nav-h);}
.admin-bar .atia-header{top:32px;}
@media screen and (max-width:782px){.admin-bar .atia-header{top:46px;}}
.atia-header-inner{max-width:var(--max-w);margin:0 auto;padding:0 32px;height:100%;
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  align-items:center;column-gap:28px;row-gap:4px;}
.atia-logo a,.atia-logo img{max-height:44px;width:auto;}
.atia-logo .custom-logo-link{display:flex;align-items:center;}
.atia-logo .atia-site-name{font-family:Georgia,serif;font-size:1.15rem;color:var(--navy);letter-spacing:.02em;}
.atia-nav .atia-menu{list-style:none;display:flex;align-items:center;padding:0;margin:0;}
.atia-nav .atia-menu>li{position:relative;margin:0;}
.atia-nav .atia-menu>li>a{display:block;padding:0 14px;height:46px;line-height:46px;
  font-size:.70rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);
  white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
.atia-nav .atia-menu>li:hover>a,
.atia-nav .atia-menu>li.current-menu-item>a,
.atia-nav .atia-menu>li.current-menu-ancestor>a{color:var(--orange);border-bottom-color:var(--orange);}
.atia-nav .atia-menu>li>ul{display:none;position:absolute;top:46px;left:0;background:var(--paper);
  border:1px solid var(--rule);border-top:none;min-width:250px;padding:12px 0;margin:0;list-style:none;
  box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:1001;}
.atia-nav .atia-menu>li:hover>ul,
.atia-nav .atia-menu>li:focus-within>ul{display:block;}
.atia-nav .atia-menu>li>ul li{margin:0;}
.atia-nav .atia-menu>li>ul li a{display:block;padding:9px 24px;font-size:.85rem;color:var(--ink);
  line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400;
  transition:background .12s,padding-left .12s;}
.atia-nav .atia-menu>li>ul li a:hover{background:var(--wash);color:var(--navy);padding-left:28px;}
.atia-mobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.atia-mobile-toggle span{display:block;width:24px;height:2px;background:var(--navy);transition:transform .2s,opacity .2s;}

/* ============================================================
   PALETTE (equivalent CSS de theme.json, en filet de securite)
   ============================================================ */
.has-atia-navy-color{color:#1B3D5C;}
.has-atia-navy-background-color{background-color:#1B3D5C;}
.has-atia-orange-color{color:#C85000;}
.has-atia-orange-background-color{background-color:#C85000;}
.has-atia-offwhite-color{color:#F6F5F1;}
.has-atia-offwhite-background-color{background-color:#F6F5F1;}
.has-atia-muted-color{color:#607080;}
.has-atia-muted-background-color{background-color:#607080;}
.has-atia-border-color{color:#DDE3EB;}
.has-atia-border-background-color{background-color:#DDE3EB;}
.has-white-color{color:#FFFFFF;}
.has-white-background-color{background-color:#FFFFFF;}
.has-atia-tiny-font-size{font-size:.72rem;}
.has-atia-stat-font-size{font-size:2.8rem;}
.has-atia-hero-font-size{font-size:clamp(2rem,4vw,3rem);}

/* ============================================================
   DIAPORAMA (shortcode [atia_diaporama])
   ============================================================ */
.atia-slideshow-box{
  position:relative;overflow:hidden;
  aspect-ratio:var(--atia-ratio,4/3);
  background:var(--wash);
}
.atia-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.2s ease-in-out;will-change:opacity;
}
.atia-slide.is-active{opacity:1;}
.atia-slideshow-box.has-kenburns .atia-slide.is-active{animation:atia-kb 13s ease-out forwards;}
@keyframes atia-kb{from{transform:scale(1);}to{transform:scale(1.06);}}

.atia-slide-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:34px 16px 12px;text-align:right;
  font-size:.72rem;letter-spacing:.05em;color:rgba(255,255,255,.9);
  background:linear-gradient(transparent,rgba(0,0,0,.55));
}

.atia-dots{position:absolute;bottom:14px;left:0;right:0;z-index:4;
  display:flex;gap:8px;justify-content:center;}
.atia-dots button{width:9px;height:9px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid rgba(255,255,255,.85);background:transparent;
  transition:background .18s,transform .18s;}
.atia-dots button[aria-current="true"]{background:#fff;transform:scale(1.25);}
.atia-dots button:focus-visible{outline:2px solid #fff;outline-offset:3px;}

.atia-slideshow-empty{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:24px;color:var(--muted);font-size:.85rem;
  border:1px dashed var(--rule);
}

/* Le diaporama remplace l'image mise en avant dans l'en-tete des pages interieures */
.atia-page-hero-media .atia-slideshow-box{aspect-ratio:4/3;}

/* ============================================================
   CONTENU DE LA PAGE D'ACCUEIL
   ============================================================ */
.atia-front-content{max-width:100%;}
.atia-front-content .wp-block-group{padding:64px 32px;}
.atia-front-content .wp-block-group>.wp-block-group__inner-container{max-width:var(--max-w);margin:0 auto;}
.atia-front-content .wp-block-columns{gap:24px;}
.atia-front-content .wp-block-cover__inner-container{max-width:var(--max-w);margin:0 auto;padding:0 32px;width:100%;}
.atia-front-content .wp-block-button__link{font-size:.82rem;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;border-radius:0;}

.atia-gb-stat{text-align:center;padding:16px 0;border-right: 1px solid var(--rule);}
.atia-gb-stat strong{display:block;font-family:Georgia,serif;font-size:2.8rem;font-weight:normal;color:var(--orange);line-height:1;padding-bottom:0.1em;}
.atia-gb-stat {display:block;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.atia-gb-country{background:rgba(255,255,255,.06);padding:28px 24px;border-bottom:3px solid transparent;
  transition:border-color .15s,background .15s;text-decoration:none;display:block;}
.atia-gb-country:hover{border-bottom-color:var(--orange);background:rgba(255,255,255,.1);}
.atia-gb-country h3{color:#fff;font-size:1rem;margin:8px 0 6px;}
.atia-gb-country p{color:rgba(255,255,255,.5);font-size:.78rem;margin:0;}
.atia-gb-result-link{display:block;padding:20px 24px;border:1px solid var(--rule);text-decoration:none;
  margin-bottom:12px;transition:border-color .15s,padding-left .15s;}
.atia-gb-result-link:hover{border-color:var(--navy);padding-left:30px;}
.atia-gb-result-link strong{display:block;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:3px;}
.atia-gb-result-link span{font-size:.82rem;color:var(--muted);}
.atia-gb-funders{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;opacity:.55;}
.atia-gb-funders span{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);}

/* ============================================================
   EN-TETE DE PAGE EN DEUX COLONNES
   ============================================================ */
.atia-page-hero{background:var(--paper);border-bottom:1px solid var(--rule);}
.atia-page-hero-inner{max-width:var(--max-w);margin:0 auto;padding:60px 32px 56px;}

.atia-page-hero--split .atia-page-hero-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  padding-top:64px;padding-bottom:64px;
}
.atia-page-hero--split .atia-page-hero-text{min-width:0;}
.atia-page-hero h1{font-size:clamp(1.9rem,3.6vw,2.9rem);margin:0;}
.atia-page-hero--split h1{margin-bottom:20px;}

.atia-page-accroche{
  font-size:1.05rem;line-height:1.8;color:var(--muted);margin:0;max-width:36em;
  padding-left:20px;border-left:2px solid var(--orange);
}
.atia-page-hero--split .atia-page-accroche{margin-top:4px;}

.atia-page-hero-media{margin:0;position:relative;}
.atia-page-hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.atia-page-hero-media figcaption{
  position:absolute;bottom:0;left:0;right:0;padding:28px 14px 12px;text-align:right;
  font-size:.72rem;letter-spacing:.05em;color:rgba(255,255,255,.85);
  background:linear-gradient(transparent,rgba(0,0,0,.5));
}

.atia-breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:18px;}
.atia-breadcrumb a{color:var(--muted);}
.atia-breadcrumb a:hover{color:var(--orange);}
.atia-breadcrumb span{margin:0 8px;opacity:.4;}

/* ============================================================
   CORPS DE PAGE
   ============================================================ */
.atia-page-layout{max-width:var(--max-w);margin:0 auto;padding:64px 32px;
  display:grid;grid-template-columns:1fr 220px;gap:64px;align-items:start;}
.atia-page-content h2{font-size:1.6rem;margin-top:56px;margin-bottom:20px;padding-top:56px;border-top:1px solid var(--rule);}
.atia-page-content h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.atia-page-content h3{margin-top:32px;margin-bottom:12px;font-size:1.1rem;}
.atia-page-content p,.atia-page-content ul{color:var(--muted);line-height:1.85;}
.atia-page-content ul{margin-bottom:1.2em;}
.atia-page-content strong{color:var(--ink);}
.atia-page-content a{color:var(--navy);border-bottom:1px solid var(--rule);}
.atia-page-content a:hover{color:var(--orange);border-bottom-color:var(--orange);}

.atia-toc{position:sticky;top:calc(var(--nav-h) + 24px);}
.atia-toc-title{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--rule);}
.atia-toc ul{list-style:none;padding:0;margin:0;}
.atia-toc ul li{margin-bottom:4px;}
.atia-toc ul li a{font-size:.8rem;color:var(--muted);line-height:1.5;padding:5px 0 5px 12px;
  border-left:2px solid transparent;display:block;transition:color .15s,border-color .15s;}
.atia-toc ul li a:hover,.atia-toc ul li a.active{color:var(--navy);border-left-color:var(--orange);}

.atia-callout{background:var(--wash);border-left:3px solid var(--navy);padding:24px 28px;margin:32px 0;}
.atia-callout p{color:var(--ink);margin:0;font-size:.95rem;}
.atia-pull-quote{font-family:Georgia,serif;font-size:1.25rem;line-height:1.55;color:var(--navy);
  border-left:2px solid var(--orange);padding:4px 0 4px 28px;margin:40px 0;}

.atia-btn{display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:background .15s,color .15s;}
.atia-btn-primary{background:var(--navy);color:#fff;padding:14px 28px;}
.atia-btn-primary:hover{background:var(--navy-dark);color:#fff;}

/* ============================================================
   PIED DE PAGE
   ============================================================ */
.atia-footer{background:var(--navy-dark);padding:32px 32px 0;margin-top:80px;}
.atia-footer-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08);}
.atia-footer-logo{font-family:Georgia,serif;font-size:1.4rem;color:#fff;margin-bottom:8px;}
.atia-footer-tagline{font-size:.78rem;color:rgba(255,255,255,.4);line-height:1.6;margin-bottom:24px;}
.atia-footer-contact{font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.9;}
.atia-footer-col h5{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);}
.atia-footer-col ul{list-style:none;padding:0;margin:0;}
.atia-footer-col ul li{margin-bottom:10px;}
.atia-footer-col ul li a{font-size:.82rem;color:rgba(255,255,255,.5);transition:color .15s;}
.atia-footer-col ul li a:hover{color:#fff;}
.atia-footer-bottom{max-width:var(--max-w);margin:0 auto;padding:20px 0;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.atia-footer-bottom p{font-size:.72rem;color:rgba(255,255,255,.25);margin:0;}
.atia-footer-bottom a{color:rgba(255,255,255,.25);font-size:.72rem;}
.atia-footer-bottom a:hover{color:rgba(255,255,255,.55);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .atia-page-layout{grid-template-columns:1fr;}
  .atia-toc{display:none;}
  .atia-footer-inner{grid-template-columns:1fr 1fr;gap:36px;}
  .atia-page-hero--split .atia-page-hero-inner{gap:44px;}
}
@media (max-width:860px){
  .atia-page-hero--split .atia-page-hero-inner{grid-template-columns:1fr;gap:32px;}
  .atia-page-hero-media{order:-1;}
  .atia-page-hero-media img{aspect-ratio:16/9;}
}
/* Les regles de navigation sont regroupees plus bas, au point de rupture 1150px */
@media (max-width:768px){
  .atia-footer-inner{grid-template-columns:1fr;}
  .atia-page-hero-inner{padding:40px 20px 36px;}
  .atia-page-layout{padding:44px 20px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;}
  .atia-slide{transition:none!important;}
}

/* ===============================================================
   En-tete : logo sur deux rangees, menu puis langues a droite
   =============================================================== */
.atia-logo{ grid-column:1; grid-row:1 / span 2; align-self:center; }
.atia-logo img,
.atia-logo .custom-logo{ max-height:60px; width:auto; height:auto; }
.atia-logo .atia-site-name{ white-space:nowrap; }

.atia-nav{ grid-column:2; grid-row:1; justify-self:end; min-width:0; }
.atia-nav .atia-menu{ flex-wrap:nowrap; }

.atia-langues{
  grid-column:2; grid-row:2; justify-self:end;
  padding-top:2px; padding-bottom:4px;
}

.atia-mobile-toggle{ grid-column:2; grid-row:1; justify-self:end; }

@media (max-width:1400px){
  .atia-nav .atia-menu > li > a{ padding:0 12px; font-size:.69rem; letter-spacing:.06em; }
}
@media (max-width:1280px){
  .atia-nav .atia-menu > li > a{ padding:0 9px; font-size:.65rem; letter-spacing:.04em; }
}

/* ---- Selecteur de langue ---- */
.atia-langues{ line-height:0; }
.atia-langue:hover{ opacity:1 !important; filter:none !important; }
.atia-langue:focus-visible{ outline:2px solid var(--navy); outline-offset:3px; }
.atia-langue img{ display:block; width:18px; height:auto; border-radius:2px; }

/* ---- Menu deroulant ----
   Declenche par la classe .atia-compact, posee par le theme quand le menu
   ne tient pas. Le point de rupture a 1150px sert de filet si JavaScript
   est indisponible. */
.atia-header.atia-compact .atia-nav{ display:none; }
.atia-header.atia-compact .atia-mobile-toggle{ display:flex; order:3; }


.atia-header.atia-compact .atia-nav.open,
.atia-nav.open{
  display:block; position:absolute; top:var(--nav-h); left:0; right:0;
  grid-column:1 / -1;
  background:#fff; border-bottom:1px solid var(--rule);
  padding:14px 0; z-index:999; margin-left:0;
  max-height:calc(100vh - var(--nav-h)); overflow-y:auto;
}
.atia-nav.open .atia-menu{ flex-direction:column; align-items:stretch; flex-wrap:wrap; }
.atia-nav.open .atia-menu > li > a{
  height:auto; line-height:1.4; padding:12px 24px;
  border-bottom:none; font-size:.78rem; letter-spacing:.06em;
}
.atia-nav.open .atia-menu > li > ul{
  display:block; position:static; box-shadow:none; border:none;
  border-left:2px solid var(--rule); margin-left:24px; padding:0 0 8px; min-width:0;
}

@media (max-width:1150px){
  .atia-nav{ display:none; }
  .atia-mobile-toggle{ display:flex; order:3; }
}

@media (max-width:640px){
  .atia-logo img, .atia-logo .custom-logo{ max-height:46px; }
  .atia-langues{ gap:8px !important; }
}

/* ===============================================================
   TROISIEME NIVEAU DE MENU
   =============================================================== */

/* Le li de deuxieme niveau devient le repere du sous-menu lateral. */
.atia-nav .atia-menu > li > ul > li{ position:relative; }

/* Le sous-menu lui-meme : meme habillage que le deuxieme niveau,
   mais ouvert sur le cote. La puce du navigateur est neutralisee ici :
   la regle list-style du deuxieme niveau ne descend pas jusqu'a lui. */
.atia-nav .atia-menu > li > ul ul{
  display:none; position:absolute; top:-13px; left:100%;
  min-width:250px; padding:12px 0; margin:0 0 0 -1px;   /* chevauche la bordure du parent */
  list-style:none;
  background:var(--paper); border:1px solid var(--rule);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  z-index:1002;
}
.atia-nav .atia-menu > li > ul ul li{ margin:0; }

.atia-nav .atia-menu > li > ul > li:hover > ul,
.atia-nav .atia-menu > li > ul > li:focus-within > ul{ display:block; }

/* Le parent reste surligne tant que le curseur est dans son sous-menu. */
.atia-nav .atia-menu > li > ul > li:hover > a{ background:var(--wash); color:var(--navy); }

/* Chevron indiquant qu'une entree en ouvre une autre.
   Les deux selecteurs couvrent les menus rendus sans la classe de WordPress. */
.atia-nav .atia-menu > li > ul > li.menu-item-has-children > a,
.atia-nav .atia-menu > li > ul > li:has(> ul) > a{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.atia-nav .atia-menu > li > ul > li.menu-item-has-children > a::after,
.atia-nav .atia-menu > li > ul > li:has(> ul) > a::after{
  content:"\203A"; font-size:1.15em; line-height:1; color:var(--muted); flex:0 0 auto;
}
/* Pas de decalage au survol sur ces entrees : le chevron sauterait. */
.atia-nav .atia-menu > li > ul > li.menu-item-has-children > a:hover,
.atia-nav .atia-menu > li > ul > li:has(> ul) > a:hover{ padding-left:24px; }

/* Ouverture vers la gauche : ajouter la classe atia-sous-gauche a l'entree
   de deuxieme niveau dont le sous-menu deborderait a droite de l'ecran
   (Apparence > Menus, champ "Classes CSS"). */
.atia-nav .atia-menu > li > ul > li.atia-sous-gauche > ul{ left:auto; right:100%; margin:0 -1px 0 0; }

/* ---- Menu deroulant compact : le troisieme niveau s'imbrique ---- */
.atia-nav.open .atia-menu > li > ul ul{
  display:block; position:static; box-shadow:none; border:none;
  border-left:2px solid var(--rule); margin-left:20px; padding:0 0 6px;
  min-width:0; background:none;
}
.atia-nav.open .atia-menu > li > ul > li.menu-item-has-children > a::after,
.atia-nav.open .atia-menu > li > ul > li:has(> ul) > a::after{ content:none; }
.atia-nav.open .atia-menu > li > ul > li.menu-item-has-children > a,
.atia-nav.open .atia-menu > li > ul > li:has(> ul) > a{ display:block; }


/* ===============================================================
   PAGE D'ACCUEIL : largeur de contenu

   Pourquoi : le theme neutralise le conteneur d'Astra
   (.ast-container, #primary : max-width 100% !important), et ne
   recentre ensuite que .wp-block-group__inner-container. Or ce
   conteneur interne n'existe plus dans les groupes crees par les
   versions recentes de WordPress, qui utilisent a la place
   .is-layout-constrained. Un bloc ajoute aujourd'hui n'est donc
   contraint par rien et s'etale sur toute la largeur.
   =============================================================== */

/* 1. Un bloc pose directement dans la page, hors groupe, tient la
      largeur du site et garde la gouttiere laterale. */
.atia-front-content > :not(.wp-block-group):not(.wp-block-cover):not(.alignfull){
  max-width:var(--max-w);
  margin-left:auto; margin-right:auto;
  padding-left:32px; padding-right:32px;
}

/* 2. A l'interieur d'un groupe, quel que soit le balisage produit
      par l'editeur, le contenu se recentre. */
.atia-front-content .wp-block-group.is-layout-constrained > *,
.atia-front-content .wp-block-group__inner-container > *{
  max-width:var(--max-w);
  margin-left:auto; margin-right:auto;
}

/* 3. Sauf un bloc regle sur "Pleine largeur", qui reprend la main. */
.atia-front-content .wp-block-group.is-layout-constrained > .alignfull,
.atia-front-content .wp-block-group__inner-container > .alignfull,
.atia-front-content > .alignfull{
  max-width:none; margin-left:0; margin-right:0;
  padding-left:0; padding-right:0;
}

/* 4. Un bloc "Large" s'elargit sans aller jusqu'aux bords. */
.atia-front-content .wp-block-group.is-layout-constrained > .alignwide,
.atia-front-content .wp-block-group__inner-container > .alignwide,
.atia-front-content > .alignwide{
  max-width:1400px;
}

/* ---------------------------------------------------------------
   COLONNES : alignement vertical
   L'editeur pose la classe sur le bloc Colonnes, mais le decalage
   vient surtout de la marge haute du premier element de chaque
   colonne, differente selon qu'il s'agit d'un titre ou d'un
   paragraphe. On la remet a zero.
   --------------------------------------------------------------- */
.atia-front-content .wp-block-columns{ align-items:flex-start; }
.atia-front-content .wp-block-columns.are-vertically-aligned-center{ align-items:center; }
.atia-front-content .wp-block-columns.are-vertically-aligned-bottom{ align-items:flex-end; }
.atia-front-content .wp-block-column{ align-self:flex-start; }
.atia-front-content .wp-block-column.is-vertically-aligned-center{ align-self:center; }
.atia-front-content .wp-block-column.is-vertically-aligned-bottom{ align-self:flex-end; }
.atia-front-content .wp-block-column > :first-child{ margin-top:0; }
.atia-front-content .wp-block-column > :last-child{ margin-bottom:0; }

/* 5. Garde-fou : plus rien ne doit pouvoir elargir la page. */
.atia-front-content{ overflow-x:clip; }

/* ===============================================================
   6. RESPIRATION DES SECTIONS
   La regle d'origine,
       .atia-front-content .wp-block-group{padding:64px 32px;}
   vise TOUS les groupes, y compris ceux imbriques dans une colonne.
   Une colonne dont le contenu est enveloppe dans un Groupe recoit
   donc 64 px de retrait haut, l'autre non : d'ou le decalage.
   On reserve ce retrait aux sections de premier niveau.
   Un retrait defini dans l'editeur passe en style en ligne et
   continue de l'emporter sur ces regles.
   =============================================================== */
.atia-front-content .wp-block-group{ padding:0; }
.atia-front-content > .wp-block-group{ padding:64px 32px; }
.atia-front-content > .wp-block-cover{ padding-top:64px; padding-bottom:64px; }

/* Memes causes, memes effets pour les colonnes elles-memes. */
.atia-front-content .wp-block-column{ padding-top:0; margin-top:0; }

/* ===============================================================
 * styling du flux rss 
 * =============================================================== */
li.wp-block-rss__item {border: 1px solid var(--rule); padding: 20px;}

/* ===============================================================
   SOMMAIRE "SUR CETTE PAGE"
   Masque quand il est vide ou qu'il ne contient qu'une entree,
   avec recentrage du corps de page.

   Aucune retouche du gabarit. La logique est inversee : une seule
   colonne par defaut, et deux colonnes seulement si le sommaire
   contient au moins deux entrees. Ce test tient en un selecteur,
   li:nth-child(2), qui n'existe que s'il y a un second element.

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

/* Etat par defaut : une colonne, largeur de lecture, pas de sommaire. */
.atia-page-layout{
  grid-template-columns:minmax(0,1fr);
  max-width:860px;
}
.atia-page-layout .atia-toc{ display:none; }

/* Deux colonnes des que le sommaire a au moins deux entrees.
   Sous 1024 px la feuille d'origine masque deja le sommaire :
   on reste dans ses clous en bornant la regle. */
@media (min-width:1025px){
  .atia-page-layout:has(.atia-toc ul li:nth-child(2)){
    grid-template-columns:1fr 220px;
    max-width:var(--max-w);
  }
  .atia-page-layout:has(.atia-toc ul li:nth-child(2)) .atia-toc{ display:block; }
}

:root{
  --atia-logo-h:60px;   /* la hauteur du logo, en-tête et pied de page */
}

.atia-logo img.custom-logo,
.atia-footer-logo img.custom-logo{
  height:var(--atia-logo-h);
  width:auto;
  max-width:100%;
}
