/**
 * Styles pour le plugin Comarquage Service Public
 */

/* Importation de la police Roboto (comme fallback) */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

/* Variables globales */
:root {
    --comarquage-font-size-base: 16px;
    --comarquage-font-weight-normal: 400;
    --comarquage-font-weight-medium: 500;
    --comarquage-font-weight-bold: 700;
    --comarquage-line-height: 1.5;
    --comarquage-color-primary: #0053b3;
    --comarquage-color-text: inherit;
    --comarquage-color-muted: #666;
    --comarquage-spacing-base: 20px;
    --comarquage-color-secondary: #2196F3;
    --comarquage-color-info: #0277BD;
}

/* Conteneur principal */
.comarquage-fiche {
    /* Utiliser la police du thème, sinon Roboto */
    font-family: inherit, Roboto, sans-serif;
    /* Taille de texte standard */
    font-size: var(--comarquage-font-size-base);
    /* Épaisseur normale */
    font-weight: var(--comarquage-font-weight-normal);
    /* Utiliser la couleur du thème, sinon noir */
    color: var(--comarquage-color-text);
    line-height: var(--comarquage-line-height);
    margin: var(--comarquage-spacing-base) 0;
    padding: 0;
}

/* Contenu principal */
.comarquage-contenu {
    /* Hériter les styles de base du conteneur principal */
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
}

/* En-tête de fiche */
.comarquage-entete-fiche {
    margin-bottom: calc(var(--comarquage-spacing-base) * 2);
}

.comarquage-entete-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.comarquage-entete-type {
    display: inline-block;
    background-color: #f5f5f5;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 4px;
    text-transform: none;
}

.comarquage-entete-lien-origine {
    display: inline-block;
    background-color: #f5f5f5;
    color: #0053b3;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none;
}

.comarquage-entete-lien-origine:hover {
    text-decoration: underline;
}

.comarquage-entete-titre {
    font-size: 32px;
    font-weight: 700;
    color: var(--comarquage-color-primary);
    line-height: 1.3;
    margin: 0 0 16px 0;
    padding: 0;
}

.comarquage-entete-meta {
    font-size: 13px;
    color: #999;
    font-style: italic;
    line-height: 1.5;
    margin-bottom: calc(var(--comarquage-spacing-base) * 1.5);
}

.comarquage-entete-date {
    font-weight: 400;
}

.comarquage-entete-separateur {
    margin: 0 4px;
}

.comarquage-entete-contributeur {
    font-weight: 400;
}

/* En-tête */
.comarquage-header {
    margin-bottom: calc(var(--comarquage-spacing-base) * 1.5);
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: var(--comarquage-spacing-base);
}

.comarquage-titre-principal {
    font-size: 24px;
    font-weight: var(--comarquage-font-weight-bold);
    color: var(--comarquage-color-primary);
    margin: 0 0 10px 0;
    padding: 0;
    line-height: 1.2;
}

