.elementor-23065 .elementor-element.elementor-element-0f9231a{--display:flex;}.elementor-23065 .elementor-element.elementor-element-0f9231a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );word-spacing:var( --e-global-typography-text-word-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-23065 .elementor-element.elementor-element-eaa1c55{--display:flex;}@media(min-width:768px){.elementor-23065 .elementor-element.elementor-element-0f9231a{--width:76.27%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS *//* === VARIABLES CSS === */
:root {
    --givre-primary: #1a3a5c;
    --givre-secondary: #4a7c9b;
    --givre-accent: #8b1e3f;
    --givre-warm: #c44536;
    --givre-gold: #d4a03a;
    --givre-ice: #e8f4f8;
    --givre-parchment: #f5f0e6;
    --givre-dark: #1a1a2e;
    --givre-text: #2c2c2c;
    --givre-mj-bg: #2d3748;
    --givre-player-bg: #f7fafc;
    --givre-stat-bg: #edf2f7;
}

/* === CONTENEUR PRINCIPAL === */
.givre-scenario {
    font-family: 'Lora', 'Georgia', serif;
    font-size: 16px;
    line-height: 1.7;
    color: var(--givre-text);
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

/* === TITRES === */
.givre-scenario h1 {
    font-family: 'Poppins', 'Arial', sans-serif;
    font-size: 2em;
    font-weight: 700;
    color: var(--givre-primary);
    margin: 1.5em 0 0.5em 0;
    padding-bottom: 0.3em;
    border-bottom: 2px solid var(--givre-ice);
}

.givre-scenario h2 {
    font-family: 'Poppins', 'Arial', sans-serif;
    font-size: 1.5em;
    font-weight: 600;
    color: var(--givre-secondary);
    margin: 1.2em 0 0.4em 0;
}

.givre-scenario h3 {
    font-family: 'Poppins', 'Arial', sans-serif;
    font-size: 1.2em;
    font-weight: 600;
    color: var(--givre-accent);
    margin: 1em 0 0.3em 0;
}

.givre-scenario h4 {
    font-family: 'Poppins', 'Arial', sans-serif;
    font-size: 1.05em;
    font-weight: 600;
    color: var(--givre-dark);
    margin: 0.8em 0 0.2em 0;
}

/* === PARAGRAPHES === */
.givre-scenario p {
    margin: 0.5em 0;
    text-align: justify;
}

.givre-scenario .intro-text {
    font-style: italic;
    color: #555;
    font-size: 1.05em;
}

/* === LISTES === */
.givre-scenario ul {
    margin: 0.5em 0;
    padding-left: 1.5em;
}

.givre-scenario ul li {
    margin: 0.3em 0;
}

/* === ENCADRÉ LECTURE JOUEURS === */
.givre-box-player {
    background: var(--givre-player-bg);
    border-left: 4px solid var(--givre-secondary);
    border-radius: 0 8px 8px 0;
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
    font-style: italic;
    position: relative;
}

.givre-box-player::before {
    content: "📜 Lecture pour les joueurs";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.9em;
    color: var(--givre-secondary);
    margin-bottom: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.givre-box-player p {
    margin: 0;
    text-align: left;
}

/* === ENCADRÉ CONSEILS MJ === */
.givre-box-mj {
    background: var(--givre-mj-bg);
    color: #fff;
    border-radius: 8px;
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
    position: relative;
}

.givre-box-mj::before {
    content: "🎲 Conseil de maîtrise";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 0.9em;
    color: var(--givre-gold);
    margin-bottom: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.givre-box-mj p {
    margin: 0.3em 0;
    text-align: left;
    color: #e2e8f0;
}

.givre-box-mj strong {
    color: #fff;
}

/* === ENCADRÉ NOTE IMPORTANTE === */
.givre-box-note {
    background: var(--givre-mj-bg);
    color: #fff;
    border-radius: 8px;
    padding: 1em 1.2em;
    margin: 1em 0;
}

.givre-box-note::before {
    content: "⚠️ Note importante";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 0.85em;
    color: var(--givre-gold);
    margin-bottom: 0.5em;
}

.givre-box-note p {
    margin: 0;
    color: #e2e8f0;
}

/* === ENCADRÉ MÉCANIQUE DE TERRAIN === */
.givre-box-terrain {
    background: var(--givre-ice);
    border: 2px solid var(--givre-secondary);
    border-radius: 8px;
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
}

.givre-box-terrain.warm {
    border-color: var(--givre-warm);
}

.givre-box-terrain-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1em;
    color: var(--givre-primary);
    margin-bottom: 0.8em;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.givre-box-terrain.warm .givre-box-terrain-title {
    color: var(--givre-warm);
}

.givre-box-terrain p,
.givre-box-terrain ul {
    font-family: 'Poppins', sans-serif;
    font-size: 0.95em;
    line-height: 1.5;
}

/* === ENCADRÉ DIALOGUE === */
.givre-box-dialogue {
    background: var(--givre-player-bg);
    border: 2px solid var(--givre-gold);
    border-radius: 8px;
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
}

.givre-box-dialogue::before {
    content: "💬 Dialogue";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 0.9em;
    color: var(--givre-gold);
    margin-bottom: 0.8em;
}

.givre-box-dialogue p {
    font-style: italic;
}

/* === ENCADRÉ DRAGON === */
.givre-box-dragon {
    background: var(--givre-dark);
    border: 2px solid var(--givre-accent);
    border-radius: 8px;
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
    color: var(--givre-ice);
}

.givre-box-dragon::before {
    content: "🐉 Cryonax ordonne";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 0.9em;
    color: var(--givre-gold);
    margin-bottom: 0.8em;
}

.givre-box-dragon p {
    font-style: italic;
}

/* === BLOC DE STATISTIQUES === */
.givre-stat-block {
    background: var(--givre-stat-bg);
    border: 2px solid var(--givre-accent);
    border-radius: 8px;
    margin: 1.5em 0;
    overflow: hidden;
    max-width: 400px;
}

.givre-stat-header {
    background: var(--givre-accent);
    color: #fff;
    padding: 0.6em 1em;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.1em;
}

.givre-stat-subheader {
    background: rgba(139, 30, 63, 0.1);
    padding: 0.3em 1em;
    font-style: italic;
    font-size: 0.9em;
    color: #666;
    border-bottom: 1px solid #ddd;
}

.givre-stat-body {
    padding: 1em;
}

.givre-stat-row {
    display: flex;
    margin: 0.3em 0;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9em;
}

.givre-stat-label {
    font-weight: 600;
    min-width: 100px;
    color: var(--givre-primary);
}

.givre-stat-value {
    color: var(--givre-text);
}

/* Ligne de séparation stats */
.givre-stat-divider {
    height: 2px;
    background: linear-gradient(to right, var(--givre-accent), transparent);
    margin: 0.8em 0;
}

/* Grille des caractéristiques */
.givre-stat-abilities {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    text-align: center;
    margin: 0.8em 0;
    padding: 0.5em 0;
    background: rgba(0,0,0,0.03);
    border-radius: 4px;
}

.givre-stat-ability {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8em;
}

.givre-stat-ability-name {
    font-weight: 700;
    color: var(--givre-accent);
}

.givre-stat-ability-score {
    font-size: 1.1em;
}

.givre-stat-ability-mod {
    color: #666;
    font-size: 0.9em;
}

/* Section traits/actions */
.givre-stat-section-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 0.95em;
    color: var(--givre-accent);
    border-bottom: 1px solid var(--givre-accent);
    padding-bottom: 0.2em;
    margin: 1em 0 0.5em 0;
}

.givre-stat-trait {
    margin: 0.5em 0;
    font-size: 0.9em;
}

.givre-stat-trait-name {
    font-weight: 600;
    font-style: italic;
}

/* === ENCADRÉ ÉPILOGUE === */
.givre-box-epilogue {
    background: var(--givre-parchment);
    border: 2px solid var(--givre-gold);
    border-radius: 8px;
    padding: 1.5em 2em;
    margin: 2em 0;
    font-size: 1.05em;
    line-height: 1.8;
}

.givre-box-epilogue p {
    text-align: left;
}

/* === ÉLÉMENTS SPÉCIAUX === */
.givre-highlight {
    background: linear-gradient(to bottom, transparent 60%, rgba(212, 160, 58, 0.3) 60%);
    padding: 0 2px;
}

.givre-danger {
    color: var(--givre-accent);
    font-weight: 600;
}

.givre-cold {
    color: var(--givre-secondary);
    font-weight: 600;
}

.givre-fire {
    color: var(--givre-warm);
    font-weight: 600;
}

/* === SÉPARATEUR DÉCORATIF === */
.givre-separator {
    text-align: center;
    margin: 2em 0;
    color: var(--givre-secondary);
    font-size: 1.5em;
    letter-spacing: 1em;
}

.givre-separator::before {
    content: "❄ ❄ ❄";
}

/* === TABLE DES MATIÈRES === */
.givre-toc {
    background: var(--givre-ice);
    border-radius: 8px;
    padding: 1.5em 2em;
    margin: 1.5em 0;
}

.givre-toc-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.2em;
    color: var(--givre-primary);
    margin-bottom: 1em;
}

.givre-toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.givre-toc li {
    padding: 0.3em 0;
    border-bottom: 1px dotted #ccc;
}

.givre-toc li:last-child {
    border-bottom: none;
}

.givre-toc a {
    color: var(--givre-text);
    text-decoration: none;
    transition: color 0.2s;
}

.givre-toc a:hover {
    color: var(--givre-accent);
}

.givre-toc .toc-h1 {
    font-weight: 600;
    padding-top: 0.5em;
}

.givre-toc .toc-h2 {
    padding-left: 1.5em;
    font-size: 0.95em;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .givre-scenario {
        padding: 15px;
        font-size: 15px;
    }
    
    .givre-scenario h1 {
        font-size: 1.6em;
    }
    
    .givre-scenario h2 {
        font-size: 1.3em;
    }
    
    .givre-stat-block {
        max-width: 100%;
    }
    
    .givre-stat-abilities {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5em;
    }
}

/* === IMPRESSION === */
@media print {
    .givre-box-mj,
    .givre-box-note {
        background: #f0f0f0 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    .givre-box-mj::before,
    .givre-box-note::before {
        color: #333 !important;
    }
    
    .givre-box-mj p {
        color: #000 !important;
    }
}/* End custom CSS */