/* ==========================================================================
   AAOPM brand 2026, sitewide (Nov 2026)
   The homepage look (premium-2026.css) applied to every page that uses
   includes/head.php: course pages, profession pages, pricing, calendar, etc.
   Visual layer only: no markup, text, links or headings change, so SEO is
   untouched. Selectors are prefixed with `html body` and use !important
   because page stylesheets (course-page.css, aesthetics-profession.css) load
   after head.php and many pages carry inline style="" attributes.
   Direction: graphite + white + warm off-white, one deep crimson, Geist,
   medium-weight headlines, square buttons, hairlines instead of shadows,
   flat colour instead of gradients.
   ========================================================================== */

/* ---------- Tokens (common.css defines these; inline styles reference them) ---------- */
html:root {
  --primary-color: #B3001B;
  --primary-color-opacity: #B3001Bbb;
  --primary-color-darker: #8C0015;
  --secondary-color: #141618;
  --secondary-color-darker: #0C0E10;
  --secondary-color-lighter: #3A3D41;
  --secondary-color-lighter-bg-with-opacity: #0C0E1011;
  --secondary-color-lighter-bg: #F4F3F1;
  --bg-secondary-color: #F4F3F1;
  --neutral-color-bg: #F4F3F1;
  --neutral-light-dark-color-bg: #E7E5E2;
  --neutral-light-darker-color-bg: #D6D3CF;
  --tertiary-color: #4A4D52;
  --border-radius: 6px;
  --border-radius-pill: 3px;
  --border-radius-xs: 2px;
  --br-ink: #181A1C;
  --br-ink-soft: #55595E;
  --br-line: rgba(24, 26, 28, .10);
  --br-line-dark: rgba(255, 255, 255, .10);
  --br-graphite: #101214;
  --br-graphite-2: #17191C;
  --br-sans: 'Geist', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---------- Typography ---------- */
html body,
html body p, html body li, html body a, html body span, html body div,
html body button, html body input, html body select, html body textarea, html body label,
html body td, html body th, html body small, html body strong, html body b,
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6 {
  font-family: var(--br-sans);
}
html body .bi, html body [class^="bi-"], html body [class*=" bi-"] { font-family: bootstrap-icons !important; }
html body .fa, html body .fas, html body .far, html body .fab, html body [class^="fa-"] { font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 6 Free", "Font Awesome 6 Brands"; }
html body {
  color: var(--br-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: -0.003em;
}
html body p, html body li { line-height: 1.6; }

/* headlines: medium weight, tight tracking; emphasis via 600 */
html body :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4) { font-weight: 500 !important; }
html body :is(h1, .h1) { letter-spacing: -0.03em !important; line-height: 1.06 !important; }
html body :is(h2, .h2) { letter-spacing: -0.022em !important; line-height: 1.14 !important; }
html body :is(h3, .h3, h4, .h4) { letter-spacing: -0.012em !important; }
html body :is(h1, h2, h3, .h1, .h2, .h3) :is(b, strong) { font-weight: 600 !important; }
html body p strong, html body li strong { font-weight: 600; }
/* nav keeps its own weights (nav-2026.css) */
html body header :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4) { letter-spacing: normal !important; }

/* small tracked uppercase labels */
html body :is(.hero-badge, .section-badge, .overview-badge, .card-badge, .bento-badge, .faculty-category-badge) {
  border-radius: 2px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* ---------- Buttons: square, tracked uppercase ---------- */
html body .btn,
html body :is(.hero-cta-primary, .hero-cta-secondary, .hero-btn, .course-card-btn, .btn-add-to-cart, .filter-btn) {
  border-radius: 3px !important;
  font-family: var(--br-sans) !important;
  font-weight: 600 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
html body :is(#contenido-principal, .container, .container-fluid) .btn:not(.btn-sm):not(.btn-link),
html body :is(.hero-cta-primary, .hero-cta-secondary, .hero-btn) {
  font-size: 12.5px !important;
  line-height: 1.2 !important;
}
html body .btn-primary,
html body .hero-cta-primary {
  background: var(--primary-color) !important;
  border: 1px solid var(--primary-color) !important;
  color: #fff !important;
}
html body .btn-primary:hover, html body .btn-primary:focus-visible,
html body .hero-cta-primary:hover {
  background: var(--primary-color-darker) !important;
  border-color: var(--primary-color-darker) !important;
}
html body .btn:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 3px; }
html body .btn-link { text-transform: none !important; letter-spacing: normal !important; }
/* inputs: rectangles */
html body :is(.search-input, .form-control, .form-select, select, input[type="text"], input[type="email"], input[type="tel"]) { border-radius: 3px !important; }

/* ---------- Dark sections: flat graphite, no gradients, no glows ---------- */
html body :is(.hero-modern, .profession-hero, .livestream-hero, .city-hero, .cta-section, .aaopm-community-block, .top-courses-section, .scope-card.featured) {
  background: var(--br-graphite) !important;
  background-image: none !important;
}
html body :is(.hero-modern, .profession-hero, .city-hero, .cta-section)::before,
html body .overview-image-wrapper::before { display: none !important; }
html body .aaopm-community-block { border-radius: 6px !important; }

/* course + profession heroes clear the fixed header (its real height is set in header.php, incl. the sale banner) */
html body .hero-modern { padding-top: calc(var(--scroll-margin-top) + 8px) !important; }
@media (max-width: 991px) {
  html body .profession-hero { padding-top: max(40px, calc(var(--scroll-margin-top) - 150px)) !important; }
}

/* light sections: flat warm off-white instead of cool gray (#f8f9fa) */
html body :is(.faq-section, .scope-section, .course-content-section) { background: var(--neutral-color-bg) !important; background-image: none !important; }
html body .objective-item { background: #fff !important; }
html body [style*="background:#f8f9fa"], html body [style*="background: #f8f9fa"],
html body [style*="background-color:#f8f9fa"], html body [style*="background-color: #f8f9fa"] { background: var(--neutral-color-bg) !important; }

/* ---------- Cards: hairline borders, 6px corners, no drop shadows ---------- */
html body :is(.hero-form-wrapper, .course-content-card, .professional-card, .objective-item, .related-course-card,
  .bento-card, .aaopm-proven-block, .why-list li, .faq-item, .scope-card, .related-link, .top-course-card,
  .faculty-card, .hero-price-box, .card) {
  border-radius: 6px !important;
  box-shadow: none !important;
}
html body :is(.course-content-card, .objective-item, .related-course-card, .bento-card, .aaopm-proven-block,
  .why-list li, .faq-item, .scope-card:not(.featured), .related-link, .faculty-card, .card) {
  border: 1px solid var(--br-line) !important;
}
html body :is(.related-course-card, .bento-card, .scope-card, .related-link, .faculty-card, .professional-card):hover {
  box-shadow: none !important;
  border-color: rgba(24, 26, 28, .28) !important;
}
html body .overview-image-wrapper { border-radius: 6px !important; box-shadow: none !important; }
html body .overview-image-wrapper img { border-radius: 6px !important; }
html body .overview-badge { background: #fff !important; border: 1px solid var(--br-line) !important; }
html body .course-content-card h2::after,
html body .scope-card::before { background: var(--primary-color) !important; background-image: none !important; }
html body .shadow, html body .shadow-sm, html body .shadow-lg { box-shadow: none !important; }

/* dark-section cards (professional cards sit on graphite) */
html body .professional-card { background: rgba(255, 255, 255, .03) !important; border: 1px solid var(--br-line-dark) !important; }
html body .professional-icon {
  background: transparent !important; background-image: none !important;
  border: 1px solid rgba(255, 255, 255, .18) !important; border-radius: 50% !important;
  color: #fff !important; box-shadow: none !important;
}
html body .professional-icon :is(i, svg) { color: #fff !important; }

/* tabs: rectangles */
html body .eligible-courses-tab { border-radius: 3px !important; box-shadow: none !important; }
/* course page tabs: underline tabs (no boxes, no click ring) */
html body .course-tabs-container { border-bottom: 1px solid var(--br-line) !important; background: #fff !important; }
html body .course-tabs { gap: 0 2.25rem !important; padding: 0 1rem !important; max-width: 1000px !important; }
html body .course-tab, html body .course-tab:hover, html body .course-tab.active {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: none !important;
  padding: 1.15rem 0 1rem !important; margin-bottom: -1px; border-bottom: 2px solid transparent !important;
  color: var(--br-ink-soft) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important;
}
html body .course-tab:hover { color: var(--br-ink) !important; }
html body .course-tab.active { color: var(--br-ink) !important; border-bottom-color: var(--primary-color) !important; }
html body .course-tab i { font-size: 15px !important; opacity: .75; }
html body .course-tab.active i { color: var(--primary-color) !important; opacity: 1; }
html body .course-tab:focus { outline: none !important; box-shadow: none !important; }
html body .course-tab:focus-visible { outline: 2px solid rgba(179, 0, 27, .35) !important; outline-offset: 4px; }
@media (max-width: 767px) {
  html body .course-tabs { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; gap: 0 1.5rem !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  html body .course-tabs::-webkit-scrollbar { display: none; }
  html body .course-tab { white-space: nowrap; flex: 0 0 auto; }
}
/* ghost buttons on pricing ("What's Included?") */
html body .btn-ghost-dark-pricing {
  border-radius: 3px !important; border-width: 1px !important;
  font-size: 12px !important; font-weight: 600 !important; letter-spacing: .09em !important; text-transform: uppercase !important;
}
/* section eyebrow labels (profession pages): solid crimson rectangle, as on the homepage */
html body .section-badge { background: var(--primary-color) !important; color: #fff !important; padding: .45rem .8rem !important; }
html body .why-list li { background: #fff !important; }

/* icon tiles: outline circle, crimson glyph (as on the homepage) */
html body :is(.bento-icon, .proven-icon, .scope-icon, .related-course-card .card-icon) {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid var(--br-line) !important;
  border-radius: 50% !important;
  color: var(--primary-color) !important;
  box-shadow: none !important;
}
html body :is(.bento-icon, .proven-icon, .scope-icon, .related-course-card .card-icon) :is(i, svg) { color: var(--primary-color) !important; fill: currentColor; }

/* ---------- Inline style="" gradients (page sections written inline) ---------- */
/* dark navy / maroon gradients -> flat graphite */
html body [style*="gradient(135deg, var(--secondary-color)"],
html body [style*="gradient(135deg,var(--secondary-color)"],
html body [style*="gradient"][style*="#1a1a2e"],
html body [style*="gradient"][style*="#16213e"],
html body [style*="gradient"][style*="#7d2d39"],
html body [style*="background:#1a1a2e"], html body [style*="background: #1a1a2e"],
html body [style*="background-color:#1a1a2e"], html body [style*="background-color: #1a1a2e"] {
  background: var(--br-graphite) !important;
}
/* light gray -> white fades -> flat warm off-white */
html body [style*="gradient(180deg, #f8f9fa"],
html body [style*="gradient(180deg, #ffffff 0%, var(--neutral-color-bg)"],
html body [style*="gradient(180deg, #fff 0%, var(--neutral-color-bg)"],
html body [style*="gradient(180deg, var(--neutral-color-bg) 0%, #fff"],
html body [style*="gradient(135deg, #f8f9fa"] {
  background: var(--neutral-color-bg) !important;
}
/* decorative red glows */
html body [style*="radial-gradient(ellipse, rgba(208,2,41"] { background: none !important; }
/* gradient icon squares (60px / 48px tiles) -> outline circle */
html body [style*="width:60px"][style*="gradient"],
html body [style*="width:48px"][style*="gradient"] {
  background: transparent !important;
  border: 1px solid var(--br-line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
html body [style*="width:60px"][style*="gradient"] :is(i, svg, path),
html body [style*="width:48px"][style*="gradient"] :is(i, svg, path) { color: var(--primary-color) !important; fill: var(--primary-color) !important; }
/* on graphite sections the outline must read on dark */
html body :is(.hero-modern, .profession-hero, .cta-section, [style*="gradient"][style*="#1a1a2e"], [style*="gradient(135deg, var(--secondary-color)"]) [style*="width:60px"][style*="gradient"] {
  border-color: rgba(255, 255, 255, .18) !important;
}
/* red gradient pills/tiles written inline */
html body [style*="gradient(135deg,#ca0625"],
html body [style*="gradient(135deg, var(--primary-color)"] { background: var(--primary-color) !important; }

/* ---------- Inline corner radii -> one shape system ---------- */
html body [style*="border-radius:12px"], html body [style*="border-radius: 12px"],
html body [style*="border-radius:16px"], html body [style*="border-radius: 16px"],
html body [style*="border-radius:20px"], html body [style*="border-radius: 20px"],
html body [style*="border-radius:24px"], html body [style*="border-radius: 24px"] {
  border-radius: 6px !important;
}
html body [style*="border-radius:50px"], html body [style*="border-radius: 50px"],
html body [style*="border-radius:30px"], html body [style*="border-radius: 30px"],
html body [style*="border-radius:100px"], html body [style*="border-radius: 100px"],
html body .rounded-pill {
  border-radius: 3px !important;
}
/* inline drop shadows -> none (except the header, styled by nav-2026.css) */
html body :not(header) > [style*="box-shadow"]:not(header *) { box-shadow: none !important; }

/* ---------- Events calendar (includes/courses-calendar.php, on every course page) ---------- */
html body :is(.city-section, .city-section-list, .course-card, .calendar-list-table tr.calendar-list-row) {
  border-radius: 6px !important;
  box-shadow: none !important;
  border: 1px solid var(--br-line) !important;
}
html body :is(.city-section, .city-section-list, .course-card, .calendar-list-row):hover { box-shadow: none !important; }
html body :is(.city-section-header, .city-section-header-list) { background: #fff !important; background-image: none !important; }
html body :is(.city-section--livestream .city-section-header, .city-section-list--livestream .city-section-header-list) { background: var(--neutral-color-bg) !important; }
html body .city-section-icon { border-radius: 50% !important; }
html body :is(.city-section-count, .course-card-date-badge) { border-radius: 2px !important; box-shadow: none !important; }
html body :is(.date-badge, .course-card-date-badge) { border-radius: 3px !important; }
html body :is(.banner-switch, .banner-switch-handle, .information-tabs button.nav-link) { border-radius: 3px !important; }
html body .course-type-btn.active { box-shadow: none !important; }
/* yellow (#ffd700) CTAs -> on-brand graphite ("Book a call" strip, bundles "Request Info", "Bundle & Save") */
html body .btn[style*="#ffd700"], html body .bundle-btn-compact {
  background: var(--br-graphite) !important; color: #fff !important; border: 1px solid var(--br-graphite) !important;
  border-radius: 3px !important; box-shadow: none !important;
}
html body .btn[style*="#ffd700"]:hover, html body .bundle-btn-compact:hover { background: var(--primary-color) !important; border-color: var(--primary-color) !important; color: #fff !important; }
html body .bundle-btn-compact { font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important; font-size: 11px !important; }
html body .bundle-btn-compact :is(i, svg) { color: #fff !important; fill: currentColor; }
/* sale + savings tags: small rectangles */
html body :is(.savings-badge, .sale-name-badge) { border-radius: 2px !important; }
/* row buttons stay on one line */
html body :is(.calendar-workshop-row, .calendar-list-row, .city-section, .city-section-list) .btn { white-space: nowrap !important; }

/* ---------- Inline cards and icon bubbles (event pages: courses-by-conference.php) ---------- */
/* white cards that relied on a drop shadow: hairline instead */
html body .bg-white[style*="box-shadow"], html body [style*="background:#fff"][style*="box-shadow"] { border: 1px solid var(--br-line) !important; }
/* red accent side borders -> hairline (one accent colour, used sparingly) */
html body [style*="border-left:4px solid #A50404"], html body [style*="border-left: 4px solid #A50404"] { border: 1px solid var(--br-line) !important; }
/* tinted-red icon bubbles -> outline circle */
html body [style*="background:rgba(165,4,4,0.1)"], html body [style*="background:rgba(208,2,41,0.1)"] {
  background: transparent !important; border: 1px solid var(--br-line) !important;
}
/* old maroon #A50404 text/icons -> brand crimson */
html body [style*="color:#A50404"], html body [style*="color: #A50404"] { color: var(--primary-color) !important; }
html body svg[fill="#A50404"], html body svg [fill="#A50404"] { fill: var(--primary-color) !important; }
html body [style*="background:rgba(165,4,4,0.9)"] { background: var(--primary-color) !important; }

/* ---------- Checklists: flush left, small crimson check (event pages "Why Train in <State>?") ---------- */
html body .aaopm-checklist { list-style: none !important; padding-left: 0 !important; }
html body .aaopm-checklist li { position: relative; padding-left: 1.6rem; }
html body .aaopm-checklist li::before {
  content: ""; position: absolute; left: .2rem; top: .5em;
  width: .38rem; height: .72rem; border: solid var(--primary-color); border-width: 0 2px 2px 0; transform: rotate(45deg);
}

/* ---------- Trust stats band (event pages): homepage USP look ---------- */
html body .trust-stats { background: #fff !important; border-top: 1px solid var(--br-line); border-bottom: 1px solid var(--br-line); }
html body .trust-stats h2 { margin-bottom: .5rem !important; }
html body .trust-stats .row > div > .p-4 { padding: 1.5rem 1rem !important; }
html body .trust-stats svg { width: 22px !important; height: 22px !important; fill: var(--primary-color) !important; opacity: .9; }
html body .trust-stats .mb-3 { margin-bottom: .9rem !important; }
html body .trust-stats .h2 { color: var(--br-ink) !important; font-size: clamp(2.1rem, 3.4vw, 2.9rem) !important; font-weight: 500 !important; letter-spacing: -0.03em !important; line-height: 1 !important; margin-bottom: .6rem !important; }
html body .trust-stats .h5 { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--br-ink) !important; margin-bottom: .35rem !important; }
html body .trust-stats .small { color: var(--br-ink-soft) !important; font-size: 13px !important; }
@media (min-width: 992px) {
  html body .trust-stats .row > div + div { border-left: 1px solid var(--br-line); }
}

/* ---------- Event page hero (courses-by-conference.php) ---------- */
html body .event-hero { background: var(--neutral-color-bg) !important; }
html body .event-hero > .container { padding-top: 3.5rem !important; padding-bottom: 4rem !important; }
html body .event-hero .row { align-items: stretch !important; }
html body .event-hero .breadcrumb { font-size: 13px; }
html body .event-hero h1 { font-size: clamp(2rem, 3.6vw, 3.1rem) !important; line-height: 1.05 !important; margin-bottom: 1rem !important; max-width: 22ch; }
html body .event-hero h1 + p.h5 { font-size: 1rem !important; color: var(--br-ink-soft) !important; margin-bottom: 2rem !important; }
/* date / time / reviews: one hairline strip instead of three boxes */
html body .event-meta { gap: 0 !important; border-top: 1px solid var(--br-line); border-bottom: 1px solid var(--br-line); margin-bottom: 2rem !important; }
html body .event-meta > div, html body .event-meta > div.bg-white[style] {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  padding: 1rem 1.75rem 1rem 0 !important; margin-right: 1.75rem; position: relative;
}
html body .event-meta > div + div { padding-left: 0 !important; }
html body .event-meta > div:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 1rem; bottom: 1rem; width: 1px; background: var(--br-line); }
html body .event-meta svg { width: 18px !important; height: 18px !important; }
html body .event-meta .small { font-size: 10.5px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--br-ink-soft) !important; margin-bottom: .15rem !important; }
html body .event-meta .font-weight-bold { font-weight: 600 !important; font-size: 15px; }
/* price + CTA */
html body .event-hero .h3[style*="--primary-color"] { font-size: 2.2rem !important; font-weight: 500 !important; letter-spacing: -0.02em; color: var(--br-ink) !important; }
html body .event-hero .btn-lg { padding: 1rem 1.6rem !important; }
html body .event-hero .btn-outline-dark { border: 1px solid var(--br-ink) !important; padding: 1rem 1.4rem !important; }
html body .event-hero .btn-outline-dark:hover { background: var(--br-ink) !important; color: #fff !important; }
/* photo: fills the column height, tidy crop */
html body .event-hero-media { display: flex; }
html body .event-hero-media img { width: 100% !important; height: 100% !important; min-height: 360px; max-height: 560px; object-fit: cover; border-radius: 6px !important; box-shadow: none !important; }
@media (max-width: 991px) {
  html body .event-hero > .container { padding-top: 2rem !important; padding-bottom: 2.5rem !important; }
  html body .event-meta { display: grid !important; grid-template-columns: 1fr 1fr; }
  html body .event-meta > div, html body .event-meta > div.bg-white[style] { padding: .9rem .75rem .9rem 0 !important; margin-right: 0; }
  html body .event-meta > div:nth-child(2) { padding-left: 1rem !important; }
  html body .event-meta > div:nth-child(2)::after { display: none; }
  html body .event-meta > div:nth-child(1)::after { right: 0; }
  html body .event-meta > div:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--br-line) !important; }
  html body .event-meta > div:nth-child(3)::after { display: none; }
  html body .event-hero-media img { min-height: 0; max-height: 340px; aspect-ratio: 4 / 3; height: auto !important; }
}

/* ---------- Event page: About This Course (own section) ---------- */
html body .event-about { background: #fff; padding: 5rem 0; }
html body .event-about-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 4.5rem; align-items: start; }
html body .event-about-grid > h2 { grid-column: 1; font-size: clamp(1.6rem, 2.4vw, 2.1rem) !important; margin-bottom: 1.25rem !important; }
html body .event-about-grid > div:first-of-type { grid-column: 1; color: var(--br-ink-soft) !important; }
html body .event-about-grid > div:nth-of-type(2) {
  grid-column: 2; grid-row: 1 / span 2; background: var(--neutral-color-bg); border: 1px solid var(--br-line); border-radius: 6px; padding: 2rem 2rem 1.25rem; margin: 0 !important;
}
html body .event-about-grid > div:nth-of-type(2) .col-md-6 { flex: 0 0 100% !important; max-width: 100% !important; margin-bottom: .85rem !important; }
html body .event-about-grid > div:nth-of-type(2) h3 { font-size: 11px !important; letter-spacing: .14em !important; text-transform: uppercase; font-weight: 600 !important; margin-bottom: 1.25rem !important; }
html body .event-about-grid > div:nth-of-type(2) span { color: var(--br-ink) !important; }
@media (max-width: 991px) {
  html body .event-about { padding: 3.5rem 0; }
  html body .event-about-grid { grid-template-columns: minmax(0, 1fr); }
  html body .event-about-grid > div:nth-of-type(2) { grid-column: 1; grid-row: auto; padding: 1.5rem 1.5rem .75rem; }
}

/* ---------- Event page: Course Details = one spec strip ---------- */
html body .event-details { padding: 4.5rem 0 !important; }
html body .event-details h2 { font-size: clamp(1.5rem, 2.2vw, 1.9rem) !important; margin-bottom: 2.75rem !important; }
html body .event-details h2 svg { display: none; }
html body .event-details .row { max-width: 1040px !important; border-top: 1px solid var(--br-line-dark); border-bottom: 1px solid var(--br-line-dark); }
html body .event-details .row > div { margin-bottom: 0 !important; }
html body .event-detail { background: transparent !important; border-radius: 0 !important; padding: 2rem 1.25rem !important; text-align: left !important; }
html body .event-detail .mb-3 { margin-bottom: 1.1rem !important; }
html body .event-detail svg { width: 20px !important; height: 20px !important; }
html body .event-detail .small { font-size: 10.5px !important; letter-spacing: .16em !important; opacity: .6 !important; margin-bottom: .45rem !important; }
html body .event-detail p.font-weight-bold { font-size: 1.15rem !important; font-weight: 500 !important; line-height: 1.3; display: inline; }
html body .event-detail p.font-weight-bold + p:not(.font-weight-bold) { display: inline; opacity: .6; font-size: 1.15rem; }
html body .event-detail p.font-weight-bold + p:not(.font-weight-bold)::before { content: " · "; }
@media (min-width: 768px) { html body .event-details .row > div + div .event-detail { border-left: 1px solid var(--br-line-dark); } }
@media (max-width: 767px) {
  html body .event-details .row > div:nth-child(even) .event-detail { border-left: 1px solid var(--br-line-dark); }
  html body .event-details .row > div:nth-child(n+3) .event-detail { border-top: 1px solid var(--br-line-dark); }
  html body .event-detail { padding: 1.5rem 1rem !important; }
}
html body .event-details .text-center.mt-3 { margin-top: 1.75rem !important; }
html body .event-details .text-center.mt-3 p { opacity: .7; font-size: 14px; }

/* ---------- Course page hero (.hero-modern, 24 course landing pages) ---------- */
html body .hero-modern .hero-title { font-size: clamp(2.4rem, 4.4vw, 3.8rem) !important; line-height: 1.03 !important; margin-bottom: 1.25rem !important; }
html body .hero-modern .hero-subtitle { color: rgba(255, 255, 255, .72) !important; max-width: 52ch; font-size: 1.05rem !important; line-height: 1.65 !important; margin-bottom: 1.75rem !important; }
html body .hero-modern .hero-badge { background: transparent !important; border: 1px solid rgba(255, 255, 255, .22) !important; color: rgba(255, 255, 255, .8) !important; }
/* feature chips -> one quiet divided line */
html body .hero-modern .hero-features { gap: .4rem 0 !important; margin-bottom: 1.5rem !important; }
html body .hero-modern .hero-feature {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  padding: .2rem 0 !important; margin-right: 1.6rem !important; border-right: 0 !important;
  color: rgba(255, 255, 255, .88) !important; font-size: 14px !important; font-weight: 400 !important;
}
html body .hero-modern .hero-feature:last-child { border-right: 0 !important; margin-right: 0 !important; }
html body .hero-modern .hero-feature i { color: #E0485C !important; font-size: 15px !important; margin-right: .45rem !important; }
/* reviews: inline, no box */
html body .hero-modern .hero-price-box { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 0 2rem !important; display: inline-block; }
html body .hero-modern .hero-price-box .bi-star-fill { font-size: 13px; }
/* CTAs */
html body .hero-modern .hero-cta-primary, html body .hero-modern .hero-cta-secondary { padding: .95rem 1.4rem !important; }
html body .hero-modern .hero-cta-secondary { background: transparent !important; border: 1px solid rgba(255, 255, 255, .3) !important; color: #fff !important; }
html body .hero-modern .hero-cta-secondary:hover { background: #fff !important; color: var(--br-ink) !important; border-color: #fff !important; }
/* trust row */
html body .hero-modern .hero-trust-badges { border-top: 1px solid rgba(255, 255, 255, .1) !important; margin-top: 2.25rem !important; padding-top: 1.5rem !important; }
html body .hero-modern .hero-trust-badge { color: rgba(255, 255, 255, .7) !important; font-size: 13px !important; }
html body .hero-modern .hero-trust-badge i { color: #E0485C !important; }
/* lead form card */
html body .hero-modern .hero-form-wrapper { border: 0 !important; }

/* ---------- Course page USP strip (Course Highlights): homepage USP look on graphite ---------- */
html body .container-fluid:has(> .container > .row > .course-highlight-item) {
  background: var(--br-graphite) !important; border-top: 1px solid rgba(255, 255, 255, .08);
}
html body .course-highlight-item { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }
html body .course-highlight-item::after { background: rgba(255, 255, 255, .1) !important; }
html body .course-highlight-item .highlight-icon { background: transparent !important; border: 0 !important; width: auto !important; height: auto !important; margin-bottom: .9rem !important; box-shadow: none !important; }
html body .course-highlight-item .highlight-icon i { font-size: 18px !important; color: #E0485C !important; }
html body .course-highlight-item p.h3 { color: #fff !important; font-size: clamp(1.8rem, 2.6vw, 2.35rem) !important; font-weight: 500 !important; letter-spacing: -0.025em !important; line-height: 1 !important; margin-bottom: .65rem !important; }
html body .course-highlight-item p.h3 + p { color: rgba(255, 255, 255, .8) !important; font-size: 11px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .3rem !important; }
html body .course-highlight-item p.h3 + p + p { color: rgba(255, 255, 255, .45) !important; font-size: 12.5px !important; }

/* ---------- Workshop category pages (aesthetic-, pain-management-, anti-aging-workshops.php) ---------- */
/* hero: flat graphite, clears the fixed header */
html body .aesthetics-hero { background: var(--br-graphite) !important; background-image: none !important; padding-top: calc(var(--scroll-margin-top) + 48px) !important; }
html body .aesthetics-hero::before { display: none !important; }
html body .aesthetics-hero .hero-form-wrapper { border-radius: 6px !important; box-shadow: none !important; }
html body .hero-btn { border-radius: 3px !important; }
/* "Who we serve" tags: quiet rectangles */
html body .profession-tag { border-radius: 3px !important; background: #fff !important; border: 1px solid var(--br-line) !important; box-shadow: none !important; color: var(--br-ink) !important; }
html body .profession-tag :is(i, svg) { color: var(--primary-color) !important; }
/* Who We Serve chips: small headshot flush on the left instead of an icon (Nov 12 2026) */
html body .profession-tag.has-photo { padding: 0 1.1rem 0 0 !important; gap: .85rem !important; overflow: hidden; min-height: 44px; transform: none !important; }
html body .profession-tag.has-photo .profession-photo { display: block; width: 44px; height: 44px; object-fit: cover; flex: 0 0 44px; }
html body .profession-tag.has-photo:hover { background: #fff !important; border-color: var(--br-ink) !important; color: var(--br-ink) !important; }
/* feature + benefit cards: hairlines, outline icons, no accent bars */
html body :is(.benefit-card, .aaopm-feature, .industry-stat, .faq-item, .location-card, .aesthetic-course-card, .roi-motivation, .roi-calculator-card) {
  border-radius: 6px !important; box-shadow: none !important; border: 1px solid var(--br-line) !important;
}
html body :is(.benefit-card, .aaopm-feature, .location-card, .aesthetic-course-card):hover { box-shadow: none !important; border-color: rgba(24, 26, 28, .28) !important; }
html body .benefit-card-featured { border-top: 1px solid var(--br-line) !important; }
html body .roi-motivation, html body .about-highlight { border-left: 1px solid var(--br-line) !important; }
html body :is(.benefit-icon, .aaopm-feature-icon, .industry-stat-icon) {
  background: transparent !important; background-image: none !important; border: 1px solid var(--br-line) !important; border-radius: 50% !important;
  color: var(--primary-color) !important; box-shadow: none !important;
}
html body :is(.benefit-icon, .aaopm-feature-icon, .industry-stat-icon) :is(i, svg) { color: var(--primary-color) !important; fill: currentColor; }
html body .location-card { background: #fff !important; }
/* dark bands: flat graphite */
html body :is(.aaopm-trust-banner, .calculator-header, .cta-banner) { background: var(--br-graphite) !important; background-image: none !important; }
html body .aaopm-trust-banner { border-radius: 6px !important; }
html body .roi-section { background: var(--neutral-color-bg) !important; background-image: none !important; }
html body .roi-section::before { display: none !important; }
html body .about-highlight { background: var(--neutral-color-bg) !important; background-image: none !important; border-radius: 0 6px 6px 0 !important; }
html body .about-image { border-radius: 6px !important; box-shadow: none !important; }
/* About section photo fills the full height of the text column (Nov 12 2026) */
@media (min-width: 992px) {
  html body .about-section .row { align-items: stretch !important; }
  html body .about-section .about-image { position: relative; height: 100%; min-height: 520px; }
  html body .about-section .about-image img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center top; }
}
/* ROI calculator details */
html body .calculator-roi-box { background: var(--neutral-color-bg) !important; background-image: none !important; border: 1px solid var(--br-line) !important; border-radius: 6px !important; }
html body :is(.roi-badge, .calculator-cta) { border-radius: 3px !important; box-shadow: none !important; }
html body .calculator-results, html body .result-item.result-highlight { border-radius: 6px !important; }
html body .result-divider { background: var(--br-line) !important; background-image: none !important; }

/* ---------- Specialty cards with photos (includes/pathways-columns-with-icons.php) ---------- */
html body .pathway-card.has-media { padding-top: 0 !important; overflow: hidden; }
html body .pathway-card-media { align-self: stretch; width: calc(100% + 3rem); margin: 0 -1.5rem 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--neutral-color-bg); }
html body .pathway-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
html body .pathway-card.has-media:hover .pathway-card-media img { transform: scale(1.04); }
html body .pathway-card.has-media .pathway-card-icon { position: relative; margin-top: -32px !important; background: #fff !important; z-index: 1; }

/* ---------- Course page "Who can do Botox injections?": portrait split (comprehensive-botox-training.php) ---------- */
html body .elig-split { padding-bottom: 0 !important; overflow: hidden; }
html body .elig-split .elig-content { padding-bottom: 5rem; }
html body .elig-split .elig-media { display: flex; align-items: flex-end; justify-content: center; }
html body .elig-split .elig-portrait { display: block; width: 100%; max-width: none; height: auto; margin: 0; vertical-align: bottom; }
@media (min-width: 992px) {
  html body .elig-split .elig-content > .row:first-child > div { text-align: left !important; }
  html body .elig-split .elig-content > .row:first-child p.mx-auto { margin-left: 0 !important; }
  html body .elig-split .elig-content > .row.justify-content-center { justify-content: flex-start !important; }
  html body .elig-split .elig-content .row.mt-4 .mx-auto { margin-left: 0 !important; text-align: left !important; }
  html body .elig-split .elig-content .row.mt-4 .justify-content-center { justify-content: flex-start !important; }
}
@media (max-width: 991px) {
  html body .elig-split .elig-content { padding-bottom: 2.5rem; }
  html body .elig-split .elig-portrait { width: 100%; max-width: 380px; margin: 0 auto; }
}

/* ---------- Workshop landing pages: photo hero + academy banner (Nov 12 2026) ---------- */
html body .aesthetics-hero.has-photo {
  background-image: linear-gradient(rgba(16,18,20,.78), rgba(16,18,20,.78)), var(--hero-photo) !important;
  background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important;
}
@media (max-width: 767px) {
  html body .aesthetics-hero.has-photo { background-image: linear-gradient(rgba(16,18,20,.8), rgba(16,18,20,.8)), var(--hero-photo-sm) !important; }
}
/* Profession landing pages: same photo hero + headshot chips as the workshop pages (Nov 12 2026) */
html body .profession-hero.has-photo {
  background-image: linear-gradient(rgba(16,18,20,.8), rgba(16,18,20,.8)), var(--hero-photo) !important;
  background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important;
}
@media (max-width: 767px) { html body .profession-hero.has-photo { background-image: linear-gradient(rgba(16,18,20,.82), rgba(16,18,20,.82)), var(--hero-photo-sm) !important; } }
html body .related-link.has-photo { display: inline-flex !important; align-items: center; gap: .85rem !important; padding: 0 1.1rem 0 0 !important; overflow: hidden; min-height: 44px; transform: none !important; text-align: left; }
html body .related-link.has-photo .profession-photo { display: block; width: 44px; height: 44px; object-fit: cover; flex: 0 0 44px; }
html body .academy-banner { position: relative; overflow: hidden; display: flex; align-items: flex-end; min-height: min(70vh, 640px); padding: 7rem 0 5rem; background: #101214; color: #fff; }
html body .academy-banner-media, html body .academy-banner-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
html body .academy-banner-media img { object-fit: cover; object-position: center; }
html body .academy-banner::after { content: ""; position: absolute; inset: 0; background: rgba(16,18,20,.5); }
html body .academy-banner-inner { position: relative; z-index: 1; }
html body .academy-banner-eyebrow { margin: 0 0 1.5rem; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.78); }
html body .academy-banner-title { max-width: 18em; margin: 0; font-size: clamp(2rem, 4.2vw, 3.75rem); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; color: #fff; }
@media (max-width: 767px) {
  html body .academy-banner { min-height: 0; padding: 5rem 0 3.5rem; }
  }

/* ---------- Footer ---------- */
html body footer { background: var(--secondary-color-darker) !important; }
