/* Sections de la future accueil (sous le bandeau 3D) — tokens de la charte oaka, tout est préfixé .oaka-home */

/* Sora, police des titres : déclarée ici aussi, sinon elle manque sur les pages sans bandeau 3D */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('../hero-3d/sora-latin.woff2') format('woff2');
}

.oaka-home {
  --oh-orange-500: #FF8300;
  --oh-orange-700: #CD5116;
  --oh-orange-300: #FFA452;
  --oh-orange-50: #FFF4EB;
  --oh-brique: #8E2517;
  --oh-forest: #15321F;
  --oh-green-50: #ECF3EE;
  --oh-ink-950: #080605;
  --oh-ink-700: #4A423B;
  --oh-ink-500: #8E8378;
  --oh-ink-200: #E5DFD7;
  --oh-cream: #FAF7F2;
  --oh-white: #FFFFFF;
  --oh-ticbox: linear-gradient(90deg, #FF8300 0%, #E66A0B 19%, #CD5116 40%, #C2461B 100%);
  --oh-display: 'Sora', system-ui, sans-serif;
  --oh-body: 'Plus Jakarta Sans', system-ui, sans-serif;
  --oh-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-family: var(--oh-body);
  color: var(--oh-ink-950);
  padding: 40px 0;
}
.oaka-home *, .oaka-home *::before, .oaka-home *::after { box-sizing: border-box; }

/* les sections Divi qui portent ces blocs n'ajoutent pas leurs propres marges : l'espacement vient de .oaka-home seul */
.et_pb_section:has(.oaka-home) { padding-top: 0 !important; padding-bottom: 0 !important; }
.et_pb_section:has(.oaka-home) > .et_pb_row { padding-top: 0 !important; padding-bottom: 0 !important; width: calc(100% - 32px) !important; max-width: 1240px !important; }
/* la colonne Divi (flex) ne doit pas réduire le bloc à la largeur de son contenu */
.et_pb_section:has(.oaka-home) .et_pb_module:has(> .et_pb_text_inner > .oaka-home), .et_pb_text:has(.oaka-home) { width: 100%; align-self: stretch; }
.oaka-home { width: 100%; }

/* en-tête de section */
.oaka-home .oh-eyebrow { display: block; font-family: var(--oh-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--oh-orange-700); margin: 0 0 14px; padding: 0; }
.oaka-home .oh-title { font-family: var(--oh-display); font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; letter-spacing: -0.03em; font-weight: 800; color: var(--oh-ink-950); margin: 0; padding: 0; max-width: 22ch; text-wrap: balance; }
.oaka-home .oh-title em { font-style: normal; background: var(--oh-ticbox); -webkit-background-clip: text; background-clip: text; color: transparent; }
.oaka-home .oh-lead { font-size: 18px; line-height: 1.6; color: var(--oh-ink-700); max-width: 62ch; margin: 18px 0 0; padding: 0; text-wrap: pretty; }
.oaka-home .oh-head { margin-bottom: 28px; }
.oaka-home .oh-head-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.oaka-home .oh-head-split .oh-lead { margin: 0; }

/* cartes */
.oaka-home .oh-grid { display: grid; gap: 16px; }
.oaka-home .oh-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oaka-home .oh-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.oaka-home .oh-card {
  background: var(--oh-white); border: 1px solid var(--oh-ink-200); border-radius: 14px; padding: 28px;
  display: flex; flex-direction: column; gap: 10px; min-width: 0;
}
.oaka-home .oh-card-num { font-family: var(--oh-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--oh-orange-700); }
.oaka-home .oh-card-title { font-family: var(--oh-display); font-size: 21px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; margin: 0; padding: 0; color: var(--oh-ink-950); }
.oaka-home .oh-card-text { font-size: 15px; line-height: 1.6; color: var(--oh-ink-700); margin: 0; padding: 0; }
.oaka-home .oh-card-dark { background: var(--oh-forest); border-color: var(--oh-forest); }
.oaka-home .oh-card-dark .oh-card-title { color: var(--oh-cream); }
.oaka-home .oh-card-dark .oh-card-text { color: #CFE0D4; }
.oaka-home .oh-card-dark .oh-card-num { color: var(--oh-orange-300); }

/* packs : cartes cliquables */
.oaka-home .oh-packs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.oaka-home a.oh-pack {
  display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 190px; min-width: 0;
  background: var(--oh-white); border: 1px solid var(--oh-ink-200); border-radius: 14px; padding: 22px;
  color: var(--oh-ink-950) !important; text-decoration: none; transition: transform 200ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 200ms, border-color 200ms;
}
.oaka-home a.oh-pack:hover { transform: translateY(-2px); border-color: var(--oh-orange-300); box-shadow: 0 6px 14px rgba(20, 17, 15, 0.08); }
.oaka-home a.oh-pack:focus-visible { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }
.oaka-home .oh-pack-name { font-family: var(--oh-display); font-size: 18px; font-weight: 700; line-height: 1.2; }
.oaka-home .oh-pack-text { font-size: 14px; line-height: 1.5; color: var(--oh-ink-700); }
.oaka-home .oh-pack-go { font-size: 13px; font-weight: 600; color: var(--oh-orange-700); }
.oaka-home a.oh-pack.is-featured { background: var(--oh-ink-950); border-color: var(--oh-ink-950); color: var(--oh-cream) !important; }
.oaka-home a.oh-pack.is-featured .oh-pack-text { color: #CFC7BD !important; }
.oaka-home a.oh-pack.is-featured .oh-pack-go { color: var(--oh-orange-300) !important; }

/* publics et pages solution */
.oaka-home .oh-audience { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.oaka-home .oh-audience .oh-card { gap: 14px; }
.oaka-home .oh-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.oaka-home .oh-links li { margin: 0; padding: 0; list-style: none; }
.oaka-home .oh-links a { font-size: 14px; line-height: 1.45; color: var(--oh-ink-950) !important; text-decoration: none; display: inline-flex; gap: 8px; }
.oaka-home .oh-links a::before { content: ""; flex: none; width: 16px; height: 9px; margin-top: 5px; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-links a:hover { color: var(--oh-orange-700) !important; }

/* grille des extensions (shortcode) */
.oaka-home .oh-ext-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.oaka-home a.oh-ext {
  display: flex; flex-direction: column; gap: 6px; min-width: 0;
  background: var(--oh-white); border: 1px solid var(--oh-ink-200); border-radius: 12px; padding: 16px 18px;
  color: var(--oh-ink-950) !important; text-decoration: none; transition: border-color 200ms, transform 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.oaka-home a.oh-ext:hover { border-color: var(--oh-orange-300); transform: translateY(-2px); }
.oaka-home a.oh-ext:focus-visible { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }
.oaka-home .oh-ext-name { font-family: var(--oh-display); font-size: 15px; font-weight: 700; }
.oaka-home .oh-ext-desc { font-size: 13px; line-height: 1.5; color: var(--oh-ink-700); }

/* les six postes de l'atelier (sous le bandeau 3D) */
.oaka-home .oh-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; border-top: 1px solid var(--oh-ink-200); padding-top: 22px; }
.oaka-home .oh-steps li { min-width: 0; display: grid; gap: 6px; align-content: start; margin: 0; padding: 0; list-style: none; }
.oaka-home .oh-step-n { font-family: var(--oh-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--oh-orange-700); }
.oaka-home .oh-step-title { font-family: var(--oh-display); font-size: 16px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; margin: 0; padding: 0; color: var(--oh-ink-950); }
.oaka-home .oh-step-text { margin: 0; padding: 0; font-size: 14px; line-height: 1.55; color: var(--oh-ink-700); }
.oaka-home .oh-step-hand .oh-step-title::after { content: ""; display: inline-block; width: 22px; height: 12px; margin-left: 8px; vertical-align: -1px; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home.oh-compact { padding: 24px 0; }

/* bandeaux pleins (IA, appel final) */
.oaka-home .oh-band { border-radius: 20px; padding: 48px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.oaka-home .oh-band-dark { background: var(--oh-ink-950); color: var(--oh-cream); }
.oaka-home .oh-band-dark .oh-title { color: var(--oh-cream); }
.oaka-home .oh-band-dark .oh-lead { color: #CFC7BD; }
.oaka-home .oh-band-dark .oh-eyebrow { color: var(--oh-orange-300); }
.oaka-home .oh-band-forest { background: var(--oh-forest); color: var(--oh-cream); }
.oaka-home .oh-band-forest .oh-title { color: var(--oh-cream); }
.oaka-home .oh-band-forest .oh-lead { color: #CFE0D4; }
.oaka-home .oh-band-forest .oh-eyebrow { color: var(--oh-orange-300); }
.oaka-home .oh-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.oaka-home .oh-points li { margin: 0; padding: 0 0 0 28px; list-style: none; position: relative; font-size: 15px; line-height: 1.55; }
.oaka-home .oh-points li::before { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 9px; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-band-dark .oh-points li, .oaka-home .oh-band-forest .oh-points li { color: var(--oh-cream); }

/* boutons */
.oaka-home .oh-cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.oaka-home a.oh-btn {
  display: inline-flex; align-items: center; gap: 8px; font-family: var(--oh-body); font-weight: 600; font-size: 15px; line-height: 1;
  padding: 15px 26px; border-radius: 999px; border: 1px solid transparent; text-decoration: none; white-space: nowrap;
  transition: filter 200ms, border-color 200ms, background 200ms;
}
.oaka-home a.oh-btn:focus-visible { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }
.oaka-home a.oh-btn-primary { background: var(--oh-ticbox); color: var(--oh-white) !important; }
.oaka-home a.oh-btn-primary:hover { color: var(--oh-white) !important; filter: brightness(1.08); }
.oaka-home a.oh-btn-outline { background: transparent; color: var(--oh-ink-950) !important; border-color: #CFC7BD; }
.oaka-home a.oh-btn-outline:hover { color: var(--oh-ink-950) !important; border-color: var(--oh-ink-950); }
.oaka-home .oh-band-dark a.oh-btn-outline, .oaka-home .oh-band-forest a.oh-btn-outline { color: var(--oh-cream) !important; border-color: rgba(250, 247, 242, 0.4); }
.oaka-home .oh-band-dark a.oh-btn-outline:hover, .oaka-home .oh-band-forest a.oh-btn-outline:hover { color: var(--oh-cream) !important; border-color: var(--oh-cream); }
.oaka-home .oh-more { margin-top: 24px; }
.oaka-home .oh-more a { font-weight: 600; color: var(--oh-orange-700) !important; text-decoration: none; }
.oaka-home .oh-more a:hover { text-decoration: underline; }

@media (max-width: 1100px) {
  .oaka-home .oh-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .oaka-home .oh-packs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .oaka-home .oh-audience, .oaka-home .oh-ext-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .oaka-home { padding: 28px 0; }
  .oaka-home .oh-head-split, .oaka-home .oh-band { grid-template-columns: 1fr; gap: 24px; }
  .oaka-home .oh-grid-3, .oaka-home .oh-grid-2 { grid-template-columns: 1fr; }
  .oaka-home .oh-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oaka-home .oh-band { padding: 32px 24px; }
}
@media (max-width: 560px) {
  .oaka-home .oh-steps,
  .oaka-home .oh-packs, .oaka-home .oh-audience, .oaka-home .oh-ext-grid { grid-template-columns: 1fr; }
}

/* sections des pages piliers (agence, méthode, prestations, contact) — complètent celles de l'accueil */

/* bandeau de page : sur-titre, H1, chapô, boutons */
.oaka-home.oh-hero { padding: 32px 0 8px; }
/* bandeau plein : fond crème sur toute la largeur de l'écran, qui remonte sous l'en-tête flottant jusqu'en haut de page */
body:has(.oh-hero-plein) { overflow-x: clip; }
.oaka-home.oh-hero.oh-hero-plein { position: relative; isolation: isolate; padding: 56px 0 64px; }
.oaka-home.oh-hero-plein::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  top: -260px; bottom: 0; left: 50%; width: 100vw; margin-left: -50vw; /* vers le haut : passe sous l'en-tête et l'espace qu'il réserve */
  background: var(--oh-cream);
}
.oaka-home .oh-h1 { font-family: var(--oh-display); font-size: clamp(36px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -0.035em; font-weight: 800; color: var(--oh-ink-950); margin: 0; padding: 0; max-width: 20ch; text-wrap: balance; }
.oaka-home .oh-h1 em { font-style: normal; background: var(--oh-ticbox); -webkit-background-clip: text; background-clip: text; color: transparent; }
.oaka-home.oh-hero .oh-lead { font-size: 19px; max-width: 60ch; margin-top: 24px; }

/* grille à 4 blocs (ce qu'on couvre, engagements) */
.oaka-home .oh-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* emplacement à brancher, visible tant que la brique n'existe pas */
.oaka-home .oh-note { border: 2px dashed var(--oh-ink-200); border-radius: 20px; padding: 28px; color: var(--oh-ink-700); background: var(--oh-cream); }
.oaka-home .oh-note strong { display: block; font-family: var(--oh-display); color: var(--oh-ink-950); margin-bottom: 6px; }

@media (max-width: 1100px) {
  .oaka-home .oh-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .oaka-home .oh-grid-4 { grid-template-columns: 1fr; }
  .oaka-home.oh-hero { padding: 20px 0 4px; }
}

/* surfaces à motif Ticbox (charte : motif en faible opacité, jamais derrière du texte courant dense) */
.oaka-home .oh-surface { position: relative; isolation: isolate; overflow: hidden; border-radius: 32px; padding: 64px 56px; }
.oaka-home .oh-surface::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('motif-oaka.svg') center / 960px auto repeat; opacity: 0.16; filter: invert(1); }
.oaka-home.oh-hero .oh-surface { padding: 72px 56px; }

/* jaune orangé vers rouge oaka */
.oaka-home .oh-surface-ticbox { background: linear-gradient(120deg, #FFA452 0%, #FF8300 24%, #E66A0B 46%, #C2461B 76%, #8E2517 100%); color: var(--oh-white); }
.oaka-home .oh-surface-ticbox .oh-eyebrow { color: var(--oh-orange-50); }
.oaka-home .oh-surface-ticbox .oh-title, .oaka-home .oh-surface-ticbox .oh-h1 { color: var(--oh-white); }
.oaka-home .oh-surface-ticbox .oh-title em, .oaka-home .oh-surface-ticbox .oh-h1 em { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--oh-ink-950); }
.oaka-home .oh-surface-ticbox .oh-lead { color: rgba(255, 255, 255, 0.9); }
.oaka-home .oh-surface-ticbox a.oh-btn-primary { background: var(--oh-ink-950); }
.oaka-home .oh-surface-ticbox a.oh-btn-primary:hover { filter: none; background: var(--oh-ink-700); }
.oaka-home .oh-surface-ticbox a.oh-btn-outline { color: var(--oh-white) !important; border-color: rgba(255, 255, 255, 0.55); }
.oaka-home .oh-surface-ticbox a.oh-btn-outline:hover { color: var(--oh-white) !important; border-color: var(--oh-white); }

/* vert forêt vers noir */
.oaka-home .oh-surface-forest { background: linear-gradient(135deg, #2C5938 0%, #15321F 42%, #080605 100%); color: var(--oh-cream); }
.oaka-home .oh-surface-forest .oh-eyebrow, .oaka-home .oh-surface-forest .oh-step-n { color: var(--oh-orange-300); }
.oaka-home .oh-surface-forest .oh-title, .oaka-home .oh-surface-forest .oh-step-title { color: var(--oh-cream); }
.oaka-home .oh-surface-forest .oh-lead, .oaka-home .oh-surface-forest .oh-step-text { color: #CFE0D4; }
.oaka-home .oh-surface-forest .oh-steps { border-top-color: rgba(250, 247, 242, 0.18); margin-top: 40px; }
.oaka-home .oh-surface-forest a.oh-btn-outline { color: var(--oh-cream) !important; border-color: rgba(250, 247, 242, 0.4); }
.oaka-home .oh-surface-forest a.oh-btn-outline:hover { color: var(--oh-cream) !important; border-color: var(--oh-cream); }

/* crème, motif foncé très léger */
.oaka-home .oh-surface-cream { background: var(--oh-cream); border: 1px solid var(--oh-ink-200); }
.oaka-home .oh-surface-cream::after { filter: none; opacity: 0.35; }

.oaka-home .oh-surface .oh-head { margin-bottom: 0; }
.oaka-home .oh-surface-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }

/* vidéo : texte + lecteur (vignette, YouTube chargé au clic) */
.oaka-home .oh-video { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 48px; align-items: center; }
.oaka-home .oh-video-slot { border-radius: 20px; overflow: hidden; box-shadow: 0 24px 48px rgba(20, 17, 15, 0.14); }
.oaka-home .oh-video-slot .oh-note { aspect-ratio: 16 / 9; display: flex; flex-direction: column; justify-content: center; border-radius: 20px; }

/* FAQ en accordéon */
.oaka-home .oh-faq-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 56px; align-items: start; }
.oaka-home .oh-faq { border-top: 1px solid var(--oh-ink-200); }
.oaka-home .oh-faq details { border-bottom: 1px solid var(--oh-ink-200); }
.oaka-home .oh-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; font-family: var(--oh-display); font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--oh-ink-950); }
.oaka-home .oh-faq summary::-webkit-details-marker { display: none; }
.oaka-home .oh-faq summary::after { content: ""; flex: none; width: 28px; height: 16px; border-radius: 999px; border: 2px solid var(--oh-ink-200); transition: background 200ms, border-color 200ms; }
.oaka-home .oh-faq details[open] summary::after { background: var(--oh-ticbox); border-color: transparent; }
.oaka-home .oh-faq summary:hover { color: var(--oh-orange-700); }
.oaka-home .oh-faq summary:focus-visible { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }
.oaka-home .oh-faq-a { margin: 0; padding: 0 56px 24px 0; font-size: 16px; line-height: 1.65; color: var(--oh-ink-700); }
.oaka-home .oh-faq-a a { color: var(--oh-orange-700) !important; font-weight: 600; }

@media (max-width: 860px) {
  .oaka-home .oh-surface, .oaka-home.oh-hero .oh-surface { padding: 40px 24px; border-radius: 24px; }
  .oaka-home .oh-video, .oaka-home .oh-faq-wrap { grid-template-columns: 1fr; gap: 28px; }
  .oaka-home .oh-faq-a { padding-right: 0; }
}
.oaka-home .oh-steps li > br, .oaka-home .oh-card > br, .oaka-home .oh-pack > br { display: none; } /* <br> que le module Texte glisse entre deux balises */

/* rendez-vous avec Yoann (visuel 3D repris du volet des packs de situation) */
.oaka-home .oh-rdv { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: center; }
.oaka-home .oh-rdv-img { display: block; width: 100%; height: auto; border-radius: 24px; box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35); transform: rotate(-2deg); }
.oaka-home .oh-rdv .oh-title { max-width: 26ch; }
@media (max-width: 860px) {
  .oaka-home .oh-rdv { grid-template-columns: 1fr; gap: 28px; }
  .oaka-home .oh-rdv-img { max-width: 180px; }
}

/* listing des extensions par famille (cartes en liste) */
.oaka-home .oh-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--oh-ink-200); background: var(--oh-white); font-size: 13px; font-weight: 500; line-height: 1.3; color: var(--oh-ink-700); text-decoration: none; white-space: nowrap; }
.oaka-home a.oh-chip:hover { border-color: var(--oh-orange-700); color: var(--oh-orange-700) !important; }
.oaka-home .oh-chip b { font-weight: 700; color: var(--oh-orange-700); }
.oaka-home .oh-ext-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.oaka-home .oh-ext-group { padding-top: 24px; scroll-margin-top: 110px; }
.oaka-home .oh-ext-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--oh-ink-200); }
.oaka-home .oh-ext-group-title { font-family: var(--oh-display); font-size: 24px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; margin: 0; padding: 0; color: var(--oh-ink-950); }
.oaka-home .oh-ext-group-count { font-family: var(--oh-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--oh-ink-500); }
.oaka-home .oh-ext-list { display: grid; gap: 10px; }
.oaka-home a.oh-ext-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 16px 20px; border: 1px solid var(--oh-ink-200); border-radius: 18px; background: var(--oh-white); color: var(--oh-ink-950) !important; text-decoration: none; transition: border-color 200ms, box-shadow 200ms, transform 200ms; }
.oaka-home a.oh-ext-row:hover { border-color: var(--oh-orange-300); box-shadow: 0 12px 28px rgba(20, 17, 15, 0.08); transform: translateY(-1px); }
.oaka-home .oh-ext-row-icon { display: block; width: 64px; height: 64px; border-radius: 50%; object-fit: contain; background: var(--oh-orange-50); }
.oaka-home .oh-ext-row-body { display: grid; gap: 6px; min-width: 0; }
.oaka-home .oh-ext-row-name { font-family: var(--oh-display); font-size: 18px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
.oaka-home .oh-ext-row-desc { font-size: 15px; line-height: 1.55; color: var(--oh-ink-700); }
.oaka-home .oh-ext-row-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.oaka-home .oh-ext-row-tags .oh-chip { padding: 2px 10px; font-size: 12px; background: var(--oh-cream); }
.oaka-home .oh-ext-row-side { display: grid; justify-items: end; gap: 8px; text-align: right; }
.oaka-home .oh-ext-row-price { font-family: var(--oh-display); font-size: 17px; font-weight: 700; white-space: nowrap; }
.oaka-home .oh-ext-row-price small { display: block; font-family: var(--oh-body); font-size: 12px; font-weight: 500; color: var(--oh-ink-500); }
.oaka-home .oh-ext-row-go { font-size: 14px; font-weight: 600; color: var(--oh-orange-700); white-space: nowrap; }
@media (max-width: 680px) {
  .oaka-home a.oh-ext-row { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding: 14px 16px; }
  .oaka-home .oh-ext-row-icon { width: 48px; height: 48px; }
  .oaka-home .oh-ext-row-side { grid-column: 2; justify-items: start; text-align: left; grid-auto-flow: column; align-items: baseline; justify-content: space-between; }
  .oaka-home .oh-ext-row-price small { display: inline; margin-right: 4px; }
}

/* sélecteur Select to Redirect posé dans un bandeau orange (archive des solutions) : l'extension dessine ses propres listes */
.oaka-home .oh-surface-ticbox .oaka-select-to-redirect-module { margin-top: 32px; }
.oaka-home .oh-surface-ticbox .oaka-select-to-redirect-wrapper { margin-top: 28px; justify-content: flex-start !important; font-family: var(--oh-body); font-size: 20px; font-weight: 600; color: var(--oh-white); }
.oaka-home .oh-surface-ticbox .oaka-str-combo { color: var(--oh-ink-950); font-size: 17px; font-weight: 500; }
.oaka-home .oh-surface-ticbox .oaka-str-combo-button { color: var(--oh-ink-950) !important; background-color: var(--oh-white) !important; border: 0 !important; border-radius: 999px !important; padding: 12px 20px !important; }
.oaka-home .oh-surface-ticbox .oaka-str-combo-button:focus-visible { outline: 3px solid var(--oh-ink-950); outline-offset: 2px; }
@media (max-width: 860px) { .oaka-home .oh-surface-ticbox .oaka-select-to-redirect-wrapper { font-size: 17px; } }

/* texte au kilomètre : bloc de texte réutilisable (titres h2 à h6, paragraphes, gras, liens, listes, citation, tableau) */
.oaka-home .oh-prose { font-size: 17px; line-height: 1.7; color: var(--oh-ink-700); max-width: 72ch; }
.oaka-home .oh-prose.oh-prose-large { max-width: none; }
.oaka-home .oh-prose > :first-child { margin-top: 0; }
.oaka-home .oh-prose h2, .oaka-home .oh-prose h3, .oaka-home .oh-prose h4, .oaka-home .oh-prose h5, .oaka-home .oh-prose h6 { font-family: var(--oh-display); color: var(--oh-ink-950); letter-spacing: -0.02em; line-height: 1.2; padding: 0; break-after: avoid; }
.oaka-home .oh-prose h2 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 800; margin: 48px 0 16px; }
.oaka-home .oh-prose h3 { font-size: 22px; font-weight: 700; margin: 36px 0 12px; }
.oaka-home .oh-prose h4 { font-size: 18px; font-weight: 700; margin: 28px 0 10px; }
.oaka-home .oh-prose h5 { font-family: var(--oh-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--oh-orange-700); margin: 24px 0 8px; }
.oaka-home .oh-prose h6 { font-family: var(--oh-body); font-size: 15px; font-weight: 700; letter-spacing: 0; margin: 20px 0 6px; }
.oaka-home .oh-prose p { margin: 0 0 16px; padding: 0; }
.oaka-home .oh-prose strong, .oaka-home .oh-prose b { font-weight: 700; color: var(--oh-ink-950); }
.oaka-home .oh-prose em { font-style: italic; }
.oaka-home .oh-prose a { color: var(--oh-orange-700) !important; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.oaka-home .oh-prose a:hover { text-decoration-thickness: 2px; }
.oaka-home .oh-prose ul, .oaka-home .oh-prose ol { margin: 0 0 18px; padding: 0; list-style: none; }
.oaka-home .oh-prose li { position: relative; margin: 0 0 10px; padding: 0 0 0 28px; break-inside: avoid; }
.oaka-home .oh-prose ul > li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 16px; height: 9px; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-prose ol { counter-reset: oh-ol; }
.oaka-home .oh-prose ol > li { counter-increment: oh-ol; }
.oaka-home .oh-prose ol > li::before { content: counter(oh-ol, decimal-leading-zero); position: absolute; left: 0; top: 0.2em; font-family: var(--oh-mono); font-size: 12px; font-weight: 600; color: var(--oh-orange-700); }
.oaka-home .oh-prose blockquote { margin: 24px 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--oh-orange-500); font-family: var(--oh-display); font-size: 20px; line-height: 1.45; color: var(--oh-ink-950); break-inside: avoid; }
.oaka-home .oh-prose hr { border: 0; height: 1px; background: var(--oh-ink-200); margin: 32px 0; }
.oaka-home .oh-prose .oh-encadre { margin: 20px 0; padding: 20px 24px; border-radius: 16px; background: var(--oh-orange-50); color: var(--oh-ink-950); break-inside: avoid; }
.oaka-home .oh-prose .oh-encadre > :last-child { margin-bottom: 0; }

/* deux colonnes : le texte s'écoule d'une colonne à l'autre (sur ordinateur) */
.oaka-home .oh-prose-2col { max-width: none; columns: 2; column-gap: 56px; column-rule: 1px solid var(--oh-ink-200); }
.oaka-home .oh-prose-2col h3:first-child, .oaka-home .oh-prose-2col h4:first-child { margin-top: 0; }
@media (max-width: 860px) { .oaka-home .oh-prose-2col { columns: 1; } }

/* tableau comparatif */
.oaka-home .oh-table-wrap { overflow-x: auto; border: 1px solid var(--oh-ink-200); border-radius: 20px; background: var(--oh-white); }
.oaka-home table.oh-table { width: 100%; min-width: 560px; border-collapse: collapse; margin: 0; border: 0; font-size: 15px; line-height: 1.5; }
.oaka-home .oh-table th, .oaka-home .oh-table td { padding: 16px 20px; border: 0; border-bottom: 1px solid var(--oh-ink-200); text-align: left; vertical-align: top; color: var(--oh-ink-700); }
.oaka-home .oh-table tr:last-child th, .oaka-home .oh-table tr:last-child td { border-bottom: 0; }
.oaka-home .oh-table thead th { font-family: var(--oh-display); font-size: 17px; font-weight: 700; color: var(--oh-ink-950); background: var(--oh-cream); }
.oaka-home .oh-table thead th:last-child { background: var(--oh-orange-50); }
.oaka-home .oh-table tbody th { font-weight: 700; color: var(--oh-ink-950); width: 26%; }
.oaka-home .oh-table a { color: var(--oh-orange-700) !important; font-weight: 600; }

/* paragraphes vides que le module Texte laisse derrière une balise orpheline */
.oaka-home p:empty { display: none; }

/* fond « atelier » : celui de l'animation 3D (crème + halo orange diffus), sans motif */
.oaka-home .oh-surface-atelier { background-color: var(--oh-cream); background-image: radial-gradient(ellipse at 50% 72%, rgba(255, 131, 0, 0.11) 0%, rgba(255, 131, 0, 0) 58%); border: 1px solid var(--oh-ink-200); }
.oaka-home .oh-surface-atelier::after { display: none; }

/* carrousel (Splide) : avis clients — sans JavaScript, les cartes restent lisibles en défilement horizontal */
.oaka-home .oh-slider { visibility: visible; position: relative; }
.oaka-home .oh-slider:not(.is-initialized) .splide__list { display: flex; gap: 16px; overflow-x: auto; }
.oaka-home .oh-slider:not(.is-initialized) .splide__slide { flex: 0 0 min(360px, 85%); }
.oaka-home .oh-slider .splide__list { padding: 0 !important; margin: 0 !important; }
.oaka-home .oh-slider .splide__slide { list-style: none; display: flex; }
.oaka-home .oh-slider .splide__arrows { position: absolute; top: -64px; right: 0; display: flex; gap: 8px; }
.oaka-home .oh-slider .splide__arrow { position: static; transform: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--oh-ink-200); background: var(--oh-white); cursor: pointer; opacity: 1; padding: 0; }
.oaka-home .oh-slider .splide__arrow:hover:not(:disabled) { border-color: var(--oh-ink-950); }
.oaka-home .oh-slider .splide__arrow:disabled { opacity: 0.35; cursor: default; }
.oaka-home .oh-slider .splide__arrow svg { width: 14px; height: 14px; fill: var(--oh-ink-950); }
.oaka-home .oh-slider .splide__arrow--prev svg { transform: scaleX(-1); }
.oaka-home .oh-slider .splide__pagination { position: static; display: flex; justify-content: center; gap: 6px; margin: 20px 0 0; padding: 0; }
.oaka-home .oh-slider .splide__pagination li { list-style: none; margin: 0; padding: 0; }
.oaka-home .oh-slider .splide__pagination__page { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: var(--oh-ink-200); cursor: pointer; transition: width 200ms, background 200ms; }
.oaka-home .oh-slider .splide__pagination__page.is-active { width: 28px; background: var(--oh-ticbox); }
.oaka-home .oh-slider .splide__arrow:focus-visible, .oaka-home .oh-slider .splide__pagination__page:focus-visible { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }

.oaka-home .oh-avis-notes { display: flex; gap: 12px; flex-wrap: wrap; }
.oaka-home .oh-avis-note { display: grid; gap: 2px; padding: 14px 20px; border: 1px solid var(--oh-ink-200); border-radius: 18px; background: var(--oh-white); }
.oaka-home .oh-avis-note b { font-family: var(--oh-display); font-size: 28px; font-weight: 800; line-height: 1; color: var(--oh-ink-950); }
.oaka-home .oh-avis-note b::after { content: " ★"; font-size: 18px; color: var(--oh-orange-500); vertical-align: 4px; }
.oaka-home .oh-avis-note span { font-size: 13px; color: var(--oh-ink-500); }
.oaka-home .oh-avis-carte { display: flex; flex-direction: column; gap: 14px; width: 100%; margin: 0; padding: 24px; border: 1px solid var(--oh-ink-200); border-radius: 20px; background: var(--oh-white); }
.oaka-home .oh-avis-etoiles { color: var(--oh-orange-500); letter-spacing: 2px; font-size: 15px; }
.oaka-home .oh-avis-carte blockquote { flex: 1; margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 1.6; color: var(--oh-ink-700); quotes: none; }
.oaka-home .oh-avis-carte figcaption { display: grid; gap: 2px; padding-top: 14px; border-top: 1px solid var(--oh-ink-200); }
.oaka-home .oh-avis-carte figcaption strong { font-family: var(--oh-display); font-size: 15px; color: var(--oh-ink-950); }
.oaka-home .oh-avis-carte figcaption span { font-size: 13px; color: var(--oh-ink-500); }
@media (max-width: 700px) { .oaka-home .oh-slider .splide__arrows { display: none; } }

/* bandeau en deux colonnes : texte + visuel fixe (image de l'atelier 3D, bien plus légère que la scène) */
.oaka-home .oh-hero-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px; align-items: center; }
.oaka-home .oh-hero-split .oh-h1 { font-size: clamp(34px, 3.8vw, 54px); }
.oaka-home .oh-hero-visuel { margin: 0; }
.oaka-home .oh-hero-visuel img { display: block; width: 100%; height: auto; }
.oaka-home .oh-hero-visuel figcaption { margin-top: 6px; text-align: center; font-size: 14px; }
.oaka-home .oh-hero-visuel figcaption a { color: var(--oh-orange-700) !important; font-weight: 600; text-decoration: none; }
.oaka-home .oh-preuves { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 24px 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--oh-ink-700); }
.oaka-home .oh-preuves li { margin: 0; padding: 0; list-style: none; }
.oaka-home .oh-preuves strong { color: var(--oh-ink-950); }
@media (max-width: 980px) { .oaka-home .oh-hero-split { grid-template-columns: 1fr; gap: 24px; } }

/* prix « à partir de » d'un pack ; .oh-a-remplir signale un montant pas encore fourni */
.oaka-home .oh-pack-prix { font-family: var(--oh-display); font-size: 15px; font-weight: 700; color: var(--oh-ink-950); }
.oaka-home .oh-pack-prix.oh-a-remplir { align-self: flex-start; padding: 2px 10px; border: 1px dashed var(--oh-ink-500); border-radius: 999px; font-family: var(--oh-body); font-size: 12px; font-weight: 600; color: var(--oh-ink-500); }

/* vitrine de 6 extensions sur 3 colonnes */
.oaka-home.oh-vitrine .oh-ext-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px) { .oaka-home.oh-vitrine .oh-ext-grid { grid-template-columns: 1fr; } }

