
/* assets/css/layout.css */
body {
    max-width: 1920px;
    margin: 0 auto;
}

@media (max-width: 992px) {
    :root {
        --wp--preset--spacing--large: 2.25rem;
    }
}

main > .entry-content {
    margin: 0;
}

main > .entry-content > div.wp-block-group,
.is-root-container > div.wp-block-group,
.rosee-event,
.rosee-single {
    margin-block: 0;
    padding-block: var(--wp--preset--spacing--medium);

    @media (min-width: 992px) {
        padding-block: var(--wp--preset--spacing--large);
    }
}

:where(.wp-site-blocks) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.wp-site-blocks {
    /* `clip` et non `hidden` : `hidden` ferait de cet élément un conteneur de
       défilement, ce qui casse `animation-timeline: view()` (scroll-reveal.css)
       et `position: sticky`. `clip` coupe le débordement sans créer de scrollport. */
    overflow-x: clip;
}

[class*=wp-container-core-group-is-layout] > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    @media (max-width: 992px) {
        max-width: 100% !important;
    }
}

.rosee-justify-content-center {
    display: flex;
    justify-content: center;
}

.rosee-justify-content-between {
    display: flex;
    justify-content: space-between;
}

.wp-block-group.wp-block-group-is-layout-constrained {
    position: static;
}

.rosee-position-sticky {
    position: sticky !important;
    top: 0;
    z-index: 2;
}

@media (max-height: 45rem) {
    .rosee-position-sticky {
        position: static !important;
    }
}

/* Motif ligné, en pleine surface. */
.rosee-has-background-lines,
.is-style-fond-lignes {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large.svg");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;

    /* Sur fond jaune, le motif standard disparaîtrait : variante dédiée. */
    &.has-jaune-background-color {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large-on-yellow.svg");
    }

    /* Sur fond jaune, le motif standard disparaîtrait : variante dédiée. */
    &.has-gris-clair-background-color {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large-black.svg");
    }
}

.rosee-points-line-bg,
.is-style-ligne-pointeurs {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/points-line-mobile.svg");
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;

    @media (min-width: 576px) {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/points-line.svg");
    }
}

.rosee-full-width-on-mobile {
    @media (max-width: 1024px) {
        margin-left: calc(-1*var(--wp--preset--spacing--medium));
        margin-right: calc(-1*var(--wp--preset--spacing--medium));
    }
}

.rosee-small-container {
    max-width: 800px;

    @media (min-width: 1200px) {
        margin-inline: auto;
    }
}


.rosee-number {
    position: relative;
    padding-top: 7rem !important;

    &::after {
        content: '';
        font-size: 1.95rem;
        font-family: var(--wp--preset--font-family--title),serif;
        position: absolute;
        top: 3rem;
        left: 50%;
        line-height: 1;
        transform: translateX(-50%);
        opacity: 0.3;

        @media (min-width: 1024px) {
            left: auto;
            font-size: 3rem;
            right: 2.1rem;
            top: 1.5rem;
            transform: translateX(0);
        }
    }
}
.rosee-number.rosee-one {
    &::after {
        content: 'Niveau 1';
    }
}
.rosee-number.rosee-two {
    &::after {
        content: 'Niveau 2';
    }
}
.rosee-number.rosee-three {
    &::after {
        content: 'Niveau 3';
    }
}

.editor-post-title {
    font-family: var(--wp--preset--font-family--body),serif !important;
}

/* assets/css/columns.css */
/* Bloc « Colonnes » : empilement en grille sous 1025px, rendu natif au-dessus. */

:where(.wp-block-columns.has-background) {
    padding: 0;
}

.wp-block-columns:not(.is-not-stacked-on-mobile) {
    display: grid;
    grid-template-columns: 1fr;
}

/* 2 colonnes. */
@media (min-width: 576px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:nth-child(2)) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 3 colonnes. Le `:has()` évite de créer une piste vide sur un bloc qui
   ne compte que 2 colonnes : il garderait alors 2 colonnes. */
@media (min-width: 768px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:nth-child(3)) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Retour au rendu natif : flex sur une seule ligne, largeurs de colonnes
   définies dans l'éditeur respectées. */
@media (min-width: 1025px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        display: flex;
    }
}

/* assets/css/typography.css */
.editor-styles-wrapper {
    font-size: 24px;
}


h1, h2,
.rosee-uppercase {
    text-transform: uppercase;
}

.has-large-font-size,
.has-x-large-font-size,
h1 {
    line-height: 1.2;
}

h1,h2,h3,h4,h5,p {
    padding-inline: 0;
}

:root :where(p.has-background) {
    padding: 1em 1.5em;

    @media (min-width: 1200px) {
        padding: 1.25em 2.375em;
    }
}

h1,h2,h3,h4,h5 {
    strong {
        font-weight: bold;
    }
}

.wp-element-button {
    font-weight: bold;
}

*::selection {
    background-color: var(--wp--preset--color--rouge);
    color: var(--wp--preset--color--blanc);
}


.wp-block-list {
    --item-gap: 0.5em;
}

ul.wp-block-list {
    list-style: none;
    padding-left: 0;
    --arrow-w: 0.434em;
    --arrow-gap: 0.3em;
    --item-gap: 0.5em;
}

ul.wp-block-list li {
    padding-left: calc(var(--arrow-w) + var(--arrow-gap));
    text-indent: calc(-1 * (var(--arrow-w) + var(--arrow-gap)));
}

.wp-block-list li + li {
    margin-block-start: var(--item-gap);
}

ul.wp-block-list li::before {
    content: '';
    display: inline-block;
    height: 0.7em;                        /* ≈ hauteur de capitale */
    width: var(--arrow-w);
    margin-right: var(--arrow-gap);                    /* 0.7 × (100.78693 / 162.71306) */
    background: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-right-black.svg") center / contain no-repeat;
    vertical-align: baseline;             /* bord bas sur la ligne de base */
}

.editor-styles-wrapper ul.wp-block-list li {
    display: inline-flex;
    align-items: first baseline;
    padding-left: 0;
    text-indent: 0;
}

