/* Shared outer frames only. Existing source files, child grids, forms and media stay untouched. */
:root{--rvvsc-max:1220px;--rvvsc-gutter:clamp(16px,3.3vw,48px);--rvvsc-frame:min(var(--rvvsc-max),calc(100% - 2 * var(--rvvsc-gutter)));--rvvsc-edge:max(var(--rvvsc-gutter),calc((100% - var(--rvvsc-max))/2))}
@media(max-width:700px){:root{--rvvsc-gutter:16px}}
/* The approved upper homepage frame is the reference, never a target. */
#visa-app>#encyclopedie-visas.rvvug-card,#visa-app main.chat-entry>#encyclopedie-visas.rvvug-card{width:var(--rvvsc-frame);max-width:var(--rvvsc-max);margin-inline:auto;box-sizing:border-box}
#visa-app>.rvv-office-ad,body.rvv-visa-body>.rvv-office-ad{width:var(--rvvsc-frame);max-width:var(--rvvsc-max);margin-inline:auto;box-sizing:border-box}
#rvva-ads.rvva-ads{width:var(--rvvsc-frame);max-width:var(--rvvsc-max);margin-inline:auto;box-sizing:border-box}
#visa-app main.chat-entry>.rvv-demande-banniere-principale{width:var(--rvvsc-frame);max-width:var(--rvvsc-max);margin-inline:auto;padding-inline:0;box-sizing:border-box}
/* Public articles and the existing service/account frames. Nested cards remain readable. */
body.rvv-visa-body>main.rvv-visa-page,body.rvvsc-static>main.rvvp-document,body.rvvsc-static>main.legal-main,body.rvvsc-static>main#contenu,body.rvvsc-cms .wp-site-blocks>main,
#visa-app>main.member-space,#visa-app>main.legal-main{width:var(--rvvsc-frame);max-width:var(--rvvsc-max);margin-inline:auto;padding-inline:0;min-width:0;box-sizing:border-box}
#visa-app .member-space>.orders-page,#visa-app .member-space>.payment-page,#visa-app .member-space>.extra-page,#visa-app .member-space>.extra-organizer{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}
body.rvvsc-static>main#contenu>section.document{width:100%;max-width:none;margin-inline:0;padding-inline:0;box-sizing:border-box}
/* Header/footer surfaces remain full-bleed; their content follows the same 1220px frame. */
body.rvv-visa-body>.topbar,body.rvvsc-static>.topbar,body.rvvsc-cms .topbar,#visa-app>.topbar{width:100%;max-width:none;box-sizing:border-box;padding-inline:var(--rvvsc-edge)!important}
body.rvv-visa-body>.legal-footer,body.rvvsc-static>.legal-footer,body.rvvsc-static>.rvvp-document-footer,body.rvvsc-static>.site-footer,body.rvvsc-cms .rvvsc-cms-footer,#visa-app>.legal-footer,#visa-app>.footer{box-sizing:border-box;padding-inline:var(--rvvsc-edge)}
body.rvvsc-static{margin:0;background:#faf9f5;color:#172d2a;font-family:Manrope,"Segoe UI",Arial,sans-serif;line-height:1.6}
body.rvvsc-static>.topbar,body.rvvsc-cms .topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px;border-bottom:1px solid #dde4dd;background:#fff}
body.rvvsc-static .topbar .brand,body.rvvsc-cms .topbar .brand{display:inline-flex;align-items:center;gap:14px;color:#111;text-decoration:none;font:650 22px/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.045em;white-space:nowrap}
body.rvvsc-static .topbar .rvv-symbol,body.rvvsc-cms .topbar .rvv-symbol{width:48px;height:48px;object-fit:contain;flex:none}
body.rvvsc-static .topbar .header-account-actions,body.rvvsc-cms .topbar .header-account-actions{display:flex;align-items:center;gap:10px}
body.rvvsc-static .topbar .btn,body.rvvsc-cms .topbar .btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:130px;min-height:42px;padding:10px 18px;border:1px solid #dde4dd;border-radius:12px;background:#fff;color:#172d2a;font:600 14px/1.4 Manrope,Arial,sans-serif;text-decoration:none}
body.rvvsc-static .topbar [data-rvvg-header-signup],body.rvvsc-cms .topbar [data-rvvg-header-signup]{background:#14665b;border-color:#14665b;color:#fff}
.rvvsc-secondary-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;width:var(--rvvsc-frame);max-width:var(--rvvsc-max);margin:16px auto 0;box-sizing:border-box;font-size:13px}
.rvvsc-secondary-nav a{color:#14665b;text-decoration:none}
.rvvsc-secondary-nav a:hover{text-decoration:underline}
.topbar.rvvg-topbar-guest .header-account-actions a:focus-visible,.rvvsc-secondary-nav a:focus-visible{outline:2px solid #14665b;outline-offset:4px}
/* Only the generic WordPress page receives the site skin; its article is unchanged. */
body.rvvsc-cms{margin:0;background:#faf9f5;color:#172d2a;font-family:Manrope,"Segoe UI",Arial,sans-serif;--wp--style--global--content-size:1220px;--wp--style--global--wide-size:1220px}
body.rvvsc-cms .wp-site-blocks{padding-top:0;padding-bottom:0}
body.rvvsc-cms .wp-site-blocks>main{padding-top:32px!important;padding-bottom:48px!important}
body.rvvsc-cms .wp-site-blocks>main>.wp-block-group{padding-inline:0!important}
body.rvvsc-cms .rvvsc-cms-footer{font:14px/1.7 Manrope,"Segoe UI",Arial,sans-serif;background:#edf3ed;border-top:1px solid #dfe8e0;padding-block:26px}
body.rvvsc-cms .rvvsc-cms-footer nav{display:flex;flex-wrap:wrap;gap:10px 20px}
body.rvvsc-cms .rvvsc-cms-footer a{color:#14665b}
/* Generalize exactly the approved mobile guest treatment to equivalent native headers. */
@media(max-width:640px){
body .topbar.rvvg-topbar-guest{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:12px clamp(8px,3vw,16px)!important;box-sizing:border-box}
body .topbar.rvvg-topbar-guest>.rvvp-unified-brand{flex:0 1 auto!important;min-width:0!important;width:auto!important;gap:5px!important;font-size:clamp(14px,4.2vw,18px)!important;line-height:1.3!important;letter-spacing:-.04em!important;white-space:nowrap!important}
body .topbar.rvvg-topbar-guest>.rvvp-unified-brand>.rvv-symbol{flex:0 0 auto!important;width:clamp(22px,6.5vw,30px)!important;height:clamp(22px,6.5vw,30px)!important}
body .topbar.rvvg-topbar-guest>.header-account-actions[data-rvvg-guest-actions="1"]{display:flex!important;flex:0 0 auto!important;width:auto!important;margin:0!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important}
body .topbar.rvvg-topbar-guest>.header-account-actions[data-rvvg-guest-actions="1"]>:is(a,button){display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;min-height:42px!important;padding:8px clamp(6px,1.8vw,10px)!important;font-size:clamp(12px,3.6vw,14px)!important;line-height:1.2!important;white-space:nowrap!important;box-sizing:border-box;text-decoration:none}
body .topbar.rvvg-topbar-guest>.header-account-actions[data-rvvg-guest-actions="1"]>.rvvg-header-login{padding-inline:2px!important;border-color:transparent!important;background:transparent!important;font-weight:500!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:#879590}
body .topbar.rvvg-topbar-guest>.header-account-actions[data-rvvg-guest-actions="1"]>[data-rvvg-header-signup="1"]{border-radius:999px!important;background:#14665b;color:#fff;border-color:#14665b}
}

body.rvvsc-cms .rvvsc-cms-footer{width:100%;margin-inline:0;box-sizing:border-box}
body.rvvsc-cms .rvvsc-cms-footer .has-global-padding{padding-inline:0}
body.rvvsc-cms .rvvsc-cms-footer>.wp-block-group{margin-inline:0!important;max-width:none!important}
body.rvvsc-cms .rvvsc-cms-footer .wp-block-site-title{font-size:22px;color:#14665b;font-weight:650}

body.rvvsc-static>.site-footer{width:100%;max-width:none;margin-inline:0}
#visa-app .member-space :is(.orders-page,.payment-page,.extra-page,.extra-organizer){width:100%;max-width:none;margin-inline:0;box-sizing:border-box}

@media(max-width:640px){
body .topbar.rvvsc-static-member{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:12px clamp(8px,3vw,16px)!important}
body .topbar.rvvsc-static-member>.rvvp-unified-brand{flex:0 1 auto!important;min-width:0!important;gap:5px!important;font-size:clamp(14px,4.2vw,18px)!important;line-height:1.3!important;white-space:nowrap!important}
body .topbar.rvvsc-static-member>.rvvp-unified-brand>.rvv-symbol{flex:none!important;width:clamp(22px,6.5vw,30px)!important;height:clamp(22px,6.5vw,30px)!important}
body .topbar.rvvsc-static-member>.header-account-actions{flex:none;gap:6px;width:auto!important}
body .topbar.rvvsc-static-member>.header-account-actions>.btn{width:auto!important;min-height:42px!important;font-size:13px!important;padding:8px 12px!important;white-space:nowrap}
}

/* Reuse the site's installed Manrope under a private alias: no global font replacement. */
@font-face{font-family:RVVSCManrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('/wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2') format('woff2')}
body.rvvsc-static,body.rvvsc-cms{font-family:RVVSCManrope,Manrope,Arial,sans-serif}
body.rvvsc-static .topbar .btn,body.rvvsc-cms .topbar .btn{font-family:RVVSCManrope,Manrope,Arial,sans-serif}
body.rvvsc-cms .wp-site-blocks>main .alignfull{width:100%!important;max-width:100%!important;margin-inline:0!important;box-sizing:border-box}
body.rvvsc-cms .wp-site-blocks>main .has-global-padding{padding-inline:0}

body.rvvsc-static .topbar .rvvp-unified-brand>span,body.rvvsc-cms .topbar .rvvp-unified-brand>span{display:inline;font:inherit;line-height:1.3;letter-spacing:inherit;color:#183d37}
body.rvvsc-static .topbar .rvvp-unified-brand strong,body.rvvsc-cms .topbar .rvvp-unified-brand strong{display:inline;font:inherit;font-weight:700;color:inherit}

/* Compact the brand, never the touch targets, on narrow phones after the real font loads. */
@media(max-width:380px){
body .topbar.rvvg-topbar-guest>.rvvp-unified-brand{font-size:clamp(12px,3.75vw,14.25px)!important;gap:3px!important}
}

@media(max-width:380px){html body.rvv-production-full #visa-app>.topbar.rvvg-topbar-guest:has(+ main.chat-entry)>.rvvp-unified-brand{font-size:clamp(12px,3.75vw,14.25px)!important;gap:3px!important}}
@media(max-width:350px){body .topbar.rvvg-topbar-guest,html body.rvv-production-full #visa-app>.topbar.rvvg-topbar-guest:has(+ main.chat-entry){padding-inline:8px!important}}
