/* One reading rhythm for the published Formation services, without changing their programmes. */
body.isoluce-formation-page .page_content_wrap { padding-top:clamp(28px,4vw,56px); }
body.isoluce-formation-page .content_wrap > .content { width:100% !important; float:none !important; margin-inline:auto !important; }
body.isoluce-formation-page .post_content_single { max-width:1100px; margin-inline:auto; }
.isoluce-training-template { color:#354139; font-size:1.0625rem; line-height:1.68; }
/* Legacy booking embeds precede the introduction in stored content. Place the intro first. */
body.isoluce-formation-page .isoluce-training-template:has(> .isoluce-ux-intro) { display:flex; flex-direction:column; }
body.isoluce-formation-page .isoluce-training-template:has(> .isoluce-training-classic-hero) { display:flex; flex-direction:column; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-classic-hero { order:-2; }
body.isoluce-formation-page .isoluce-training-classic-hero > p { display:none !important; }
body.isoluce-formation-page .isoluce-training-classic-hero > .isoluce-training-classic-intro { grid-column:1; grid-row:1; }
body.isoluce-formation-page .isoluce-training-classic-hero > .isoluce-training-booking { grid-column:2; grid-row:1; align-self:start; }
body.isoluce-formation-page .isoluce-training-template:has(> .isoluce-training-classic-hero) > .isoluce-course-nav { order:-1; }
body.isoluce-formation-page .isoluce-training-classic-intro .isoluce-course-inline-title { max-width:23ch; margin:8px 0 18px; color:#26352b; font-size:clamp(2.1rem,4vw,3.4rem); line-height:1.12; letter-spacing:-.035em; }
body.isoluce-formation-page .isoluce-training-classic-intro > h2 { font-size:clamp(1.3rem,2.2vw,1.65rem) !important; line-height:1.3; }
body.isoluce-formation-page .isoluce-training-classic-hero:has(.isoluce-training-booking) .isoluce-training-quick-cta { display:none !important; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-ux-intro { order:-3; margin-bottom:22px; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-course-nav { order:-2; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking { order:-1; float:none !important; width:100% !important; min-height:0 !important; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px 18px; align-items:center; margin:0 0 30px !important; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .itb-kicker { grid-column:1; grid-row:1; margin:0; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking h2 { grid-column:1; grid-row:2; margin:0 !important; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking p { grid-column:1; grid-row:3; margin:0; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .itb-primary { grid-column:2; grid-row:2 / 4; margin:0; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .itb-secondary { grid-column:3; grid-row:2 / 4; margin:0; }
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .tidycal-embed,
body.isoluce-formation-page .isoluce-training-template > .isoluce-training-quick-cta { display:none !important; }
.isoluce-training-template > p,
.isoluce-training-template > ul,
.isoluce-training-template > ol,
.isoluce-training-template > h2,
.isoluce-training-template > h3,
.isoluce-training-template > h4,
.isoluce-training-template > details,
.isoluce-training-template > figure,
.isoluce-training-template > .seo-enrichment { max-width:760px; margin-left:auto; margin-right:auto; }
.isoluce-training-template > p,
.isoluce-training-template > ul,
.isoluce-training-template > ol { margin-bottom:1.25em; }
.isoluce-training-template > h2,
.isoluce-training-template .seo-enrichment h2 { color:#26352b !important; font-size:clamp(1.6rem,2.6vw,2.05rem) !important; line-height:1.23; letter-spacing:-.02em; margin-top:2.25em; margin-bottom:.55em; }
.isoluce-training-template > h3,
.isoluce-training-template .seo-enrichment h3 { color:#29382f; font-size:clamp(1.25rem,2vw,1.5rem); line-height:1.3; margin-top:1.7em; }
.isoluce-training-template p,
.isoluce-training-template li { line-height:1.68; }
.isoluce-training-template li + li { margin-top:.35em; }
.isoluce-training-template a { text-underline-offset:3px; }
.isoluce-training-template img { max-width:100%; height:auto; }
.isoluce-training-template > .wp-block-spacer { height:24px !important; }
.isoluce-training-template > figure img { border-radius:18px; }
.isoluce-training-template > .seo-enrichment { padding-top:1rem; }
.isoluce-training-template .seo-enrichment p,
.isoluce-training-template .seo-enrichment li { font-size:1.0625rem; }

.isoluce-course-header { max-width:1100px; margin:0 auto 26px; padding:clamp(28px,4vw,52px); border-radius:22px; background:#f5f9f2; }
.isoluce-course-header .isoluce-course-kicker { margin:0 0 10px; color:#276d20; font-size:.78rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.isoluce-course-header h1 { max-width:22ch; margin:0 0 16px; color:#25342b; font-size:clamp(2.1rem,4vw,3.5rem); line-height:1.1; letter-spacing:-.035em; hyphens:none; overflow-wrap:normal; word-break:normal; }
.isoluce-course-header .isoluce-course-orientation { max-width:61ch; margin:0 0 16px; font-size:1.08rem; line-height:1.55; }
.isoluce-course-header a { color:#a80040; font-size:.95rem; font-weight:650; }
.isoluce-course-nav { display:flex; align-items:center; flex-wrap:wrap; gap:8px; max-width:1100px; margin:0 auto 30px; padding:10px 14px; border:1px solid #e2e9df; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(28,59,38,.045); }
.isoluce-course-nav span { margin-right:4px; color:#546259; font-size:.83rem; font-weight:700; }
.isoluce-course-nav a { display:inline-flex; align-items:center; min-height:40px; padding:6px 13px; border-radius:999px; background:#f3f7f1; color:#2a5033; font-size:.88rem; font-weight:650; text-decoration:none; white-space:nowrap; }
.isoluce-course-nav a:hover,.isoluce-course-nav a:focus-visible { background:#dfeedd; color:#1e4227; }
.isoluce-course-nav a:focus-visible { outline:3px solid #bb0050; outline-offset:2px; }
.isoluce-training-template [id^="formation-"] { scroll-margin-top:24px; }

.isoluce-course-facts { max-width:1100px; margin:0 auto 38px; }
.isoluce-course-facts .wp-block-columns { display:grid !important; grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr); align-items:start !important; gap:24px !important; margin:0 !important; width:100% !important; max-width:none !important; }
.isoluce-course-facts .wp-block-column { box-sizing:border-box; width:auto !important; min-width:0; flex-basis:auto !important; min-height:0 !important; padding:28px 30px !important; border:1px solid #d9e7d5; border-top:4px solid #287d1b; border-radius:18px; background:#f6faf4 !important; color:#2d3d32 !important; box-shadow:0 10px 26px rgba(26,67,30,.045); }
.isoluce-course-facts .wp-block-column :is(h2,h3,h4,p,li,ul,span,strong) { color:#2d3d32 !important; }
.isoluce-course-facts .wp-block-column h2 { margin:0 0 18px !important; font-size:clamp(1.35rem,2vw,1.6rem) !important; line-height:1.25; text-transform:none; }
.isoluce-course-facts .wp-block-column h4 { margin:20px 0 6px !important; font-size:1.04rem !important; line-height:1.35; }
.isoluce-course-facts .wp-block-column ul { margin:4px 0 0; padding-left:1.25em; }
.isoluce-course-facts .wp-block-column li { font-size:.97rem; line-height:1.5; }
.isoluce-course-facts .wp-block-column .wp-block-spacer,
.isoluce-course-facts .wp-block-column hr { display:none !important; }
.isoluce-course-facts .wp-block-column a { color:#9d0039 !important; text-decoration:underline; }
.isoluce-course-facts + .wp-block-spacer { display:none !important; }

.isoluce-training-template > details.wp-block-details { margin-top:8px; margin-bottom:8px; border:1px solid #e1e9df; border-radius:12px; background:#fff; }
.isoluce-training-template > details.wp-block-details summary { cursor:pointer; padding:13px 18px; color:#2b4530; font-size:1rem; font-weight:650; }
.isoluce-training-template > details.wp-block-details summary:focus-visible { outline:3px solid #bb0050; outline-offset:2px; }
.isoluce-training-template > details.wp-block-details[open] { padding-bottom:14px; }
.isoluce-training-template > details.wp-block-details[open] > :not(summary) { margin-left:18px; margin-right:18px; }
.isoluce-training-template > .wp-block-columns.has-background:not(.alignwide) { max-width:760px; margin-inline:auto; border-radius:18px; overflow:hidden; }

@media (max-width:959px) {
  .isoluce-course-facts .wp-block-columns { grid-template-columns:1fr; gap:16px !important; }
  body.isoluce-formation-page .isoluce-training-classic-hero { display:grid !important; grid-template-columns:minmax(0,1fr) !important; }
  body.isoluce-formation-page .isoluce-training-classic-hero > .isoluce-training-classic-intro,
  body.isoluce-formation-page .isoluce-training-classic-hero > .isoluce-training-booking { grid-column:1 !important; grid-row:auto !important; }
  body.isoluce-formation-page .isoluce-training-classic-hero > .isoluce-training-classic-intro { display:block !important; }
  body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking { grid-template-columns:minmax(0,1fr) auto; }
  body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .itb-primary { grid-column:2; grid-row:2; }
  body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .itb-secondary { grid-column:2; grid-row:3; }
}
@media (max-width:767px) {
  body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking { display:block; padding:20px !important; }
  body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking p { margin:8px 0 14px; }
  body.isoluce-formation-page .isoluce-training-template > .isoluce-training-booking .itb-link { margin:8px 0; }
  body.isoluce-formation-page .page_content_wrap { padding-top:24px; }
  .isoluce-training-template { font-size:1rem; }
  .isoluce-course-header { padding:26px 22px; border-radius:18px; }
  .isoluce-course-header h1 { max-width:none; }
  .isoluce-course-nav { box-sizing:border-box; width:100%; max-width:100%; min-width:0; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; margin-bottom:24px; }
  .isoluce-course-nav span { flex:0 0 auto; }
  .isoluce-course-facts .wp-block-column { padding:22px !important; }
  .isoluce-training-template > h2,.isoluce-training-template .seo-enrichment h2 { margin-top:1.8em; }
}