.editor-styles-wrapper ul.wp-block-list li::before{
    min-width: .9rem;
}

/*ul.wp-block-list li * {
    display: contents;
}*/

.has-rouge-background-color ul.wp-block-list li::before {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-white.svg");
}

/* assets/css/animation.css */
/* ANIMATIONS */

html {
    scroll-behavior: smooth;
}

/* --- Sobriété : couper les animations décoratives si demandé --- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}


/* Main Menu */
@media (prefers-reduced-motion: no-preference) {
    .wp-block-navigation-item__content {
        transition: color .2s ease-in-out;

        &:after {
            transition: opacity .2s ease-in-out, transform .2s ease-in-out;
        }
    }

    .wp-block-navigation-submenu__toggle svg {
        transition: transform .2s ease-in-out;
    }
}

/* Buttons */
@media (prefers-reduced-motion: no-preference) {
    .wp-element-button, .accessible-card__term {
        transition: background-color .35s ease-in-out, color .35s ease-in-out;

        &:after {
            transition: background .35s ease-in-out;
        }

        &:hover, &:focus-visible {
            &::after {
                animation: buttonArrowAnimation;
                animation-duration: .4s;
                animation-delay: .1s;
                animation-iteration-count: infinite;
            }
        }
    }
}

@keyframes buttonArrowAnimation {
    0% {
        transform: rotate(-45deg) scale(1);
    }
    50% {
        transform: rotate(-45deg) scale(1.1);
    }
    100% {
        transform: rotate(-45deg) scale(1);
    }
}


/* Accordions */
@media (prefers-reduced-motion: no-preference) {
    .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
        transition: transform 0.2s ease-in-out, filter .2s ease-in-out;
    }

    /* Fondu décalé à l'ouverture, immédiat à la fermeture. */
    .wp-block-accordion-panel {
        transition: opacity 0.2s ease 0.1s;
    }

    .wp-block-accordion-panel[inert] {
        opacity: 0;
        transition-delay: 0s;
    }
}

/* Pagination */
@media (prefers-reduced-motion: no-preference) {
    .wp-block-query-pagination-previous,
    .wp-block-query-pagination-next,
    a.page-numbers, a.page-numbers {
        transition: background-color .35s ease-in-out, color .35s ease-in-out;
    }
}

/* Post Meta */
@media (prefers-reduced-motion: no-preference) {
    .rosee-post-meta a {
        transition: background-color .35s ease-in-out, color .35s ease-in-out;
    }
}


/* Main footer */
@media (prefers-reduced-motion: no-preference) {
    .rosee-footer {
        .wp-block-social-links {
            a {
                transition: background-color .35s ease-in-out, border-color .35s ease-in-out;
            }
        }
    }
}

/* assets/css/list-post.css */
.rosee-post-list {
    margin-top: var(--wp--preset--spacing--medium);
}

/* Masque l'encadré de la description quand le terme n'en a pas. */
.rosee-term-intro:not(:has(.wp-block-term-description)) {
    display: none;
}


/*
.archive, .blog {
    main {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large.svg");
        background-size: cover;
        background-position: top;
        background-repeat: no-repeat;
        border-bottom: 4px solid var(--wp--preset--color--blanc);
    }
}
*/

/* assets/css/quote.css */
:where(.wp-block-quote) {
    max-width: 34ch;
    margin-inline: auto;
    text-align: center;
}

:where(.wp-block-quote) p {
    font-family: var(--wp--preset--font-family--title), sans-serif;
    font-size: var(--wp--preset--font-size--card-title);
    line-height: 1.25;
}

:where(.wp-block-quote) p:first-of-type::before {
    content: "«\202F";
    content: "«\202F" / "";
}

:where(.wp-block-quote) p:last-of-type::after {
    content: "\202F»";
    content: "\202F»" / "";
}

:where(.wp-block-quote) cite {
    margin-block-start: var(--wp--preset--spacing--x-small);
    font-family: var(--wp--preset--font-family--body), sans-serif;
    font-size: var(--wp--preset--font-size--small);
    font-style: normal;
    color: var(--wp--preset--color--gris-texte);
}

.has-vert-background-color .wp-block-quote cite,
.has-rouge-background-color .wp-block-quote cite {
    color: var(--wp--preset--color--noir);
}

/* assets/css/table.css */
:where(.wp-block-table) {
    font-size: var(--wp--preset--font-size--card-text);
    line-height: 1.22;
}

:where(.wp-block-table) th {
    text-align: left;
    font-weight: 500;
}

:root .wp-block-table td,
:root .wp-block-table th {
    padding: var(--wp--preset--spacing--x-small);
    vertical-align: top;
}

:root .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: color-mix(in srgb, var(--wp--preset--color--noir) 6%, transparent);
}

:root .wp-block-table.is-style-stripes {
    border-bottom-color: color-mix(in srgb, var(--wp--preset--color--noir) 12%, transparent);
}

:where(.wp-block-table) figcaption {
    margin-block-start: var(--wp--preset--spacing--x-small);
}

/* assets/css/code.css */
:where(.wp-block-code) {
    background-color: color-mix(in srgb, var(--wp--preset--color--noir) 6%, transparent);
    padding: var(--wp--preset--spacing--small);
    border-left: 4px solid var(--wp--preset--color--rouge);
    font-size: var(--wp--preset--font-size--card-text);
    line-height: 1.5;
}

:root .wp-block-code code {
    font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas,
        "Liberation Mono", monospace;
    tab-size: 2;
}

/* assets/css/separator.css */
/* Séparateur : filet d'1px sur toute la largeur du contenu. */

/* `:root` reprend la main sur `.wp-block-separator` du core (border-top: 2px). */
:root .wp-block-separator {
    border-top: 1px solid currentColor;
    border-radius: 15px;
    opacity: .35;
}

/* Sur le fond vert du gabarit « Événement », le filet passe en blanc. */
:root .rosee-event .wp-block-separator {
    border-top-color: var(--wp--preset--color--blanc);
    opacity: .6;
}

