/*
 * Marjolaine Abaléa — page classique.
 * CSS autonome, chargé uniquement pour templates/pages/page-classique.php.
 * Le nom du fichier correspond au groupe classic_page déjà présent dans config.php.
 */
.ma-classic {
    --mc-blue: #076e8a;
    --mc-dark: #052f3a;
    --mc-orange: #ef9014;
    --mc-ink: #17343a;
    --mc-cream: #f6f1e8;
    --mc-paper: #fffdf8;
    --mc-soft: #edf5f6;
    --mc-border: rgba(23,52,58,.16);
    background: var(--mc-paper);
    color: var(--mc-ink);
    overflow: clip;
}
.ma-classic,
.ma-classic * { box-sizing: border-box; }
.ma-classic__shell { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.ma-classic a:focus-visible {
    outline: 3px solid var(--mc-orange);
    outline-offset: 4px;
}
.ma-classic__hero {
    isolation: isolate;
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(430px, 67svh, 800px);
    color: #fff;
    background: var(--mc-dark);
    overflow: hidden;
}
.ma-classic__hero-media,
.ma-classic__hero-overlay { position: absolute; inset: 0; z-index: -1; }
.ma-classic__hero-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.ma-classic__hero-overlay {
    background:
        linear-gradient(90deg, rgba(3,35,45,.82), rgba(3,35,45,.48) 57%, rgba(3,35,45,.16)),
        linear-gradient(0deg, rgba(3,35,45,.54), transparent 66%);
}
.ma-classic__hero--plain::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -9%;
    top: -40%;
    width: min(70vw, 920px);
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.025);
}
.ma-classic__hero--plain .ma-classic__hero-overlay {
    background: linear-gradient(120deg, rgba(3,35,45,.15), rgba(7,110,138,.5));
}
.ma-classic__hero-inner {
    position: relative;
    padding-block: clamp(150px, 19vh, 220px) clamp(54px, 7vw, 105px);
}
.ma-classic__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: clamp(64px, 9vw, 122px);
    font-size: .74rem;
    line-height: 1.5;
    color: rgba(255,255,255,.78);
}
.ma-classic__breadcrumbs a { color: inherit; text-decoration: none; }
.ma-classic__breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.ma-classic__breadcrumbs [aria-current] { color: #fff; overflow-wrap: anywhere; }
.ma-classic__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    color: #e5edef;
    font-size: .7rem;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-weight: 800;
}
.ma-classic__eyebrow span {
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mc-orange);
    box-shadow: 0 0 0 5px rgba(239,144,20,.18);
}
.ma-classic__title {
    max-width: 1040px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7.5vw, 7.5rem);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
    overflow-wrap: anywhere;
    color: #fff;
}
.ma-classic__body {
    padding: clamp(65px, 8vw, 116px) 0 clamp(90px, 9vw, 140px);
    background: var(--mc-paper);
}
.ma-classic__content {
    width: min(840px, 100%);
    margin-inline: auto;
    min-width: 0;
    color: #365057;
    font-size: clamp(1rem, 1.15vw, 1.09rem);
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.ma-classic__content > :first-child { margin-top: 0; }
.ma-classic__content > :last-child { margin-bottom: 0; }
.ma-classic__content p,
.ma-classic__content ul,
.ma-classic__content ol { margin: 0 0 1.5em; }
.ma-classic__content ul,
.ma-classic__content ol { padding-left: 1.4em; }
.ma-classic__content li + li { margin-top: .35em; }
.ma-classic__content li::marker { color: var(--mc-blue); }
.ma-classic__content h2,
.ma-classic__content h3,
.ma-classic__content h4,
.ma-classic__content h5,
.ma-classic__content h6 {
    margin: 1.75em 0 .55em;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -.035em;
    color: var(--mc-ink);
    text-wrap: balance;
}
.ma-classic__content h2 { font-size: clamp(2.05rem, 3.8vw, 3.6rem); }
.ma-classic__content h3 { font-size: clamp(1.65rem, 2.9vw, 2.55rem); }
.ma-classic__content h4 { font-size: clamp(1.3rem, 2vw, 1.8rem); }
.ma-classic__content a { color: var(--mc-blue); text-underline-offset: 3px; }
.ma-classic__content a:hover { color: #05586e; }
.ma-classic__content strong { color: var(--mc-ink); }
.ma-classic__content :is(blockquote,.wp-block-quote) {
    margin: 2.15em 0;
    padding: 25px 30px;
    border-left: 4px solid var(--mc-orange);
    border-radius: 0 16px 16px 0;
    background: var(--mc-cream);
    color: var(--mc-ink);
}
.ma-classic__content :is(blockquote,.wp-block-quote) p {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    font-style: italic;
    line-height: 1.55;
    margin-bottom: .55em;
}
.ma-classic__content blockquote cite { font-size: .82rem; font-style: normal; color: #557077; }
.ma-classic__content :is(figure,.wp-block-image,.wp-block-gallery,.wp-block-video,.wp-block-embed) {
    max-width: 100%;
    margin-block: 2em;
}
.ma-classic__content img,
.ma-classic__content video,
.ma-classic__content iframe { max-width: 100%; }
.ma-classic__content img { height: auto; }
.ma-classic__content :is(.wp-block-image,.wp-block-gallery) img { border-radius: 16px; }
.ma-classic__content :is(figcaption,.wp-element-caption) {
    margin-top: 10px;
    color: #6b7c7d;
    font-size: .76rem;
    line-height: 1.55;
    text-align: center;
}
.ma-classic__content :is(iframe,video) { height: auto; max-width: 100%; }
.ma-classic__content .wp-block-embed iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }
.ma-classic__content .wp-block-cover {
    margin-block: 2em;
    border-radius: 20px;
    overflow: hidden;
}
.ma-classic__content .wp-block-cover p { color: inherit; }
.ma-classic__content .wp-block-cover a { color: inherit; }
.ma-classic__content .wp-block-button__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid var(--mc-blue);
    border-radius: 999px;
    background: var(--mc-blue);
    color: #fff;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: .83rem;
    line-height: 1.3;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ma-classic__content .wp-block-button__link:hover {
    background: var(--mc-orange);
    border-color: var(--mc-orange);
    color: #fff;
    transform: translateY(-2px);
}
.ma-classic__content .is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--mc-blue);
}
.ma-classic__content .is-style-outline .wp-block-button__link:hover { color: #fff; }
.ma-classic__content :is(.wp-block-separator,hr) {
    width: 100%;
    height: 1px;
    border: 0;
    background: var(--mc-border);
    margin: 2.5em 0;
}
.ma-classic__content :is(.wp-block-table,table) { max-width: 100%; }
.ma-classic__content .wp-block-table { overflow-x: auto; }
.ma-classic__content table { width: 100%; border-collapse: collapse; }
.ma-classic__content th,
.ma-classic__content td { padding: 12px 15px; border: 1px solid var(--mc-border); text-align: left; }
.ma-classic__content th { background: var(--mc-soft); }
.ma-classic__content .aligncenter { margin-inline: auto; text-align: center; }
.ma-classic__content .alignleft { float: left; max-width: 45%; margin: 7px 23px 15px 0; }
.ma-classic__content .alignright { float: right; max-width: 45%; margin: 7px 0 15px 23px; }
.ma-classic__content::after { content: ""; clear: both; display: table; }
.ma-classic__content > .alignwide {
    position: relative;
    left: 50%;
    width: min(1120px, calc(100vw - 40px));
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    transform: translateX(-50%);
}
.ma-classic__content > .alignfull {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    transform: translateX(-50%);
}
.ma-classic__pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 36px;
    font-size: .85rem;
}
.ma-classic__pagination > a,
.ma-classic__pagination > span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 38px;
    min-height: 38px;
    border: 1px solid var(--mc-border);
    border-radius: 9px;
    padding: 6px 10px;
    text-decoration: none;
}
.ma-classic__pagination > a:hover { background: var(--mc-soft); }
@media (max-width: 700px) {
    .ma-classic__shell { width: min(100% - 30px, 1240px); }
    .ma-classic__hero { min-height: clamp(400px, 72svh, 660px); }
    .ma-classic__hero-inner { padding-block: 120px 55px; }
    .ma-classic__breadcrumbs { margin-bottom: 80px; }
    .ma-classic__title { font-size: clamp(2.65rem, 10.2vw, 4.65rem); }
    .ma-classic__hero-overlay {
        background: linear-gradient(0deg, rgba(3,35,45,.86), rgba(3,35,45,.28) 100%);
    }
    .ma-classic__content .alignleft,
    .ma-classic__content .alignright { float: none; max-width: 100%; margin-inline: auto; }
    .ma-classic__content > .alignwide { width: calc(100vw - 30px); }
}
@media (prefers-reduced-motion: reduce) {
    .ma-classic__content .wp-block-button__link { transition: none; transform: none; }
}