.comarquage-sous-titre {
    font-size: 18px;
    color: var(--comarquage-color-muted);
    margin: 0 0 15px 0;
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-surtitre {
    font-size: 14px;
    color: var(--comarquage-color-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-weight: var(--comarquage-font-weight-medium);
}

.comarquage-meta {
    font-size: 14px;
    color: var(--comarquage-color-muted);
    margin-top: 15px;
}

.comarquage-date-publication,
.comarquage-date-modification {
    margin-bottom: 5px;
}

.comarquage-label {
    font-weight: var(--comarquage-font-weight-medium);
}

/* Éléments de contenu */
.comarquage-introduction {
    margin-bottom: calc(var(--comarquage-spacing-base) * 1.5);
    font-size: var(--comarquage-font-size-base);
    line-height: var(--comarquage-line-height);
}

.comarquage-chapitre {
    margin: calc(var(--comarquage-spacing-base) * 1.5) 0;
}

.comarquage-chapitre-titre {
    font-size: 20px;
    font-weight: var(--comarquage-font-weight-bold);
    color: var(--comarquage-color-primary);
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.3;
}

.comarquage-chapitre-titre.niveau-2 {
    font-size: 18px;
    color: var(--comarquage-color-primary);
}

.comarquage-chapitre-titre.niveau-3 {
    font-size: 16px;
    color: var(--comarquage-color-primary);
}

.comarquage-paragraphe {
    margin: 15px 0;
    line-height: var(--comarquage-line-height);
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

/* Chapitres (accordéon) */
.comarquage-chapitre {
    margin: var(--comarquage-spacing-base) 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: visible;
}

.comarquage-chapitre-header {
    cursor: pointer;
    background-color: #f5f5f5;
    transition: background-color 0.3s;
    user-select: none; /* Empêcher la sélection de texte */
    width: 100%;
    text-align: left;
    border: none;
    padding: 0;
    display: block;
    font-family: inherit;
    font-size: inherit;
}

.comarquage-chapitre-header:hover {
    background-color: #e9e9e9;
}

.comarquage-chapitre-titre {
    margin: 0;
    padding: 15px;
    font-size: 18px;
    font-weight: var(--comarquage-font-weight-medium);
    color: var(--comarquage-color-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.comarquage-chapitre-titre-texte {
    flex-grow: 1;
}

/* Supprimer les marges et le padding des titres à l'intérieur de l'accordéon */
.comarquage-chapitre-titre-texte .comarquage-titre {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

/* Supprimer les marges des paragraphes dans les titres */
.comarquage-chapitre-titre-texte .comarquage-paragraphe {
    margin: 0;
    padding: 0;
}

.comarquage-chapitre-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    flex-shrink: 0;
}

.comarquage-chapitre-icon-plus,
.comarquage-chapitre-icon-minus {
    stroke: var(--comarquage-color-primary);
}

.comarquage-chapitre-icon-minus {
    display: none;
}

[data-accordion-trigger][aria-expanded="true"] .comarquage-chapitre-icon-plus {
    display: none;
}

[data-accordion-trigger][aria-expanded="true"] .comarquage-chapitre-icon-minus {
    display: block;
}

/* Styles pour le contenu de l'accordéon */
.comarquage-chapitre-contenu {
    padding: 0;
    max-height: 0;
    overflow: visible;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}

/* Styles pour le contenu ouvert */
[data-accordion-content][aria-hidden="false"] {
    padding: 15px;
    max-height: 2000px; /* Valeur suffisamment grande pour contenir tout le contenu */
    transition: max-height 0.5s ease-in, padding 0.3s ease-in;
}

/* Styles pour le contenu fermé */
[data-accordion-content][aria-hidden="true"] {
    padding: 0;
    max-height: 0;
    overflow: hidden;
}

/* Fallback pour les navigateurs sans JavaScript */
.comarquage-chapitre-header:focus + .comarquage-chapitre-contenu,
.comarquage-chapitre-header:active + .comarquage-chapitre-contenu {
    padding: 15px;
    max-height: 2000px;
}

/* Style spécifique pour l'accordéon ouvert */
.comarquage-chapitre-header[aria-expanded="true"] {
    background-color: #e0e0e0;
}

.comarquage-chapitre-header[aria-expanded="false"] + .comarquage-chapitre-contenu {
    padding: 0;
    max-height: 0;
    overflow: hidden;
}

.comarquage-chapitre-header[aria-expanded="true"] + .comarquage-chapitre-contenu {
    padding: 15px;
    max-height: 2000px;
}

/* Niveaux de chapitres */
.comarquage-chapitre-niveau-1 {
    margin-bottom: 20px;
}

.comarquage-chapitre-niveau-2 {
    margin-bottom: 15px;
}

.comarquage-chapitre-niveau-3 {
    margin-bottom: 10px;
}

/* Styles imbriqués */
.comarquage-chapitre .comarquage-chapitre {
    margin: 10px 0;
    border: none;
    border-left: 3px solid #e0e0e0;
    border-radius: 0;
}

.comarquage-chapitre .comarquage-chapitre .comarquage-chapitre-header {
    background-color: transparent;
}

/* Listes */
.comarquage-liste {
    margin: var(--comarquage-spacing-base) 0;
    padding-left: 2em;
}

.comarquage-liste-puces {
    list-style-type: disc;
}

.comarquage-liste-puces .comarquage-liste-puces {
    list-style-type: circle;
}

.comarquage-liste-puces .comarquage-liste-puces .comarquage-liste-puces {
    list-style-type: square;
}

.comarquage-liste-numerotee {
    list-style-type: decimal;
}

.comarquage-liste-numerotee .comarquage-liste-numerotee {
    list-style-type: lower-alpha;
}

.comarquage-liste-numerotee .comarquage-liste-numerotee .comarquage-liste-numerotee {
    list-style-type: lower-roman;
}

.comarquage-liste-item {
    margin-bottom: 0.5em;
}

.comarquage-liste-item:last-child {
    margin-bottom: 0;
}

.comarquage-liste-item p {
    margin: 0;
}

.comarquage-liste-item p + p {
    margin-top: 0.5em;
}

/* Tableaux */
.comarquage-tableau {
    width: 100%;
    border-collapse: collapse;
    margin: var(--comarquage-spacing-base) 0;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-tableau-titre {
    font-weight: var(--comarquage-font-weight-medium);
    margin-bottom: 10px;
}

.comarquage-tableau-ligne {
    border-bottom: 1px solid #ddd;
}

.comarquage-tableau-cellule {
    padding: 10px;
    border: 1px solid #ddd;
}

/* Éléments spéciaux */
.comarquage-mise-en-evidence {
    font-weight: var(--comarquage-font-weight-bold);
}

.comarquage-anoter,
.comarquage-rappel,
.comarquage-attention,
.comarquage-asavoir {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    border-radius: 4px;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-anoter {
    position: relative;
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px 15px 15px 25px;
    border-left: 4px solid #4666E5;
    background-color: #f8f9fa;
}

.comarquage-anoter::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: #4666E5;
}

.comarquage-anoter-titre {
    font-weight: var(--comarquage-font-weight-medium);
    margin-bottom: 10px;
    color: #000;
    font-size: var(--comarquage-font-size-base);
}

.comarquage-anoter-contenu {
    color: inherit;
}

.comarquage-asavoir {
    background-color: #e7f5fe;
    border-left: 4px solid #2196F3;
    position: relative;
}

.comarquage-asavoir-titre {
    font-weight: var(--comarquage-font-weight-medium);
    margin-bottom: 10px;
    color: #0277BD;
    font-size: var(--comarquage-font-size-base);
}

.comarquage-asavoir-contenu {
    color: inherit;
}

.comarquage-rappel {
    background-color: #dff0d8;
    border-left: 4px solid #5cb85c;
}

.comarquage-attention {
    background-color: #fcf8e3;
    border-left: 4px solid #f0ad4e;
}

.comarquage-anoter-titre,
.comarquage-rappel-titre,
.comarquage-attention-titre {
    font-weight: var(--comarquage-font-weight-medium);
    margin-bottom: 10px;
}

/* Liens */
.comarquage-lien {
    color: var(--comarquage-color-primary);
    text-decoration: underline;
}

.comarquage-lien:hover {
    text-decoration: none;
}

/* Liens intra */
.comarquage-lienintra {
    position: relative;
    border-bottom: 1px dotted var(--comarquage-color-primary);
    cursor: help;
    display: inline-block;
}

.comarquage-lienintra-glossaire {
    color: var(--comarquage-color-primary);
}

.comarquage-lienintra-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    max-width: 90vw;
    background-color: white;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    padding: 10px;
    margin-bottom: 8px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    pointer-events: none;
}

.comarquage-lienintra-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: white transparent transparent transparent;
}

.comarquage-lienintra:hover .comarquage-lienintra-tooltip,
.comarquage-lienintra:focus .comarquage-lienintra-tooltip {
    opacity: 1;
    visibility: visible;
}

.comarquage-lienintra-tooltip-contenu {
    font-size: 14px;
    line-height: 1.4;
    color: #333;
}

.comarquage-lienintra-tooltip-chargement {
    display: inline-block;
    font-style: italic;
    color: #666;
}

/* Liens internes */
.comarquage-lieninterne {
    position: relative;
    border-bottom: 1px dotted var(--comarquage-color-primary);
    cursor: help;
    display: inline-block;
}

.comarquage-lieninterne-sigle {
    color: var(--comarquage-color-primary);
}

.comarquage-lieninterne-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    max-width: 90vw;
    background-color: white;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    padding: 10px;
    margin-bottom: 8px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    pointer-events: none;
}

.comarquage-lieninterne-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: white transparent transparent transparent;
}

.comarquage-lieninterne:hover .comarquage-lieninterne-tooltip,
.comarquage-lieninterne:focus .comarquage-lieninterne-tooltip {
    opacity: 1;
    visibility: visible;
}

.comarquage-lieninterne-tooltip-contenu {
    font-size: 14px;
    line-height: 1.4;
    color: #333;
}

.comarquage-lieninterne-tooltip-chargement {
    display: inline-block;
    font-style: italic;
    color: #666;
}

/* Services en ligne */
.comarquage-serviceenligne {
    margin: 0 0 12px 0;
    padding: 0;
}

.comarquage-serviceenligne:last-child {
    margin-bottom: 0;
}

.comarquage-serviceenligne-ligne {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.comarquage-serviceenligne-icon {
    width: 16px;
    height: 16px;
    color: #0053b3;
    flex-shrink: 0;
    margin-top: 2px;
}

.comarquage-serviceenligne-lien {
    color: #0053b3;
    text-decoration: underline;
    font-weight: 400;
    font-size: 16px;
}

.comarquage-serviceenligne-lien:hover {
    text-decoration: none;
}

.comarquage-serviceenligne-titre {
    font-weight: 400;
    font-size: 16px;
    color: #161616;
}

.comarquage-serviceenligne-type {
    font-size: 14px;
    color: #666;
    flex-shrink: 0;
    margin-left: auto;
}

.comarquage-serviceenligne-bouton {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background-color: var(--comarquage-color-primary);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: var(--comarquage-font-weight-medium);
    transition: background-color 0.3s;
}

.comarquage-serviceenligne-bouton:hover {
    background-color: #003f8a;
    text-decoration: none;
    color: #fff;
}

.comarquage-serviceenligne-bouton:focus {
    outline: 2px solid #0053b3;
    outline-offset: 2px;
    color: #fff;
}

.comarquage-serviceenligne-bouton-contenu {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.comarquage-serviceenligne-bouton-texte {
    flex-grow: 1;
}

.comarquage-serviceenligne-bouton-franceconnect {
    font-size: 12px;
    opacity: 0.9;
    margin-top: 4px;
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-serviceenligne-bouton-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
}

.comarquage-serviceenligne-bouton-icone svg {
    stroke: #fff;
}

.comarquage-serviceenligne-plus {
    margin-top: 10px;
}

.comarquage-serviceenligne-bouton-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    background-color: #f5f5f5;
    color: var(--comarquage-color-text);
    text-decoration: none;
    border-radius: 4px;
    font-weight: var(--comarquage-font-weight-medium);
    transition: background-color 0.3s;
    font-size: 14px;
    border: 1px solid #ddd;
}

.comarquage-serviceenligne-bouton-info:hover {
    background-color: #e9e9e9;
    text-decoration: none;
    color: var(--comarquage-color-text);
}

.comarquage-serviceenligne-bouton-info:focus {
    outline: 2px solid #0053b3;
    outline-offset: 2px;
}

.comarquage-serviceenligne-bouton-info .comarquage-serviceenligne-bouton-icone svg {
    stroke: var(--comarquage-color-text);
}

.comarquage-serviceenligne-meta {
    margin-top: 10px;
    font-size: 14px;
    color: var(--comarquage-color-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.comarquage-serviceenligne-type,
.comarquage-serviceenligne-audience {
    display: inline-block;
    padding: 2px 8px;
    background-color: #e9f7fe;
    border-radius: 3px;
    color: #495057;
}

/* Où s'adresser */
.comarquage-ousadresser {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 4px;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-ousadresser-titre {
    font-weight: var(--comarquage-font-weight-medium);
    margin-bottom: 10px;
    font-size: 18px;
    color: var(--comarquage-color-primary);
}

.comarquage-ousadresser-type {
    margin-bottom: 15px;
    font-weight: var(--comarquage-font-weight-medium);
}

.comarquage-ousadresser-bouton {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background-color: var(--comarquage-color-primary);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: var(--comarquage-font-weight-medium);
    transition: background-color 0.3s;
}

.comarquage-ousadresser-bouton:hover {
    background-color: #003f8a;
    text-decoration: none;
    color: #fff;
}

.comarquage-ousadresser-bouton:focus {
    outline: 2px solid #0053b3;
    outline-offset: 2px;
    color: #fff;
}

.comarquage-ousadresser-bouton-texte {
    flex-grow: 1;
}

.comarquage-ousadresser-bouton-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
}

.comarquage-ousadresser-bouton-icone svg {
    stroke: #fff;
}

/* Styles pour le débogage */
.comarquage-debug {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    background-color: #d1ecf1;
    border: 1px solid #bee5eb;
    border-radius: 4px;
    color: #0c5460;
}

.comarquage-debug h2 {
    margin-top: 0;
    color: #343a40;
    font-size: 1.2em;
}

.comarquage-debug pre {
    background-color: #f1f1f1;
    padding: 10px;
    border-radius: 4px;
    overflow: auto;
    max-height: 300px;
    margin-bottom: 10px;
}

/* Styles pour les éléments de débogage */
.comarquage-debug-elements {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    background-color: #e9f7fe;
    border: 1px solid #b8e2f2;
    border-radius: 4px;
}

.comarquage-debug-elements h3 {
    margin-top: 0;
    color: #0c5460;
    font-size: 1.1em;
    border-bottom: 1px solid #b8e2f2;
    padding-bottom: 8px;
}

.comarquage-debug-element {
    margin: 15px 0;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #d1ecf1;
    border-radius: 4px;
}

.comarquage-debug-element h4 {
    margin-top: 0;
    color: #0c5460;
    font-size: 1em;
    border-bottom: 1px dashed #d1ecf1;
    padding-bottom: 5px;
}

.comarquage-debug-element pre {
    background-color: #f8f9fa;
    padding: 8px;
    border-radius: 3px;
    overflow: auto;
    max-height: 200px;
    font-size: 0.9em;
}

/* Styles pour les onglets (ListeSituations avec affichage="onglet") */
.comarquage-tabs {
    margin: var(--comarquage-spacing-base) 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: visible;
}

.comarquage-tabs-nav {
    display: flex;
    background-color: #f8f9fa;
    border-bottom: 1px solid #ddd;
}

.comarquage-tab-button {
    padding: 12px 20px;
    background: none;
    border: none;
    border-right: 1px solid #ddd;
    cursor: pointer;
    font-weight: var(--comarquage-font-weight-medium);
    color: inherit;
    transition: background-color 0.3s, color 0.3s;
    white-space: nowrap;
}

.comarquage-tab-button:hover {
    background-color: #e9ecef;
}

.comarquage-tab-button.active {
    background-color: #fff;
    color: var(--comarquage-color-primary);
    border-bottom: 3px solid var(--comarquage-color-primary);
    margin-bottom: -1px;
}

.comarquage-tabs-content {
    padding: var(--comarquage-spacing-base);
    background-color: #fff;
}

.comarquage-tab-content {
    display: none;
}

.comarquage-tab-content.active {
    display: block;
}

/* Styles pour BlocCas */
.comarquage-bloccas {
    margin: var(--comarquage-spacing-base) 0;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-bloccas-intro {
    margin-bottom: 15px;
}

/* Styles pour les options radio */
.comarquage-radio-options {
    margin-bottom: var(--comarquage-spacing-base);
}

.comarquage-radio-option {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.comarquage-radio-option-content {
    display: flex;
    align-items: center;
}

.comarquage-radio-label {
    margin-left: 8px;
    font-weight: var(--comarquage-font-weight-bold);
}

/* Style pour le bouton de retour */
.comarquage-radio-back {
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    width: 32px;
    height: 32px;
    padding: 4px;
}

.comarquage-radio-back:hover {
    background-color: #f0f0f0;
}

.comarquage-radio-back svg {
    width: 24px;
    height: 24px;
    fill: #666;
}

.comarquage-radio-back:hover svg {
    fill: #333;
}

/* Style pour le contenu des options radio */
.comarquage-radio-content {
    display: none;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #f9f9f9;
    margin-bottom: var(--comarquage-spacing-base);
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-radio-content.active {
    display: block;
}

.comarquage-bloccas-radio .comarquage-bloccas-item {
    margin-bottom: 30px;
}

.comarquage-bloccas-radio .comarquage-bloccas-item:last-child {
    margin-bottom: 0;
}

/* Style pour Cas */
.comarquage-cas {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 4px;
    border-left: 4px solid #9e9e9e;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-cas-titre {
    font-size: 18px;
    font-weight: var(--comarquage-font-weight-medium);
    margin-top: 0;
    margin-bottom: 15px;
    color: #424242;
}

.comarquage-cas-contenu {
    color: inherit;
}

/* Style pour PivotLocal */
.comarquage-pivot-local {
    font-style: italic;
    color: var(--comarquage-color-muted);
    margin: 10px 0;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

/* Style pour Complement */
.comarquage-complement {
    font-size: 14px;
    color: var(--comarquage-color-muted);
    margin: 10px 0;
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 4px;
}

/* Styles pour ListeSituations en mode standard */
.comarquage-situation {
    margin-bottom: 30px;
    padding-bottom: var(--comarquage-spacing-base);
    border-bottom: 1px solid #eee;
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

.comarquage-situation:last-child {
    border-bottom: none;
}

.comarquage-situation-titre {
    font-size: 20px;
    margin-bottom: 15px;
    color: var(--comarquage-color-primary);
    font-weight: var(--comarquage-font-weight-medium);
}

.comarquage-situation-contenu {
    color: inherit;
}

/* Style pour le message de bienvenue dans les situations */
.comarquage-situation-bienvenue {
    margin-bottom: var(--comarquage-spacing-base);
    padding: 10px;
    background-color: #f0f7ff;
    border-radius: 4px;
    border-left: 4px solid var(--comarquage-color-primary);
    font-size: var(--comarquage-font-size-base);
    font-weight: var(--comarquage-font-weight-normal);
}

/* Responsive */
@media screen and (max-width: 768px) {
    .comarquage-titre-principal {
        font-size: 22px;
    }
    
    .comarquage-sous-titre {
        font-size: 16px;
    }
    
    .comarquage-chapitre-titre {
        font-size: 18px;
    }
    
    .comarquage-chapitre-titre.niveau-2 {
        font-size: 16px;
    }
    
    .comarquage-chapitre-titre.niveau-3 {
        font-size: 14px;
    }
}

/* Bloc À noter */
.comarquage-anoter {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    background-color: #f8f9fa;
    border-left: 4px solid var(--comarquage-color-secondary);
    border-radius: 4px;
}

.comarquage-anoter-titre {
    font-weight: var(--comarquage-font-weight-bold);
    margin-bottom: 10px;
    color: var(--comarquage-color-secondary);
}

.comarquage-anoter-contenu {
    color: var(--comarquage-color-text);
}

.comarquage-anoter-contenu p:last-child {
    margin-bottom: 0;
}

/* Bloc À savoir */
.comarquage-asavoir {
    margin: var(--comarquage-spacing-base) 0;
    padding: 15px;
    background-color: #f0f7fb;
    border-left: 4px solid var(--comarquage-color-info);
    border-radius: 4px;
}

.comarquage-asavoir-titre {
    font-weight: var(--comarquage-font-weight-bold);
    margin-bottom: 10px;
    color: var(--comarquage-color-info);
}

.comarquage-asavoir-contenu {
    color: var(--comarquage-color-text);
}

.comarquage-asavoir-contenu p:last-child {
    margin-bottom: 0;
}

/* Bloc Voir aussi */
.comarquage-voiraussi {
    margin: calc(var(--comarquage-spacing-base) * 2) 0;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

.comarquage-voiraussi-titre {
    font-size: 20px;
    font-weight: 700;
    color: var(--comarquage-color-primary);
    margin: 0 0 16px 0;
    padding: 0;
}

.comarquage-voiraussi-liste {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comarquage-voiraussi-item {
    margin: 0 0 12px 0;
    padding: 0;
}

.comarquage-voiraussi-item:last-child {
    margin-bottom: 0;
}

.comarquage-voiraussi-lien {
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: var(--comarquage-color-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.comarquage-voiraussi-lien:hover {
    color: var(--comarquage-color-secondary);
    text-decoration: underline;
}

.comarquage-voiraussi-type {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #666;
    background-color: #e0e0e0;
    padding: 2px 8px;
    border-radius: 3px;
    text-transform: uppercase;
    flex-shrink: 0;
}

.comarquage-voiraussi-titre-item {
    font-size: 16px;
    font-weight: 500;
}

/* Sections de fin de fiche - Wrapper global */
.comarquage-fin-fiche-section {
    margin: 10px 0;
    background-color: #fff;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 0;
}

.comarquage-fin-fiche-titre {
    font-size: 20px;
    font-weight: 700;
    color: #000091;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: none;
    border: none;
    text-align: left;
    cursor: default;
}

/* Titre en mode accordéon (bouton cliquable) */
.comarquage-fin-fiche-section[data-accordion] .comarquage-fin-fiche-titre {
    cursor: pointer;
    padding: 16px 20px;
    border-bottom: none;
    margin: 0;
    width: 100%;
}

.comarquage-fin-fiche-section[data-accordion] .comarquage-fin-fiche-titre:hover {
    background-color: rgba(0, 0, 145, 0.03);
}

.comarquage-fin-fiche-titre-texte {
    display: flex;
    align-items: center;
    gap: 10px;
}

.comarquage-fin-fiche-titre .comarquage-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Toggle icons pour accordéon */
.comarquage-fin-fiche-toggle {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.comarquage-fin-fiche-icon-down,
.comarquage-fin-fiche-icon-up {
    width: 20px;
    height: 20px;
    color: #000091;
}

/* Afficher la flèche vers le bas par défaut */
.comarquage-fin-fiche-icon-down {
    display: block;
}

.comarquage-fin-fiche-icon-up {
    display: none;
}

/* Inverser les flèches quand l'accordéon est ouvert */
.comarquage-fin-fiche-titre[aria-expanded="true"] .comarquage-fin-fiche-icon-down {
    display: none;
}

.comarquage-fin-fiche-titre[aria-expanded="true"] .comarquage-fin-fiche-icon-up {
    display: block;
}

/* Contenu de la section */
.comarquage-fin-fiche-contenu {
    padding: 20px;
}

/* Contenu pour section non-accordéon (Qui peut m'aider) */
.comarquage-fin-fiche-section:not([data-accordion]) .comarquage-fin-fiche-contenu {
    padding-top: 0;
}

/* Contenu accordéon caché par défaut */
.comarquage-fin-fiche-section[data-accordion] .comarquage-fin-fiche-contenu[aria-hidden="true"] {
    display: none;
}

.comarquage-fin-fiche-section[data-accordion] .comarquage-fin-fiche-contenu[aria-hidden="false"] {
    display: block;
}

/* Bloc Qui peut m'aider - Items individuels */
.comarquage-quipeutmaider-item {
    margin: 0 0 20px 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background-color: transparent;
}

.comarquage-quipeutmaider-item:last-child {
    margin-bottom: 0;
}

.comarquage-quipeutmaider-titre {
    font-size: 18px;
    font-weight: 700;
    color: #e1000f;
    margin: 0 0 8px 0;
    padding: 25px 0 10px;
    border-bottom: 1px solid #e1000f;
}

.comarquage-quipeutmaider-complement {
    font-size: 14px;
    color: #666;
    margin: 0 0 12px 0;
    font-style: italic;
}

.comarquage-quipeutmaider-texte {
    margin: 12px 0;
}

/* Chapitres (sous-accordéons) dans QuiPeutMAider */
.comarquage-quipeutmaider-texte .comarquage-chapitre {
    margin: 8px 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background-color: #fff;
}

.comarquage-quipeutmaider-texte .comarquage-chapitre-titre {
    font-size: 16px;
    font-weight: 600;
    color: #e1000f;

    padding: 10px 15px;
    margin: 0;
}

.comarquage-quipeutmaider-texte .comarquage-chapitre-contenu {
    padding: 10px 15px;
    font-size: 14px;
}

/* Liens en rouge dans QuiPeutMAider */
.comarquage-quipeutmaider-texte a {
    color: #e1000f;
    text-decoration: underline;
}

.comarquage-quipeutmaider-texte a:hover {
    color: #b3000c;
}

.comarquage-quipeutmaider-lien {
    text-align: center;
    margin-top: 15px;
}

/* Section Reference - Styles pour les références légales */
.comarquage-reference {
    margin: 0 0 12px 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.comarquage-reference:last-child {
    margin-bottom: 0;
}

.comarquage-reference-icon {
    width: 16px;
    height: 16px;
    color: #0053b3;
    flex-shrink: 0;
    margin-top: 2px;
}

.comarquage-reference-contenu {
    flex: 1;
}

.comarquage-reference-ligne {
    display: flex;
    align-items: baseline;
    gap: 5px;
    flex-wrap: wrap;
}

.comarquage-reference-lien {
    color: #0053b3;
    text-decoration: underline;
    font-weight: 400;
    font-size: 16px;
}

.comarquage-reference-lien:hover {
    text-decoration: none;
}

.comarquage-reference-titre {
    font-weight: 400;
    font-size: 16px;
    color: #161616;
}

.comarquage-reference-complement {
    font-size: 14px;
    color: #666;
    margin-top: 3px;
}

.comarquage-reference-info {
    font-size: 14px;
    color: #666;
    white-space: nowrap;
}

/* Section PourEnSavoirPlus - Styles identiques à Reference */
.comarquage-pourensavoirplus {
    margin: 0 0 12px 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.comarquage-pourensavoirplus:last-child {
    margin-bottom: 0;
}

.comarquage-pourensavoirplus-icon {
    width: 16px;
    height: 16px;
    color: #0053b3;
    flex-shrink: 0;
    margin-top: 2px;
}

.comarquage-pourensavoirplus-lien {
    color: #0053b3;
    text-decoration: underline;
    font-weight: 400;
    font-size: 16px;
}

.comarquage-pourensavoirplus-lien:hover {
    text-decoration: none;
}

.comarquage-pourensavoirplus-titre {
    font-weight: 400;
    font-size: 16px;
    color: #161616;
}

/* Section QuestionReponse - Styles identiques à Reference */
.comarquage-questionreponse {
    margin: 0 0 12px 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.comarquage-questionreponse:last-child {
    margin-bottom: 0;
}

.comarquage-questionreponse-icon {
    width: 16px;
    height: 16px;
    color: #0053b3;
    flex-shrink: 0;
    margin-top: 2px;
}

.comarquage-questionreponse-lien {
    color: #0053b3;
    text-decoration: underline;
    font-weight: 400;
    font-size: 16px;
}

.comarquage-questionreponse-lien:hover {
    text-decoration: none;
}

.comarquage-questionreponse-titre {
    font-weight: 400;
    font-size: 16px;
    color: #161616;
}

/* Sections de fin de fiche - Style spécial pour "Qui peut m'aider ?" */
.comarquage-section-quipeutmaider {
    background-color: rgba(225, 0, 15, 0.03); /* Rouge transparent à 3% */
}

.comarquage-section-quipeutmaider .comarquage-fin-fiche-titre {
    color: #e1000f;
    padding: 16px 20px;
    margin-bottom: 0;
    justify-content: flex-start;
}

.comarquage-btn {
    display: inline-block;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
}

.comarquage-btn-primary {
    background-color: var(--comarquage-color-primary);
    color: #fff;
}

.comarquage-btn-primary:hover {
    background-color: var(--comarquage-color-secondary);
    color: #fff;
    text-decoration: none;
}

.comarquage-btn-rouge {
    background-color: #e1000f;
    color: #fff;
}

.comarquage-btn-rouge:hover {
    background-color: #b3000c;
    color: #fff;
    text-decoration: none;
}
