/* Tokens and shared rules: public site + native editor canvas. */
:root {
  --o-blue:#0060A1; --o-ink:#1A1A1A; --o-muted:#5F6368; --o-surface:#F4F6F8;
  --o-border:#D9DEE3; --o-hover:#004B7D; --o-active:#003F6B;
  --o-1:.25rem; --o-2:.5rem; --o-3:.75rem; --o-4:1rem; --o-5:1.5rem;
  --o-6:2rem; --o-7:2.5rem; --o-8:3rem; --o-9:4rem; --o-10:5rem;
}
body:not(.wp-admin), .editor-styles-wrapper { overflow-wrap:break-word; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
.o-shell { width:min(calc(100% - 2rem),1120px); margin-inline:auto; box-sizing:border-box; }
.o-header { border-bottom:1px solid var(--o-border); background:#fff; }
.o-header-row { display:flex; justify-content:space-between; align-items:center; gap:var(--o-6); padding-block:var(--o-5); }
.o-header .wp-block-site-logo { flex-shrink:0; }
.o-header .custom-logo { width:230px; height:auto; display:block; }
.o-header .custom-logo-link { display:block; }
.o-header .wp-block-navigation__container { gap:var(--o-5); }
.o-header .wp-block-navigation-item__content { min-height:48px; display:flex; align-items:center; text-decoration:none; text-underline-offset:.25em; }
.o-header .wp-block-navigation-item__content:hover { text-decoration:underline; }
.o-header .current-menu-item > .wp-block-navigation-item__content { color:var(--o-blue); text-decoration:underline; text-decoration-thickness:2px; }
.o-header button { min-width:48px; min-height:48px; }
.o-header .wp-block-navigation__responsive-container-open { gap:var(--o-2); align-items:center; font-family:inherit; font-size:1.0625rem; }
.o-header .wp-block-navigation__responsive-container-open::before { content:'Menu'; }
.o-header .wp-block-navigation__responsive-container.is-menu-open { padding:var(--o-5); }
.o-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items:stretch; padding-top:var(--o-9); }
.o-header .is-menu-open .wp-block-navigation__container { align-items:stretch; gap:var(--o-4); }
.o-header .is-menu-open .wp-block-navigation-item__content { white-space:normal; font-size:1.25rem; }
.o-header .wp-block-navigation__responsive-container-close { top:0; right:0; }
.o-main { margin:0; }
.o-hero { padding-block:var(--o-9); }
.o-hero p, .o-reading p, .o-reading ul { max-width:70ch; }
.o-kicker { color:var(--o-blue); font-weight:600; font-size:1.0625rem; margin:0 0 var(--o-4); }
.o-hero h1 { max-width:24ch; margin:0; }
.o-hero .o-intro { margin-top:var(--o-5); max-width:66ch; }
.o-hero .o-audience { margin-top:var(--o-4); color:var(--o-muted); }
.o-univers, .is-style-99outils-section { background:var(--o-surface); padding-block:var(--o-9); }
.o-univers h2 { margin:0 0 var(--o-4); }
.o-univers .o-section-intro { margin:0 0 var(--o-6); max-width:70ch; color:var(--o-muted); }
.o-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--o-5); }
.o-grid.wp-block-group > * { margin-block:0; min-width:0; }
.o-header-row.wp-block-group > *, .o-footer-row.wp-block-group > * { margin-block:0; }
.wp-block-outils99-navigation-card { box-sizing:border-box; display:flex; flex-direction:column; padding:var(--o-6); border:1px solid var(--o-border); border-radius:8px; background:#fff; color:var(--o-ink); text-decoration:none; box-shadow:0 1px 2px #1a1a1a08; -webkit-user-drag:none; user-select:text; }
.wp-block-outils99-navigation-card h3 { margin:0; font-size:1.75rem; line-height:1.25; font-weight:600; }
.wp-block-outils99-navigation-card p { margin:var(--o-4) 0 var(--o-5); color:var(--o-muted); }
.wp-block-outils99-navigation-card .o-card-action { margin-top:auto; padding-top:var(--o-2); color:var(--o-blue); font-size:1.0625rem; font-weight:600; }
a.wp-block-outils99-navigation-card:hover { border-color:var(--o-blue); color:var(--o-ink); box-shadow:0 4px 12px #1a1a1a12; }
a.wp-block-outils99-navigation-card:hover .o-card-action { text-decoration:underline; text-underline-offset:.2em; }
a.wp-block-outils99-navigation-card:active { background:var(--o-surface); box-shadow:none; }
.o-reading { padding-block:var(--o-9); }
.o-reading > h2 { margin-top:var(--o-9); margin-bottom:var(--o-5); }
.o-reading > h2:first-child { margin-top:0; }
.o-reading > p, .o-reading > ul { margin-block:var(--o-5); }
.o-reading li + li { margin-top:var(--o-2); }
.o-breadcrumb { padding-top:var(--o-6); font-size:.9375rem; color:var(--o-muted); }
.o-breadcrumb p { margin:0; }
.o-universe-hero { padding-top:var(--o-7); padding-bottom:var(--o-8); border-bottom:1px solid var(--o-border); }
.o-related { margin-top:var(--o-8); padding-top:var(--o-6); border-top:1px solid var(--o-border); }
.o-related h2 { margin:0 0 var(--o-5); }
.o-related li { padding-block:var(--o-2); }
.o-footer { border-top:1px solid var(--o-border); padding-block:var(--o-8); background:#fff; }
.o-footer-row { display:flex; justify-content:space-between; gap:var(--o-8); flex-wrap:wrap; }
.o-footer-brand { max-width:32ch; }
.o-footer-brand p { color:var(--o-muted); margin:var(--o-4) 0 0; }
.o-footer .wp-block-site-title { font-size:1.375rem; font-weight:700; }
.o-footer .wp-block-site-title a { color:var(--o-ink); text-decoration:none; }
.o-footer-links { margin:0; padding:0; list-style:none; }
.o-footer-links li + li { margin-top:var(--o-2); }
.o-footer-links a { display:inline-block; padding-block:var(--o-2); font-size:1.0625rem; }
body:not(.wp-admin) a:focus-visible, body:not(.wp-admin) button:focus-visible,
.editor-styles-wrapper a:focus-visible { outline:3px solid var(--o-blue); outline-offset:3px; box-shadow:0 0 0 3px #fff; }
.wp-block-button__link { min-height:48px; box-sizing:border-box; }
.wp-block-button__link:hover { background:var(--o-hover); }
.wp-block-button__link:active { background:var(--o-active); }
@media (max-width:959px) {
 .o-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
 .o-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
}
@media (min-width:960px) {
 .o-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display:none; }
 .o-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:block; }
}
@media (max-width:699px) {
 body:not(.wp-admin), .editor-styles-wrapper { font-size:1.0625rem; }
 .o-header-row { gap:var(--o-4); padding-block:var(--o-4); }
 .o-header .custom-logo { width:175px; }
 .o-hero { padding-block:var(--o-8); }
 .o-hero h1, .editor-styles-wrapper h1 { font-size:2rem; }
 .o-main h2, .editor-styles-wrapper h2 { font-size:1.875rem; }
 .o-main h3, .editor-styles-wrapper h3 { font-size:1.5625rem; }
 .o-univers, .o-reading, .is-style-99outils-section { padding-block:var(--o-8); }
 .o-grid { grid-template-columns:minmax(0,1fr); gap:var(--o-4); }
 .wp-block-outils99-navigation-card { padding:var(--o-5); }
 .o-reading > h2 { margin-top:var(--o-8); }
 .o-footer-row { gap:var(--o-6); }
}
@media (forced-colors:active) { a:focus-visible, button:focus-visible { outline:3px solid Highlight; } .wp-block-outils99-navigation-card { border-color:ButtonText; } }
