/* COBIT 7 preview styles. Uses the live Salient tokens from research/egit-theme-audit.md.
   In WordPress these map to WPBakery rows/columns (see ia/wpbakery-handoff.md). */
:root {
  --c7-accent: #3BA9D6;
  --c7-navy: #0F1C43;
  --c7-block: #0A2463;
  --c7-card-blue: #3E92CC;
  --c7-yellow: #FFCE59;
  --c7-cyan: #54C8E6;
  --c7-header-bg: #EDEEF1;
  --c7-light: #F0F2F6;
  --c7-slate: #2E4052;
  --c7-crimson: #A50044;
  --c7-pad-x: 7vw;
}

/* Full-bleed band inside Salient's padded .container */
.c7-full { position: relative; width: 100vw; left: 50%; margin-left: -50vw; }
.c7-inner { max-width: 1650px; margin: 0 auto; padding: 0 var(--c7-pad-x); box-sizing: border-box; }
.c7-section { padding-top: calc(100vw * 0.08); padding-bottom: calc(100vw * 0.08); }
.c7-section--tight { padding-top: calc(100vw * 0.05); padding-bottom: calc(100vw * 0.05); }
.c7-bg-white { background: #fff; }
.c7-bg-light { background: var(--c7-light); }
.c7-bg-header { background: var(--c7-header-bg); }
.c7-bg-navy { background: var(--c7-block); color: #fff; }
.c7-bg-navy h1, .c7-bg-navy h2, .c7-bg-navy h3, .c7-bg-navy p, .c7-bg-navy li { color: #fff; }

/* Type, matching nectar_responsive_text sizes */
.c7-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: 0; padding: 6px 14px; border-radius: 200px; background: rgba(59,169,214,.12); color: var(--c7-navy); margin-bottom: 22px; }
.c7-bg-navy .c7-eyebrow { background: rgba(255,255,255,.12); color: #fff; }
.c7-eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c7-crimson); box-shadow: 0 0 0 4px rgba(165,0,68,.18); }
.c7-h1 { font-family: 'Inter', sans-serif; font-weight: 500; font-size: min(50px, 3vw); line-height: 1.2; letter-spacing: -0.03em; margin: 0 0 20px; padding: 0; color: var(--c7-navy); }
.c7-h2 { font-family: 'Inter', sans-serif; font-weight: 500; font-size: min(46px, 3vw); line-height: 1.2; letter-spacing: -0.03em; margin: 0 0 18px; padding: 0; color: var(--c7-navy); }
.c7-h3 { font-family: 'Inter', sans-serif; font-weight: 600; font-size: min(26px, 1.8vw); line-height: 1.3; letter-spacing: -0.03em; margin: 0 0 12px; padding: 0; color: var(--c7-navy); }
.c7-lead { font-size: min(20px, max(16px, 1.1vw)); line-height: 1.6; color: var(--c7-slate); margin: 0 0 12px; padding: 0; }
.c7-bg-navy .c7-lead { color: rgba(255,255,255,.86); }
.c7-body { font-size: min(20px, max(15px, 1.1vw)); line-height: 1.6; margin: 0 0 10px; padding: 0; }
.c7-center { text-align: center; }
.c7-intro { max-width: 820px; margin: 0 auto 48px; }
.c7-small { font-size: 14px; line-height: 22px; color: #777; }

/* Buttons, copying the site's three pill patterns */
.c7-btns { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; }
.c7-btn { display: inline-flex; align-items: center; gap: 8px; font-family: 'Plus Jakarta Sans', sans-serif !important; font-weight: 500; font-size: max(14px, 1.1vw); line-height: 1.2; letter-spacing: -0.02em; border-radius: 200px; padding: 0.8em 2em; text-decoration: none !important; transition: background .25s, color .25s, border-color .25s, transform .25s; cursor: pointer; border: 2px solid transparent; }
.c7-btn--solid { background: var(--c7-accent); color: #fff !important; }
.c7-btn--solid:hover { background: #2a93bf; transform: translateY(-1px); }
.c7-btn--outline { background: transparent; color: var(--c7-navy) !important; border-color: rgba(15,28,67,.75); font-size: 13px; padding: 10px 24px; }
.c7-btn--outline:hover { background: var(--c7-accent); border-color: var(--c7-accent); color: #fff !important; }
.c7-bg-navy .c7-btn--outline, .c7-btn--outline.on-dark { color: #fff !important; border-color: rgba(255,255,255,.85); }
.c7-btn svg { width: 16px; height: 16px; flex: none; }

/* Grid helpers */
.c7-grid { display: grid; gap: 50px; }
.c7-grid--2 { grid-template-columns: 1fr 1fr; align-items: center; }
.c7-grid--2-top { grid-template-columns: 1fr 1fr; align-items: start; }
.c7-grid--3 { grid-template-columns: repeat(3, 1fr); gap: 20px; }
.c7-grid--4 { grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* Page header (interior) */
.c7-pagehead { min-height: calc(88vh - 80px); display: flex; align-items: center; background: var(--c7-header-bg); overflow: hidden; }
.c7-pagehead .c7-inner { width: 100%; }
.c7-logo-card { background: #fff; border-radius: 24px; padding: clamp(28px, 4vw, 64px); box-shadow: 0 30px 60px -30px rgba(15,28,67,.35); position: relative; }
.c7-logo-card img { display: block; width: 100%; height: auto; }
.c7-logo-card .c7-flag { position: absolute; top: -14px; right: 24px; background: var(--c7-crimson); color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 500; font-size: 13px; padding: 6px 14px; border-radius: 200px; }
.c7-circle-bg { position: absolute; width: 60vw; aspect-ratio: 1; border-radius: 50%; background: var(--c7-cyan); opacity: .25; right: -18vw; top: -20vw; z-index: 0; }
.c7-rel { position: relative; z-index: 1; }

/* Timeline */
.c7-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; counter-reset: none; }
.c7-timeline li { list-style: none; background: #fff; border-radius: 16px; padding: 30px 26px; position: relative; border-top: 4px solid var(--c7-accent); margin: 0; }
.c7-timeline li.is-launch { background: var(--c7-block); border-top-color: var(--c7-crimson); }
.c7-timeline li.is-launch * { color: #fff; }
.c7-timeline li.is-deadline { border-top-color: var(--c7-yellow); }
.c7-date { font-family: 'Inter', sans-serif; font-weight: 600; font-size: min(28px, max(22px, 1.8vw)); letter-spacing: -0.03em; color: var(--c7-navy); line-height: 1.2; display: block; margin-bottom: 4px; }
.c7-tag { display: inline-block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--c7-accent); margin-bottom: 14px; }
.c7-timeline li.is-launch .c7-tag { color: var(--c7-yellow) !important; }
.c7-timeline p { font-size: 16px; line-height: 1.55; margin: 0; padding: 0; }

/* Icon cards */
.c7-card { background: #fff; border-radius: 16px; padding: clamp(26px, 3vw, 44px); height: 100%; box-sizing: border-box; }
.c7-card--blue { background: #ACD7E7; }
.c7-card--navy { background: var(--c7-block); }
.c7-card--navy * { color: #fff; }
.c7-card--feature { border: 2px solid var(--c7-accent); }
.c7-icon { width: 56px; height: 56px; margin-bottom: 20px; color: var(--c7-accent); }
.c7-icon svg { width: 100%; height: 100%; }
.c7-badge { display: inline-block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 12px; font-weight: 500; padding: 4px 12px; border-radius: 200px; background: var(--c7-accent); color: #fff !important; margin-bottom: 14px; }
.c7-badge--muted { background: rgba(15,28,67,.08); color: var(--c7-navy) !important; }
.c7-tbc { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; line-height: 1.4; color: var(--c7-slate); background: rgba(255,206,89,.25); border-radius: 8px; padding: 8px 12px; margin-top: 14px; }
.c7-tbc svg { width: 16px; height: 16px; flex: none; }

/* Dot list (mirrors .nectar-fancy-ul[data-list-icon=dot]) */
.c7-dots { list-style: none; margin: 0; padding: 0; }
.c7-dots li { position: relative; padding-left: 26px; margin: 0 0 10px; font-size: min(20px, max(15px, 1.1vw)); line-height: 1.6; list-style: none; }
.c7-dots li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--c7-accent); }

/* Register form (brochure-gate look) */
.c7-form-wrap { background: #fff; border-radius: 20px; padding: clamp(24px, 3.5vw, 52px); box-shadow: 0 30px 60px -40px rgba(15,28,67,.4); color: var(--c7-navy); }
.c7-form-wrap * { color: inherit; }
.c7-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.c7-field { display: flex; flex-direction: column; gap: 6px; }
.c7-field--full { grid-column: 1 / -1; }
.c7-field label { font-family: 'Plus Jakarta Sans', sans-serif !important; font-weight: 600 !important; font-size: 14px !important; line-height: 20px !important; color: var(--c7-navy) !important; }
.c7-field input, .c7-field select { min-height: 52px; border-radius: 8px !important; border: 1px solid rgba(15,28,67,.18) !important; background: #fff !important; padding: 0 16px !important; font-family: 'Inter', sans-serif; font-size: 16px; color: var(--c7-navy) !important; box-sizing: border-box; width: 100%; }
.c7-field input:focus, .c7-field select:focus { outline: 2px solid var(--c7-accent); outline-offset: 1px; }
.c7-check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.c7-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.c7-form-wrap .c7-btn--solid { color: #fff !important; border: 0; font-size: 16px; }
.c7-form-note { font-size: 13px; line-height: 1.5; color: #6b7385 !important; margin: 14px 0 0; }
.c7-success { display: none; text-align: center; padding: 30px 10px; }
.c7-success svg { width: 64px; height: 64px; color: #1E8449; margin-bottom: 14px; }
.c7-form-wrap.is-done form { display: none; }
.c7-form-wrap.is-done .c7-success { display: block; }

/* FAQ (mirrors Salient minimal toggles) */
.c7-faq { max-width: 960px; margin: 0 auto; }
.c7-faq details { border-bottom: 1px solid rgba(15,28,67,.14); }
.c7-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 24px 0; font-family: 'Inter', sans-serif; font-weight: 500; font-size: min(22px, max(17px, 1.3vw)); line-height: 1.35; color: var(--c7-navy); letter-spacing: -0.02em; }
.c7-faq summary::-webkit-details-marker { display: none; }
.c7-faq .pm { width: 34px; height: 34px; flex: none; border: 2px solid rgba(15,28,67,.2); border-radius: 50%; position: relative; transition: transform .25s, background .25s; }
.c7-faq .pm::before, .c7-faq .pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--c7-navy); transform: translate(-50%, -50%); }
.c7-faq .pm::after { transform: translate(-50%, -50%) rotate(90deg); transition: opacity .2s; }
.c7-faq details[open] .pm { background: var(--c7-accent); border-color: var(--c7-accent); }
.c7-faq details[open] .pm::before, .c7-faq details[open] .pm::after { background: #fff; }
.c7-faq details[open] .pm::after { opacity: 0; }
.c7-faq .ans { padding: 0 60px 24px 0; }
.c7-faq .ans p { font-size: 17px; line-height: 1.65; margin: 0; padding: 0; }

/* Home: announcement band (option A) */
.c7-band { background: var(--c7-block); color: #fff; overflow: hidden; }
.c7-band .c7-inner { display: grid; grid-template-columns: 1.35fr 1fr; gap: 50px; align-items: center; padding-top: calc(100vw * 0.05); padding-bottom: calc(100vw * 0.05); position: relative; }
.c7-band .c7-h2 { color: #fff; }
.c7-band .c7-watermark { position: absolute; right: -4vw; bottom: -10vw; font-family: 'Inter', sans-serif; font-weight: 200; font-size: 34vw; line-height: 1; color: rgba(255,255,255,.04); pointer-events: none; }
.c7-band .c7-logo-card { padding: clamp(22px, 2.6vw, 44px); }
.c7-countrow { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 26px; }
.c7-countrow div { border-left: 2px solid rgba(255,255,255,.25); padding-left: 14px; }
.c7-countrow strong { display: block; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 20px; letter-spacing: -0.02em; color: #fff; line-height: 1.3; }
.c7-countrow span { font-size: 14px; line-height: 1.4; color: rgba(255,255,255,.75); }

/* Home: hero takeover (option B) extras */
.c7-hero-panel { background: radial-gradient(circle at bottom, rgb(0,2,255) 0%, rgb(48,169,255) 76%); border-radius: 0; padding: clamp(40px, 6vw, 90px) clamp(24px, 4vw, 60px); position: relative; overflow: hidden; }
.c7-hero-panel .c7-logo-card { max-width: 520px; margin: 0 auto; }
.c7-hero-panel .c7-hero-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 520px; margin: 22px auto 0; }
.c7-hero-panel .c7-hero-dates div { background: rgba(255,255,255,.14); border-radius: 12px; padding: 14px 16px; color: #fff; font-size: 14px; line-height: 1.4; }
.c7-hero-panel .c7-hero-dates strong { display: block; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 18px; color: #fff; }

/* Notice strip (for /cobit-overview/ and course pages) */
.c7-notice { background: var(--c7-block); color: #fff; }
.c7-notice .c7-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; padding-bottom: 16px; flex-wrap: wrap; }
.c7-notice p { margin: 0; padding: 0; color: #fff; font-size: 16px; line-height: 1.5; }
.c7-notice a { color: var(--c7-yellow) !important; font-weight: 500; }

/* Legal line */
.c7-legal { padding: 26px 0; border-top: 1px solid rgba(15,28,67,.08); }

/* Preview chrome (not part of the design) */
.c7-preview-badge { position: fixed; z-index: 100000; left: 16px; bottom: 16px; background: #111; color: #fff; font: 500 12px/1.3 'Inter', sans-serif; padding: 8px 12px; border-radius: 8px; opacity: .85; pointer-events: none; }
.c7-preview-nav { position: fixed; z-index: 100000; right: 16px; bottom: 16px; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; max-width: 60vw; }
.c7-preview-nav a { background: #111; color: #fff !important; font: 500 12px/1.3 'Inter', sans-serif; padding: 8px 12px; border-radius: 8px; opacity: .85; text-decoration: none; }
.c7-preview-nav a.on { background: var(--c7-accent); }

/* Static menu item added to the live nav */
.c7-new-pill { display: inline-block; margin-left: 6px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; font-weight: 500; line-height: 1; padding: 4px 7px; border-radius: 200px; background: var(--c7-crimson); color: #fff !important; vertical-align: middle; }

/* Responsive */
@media (max-width: 999px) {
  :root { --c7-pad-x: 6vw; }
  .c7-grid--2, .c7-grid--2-top, .c7-band .c7-inner { grid-template-columns: 1fr; gap: 36px; }
  .c7-grid--3 { grid-template-columns: 1fr; }
  .c7-grid--4, .c7-timeline { grid-template-columns: 1fr 1fr; }
  .c7-h1 { font-size: max(28px, 5vw); }
  .c7-h2 { font-size: max(26px, 4.4vw); }
  .c7-h3 { font-size: 22px; }
  .c7-pagehead { min-height: 0; }
  .c7-section { padding-top: 64px; padding-bottom: 64px; }
  .c7-band .c7-inner { padding-top: 56px; padding-bottom: 56px; }
}
@media (max-width: 690px) {
  :root { --c7-pad-x: 22px; }
  .c7-grid--4, .c7-timeline { grid-template-columns: 1fr; }
  .c7-form-grid { grid-template-columns: 1fr; }
  .c7-h1 { font-size: 7.4vw; }
  .c7-h2 { font-size: 6.6vw; }
  .c7-pagehead .c7-logo-order { order: -1; }
  .c7-pagehead .c7-logo-card { max-width: 300px; padding: 22px; }
  .c7-faq .ans { padding-right: 0; }
  .c7-btns .c7-btn { justify-content: center; }
  .c7-preview-nav { max-width: calc(100vw - 32px); left: 16px; justify-content: flex-start; bottom: 52px; }
  .c7-hero-panel .c7-hero-dates { grid-template-columns: 1fr; }
}

/* Proof strip: stats (estimates) + client logo placeholders */
.c7-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 36px 0 40px; }
.c7-stats div { text-align: center; padding: 10px 16px; border-left: 1px solid rgba(15,28,67,.12); }
.c7-stats div:first-child { border-left: 0; }
.c7-stats strong { display: block; font-family: 'Inter', sans-serif; font-weight: 600; font-size: min(46px, max(30px, 3vw)); letter-spacing: -0.03em; color: var(--c7-accent); line-height: 1.15; }
.c7-stats span { font-size: 16px; line-height: 1.5; color: var(--c7-slate); }
.c7-est { font-size: 11px; color: var(--c7-crimson); margin-left: 4px; font-family: 'Plus Jakarta Sans', sans-serif; }
.c7-logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.c7-logo-ph { height: 80px; border: 1.5px dashed rgba(15,28,67,.22); border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #8a92a6; font-size: 13px; font-family: 'Plus Jakarta Sans', sans-serif; }
.c7-logo-ph svg { width: 22px; height: 22px; }
@media (max-width: 999px) { .c7-logos { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 690px) {
  .c7-stats { grid-template-columns: 1fr; gap: 6px; }
  .c7-stats div { border-left: 0; border-top: 1px solid rgba(15,28,67,.12); padding-top: 16px; }
  .c7-stats div:first-child { border-top: 0; }
  .c7-logos { grid-template-columns: repeat(2, 1fr); }
}

/* Fixes after first visual pass */
.c7-card.c7-card--light { background: var(--c7-light); height: auto; }
.c7-stack { display: flex; flex-direction: column; gap: 20px; }
.c7-form-wrap .fancy-select-wrap { display: flex; flex-direction: column; gap: 6px; padding: 0 !important; margin: 0 !important; }
.c7-form-wrap .fancy-select-wrap label, .c7-form-wrap label { position: static !important; transform: none !important; color: var(--c7-navy) !important; opacity: 1 !important; }
.c7-form-wrap button.c7-btn--solid, body .c7-form-wrap button[type=submit].c7-btn { background: var(--c7-accent) !important; color: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0.9em 2.2em !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 16px !important; border-radius: 200px !important; }
.c7-form-wrap button.c7-btn--solid:hover { background: #2a93bf !important; }
.c7-shot .c7-preview-badge, .c7-shot .c7-preview-nav { display: none !important; }
.c7-hero-2nd { margin-left: 6px; vertical-align: middle; }
.nectar-cta .link_text .text { white-space: nowrap; }
@media (max-width: 690px) {
  .c7-hero-2nd { margin: 14px 0 0 0; display: inline-flex; }
  .c7-band .c7-countrow { gap: 16px; }
}
html body[data-fancy-form-rcs] #c7-form .fancy-select-wrap label, html body #c7-form label { color: var(--c7-navy) !important; }
.c7-btn { white-space: nowrap; }
@media (max-width: 690px) { .c7-hero-2nd { margin: 0 0 0 4px; padding: 9px 18px; } }

/* /cobit-overview/ redesign */
.c7-ov-hero { min-height: calc(80vh - 80px); display: flex; align-items: center; background: #0b1530 url('https://egit.co.za/wp-content/uploads/2025/12/cobit.jpg') center / cover no-repeat; }
.c7-ov-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,36,99,.92) 0%, rgba(10,36,99,.7) 45%, rgba(0,0,0,.15) 100%); }
.c7-ov-hero .c7-inner { position: relative; width: 100%; }
.c7-ov-hero-text { max-width: 620px; }
.c7-ov-hero .c7-h1 { color: #fff; }
.c7-ov-hero .c7-lead { color: rgba(255,255,255,.88); }
.c7-ov-hero .c7-eyebrow { background: rgba(255,255,255,.14); color: #fff; }
.c7-ov-feature { position: relative; z-index: 2; margin-top: calc(-1 * clamp(40px, 7vw, 120px)); background: var(--c7-block); border-radius: 24px; padding: clamp(28px, 4vw, 64px); display: grid; grid-template-columns: 1.3fr 1fr; gap: 50px; align-items: center; box-shadow: 0 40px 80px -40px rgba(10,36,99,.6); }
.c7-ov-feature * { color: #fff; }
.c7-ov-feature .c7-lead { color: rgba(255,255,255,.86); }
.c7-ov-feature .c7-logo-card img { filter: none; }
.c7-ov-path { display: flex; flex-direction: column; }
.c7-ov-path .c7-btns { margin-top: auto; padding-top: 20px; }
.c7-ov-logo { height: 90px; display: flex; align-items: center; margin: 18px 0 4px; }
.c7-ov-logo img { max-height: 70px; width: auto; max-width: 100%; }
.c7-badge--warn { background: var(--c7-yellow); color: var(--c7-navy) !important; }
@media (max-width: 999px) {
  .c7-ov-feature { grid-template-columns: 1fr; gap: 30px; }
  .c7-ov-feature-logo { order: -1; max-width: 360px; }
  .c7-ov-hero { min-height: 0; }
}
@media (max-width: 690px) {
  .c7-ov-hero { background-image: url('https://egit.co.za/wp-content/uploads/2026/10/cobit-overview-hero-m.jpg'); }
  .c7-ov-hero::before { background: linear-gradient(180deg, rgba(10,36,99,.9) 0%, rgba(10,36,99,.8) 100%); }
  .c7-notice .c7-inner { flex-direction: column; align-items: flex-start; gap: 6px; }
  .c7-ov-feature { margin-top: -30px; }
}
.c7-ov-path .c7-badge { align-self: flex-start; }
.c7-ov-logo img.c7-logo-c5 { max-height: 110px; margin-left: -18px; }
/* No overlap: feature card sits below the hero with normal section spacing */
.c7-ov-feature, .c7-ov-feature { margin-top: 0 !important; }
/* Path cards: logos pinned to one shared line above the buttons */
.c7-ov-path .c7-ov-logo { margin: auto 0 0; padding-top: 28px; height: 110px; box-sizing: content-box; display: flex; align-items: center; justify-content: flex-start; }
.c7-ov-path .c7-ov-logo img { width: auto; max-width: 100%; margin: 0; }
.c7-ov-path .c7-ov-logo img.lg-7 { height: 96px; max-height: none; }
.c7-ov-path .c7-ov-logo img.lg-2019 { height: 50px; max-height: none; }
.c7-ov-path .c7-ov-logo img.lg-5 { height: 54px; max-height: none; }
.c7-ov-path .c7-btns { margin-top: 0; padding-top: 24px; }
@media (max-width: 999px) { .c7-ov-path .c7-ov-logo { height: 96px; } .c7-ov-path .c7-ov-logo img.lg-7 { height: 84px; } .c7-ov-path .c7-ov-logo img.lg-2019 { height: 44px; } .c7-ov-path .c7-ov-logo img.lg-5 { height: 48px; } }
/* Align wordmark tops and equalise card borders so buttons line up */
.c7-ov-path { border: 2px solid transparent; }
.c7-ov-path.c7-card--feature { border-color: var(--c7-accent); }
.c7-ov-path .c7-ov-logo { align-items: flex-start; height: 96px; }
.c7-ov-path .c7-ov-logo img.lg-7 { height: 96px; }
.c7-ov-path .c7-ov-logo img.lg-2019 { height: 58px; }
.c7-ov-path .c7-ov-logo img.lg-5 { height: 62px; }
@media (max-width: 999px) { .c7-ov-path .c7-ov-logo { height: 84px; } .c7-ov-path .c7-ov-logo img.lg-7 { height: 84px; } .c7-ov-path .c7-ov-logo img.lg-2019 { height: 50px; } .c7-ov-path .c7-ov-logo img.lg-5 { height: 54px; } }
.c7-ov-path .c7-btn { font-size: 14px; line-height: 20px; padding: 11px 26px; border-width: 2px; border-style: solid; }
.c7-ov-path .c7-btn--solid { border-color: var(--c7-accent); }

/* ============ ONE BUTTON SIZE EVERYWHERE (overrides all earlier variants) ============ */
html body .c7-btn,
html body .c7-form-wrap button[type=submit].c7-btn,
html body .c7-ov-path .c7-btn,
html body .c7-hero-2nd {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important; line-height: 20px !important; font-weight: 500 !important;
  padding: 12px 28px !important; border-width: 2px !important; border-style: solid !important; border-radius: 200px !important;
  min-height: 48px; box-sizing: border-box !important; margin: 0 !important; white-space: nowrap;
}
html body .c7-btn--solid, html body .c7-form-wrap button[type=submit].c7-btn { background: var(--c7-accent) !important; border-color: var(--c7-accent) !important; color: #fff !important; }
html body .c7-btn--outline { border-color: rgba(15,28,67,.75) !important; }
html body .c7-bg-navy .c7-btn--outline, html body .c7-btn--outline.on-dark { border-color: rgba(255,255,255,.85) !important; }
html body .c7-btn--outline:hover { background: var(--c7-accent) !important; border-color: var(--c7-accent) !important; color: #fff !important; }
/* The Salient CTA used in the home hero matches the same size */
html body .nectar-cta .link_wrap { padding: 12px 28px !important; border: 2px solid transparent; box-sizing: border-box; min-height: 48px; display: inline-flex; align-items: center; }
html body .nectar-cta .link_text { font-size: 15px !important; line-height: 20px !important; }
html body .nectar-cta { font-size: 15px !important; vertical-align: middle; }
html body .c7-hero-2nd { vertical-align: middle; margin-left: 10px !important; }
@media (max-width: 690px) {
  html body .c7-hero-2nd { margin: 12px 0 0 0 !important; }
}

/* ============ KEY DATES: open timeline, no containers ============ */
.c7-timeline { position: relative; gap: 40px; }
.c7-timeline::before { content: ""; position: absolute; left: 10px; right: 0; top: 10px; height: 2px; background: rgba(15,28,67,.14); }
html body .c7-timeline li { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 44px 16px 0 0 !important; }
.c7-timeline li::before { content: ""; position: absolute; top: 0; left: 0; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid var(--c7-accent); box-sizing: border-box; z-index: 1; }
.c7-timeline li.is-deadline::before { border-color: #E3A92B; }
.c7-timeline li.is-launch::before { background: var(--c7-crimson); border-color: var(--c7-crimson); box-shadow: 0 0 0 7px rgba(165,0,68,.14); }
html body .c7-timeline li.is-launch * { color: inherit; }
html body .c7-timeline li .c7-date { font-size: min(34px, max(26px, 2.2vw)); color: var(--c7-navy); margin-bottom: 8px; }
html body .c7-timeline li.is-launch .c7-date { color: var(--c7-crimson); }
html body .c7-timeline li .c7-tag { margin-bottom: 10px; }
html body .c7-timeline li.is-deadline .c7-tag { color: #A87400 !important; }
html body .c7-timeline li.is-launch .c7-tag { color: var(--c7-crimson) !important; }
html body .c7-timeline li p { color: var(--c7-slate); font-size: 16px; line-height: 1.6; max-width: 280px; }
@media (max-width: 999px) {
  .c7-timeline { grid-template-columns: 1fr !important; gap: 34px; }
  .c7-timeline::before { left: 10px; right: auto; top: 10px; bottom: 10px; width: 2px; height: auto; }
  html body .c7-timeline li { padding: 0 0 0 48px !important; }
  html body .c7-timeline li p { max-width: none; }
}

html body .c7-btn--outline, html body .c7-ov-path .c7-btn--outline { border-color: rgba(15,28,67,.75) !important; }
html body .c7-bg-navy .c7-btn--outline, html body .c7-ov-feature .c7-btn--outline, html body .c7-btn--outline.on-dark { border-color: rgba(255,255,255,.85) !important; }
html body .c7-btn--solid, html body .c7-ov-path .c7-btn--solid { border-color: var(--c7-accent) !important; }
html body .c7-timeline li.is-launch p { color: var(--c7-slate) !important; }
@media (max-width: 690px) {
  html body .c7-hero-2nd { display: flex !important; width: max-content; margin: 12px 0 0 0 !important; }
}
.wpb_wrapper:has(> .c7-hero-2nd) { flex-wrap: wrap; align-items: center; }
@media (max-width: 690px) {
  .wpb_wrapper:has(> .c7-hero-2nd) { flex-direction: column; align-items: flex-start; }
  html body .c7-hero-2nd { margin: 12px 0 0 0 !important; }
}
@media (max-width: 690px) {
  html body .c7-hero-2nd, html body .c7-hero-2nd ~ *, .wpb_wrapper:has(> .c7-hero-2nd) > .nectar-cta { align-self: flex-start !important; margin-left: 0 !important; }
}
html body .wpb_wrapper:has(> .c7-hero-2nd) > .nectar-cta { margin-right: 0 !important; }
/* Tight sections keep a sensible minimum on small screens */
.c7-section--tight { padding-top: max(56px, calc(100vw * 0.05)); padding-bottom: max(56px, calc(100vw * 0.05)); }

/* Trademark line: no stacked spacing above the copyright bar */
.c7-legal { padding: 22px 0 0; }
html body .c7-legal p { padding: 0 !important; margin: 0 !important; }
html body .container-wrap:has(.c7-legal) { padding-bottom: 22px !important; }

/* Training formats (in person / live online) */
.c7-modes { gap: 20px; }
.c7-mode { display: flex; flex-direction: column; border: 2px solid transparent; }
.c7-mode:hover { border-color: var(--c7-accent); }
.c7-mode-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.c7-mode-head .c7-icon { margin: 0; }
.c7-mode-head .c7-badge { margin: 0; }
.c7-mode .c7-btns { margin-top: auto; padding-top: 22px; }
.c7-included { margin-top: 20px; background: #fff; border-radius: 16px; padding: clamp(24px, 3vw, 40px); }
.c7-included .c7-h3 { font-size: 18px; margin-bottom: 16px; }
.c7-included-list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
html body .c7-included-list li { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.5; color: var(--c7-navy); font-weight: 500; }
.c7-included-list svg { width: 24px; height: 24px; flex: none; color: var(--c7-accent); }
.c7-who { margin: 0; color: var(--c7-slate); }
@media (max-width: 999px) { .c7-included-list { grid-template-columns: 1fr; } }
/* Stats row now ends the proof section (client logos removed 2026-10-03) */
.c7-stats { margin-bottom: 0; }

/* Live form states (2026-10-04) */
.c7-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.c7-field-error { display: block; min-height: 0; font-size: 13px; line-height: 1.4; color: #C0392B !important; }
.c7-field.has-error input, .c7-field.has-error select { border-color: #C0392B !important; }
.c7-form-msg { margin: 12px 0 0 !important; padding: 0 !important; font-size: 14px; line-height: 1.5; color: #C0392B !important; }
.c7-form-msg:empty { display: none; }
.c7-form-wrap button[disabled] { opacity: .7; cursor: wait; }

/* WordPress: WPBakery row/column wrappers around each COBIT 7 section add no spacing */
html body .wpb_row.c7-row { padding: 0 !important; margin: 0 !important; }
html body .wpb_row.c7-row .wpb_column,
html body .wpb_row.c7-row .vc_column-inner,
html body .wpb_row.c7-row .wpb_wrapper,
html body .wpb_row.c7-row .wpb_raw_code { padding: 0 !important; margin: 0 !important; }

/* Trademark line: full-width wrapper aligned with the footer text (60px desktop, 22px phone) */
html body .c7-legal-wrap .c7-legal { padding: 22px 60px 0; box-sizing: border-box; }
@media (max-width: 690px) { html body .c7-legal-wrap .c7-legal { padding: 22px 22px 0; } }

/* WordPress: Salient sizes headings inside .col; keep the approved COBIT 7 sizes */
html body .c7-h1 { font-size: min(50px, 3vw); line-height: 1.2; }
html body .c7-h2 { font-size: min(46px, 3vw); line-height: 1.2; }
html body .c7-h3 { font-size: min(26px, 1.8vw); line-height: 1.3; }
html body .c7-included .c7-h3 { font-size: 18px; }
@media (max-width: 999px) {
  html body .c7-h1 { font-size: max(28px, 5vw); }
  html body .c7-h2 { font-size: max(26px, 4.4vw); }
  html body .c7-h3 { font-size: 22px; }
}
@media (max-width: 690px) {
  html body .c7-h1 { font-size: 7.4vw; }
  html body .c7-h2 { font-size: 6.6vw; }
}

/* Salient's ".row .col h3" (0,2,1) outranks class selectors, so pin COBIT 7 heading sizes */
html body .c7-h3 { font-size: min(26px, 1.8vw) !important; line-height: 1.3 !important; }
html body .c7-included .c7-h3 { font-size: 18px !important; }
html body .c7-h1 { font-size: min(50px, 3vw) !important; }
html body .c7-h2 { font-size: min(46px, 3vw) !important; }
@media (max-width: 999px) {
  html body .c7-h3 { font-size: 22px !important; }
  html body .c7-h1 { font-size: max(28px, 5vw) !important; }
  html body .c7-h2 { font-size: max(26px, 4.4vw) !important; }
}
@media (max-width: 690px) {
  html body .c7-h1 { font-size: 7.4vw !important; }
  html body .c7-h2 { font-size: 6.6vw !important; }
}

/* Register interest: confirmation state (2026-10-04). The navy section sets h3/p to white, so restore navy inside the white card */
html body .c7-form-wrap .c7-success { padding: 24px 8px; }
html body .c7-form-wrap .c7-success svg { color: #1E8449 !important; width: 64px; height: 64px; margin: 0 auto 18px; display: block; }
html body .c7-form-wrap .c7-success h3 { color: var(--c7-navy) !important; margin-bottom: 12px; outline: none; }
html body .c7-form-wrap .c7-success p { color: var(--c7-slate) !important; max-width: 440px; margin: 0 auto 12px !important; }
html body .c7-form-wrap .c7-success p.c7-success-help { font-size: 15px; color: #6b7385 !important; }
html body .c7-form-wrap .c7-success a:not(.c7-btn) { color: var(--c7-accent) !important; text-decoration: underline; }
html body .c7-form-wrap .c7-success .c7-success-email { font-weight: 600; color: var(--c7-navy); }
html body .c7-form-wrap .c7-success-btns { justify-content: center; margin-top: 18px; }
html body .c7-form-wrap .c7-success .c7-btn--outline { color: var(--c7-navy) !important; border-color: rgba(15,28,67,.75) !important; }
html body .c7-form-wrap .c7-success .c7-btn--outline:hover { color: #fff !important; border-color: var(--c7-accent) !important; }

/* When a page opens with a COBIT 7 section, start it flush under the header like the site's other
   page headers (Salient only drops its 40px .container-wrap top padding for its own full-width rows). */
html body .container-wrap:has(.wpb_row.top-level.c7-row) { padding-top: 0 !important; }
/* Page headers follow the site's own pattern: content top-aligned with 8% padding, no forced height */
html body .c7-pagehead, html body .c7-ov-hero { min-height: 0 !important; align-items: flex-start; }
/* Info notes: plain text with icon, no yellow panel (2026-10-04) */
html body .c7-tbc { background: none !important; padding: 0 !important; border-radius: 0; }
/* Inline text links inside COBIT 7 copy */
html body .c7-inline-link { color: var(--c7-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
html body .c7-inline-link:hover { color: var(--c7-navy) !important; }

/* "New from ISACA" tag sits half outside the card's top edge; keep the logo clear of it at every width */
html body .c7-logo-card:has(.c7-flag) { padding-top: max(50px, clamp(28px, 4vw, 64px)) !important; }
