/*
Theme Name: Le Souffle du Tao
Theme URI: https://taichichuan06.com
Author: Association Le Souffle du Tao
Description: Thème reproduisant la mise en page « Encre et mouvement » du site taichichuan06.com : bandeau photo avec yin-yang, colonne latérale (prochain cours, dernière communication, contact, documents), pied de page à quatre colonnes.
Version: 1.11.3
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: souffle-du-tao
*/

/* La feuille de style du site est chargée telle quelle (assets/css/variante.css).
   Ci-dessous : uniquement les ajustements propres à WordPress. */

/* Contenu Gutenberg dans la colonne de texte */
.texte .wp-block-image img, .texte img { max-width: 100%; height: auto; }
.texte .wp-block-image.alignleft, .texte img.alignleft { float: left; margin: 0.3rem 1.2rem 0.6rem 0; }
.texte .wp-block-image.alignright, .texte img.alignright { float: right; margin: 0.3rem 0 0.6rem 1.2rem; }
.texte .aligncenter { display: block; margin: 0.8rem auto; }
.texte .wp-block-quote { margin: 1rem 0; padding: 0.4rem 1.2rem; border-left: 3px solid var(--jade-sombre); color: var(--sourd); }
.texte .wp-block-table table { border-collapse: collapse; }
.texte .wp-block-table td, .texte .wp-block-table th { border: 1px solid var(--trait); padding: 0.3rem 0.6rem; }
.texte .wp-block-buttons .wp-block-button__link { font: 600 0.95rem var(--sans); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Liste des communications (page des articles) */
.communication__lire { font: 600 0.9rem var(--sans); }
.navigation-pagination { display: flex; justify-content: space-between; margin: 2rem 0; font: 600 0.95rem var(--sans); }

/* Menu WordPress : mêmes classes que le site */
.navigation ul.menu { list-style: none; }
/* Sous-menus (Documentations → sections) : liste déroulante au survol ou au clavier */
.navigation li { position: relative; }
.navigation .sub-menu { display: none; position: absolute; top: 100%; left: -0.8rem; z-index: 20; min-width: 14rem;
  flex-direction: column; gap: 0; padding: 0.4rem 0.8rem; background: var(--surface-haute, #f7f8f2); border: 1px solid var(--trait, #cfd4c2);
  border-radius: 4px; box-shadow: 0 10px 24px rgba(0,0,0,.12); }
.navigation li:hover > .sub-menu, .navigation li:focus-within > .sub-menu { display: flex; }
.navigation .sub-menu a { display: block; white-space: nowrap; padding: 0.35rem 0; }
.navigation .menu-item-has-children > a::before { content: "▾"; position: absolute; right: -0.85rem; top: 0.45rem; font-size: 0.7em; color: var(--jade, #4e5e17); }
.navigation .current-menu-ancestor > a { color: var(--texte); }
.navigation .current-menu-ancestor > a::after { right: 0; }
@media (max-width: 40rem) {
  .navigation .sub-menu { display: flex; position: static; box-shadow: none; border: 0; background: none; padding: 0 0 0 1rem; min-width: 0; }
  .navigation .menu-item-has-children > a::before { display: none; }
}

/* Communication ouverte depuis un lien : mise en évidence brève */
.communication--cible { box-shadow: 0 0 0 3px var(--jade-sombre); transition: box-shadow 1.5s ease 2s; }
.communication__titre a { color: inherit; text-decoration: none; }
.communication__titre a:hover { color: var(--jade); }
.communication { scroll-margin-top: 8rem; }

/* Stages : compteur d'inscrits et clôture */
.stage__inscription { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.stage__inscrits { font: 600 0.9rem var(--sans); color: var(--jade); }
.stage__inscrits::before { content: "●"; margin-right: 0.4rem; font-size: 0.7em; vertical-align: middle; }
.stage__cloture { display: inline-block; padding: 0.55rem 1.2rem; border-radius: 999px; border: 1px solid var(--trait); background: var(--surface); font: 600 0.9rem var(--sans); color: var(--sourd); }
.dialogue__demi { margin: 0 0 1rem; padding: 0.6rem 1rem 0.4rem; border: 1px solid var(--trait); border-radius: 3px; }
.dialogue__demi legend { font: 600 0.9rem var(--sans); color: var(--jade); padding: 0 0.3rem; }
.dialogue__demi .choix { margin: 0.25rem 0; }

/* Prochain cours : arrêt, reprise, prochain stage */
.prochain__arret { margin: 0 0 .6rem; padding: .45rem .6rem; border-radius: 4px; background: rgba(168,40,28,.08); color: var(--cinabre, #a8281c); font: 600 .85rem var(--sans); line-height: 1.35; }
.prochain__reprise { margin: 0; font: 600 .75rem var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--sourd); }
.prochain__stage { margin-top: .9rem; padding-top: .7rem; border-top: 1px dashed var(--trait); }
.prochain__stage h3 { margin: 0 0 .25rem; font: 600 .75rem var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--texte); }
.prochain__stage p { margin: 0 0 .2rem; }
.prochain__stage a { font: 600 1rem var(--sans); }
.prochain__stage-dates { font-size: .9rem; color: var(--sourd); }
.prochain__stage-insc { display: inline-block; margin-left: .3rem; padding: .05rem .5rem; border-radius: 999px; background: var(--jade); color: #fff; font: 600 .68rem var(--sans); letter-spacing: .04em; }
/* Tenue actuelle */
.tenue__corps { display: flex; gap: 1rem; align-items: center; }
.tenue__figure { flex: none; width: 4.6rem; height: auto; }
.tenue__peau { fill: #e6c9a8; }
.tenue__bas, .tenue__ceinture, .tenue__chaussures { fill: #1f1d1b; }
.tenue__ceinture { fill: #3b3733; }
.tenue__haut { stroke: #1f1d1b; stroke-width: 1.2; stroke-linejoin: round; }
.tenue__boutons path { fill: none; stroke-width: 2.2; stroke-linecap: round; }
.tenue--hiver .tenue__haut { fill: #1f1d1b; stroke: #1f1d1b; }
.tenue--hiver .tenue__col { fill: #2e2a27; }
.tenue--hiver .tenue__boutons path { stroke: #d9d4c7; }
.tenue--ete .tenue__haut { fill: #fbfaf5; stroke: #9a9588; }
.tenue--ete .tenue__col { fill: #f0eee6; }
.tenue--ete .tenue__boutons path { stroke: #5e5a52; }
.tenue__saison { margin: 0; font: 600 .75rem var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--jade); }
.tenue__texte { margin: .15rem 0; font: 600 1rem var(--sans); color: var(--texte); }
.tenue__periode { margin: 0; font-size: .88rem; color: var(--sourd); }

/* Prochain(s) événement(s) */
.prochain__ev--suite { margin-top: .8rem; padding-top: .7rem; border-top: 1px dashed var(--trait); }
.prochain__type { margin: 0 0 .15rem; font: 600 .7rem var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--sourd); }
.prochain__ev--stage .prochain__type { color: var(--jade); }
.prochain__ev--arret .prochain__type { color: var(--cinabre, #a8281c); }
.prochain__ev--stage .prochain__quand a { font: 600 1.05rem var(--sans); }
.prochain__ev .prochain__arret { margin: 0; }