/* Aucune règle du core sur la marge : un réglage de l'éditeur l'emporte. */
:where(.wp-block-separator) {
    margin-block: var(--wp--preset--spacing--medium);
}

/* assets/css/icon-title.css */
.rosee-icon-title {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--small);


    @media (min-width: 1025px) {
        gap: var(--wp--preset--spacing--medium);
        flex-direction: row;
    }

    /*h2 {
        margin-top: 0;
        max-width: 400px;
    }*/

/*    > figure {
        width: 46px;
        height: 46px;

        @media (min-width: 1025px) {
            width: 76px;
            height: 90px;
        }


        img {
            width: 100%;
        }
    }*/
}

.rosee-icon-title h2 {
    margin-top: 0;
    max-width: 450px;
}

.rosee-icon-title figure {
    width: 46px;
    height: 46px;

    @media (min-width: 1025px) {
        width: 76px;
        height: 90px;
    }

}

.rosee-icon-title figure img {
    max-width: none;
    width: 100%;
}

/* assets/css/main-header.css */
.rosee-main-header {
    border-bottom: 4px solid var(--wp--preset--color--blanc);

    /* Change navigation breakpoint */
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: block !important;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none !important;
    }

    /* Change the navigation breakpoint to 1025px */
    @media (min-width: 1025px) {
        .wp-block-navigation__responsive-container-open:not(.always-shown) {
            display: none !important;
        }

        .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
            display: block !important;
        }
    }

    /* Change header logo */
    .rosee-logo-desktop {
        display: none;
        @media (min-width: 1025px) {
            display: block;
        }

        svg {
            width: 230px;
        }
    }

    .rosee-logo-mobile {
        display: block;
        @media (min-width: 1025px) {
            display: none;
        }

        svg {
            width: 60px;
        }
    }

    /* Le trait du logo est en `currentColor` : on le fixe pour qu'il ne suive pas
       la couleur des liens. */
    .rosee-logo-lien {
        display: inline-block;
        color: var(--wp--preset--color--noir);

        svg {
            display: block;
            height: auto;
        }

        &:focus-visible {
            outline: 3px solid var(--wp--preset--color--noir);
            outline-offset: 3px;
        }
    }

    /*.wp-block-navigation__responsive-container-content {
        @media (min-width: 1025px) {
            padding-top: 30px;
        }
    }*/

    .wp-block-navigation > .wp-block-navigation-item {
        padding-block: 1.5rem;
    }

    .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container {
        right: auto;
        left: 0;
        border-radius: 15px;
        border-width: 4px;
        overflow: hidden;
    }
    .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
        border-width: 4px !important;
    }


    .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(:last-of-type) > .wp-block-navigation-item__content {
        border-bottom: 1px solid var(--wp--preset--color--gris-clair);
    }

    .wp-block-navigation-submenu__toggle {
        width: 24px;
        height: 24px;
    }


}





@media (hover: hover) {
    .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
        min-width: 300px;
    }
}


.wp-block-navigation {

    .wp-block-navigation-item__content {
        position: relative;
        &:after {
            position: absolute;
            content: "";
            display: block;
            height: 4px;
            border-radius: 4px;
            background-color: var(--wp--preset--color--rouge);
            width: 100%;
            opacity: 0;
            transform: scaleX(0);

        }
    }

    .has-child {
        .wp-block-navigation-item__content {
            &:after {
                width: calc(100%);
            }
        }
    }
}



.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    padding: 0.75rem 0.75rem;

    &:after {
        content: none;
    }
}

.current-menu-item > a, .current-menu-ancestor > a {
    color: var(--wp--preset--color--rouge) !important;

    &:after {
        opacity: 1 !important;
        transform: scaleX(1) !important;
    }
}

.wp-block-navigation .wp-block-navigation-item {
    &:hover > a {
        color: var(--wp--preset--color--rouge);

        &:after {
            opacity: 1;
            transform: scaleX(1);
        }
    }
}

.rosee-mobile-navigation {
    gap: 0.75rem;

    .wp-block-navigation > .wp-block-navigation-item {
        padding-block: 0;

        > a > .wp-block-navigation-item__label {
            font-weight: bold;

        }
    }

    .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(:last-of-type) > .wp-block-navigation-item__content {
        border-bottom: none
    }

    .wp-block-navigation .wp-block-navigation-item {
        > .wp-block-navigation-item__content {
            &:after {
                content: none;
            }
        }
        &:hover > a {
            color: var(--wp--preset--color--rouge);
        }
    }

    .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
        padding: 0;
    }

}

.wp-block-navigation .has-child.open-always.wp-block-navigation-submenu, .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container {
    gap: 0.75rem;
}

.wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container {
    padding-left: 0.75rem;
    padding-right: 0;


}

.wp-block-navigation__responsive-container.is-menu-open.is-menu-open {
    overflow-x: hidden;
}

.wp-block-navigation__responsive-container-open {
    svg {
        width: 30px;
        height: 30px;
    }
}

.wp-block-navigation-item__content strong {
    font-weight: normal;
}


.wp-block-navigation-item__content:focus-visible, .wp-block-navigation__submenu-icon:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

