/* =========================================================================
   ACF Block: Conseils  —  unique standalone CSS (no SCSS / no build).
   FIXED layout: block = 1200px wide, breaks out of the 930px content column,
   everything positioned in absolute pixels (1:1 with the design).
   Central column is centered; decor is absolutely positioned and may overflow.
   ========================================================================= */

.conseils-block {
    position: relative;
    width: 1200px;
    /* center the 1200px block on the parent (e.g. 930px) and break out */
    margin: 0 calc((100% - 1200px) / 2);
    --cb-pink: #f4b3b3;
    --cb-blue: #bfe1fc;
    --cb-gold: #eabc66;
    --cb-azure: #1e4c85;
}

.conseils-block * {
    box-sizing: border-box;
}

/* kill theme link styles inside the block (underline on hover, pseudo lines) */
.conseils-block a,
.conseils-block a:hover,
.conseils-block a:focus {
    text-decoration: none;
    box-shadow: none;
    border-bottom: 0;
    background-image: none;
}

.conseils-block a::before,
.conseils-block a::after {
    display: none !important;
}

.conseils-block__inner {
    position: relative;
    width: 1200px;
    height: 1312px;
}

/* never let theme rules shrink/stretch our images */
.conseils-block img {
    display: block;
    max-width: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===================== CENTRAL GROUPS (flex column) ====================== */
.conseils-block__group {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
}

.conseils-block__group--ortho {
    left: 404px;
    top: 0;
    width: 392px;
}

.conseils-block__group--pedo {
    left: 407px;
    top: 650px;
    width: 385px;
}

/* high specificity to override theme's `.sct-21-content-page .data-content h2` */
.conseils-block .conseils-block__group .conseils-block__title {
    margin: 0;
    width: 100%;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 130%;
    letter-spacing: normal;
    text-align: center;
    text-transform: none;
    color: #1e4c85;
    max-width: 320px;
}

/* ---- layered photo card ---- */
.conseils-block__card {
    position: relative;
    display: block;
    text-decoration: none;
}

.conseils-block__card--ortho {
    width: 314px;
    height: 318px;
    margin-top: 16px;
}

.conseils-block__card--pedo {
    width: 308px;
    height: 312px;
    margin-top: 24px;
}

.cb-card__back,
.cb-card__photo,
.cb-card__border {
    position: absolute;
}

.cb-card__photo {
    overflow: hidden;
}

.cb-card__photo img {
    border-radius: inherit;
    transition: transform .45s ease;
}

/* zoom the photo on card hover */
.conseils-block__card:hover .cb-card__photo img {
    transform: scale(1.07);
}

/* ortho card geometry (px) */
.conseils-block__card--ortho .cb-card__back {
    left: 80px;
    top: 94px;
    width: 234px;
    height: 224px;
    border-radius: 40px;
    background: var(--cb-pink);
}

.conseils-block__card--ortho .cb-card__photo {
    left: 22px;
    top: 17px;
    width: 283px;
    height: 288px;
    border-radius: 240px 240px 40px 40px;
}

.conseils-block__card--ortho .cb-card__border {
    left: 0;
    top: 0;
    width: 283px;
    height: 288px;
    border: 2px solid var(--cb-pink);
    border-radius: 240px 240px 40px 40px;
}

/* pedo card geometry (px) */
.conseils-block__card--pedo .cb-card__back {
    left: 0;
    top: 0;
    width: 168px;
    height: 162px;
    border-radius: 40px;
    background: var(--cb-blue);
}

.conseils-block__card--pedo .cb-card__photo {
    left: 12px;
    top: 11px;
    width: 283px;
    height: 288px;
    border-radius: 40px;
}

.conseils-block__card--pedo .cb-card__border {
    left: 26px;
    top: 26px;
    width: 283px;
    height: 287px;
    border: 2px solid var(--cb-blue);
    border-radius: 40px;
}

/* ---- description ---- */
.conseils-block__desc {
    margin: 16px 0 0;
    max-width: 392px;
    font-family: 'Jost', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    color: #5a6b7d;
}

/* ---- button (fully decoupled from theme styles, 1:1 with Figma) ---- */
.conseils-block .conseils-block__btn,
.conseils-block a.conseils-block__btn,
.conseils-block a.conseils-block__btn:link,
.conseils-block a.conseils-block__btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    padding: 17px 37px;
    width: auto;
    height: auto;
    min-width: 0;
    border: 1px solid #f4b3b3;
    border-radius: 50px;
    box-shadow: 0 2px 12px 0 rgba(244, 179, 179, .15);
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    letter-spacing: .5px;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    color: #323232;
    background: transparent;
    background-image: none;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

/* hover ONLY when the button itself is hovered/focused — never on image hover */
.conseils-block a.conseils-block__btn:hover,
.conseils-block a.conseils-block__btn:focus {
    background: #f4b3b3;
    color: #fff;
    border-color: #f4b3b3;
}

/* ============================ DECOR (static, absolute px) =============== */
.conseils-block__decor {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.cb-decor {
    position: absolute;
}

.cb-decor__frame {
    position: absolute;
    z-index: 2;
}

.cb-decor__frame--pink {
    border: 2px solid var(--cb-pink);
}

.cb-decor__frame--gold {
    border: 2px solid var(--cb-gold);
}

/* -- hand (top-left of ortho) -- */
.cb-decor--hand {
    left: 13px;
    top: 421px;
    width: 300px;
    height: 230px;
}

.cb-decor--hand img {
    border-radius: 30px;
}

.cb-decor--hand .cb-decor__frame--pink {
    left: -16px;
    top: 16px;
    width: 300px;
    height: 230px;
    border-radius: 30px;
}

.cb-decor__pill {
    position: absolute;
    z-index: 3;
    left: 146px;
    top: 16px;
    width: 152px;
    height: 33px;
    border-radius: 100px;
    background: url('img/pill-pink.svg') center / 100% 100% no-repeat;
}

/* -- gloves (top-right of ortho, circular) -- */
.cb-decor--gloves {
    left: 930px;
    top: 353px;
    width: 156px;
    height: 156px;
}

.cb-decor--gloves img {
    border-radius: 50%;
}

.cb-decor--gloves .cb-decor__frame--circle {
    left: -12px;
    top: 12px;
    width: 156px;
    height: 156px;
    border-radius: 50%;
}

/* -- pedodontie (top-right of pedo) -- */
.cb-decor--pedodontie {
    left: 945px;
    top: 650px;
    width: 240px;
    height: 240px;
}

.cb-decor--pedodontie img {
    border-radius: 30px;
    /* crop 2px off the right edge */
    clip-path: inset(0 2px 0 0);
}

.cb-decor--pedodontie .cb-decor__frame--gold {
    left: 16px;
    top: 15px;
    width: 240px;
    height: 242px;
    border-radius: 30px;
}

/* -- gold vertical bar -- */
.cb-decor--bar {
    left: 1177px;
    top: 735px;
    width: 22px;
    height: 160px;
    border-radius: 10px;
    background: url('img/pill-yellow.svg') center / 100% 100% no-repeat;
}

/* -- mario (bottom-left) -- */
.cb-decor--mario {
    left: -4px;
    top: 849px;
    width: 334px;
    height: 313px;
    z-index: 3;
}

.cb-decor--mario img {
    object-fit: contain;
}

/* -- spiderman (bottom-right) -- */
.cb-decor--spiderman {
    left: 900px;
    top: 974px;
    width: 355px;
    height: 338px;
    z-index: 3;
}

.cb-decor--spiderman img {
    object-fit: contain;
}

/* ============================ MOBILE (< 768px) ========================== */
@media (max-width: 767px) {
    .conseils-block {
        width: 100%;
        margin: 0;
    }

    .conseils-block__inner {
        width: 100%;
        height: auto;
        padding: 10px 0 30px;
    }

    .conseils-block__decor {
        display: none;
    }

    .conseils-block__group {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        max-width: 340px;
        margin: 0 auto 50px;
    }

    .conseils-block__group--pedo {
        margin-bottom: 0;
    }

    .conseils-block__card {
        margin-top: 24px;
    }

    /* desktop-only AOS — keep everything visible on mobile (no animation) */
    .conseils-block [data-aos] {
        opacity: 1 !important;
        transform: none !important;
    }
}
