.roller-publication {
    --rp-bg: #f7f7f9;
    --rp-card: #ffffff;
    --rp-text: #17171b;
    --rp-muted: #6b6b73;
    --rp-line: #e7e7ec;
    --rp-primary: #202124;
    --rp-primary-contrast: #ffffff;
    max-width: 1180px;
    margin: 32px auto;
    padding: 0 16px;
    color: var(--rp-text);
}

.roller-publication * { box-sizing: border-box; }
.roller-publication h1,
.roller-publication h2,
.roller-publication p { margin-top: 0; }

.roller-topbar,
.roller-section-heading,
.roller-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.roller-topbar { margin-bottom: 22px; }
.roller-topbar h1 { margin-bottom: 4px; font-size: clamp(28px, 4vw, 42px); }
.roller-topbar p { margin-bottom: 0; color: var(--rp-muted); }

.roller-kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--rp-muted);
    margin-bottom: 5px;
}

.roller-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
    align-items: start;
}

.roller-card {
    background: var(--rp-card);
    border: 1px solid var(--rp-line);
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 8px 30px rgba(0,0,0,.04);
}

.roller-section-heading { margin-bottom: 22px; }
.roller-section-heading h2,
.roller-articles-card h2 { margin-bottom: 0; }

.roller-form { display: grid; gap: 22px; }
.roller-field { display: grid; gap: 8px; margin: 0; }
.roller-field > span { font-weight: 750; }
.roller-field strong { color: #b42318; }
.roller-field small { color: var(--rp-muted); line-height: 1.4; }

.roller-field input[type="text"],
.roller-field select,
.roller-login-card input[type="text"],
.roller-login-card input[type="password"] {
    width: 100%;
    min-height: 48px;
    border: 1px solid #d7d7dd;
    border-radius: 11px;
    background: #fff;
    padding: 10px 12px;
    font: inherit;
}

.roller-field input[type="file"] {
    width: 100%;
    padding: 13px;
    border: 1px dashed #c9c9d1;
    border-radius: 11px;
    background: #fafafd;
}

.roller-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.roller-upload-field {
    align-content: start;
    border: 1px solid var(--rp-line);
    border-radius: 14px;
    padding: 16px;
    background: #fcfcfd;
}

.roller-current-image img {
    display: block;
    width: 100%;
    max-width: 260px;
    height: auto;
    border-radius: 10px;
}

.roller-gallery-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.roller-gallery-preview img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
}

.roller-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.roller-tag { position: relative; }
.roller-tag input { position: absolute; opacity: 0; pointer-events: none; }
.roller-tag span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid var(--rp-line);
    background: #fff;
    cursor: pointer;
    font-size: 14px;
}
.roller-tag input:checked + span {
    background: var(--rp-primary);
    color: var(--rp-primary-contrast);
    border-color: var(--rp-primary);
}

.roller-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-top: 4px;
}

.roller-button,
.roller-login-card input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 46px;
    padding: 10px 16px;
    border-radius: 11px;
    border: 1px solid transparent;
    font-weight: 750;
    text-decoration: none !important;
    cursor: pointer;
    line-height: 1.2;
    font-size: 15px;
}

.roller-button-primary,
.roller-login-card input[type="submit"] {
    background: var(--rp-primary);
    color: var(--rp-primary-contrast) !important;
}
.roller-button-secondary { background: #fff; color: var(--rp-text) !important; border-color: var(--rp-line); }
.roller-button-ghost { background: transparent; color: var(--rp-text) !important; border-color: transparent; }
.roller-link { font-weight: 700; text-decoration: none; }

.roller-article-list { display: grid; gap: 9px; margin-top: 16px; }
.roller-article-item {
    display: grid;
    gap: 7px;
    padding: 13px;
    border: 1px solid var(--rp-line);
    border-radius: 12px;
    text-decoration: none !important;
    color: inherit !important;
    background: #fff;
}
.roller-article-item:hover { border-color: #bdbdc7; }
.roller-article-title { font-weight: 750; line-height: 1.25; }
.roller-article-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--rp-muted); font-size: 12px; }