/* assets/css/main-footer.css */
.rosee-footer {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large.svg");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    position: relative!important;
    z-index: 2;
    .rosee-newsletter-link {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .wp-block-navigation {
        /*font-weight: bold;*/
        padding-block: 0.75rem;
        ul {
            gap: var(--wp--preset--spacing--small);
            flex-direction: column;

            li {
                text-transform: capitalize;
                @media(min-width:1920px) {
                    line-height: 1.812rem;
                }
            }


            @media (min-width: 769px) {
                flex-direction: row;
            }

            @media (min-width: 1200px) {
                gap: var(--wp--preset--spacing--large);
            }
        }
    }

    .wp-block-social-links {
        .wp-block-social-link:hover {
            transform: none;
        }
        a {

            background-color: var(--wp--preset--color--gris-clair);
            padding: 0.45rem;
            border-radius: 20%;
            border: 3px solid var(--wp--preset--color--blanc);


            &:hover, &:focus-visible {
                background-color: var(--wp--preset--color--blanc);
                border-color: var(--wp--preset--color--gris-clair);
                border-bottom: 3px solid var(--wp--preset--color--gris-clair);
            }
        }
    }
}

/* assets/css/page-header.css */
.rosee-page-header {
    &:has(figure) {

    }

    &:not(:has(figure)) {
        display: none;
    }

    /*.rosee-page-header-image:not(:has(figure)) {
        display: none;
    }*/

    .rosee-page-header-image {
        border-bottom: 4px solid var(--wp--preset--color--blanc);
        > figure {
            height: 400px;

            img {
                height: 100%;
            }
        }
    }
}

/* assets/css/button.css */
.wp-element-button, .wpcf7-submit {
    position: relative;
    font-weight: bold;
    letter-spacing: 0.05em;
    &::after {
        content: '';
        position: absolute;
        transform: rotate(-45deg);
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-black.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        display: block;
        width: 1.65rem;
        height: 1.65rem;
        right: -0.6rem;
        bottom: -0.525rem;
        left: auto;
        top: auto;
    }

    &:where(:not(.has-background):not([disabled])):hover, &:where(:not(.has-background):not([disabled])):focus-visible {
        background-color: oklch(from var(--wp--preset--color--jaune) calc(l - .1) c h ) !important;
        color: var(--wp--preset--color--noir) !important;
        &::after {
            background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-black.svg") !important;
        }
    }
}

.rosee-xs-button {
    font-size: var(--wp--preset--font-size--x-small) !important;
    .wp-element-button {
        padding: 0.75rem 1.2rem 0.45rem;
        font-size: var(--wp--preset--font-size--x-small) !important;

        &::after {
            width: 1.2rem;
            height: 1.2rem;
            right: -0.45rem;
            bottom: -0.405rem;
        }
    }
}

.is-style-bouton-noir .wp-element-button::after {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-white.svg");
}

:where(.wp-element-button, .wp-block-button__link):focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

/* Bouton dont la couleur de fond vient de l'éditeur : la teinte choisie est
   conservée, assombrie au survol et au focus. */
:is(.wp-element-button, .wpcf7-submit).has-background:hover,
:is(.wp-element-button, .wpcf7-submit).has-background:focus-visible {
    background-color: oklch(from var(--wp--preset--color--jaune) calc(l - .1) c h ) !important;
    color: var(--wp--preset--color--noir);
}


/* assets/css/card.css */
:root {
    --rosee-card-filet: oklch(from var(--wp--preset--color--gris-clair) calc(l - 0.052) c h);
}

.accessible-cards {
    gap: var(--wp--preset--spacing--medium);
    /*margin-bottom: var(--wp--preset--spacing--medium);*/
}



.card,
.wp-block-query li,
.accessible-card {
    border: 4px solid var(--wp--preset--color--blanc);
    border-radius: 15px;
    background-color: var(--wp--preset--color--gris-clair);
    overflow: hidden;
    display: flex;
    flex-direction: column;

    .accessible-card__content {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: var(--wp--preset--spacing--small);
    }

    .wp-block-post-date,
    .accessible-card__date {
        font-size: 0.875rem;
        line-height: 1.214;
        color: var(--wp--preset--color--rouge);

        time {
            font-weight: bold;
        }

        @media(min-width:1200px) {
            font-size: 1.125rem;
            line-height: 1.222;
        }
    }

    h2, h3, h4 {
        font-size: var(--wp--preset--font-size--card-title);
        line-height: 1.1;
        margin: 0 0 0.75rem 0;
    }

    .wp-block-post-excerpt {
        margin: 0;
    }

    .accessible-card__excerpt {
        color: var(--wp--preset--color--noir);

    }

    .wp-block-post-date {
        margin: 0 0 0.75rem 0;
    }

    > * {
        font-size: var(--wp--preset--font-size--card-text);
        line-height: 1.22;
        margin: 0;
    }


    .wp-block-post-featured-image {
        margin-bottom: 0;
    }

    .rosee-post-meta,
    .accessible-card__terms {
        margin: 0 0 var(--wp--preset--spacing--x-small) 0;
        gap: 0.3rem;

        a,
        .accessible-card__term {
            display: inline-block;
            text-decoration: none;
            font-size: var(--wp--preset--font-size--x-small);
            background-color: var(--wp--preset--color--blanc);
            padding: 0.3rem 0.6rem 0.225rem 0.6rem;
            border-radius: 999px;
        }

        /* Etiquettes : contour sans fond et « # » non lu, les categories restent pleines. */
        .taxonomy-post_tag a,
        .accessible-card__terms-group--flat .accessible-card__term {
            background-color: transparent;
            border: 1px solid var(--wp--preset--color--noir);
            padding: calc(0.3rem - 1px) calc(0.6rem - 1px) calc(0.225rem - 1px) calc(0.6rem - 1px);

            &::before {
                content: "#";
                content: "#" / "";
                margin-inline-end: 0.1em;
            }
        }

        a {
            &:hover, &:focus-visible {
                background-color: oklch(from var(--wp--preset--color--jaune) calc(l - .1) c h ) !important;
                color: var(--wp--preset--color--noir) !important;
            }
        }
    }

    /* Retire la marge du groupe de termes quand l'element n'a ni categorie ni etiquette. */
    .rosee-post-meta:not(:has(*)) {
        display: none;
    }

    .wp-block-post-terms {
        display: flex;
        gap: 0.3rem;
    }
}

.has-gris-clair-background-color {
    .card,
    .wp-block-query li,
    .accessible-card {
        border-color: var(--rosee-card-filet);
        background-color: var(--wp--preset--color--blanc);

    }

    .card, .wp-block-query li, .accessible-card {
        & .rosee-post-meta, & .accessible-card__terms {
            a,
            .accessible-card__term {
                background-color: var(--wp--preset--color--jaune);
            }

            .taxonomy-post_tag a,
            .accessible-card__terms-group--flat .accessible-card__term {
                background-color: transparent;
            }
        }
    }
}

.has-blanc-background-color {
    .card,
    .wp-block-query li,
    .accessible-card {
        border-color: var(--rosee-card-filet);

    }
}

.card,
.wp-block-query li,
.accessible-card {
    .wp-block-buttons,
    .accessible-card__action {
        padding-top: var(--wp--preset--spacing--small);
        display: flex;
        justify-content: flex-end;
        margin-top: auto;
    }

    .wp-block-button__link,
    .accessible-card__link {
        padding: 0.75rem 1.2rem 0.45rem;

        &::after {
            width: 1.2rem;
            height: 1.2rem;
            right: -0.45rem;
            bottom: -0.405rem;
        }
    }


    .rosee-read-more {
        margin-bottom: var(--wp--preset--spacing--small);
    }
}

.accessible-card__link:focus-visible {
    outline: 3px solid #000000;
    outline-offset: 2px;
}

/* assets/css/card-horizontal.css */
/* --------------------------------------------------------------------------
   Carte verticale — mobile et tablette
   -------------------------------------------------------------------------- */
.is-post-type-rosee_ressource .accessible-card__image {
    background-color: rgba(0, 0, 0, .07);
    box-sizing: border-box;
    aspect-ratio: 16 / 9;
    max-height: 280px;
}

.is-post-type-rosee_ressource .accessible-card__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
}

