/**
 * Styles du bloc "avosz/legal-informations", repris à l'identique de
 * l'ancien style.scss (bloc compilé), simplement aplati en CSS pur : aucune
 * étape de build n'est plus nécessaire (voir core/block.php).
 */

/* Couleurs pilotées par les variables CSS du thème (--wp--preset--color--*
   et --avosz-table-border-color), comme le tableau de tarifs plus bas :
   ça s'adapte automatiquement au mode nuit sans règle supplémentaire ici. */
.wp-block-avosz-legal-informations .avosz-legal-informations-big-title {
    color: var(--wp--preset--color--primary);
    font-size: 26pt;
    font-weight: bold;
    padding: 10px;
    background-color: var(--wp--preset--color--secondary);
    border: 2px solid var(--wp--preset--color--primary);
    text-align: center;
    border-radius: 5px;
    margin-bottom: 24px;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-logo-wrapper {
    display: flex;
    justify-content: center;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-logo-inside {
    max-width: 200px;
    width: 100%;
    height: auto;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-title-h2 {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 18px;
    margin-top: 0px;
    border-bottom: 2px solid var(--wp--preset--color--primary);
}

.wp-block-avosz-legal-informations .avosz-legal-informations-title-h3 {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 18px;
    margin-top: 0px;
    display: inline-block;
    border-bottom: 2px solid var(--wp--preset--color--primary);
    width: auto;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-legal-reference-box {
    padding: 0px 10px;
    background-color: var(--wp--preset--color--secondary);
    border: 1px solid var(--avosz-table-border-color);
    border-radius: 5px;
    color: var(--wp--preset--color--primary);
    font-style: italic;
    text-align: left;
}

/* .avosz-no-decoration (color: inherit / text-decoration: none) vit
   désormais dans le thème (style.css), pas ici : elle est aussi utilisée
   sur du contenu de page brut, en dehors de ce bloc, et doit donc être
   chargée sur toutes les pages, pas uniquement celles qui affichent le
   bloc legal-informations. */

.wp-block-avosz-legal-informations p {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 12px;
    margin-top: 0px;
}

.wp-block-avosz-legal-informations ul {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 12px;
    margin-top: 0px;
}

.wp-block-avosz-legal-informations ol {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 12px;
    margin-top: 0px;
}

/* Pricing table
   Couleurs pilotées par les variables CSS du thème (--wp--preset--color--*
   et --avosz-table-border-color) plutôt que par des teintes fixes : le
   thème réécrit déjà ces variables sous html[data-theme="dark"] (voir
   style.css du thème), donc le tableau s'adapte automatiquement au mode
   nuit sans règle supplémentaire ici.
   Les bordures utilisent --avosz-table-border-color, PAS
   --wp--preset--color--secondary : cette dernière sert aussi de fond aux
   lignes zébrées, et une bordure de la même teinte que le fond devient
   invisible. */
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper {
    border: 1px solid var(--avosz-table-border-color);
    border-radius: 8px;
    /* overflow-x: auto (et non overflow: hidden) : au-dessus de 700px, le
       tableau garde sa mise en page classique (pas de mode carte) mais
       ses colonnes ont une largeur naturelle qui peut dépasser le
       conteneur (fenêtre réduite, zoom arrière...). Avec overflow: hidden,
       ce dépassement était simplement rogné et la dernière colonne
       disparaissait. Avec overflow-x: auto, le tableau devient
       défilable horizontalement au lieu d'être coupé. */
    overflow-x: auto;
    /*
     * max-width: 100% et min-width: 0 - indispensables pour que
     * overflow-x: auto ci-dessus fonctionne comme prévu : sans eux, ce
     * wrapper (élément de bloc sans largeur propre) peut grandir jusqu'à
     * la largeur naturelle du tableau, "faisant éclater" la colonne de
     * contenu (mise en page en grille CSS - un piège CSS connu, la taille
     * "min-content" d'un enfant de grille dépasse par défaut la largeur de
     * sa piste). Défensif : garde le tableau proprement contenu quelle que
     * soit la largeur de page en vigueur - la largeur des 4 pages
     * publiques de ce bloc (CGV, notice de signature, mentions légales,
     * politique de confidentialité) est en réalité pilotée par le template
     * de page assigné à chacune (voir avosz-theme/templates/page-banner-title-wide.html
     * et son homonyme sans "-wide", ainsi que la cible Makefile
     * correspondante), pas par ce tableau.
     */
    max-width: 100%;
    min-width: 0;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-inside {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    color: var(--wp--preset--color--foreground);
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-inside thead th {
    font-weight: 700;
    padding: 10px 8px;
    background-color: var(--wp--preset--color--secondary);
    border-bottom: 1px solid var(--avosz-table-border-color);
    line-height: 1.3;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-inside tbody td {
    padding: 8px 8px;
    color: var(--wp--preset--color--foreground);
    line-height: 1.3;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-inside tbody tr:nth-child(odd) {
    background-color: var(--wp--preset--color--secondary);
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-inside tbody tr:not(:last-child) td {
    border-bottom: 1px solid var(--avosz-table-border-color);
}

.wp-block-avosz-legal-informations .avosz-legal-informations-col-left {
    text-align: left;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-col-center {
    text-align: center;
}

/* Mode carte (tableau -> liste de cartes empilées), piloté entièrement
   par JS (voir assets/js/legal-informations.js, ResizeObserver) via la
   classe .is-card-mode, posée dès que le tableau déborde réellement de
   son conteneur - quelle que soit la largeur du viewport (fenêtre Safari
   réduite en mode responsive, zoom arrière, libellés plus longs...). Pas
   de repli en media query : le JS s'exécute avant que le CSS de mise en
   page du tableau n'ait d'importance visuelle (mesure + classe posées au
   premier passage, avant peinture). */
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside,
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside *,
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside *::before {
    box-sizing: border-box;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside thead {
    display: none;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside,
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody,
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tr,
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside td {
    display: block;
    width: 100%;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody tr {
    padding: 12px 16px;
}

/* Bordure portée par la carte (tr), plus par chaque td */
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody tr:not(:last-child) td {
    border-bottom: none;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody tr:not(:last-child) {
    border-bottom: 1px solid var(--avosz-table-border-color);
}

/* Titre de carte */
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody td.avosz-legal-informations-col-left {
    display: block;
    font-weight: 700;
    text-align: left;
    padding: 4px 0 8px;
}

/* Lignes libellé / pointillés / valeur */
.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody td:not(.avosz-legal-informations-col-left) {
    display: flex;
    align-items: baseline;
    padding: 4px 0;
    white-space: nowrap;
    /* Alignement à GAUCHE (03/10/2026) : ces cellules portent la classe
       .avosz-legal-informations-col-center (valeurs centrées dans le
       tableau classique) - en mode carte, un libellé sur deux lignes
       (iPhone : "Vos dégrèvements de l'État", "Vos règlements pour
       l'École AVOSZ"...) avait ses lignes centrées, donc décalées par
       rapport aux autres libellés. */
    text-align: left;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody td:not(.avosz-legal-informations-col-left)::before {
    content: attr(data-label);
    white-space: normal;
    text-align: left;
    margin-right: 8px;
    order: 1;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-pricing-table-inside tbody td:not(.avosz-legal-informations-col-left)::after {
    content: '';
    flex: 1 1 auto;
    border-bottom: 1px dotted var(--avosz-table-border-color);
    margin: 0 8px 3px;
    min-width: 12px;
    order: 2;
}

.wp-block-avosz-legal-informations .avosz-legal-informations-pricing-table-wrapper.is-card-mode .avosz-legal-informations-value-text {
    order: 3;
    white-space: nowrap;
}


/* Renvois cliquables entre articles (07/10/2026) : ni couleur de lien, ni
   soulignement - seul le pointeur (main) signale le lien au survol.
   !important : l'emporte sur les styles de liens du thème. */
a.avosz-cgv-ref,
a.avosz-cgv-ref:link,
a.avosz-cgv-ref:visited,
a.avosz-cgv-ref:hover,
a.avosz-cgv-ref:focus,
a.avosz-cgv-ref:active {
	color: inherit !important;
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	background: none !important;
	cursor: pointer;
}

/* Signature du représentant + nom centré dessus (09/10/2026), voir aussi
   modules/esignature/core/pdf_template.php. */
.avosz-signature-block { position: relative; width: 220px; text-align: center; margin: 0; }
.avosz-signature-block img { display: inline-block; max-width: none; max-height: none; }
.avosz-signature-name {
	position: absolute; left: 0; top: 50%; margin: -8px 0 0 0; width: 220px;
	text-align: center; white-space: nowrap; font-size: 13px; line-height: 16px;
}