/* liste de références en pastilles */
.oaka-home .oh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.oaka-home .oh-chips li { margin: 0; padding: 0; list-style: none; }

/* visuel « le site grandit avec vous » : quatre écrans dessinés en CSS, du plus léger (identité) au plus complet (boutique) */
.oaka-home .oh-croissance { margin: 0; }
.oaka-home .oh-croissance-ecrans { display: grid; grid-template-columns: 0.72fr 0.86fr 1fr 1.14fr; gap: 12px; align-items: end; }
.oaka-home .oh-ecran { position: relative; display: flex; flex-direction: column; border-radius: 12px; background: var(--oh-white); border: 1px solid var(--oh-ink-200); box-shadow: 0 18px 40px rgba(20, 17, 15, 0.10); overflow: hidden; animation: oh-ecran-monte 700ms cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.oaka-home .oh-ecran:nth-child(1) { height: 150px; animation-delay: 100ms; }
.oaka-home .oh-ecran:nth-child(2) { height: 200px; animation-delay: 250ms; }
.oaka-home .oh-ecran:nth-child(3) { height: 260px; animation-delay: 400ms; }
.oaka-home .oh-ecran:nth-child(4) { height: 320px; animation-delay: 550ms; }
.oaka-home .oh-ecran-barre { display: flex; gap: 4px; padding: 7px 8px; background: var(--oh-cream); border-bottom: 1px solid var(--oh-ink-200); }
.oaka-home .oh-ecran-barre i { width: 6px; height: 6px; border-radius: 50%; background: var(--oh-ink-200); }
.oaka-home .oh-ecran-corps { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 10px; }
.oaka-home .oh-ecran b, .oaka-home .oh-ecran s, .oaka-home .oh-ecran u { display: block; text-decoration: none; border-radius: 4px; }
.oaka-home .oh-ecran b { height: 6px; background: var(--oh-ink-200); }
.oaka-home .oh-ecran b.c { width: 60%; }
.oaka-home .oh-ecran b.t { height: 9px; width: 75%; background: var(--oh-ink-950); }
.oaka-home .oh-ecran s { background: var(--oh-orange-50); border: 1px solid var(--oh-orange-100, #FFE2C7); }
.oaka-home .oh-ecran u { height: 14px; width: 46%; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-ecran .oh-ecran-ligne { display: grid; gap: 6px; }
.oaka-home .oh-ecran .oh-ecran-ligne.l2 { grid-template-columns: 1fr 1fr; }
.oaka-home .oh-ecran .oh-ecran-ligne.l3 { grid-template-columns: 1fr 1fr 1fr; }
.oaka-home .oh-ecran .oh-ecran-logo { width: 34px; height: 18px; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-ecran .oh-ecran-panier { margin-left: auto; width: 22px; height: 12px; border-radius: 999px; background: var(--oh-forest); }
.oaka-home .oh-ecran .oh-ecran-nav { display: flex; align-items: center; gap: 6px; }
.oaka-home .oh-ecran .oh-ecran-nav b { width: 18px; }
.oaka-home .oh-ecran-label { padding: 7px 10px; font-family: var(--oh-mono); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--oh-orange-700); border-top: 1px solid var(--oh-ink-200); background: var(--oh-white); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oaka-home .oh-ecran:nth-child(4) .oh-ecran-label { color: var(--oh-white); background: var(--oh-forest); border-top-color: var(--oh-forest); }
.oaka-home .oh-croissance figcaption { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-size: 14px; color: var(--oh-ink-700); }
.oaka-home .oh-croissance figcaption::before { content: ""; flex: 1; height: 2px; border-radius: 2px; background: var(--oh-ticbox); max-width: 120px; }
@keyframes oh-ecran-monte { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .oaka-home .oh-ecran { animation: none; } }
@media (max-width: 560px) {
  .oaka-home .oh-croissance-ecrans { gap: 6px; }
  .oaka-home .oh-ecran:nth-child(1) { height: 96px; } .oaka-home .oh-ecran:nth-child(2) { height: 128px; }
  .oaka-home .oh-ecran:nth-child(3) { height: 166px; } .oaka-home .oh-ecran:nth-child(4) { height: 204px; }
  .oaka-home .oh-ecran-corps { padding: 6px; gap: 4px; }
  .oaka-home .oh-ecran-label { font-size: 8px; padding: 5px 6px; }
}

/* survol des cartes cliquables : dégradé orange de la charte, texte blanc */
.oaka-home a.oh-ext, .oaka-home a.oh-pack, .oaka-home a.oh-ext-row { background-origin: border-box; }
.oaka-home a.oh-ext:hover, .oaka-home a.oh-pack:hover, .oaka-home a.oh-ext-row:hover { background: var(--oh-ticbox); border-color: transparent; color: var(--oh-white) !important; }
.oaka-home a.oh-ext:hover *, .oaka-home a.oh-pack:hover *, .oaka-home a.oh-ext-row:hover .oh-ext-row-body *, .oaka-home a.oh-ext-row:hover .oh-ext-row-side * { color: var(--oh-white) !important; }
.oaka-home a.oh-ext-row:hover .oh-chip { background: rgba(255, 255, 255, 0.18); border-color: transparent; }
.oaka-home a.oh-pack:hover .oh-pack-prix.oh-a-remplir { border-color: rgba(255, 255, 255, 0.7); }
.oaka-home a.oh-ext-row:hover .oh-ext-row-icon { background: var(--oh-white); }

/* écrans du bandeau : le contenu ne pousse jamais l'étiquette hors du cadre */
.oaka-home .oh-ecran-corps { min-height: 0; overflow: hidden; }
.oaka-home .oh-ecran-label { flex: none; }

/* surfaces orange : pas de noir sur le dégradé — accent pêche, bouton blanc à texte orange foncé, listes en brique */
.oaka-home .oh-surface::after { border-radius: inherit; }
.oaka-home .oh-surface-ticbox .oh-title em, .oaka-home .oh-surface-ticbox .oh-h1 em { color: var(--oh-orange-100, #FFE2C7); }
.oaka-home .oh-surface-ticbox a.oh-btn-primary { background: var(--oh-white); color: var(--oh-orange-700) !important; }
.oaka-home .oh-surface-ticbox a.oh-btn-primary:hover { background: var(--oh-orange-50); color: var(--oh-brique) !important; }
.oaka-home .oh-surface-ticbox .oaka-str-combo, .oaka-home .oh-surface-ticbox .oaka-str-combo-button { color: var(--oh-brique) !important; }
/* le menu déroulant du sélecteur doit pouvoir sortir du cadre */
.oaka-home .oh-surface:has(.oaka-select-to-redirect-wrapper) { overflow: visible; }
.et_pb_section:has(.oaka-select-to-redirect-wrapper), .et_pb_section:has(.oaka-select-to-redirect-wrapper) .et_pb_row, .et_pb_section:has(.oaka-select-to-redirect-wrapper) .et_pb_column, .et_pb_section:has(.oaka-select-to-redirect-wrapper) .et_pb_module { overflow: visible !important; z-index: 5; }

/* icônes des extensions : elles portent déjà leur propre cercle, pas de rond ni de fond par-dessus */
.oaka-home .oh-ext-row-icon, .oaka-home a.oh-ext-row:hover .oh-ext-row-icon { border-radius: 0; background: none; object-fit: contain; }

/* liste déroulante du sélecteur, aux couleurs de la charte */
.oaka-home .oaka-str-combo-panel { margin-top: 8px; padding: 8px !important; border: 0 !important; border-radius: 18px !important; background: var(--oh-white) !important; box-shadow: 0 24px 48px rgba(20, 17, 15, 0.22) !important; font-family: var(--oh-body); }
.oaka-home .oaka-str-combo-search { width: 100%; margin: 0 0 6px !important; padding: 10px 14px !important; border: 1px solid var(--oh-ink-200) !important; border-radius: 999px !important; font: inherit; font-size: 15px; color: var(--oh-ink-950) !important; background: var(--oh-cream) !important; }
.oaka-home .oaka-str-combo-search:focus { outline: 2px solid var(--oh-orange-300); outline-offset: 1px; }
.oaka-home .oaka-str-combo-list { margin: 0 !important; padding: 0 !important; list-style: none; }
.oaka-home .oaka-str-combo-option { margin: 0 !important; padding: 10px 14px !important; border-radius: 12px; font-size: 15px; font-weight: 500; color: var(--oh-ink-950) !important; background: transparent !important; cursor: pointer; list-style: none; }
.oaka-home .oaka-str-combo-option:hover, .oaka-home .oaka-str-combo-option.is-active { background: var(--oh-orange-50) !important; color: var(--oh-orange-700) !important; }

/* section pleine largeur en couleur : rompt le rythme des cartes, le contenu reste aligné sur la largeur de l'en-tête */
.et_pb_section:has(.oh-pleine-largeur) > .et_pb_row { width: 100% !important; max-width: none !important; }
.oaka-home.oh-pleine-largeur { padding: 0; margin: 24px 0; }
.oaka-home.oh-pleine-largeur > .oh-surface { border-radius: 0; padding: 72px 16px; }
.oaka-home.oh-pleine-largeur .oh-pl-inner { max-width: 1240px; margin: 0 auto; }
.oaka-home.oh-pleine-largeur .oh-surface-ticbox .oh-card, .oaka-home.oh-pleine-largeur .oh-surface-forest .oh-card { border-color: transparent; }
.oaka-home .oh-surface-forest .oh-card:not(.oh-card-dark) .oh-card-title { color: var(--oh-ink-950); }
@media (max-width: 860px) { .oaka-home.oh-pleine-largeur > .oh-surface { padding: 48px 16px; } }
.oaka-home.oh-pleine-largeur .oh-head { margin-bottom: 28px; }

/* fond gris clair (#f4f4f4), sans motif : met en valeur des cartes blanches */
.oaka-home .oh-surface-gris { background: #F4F4F4; }
.oaka-home .oh-surface-gris::after { display: none; }
.oaka-home .oh-surface-gris .oh-pack { background: var(--oh-white); }

/* pleine largeur sur le fond de l'atelier 3D : pas de bordure, le halo prend toute la bande */
.oaka-home.oh-pleine-largeur > .oh-surface-atelier { border: 0; background-image: radial-gradient(ellipse at 50% 80%, rgba(255, 131, 0, 0.12) 0%, rgba(255, 131, 0, 0) 60%); }
.oaka-home .oh-surface-atelier .oh-pack { background: var(--oh-white); }

/* Styleguide : intertitre de groupe */
.oaka-home.oh-sg-groupe { padding: 56px 0 8px; border-top: 2px solid var(--oh-ink-950); margin-top: 40px; }
.oaka-home.oh-sg-groupe .oh-title { font-size: clamp(26px, 2.6vw, 34px); }
.oaka-home.oh-sg-groupe p { margin: 8px 0 0; font-size: 15px; color: var(--oh-ink-500); }

/* bandeau de l'accueil : les packs flottent à des profondeurs différentes (flou = profondeur de champ),
   le survol ou le focus clavier fait la mise au point sur l'un d'eux */
.oaka-home .oh-orbite { position: relative; height: 440px; margin: 0; }
.oaka-home .oh-orbite::before, .oaka-home .oh-orbite::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; filter: blur(40px); opacity: 0.45; }
.oaka-home .oh-orbite::before { width: 220px; height: 220px; left: 30%; top: 25%; background: radial-gradient(circle, #FF8300 0%, rgba(255, 131, 0, 0) 70%); }
.oaka-home .oh-orbite::after { width: 180px; height: 180px; right: 6%; bottom: 8%; background: radial-gradient(circle, #2C5938 0%, rgba(44, 89, 56, 0) 70%); opacity: 0.25; }
.oaka-home a.oh-flotte { position: absolute; z-index: var(--z, 1); left: var(--x); top: var(--y); width: 220px; display: block; text-decoration: none; color: var(--oh-ink-950) !important; transform: scale(var(--s, 1)); filter: blur(var(--flou, 0px)); opacity: var(--op, 1); transition: transform 450ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 450ms, opacity 450ms; }
.oaka-home .oh-flotte-ecran { display: flex; flex-direction: column; height: 160px; border-radius: 14px; background: var(--oh-white); border: 1px solid var(--oh-ink-200); box-shadow: 0 22px 44px rgba(20, 17, 15, 0.12); overflow: hidden; animation: oh-flotte var(--duree, 6s) ease-in-out var(--delai, 0s) infinite alternate; }
@keyframes oh-flotte { from { transform: translate(0, 0) rotate(-0.6deg); } to { transform: translate(var(--dx, 6px), var(--dy, -14px)) rotate(0.6deg); } }
/* mise au point */
.oaka-home .oh-orbite:has(a.oh-flotte:hover, a.oh-flotte:focus-visible) a.oh-flotte { filter: blur(calc(var(--flou, 0px) + 3px)); opacity: calc(var(--op, 1) * 0.75); }
.oaka-home .oh-orbite a.oh-flotte:hover, .oaka-home .oh-orbite a.oh-flotte:focus-visible { z-index: 10; filter: blur(0) !important; opacity: 1 !important; transform: scale(1.08); outline: none; }
.oaka-home a.oh-flotte:hover .oh-flotte-ecran, .oaka-home a.oh-flotte:focus-visible .oh-flotte-ecran { box-shadow: 0 30px 60px rgba(20, 17, 15, 0.2); border-color: var(--oh-orange-300); }
.oaka-home a.oh-flotte:focus-visible .oh-flotte-ecran { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }
/* contenu des écrans (maquettes schématiques) */
.oaka-home .oh-flotte .oh-ecran-barre { display: flex; gap: 4px; padding: 7px 8px; background: var(--oh-cream); border-bottom: 1px solid var(--oh-ink-200); }
.oaka-home .oh-flotte .oh-ecran-barre i { width: 6px; height: 6px; border-radius: 50%; background: var(--oh-ink-200); }
.oaka-home .oh-flotte .oh-ecran-corps { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; gap: 6px; padding: 10px; }
.oaka-home .oh-flotte b, .oaka-home .oh-flotte s, .oaka-home .oh-flotte u { display: block; text-decoration: none; border-radius: 4px; }
.oaka-home .oh-flotte b { height: 6px; background: var(--oh-ink-200); }
.oaka-home .oh-flotte b.c { width: 60%; }
.oaka-home .oh-flotte b.t { height: 9px; width: 70%; background: var(--oh-ink-950); }
.oaka-home .oh-flotte s { background: var(--oh-orange-50); border: 1px solid #FFE2C7; }
.oaka-home .oh-flotte u { height: 14px; width: 42%; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-flotte .oh-ecran-ligne { display: grid; gap: 6px; }
.oaka-home .oh-flotte .oh-ecran-ligne.l2 { grid-template-columns: 1fr 1fr; }
.oaka-home .oh-flotte .oh-ecran-ligne.l3 { grid-template-columns: 1fr 1fr 1fr; }
.oaka-home .oh-flotte .oh-ecran-nav { display: flex; align-items: center; gap: 6px; }
.oaka-home .oh-flotte .oh-ecran-nav b { width: 18px; }
.oaka-home .oh-flotte .oh-ecran-logo { flex: none; width: 34px; height: 18px; border-radius: 999px; background: var(--oh-ticbox); }
.oaka-home .oh-flotte .oh-ecran-panier { margin-left: auto; width: 22px; height: 12px; border-radius: 999px; background: var(--oh-forest); }
.oaka-home .oh-flotte-nom { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-top: 1px solid var(--oh-ink-200); font-family: var(--oh-mono); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--oh-orange-700); }
.oaka-home .oh-flotte-nom::after { content: "→"; font-family: var(--oh-body); font-size: 13px; opacity: 0; transform: translateX(-4px); transition: opacity 300ms, transform 300ms; }
.oaka-home a.oh-flotte:hover .oh-flotte-nom::after, .oaka-home a.oh-flotte:focus-visible .oh-flotte-nom::after { opacity: 1; transform: none; }
.oaka-home a.oh-flotte.is-sur-mesure .oh-flotte-ecran { background: var(--oh-forest); border-color: var(--oh-forest); }
.oaka-home a.oh-flotte.is-sur-mesure .oh-flotte-nom { color: var(--oh-cream); border-top-color: rgba(250, 247, 242, 0.15); }
.oaka-home a.oh-flotte.is-sur-mesure .oh-ecran-corps { align-items: center; justify-content: center; }
.oaka-home a.oh-flotte.is-sur-mesure .oh-ecran-corps span { font-family: var(--oh-display); font-size: 30px; font-weight: 800; color: var(--oh-orange-300); line-height: 1; }
.oaka-home .oh-orbite figcaption { position: absolute; left: 0; right: 0; bottom: -6px; display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--oh-ink-700); }
.oaka-home .oh-orbite figcaption::before { content: ""; flex: 0 0 64px; height: 2px; border-radius: 2px; background: var(--oh-ticbox); }
@media (prefers-reduced-motion: reduce) { .oaka-home .oh-flotte-ecran { animation: none; } .oaka-home a.oh-flotte { transition: none; } }
@media (max-width: 980px) { .oaka-home .oh-orbite { height: 400px; max-width: 620px; } }
@media (max-width: 560px) {
  .oaka-home .oh-orbite { height: 330px; }
  .oaka-home a.oh-flotte { width: 150px; }
  .oaka-home .oh-flotte-ecran { height: 118px; }
  .oaka-home .oh-flotte .oh-ecran-corps { padding: 6px; gap: 4px; }
  .oaka-home .oh-flotte-nom { font-size: 8px; padding: 6px 8px; }
}

/* fin de page : plus d'air entre la dernière section et le pied de page */
.et_pb_section:last-child:has(.oaka-home) { padding-bottom: 80px !important; }
@media (max-width: 860px) { .et_pb_section:last-child:has(.oaka-home) { padding-bottom: 48px !important; } }
@media (max-width: 560px) {
  .oaka-home .oh-orbite { height: 320px; margin-bottom: 56px; }
  .oaka-home .oh-orbite figcaption { bottom: -52px; align-items: flex-start; }
  .oaka-home .oh-orbite figcaption::before { flex-basis: 32px; margin-top: 10px; }
}
/* écrans tactiles : pas de mise au point au survol (l'état reste collé après un toucher), seule la profondeur de base demeure */
@media (hover: none) {
  .oaka-home .oh-orbite:has(a.oh-flotte:hover) a.oh-flotte, .oaka-home .oh-orbite a.oh-flotte:hover { filter: blur(var(--flou, 0px)) !important; opacity: var(--op, 1) !important; transform: scale(var(--s, 1)); z-index: var(--z, 1); }
}

/* en-tête de section en deux colonnes (titre | chapô) : un peu plus d'air avant le contenu */
.oaka-home .oh-head.oh-head-split, .oaka-home .oh-surface .oh-head.oh-head-split, .oaka-home.oh-pleine-largeur .oh-head.oh-head-split { margin-bottom: 44px; }
@media (max-width: 860px) { .oaka-home .oh-head.oh-head-split, .oaka-home .oh-surface .oh-head.oh-head-split, .oaka-home.oh-pleine-largeur .oh-head.oh-head-split { margin-bottom: 28px; } }

/* sélecteur Select to Redirect sur fond clair (section « Pour qui » de l'accueil) */
.oaka-home .oh-selecteur { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 0 0 24px; padding: 20px 24px; border-radius: 20px; background-color: var(--oh-cream); background-image: radial-gradient(ellipse at 50% 120%, rgba(255, 131, 0, 0.12) 0%, rgba(255, 131, 0, 0) 60%); border: 1px solid var(--oh-ink-200); }
.oaka-home .oh-selecteur-label { font-family: var(--oh-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--oh-orange-700); }
.oaka-home .oh-selecteur .oaka-select-to-redirect-module { margin: 0; }
.oaka-home .oh-selecteur .oaka-select-to-redirect-wrapper { justify-content: flex-start !important; gap: 10px; font-family: var(--oh-body); font-size: 18px; font-weight: 600; color: var(--oh-ink-950); }
.oaka-home .oh-selecteur .oaka-str-combo { color: var(--oh-ink-950); font-size: 16px; font-weight: 500; }
.oaka-home .oh-selecteur .oaka-str-combo-button { color: var(--oh-ink-950) !important; background-color: var(--oh-white) !important; border: 1px solid var(--oh-ink-200) !important; border-radius: 999px !important; padding: 11px 18px !important; }
.oaka-home .oh-selecteur .oaka-str-combo-button:hover { border-color: var(--oh-orange-300) !important; }
.oaka-home .oh-selecteur .oaka-str-combo-button:focus-visible { outline: 3px solid var(--oh-orange-300); outline-offset: 2px; }
.oaka-home .oh-selecteur:has(.oaka-select-to-redirect-wrapper) { position: relative; z-index: 6; }
@media (max-width: 860px) { .oaka-home .oh-selecteur .oaka-select-to-redirect-wrapper { font-size: 16px; } }

/* prix « à partir de » lu dans le bon de commande du pack */
.oaka-home .oh-pack-prix small { display: block; font-family: var(--oh-body); font-size: 12px; font-weight: 500; color: var(--oh-ink-500); }
.oaka-home .oh-pack-prix .oaka-bdc-start-amount { display: block; font-family: var(--oh-display); font-size: 18px; font-weight: 800; color: var(--oh-ink-950); }
.oaka-home .oh-pack-prix .oaka-bdc-start-recurring { display: block; font-family: var(--oh-body); font-size: 12px; font-weight: 500; color: var(--oh-ink-700); }
.oaka-home a.oh-pack:hover .oh-pack-prix small, .oaka-home a.oh-pack:hover .oh-pack-prix span { color: var(--oh-white) !important; }

/* sélecteur : la ligne reste centrée (l'extension ajoute une marge basse), et la seconde liste, inactive tant que
   la première n'est pas choisie, prend la même forme de pilule que la première */
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-select-to-redirect-wrapper { margin-bottom: 0 !important; align-items: center !important; }
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-select-to-redirect-step--idle .oaka-select-to-redirect-select--sub { appearance: none; -webkit-appearance: none; height: 44px; margin: 0; padding: 0 42px 0 18px !important; border: 1px solid var(--oh-ink-200) !important; border-radius: 999px !important; background: var(--oh-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238E8378' stroke-width='2'/%3E%3C/svg%3E") right 16px center no-repeat !important; font-family: var(--oh-body); font-size: 16px; font-weight: 500; color: var(--oh-ink-500) !important; opacity: 1; cursor: not-allowed; }
.oaka-home .oh-surface-ticbox .oaka-select-to-redirect-step--idle .oaka-select-to-redirect-select--sub { background-color: rgba(255, 255, 255, 0.6) !important; border-color: transparent !important; color: var(--oh-brique) !important; }
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo-button, .oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo-label { font-size: 16px !important; font-weight: 500; font-family: var(--oh-body); }

/* listes du sélecteur : largeur bornée, le texte choisi est tronqué plutôt que de faire passer la phrase à la ligne */
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo { max-width: 240px; min-width: 0; }
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo-button { width: 100%; max-width: 240px; grid-template-columns: minmax(0, 1fr) auto !important; overflow: hidden; }
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo-label, .oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo-sizer { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-str-combo-panel { min-width: 280px; }
.oaka-home :is(.oh-selecteur, .oh-surface-ticbox) .oaka-select-to-redirect-step--idle .oaka-select-to-redirect-select--sub { max-width: 240px; }

/* bandeau plein en orange : même principe (pleine largeur, sous l'en-tête), dégradé jaune orangé → rouge oaka et motif */
.oaka-home.oh-hero-plein.oh-hero-orange::before { background: linear-gradient(120deg, #FFA452 0%, #FF8300 24%, #E66A0B 46%, #C2461B 76%, #8E2517 100%); }
.oaka-home.oh-hero-plein.oh-hero-orange::after { content: ""; position: absolute; z-index: -1; pointer-events: none; top: -260px; bottom: 0; left: 50%; width: 100vw; margin-left: -50vw; background: url('motif-oaka.svg') center / 960px auto repeat; opacity: 0.16; filter: invert(1); }
.oaka-home.oh-hero-plein > .oh-surface-ticbox { background: none; }

/* univers de couleur des bandeaux (bloc arrondi) : orange = offre, vert = méthode, encre = agence, atelier = accueil */
.oaka-home .oh-surface-forest .oh-h1 { color: var(--oh-cream); }
.oaka-home .oh-surface-forest .oh-h1 em, .oaka-home .oh-surface-forest .oh-title em { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--oh-orange-300); }
.oaka-home .oh-surface-forest .oh-points li { color: var(--oh-cream); }
/* encre : noir chaud du logo, motif clair, accents orange */
.oaka-home .oh-surface-encre { background: linear-gradient(135deg, #4A423B 0%, #2A2521 38%, #080605 100%); color: var(--oh-cream); }
.oaka-home .oh-surface-encre .oh-eyebrow { color: var(--oh-orange-300); }
.oaka-home .oh-surface-encre .oh-title, .oaka-home .oh-surface-encre .oh-h1 { color: var(--oh-cream); }
.oaka-home .oh-surface-encre .oh-title em, .oaka-home .oh-surface-encre .oh-h1 em { background: var(--oh-ticbox); -webkit-background-clip: text; background-clip: text; color: transparent; }
.oaka-home .oh-surface-encre .oh-lead { color: #CFC7BD; }
.oaka-home .oh-surface-encre a.oh-btn-outline { color: var(--oh-cream) !important; border-color: rgba(250, 247, 242, 0.4); }
.oaka-home .oh-surface-encre a.oh-btn-outline:hover { color: var(--oh-cream) !important; border-color: var(--oh-cream); }
.oaka-home .oh-surface-encre .oh-points li { color: var(--oh-cream); }