/* --------------------------------------------------------------------------
   Carte en ligne — à partir de 768 px
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {

    .is-post-type-rosee_ressource .accessible-card {
        flex-direction: row;

    }

    .is-post-type-rosee_ressource .accessible-card__image {
        flex: none;
        width: clamp(110px, 22%, 200px);
        aspect-ratio: 4 / 3;
        min-height: 278px;
        max-height: none;
        padding: var(--wp--preset--spacing--x-small, 0.75rem);
    }
}

/* assets/css/accordion.css */
.wp-block-accordion-heading__toggle {
    padding-block: 0;

}



/* Variante par défaut « Flèche » : la puce des listes de typography.css.
   Le SVG pointe vers le bas ; -90deg le tourne vers la droite, position fermée. */
.wp-block-accordion-heading__toggle-icon {
    color: transparent; /* cache le "+" natif */
    font-size: 0;
    width: 2rem;
    height: 2rem;
    margin-right: 1rem;
    display: inline-block;
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-right-black.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform-origin: center;

    @media (min-width: 1025px) {
        width: 3rem;
        height: 3rem;
        margin-right: 1.5rem;
    }
}

/*
.wp-block-accordion-item.is-open > .wp-block-accordion-heading,
.wp-block-accordion-heading__toggle[aria-expanded="true"],
.wp-block-accordion-heading.is-selected .wp-block-accordion-heading__toggle {
    .wp-block-accordion-heading__toggle-icon {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pointer-jaune.svg");
        transform: rotate(0deg);
    }
}
*/

/* Ouvert : le SVG reprend son orientation d'origine, vers le bas. */
.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    transform: rotate(90deg);
}

/* Grille en deux rangées : l'en-tête, puis le panneau replié à 0fr.
   La transition `grid-template-rows` du core interpole la hauteur. */
.wp-block-accordion-item {
    display: grid;
    grid-template-rows: auto 0fr;
}

.wp-block-accordion-item.is-open {
    grid-template-rows: auto 1fr;
}

/* Écart en-tête / panneau porté par le padding du panneau. */
.wp-block-accordion-item > .wp-block-accordion-panel {
    margin-block-start: 0;
}

.wp-block-accordion-panel {
    overflow: hidden;
    min-height: 0;
    padding-top: 0.75rem;
    padding-left: 3rem;

    @media (min-width: 1025px) {
        padding-top: 1rem;
        padding-left: 4.5rem;
    }

    /* Rétablit la boîte que le core masque en `display: none`. */
    &[inert] {
        display: block;
    }
}

/* --------------------------------------------------------------------------
   Variante « Pointeur ».
   -------------------------------------------------------------------------- */
.wp-block-accordion.is-style-pointeur .wp-block-accordion-heading__toggle-icon {
    background-color: currentColor; /* couleur = couleur du titre */
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pointer.svg");
    width: 35px;
    height: 35px;
    margin-right: 20px;
    transform: rotate(-90deg);
    @media (min-width: 1025px) {
        width: 96px;
        height: 76px;
    }
}

.wp-block-accordion.is-style-pointeur .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pointer-jaune.svg");
    transform: rotate(0deg);
}

.wp-block-accordion.is-style-pointeur .wp-block-accordion-panel {
    padding-left: 55px;

    @media (min-width: 1025px) {
        padding-left: 116px;
    }
}

/* assets/css/evenement.css */
/* Gabarit « Événement » : fond ligné, chapô, filets. */

.rosee-event {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large.svg");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;

    /*border-bottom: 4px solid var(--wp--preset--color--blanc);*/
}

.rosee-event-excerpt {
    max-width: 750px;
    margin-inline: auto;
}

.rosee-event-excerpt p {
    font-family: var(--wp--preset--font-family--title);
    font-size: var(--wp--preset--font-size--large);
    color: var(--wp--preset--color--rouge);
}


/* assets/css/single.css */
/* Gabarit `single` : fond de page à motif. Titre d'en-tête et lien de retour, partagés avec `single-evenement`. */

.rosee-single {
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/pattern-large-black.svg");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;

    border-bottom: 4px solid var(--wp--preset--color--blanc);
}

.rosee-single-title {
    max-width: 950px;
    margin-inline: auto;
}

/* Le lien de retour reprend la puce fléchée des listes, tournée vers la gauche. */
.rosee-retour-liste a::before {
    content: '';
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.3rem;
    vertical-align: -0.2rem;
    background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-black.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(90deg);
}



/* assets/css/sidebar.css */