.roller-status {
    display: inline-flex;
    padding: 4px 7px;
    border-radius: 999px;
    background: #f0f0f3;
    color: #50505a;
    font-weight: 700;
}
.roller-status-publish { background: #e9f8ef; color: #176b3a; }
.roller-status-draft { background: #fff3db; color: #835d09; }

.roller-notice {
    margin-bottom: 18px;
    padding: 13px 15px;
    border-radius: 12px;
    border: 1px solid;
    font-weight: 650;
}
.roller-notice-success { background: #effaf3; border-color: #b8e5c8; color: #176b3a; }
.roller-notice-warning { background: #fff8e8; border-color: #eed394; color: #7b570c; }
.roller-notice-error { background: #fff0ef; border-color: #efb7b3; color: #92251f; }

.roller-login-wrap { max-width: 520px; margin-top: 70px; }
.roller-login-card h2 { font-size: 32px; margin-bottom: 8px; }
.roller-login-card > p { color: var(--rp-muted); }
.roller-login-card form { display: grid; gap: 13px; }
.roller-login-card label { display: grid; gap: 6px; font-weight: 700; }
.roller-login-card .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.roller-login-card .login-submit { margin-bottom: 0; }
.roller-login-card input[type="submit"] { width: 100%; }

.roller-editor-wrap .wp-editor-wrap { border-radius: 10px; overflow: hidden; }
.roller-editor-wrap .wp-editor-container { border-color: #d7d7dd; }
.roller-editor-wrap .mce-top-part::before { box-shadow: none; }

.roller-muted,
.roller-empty-small { color: var(--rp-muted); }
.roller-empty-small { padding: 10px 12px; background: #f7f7f9; border-radius: 10px; font-size: 14px; }

@media (max-width: 900px) {
    .roller-layout { grid-template-columns: 1fr; }
    .roller-side { order: 2; }
}

@media (max-width: 640px) {
    .roller-publication { margin: 18px auto; padding: 0 10px; }
    .roller-card { padding: 16px; border-radius: 14px; }
    .roller-topbar,
    .roller-section-heading { align-items: flex-start; flex-direction: column; }
    .roller-grid-2 { grid-template-columns: 1fr; }
    .roller-actions { display: grid; grid-template-columns: 1fr; }
    .roller-button { width: 100%; }
    .roller-topbar .roller-button { width: auto; }
}

/* Articles créés depuis /actus/ : lecture plus aérée, sans modifier les anciens articles. */
.roller-featured-in-content {
    margin: 0 0 clamp(26px, 4vw, 42px);
}

.roller-featured-in-content figure,
.roller-featured-in-content img {
    margin: 0;
}

.roller-featured-in-content img {
    display: block;
    width: 100%;
    height: auto;
}

.roller-article-content {
    line-height: 1.75;
}

.roller-article-content p {
    margin: 0 0 1.25em !important;
    line-height: 1.75;
}

.roller-article-content h2,
.roller-article-content h3,
.roller-article-content h4 {
    line-height: 1.25;
    margin-top: 1.7em !important;
    margin-bottom: .65em !important;
}

.roller-article-content h2:first-child,
.roller-article-content h3:first-child,
.roller-article-content h4:first-child {
    margin-top: 0 !important;
}

.roller-article-content ul,
.roller-article-content ol {
    margin: 0 0 1.35em 1.4em;
}

.roller-article-content li + li {
    margin-top: .35em;
}

.roller-gallery-in-content {
    margin-top: clamp(28px, 4vw, 44px);
}

@media (max-width: 600px) {
    .roller-article-content {
        line-height: 1.68;
    }
    .roller-article-content p {
        margin-bottom: 1.1em !important;
        line-height: 1.68;
    }
}
\n\n/* v1.0.4 — charte Roller Club + médias + articles */\n#masthead{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:99990!important;background:#fff!important;box-shadow:0 8px 22px rgba(16,42,86,.12)!important}\nbody.admin-bar #masthead{top:32px!important}\n@media(max-width:782px){body.admin-bar #masthead{top:46px!important}}\n\n.roller-publication{--rp-bg:#eef5ff;--rp-text:#1c2940;--rp-muted:#637089;--rp-line:#dfe8f5;--rp-primary:#1f4ea0;--rp-navy:#102a56;--rp-orange:#ff6b35;margin-top:28px;margin-bottom:56px}\n.roller-topbar{padding:24px 26px;border-radius:22px;background:linear-gradient(135deg,#102a56,#1f4ea0);color:#fff;box-shadow:0 16px 38px rgba(16,42,86,.16)}\n.roller-topbar h1{color:#fff}.roller-topbar p{color:rgba(255,255,255,.82)}.roller-topbar .roller-kicker{color:#ffb091}\n.roller-card{border-radius:22px;box-shadow:0 12px 34px rgba(16,42,86,.08)}\n.roller-publication h2{color:#102a56}.roller-link{color:#1f4ea0!important}\n.roller-button-primary,.roller-login-card input[type=submit]{background:#ff6b35!important}\n.roller-article-item:hover{border-color:rgba(31,78,160,.35);box-shadow:0 8px 20px rgba(16,42,86,.07)}\n.roller-remove-check{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:700;color:#8d3d2a}\n.roller-gallery-thumb{display:grid;gap:5px;padding:6px;border:1px solid var(--rp-line);border-radius:10px;background:#fff}\n.roller-gallery-thumb span{font-size:11px;color:#8d3d2a;white-space:nowrap}.roller-gallery-thumb input{vertical-align:middle}\n\nbody.single-post{background:#eef5ff!important}\nbody.single-post .ast-primary-header-bar{background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%)!important;border-bottom:1px solid rgba(31,78,160,.14)!important}\nbody.single-post .site-content{background:linear-gradient(180deg,#dfeafb 0%,#eef5ff 160px,#f7faff 100%)!important}\nbody.single-post .site-main>article.post{max-width:1100px!important;margin:34px auto 70px!important;padding:0 38px 40px!important;background:#fff!important;border:1px solid rgba(31,78,160,.10)!important;border-radius:28px!important;overflow:hidden;box-shadow:0 18px 48px rgba(16,42,86,.11)!important}\nbody.single-post .entry-header{margin:0 -38px 34px!important;padding:36px 38px 30px!important;background:linear-gradient(135deg,#102a56 0%,#173c79 58%,#1f4ea0 100%)!important;color:#fff!important}\nbody.single-post .entry-title{color:#fff!important;font-size:clamp(2rem,4vw,3.4rem)!important;line-height:1.05!important;margin-bottom:10px!important}\nbody.single-post .entry-meta,body.single-post .entry-meta a{color:rgba(255,255,255,.72)!important}\nbody.single-post .roller-featured-in-content{margin:0 0 34px!important}\nbody.single-post .roller-featured-in-content img{display:block;width:100%;border-radius:20px;max-height:620px;object-fit:cover}\nbody.single-post .roller-article-content{font-size:1.05rem;line-height:1.75;color:#26354e;max-width:850px;margin:0 auto}\nbody.single-post .roller-article-content h2{color:#102a56!important;font-size:clamp(1.55rem,2.6vw,2.15rem)!important;margin-top:1.7em!important;padding-bottom:10px}\nbody.single-post .roller-article-content h2:after{content:"";display:block;width:58px;height:4px;border-radius:99px;background:#ff6b35;margin-top:10px}\nbody.single-post .roller-article-content h3{color:#1f4ea0!important}\nbody.single-post .roller-gallery-in-content{max-width:920px;margin:34px auto 0}\nbody.single-post .roller-gallery-in-content .wp-block-gallery{gap:10px!important}\nbody.single-post .roller-gallery-in-content img{border-radius:14px}\n@media(max-width:760px){body.single-post .site-main>article.post{margin:14px 10px 42px!important;padding:0 18px 26px!important;border-radius:20px!important}body.single-post .entry-header{margin:0 -18px 24px!important;padding:26px 18px 22px!important}body.single-post .roller-featured-in-content{margin-bottom:24px!important}body.single-post .roller-featured-in-content img{border-radius:14px}body.single-post .roller-article-content{font-size:1rem}}\n
body.page-id-678 .site-content{background:linear-gradient(180deg,#eef5ff 0%,#f7faff 48%,#fff 100%)!important}
body.single-post .entry-content>p,body.single-post .entry-content>ul,body.single-post .entry-content>ol{max-width:850px;margin-left:auto;margin-right:auto;line-height:1.75;color:#26354e}
body.single-post .entry-content>h2{max-width:850px;margin-left:auto!important;margin-right:auto!important;color:#102a56!important;font-size:clamp(1.55rem,2.6vw,2.15rem)!important;margin-top:1.7em!important;padding-bottom:10px}
body.single-post .entry-content>h2:after{content:"";display:block;width:58px;height:4px;border-radius:99px;background:#ff6b35;margin-top:10px}
body.single-post .entry-content>.wp-block-image,body.single-post .entry-content>.wp-block-gallery{max-width:920px;margin-left:auto;margin-right:auto}

/* v1.0.6 — aucun identifiant n'est saisi sur /actus/.
   La connexion est déléguée à la page native wp-login.php. */
.roller-login-action { margin: 22px 0 0; }
.roller-login-button { width: 100%; text-align: center; }


/* v1.0.7 — publication ultra-simple "Cours du mardi" */
.roller-mode-switch{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:18px 0 22px;
}
.roller-mode-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    background:#fff;
    border:2px solid var(--rp-line);
    border-radius:18px;
    color:var(--rp-text)!important;
    text-decoration:none!important;
    box-shadow:0 8px 22px rgba(16,42,86,.05);
}
.roller-mode-card:hover,
.roller-mode-card.is-active{
    border-color:#1f4ea0;
    box-shadow:0 10px 26px rgba(16,42,86,.10);
}
.roller-mode-icon{font-size:28px;line-height:1}
.roller-mode-card strong{display:block;color:#102a56;font-size:16px}
.roller-mode-card small{display:block;color:var(--rp-muted);margin-top:3px;line-height:1.35}
.roller-welcome-card h2{margin-bottom:10px}
.roller-welcome-card p{margin-bottom:0;color:var(--rp-muted);line-height:1.65}
.roller-tuesday-help{
    margin:-2px 0 20px;
    padding:12px 14px;
    border-radius:12px;
    background:#eef5ff;
    color:#40516d;
}
.roller-tuesday-form textarea{
    width:100%;
    min-height:150px;
    resize:vertical;
}
.roller-tuesday-preview-note{
    padding:13px 15px;
    border-radius:12px;
    background:#fff8e8;
    border:1px solid #eed394;
    color:#684d17;
    line-height:1.5;
}
.roller-tuesday-publish{
    min-width:210px;
}
@media(max-width:640px){
    .roller-mode-switch{grid-template-columns:1fr;gap:10px}
    .roller-mode-card{padding:14px}
    .roller-tuesday-publish{width:100%;min-width:0}
}


/* v1.0.8 — smartphone-first pour le mode Cours du mardi */
.roller-mobile-title h2{
    margin:0 0 8px;
    font-size:clamp(1.7rem,5vw,2.15rem);
}
.roller-mobile-title p{
    margin:0 0 22px;
    color:var(--rp-muted);
    line-height:1.5;
}
.roller-mobile-step{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:18px 0;
    border-top:1px solid var(--rp-line);
}
.roller-mobile-step:first-of-type{border-top:0;padding-top:0}
.roller-step-number{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-weight:900;
    background:#102a56;
    color:#fff;
    box-shadow:0 8px 20px rgba(16,42,86,.16);
}
.roller-step-content{min-width:0}
.roller-big-label{
    display:block;
    margin:3px 0 10px;
    color:#102a56;
    font-size:1.05rem;
    font-weight:900;
}
.roller-big-label span{
    color:var(--rp-muted);
    font-size:.82rem;
    font-weight:700;
}
.roller-tuesday-form textarea{
    font-size:16px!important;
    line-height:1.55;
    min-height:170px;
    border-radius:16px!important;
}
.roller-field-note{
    margin:7px 0 0;
    color:var(--rp-muted);
    font-size:.84rem;
}
.roller-photo-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
}
.roller-photo-button{
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:2px dashed #9bb3dc;
    border-radius:16px;
    background:#f6f9ff;
    color:#173c79;
    text-align:center;
    cursor:pointer;
    padding:14px;
}
.roller-photo-button span{font-size:1.45rem}
.roller-photo-button strong{font-size:1rem}
.roller-photo-name{
    margin-top:8px;
    color:#26734d;
    font-size:.86rem;
    font-weight:800;
    overflow-wrap:anywhere;
}
.roller-current-image-mobile img{
    max-width:100%;
    height:auto;
    border-radius:14px;
    margin-bottom:10px;
}
.roller-theme-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.roller-theme-choice{margin:0!important}
.roller-theme-choice input{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
}
.roller-theme-choice span{
    min-height:58px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 12px;
    border:2px solid #dbe4f2;
    border-radius:14px;
    background:#fff;
    color:#34445f;
    font-weight:800;
    cursor:pointer;
    transition:.15s ease;
}
.roller-theme-choice span b{
    font-size:1.25rem;
    font-weight:400;
}
.roller-theme-choice input:checked + span{
    border-color:#1f4ea0;
    background:#eef5ff;
    color:#102a56;
    box-shadow:0 6px 16px rgba(31,78,160,.10);
}
.roller-date-details{
    margin:14px 0 18px;
    padding:0;
    border:1px solid #e3eaf5;
    border-radius:14px;
    background:#fafcff;
    overflow:hidden;
}
.roller-date-details summary{
    cursor:pointer;
    padding:13px 14px;
    color:#52617a;
    font-size:.87rem;
    font-weight:800;
}
.roller-date-field{
    padding:0 14px 14px;
}
.roller-date-field input{
    min-height:48px;
    font-size:16px!important;
}
.roller-auto-info{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:13px 14px;
    border-radius:14px;
    background:#f2f7ff;
    color:#40516d;
    line-height:1.45;
}
.roller-auto-info span{font-size:1.2rem}
.roller-auto-info p{margin:0}
.roller-mobile-publish-bar{
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:20px;
}
.roller-mobile-publish-bar .roller-tuesday-publish{
    flex:1;
    min-height:54px;
    font-size:1rem;
}

@media(max-width:640px){
    .roller-publication{
        padding-left:10px;
        padding-right:10px;
    }
    .roller-card{
        border-radius:18px;
        padding:18px 15px;
    }
    .roller-header{
        margin-bottom:14px;
    }
    .roller-header h1{
        font-size:1.55rem;
    }
    .roller-header p{
        font-size:.9rem;
    }
    .roller-mode-switch{
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin:12px 0 16px;
    }
    .roller-mode-card{
        min-width:0;
        padding:11px 9px;
        border-radius:14px;
        gap:8px;
    }
    .roller-mode-icon{
        font-size:21px;
        flex:0 0 auto;
    }
    .roller-mode-card strong{
        font-size:.86rem;
        line-height:1.15;
    }
    .roller-mode-card small{
        display:none;
    }
    .roller-layout{
        display:block!important;
    }
    .roller-side{
        margin-top:18px;
    }
    .roller-mobile-step{
        grid-template-columns:34px minmax(0,1fr);
        gap:9px;
        padding:17px 0;
    }
    .roller-step-number{
        width:32px;
        height:32px;
        font-size:.88rem;
    }
    .roller-big-label{
        font-size:1rem;
        margin-top:1px;
    }
    .roller-theme-grid{
        gap:7px;
    }
    .roller-theme-choice span{
        min-height:54px;
        padding:8px 9px;
        font-size:.87rem;
        line-height:1.15;
    }
    .roller-mobile-publish-bar{
        position:sticky;
        bottom:0;
        z-index:50;
        margin:18px -15px -18px;
        padding:10px 15px calc(10px + env(safe-area-inset-bottom));
        background:rgba(255,255,255,.96);
        backdrop-filter:blur(8px);
        border-top:1px solid #dfe7f2;
        box-shadow:0 -10px 28px rgba(16,42,86,.10);
    }
    .roller-mobile-publish-bar .roller-button{
        min-height:54px;
        border-radius:14px!important;
    }
    .roller-mobile-publish-bar .roller-button-ghost{
        display:none;
    }
}


/* v1.0.9 — écran d'accueil séparé + sous-écrans dédiés */
.roller-home-choice{
    max-width:780px;
    margin:0 auto;
}
.roller-home-intro{
    text-align:center;
    margin:12px 0 22px;
}
.roller-home-intro h2{
    margin:4px 0 8px;
    color:#102a56;
}
.roller-home-intro p{
    margin:0;
    color:var(--rp-muted);
}
.roller-home-buttons{
    display:grid;
    gap:14px;
}
.roller-home-button{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 28px;
    align-items:center;
    gap:14px;
    min-height:92px;
    padding:16px 18px;
    border:2px solid #dce5f3;
    border-radius:20px;
    background:#fff;
    color:#102a56!important;
    text-decoration:none!important;
    box-shadow:0 10px 28px rgba(16,42,86,.07);
}
.roller-home-button:hover{
    border-color:#1f4ea0;
    transform:translateY(-1px);
}
.roller-home-button-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:#eef5ff;
    font-size:1.8rem;
}
.roller-home-button strong{
    display:block;
    font-size:1.08rem;
}
.roller-home-button small{
    display:block;
    margin-top:4px;
    color:var(--rp-muted);
    line-height:1.35;
}
.roller-home-button>b{
    font-size:2rem;
    font-weight:400;
    color:#7f93b5;
}
.roller-home-button-tuesday{
    border-color:#f2c8b7;
    background:linear-gradient(180deg,#fff 0%,#fff9f6 100%);
}
.roller-home-button-tuesday .roller-home-button-icon{
    background:#fff0e9;
}
.roller-home-recent{
    margin-top:22px;
}
.roller-dedicated-topbar{
    max-width:900px;
    margin:8px auto 12px;
}
.roller-back-link{
    display:inline-flex;
    min-height:42px;
    align-items:center;
    color:#173c79!important;
    font-weight:900;
    text-decoration:none!important;
}
.roller-dedicated-main{
    max-width:900px;
    margin:0 auto;
}
.roller-theme-other-wrap{
    display:none;
    margin-top:12px;
    padding:13px;
    border-radius:14px;
    background:#fff8f4;
    border:1px solid #f0c9b8;
}
.roller-theme-other-wrap.is-visible{
    display:block;
}
.roller-theme-other-wrap input{
    width:100%;
    min-height:52px;
    font-size:16px!important;
    border-radius:12px!important;
}

@media(max-width:640px){
    .roller-home-intro{
        text-align:left;
        margin-top:6px;
    }
    .roller-home-buttons{
        gap:10px;
    }
    .roller-home-button{
        grid-template-columns:46px minmax(0,1fr) 20px;
        min-height:82px;
        padding:13px 12px;
        border-radius:17px;
        gap:10px;
    }
    .roller-home-button-icon{
        width:44px;
        height:44px;
        border-radius:13px;
        font-size:1.45rem;
    }
    .roller-home-button strong{
        font-size:.98rem;
        line-height:1.2;
    }
    .roller-home-button small{
        font-size:.78rem;
    }
    .roller-home-button>b{
        font-size:1.6rem;
    }
    .roller-dedicated-topbar{
        margin-top:2px;
        margin-bottom:8px;
    }
    .roller-back-link{
        min-height:40px;
        font-size:.9rem;
    }
}


/* v1.0.10 — suppression simple pour les deux types de publications */
.roller-article-row{
    display:flex!important;
    align-items:center;
    gap:10px;
}
.roller-article-edit-link{
    display:flex;
    flex:1;
    min-width:0;
    flex-direction:column;
    gap:5px;
    color:inherit!important;
    text-decoration:none!important;
}
.roller-delete-form{
    flex:0 0 auto;
    margin:0!important;
}
.roller-delete-button{
    min-height:42px;
    padding:8px 11px;
    border:1px solid #e7b9b9;
    border-radius:11px;
    background:#fff5f5;
    color:#a52a2a;
    font-weight:900;
    cursor:pointer;
}
.roller-delete-button:hover{
    background:#ffe9e9;
    border-color:#d99595;
}
@media(max-width:640px){
    .roller-article-row{
        align-items:stretch;
        gap:8px;
    }
    .roller-article-edit-link{
        justify-content:center;
    }
    .roller-delete-button{
        min-height:48px;
        padding:8px 10px;
        font-size:.84rem;
    }
}


/* v1.0.11 — plusieurs photos + accroche du dernier cours sur l'accueil */
.roller-tuesday-existing-photos{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin:0 0 12px;
}
.roller-tuesday-existing-photo{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:7px;
    border:1px solid #dfe7f2;
    border-radius:12px;
    background:#fff;
}
.roller-tuesday-existing-photo img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:9px;
}
.roller-tuesday-existing-photo>span{
    color:#102a56;
    font-size:.75rem;
    font-weight:900;
}
.roller-tuesday-existing-photo small{
    color:#8a3a3a;
    font-size:.75rem;
}
.rcr-tuesday-home{
    background:linear-gradient(180deg,#fff7f2 0%,#fff 100%);
    padding:28px 24px;
}
.rcr-tuesday-home-inner{
    max-width:1216px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid rgba(255,107,53,.20);
    border-radius:28px;
    background:#fff;
    box-shadow:0 16px 40px rgba(16,42,86,.10);
}
.rcr-tuesday-home-inner.has-image{
    display:grid;
    grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
}
.rcr-tuesday-home-media{
    display:block;
    min-height:300px;
    background:#eef5ff;
}
.rcr-tuesday-home-img{
    width:100%;
    height:100%;
    min-height:300px;
    max-height:390px;
    object-fit:cover;
    display:block;
}
.rcr-tuesday-home-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:34px 38px;
}
.rcr-tuesday-home-kicker{
    margin:0 0 8px!important;
    color:#d94d19!important;
    font-size:.82rem!important;
    font-weight:900!important;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.rcr-tuesday-home-meta{
    margin:0 0 8px!important;
    color:#637089!important;
    font-size:.9rem!important;
    font-weight:800!important;
}
.rcr-tuesday-home-copy h2{
    margin:0 0 12px!important;
    color:#102a56!important;
    font-size:clamp(1.65rem,3vw,2.5rem)!important;
    line-height:1.08!important;
}
.rcr-tuesday-home-summary{
    margin:0 0 20px!important;
    color:#56647d!important;
    line-height:1.65!important;
}
.rcr-tuesday-home-link{
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 18px;
    border-radius:999px;
    background:#ff6b35;
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
    box-shadow:0 10px 24px rgba(255,107,53,.22);
}
@media(max-width:700px){
    .roller-tuesday-existing-photos{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .rcr-tuesday-home{
        padding:18px 14px 22px;
    }
    .rcr-tuesday-home-inner.has-image{
        display:block;
    }
    .rcr-tuesday-home-media,
    .rcr-tuesday-home-img{
        min-height:0;
    }
    .rcr-tuesday-home-img{
        width:100%;
        height:auto;
        max-height:310px;
        aspect-ratio:16/10;
        object-fit:cover;
    }
    .rcr-tuesday-home-copy{
        padding:22px 20px 24px;
    }
    .rcr-tuesday-home-copy h2{
        font-size:1.55rem!important;
    }
    .rcr-tuesday-home-link{
        width:100%;
        justify-content:center;
        min-height:48px;
    }
}


/* v1.0.12 — brouillon / aperçu / publication + séparation des actualités */
.roller-tuesday-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.roller-tuesday-actions .roller-button{
    min-width:0;
    min-height:52px;
    padding:10px 12px;
    text-align:center;
}
.roller-button-draft{
    border:1px solid #cdd8e8!important;
    background:#f5f8fc!important;
    color:#40516d!important;
    font-weight:900!important;
}
.roller-button-preview{
    border:1px solid #aac2e9!important;
    background:#eef5ff!important;
    color:#173c79!important;
    font-weight:900!important;
}
.roller-tuesday-preview-toolbar{
    margin:0 0 20px;
    padding:14px 16px;
    border:2px solid #9db7e9;
    border-radius:16px;
    background:#eef5ff;
    color:#102a56;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 14px;
}
.roller-tuesday-preview-toolbar strong{
    font-size:1rem;
}
.roller-tuesday-preview-toolbar span{
    color:#56647d;
}
.roller-tuesday-preview-toolbar a{
    margin-left:auto;
    color:#173c79!important;
    font-weight:900;
    text-decoration:none!important;
}
@media(max-width:640px){
    .roller-tuesday-actions{
        grid-template-columns:1fr 1fr;
    }
    .roller-tuesday-actions .roller-tuesday-publish{
        grid-column:1 / -1;
        order:3;
    }
    .roller-tuesday-actions .roller-button-draft{
        order:1;
    }
    .roller-tuesday-actions .roller-button-preview{
        order:2;
    }
    .roller-tuesday-preview-toolbar{
        display:block;
        margin:0 0 16px;
    }
    .roller-tuesday-preview-toolbar strong,
    .roller-tuesday-preview-toolbar span,
    .roller-tuesday-preview-toolbar a{
        display:block;
        margin:0 0 7px;
    }
    .roller-tuesday-preview-toolbar a{
        margin-top:10px;
        margin-bottom:0;
    }
}


/* v1.0.13 — images intégrales dans les articles */
body.single-post .roller-featured-in-content figure{
    width:100%!important;
    max-width:100%!important;
}
body.single-post .roller-featured-in-content img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    aspect-ratio:auto!important;
}
body.single-post .roller-gallery-in-content .wp-block-gallery{
    align-items:flex-start!important;
}
body.single-post .roller-gallery-in-content .wp-block-image{
    height:auto!important;
    aspect-ratio:auto!important;
}
body.single-post .roller-gallery-in-content .wp-block-image img,
body.single-post .roller-gallery-in-content .wp-block-gallery.is-cropped .wp-block-image:not(#individual-image) img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    aspect-ratio:auto!important;
    flex:initial!important;
}

/* v1.0.13 — choix lors de la suppression */
.roller-delete-choice{
    position:relative;
    flex:0 0 auto;
}
.roller-delete-choice>summary{
    list-style:none;
}
.roller-delete-choice>summary::-webkit-details-marker{
    display:none;
}
.roller-delete-choice[open]>.roller-delete-button{
    background:#ffe9e9;
    border-color:#d99595;
}
.roller-delete-choice-panel{
    position:absolute;
    z-index:100;
    right:0;
    top:calc(100% + 7px);
    width:min(310px,calc(100vw - 36px));
    padding:14px;
    border:1px solid #e2e8f1;
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 42px rgba(16,42,86,.18);
}
.roller-delete-choice-panel strong{
    display:block;
    color:#102a56;
    margin-bottom:4px;
}
.roller-delete-choice-panel p{
    margin:0 0 11px;
    color:#637089;
    font-size:.84rem;
}
.roller-delete-choice-panel .roller-delete-form{
    display:block;
    width:100%;
    margin:7px 0 0!important;
}
.roller-delete-option{
    width:100%;
    min-height:46px;
    border-radius:11px;
    padding:9px 11px;
    cursor:pointer;
    font-weight:900;
    text-align:left;
}
.roller-delete-keep{
    border:1px solid #cdd8e8;
    background:#f5f8fc;
    color:#40516d;
}
.roller-delete-media{
    border:1px solid #e7b9b9;
    background:#fff0f0;
    color:#a52a2a;
}
@media(max-width:640px){
    .roller-delete-choice-panel{
        position:fixed;
        left:14px;
        right:14px;
        top:auto;
        bottom:calc(14px + env(safe-area-inset-bottom));
        width:auto;
        padding:17px;
        border-radius:18px;
        box-shadow:0 22px 60px rgba(16,42,86,.28);
    }
    .roller-delete-option{
        min-height:52px;
        font-size:.92rem;
    }
}


/* v1.0.14 — le cadre de l'image principale épouse exactement l'image */
body.single-post .entry-content > .roller-featured-in-content,
body.single-post .roller-featured-in-content{
    display:block!important;
    position:static!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding:0!important;
    overflow:visible!important;
    line-height:0!important;
    margin-top:0!important;
    margin-bottom:24px!important;
}

body.single-post .roller-featured-in-content > .wp-block-image,
body.single-post .roller-featured-in-content > figure,
body.single-post .roller-featured-in-content .roller-featured-figure{
    display:block!important;
    position:static!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    line-height:0!important;
}

body.single-post .roller-featured-in-content::before,
body.single-post .roller-featured-in-content::after,
body.single-post .roller-featured-in-content figure::before,
body.single-post .roller-featured-in-content figure::after{
    content:none!important;
    display:none!important;
    padding:0!important;
}

body.single-post .roller-featured-in-content img{
    display:block!important;
    position:static!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    vertical-align:top!important;
}

body.single-post .roller-featured-in-content + .roller-article-content{
    clear:both!important;
    margin-top:0!important;
    padding-top:0!important;
}

@media(max-width:760px){
    body.single-post .entry-content > .roller-featured-in-content,
    body.single-post .roller-featured-in-content{
        margin-bottom:18px!important;
    }
}


/* v1.0.15 — solution structurelle : aucune boîte autour de l'image principale */
body.single-post .entry-content > img.roller-featured-native,
body.single-post img.roller-featured-native{
    display:block!important;
    position:static!important;
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 0 24px!important;
    padding:0!important;
    border:0!important;
    border-radius:20px!important;
    transform:none!important;
    vertical-align:top!important;
}

/* Si un cache restitue brièvement l'ancien markup, le figure ne crée plus de boîte. */
body.single-post .roller-featured-in-content > figure.wp-block-image{
    display:contents!important;
}

@media(max-width:760px){
    body.single-post .entry-content > img.roller-featured-native,
    body.single-post img.roller-featured-native{
        margin-bottom:18px!important;
        border-radius:14px!important;
    }
}


/* v1.0.16 — rendu Gutenberg natif des articles créés par Roller Publication */
body.single-post .entry-content > .wp-block-image:first-child{
    margin-top:0!important;
    margin-bottom:18px!important;
    padding:0!important;
}
body.single-post .entry-content > .wp-block-image:first-child img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
}
body.single-post .entry-content > .wp-block-gallery{
    margin-top:20px!important;
}
body.single-post .entry-content > .wp-block-gallery .wp-block-image img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
}


/* v1.0.17 — largeur de l'image alignée avec le contenu de l'article */
body.single-post .entry-content > .wp-block-image:first-child{
    width:calc(100% - 32px)!important;
    max-width:960px!important;
    margin:0 auto 20px!important;
    padding:0!important;
    box-sizing:border-box!important;
}

body.single-post .entry-content > .wp-block-image:first-child img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
}

@media(max-width:760px){
    body.single-post .entry-content > .wp-block-image:first-child{
        width:calc(100% - 28px)!important;
        max-width:none!important;
        margin:0 auto 18px!important;
    }
}
