/**
 * Template Page légale (Mentions / Cookies / autres pages texte).
 * Container blanc sur fond rouge body, typo cohérente brutaliste.
 */

body.page-template-page-legal {
    background: var(--punch-rouge, #EB242D);
}

.punch-legal {
    background : var(--punch-rouge, #EB242D);
    min-height : 100vh;
}

/* Header rouge brutaliste */
.punch-legal__header {
    background: var(--punch-rouge, #EB242D);
    color     : #fff;
    padding   : 60px 0 50px;
}
.punch-legal__header-inner {
    max-width: 1200px;
    margin   : 0 auto;
    padding  : 0 40px;
}
.punch-legal__legende {
    font-family   : var(--punch-font-base, 'Roboto', sans-serif);
    font-size     : 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color         : rgba(255, 255, 255, 0.7);
    margin        : 0 0 12px;
    font-weight   : 600;
}
.punch-legal__titre {
    font-family   : var(--punch-font-display, 'Aldo', sans-serif);
    font-size     : clamp(48px, 7vw, 96px);
    line-height   : 0.9;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color         : #fff;
    margin        : 0;
}

/* Container blanc avec le contenu */
.punch-legal__article {
    background: #fff;
    color     : var(--punch-noir, #1a1a1a);
    padding   : 60px 0;
}
.punch-legal__content {
    max-width : 800px;
    margin    : 0 auto;
    padding   : 0 40px;
    font-size : 16px;
    line-height: 1.7;
    color     : var(--punch-noir, #1a1a1a);
}

/* Typography des contenus Gutenberg */
.punch-legal__content h2 {
    font-family   : var(--punch-font-display, 'Aldo', sans-serif);
    font-size     : 32px;
    line-height   : 1.1;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color         : var(--punch-rouge, #EB242D);
    margin        : 48px 0 16px;
}
.punch-legal__content h2:first-child {
    margin-top: 0;
}
.punch-legal__content h3 {
    font-family   : var(--punch-font-base, 'Roboto', sans-serif);
    font-size     : 18px;
    font-weight   : 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color         : var(--punch-noir, #1a1a1a);
    margin        : 32px 0 10px;
}
.punch-legal__content p {
    margin     : 0 0 18px;
    color      : var(--punch-noir, #1a1a1a);
    font-size  : 16px;
    line-height: 1.7;
}
.punch-legal__content p em {
    color    : rgba(11, 11, 11, 0.6);
    font-size: 14px;
}
.punch-legal__content ul,
.punch-legal__content ol {
    margin     : 0 0 18px 24px;
    padding    : 0;
    line-height: 1.7;
}
.punch-legal__content li {
    margin-bottom: 6px;
}
.punch-legal__content a {
    color           : var(--punch-rouge, #EB242D);
    text-decoration : underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
    font-weight     : 600;
}
.punch-legal__content a:hover {
    color: var(--punch-noir, #1a1a1a);
}
.punch-legal__content strong {
    color      : var(--punch-noir, #1a1a1a);
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .punch-legal__header { padding: 40px 0 32px; }
    .punch-legal__header-inner,
    .punch-legal__content { padding: 0 22px; }
    .punch-legal__article { padding: 40px 0; }
}