/* La colonne latérale disparaît quand le pattern n'a rendu aucun widget. */
.wp-block-columns:has(.rosee-sidebar):not(:has(.rosee-sidebar-widget)) {
    > .wp-block-column:has(.rosee-sidebar) {
        display: none;
    }

    > .wp-block-column {
        flex-basis: 100% !important;
    }
}

.rosee-sidebar {
    order:-1;
    * {
        margin-block-start: 0;
    }

    .rosee-sidebar-widget {
        margin: var(--wp--preset--spacing--small);
    }

    .rosee-sidebar-widget:not(:last-child) {
        display: flex;
        flex-direction: column;
    }

    .rosee-sidebar-widget:not(:last-child)::after {
        margin-top: 1.5rem;
        content: '';
        display: block;
        height: 4px;
        width: 100%;
        border-radius: 4px;
        background-color:  var(--wp--preset--color--rouge);
    }

    .rosee-sidebar-widget h2 {
        margin-bottom: var(--wp--preset--spacing--small);
    }

    .rosee-post-meta {
        margin-bottom: 0 !important;
    }
    .wp-block-post-terms {
        display: flex;
    }

    .wp-block-buttons{
        justify-content: flex-start !important;
    }

    .rosee-sidebar-newsletter {
        padding-top: 0 !important;
        justify-content: center !important;
    }
}

/* assets/css/pagination.css */
.wp-block-query-pagination {
    margin: var(--wp--preset--font-size--large) auto 0 auto;
    align-items: center;
    justify-content: center;
}

.wp-block-query-pagination-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wp-block-query-pagination-numbers {
    border-radius: 999px;
    background-color: var(--wp--preset--color--blanc);
    overflow: hidden;
}

.page-numbers {
    padding: 0.75rem 1.5rem 0.6rem 1.5rem;
    text-decoration: none;
}

.page-numbers:not(:last-child) {
    border-right: 1px solid var(--wp--preset--color--gris-clair);
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.page-numbers {
    font-size: var(--wp--preset--font-size--small);
    padding: 0.75rem 1.5rem 0.6rem 1.5rem;
    text-decoration: none;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
a.page-numbers {
    &:hover, &:focus-visible {
        background-color: var(--wp--preset--color--jaune);
        text-decoration: underline;
        outline: none;
    }
}

.page-numbers.current {
    font-weight: normal !important;
    background-color: var(--wp--preset--color--jaune);
}

/* assets/css/scroll-reveal.css */
@media (prefers-reduced-motion: no-preference) and (min-width:1200px) {
    @supports (animation-timeline: view()) {
        .rosee-reveal,
        .rosee-reveal-list,
        .rosee-reveal-scale,
        .rosee-reveal-fade,
        .rosee-reveal-xs {
            animation: roseeRevealUp cubic-bezier(0.16, 1, 0.3, 1) both;
            animation-timeline: view();
            animation-range: entry 0% cover 100%;
        }

        /* Variante plus sobre : opacité, petit déplacement. */
        .rosee-reveal-xs {
            animation-name: roseeRevealUpSmall;
        }

        /* Variante plus sobre : opacité, petit déplacement. */
        .rosee-reveal-scale {
            animation-name: roseeRevealScale;
        }

        /* Variante plus sobre : opacité, petit déplacement. */
        .rosee-reveal-list {
            animation-name: roseeRevealList;
        }

        /* Variante sobre : opacité seule, sans déplacement. */
        .rosee-reveal-fade {
            animation-name: roseeRevealFade;
        }
    }
}

@keyframes roseeRevealScale {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes roseeRevealList {
    from {
        opacity: 0;
        transform: translateY(3.75rem);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes roseeRevealUpSmall {
    from {
        opacity: 0;
        transform: translateY(45.75rem);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes roseeRevealUp {
    from {
        opacity: 0;
        transform: translateY(75.75rem);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes roseeRevealFade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* assets/css/homepage.css */
/* HERO */
.rosee-page-header--home {



    @media (max-width: 1147px) {
        margin-bottom: 0;
    }

    @media (max-width: 1146px) {

        .wp-block-columns:not(.is-not-stacked-on-mobile) {
            flex-wrap: wrap !important;

            > .wp-block-column {
                flex-basis: 100% !important;
            }
        }
    }

    .wp-block-heading {
        br {
            display: none;
            @media (min-width: 1510px) {
                display: block;
            }
        }
    }
}

.rosee-page-header--home .grid-3-cols {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;

    @media (min-width: 1200px) {
        grid-template-columns: 54% 1fr 1fr;

        .rosee-logo-heading {
            grid-row: 1;
            grid-column: 1 / span 1;
        }

        .rosee-carte {
            grid-row: 1;
            grid-column: 2 / span 2;
        }
    }
}

.rosee-page-header--home .rosee-logo-heading {
    margin-bottom: var(--wp--preset--spacing--medium);

    @media (min-width: 1200px) {
        margin-bottom: 0;
    }
}

.rosee-page-header--home .rosee-logo-heading .wp-block-image {
    margin-bottom: var(--wp--preset--spacing--medium);

    @media (min-width: 1200px) {
        margin-bottom: var(--wp--preset--spacing--large);
    }
}

.rosee-page-header--home .rosee-logo-heading h1 {
    text-align: center;
    text-transform: none;
    margin: 0 0 var(--wp--preset--spacing--medium) 0;
    @media (min-width: 1200px) {
        text-align: left;
    }
}

.rosee-page-header--home .rosee-logo-heading .wp-block-buttons {
    justify-content: center;

    @media (min-width: 1200px) {
        justify-content: flex-start;
    }
}

.rosee-page-header--home .rosee-carte {
    max-width: 850px;
    margin: 0 auto;
    align-self: end;
    @media (min-width: 1200px) {
        position: relative;
        top: 190px;
        left: -90px;
        width: 620px;
    }

    @media (min-width: 1440px) {
        position: relative;
        top: 260px;
        left: -150px;
        width: 790px;
    }

    @media (min-width: 1510px) {
        max-width: none;
        position: relative;
        top: 230px;
        left: -180px;
        width: 840px;
    }
}

/* / HERO */



/* RENDEZ-VOUS */
.rosee-event-section-header {

    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: 0.75rem;

    text-align: left;


    &::before, &::after {
        content: '';
        display: block;
        width: 100px;
        height: 100px;
        z-index: 0;
        background-size: contain;
        background-position: top;
        background-repeat: no-repeat;
        margin-left: auto;
    }

    &::before {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/calendar.svg");
        transform: rotate(20deg) translateY(10%);
    }

    &::after {
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/etoile.svg");
        display: none;
    }

}

@media (min-width: 576px) {
    .rosee-event-section-header  {
        &::before, &::after {
            width: 80px;
            height: 80px;
        }
    }
}

@media (min-width: 1100px) {
    .rosee-event-section-header {
        display: block;
        text-align: center;


        &::before, &::after {
            position: absolute;
            width: 80px;
            height: 80px;
        }

        &::before {
            top: -50%;
            left: 5%;
            transform: rotate(-20deg);
        }

        &::after {
            display: block;
            top: -50%;
            right: 5%;
            transform: rotate(20deg);
        }
    }

    .rosee-small-container {
        text-align: center;
    }
}


@media (min-width: 1200px) {
    .rosee-event-section-header {
        &::before, &::after {
            width: 136px;
            height: 136px;
        }

        &::before {
            top: -20%;
            left: 3%;
        }

        &::after {
            top: 100%;
            right: 5%;
        }
    }
}
/* / RENDEZ-VOUS */


/* FAIRE TIERS LIEU */
.rosee-faire-tiers-lieu-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--wp--preset--spacing--small);

    &::before {
        content:'';
        background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/loading.svg");
        background-size: contain;
        background-repeat: no-repeat;
        width: 60px;
        height: 60px;
        aspect-ratio: 1;
    }

    @media (min-width: 576px) {
        gap: var(--wp--preset--spacing--medium);
        &::before {
            display: block;
            width: 80px;
            height: 80px;
        }

    }

    @media (min-width: 1200px) {
        &::before {
            width: 120px;
            height: 120px;
        }

    }
}
/* / FAIRE TIERS LIEU */

/* assets/css/faq.css */
.rosee-faq {
    h2 {
        position: relative;
        &::before {
            content: '';
            background-image: url("https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/faq.svg");
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
            display: none;
            right: 0;
            width: 60px;
            height: 90px;


            @media(min-width: 576px) {
                display: block;
            }

            @media (min-width: 993px) {
                right: 0;
                width: 150px;
                height: 200px;
                transform: rotate(-20deg);
            }
        }
    }
}

/* assets/css/form.css */
.wpcf7 {
    --rosee-form-erreur: var(--rosee-danger);
}

.wpcf7 fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.wpcf7 fieldset legend {
    display: none;
}

.wpcf7 fieldset:last-of-type {
    margin-bottom: var(--wp--preset--spacing--small);
}

.wpcf7 legend {
    padding: 0;
    margin-bottom: var(--wp--preset--spacing--small);
    font-family: var(--wp--preset--font-family--title);
    font-size: var(--wp--preset--font-size--large);
    line-height: 1.1;
}

.wpcf7 .hidden-fields-container {
    margin: 0;
}

.wpcf7 .rosee-form-obligatoires {
    font-size: var(--wp--preset--font-size--small);
    margin-bottom: var(--wp--preset--spacing--small);
}

.wpcf7 label {
    display: block;
    margin-bottom: var(--wp--preset--spacing--x-small);
}

.wpcf7 label span[aria-hidden="true"] {
    color: var(--rosee-danger);
}

.wpcf7 .wpcf7-form-control-wrap {
    display: block;
    margin-top: var(--wp--preset--spacing--x-small);
}

/* --------------------------------------------------------------------------
   2. CHAMPS
   -------------------------------------------------------------------------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea,
.wp-block-search__input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;

    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--small);
    line-height: 1.4;
    color: var(--wp--preset--color--noir);

    background-color: var(--wp--preset--color--blanc);
    border: 1px solid var(--wp--preset--color--noir);
    border-radius: 8px;
    padding: var(--wp--preset--spacing--x-small);
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wp-block-search__input {
    border-radius: 999px;
}

.wpcf7 textarea {
    min-height: 12rem;
    resize: vertical;
}


.wpcf7-checkbox {
    line-height: 1.3 !important;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
    display: flex;
    flex-direction: column;
}


.wpcf7-checkbox label, .wpcf7-radio label, .wpcf7-acceptance label {
    display: inline-flex;
    align-items: center;
    gap: var(--wp--preset--spacing--x-small);
}

.wpcf7-checkbox input, .wpcf7-radio input, .wpcf7-acceptance input {
    width: 1.65rem;
    height: 1.65rem;
    margin: 0;
}

.wpcf7 ::placeholder {
    color: var(--wp--preset--color--noir);
    opacity: 0.65;
}

/* --------------------------------------------------------------------------
   3. FOCUS — WCAG 2.4.7 / RGAA 7.6
   Un formulaire est l'endroit où la navigation au clavier est la plus
   critique : l'anneau n'est jamais supprimé, et il est nettement visible.
   -------------------------------------------------------------------------- */
.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible,
.wp-block-search__input:focus-visible {
    outline: 3px solid var(--wp--preset--color--noir);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   4. ERREURS — RGAA 3.1 : jamais la couleur seule
   L'épaississement de la bordure double le signal chromatique, et CF7 affiche
   déjà un message textuel relié au champ (aria-invalid + .wpcf7-not-valid-tip).
   -------------------------------------------------------------------------- */
.wpcf7 .wpcf7-not-valid {
    border-width: 2px;
    border-color: var(--rosee-form-erreur);
}

.wpcf7 .wpcf7-not-valid-tip {
    color: var(--rosee-form-erreur);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    margin-top: var(--wp--preset--spacing--x-small);
}

.wpcf7 form .wpcf7-response-output {
    margin: var(--wp--preset--spacing--small) 0 0;
    padding: var(--wp--preset--spacing--x-small);
    border-radius: 8px;
    border-width: 2px;
    font-weight: 600;
}

.wpcf7 form > p {
    margin: 0 0 var(--wp--preset--spacing--small);
}

.wpcf7 form > p:last-of-type {
    margin-bottom: 0;
}

.wp-block-search__inside-wrapper {
    flex-direction: column;
    align-items: center;
    gap: var(--wp--preset--spacing--x-small);

    @media (min-width: 577px) {
        flex-direction: row;
    }
}


input[type="submit"] {
    border-radius: 999px;
}


.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--rosee-warning);
    background-color: var(--rosee-warning);
}


.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--rosee-success);
    background-color: var(--rosee-success);
    color: var(--wp--preset--color--blanc);
}

/* assets/css/image-theme.css */
/* --------------------------------------------------------------------------
   Le cercle — commun aux trois variantes rondes.
   -------------------------------------------------------------------------- */
.wp-block-image.is-style-ronde,
.wp-block-image.is-style-ronde-droite,
.wp-block-image.is-style-ronde-nue,
.rosee-rounded-image { /* alias historique, conservé pour le contenu publié */
    position: relative;
    overflow: hidden;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border: 4px solid var(--wp--preset--color--gris-clair);
        aspect-ratio: 1/1;
        border-radius: 100%;
    }
}

.has-gris-clair-background-color .wp-block-image.is-style-ronde {
    img {
        border-color: var(--wp--preset--color--blanc);
    }
}

/* --------------------------------------------------------------------------
   La flèche — variantes « Ronde » et « Ronde, flèche à droite ».
   -------------------------------------------------------------------------- */

/* Image et flèche partagent la première cellule, la légende occupe la seconde.
   La flèche se cale ainsi sur l'image, pas sur la figure. */
.wp-block-image:is(.is-style-ronde, .is-style-ronde-droite),
.rosee-rounded-image {
    display: grid;
    grid-template-columns: 1fr;
}

.wp-block-image:is(.is-style-ronde, .is-style-ronde-droite) > *,
.rosee-rounded-image > * {
    grid-area: 1 / 1;
}

.wp-block-image:is(.is-style-ronde, .is-style-ronde-droite) > figcaption,
.rosee-rounded-image > figcaption {
    grid-area: 2 / 1;
}

/* Légende centrée sur l'axe du cercle, en lignes courtes. Vaut aussi pour
   « Ronde, sans flèche », qui n'est pas une grille. */
.wp-block-image:is(.is-style-ronde, .is-style-ronde-droite, .is-style-ronde-nue) > figcaption,
.rosee-rounded-image > figcaption {
    max-width: 40ch;
    margin-inline: auto;
    text-align: center;
}

/* La hauteur se déduit de la largeur, jamais de celle de la figure.
   Les deux SVG de flèche font 277,9 × 272,4 : `contain` dans une boîte carrée
   les affiche entiers. */
.wp-block-image.is-style-ronde::before,
.wp-block-image.is-style-ronde-droite::before,
.rosee-rounded-image::before {
    content: '';
    grid-area: 1 / 1;
    align-self: end;
    justify-self: start;
    background-image: url('https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-circle-bleu.svg');
    background-repeat: no-repeat;
    background-size: contain;
    width: 20%;
    aspect-ratio: 1;
    margin: 0 0 10px 3%;
    z-index: 1;
}

/* Sur fond bleu, la flèche bleue disparaîtrait : variante claire. */
.has-bleu-background-color .wp-block-image.is-style-ronde::before,
.has-bleu-background-color .wp-block-image.is-style-ronde-droite::before,
.has-bleu-background-color .rosee-rounded-image::before {
    background-image: url('https://dev.tierslieuxoccitanie.com/wp-content/themes/rosee/assets/css/../images/arrow-circle.svg');
}

/* Flèche à droite. `.rosee-arrow-right` reste accepté pour le contenu publié. */
.wp-block-image.is-style-ronde-droite::before,
.rosee-rounded-image.rosee-arrow-right::before {
    justify-self: end;
    margin-inline: 0 3%;
    transform: rotate(-90deg);
}

/* --------------------------------------------------------------------------
   Image mise en avant, sur un article ou un événement.
   -------------------------------------------------------------------------- */
.single .wp-block-post-featured-image {
    border-radius: 15px;
    overflow: hidden;
    line-height: 0;
    margin-bottom: var(--wp--preset--spacing--medium);
    aspect-ratio: 16/9;

    img {
        width: 100%;
        height: 100%;
    }
}

/* assets/css/embed.css */
/* Bloc « Intégration » : coins arrondis, cadre 16/9. */

.wp-block-embed {
    border-radius: 15px;
    overflow: hidden;
    line-height: 0;
}

.wp-block-embed iframe {
    max-width: none;
    width: 100%;
    aspect-ratio: 16/9;
}

/* style.css */
/*
Theme Name: La Rosée
Theme URI: https://tierslieuxoccitanie.com
Description: Thème hybride sur mesure pour La Rosée, le réseau des tiers-lieux d'Occitanie. Core-first, sobre, accessible. S'appuie sur theme.json, les blocs natifs et les patterns.
Version: 1.1.1
Author: Thomas Denning Bechier & Alexandre Cornet La Soierie
Author URI: https://lap-lasoirie.fr
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 8.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rosee
Tags: full-site-editing, block-styles, accessibility-ready, block-patterns
*/

/*
 * La mise en forme vit dans theme.json et dans assets/css, une feuille par bloc
 * ou par gabarit, chargées par rosee_css_partials(). Ce fichier ne garde que les
 * déclarations globales qu'aucune des deux ne peut porter.
 */

:root {
    accent-color: var(--wp--preset--color--jaune);
    --rosee-danger: #dc3545;
    --rosee-warning: #ffc107;
    --rosee-success: #198754;
}

.has-danger-color {
    color: var(--rosee-danger);
}

.has-warning-color {
    color: var(--rosee-warning);
}
