/*
Theme Name: Russ Harbour Real Estate School
Theme URI: https://russharbour.com/
Author: OpenAI
Author URI: https://openai.com/
Description: A polished navy-and-gold WordPress theme for Russ Harbour Real Estate School, designed for online courses, live classes, schedules, and Florida real estate education.
Version: 1.55.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: russ-harbour-theme
Tags: education, custom-logo, custom-menu, featured-images, full-width-template, block-styles, accessibility-ready
*/

:root {
  --rh-navy: #123961;
  --rh-navy-dark: #072846;
  --rh-navy-ink: #0b2540;
  --rh-gold: #d4af37;
  --rh-gold-dark: #b99018;
  --rh-white: #ffffff;
  --rh-gray-50: #f7f9fc;
  --rh-gray-100: #f2f4f7;
  --rh-gray-200: #e2e8f0;
  --rh-gray-500: #64748b;
  --rh-text: #1f2937;
  --rh-muted: #5b6b7e;
  --rh-shadow: 0 18px 50px rgba(18, 57, 97, 0.13);
  --rh-shadow-soft: 0 8px 22px rgba(18, 57, 97, 0.10);
  --rh-radius-xl: 22px;
  --rh-radius-lg: 16px;
  --rh-radius-md: 10px;
  --rh-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rh-text);
  background: var(--rh-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--rh-navy); text-decoration: none; }
a:hover { color: var(--rh-gold-dark); }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.rh-container { width: min(var(--rh-container), calc(100% - 40px)); margin: 0 auto; }
.rh-topbar { background: linear-gradient(90deg, var(--rh-navy-dark), var(--rh-navy)); color: #fff; font-size: 14px; }
.rh-topbar__inner { display:flex; align-items:center; justify-content:space-between; min-height: 38px; gap: 20px; }
.rh-topbar__left { font-weight: 700; letter-spacing: .01em; }
.rh-topbar__left .star { color: var(--rh-gold); margin-right: 7px; }
.rh-topbar__right { display:flex; align-items:center; gap:18px; white-space:nowrap; }
.rh-topbar a { color:#fff; }
.rh-header { background:#fff; border-bottom:1px solid rgba(18,57,97,.12); position: sticky; top:0; z-index: 50; box-shadow:0 4px 18px rgba(18,57,97,.06); }
.admin-bar .rh-header { top:32px; }
.rh-header__inner { display:flex; align-items:center; justify-content:space-between; min-height:86px; gap:34px; }
.rh-brand { display:flex; flex-direction:column; line-height:1; min-width:max-content; }
.rh-brand__name { font-family: Georgia, 'Times New Roman', serif; font-weight:700; color:var(--rh-navy); font-size:31px; letter-spacing:.01em; }
.rh-brand__tagline { color:var(--rh-navy); font-size:12px; letter-spacing:.32em; text-transform:uppercase; margin-top:5px; }
.rh-nav { position:relative; }
.rh-nav ul { list-style:none; margin:0; padding:0; }
.rh-nav > ul, .rh-nav .rh-primary-menu { display:flex; align-items:center; gap:26px; }
.rh-nav li { position:relative; }
.rh-nav a { color:var(--rh-navy-ink); font-size:15px; font-weight:700; display:flex; align-items:center; gap:6px; padding:31px 0; line-height:1.2; }
.rh-nav a:hover, .rh-nav li:hover > a, .rh-nav li:focus-within > a { color:var(--rh-gold-dark); }
.rh-nav .menu-item-has-children > a::after { content:"▾"; font-size:10px; color:var(--rh-gold-dark); transform:translateY(1px); }
.rh-nav .sub-menu { position:absolute; left:-18px; top:100%; z-index:80; min-width:238px; display:block; opacity:0; visibility:hidden; transform:translateY(10px); pointer-events:none; background:#fff; border:1px solid rgba(18,57,97,.13); border-radius:14px; box-shadow:0 18px 42px rgba(18,57,97,.14); padding:10px; transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.rh-nav li:hover > .sub-menu, .rh-nav li:focus-within > .sub-menu, .rh-nav li.is-submenu-open > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.rh-nav .sub-menu::before { content:""; position:absolute; left:24px; top:-7px; width:12px; height:12px; transform:rotate(45deg); background:#fff; border-left:1px solid rgba(18,57,97,.13); border-top:1px solid rgba(18,57,97,.13); }
.rh-nav .sub-menu .sub-menu { left:calc(100% + 10px); top:-10px; }
.rh-nav .sub-menu .sub-menu::before { display:none; }
.rh-nav .sub-menu a { padding:11px 12px; border-radius:9px; color:var(--rh-navy-ink); font-size:14px; font-weight:700; white-space:nowrap; }
.rh-nav .sub-menu a:hover, .rh-nav .sub-menu li:hover > a, .rh-nav .sub-menu li:focus-within > a { background:var(--rh-gray-50); color:var(--rh-gold-dark); }
.rh-submenu-toggle { display:none; }
.rh-menu-toggle { display:none; background:var(--rh-navy); color:#fff; border:0; border-radius:10px; padding:10px 13px; font-weight:700; }
.rh-hero { position:relative; overflow:hidden; background: radial-gradient(circle at 82% 18%, rgba(212,175,55,.18), transparent 26%), linear-gradient(100deg,#fff 0%,#fff 43%,rgba(242,244,247,.75) 100%); }
.rh-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,transparent, var(--rh-gold), transparent); }
.rh-hero__inner { display:grid; grid-template-columns: 1fr 1.04fr; gap:36px; align-items:center; min-height:455px; padding:58px 0 52px; }
.rh-eyebrow { color:var(--rh-gold-dark); text-transform:uppercase; font-weight:800; letter-spacing:.12em; font-size:13px; }
.rh-hero h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(45px, 6vw, 76px); line-height:.96; color:var(--rh-navy); margin:14px 0 16px; letter-spacing:-.035em; }
.rh-hero__lead { color:var(--rh-navy); font-size:21px; font-weight:800; margin:0 0 12px; }
.rh-hero__copy { color:var(--rh-text); max-width:530px; font-size:18px; margin:0 0 28px; }
.rh-actions { display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.rh-btn, .button, button, input[type="submit"] { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding: 12px 24px; border-radius:9px; font-weight:800; border:0; cursor:pointer; transition:.2s ease; }
.rh-btn--primary, input[type="submit"] { background:var(--rh-navy); color:#fff; box-shadow:var(--rh-shadow-soft); }
.rh-btn--primary:hover, input[type="submit"]:hover { background:var(--rh-navy-dark); color:#fff; transform:translateY(-1px); }
.rh-btn--gold { background:var(--rh-gold); color:#fff; box-shadow:0 10px 20px rgba(212,175,55,.22); }
.rh-btn--gold:hover { background:var(--rh-gold-dark); color:#fff; transform:translateY(-1px); }
.rh-hero__visual { position:relative; min-height:340px; border-radius: 0 0 0 80px; overflow:hidden; box-shadow: var(--rh-shadow); background-position:center; background-size:cover; background-repeat:no-repeat; }
.rh-hero__badge { position:absolute; right:26px !important; top:24px !important; left:auto !important; bottom:auto !important; background:rgba(255,255,255,.92); border:1px solid rgba(18,57,97,.12); border-radius:18px; padding:16px 18px; box-shadow:var(--rh-shadow-soft); z-index:3; }
.rh-hero__badge strong { display:block; color:var(--rh-navy); font-size:28px; line-height:1; }
.rh-hero__badge span { color:var(--rh-muted); font-weight:700; font-size:13px; }

.rh-quick-links { background:#fff; padding:28px 0 20px; }
.rh-card-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:20px; }
.rh-quick-card, .rh-course-card, .rh-schedule, .rh-content-card { background:#fff; border:1px solid rgba(18,57,97,.12); border-radius:var(--rh-radius-lg); box-shadow:0 3px 14px rgba(18,57,97,.05); }
.rh-quick-card { display:grid; grid-template-columns:58px 1fr; gap:18px; padding:22px; min-height:138px; }
.rh-icon { width:56px; height:56px; border-radius:50%; background:var(--rh-navy); color:#fff; display:grid; place-items:center; box-shadow: inset 0 0 0 3px rgba(212,175,55,.18); }
.rh-icon svg { width:28px; height:28px; stroke:currentColor; }
.rh-quick-card h3 { font-family:Georgia,'Times New Roman',serif; color:var(--rh-navy); margin:0 0 5px; font-size:20px; line-height:1.1; }
.rh-quick-card p { margin:0 0 9px; color:var(--rh-muted); font-size:14px; line-height:1.45; }
.rh-link { color:var(--rh-navy); font-weight:800; font-size:14px; }
.rh-link::after { content:" →"; }

.rh-section { padding:46px 0; }
.rh-section--soft { background:var(--rh-gray-50); }
.rh-section__head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:22px; }
.rh-section__kicker { text-transform:uppercase; letter-spacing:.13em; color:var(--rh-gold-dark); font-size:13px; font-weight:900; margin-bottom:6px; }
.rh-section h2 { font-family:Georgia,'Times New Roman',serif; color:var(--rh-navy); font-size:40px; line-height:1.08; margin:0; }
.rh-featured-layout { display:grid; grid-template-columns: minmax(0, 1fr) 320px; gap:24px; align-items:start; }
.rh-course-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:18px; }
.rh-course-card { overflow:hidden; }
.rh-course-card__image { height:126px; background:var(--rh-gray-100); position:relative; overflow:hidden; }
.rh-course-card__image img { width:100%; height:100%; object-fit:cover; }
.rh-course-card__image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%, rgba(18,57,97,.42)); }
.rh-course-card__body { padding:22px 19px 20px; position:relative; }
.rh-course-card__icon { position:absolute; top:-34px; left:18px; width:58px; height:58px; border-radius:50%; background:var(--rh-navy); border:4px solid #fff; color:#fff; display:grid; place-items:center; }
.rh-course-card h3 { font-family:Georgia,'Times New Roman',serif; color:var(--rh-navy); font-size:22px; line-height:1.08; margin:6px 0 10px; padding-top:8px; }
.rh-course-card p { color:var(--rh-muted); margin:0 0 14px; font-size:14px; line-height:1.45; }
.rh-schedule { padding:22px; }
.rh-schedule h3 { margin:0 0 15px; color:var(--rh-navy); font-size:17px; text-transform:uppercase; letter-spacing:.08em; }
.rh-schedule-item { display:grid; grid-template-columns:60px 1fr 12px; gap:12px; align-items:center; padding:14px 0; border-top:1px solid var(--rh-gray-200); }
.rh-schedule-item:first-of-type { border-top:0; padding-top:0; }
.rh-date { color:var(--rh-navy); text-align:center; line-height:1; }
.rh-date span { display:block; color:var(--rh-muted); font-size:13px; font-weight:800; letter-spacing:.08em; }
.rh-date strong { font-size:28px; }
.rh-schedule-item h4 { margin:0 0 2px; font-size:14px; color:var(--rh-navy); line-height:1.25; }
.rh-schedule-item p { margin:0; font-size:13px; color:var(--rh-muted); line-height:1.35; }
.rh-schedule-empty { border-top:1px solid var(--rh-gray-200); padding:16px 0 18px; }
.rh-schedule-empty p { margin:0; color:var(--rh-muted); font-size:14px; line-height:1.45; }

.rh-testimonial { display:grid; grid-template-columns: 1fr auto; gap:28px; align-items:center; padding:30px 0; }
.rh-quote { display:flex; gap:18px; align-items:flex-start; }
.rh-quote__mark { font-family:Georgia,serif; color:var(--rh-gold); font-size:76px; line-height:.7; }
.rh-quote blockquote { margin:0; font-family:Georgia,'Times New Roman',serif; color:var(--rh-navy-ink); font-style:italic; font-size:18px; line-height:1.45; }
.rh-quote cite { display:block; color:var(--rh-muted); margin-top:10px; font-style:normal; font-weight:700; }
.rh-stats { display:flex; gap:22px; align-items:center; }
.rh-stat { min-width:120px; }
.rh-stat strong { display:block; color:var(--rh-gold-dark); font-size:26px; line-height:1; }
.rh-stat span { display:block; color:var(--rh-muted); font-size:13px; font-weight:700; line-height:1.3; margin-top:4px; }

.rh-page-header { background:linear-gradient(135deg,var(--rh-navy),var(--rh-navy-dark)); color:#fff; padding:64px 0; }
.rh-page-header h1 { font-family:Georgia,'Times New Roman',serif; margin:0; font-size:52px; line-height:1.05; }
.rh-page-content { padding:56px 0; }
.rh-page-content .entry-content { max-width: 840px; }
.rh-page-content h2, .rh-page-content h3 { color:var(--rh-navy); font-family:Georgia,'Times New Roman',serif; }
input, textarea, select { width:100%; border:1px solid var(--rh-gray-200); border-radius:9px; padding:13px 14px; color:var(--rh-text); background:#fff; font:inherit; }
input:focus, textarea:focus, select:focus { outline:3px solid rgba(212,175,55,.22); border-color:var(--rh-gold); }

.rh-footer { background:linear-gradient(135deg,var(--rh-navy-dark),var(--rh-navy)); color:#fff; padding:44px 0 22px; }
.rh-footer a { color:#fff; opacity:.9; }
.rh-footer a:hover { color:var(--rh-gold); }
.rh-footer__grid { display:grid; grid-template-columns:1.4fr repeat(4, 1fr); gap:34px; }
.rh-footer h3, .rh-footer h4 { margin:0 0 13px; color:#fff; }
.rh-footer h3 { font-family:Georgia,'Times New Roman',serif; font-size:28px; line-height:1; }
.rh-footer p, .rh-footer li { color:rgba(255,255,255,.78); font-size:14px; }
.rh-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.rh-footer__bottom { border-top:1px solid rgba(255,255,255,.16); margin-top:34px; padding-top:16px; display:flex; justify-content:space-between; gap:18px; color:rgba(255,255,255,.7); font-size:13px; }

@media (max-width: 1040px) {
  .rh-hero__inner, .rh-featured-layout { grid-template-columns:1fr; }
  .rh-card-grid, .rh-course-grid { grid-template-columns: repeat(2, 1fr); }
  .rh-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .rh-nav { display:none; position:absolute; left:0; right:0; top:86px; background:#fff; border-bottom:1px solid var(--rh-gray-200); padding:18px 20px; box-shadow:0 18px 30px rgba(18,57,97,.10); }
  .rh-nav.is-open { display:block; }
  .rh-nav > ul, .rh-nav .rh-primary-menu { flex-direction:column; align-items:stretch; gap:4px; width:min(var(--rh-container), calc(100% - 40px)); margin:0 auto; }
  .rh-nav a { padding:12px 0; }
  .rh-nav .menu-item-has-children > a::after { display:none; }
  .rh-nav .sub-menu, .rh-nav .sub-menu .sub-menu { position:static; min-width:0; opacity:1; visibility:visible; transform:none; pointer-events:auto; display:none; width:100%; box-shadow:none; border:0; border-left:3px solid rgba(212,175,55,.55); border-radius:0; padding:2px 0 8px 15px; margin:0 0 6px 4px; transition:none; }
  .rh-nav .sub-menu::before { display:none; }
  .rh-nav li.is-submenu-open > .sub-menu { display:block; }
  .rh-nav .sub-menu a { white-space:normal; padding:9px 10px; }
  .rh-nav .menu-item-has-children { display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:8px; }
  .rh-nav .menu-item-has-children > .sub-menu { grid-column:1 / -1; }
  .rh-submenu-toggle { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(18,57,97,.15); border-radius:10px; background:var(--rh-gray-50); color:var(--rh-navy); font-weight:900; cursor:pointer; }
  .rh-submenu-toggle[aria-expanded="true"] { background:var(--rh-navy); color:#fff; border-color:var(--rh-navy); }
  .rh-menu-toggle { display:inline-flex; }
}

/* Upcoming classes shortcode */
.rh-upcoming-classes-page { margin: 8px 0 44px; }
.rh-upcoming-classes-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.rh-upcoming-classes-intro { margin: 0; color: var(--rh-muted); max-width: 760px; font-size: 17px; }
.rh-upcoming-class-sections { display: grid; gap: 26px; }
.rh-upcoming-class-section {
  background: #fff;
  border: 1px solid rgba(212,175,55,.55);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(18,57,97,.10);
  padding: 24px 26px 24px;
}
.rh-upcoming-class-section__header { padding: 0 0 18px; border-bottom: 1px solid rgba(18,57,97,.10); margin-bottom: 18px; }
.rh-upcoming-class-section__header h2 { margin: 0; color: var(--rh-navy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(25px, 3vw, 36px); line-height: 1.12; font-weight: 800; }
.rh-upcoming-class-section__header h2 a { color: inherit; text-decoration: none; }
.rh-upcoming-class-section__header h2 a:hover, .rh-upcoming-class-section__header h2 a:focus { color: var(--rh-gold-dark); }
.rh-upcoming-class-dates { display: grid; gap: 12px; margin-bottom: 20px; }
.rh-upcoming-class-date-row { display: grid; gap: 7px; }
.rh-upcoming-class-date-row__date {
  min-height: auto;
  display: flex;
  align-items: center;
  padding: 3px 0;
  width: auto;
  background: transparent;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(19px, 2.25vw, 29px);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: .03em;
  text-transform: uppercase;
  box-shadow: none;
}
.rh-upcoming-class-date-row__detail { margin: 4px 0 0; color: var(--rh-muted); font-size: 15px; line-height: 1.45; }
.rh-upcoming-class-section__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 6px; }
.rh-upcoming-class-section__actions .rh-btn, .rh-upcoming-class-section__actions .rh-button { border-radius: 12px; font-weight: 900; text-align: center; justify-content: center; line-height: 1; text-decoration: none; }
.rh-upcoming-class-section__actions .rh-btn--navy, .rh-upcoming-class-section__actions .rh-button--navy { min-height: 58px; min-width: 230px; padding: 17px 26px; background: var(--rh-navy); color: #fff; border: 1px solid rgba(18,57,97,.22); box-shadow: 0 12px 22px rgba(18,57,97,.18); font-size: 21px; }
.rh-upcoming-class-section__actions .rh-btn--navy:hover, .rh-upcoming-class-section__actions .rh-btn--navy:focus, .rh-upcoming-class-section__actions .rh-button--navy:hover, .rh-upcoming-class-section__actions .rh-button--navy:focus { background: var(--rh-navy-dark); color: #fff; transform: translateY(-1px); }
.rh-upcoming-class-section__actions .rh-btn--audit { margin-left: auto; padding: 12px 0; background: transparent; color: var(--rh-navy); border: 0; box-shadow: none; font-size: 20px; font-weight: 850; }
.rh-upcoming-class-section__actions .rh-btn--audit:hover, .rh-upcoming-class-section__actions .rh-btn--audit:focus { color: var(--rh-gold-dark); background: transparent; transform: none; }
.rh-upcoming-classes-empty { background: #fff; border: 1px solid rgba(18,57,97,.12); border-radius: var(--rh-radius-lg); padding: 22px; box-shadow: 0 10px 30px rgba(18,57,97,.08); }

@media (max-width: 780px) {
  .rh-upcoming-classes-toolbar { align-items: start; flex-direction: column; }
  .rh-upcoming-class-sections { gap: 22px; }
  .rh-upcoming-class-section { padding: 20px 18px; }
  .rh-upcoming-class-date-row__date { font-size: clamp(18px, 5vw, 26px); min-height: auto; }
  .rh-upcoming-class-section__actions { align-items: center; flex-direction: row; gap: 14px; }
  .rh-upcoming-class-section__actions .rh-btn, .rh-upcoming-class-section__actions .rh-button { width: auto; justify-content: center; }
  .rh-upcoming-class-section__actions .rh-btn--navy { min-width: 0; min-height: 54px; font-size: 18px; }
  .rh-upcoming-class-section__actions .rh-btn--audit { margin-left: auto; border: 0; border-radius: 0; padding: 12px 0; font-size: 17px; text-align: right; }
}

@media (max-width: 640px) {
  .rh-container { width: min(var(--rh-container), calc(100% - 28px)); }
  .rh-hero { padding: 34px 0 28px; }
  .rh-hero h1, .rh-page-header h1 { font-size: 40px; }
  .rh-card-grid, .rh-course-grid, .rh-footer__grid { grid-template-columns: 1fr; }
  .rh-topbar__inner, .rh-footer__bottom { flex-direction: column; align-items: flex-start; padding: 10px 0; }
  .rh-topbar__right { flex-wrap: wrap; }
  .rh-testimonial, .rh-stats { display:block; }
  .rh-stat { margin-top:18px; }
}


/* Upcoming classes shortcode: reinforced grouped card layout */
.rh-upcoming-classes-page--grouped .rh-upcoming-class-sections { display: grid !important; gap: 26px !important; }
.rh-upcoming-classes-page--grouped .rh-upcoming-class-section { background: #fff !important; border: 2px solid #D4AF37 !important; border-radius: 18px !important; box-shadow: 0 16px 34px rgba(18,57,97,.10) !important; padding: 24px 26px !important; overflow: hidden !important; }
.rh-upcoming-classes-page--grouped .rh-upcoming-class-section__actions { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 18px !important; width: 100% !important; }
.rh-upcoming-classes-page--grouped .rh-upcoming-class-section__actions .rh-btn--navy { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 58px !important; min-width: 230px !important; padding: 17px 26px !important; background: #123961 !important; color: #fff !important; border: 1px solid rgba(18,57,97,.22) !important; border-radius: 12px !important; box-shadow: 0 12px 22px rgba(18,57,97,.18) !important; font-size: 21px !important; font-weight: 900 !important; line-height: 1 !important; text-align: center !important; text-decoration: none !important; }
.rh-upcoming-classes-page--grouped .rh-upcoming-class-section__actions .rh-btn--audit { margin-left: auto !important; background: transparent !important; color: #123961 !important; border: 0 !important; box-shadow: none !important; padding: 12px 0 !important; border-radius: 0 !important; font-size: 20px !important; font-weight: 850 !important; line-height: 1.1 !important; text-align: right !important; text-decoration: none !important; }


/* Schedule cards: final gold border override */
.rh-upcoming-classes-page.rh-upcoming-classes-page--grouped .rh-upcoming-class-section {
  border-color: #D4AF37 !important;
  border-width: 2px !important;
  border-style: solid !important;
}


/* Force hero badge to the upper-right of the hero visual section. */
.rh-hero__visual .rh-hero__badge,
.rh-hero .rh-hero__badge {
  position: absolute !important;
  top: 24px !important;
  right: 26px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 5 !important;
}
@media (max-width: 760px) {
  .rh-hero__visual .rh-hero__badge,
  .rh-hero .rh-hero__badge {
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    max-width: calc(100% - 32px);
  }
}

/* Breadcrumbs */
.rh-breadcrumbs {
  margin-top: 12px;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}
.rh-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rh-breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.rh-breadcrumbs li + li::before {
  content: "›";
  color: var(--rh-gold);
  font-weight: 900;
}
.rh-breadcrumbs a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(212,175,55,.45);
}
.rh-breadcrumbs a:hover,
.rh-breadcrumbs a:focus {
  color: var(--rh-gold);
  border-bottom-color: var(--rh-gold);
}
.rh-breadcrumbs span {
  color: rgba(255,255,255,.72);
}


/* Horizontal breadcrumb trail below page title */
.rh-breadcrumb-wrap {
  background: #fff;
  border-bottom: 1px solid rgba(18,57,97,.10);
}
.rh-breadcrumb-wrap .rh-container {
  padding-top: 14px;
  padding-bottom: 14px;
}
.rh-pipe-breadcrumbs {
  margin: 0;
  padding: 0;
  color: var(--rh-muted);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
.rh-pipe-breadcrumbs a,
.rh-pipe-breadcrumbs span {
  display: inline;
}
.rh-pipe-breadcrumbs a {
  color: var(--rh-navy);
  text-decoration: none;
}
.rh-pipe-breadcrumbs a:hover,
.rh-pipe-breadcrumbs a:focus {
  color: var(--rh-gold-dark);
  text-decoration: underline;
}
.rh-pipe-breadcrumbs .current {
  color: var(--rh-muted);
}
.rh-pipe-breadcrumbs .sep {
  color: var(--rh-gold);
  margin: 0 8px;
  font-weight: 800;
}


/* JS applies this class to top-level items that are too close to the right edge. */
  .rh-nav > ul > li.rh-menu-align-right > .sub-menu,
  .rh-nav > .menu > li.rh-menu-align-right > .sub-menu {
    left: auto !important;
    right: 0 !important;
  }

  .rh-nav > ul > li.rh-menu-align-right > .sub-menu::before,
  .rh-nav > .menu > li.rh-menu-align-right > .sub-menu::before {
    left: auto !important;
    right: 24px !important;
  }

  /* CSS fallback for the right side of the menu if JS is delayed or cached. */
  .rh-nav > ul > li:nth-last-child(-n+5) > .sub-menu,
  .rh-nav > .menu > li:nth-last-child(-n+5) > .sub-menu {
    left: auto !important;
    right: 0 !important;
  }

  .rh-nav > ul > li:nth-last-child(-n+5) > .sub-menu::before,
  .rh-nav > .menu > li:nth-last-child(-n+5) > .sub-menu::before {
    left: auto !important;
    right: 24px !important;
  }

  /* Critical fix: nested dropdowns do NOT fly out horizontally on desktop. */
  .rh-nav .sub-menu .sub-menu {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    margin: 6px 0 6px 10px !important;
    padding: 4px 0 4px 12px !important;
    border: 0 !important;
    border-left: 3px solid rgba(212,175,55,.55) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .rh-nav .sub-menu .sub-menu::before {
    display: none !important;
  }

  .rh-nav .sub-menu .sub-menu a {
    font-size: 13px;
    padding: 8px 10px !important;
  }
}


/* Top-level items on the right side open inward. This covers Online Courses, Books, Cart, Login, etc. */
  .rh-nav > ul > li:nth-last-child(-n+5) > .sub-menu,
  .rh-nav > .menu > li:nth-last-child(-n+5) > .sub-menu,
  .rh-nav > ul > li.rh-menu-align-right > .sub-menu,
  .rh-nav > .menu > li.rh-menu-align-right > .sub-menu {
    left: auto !important;
    right: 0 !important;
  }

  .rh-nav > ul > li:nth-last-child(-n+5) > .sub-menu::before,
  .rh-nav > .menu > li:nth-last-child(-n+5) > .sub-menu::before,
  .rh-nav > ul > li.rh-menu-align-right > .sub-menu::before,
  .rh-nav > .menu > li.rh-menu-align-right > .sub-menu::before {
    left: auto !important;
    right: 24px !important;
  }

  /*
   * Critical fix:
   * Nested submenus no longer use left:100% flyouts on desktop.
   * They render indented inside the open dropdown, so they cannot disappear off the right edge.
   */
  .rh-nav .sub-menu li > .sub-menu,
  .rh-nav .sub-menu .sub-menu,
  .rh-nav .children .children {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    margin: 6px 0 8px 10px !important;
    padding: 4px 0 4px 12px !important;
    border: 0 !important;
    border-left: 3px solid rgba(212,175,55,.65) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .rh-nav .sub-menu li > .sub-menu::before,
  .rh-nav .sub-menu .sub-menu::before,
  .rh-nav .children .children::before {
    display: none !important;
    content: none !important;
  }

  .rh-nav .sub-menu .sub-menu a,
  .rh-nav .children .children a {
    font-size: 13px !important;
    padding: 8px 10px !important;
  }
}


/* Homepage Upcoming Schedule compact card styling */
.rh-home-schedule-card,
.rh-schedule {
  background: #fff;
  border: 1px solid rgba(18,57,97,.12);
  border-radius: var(--rh-radius-lg);
  box-shadow: 0 3px 14px rgba(18,57,97,.05);
  padding: 24px;
}

.rh-home-schedule-card .rh-section-heading,
.rh-schedule .rh-section-heading {
  margin-bottom: 12px;
}

.rh-home-schedule-card .rh-kicker,
.rh-schedule .rh-kicker {
  color: var(--rh-navy);
  font-size: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 900;
}

.rh-home-schedule-list,
.rh-schedule-list {
  display: grid;
}

.rh-home-schedule-item,
.rh-schedule-item {
  display: grid;
  grid-template-columns: 60px 1fr 12px;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--rh-gray-200);
  color: var(--rh-navy);
  text-decoration: none;
}

.rh-home-schedule-item:first-child,
.rh-schedule-item:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.rh-home-schedule-item:hover,
.rh-home-schedule-item:focus,
.rh-schedule-item:hover,
.rh-schedule-item:focus {
  color: var(--rh-gold-dark);
  text-decoration: none;
}

.rh-home-schedule-date,
.rh-schedule-date {
  display: grid;
  justify-items: center;
  line-height: 1;
  text-transform: uppercase;
  color: var(--rh-muted);
  font-weight: 800;
}

.rh-home-schedule-date strong,
.rh-schedule-date strong {
  font-size: 16px;
  letter-spacing: .04em;
}

.rh-home-schedule-date em,
.rh-schedule-date em {
  color: var(--rh-navy);
  font-size: 34px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: -.04em;
}

.rh-home-schedule-item-title,
.rh-schedule-item span > strong {
  display: block;
  color: var(--rh-navy);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.22;
}

.rh-home-schedule-item-date,
.rh-schedule-item span > small {
  display: block;
  margin-top: 4px;
  color: var(--rh-muted);
  font-size: 13px;
  line-height: 1.3;
}

.rh-home-schedule-arrow,
.rh-schedule-item > span:last-child {
  color: var(--rh-navy);
  font-size: 24px;
  line-height: 1;
}

.rh-home-schedule-empty,
.rh-schedule-empty {
  border-top: 1px solid var(--rh-gray-200);
  padding: 16px 0 18px;
  color: var(--rh-muted);
}

.rh-home-schedule-card .rh-text-link,
.rh-schedule .rh-text-link {
  display: inline-flex;
  margin-top: 8px;
  color: var(--rh-navy);
  font-weight: 900;
  text-decoration: none;
}


/* Right-side top-level dropdowns open inward from the right edge of their parent. */
  .rh-nav > ul > li:nth-last-child(-n+4) > .sub-menu,
  .rh-nav > .menu > li:nth-last-child(-n+4) > .sub-menu {
    left: auto !important;
    right: 0 !important;
  }

  .rh-nav > ul > li:nth-last-child(-n+4) > .sub-menu::before,
  .rh-nav > .menu > li:nth-last-child(-n+4) > .sub-menu::before {
    left: auto !important;
    right: 24px !important;
  }

  /*
   * Nested submenus no longer fly out sideways.
   * They remain visible inside the same dropdown panel to prevent off-screen menus
   * and to avoid hover-state conflicts with neighboring top-level menu items.
   */
  .rh-nav .sub-menu .sub-menu,
  .rh-nav .sub-menu li > .sub-menu,
  .rh-nav .children .children {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    margin: 6px 0 8px 12px !important;
    padding: 4px 0 4px 12px !important;
    border: 0 !important;
    border-left: 3px solid var(--rh-gold) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .rh-nav .sub-menu .sub-menu::before,
  .rh-nav .sub-menu li > .sub-menu::before,
  .rh-nav .children .children::before {
    display: none !important;
    content: none !important;
  }

  .rh-nav .sub-menu .sub-menu a,
  .rh-nav .children .children a {
    font-size: 13px !important;
    padding: 8px 10px !important;
  }
}


/*
   * Defensive duplicate-header cleanup:
   * If the page contains a second copied/sticky/mobile header in the DOM,
   * keep it from intercepting hover events on desktop.
   */
  body > .rh-site-header ~ .rh-site-header,
  .rh-site-header + .rh-site-header,
  .rh-header-clone,
  .rh-nav-clone,
  .rh-mobile-header,
  .rh-mobile-menu {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  .rh-site-header,
  .rh-header,
  .rh-header__inner,
  .rh-nav,
  .rh-nav ul,
  .rh-nav li {
    overflow: visible !important;
  }

  .rh-site-header,
  .rh-header {
    position: relative;
    z-index: 5000 !important;
  }

  .rh-nav {
    position: relative !important;
    z-index: 6000 !important;
  }

  .rh-nav > ul,
  .rh-nav > .menu {
    position: relative !important;
    z-index: 6000 !important;
  }

  .rh-nav > ul > li,
  .rh-nav > .menu > li {
    position: relative !important;
  }

  .rh-nav > ul > li > .sub-menu,
  .rh-nav > .menu > li > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    z-index: 99999 !important;
    min-width: 260px !important;
    max-width: min(390px, calc(100vw - 32px)) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .rh-nav > ul > li > .sub-menu a,
  .rh-nav > .menu > li > .sub-menu a {
    white-space: normal !important;
    line-height: 1.35 !important;
  }

  /*
   * Right-side top-level dropdowns open inward from the right edge
   * of their parent menu item.
   */
  .rh-nav > ul > li:nth-last-child(-n+4) > .sub-menu,
  .rh-nav > .menu > li:nth-last-child(-n+4) > .sub-menu {
    left: auto !important;
    right: 0 !important;
  }

  .rh-nav > ul > li:nth-last-child(-n+4) > .sub-menu::before,
  .rh-nav > .menu > li:nth-last-child(-n+4) > .sub-menu::before {
    left: auto !important;
    right: 24px !important;
  }

  /*
   * Nested submenus stay inside the same dropdown panel.
   * No sideways flyouts, no hover gaps, no off-screen nested panels.
   */
  .rh-nav .sub-menu .sub-menu,
  .rh-nav .sub-menu li > .sub-menu,
  .rh-nav .children .children {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    margin: 6px 0 8px 12px !important;
    padding: 4px 0 4px 12px !important;
    border: 0 !important;
    border-left: 3px solid var(--rh-gold) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .rh-nav .sub-menu .sub-menu::before,
  .rh-nav .sub-menu li > .sub-menu::before,
  .rh-nav .children .children::before {
    display: none !important;
    content: none !important;
  }

  .rh-nav .sub-menu .sub-menu a,
  .rh-nav .children .children a {
    font-size: 13px !important;
    padding: 8px 10px !important;
  }
}


/* Hide original desktop dropdown panels; the JS portal displays the active menu. */
  .rh-nav > ul > li > .sub-menu,
  .rh-nav > .menu > li > .sub-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .rh-menu-portal {
    position: fixed;
    z-index: 999999;
    display: none;
    min-width: 280px;
    max-width: min(420px, calc(100vw - 32px));
    padding: 10px;
    background: #fff;
    border: 1px solid rgba(18,57,97,.13);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(18,57,97,.18);
  }

  .rh-menu-portal.is-open {
    display: block;
  }

  .rh-menu-portal ul,
  .rh-menu-portal li {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .rh-menu-portal a {
    display: block;
    padding: 11px 12px;
    border-radius: 9px;
    color: var(--rh-navy-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .rh-menu-portal a:hover,
  .rh-menu-portal a:focus {
    background: var(--rh-gray-50);
    color: var(--rh-gold-dark);
  }

  /* Nested submenu items render inline inside the same portal panel. */
  .rh-menu-portal .sub-menu,
  .rh-menu-portal .children {
    display: block;
    position: static;
    margin: 6px 0 8px 12px;
    padding: 4px 0 4px 12px;
    border-left: 3px solid var(--rh-gold);
    background: transparent;
    box-shadow: none;
  }

  .rh-menu-portal .sub-menu a,
  .rh-menu-portal .children a {
    font-size: 13px;
    padding: 8px 10px;
  }
}

@media (max-width: 900px) {
  .rh-menu-portal {
    display: none !important;
  }
}


/* Click-to-open desktop dropdown navigation
   Desktop menus no longer open or switch on hover. A single high-z-index panel opens
   only when the user clicks a top-level item with children.
*/
@media (min-width: 901px) {
  body.rh-menu-panel-open {
    overflow-x: hidden;
  }

  /* Defensive duplicate-header cleanup. */
  body > .rh-site-header ~ .rh-site-header,
  .rh-site-header + .rh-site-header,
  .rh-site-header.rh-duplicate-desktop-header,
  .rh-header.rh-duplicate-desktop-header,
  .rh-nav.rh-duplicate-desktop-header,
  .rh-header-clone,
  .rh-nav-clone,
  .rh-mobile-header,
  .rh-mobile-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .rh-site-header,
  .rh-header,
  .rh-header__inner,
  .rh-nav,
  .rh-nav ul,
  .rh-nav li {
    overflow: visible !important;
  }

  .rh-site-header,
  .rh-header {
    position: relative;
    z-index: 5000 !important;
  }

  .rh-nav {
    position: relative !important;
    z-index: 6000 !important;
  }

  /*
   * Disable the old desktop hover dropdown system completely.
   * The body-level click panel below is now the only visible desktop submenu.
   */
  .rh-nav > ul > li > .sub-menu,
  .rh-nav > .menu > li > .sub-menu,
  .rh-nav > ul > li:hover > .sub-menu,
  .rh-nav > .menu > li:hover > .sub-menu,
  .rh-nav > ul > li:focus-within > .sub-menu,
  .rh-nav > .menu > li:focus-within > .sub-menu,
  .rh-nav > ul > li.is-submenu-open > .sub-menu,
  .rh-nav > .menu > li.is-submenu-open > .sub-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .rh-nav > ul > li.rh-click-menu-active > a,
  .rh-nav > .menu > li.rh-click-menu-active > a {
    color: var(--rh-gold-dark) !important;
  }

  .rh-menu-portal {
    position: fixed;
    z-index: 999999;
    display: none;
    min-width: 280px;
    max-width: min(430px, calc(100vw - 32px));
    padding: 10px;
    background: #fff;
    border: 1px solid rgba(18,57,97,.13);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(18,57,97,.18);
  }

  .rh-menu-portal.is-open {
    display: block;
  }

  .rh-menu-portal ul,
  .rh-menu-portal li {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .rh-menu-portal a {
    display: block;
    padding: 11px 12px;
    border-radius: 9px;
    color: var(--rh-navy-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .rh-menu-portal a:hover,
  .rh-menu-portal a:focus {
    background: var(--rh-gray-50);
    color: var(--rh-gold-dark);
  }

  .rh-menu-portal .sub-menu,
  .rh-menu-portal .children {
    display: block;
    position: static;
    margin: 6px 0 8px 12px;
    padding: 4px 0 4px 12px;
    border-left: 3px solid var(--rh-gold);
    background: transparent;
    box-shadow: none;
  }

  .rh-menu-portal .sub-menu a,
  .rh-menu-portal .children a {
    font-size: 13px;
    padding: 8px 10px;
  }
}

@media (max-width: 900px) {
  .rh-menu-portal {
    display: none !important;
  }
}


/* =========================================================
   AI/SEO Homepage Pass 1
   Scoped homepage sections for premium positioning, clear
   AI-readable answers, course paths, proof, FAQ, and CTA.
   ========================================================= */
.rh-ai-hero .rh-hero__copy { max-width: 720px; }
.rh-ai-trust-list {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  color: var(--rh-muted);
  font-weight: 700;
}
.rh-ai-trust-list li {
  position: relative;
  padding-left: 26px;
}
.rh-ai-trust-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rh-gold-dark);
  font-weight: 900;
}
.rh-ai-split {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 44px;
  align-items: start;
}
.rh-ai-definition {
  background: #fff;
  border-bottom: 1px solid rgba(18,57,97,.08);
}
.rh-ai-definition h2,
.rh-ai-centered-head h2,
.rh-ai-instructor h2,
.rh-ai-final-cta h2 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  margin: 0;
}
.rh-ai-definition__copy {
  color: var(--rh-muted);
  font-size: 18px;
  line-height: 1.7;
}
.rh-ai-definition__copy p:first-child {
  color: var(--rh-text);
  font-size: 20px;
}
.rh-ai-centered-head {
  max-width: 850px;
  margin: 0 auto 34px;
  text-align: center;
}
.rh-ai-centered-head p {
  margin: 12px auto 0;
  max-width: 720px;
  color: var(--rh-muted);
  font-size: 17px;
  line-height: 1.65;
}
.rh-ai-paths {
  padding: 56px 0;
  background: linear-gradient(180deg, var(--rh-gray-50), #fff);
}
.rh-ai-path-grid { margin-top: 26px; }
.rh-ai-path-card {
  min-height: 100%;
  border-color: rgba(212,175,55,.35);
}
.rh-ai-why { background: #fff; }
.rh-ai-why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.rh-ai-why-card {
  background: #fff;
  border: 1px solid rgba(18,57,97,.10);
  border-top: 4px solid var(--rh-gold);
  border-radius: var(--rh-radius-lg);
  padding: 24px;
  box-shadow: 0 14px 30px rgba(18,57,97,.08);
}
.rh-ai-why-card h3 {
  margin: 0 0 10px;
  color: var(--rh-navy);
  font-size: 20px;
}
.rh-ai-why-card p,
.rh-ai-section-intro {
  color: var(--rh-muted);
  line-height: 1.65;
}
.rh-ai-testimonials {
  background: linear-gradient(180deg, #f6f8fb 0%, #ffffff 100%);
}
.rh-ai-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.rh-ai-testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #fff;
  border: 1px solid rgba(18,57,97,.09);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 18px 45px rgba(18,57,97,.10);
  text-align: left;
}
.rh-ai-testimonial-quote-mark {
  height: 48px;
  color: var(--rh-gold);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 72px;
  line-height: .8;
}
.rh-ai-testimonial-card p {
  color: var(--rh-text);
  font-size: 16px;
  line-height: 1.7;
  margin: 14px 0 22px;
}
.rh-ai-testimonial-person {
  margin-top: auto;
  display: grid;
  gap: 4px;
}
.rh-ai-testimonial-person strong {
  color: var(--rh-navy);
  font-size: 16px;
}
.rh-ai-testimonial-person span {
  color: var(--rh-muted);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rh-ai-testimonial-cta {
  margin-top: 34px;
  text-align: center;
}
.rh-ai-check-list {
  display: grid;
  gap: 12px;
  margin: 20px 0 22px;
  padding: 0;
  list-style: none;
}
.rh-ai-check-list li {
  position: relative;
  padding-left: 28px;
  color: var(--rh-text);
  font-weight: 700;
}
.rh-ai-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rh-gold-dark);
  font-weight: 900;
}
.rh-ai-faq { background: #fff; }
.rh-ai-faq-grid {
  display: grid;
  gap: 16px;
  max-width: 980px;
  margin: 0 auto;
}
.rh-ai-faq-item {
  background: var(--rh-gray-50);
  border: 1px solid rgba(18,57,97,.10);
  border-radius: 16px;
  padding: 22px 24px;
}
.rh-ai-faq-item h3 {
  margin: 0 0 10px;
  color: var(--rh-navy);
  font-size: 19px;
}
.rh-ai-faq-item p {
  margin: 0;
  color: var(--rh-muted);
  line-height: 1.65;
}
.rh-ai-final-cta {
  padding: 64px 0;
  background: linear-gradient(135deg, var(--rh-navy), var(--rh-navy-dark));
  color: #fff;
}
.rh-ai-final-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.rh-ai-final-cta h2,
.rh-ai-final-cta .rh-section__kicker {
  color: #fff;
}
.rh-ai-final-cta p {
  max-width: 620px;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.65;
}
.rh-ai-final-cta .rh-btn--primary {
  background: #fff;
  color: var(--rh-navy);
}
@media (max-width: 1040px) {
  .rh-ai-split,
  .rh-ai-why-grid,
  .rh-ai-testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rh-ai-definition .rh-ai-split,
  .rh-ai-instructor .rh-ai-split {
    grid-template-columns: 1fr;
  }
  .rh-ai-final-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 720px) {
  .rh-ai-split,
  .rh-ai-why-grid,
  .rh-ai-testimonial-grid {
    grid-template-columns: 1fr;
  }
  .rh-ai-definition__copy,
  .rh-ai-definition__copy p:first-child {
    font-size: 16px;
  }
  .rh-ai-testimonial-card,
  .rh-ai-why-card,
  .rh-ai-faq-item {
    padding: 22px;
  }
}


/* =========================================================
   AI/SEO Course Product Page Structure
   ========================================================= */
.rh-course-page {
  background: #fff;
}
.rh-course-hero {
  background:
    radial-gradient(circle at 85% 15%, rgba(212,175,55,.18), transparent 26%),
    linear-gradient(120deg, #fff 0%, #fff 45%, #f6f8fb 100%);
  border-bottom: 1px solid rgba(18,57,97,.10);
  padding: 54px 0 46px;
}
.rh-course-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 42px;
  align-items: start;
}
.rh-course-hero .rh-breadcrumbs,
.rh-course-hero .woocommerce-breadcrumb {
  margin-bottom: 18px;
}
.rh-course-hero h1 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -.03em;
  margin: 10px 0 18px;
}
.rh-course-hero__summary,
.rh-course-hero__summary-text {
  max-width: 760px;
  color: var(--rh-text);
  font-size: 18px;
  line-height: 1.72;
  margin: 0 0 24px;
}
.rh-course-hero__summary p {
  margin-top: 0;
}
.rh-course-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.rh-course-hero__badges span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(18,57,97,.12);
  color: var(--rh-navy);
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 6px 15px rgba(18,57,97,.06);
}
.rh-course-purchase-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(18,57,97,.12);
  border-radius: 22px;
  box-shadow: var(--rh-shadow);
  position: sticky;
  top: 126px;
}
.rh-course-purchase-card__image {
  min-height: 210px;
  background: var(--rh-gray-100);
}
.rh-course-purchase-card__image img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.rh-course-purchase-card__body {
  padding: 26px;
}
.rh-course-price {
  color: var(--rh-navy);
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 18px;
}
.rh-course-price del {
  color: var(--rh-muted);
  font-size: 18px;
  font-weight: 600;
}
.rh-course-price ins {
  text-decoration: none;
}
.rh-course-add-to-cart .cart {
  display: grid;
  gap: 12px;
  margin-bottom: 22px;
}
.rh-course-add-to-cart .quantity input.qty {
  min-height: 48px;
  width: 90px;
  border: 1px solid rgba(18,57,97,.18);
  border-radius: 9px;
  padding: 8px 10px;
}
.rh-course-add-to-cart button.single_add_to_cart_button,
.rh-course-add-to-cart .single_add_to_cart_button {
  width: 100%;
  min-height: 52px;
  background: var(--rh-gold);
  color: var(--rh-navy);
  border-radius: 9px;
  font-weight: 900;
  box-shadow: 0 12px 22px rgba(212,175,55,.22);
}
.rh-course-add-to-cart button.single_add_to_cart_button:hover,
.rh-course-add-to-cart .single_add_to_cart_button:hover {
  background: var(--rh-gold-dark);
  color: #fff;
}
.rh-course-quick-details,
.rh-course-detail-list {
  display: grid;
  gap: 12px;
  margin: 0;
}
.rh-course-quick-details div,
.rh-course-detail-list div {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(18,57,97,.10);
}
.rh-course-quick-details dt,
.rh-course-detail-list dt {
  color: var(--rh-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rh-course-quick-details dd,
.rh-course-detail-list dd {
  margin: 0;
  color: var(--rh-navy);
  font-weight: 800;
}
.rh-course-main {
  background: #fff;
}
.rh-course-main__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 32px;
  align-items: start;
}
.rh-course-main__content {
  display: grid;
  gap: 24px;
}
.rh-course-block,
.rh-course-sidebar-card {
  background: #fff;
  border: 1px solid rgba(18,57,97,.10);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 10px 28px rgba(18,57,97,.06);
}
.rh-course-block h2,
.rh-course-sidebar-card h2 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  margin: 0 0 16px;
}
.rh-course-block p {
  color: var(--rh-muted);
  font-size: 17px;
  line-height: 1.72;
}
.rh-course-check-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rh-course-check-list li {
  position: relative;
  padding-left: 30px;
  color: var(--rh-text);
  font-weight: 750;
  line-height: 1.6;
}
.rh-course-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rh-gold-dark);
  font-weight: 900;
}
.rh-course-check-list--compact li {
  font-size: 15px;
}
.rh-course-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.rh-course-feature-card {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: start;
  padding: 18px;
  border: 1px solid rgba(18,57,97,.10);
  border-radius: 14px;
  background: var(--rh-gray-50);
}
.rh-course-feature-card span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--rh-navy);
  color: #fff;
  font-weight: 900;
}
.rh-course-feature-card p {
  margin: 0;
  color: var(--rh-text);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 700;
}
.rh-course-support {
  background: linear-gradient(135deg, #fff, #f8fafc);
  border-top: 4px solid var(--rh-gold);
}
.rh-course-content :first-child {
  margin-top: 0;
}
.rh-course-content :last-child {
  margin-bottom: 0;
}
.rh-course-faq-grid {
  display: grid;
  gap: 14px;
}
.rh-course-faq-item {
  padding: 20px;
  border-radius: 14px;
  background: var(--rh-gray-50);
  border: 1px solid rgba(18,57,97,.10);
}
.rh-course-faq-item h3 {
  margin: 0 0 8px;
  color: var(--rh-navy);
  font-size: 18px;
}
.rh-course-faq-item p {
  margin: 0;
  color: var(--rh-muted);
  font-size: 15px;
}
.rh-course-sidebar {
  display: grid;
  gap: 20px;
  position: sticky;
  top: 126px;
}
.rh-course-sidebar-card h2 {
  font-size: 28px;
}
.rh-course-next-steps p {
  color: var(--rh-muted);
  margin-top: 0;
}
.rh-course-sidebar-actions {
  display: grid;
  gap: 11px;
}
.rh-course-final-cta .rh-btn--primary {
  background: #fff;
  color: var(--rh-navy);
}
.rh-course-final-cta .rh-btn--gold {
  color: var(--rh-navy);
}
.related.products,
.upsells.products {
  width: min(var(--rh-container), calc(100% - 40px));
  margin: 0 auto 50px;
}
.related.products h2,
.upsells.products h2 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
}
@media (max-width: 1040px) {
  .rh-course-hero__grid,
  .rh-course-main__grid {
    grid-template-columns: 1fr;
  }
  .rh-course-purchase-card,
  .rh-course-sidebar {
    position: static;
  }
  .rh-course-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .rh-course-hero {
    padding: 38px 0 32px;
  }
  .rh-course-hero h1 {
    font-size: 38px;
  }
  .rh-course-main__content,
  .rh-course-sidebar {
    gap: 16px;
  }
  .rh-course-block,
  .rh-course-sidebar-card,
  .rh-course-purchase-card__body {
    padding: 22px;
  }
  .rh-course-feature-grid,
  .rh-course-sidebar {
    grid-template-columns: 1fr;
  }
  .rh-course-quick-details div,
  .rh-course-detail-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* Course page breadcrumb visibility fix */
.rh-course-hero .rh-breadcrumbs,
.rh-course-hero .rh-breadcrumbs a,
.rh-course-hero .rh-breadcrumbs span,
.rh-course-hero .woocommerce-breadcrumb,
.rh-course-hero .woocommerce-breadcrumb a {
  color: var(--rh-navy) !important;
  opacity: 1 !important;
}

.rh-course-hero .rh-breadcrumbs a:hover,
.rh-course-hero .woocommerce-breadcrumb a:hover {
  color: var(--rh-gold) !important;
}

/* AI/SEO Catalog Pass 6: course archive/catalog experience */
.rh-catalog-hero {
  background: linear-gradient(135deg, var(--rh-navy), #1a4d78);
  color: #fff;
  padding: 62px 0;
}
.rh-catalog-hero .rh-breadcrumbs,
.rh-catalog-hero .rh-breadcrumbs a,
.rh-catalog-hero .rh-breadcrumbs span { color: rgba(255,255,255,.9); }
.rh-catalog-hero .rh-breadcrumbs a:hover { color: var(--rh-gold); }
.rh-catalog-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 34px;
  align-items: center;
}
.rh-catalog-hero h1 {
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.02;
  margin: 8px 0 16px;
}
.rh-catalog-hero p {
  color: rgba(255,255,255,.88);
  font-size: 18px;
  line-height: 1.7;
  max-width: 760px;
  margin: 0;
}
.rh-catalog-hero .rh-section__kicker { color: var(--rh-gold); }
.rh-catalog-hero__aside {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--rh-radius-lg);
  padding: 24px;
  box-shadow: 0 20px 42px rgba(0,0,0,.16);
}
.rh-catalog-hero__aside strong { display:block; font-size:20px; margin-bottom:8px; color:#fff; }
.rh-catalog-hero__aside p { font-size:15px; line-height:1.6; margin-bottom:18px; }
.rh-catalog-section-head { align-items: center; }
.rh-catalog-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.rh-catalog-path-card {
  display: block;
  background: #fff;
  border: 1px solid rgba(18,57,97,.12);
  border-radius: var(--rh-radius-lg);
  padding: 22px;
  box-shadow: 0 8px 26px rgba(18,57,97,.06);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.rh-catalog-path-card:hover,
.rh-catalog-path-card:focus {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(18,57,97,.11);
  border-color: rgba(212,175,55,.55);
}
.rh-catalog-path-card span {
  display:block;
  color: var(--rh-navy);
  font-weight: 900;
  font-size: 18px;
  margin-bottom: 8px;
}
.rh-catalog-path-card p {
  color: var(--rh-muted);
  margin: 0;
  line-height: 1.55;
  font-size: 14px;
}
.rh-catalog-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
  padding:18px 20px;
  background: var(--rh-gray-50);
  border:1px solid rgba(18,57,97,.1);
  border-radius: var(--rh-radius-lg);
}
.rh-catalog-toolbar .woocommerce-result-count { margin:0; color:var(--rh-muted); font-weight:700; }
.rh-catalog-toolbar .woocommerce-ordering { margin:0; }
.rh-catalog-toolbar select { min-height:44px; border-radius:9px; border:1px solid rgba(18,57,97,.18); padding:8px 12px; background:#fff; }
.rh-catalog-products ul.products {
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:24px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.rh-catalog-products ul.products::before,
.rh-catalog-products ul.products::after { display:none !important; }
.rh-catalog-products ul.products li.product.rh-catalog-card {
  float:none !important;
  clear:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.rh-catalog-card__inner {
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(18,57,97,.12);
  border-radius: var(--rh-radius-lg);
  box-shadow:0 12px 30px rgba(18,57,97,.07);
}
.rh-catalog-card__image {
  display:grid;
  place-items:center;
  height:190px;
  background:linear-gradient(135deg, #f4f7fb, #fff);
  overflow:hidden;
  color:var(--rh-gold);
  font-size:64px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:900;
}
.rh-catalog-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.rh-catalog-card__body {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:22px;
}
.rh-catalog-card__badges {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}
.rh-catalog-card__badges span {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(212,175,55,.12);
  color:var(--rh-navy);
  font-size:12px;
  font-weight:900;
}
.rh-catalog-card__title {
  font-family:Georgia, 'Times New Roman', serif;
  font-size:24px !important;
  line-height:1.12;
  margin:0 0 10px !important;
  padding:0 !important;
  color:var(--rh-navy);
}
.rh-catalog-card__title a { color:inherit; text-decoration:none; }
.rh-catalog-card__title a:hover { color:var(--rh-gold-dark); }
.rh-catalog-card__excerpt {
  color:var(--rh-muted);
  line-height:1.55;
  margin:0 0 16px;
  font-size:15px;
}
.rh-catalog-card__meta {
  margin-top:auto;
  margin-bottom:18px;
  padding-top:14px;
  border-top:1px solid rgba(18,57,97,.08);
  color:var(--rh-muted);
  font-size:14px;
  line-height:1.45;
}
.rh-catalog-card__meta strong { color:var(--rh-navy); }
.rh-catalog-card__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.rh-catalog-card__price {
  color:var(--rh-navy);
  font-size:20px;
  font-weight:900;
  white-space:nowrap;
}
.rh-catalog-empty {
  max-width:760px;
  margin:0 auto;
  text-align:center;
  background:#fff;
  border:1px solid rgba(18,57,97,.12);
  border-radius:var(--rh-radius-lg);
  padding:42px;
  box-shadow:0 12px 30px rgba(18,57,97,.07);
}
.rh-catalog-empty h2 { font-family:Georgia, 'Times New Roman', serif; color:var(--rh-navy); font-size:34px; margin:0 0 10px; }
.rh-catalog-empty p { color:var(--rh-muted); margin:0 auto 20px; max-width:620px; line-height:1.65; }
.rh-catalog-empty__actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
@media (max-width: 980px) {
  .rh-catalog-hero__grid { grid-template-columns:1fr; }
  .rh-catalog-path-grid,
  .rh-catalog-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rh-catalog-hero { padding:44px 0; }
  .rh-catalog-toolbar { align-items:stretch; flex-direction:column; }
  .rh-catalog-path-grid,
  .rh-catalog-products ul.products { grid-template-columns:1fr; }
  .rh-catalog-card__footer { align-items:stretch; flex-direction:column; }
  .rh-catalog-card__footer .rh-btn { width:100%; }
}


/* Custom related courses on single product pages. */
.single-product .related.products,
.single-product .upsells.products {
  display: none !important;
}
.rh-related-courses {
  background: #fff;
  padding-top: 10px;
  padding-bottom: 72px;
}
.rh-related-courses__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 24px;
}
.rh-related-courses__header h2 {
  font-size: 40px;
  margin: 0 0 8px;
  color: var(--rh-navy);
}
.rh-related-courses__header p {
  margin: 0;
  max-width: 670px;
  color: var(--rh-muted);
}
.rh-related-courses__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.rh-related-course-card {
  overflow: hidden;
  border: 1px solid rgba(18, 57, 97, 0.13);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(18, 57, 97, 0.09);
}
.rh-related-course-card__image {
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--rh-gray-100);
  overflow: hidden;
}
.rh-related-course-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rh-related-course-card__image span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 56px;
  font-weight: 700;
}
.rh-related-course-card__body {
  display: grid;
  gap: 13px;
  padding: 22px;
}
.rh-related-course-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rh-related-course-card__meta span {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(212, 175, 55, 0.14);
  color: var(--rh-navy);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.15;
}
.rh-related-course-card h3 {
  margin: 0;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  line-height: 1.08;
}
.rh-related-course-card h3 a {
  color: inherit;
}
.rh-related-course-card p,
.rh-related-course-card__date {
  margin: 0;
  color: var(--rh-muted);
  font-size: 14px;
  line-height: 1.55;
}
.rh-related-course-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 3px;
  padding-top: 14px;
  border-top: 1px solid rgba(18, 57, 97, 0.12);
}
.rh-related-course-card__price {
  color: var(--rh-navy);
  font-size: 18px;
  font-weight: 900;
  white-space: nowrap;
}
.rh-related-course-card__footer .rh-btn {
  min-height: 42px;
  padding: 11px 16px;
  font-size: 13px;
  white-space: nowrap;
}
@media (max-width: 960px) {
  .rh-related-courses__header {
    align-items: flex-start;
    flex-direction: column;
  }
  .rh-related-courses__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .rh-related-courses__grid {
    grid-template-columns: 1fr;
  }
  .rh-related-courses__header h2 {
    font-size: 32px;
  }
}

/* Pass 8: context-aware related courses refinements. */
.rh-related-course-card--no-image .rh-related-course-card__body {
  padding-top: 26px;
}
.rh-related-course-card--no-image {
  border-top: 4px solid rgba(212, 175, 55, 0.75);
}
.rh-related-courses__header .rh-link::after {
  content: " →";
}

/* Pass 11: related course image fix. */
.rh-related-course-card--no-image {
  display: flex;
  flex-direction: column;
}
.rh-related-course-card--no-image .rh-related-course-card__image {
  display: none !important;
}
.rh-related-course-card--no-image .rh-related-course-card__body {
  padding-top: 28px;
}
.rh-related-course-card--has-image .rh-related-course-card__image {
  background: transparent;
}
.rh-related-course-card--has-image .rh-related-course-card__image:empty {
  display: none;
}


/* Pass 9: course enrollment flow and manual related-course support */
.rh-course-dates {
  background: #f7f9fc;
  border-top: 1px solid rgba(18,57,97,.08);
  border-bottom: 1px solid rgba(18,57,97,.08);
}

.rh-course-dates__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.rh-course-dates__header h2 {
  margin: 0 0 8px;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.04;
}

.rh-course-dates__header p {
  margin: 0;
  color: var(--rh-muted);
  max-width: 680px;
}

.rh-course-dates__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.rh-course-date-card {
  background: #fff;
  border: 1px solid rgba(18,57,97,.12);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(18,57,97,.06);
}

.rh-course-date-card span {
  display: block;
  color: var(--rh-gold-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.rh-course-date-card strong {
  display: block;
  color: var(--rh-navy);
  font-size: 16px;
  line-height: 1.35;
}

@media (max-width: 980px) {
  .rh-course-dates__header {
    display: block;
  }
  .rh-course-dates__header .rh-link {
    display: inline-block;
    margin-top: 16px;
  }
  .rh-course-dates__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .rh-course-dates__grid {
    grid-template-columns: 1fr;
  }
}

/* Pass 10: course page cleanup and enrollment optimization. */
.rh-course-purchase-card__image {
  display: none !important;
}

.rh-course-purchase-card__body {
  border-top: 4px solid var(--rh-gold);
}

.rh-course-main__grid {
  grid-template-columns: minmax(0, 1fr);
}

.rh-course-main__content {
  max-width: 980px;
}

.rh-course-sidebar,
.rh-course-long-description,
.single-product .woocommerce-tabs,
.single-product .woocommerce-Tabs-panel,
.single-product .product .woocommerce-tabs {
  display: none !important;
}

.rh-course-final-cta h2 {
  max-width: 760px;
}

.rh-course-final-cta .rh-actions .rh-btn {
  min-width: 220px;
}

html {
  scroll-behavior: smooth;
}

/* =========================================================
   Testimonials Page Redesign
   ========================================================= */
.rh-testimonials-page-header {
  background: linear-gradient(135deg, var(--rh-navy), var(--rh-navy-dark));
  color: #fff;
}
.rh-testimonials-page-header h1,
.rh-testimonials-page-header .rh-section__kicker {
  color: #fff;
}
.rh-testimonials-page {
  background: #fff;
}
.rh-testimonials-page-intro {
  background: #fff;
}
.rh-testimonials-page-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 48px;
  align-items: center;
}
.rh-testimonials-page-intro h2,
.rh-testimonials-page-section-heading h2,
.rh-testimonials-page-cta h2 {
  margin: 0;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -.025em;
}
.rh-testimonials-page-intro__copy p,
.rh-testimonials-page-section-heading p,
.rh-testimonials-page-cta p {
  color: var(--rh-muted);
  font-size: 17px;
  line-height: 1.7;
}
.rh-testimonials-page-trust-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.rh-testimonials-page-trust-points span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff7dc;
  border: 1px solid rgba(212,175,55,.30);
  color: var(--rh-navy);
  font-size: 13px;
  font-weight: 850;
}
.rh-testimonials-page-featured {
  background: linear-gradient(180deg, #f6f8fb 0%, #fff 100%);
  border-top: 1px solid rgba(18,57,97,.08);
  border-bottom: 1px solid rgba(18,57,97,.08);
}
.rh-testimonials-page-section-heading {
  max-width: 850px;
  margin-bottom: 34px;
}
.rh-testimonials-page-section-heading--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.rh-testimonials-page-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.rh-testimonials-page-grid {
  columns: 2 360px;
  column-gap: 24px;
}
.rh-testimonials-page-card {
  position: relative;
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 24px;
  background: #fff;
  border: 1px solid rgba(18,57,97,.10);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 18px 45px rgba(18,57,97,.10);
  text-align: left;
}
.rh-testimonials-page-card--featured {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0;
  border-top: 4px solid var(--rh-gold);
}
.rh-testimonials-page-card__quote-mark {
  color: var(--rh-gold);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 76px;
  line-height: .75;
  height: 48px;
  margin-bottom: 8px;
}
.rh-testimonials-page-card__quote {
  margin: 0;
  padding: 0;
  border: 0;
}
.rh-testimonials-page-card__quote p {
  margin: 0 0 24px;
  color: var(--rh-text);
  font-size: 16px;
  line-height: 1.72;
}
.rh-testimonials-page-card__person {
  display: grid;
  gap: 4px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(18,57,97,.10);
}
.rh-testimonials-page-card__person strong {
  color: var(--rh-navy);
  font-size: 17px;
  font-weight: 900;
}
.rh-testimonials-page-card__person span {
  color: var(--rh-muted);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rh-testimonials-page-fallback {
  max-width: 920px;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid rgba(18,57,97,.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(18,57,97,.08);
}
.rh-testimonials-page-cta {
  padding: 70px 0;
  background: linear-gradient(135deg, var(--rh-navy), var(--rh-navy-dark));
  color: #fff;
}
.rh-testimonials-page-cta h2,
.rh-testimonials-page-cta .rh-section__kicker {
  color: #fff;
}
.rh-testimonials-page-cta p {
  max-width: 680px;
  color: rgba(255,255,255,.80);
}
.rh-testimonials-page-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
}
.rh-testimonials-page-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-width: 240px;
}
.rh-btn--outline-light {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
.rh-btn--outline-light:hover,
.rh-btn--outline-light:focus {
  background: rgba(255,255,255,.10);
  color: #fff;
}
@media (max-width: 1040px) {
  .rh-testimonials-page-intro__inner,
  .rh-testimonials-page-featured-grid {
    grid-template-columns: 1fr;
  }
  .rh-testimonials-page-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .rh-testimonials-page-cta__actions {
    width: 100%;
    max-width: 340px;
  }
}
@media (max-width: 720px) {
  .rh-testimonials-page-card {
    padding: 24px;
  }
  .rh-testimonials-page-grid {
    columns: 1;
  }
  .rh-testimonials-page-trust-points {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Authority content pages */
.rh-authority-page {
  background: #fff;
}

.rh-authority-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 88% 18%, rgba(212,175,55,.16), transparent 28%), linear-gradient(115deg, #fff 0%, #fff 47%, rgba(247,249,252,.92) 100%);
  border-bottom: 1px solid rgba(18,57,97,.10);
}

.rh-authority-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) 380px;
  gap: 48px;
  align-items: center;
  padding: 72px 0 66px;
}

.rh-authority-hero h1,
.rh-authority-section-head h2,
.rh-authority-intro h2,
.rh-authority-why h2,
.rh-authority-cta h2 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
  line-height: 1.03;
  letter-spacing: -.025em;
}

.rh-authority-hero h1 {
  font-size: clamp(44px, 5.6vw, 76px);
  margin: 14px 0 18px;
  max-width: 820px;
}

.rh-authority-hero__lead {
  color: var(--rh-navy);
  font-size: clamp(19px, 2.1vw, 25px);
  line-height: 1.35;
  font-weight: 800;
  max-width: 760px;
  margin: 0 0 14px;
}

.rh-authority-hero__copy,
.rh-authority-copy,
.rh-authority-section-head p,
.rh-authority-course-card p,
.rh-authority-step-card p,
.rh-authority-faq-item p,
.rh-authority-cta p {
  color: var(--rh-muted);
}

.rh-authority-hero__copy {
  max-width: 720px;
  font-size: 18px;
  margin: 0 0 30px;
}

.rh-authority-hero__card,
.rh-authority-course-card,
.rh-authority-step-card,
.rh-authority-faq-item,
.rh-authority-proof {
  background: #fff;
  border: 1px solid rgba(18,57,97,.13);
  border-radius: var(--rh-radius-lg);
  box-shadow: 0 10px 28px rgba(18,57,97,.08);
}

.rh-authority-hero__card {
  padding: 30px;
  border-top: 5px solid var(--rh-gold);
}

.rh-authority-card__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  background: rgba(212,175,55,.13);
  color: var(--rh-navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 7px 10px;
  margin-bottom: 14px;
}

.rh-authority-hero__card h2 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
  font-size: 30px;
  line-height: 1.05;
  margin: 0 0 12px;
}

.rh-authority-hero__card p {
  color: var(--rh-muted);
  margin: 0 0 18px;
}

.rh-authority-hero__card ul {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.rh-authority-hero__card li {
  position: relative;
  padding-left: 24px;
  color: var(--rh-navy);
  font-weight: 800;
}

.rh-authority-hero__card li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rh-gold-dark);
}

.rh-authority-two-col {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
  gap: 48px;
  align-items: start;
}

.rh-authority-two-col--wide {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.rh-authority-intro h2,
.rh-authority-why h2 {
  font-size: clamp(34px, 4vw, 54px);
  margin: 0;
}

.rh-authority-copy p:first-child {
  margin-top: 0;
}

.rh-authority-section-head {
  max-width: 820px;
  margin: 0 auto 34px;
  text-align: center;
}

.rh-authority-section-head h2 {
  font-size: clamp(34px, 4.4vw, 58px);
  margin: 0 0 12px;
}

.rh-authority-section-head p {
  font-size: 17px;
  margin: 0 auto;
  max-width: 740px;
}

.rh-authority-step-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.rh-authority-step-card {
  padding: 24px;
  min-height: 100%;
}

.rh-authority-step-card__number {
  display: block;
  color: var(--rh-gold-dark);
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 13px;
  margin-bottom: 12px;
}

.rh-authority-step-card h3,
.rh-authority-course-card h3,
.rh-authority-faq-item h3 {
  color: var(--rh-navy);
  margin: 0 0 10px;
  line-height: 1.18;
}

.rh-authority-step-card h3,
.rh-authority-course-card h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
}

.rh-authority-step-card p,
.rh-authority-course-card p,
.rh-authority-faq-item p {
  margin: 0;
}

.rh-authority-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.rh-authority-course-card {
  padding: 28px;
  border-top: 4px solid var(--rh-gold);
}

.rh-authority-course-card .rh-link {
  display: inline-flex;
  margin-top: 20px;
}

.rh-authority-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rh-authority-proof {
  padding: 22px;
  display: grid;
  gap: 6px;
}

.rh-authority-proof strong {
  color: var(--rh-navy);
}

.rh-authority-proof span {
  color: var(--rh-muted);
}

.rh-authority-faq-list {
  display: grid;
  gap: 14px;
  max-width: 960px;
  margin: 0 auto;
}

.rh-authority-faq-item {
  padding: 22px 24px;
}

.rh-authority-faq-item h3 {
  font-size: 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.rh-authority-link-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.rh-authority-link-grid a {
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  border-radius: var(--rh-radius-lg);
  background: #fff;
  border: 1px solid rgba(18,57,97,.13);
  box-shadow: 0 8px 18px rgba(18,57,97,.06);
  color: var(--rh-navy);
  font-weight: 900;
}

.rh-authority-link-grid a:hover {
  transform: translateY(-1px);
  box-shadow: var(--rh-shadow-soft);
  color: var(--rh-gold-dark);
}

.rh-authority-cta {
  background: linear-gradient(135deg, var(--rh-navy-dark), var(--rh-navy));
  color: #fff;
  padding: 60px 0;
}

.rh-authority-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
}

.rh-authority-cta h2,
.rh-authority-cta p,
.rh-authority-cta .rh-section__kicker {
  color: #fff;
}

.rh-authority-cta h2 {
  font-size: clamp(34px, 4vw, 55px);
  margin: 0 0 12px;
  max-width: 820px;
}

.rh-authority-cta p {
  margin: 0;
  max-width: 700px;
}

.rh-btn--light {
  background: #fff;
  color: var(--rh-navy);
  box-shadow: var(--rh-shadow-soft);
}

.rh-btn--light:hover {
  background: var(--rh-gray-50);
  color: var(--rh-navy-dark);
  transform: translateY(-1px);
}

@media (max-width: 1100px) {
  .rh-authority-hero__grid,
  .rh-authority-two-col,
  .rh-authority-two-col--wide {
    grid-template-columns: 1fr;
  }

  .rh-authority-hero__grid {
    gap: 28px;
  }

  .rh-authority-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rh-authority-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .rh-authority-hero__grid {
    padding: 52px 0;
  }

  .rh-authority-course-grid,
  .rh-authority-proof-grid,
  .rh-authority-step-grid,
  .rh-authority-link-grid,
  .rh-authority-cta__inner {
    grid-template-columns: 1fr;
  }

  .rh-authority-section-head {
    text-align: left;
  }

  .rh-authority-cta__inner .rh-actions {
    justify-content: stretch;
  }

  .rh-authority-cta__inner .rh-actions .rh-btn {
    width: 100%;
  }
}


/* Pass 14: Authority page vertical roadmap polish */
.rh-authority-roadmap {
  position: relative;
  display: grid;
  gap: 22px;
  max-width: 980px;
  margin: 0 auto;
}

.rh-authority-roadmap::before {
  content: '';
  position: absolute;
  left: 48px;
  top: 20px;
  bottom: 20px;
  width: 2px;
  background: linear-gradient(180deg, rgba(212,175,55,.55), rgba(18,57,97,.12));
}

.rh-authority-roadmap .rh-authority-step-card {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 30px 34px;
  border-top: 0;
}

.rh-authority-roadmap .rh-authority-step-card__number {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background: var(--rh-navy);
  color: #fff;
  box-shadow: 0 12px 28px rgba(18,57,97,.22);
  border: 4px solid #fff;
  font-size: 16px;
  letter-spacing: .08em;
  margin: 0;
}

.rh-authority-roadmap .rh-authority-step-card h3 {
  font-size: clamp(26px, 3vw, 38px);
  margin-bottom: 10px;
  max-width: 720px;
}

.rh-authority-roadmap .rh-authority-step-card p {
  font-size: 17px;
  line-height: 1.68;
  max-width: 760px;
}

@media (max-width: 820px) {
  .rh-authority-roadmap {
    gap: 16px;
  }

  .rh-authority-roadmap::before {
    display: none;
  }

  .rh-authority-roadmap .rh-authority-step-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 26px;
  }

  .rh-authority-roadmap .rh-authority-step-card__number {
    width: 58px;
    height: 58px;
    font-size: 14px;
  }
}


/* Pass 15: Authority roadmap content grouping fix */
.rh-authority-roadmap .rh-authority-step-card__content {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.rh-authority-roadmap .rh-authority-step-card__content h3,
.rh-authority-roadmap .rh-authority-step-card__content p {
  grid-column: auto;
}

.rh-authority-roadmap .rh-authority-step-card__content h3 {
  margin: 0;
}

.rh-authority-roadmap .rh-authority-step-card__content p {
  width: 100%;
}

@media (max-width: 820px) {
  .rh-authority-roadmap .rh-authority-step-card__content {
    gap: 8px;
  }
}

/* Pass 16: Florida Real Estate Exam Prep Guide authority page */
.rh-exam-prep-guide .rh-authority-course-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1040px;
  margin: 0 auto;
}

.rh-exam-prep-guide .rh-authority-mistakes .rh-authority-course-card {
  border-top-color: var(--rh-navy);
}

.rh-exam-prep-guide .rh-authority-hero__card ul,
.rh-exam-prep-guide .rh-authority-hero__card li {
  margin-bottom: 0;
}

@media (max-width: 820px) {
  .rh-exam-prep-guide .rh-authority-course-grid--two {
    grid-template-columns: 1fr;
  }
}

/* Pass 17: Sales Associate vs Broker authority page */
.rh-sales-broker-guide .rh-authority-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.rh-sales-broker-guide .rh-authority-comparison-card {
  background: #fff;
  border: 1px solid rgba(18,57,97,.13);
  border-radius: var(--rh-radius-lg);
  box-shadow: 0 10px 28px rgba(18,57,97,.08);
  padding: 32px;
  border-top: 5px solid var(--rh-gold);
}

.rh-sales-broker-guide .rh-authority-comparison-card h3 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rh-navy);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.08;
  margin: 0 0 14px;
}

.rh-sales-broker-guide .rh-authority-comparison-card p {
  color: var(--rh-muted);
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 20px;
}

.rh-sales-broker-guide .rh-authority-comparison-card ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.rh-sales-broker-guide .rh-authority-comparison-card li {
  position: relative;
  padding-left: 26px;
  color: var(--rh-text);
  line-height: 1.45;
}

.rh-sales-broker-guide .rh-authority-comparison-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rh-gold-dark);
  font-weight: 900;
}

.rh-sales-broker-guide .rh-authority-course-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .rh-sales-broker-guide .rh-authority-course-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .rh-sales-broker-guide .rh-authority-comparison-grid,
  .rh-sales-broker-guide .rh-authority-course-grid--four {
    grid-template-columns: 1fr;
  }

  .rh-sales-broker-guide .rh-authority-comparison-card {
    padding: 26px;
  }
}


/* Authority Pass 18: Live vs Online guide refinements */
.rh-authority-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 980px) {
  .rh-authority-card-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .rh-authority-card-grid--three {
    grid-template-columns: 1fr;
  }
}


/* Best school authority guide helper spacing */
.rh-best-school-guide .rh-authority-centered-actions {
  justify-content: center;
  margin-top: var(--rh-space-6, 32px);
}

.rh-best-school-guide .rh-testimonials-page-featured-grid {
  margin-top: var(--rh-space-5, 24px);
}


/* AI/SEO Pass 20: Florida Real Estate Guides Hub + internal linking */
.rh-guides-hub .rh-authority-hero__card ul {
  margin: 14px 0 0;
  padding-left: 18px;
  color: rgba(11, 37, 64, .78);
  line-height: 1.6;
}

.rh-guides-hub .rh-authority-hero__card li + li {
  margin-top: 8px;
}

.rh-guides-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.rh-guide-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 28px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(18, 57, 97, .10);
  box-shadow: 0 18px 45px rgba(18, 57, 97, .08);
}

.rh-guide-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: 22px 0 0 22px;
  background: linear-gradient(180deg, var(--rh-gold), var(--rh-gold-dark));
}

.rh-guide-card__label {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 13px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(212, 175, 55, .14);
  color: var(--rh-gold-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rh-guide-card h3 {
  margin: 0 0 10px;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 25px;
  line-height: 1.1;
}

.rh-guide-card p {
  margin: 0 0 20px;
  color: rgba(11, 37, 64, .76);
  line-height: 1.62;
}

.rh-guide-card .rh-link {
  margin-top: auto;
}

.rh-related-guides {
  background: #f8fafc;
}

.rh-related-guides__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rh-related-guide-card {
  display: block;
  height: 100%;
  padding: 22px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(18, 57, 97, .10);
  box-shadow: 0 14px 34px rgba(18, 57, 97, .07);
}

.rh-related-guide-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--rh-gold-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rh-related-guide-card strong {
  display: block;
  color: var(--rh-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 20px;
  line-height: 1.18;
}

.rh-related-guide-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(18, 57, 97, .11);
}

@media (max-width: 900px) {
  .rh-guides-featured-grid,
  .rh-related-guides__grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   AI/SEO Pass 21: Launch readiness polish
   ========================================================= */
.rh-related-guides {
  border-top: 1px solid rgba(13, 55, 97, 0.08);
}

.rh-related-guides .rh-authority-section-head {
  max-width: 760px;
}

.rh-related-guide-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 100%;
}

.rh-related-guide-card em {
  color: var(--rh-text-muted, #5f6f7f);
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1.5;
}

.rh-related-guides__actions {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

.rh-authority-page .rh-actions .rh-btn,
.rh-guides-hub .rh-actions .rh-btn,
.rh-authority-cta .rh-btn {
  min-height: 48px;
  align-items: center;
  justify-content: center;
}

.rh-authority-page .rh-authority-section-head p,
.rh-guides-hub .rh-authority-section-head p {
  max-width: 760px;
}

.rh-guides-menu-item .sub-menu a,
.rh-footer a {
  text-underline-offset: 0.18em;
}

.rh-guides-menu-item .sub-menu a:focus-visible,
.rh-footer a:focus-visible,
.rh-related-guide-card:focus-visible {
  outline: 3px solid rgba(201, 162, 74, 0.55);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .rh-authority-page .rh-authority-hero,
  .rh-guides-hub .rh-authority-hero {
    padding-block: 3rem;
  }

  .rh-authority-page .rh-section,
  .rh-guides-hub .rh-section {
    padding-block: 3rem;
  }

  .rh-related-guides__grid {
    gap: 1rem;
  }

  .rh-authority-page .rh-actions,
  .rh-guides-hub .rh-actions,
  .rh-authority-cta__inner .rh-actions {
    width: 100%;
  }

  .rh-authority-page .rh-actions .rh-btn,
  .rh-guides-hub .rh-actions .rh-btn,
  .rh-authority-cta__inner .rh-actions .rh-btn {
    width: 100%;
  }
}


/* =========================
   Pass 22: FAQ Page Redesign
========================= */
.rh-faq-page {
  background: var(--rh-white);
}

.rh-faq-hero {
  padding: clamp(56px, 7vw, 96px) 0;
  background:
    radial-gradient(circle at top right, rgba(212, 175, 55, 0.16), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
  border-bottom: 1px solid var(--rh-gray-200);
}

.rh-faq-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
}

.rh-faq-hero__content h1 {
  margin: 0 0 18px;
  font-family: var(--rh-font-heading, Georgia, serif);
  color: var(--rh-navy);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.rh-faq-hero__lead {
  max-width: 760px;
  margin: 0 0 26px;
  color: var(--rh-muted);
  font-size: clamp(1.05rem, 2vw, 1.22rem);
  line-height: 1.7;
}

.rh-faq-hero__card {
  background: var(--rh-white);
  border: 1px solid var(--rh-gray-200);
  border-radius: var(--rh-radius-xl);
  box-shadow: var(--rh-shadow-soft);
  padding: clamp(24px, 4vw, 34px);
}

.rh-faq-hero__card h2 {
  margin: 8px 0 12px;
  color: var(--rh-navy);
  font-family: var(--rh-font-heading, Georgia, serif);
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  line-height: 1;
}

.rh-faq-hero__card p {
  color: var(--rh-muted);
  line-height: 1.65;
  margin: 0 0 14px;
}

.rh-faq-quicklinks {
  padding: 28px 0;
  background: var(--rh-white);
  border-bottom: 1px solid var(--rh-gray-200);
}

.rh-faq-quicklinks__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.rh-faq-quicklink {
  display: block;
  min-height: 120px;
  padding: 20px;
  background: var(--rh-gray-50);
  border: 1px solid var(--rh-gray-200);
  border-radius: var(--rh-radius-lg);
  text-decoration: none;
  color: var(--rh-navy);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.rh-faq-quicklink:hover,
.rh-faq-quicklink:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(212, 175, 55, 0.75);
  box-shadow: var(--rh-shadow-soft);
}

.rh-faq-quicklink span {
  display: block;
  margin-bottom: 8px;
  color: var(--rh-gold-dark);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 800;
}

.rh-faq-quicklink strong {
  display: block;
  line-height: 1.18;
  font-size: 1rem;
}

.rh-faq-section {
  padding: clamp(52px, 7vw, 86px) 0;
}

.rh-faq-section:nth-of-type(even) {
  background: var(--rh-gray-50);
}

.rh-faq-section__head {
  max-width: 780px;
  margin: 0 auto 32px;
  text-align: center;
}

.rh-faq-section__head h2 {
  margin: 0 0 12px;
  color: var(--rh-navy);
  font-family: var(--rh-font-heading, Georgia, serif);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  letter-spacing: -0.035em;
}

.rh-faq-section__head p:not(.rh-eyebrow) {
  margin: 0;
  color: var(--rh-muted);
  line-height: 1.7;
}

.rh-faq-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rh-faq-card {
  background: var(--rh-white);
  border: 1px solid var(--rh-gray-200);
  border-radius: var(--rh-radius-lg);
  box-shadow: 0 10px 26px rgba(18, 57, 97, 0.06);
  padding: clamp(22px, 3vw, 28px);
}

.rh-faq-card h3 {
  margin: 0 0 12px;
  color: var(--rh-navy);
  font-size: 1.06rem;
  line-height: 1.25;
}

.rh-faq-card p {
  margin: 0;
  color: var(--rh-muted);
  line-height: 1.68;
}

.rh-faq-guides {
  padding: clamp(52px, 7vw, 86px) 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  border-top: 1px solid var(--rh-gray-200);
}

.rh-faq-final-cta {
  margin-top: 0;
}

.rh-faq-page a:focus-visible,
.rh-faq-card:focus-within {
  outline: 3px solid rgba(212, 175, 55, .5);
  outline-offset: 3px;
}

@media (max-width: 980px) {
  .rh-faq-hero__grid {
    grid-template-columns: 1fr;
  }
  .rh-faq-quicklinks__grid,
  .rh-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rh-faq-hero {
    padding: 46px 0 56px;
  }
  .rh-faq-quicklinks__grid,
  .rh-faq-grid {
    grid-template-columns: 1fr;
  }
  .rh-faq-quicklink {
    min-height: auto;
  }
  .rh-faq-section,
  .rh-faq-guides {
    padding: 44px 0;
  }
  .rh-faq-section__head {
    text-align: left;
  }
}


/* =========================================================
   Pass 23: Mobile UX Polish + Responsive QA
   Focus: mobile readability, tap targets, enrollment flow,
   cards, menus, and content-heavy authority/FAQ pages.
   ========================================================= */

@media (max-width: 782px) {
  html,
  body {
    overflow-x: hidden;
  }

  .rh-container {
    width: min(100% - 28px, var(--rh-container));
  }

  .rh-topbar__inner {
    min-height: auto;
    padding: 8px 0;
    align-items: flex-start;
    gap: 8px;
  }

  .rh-topbar__left {
    font-size: 12px;
    line-height: 1.35;
  }

  .rh-topbar__right {
    gap: 10px;
    font-size: 12px;
  }

  .rh-header__inner {
    min-height: 74px;
    gap: 14px;
  }

  .rh-brand {
    min-width: 0;
    max-width: calc(100% - 96px);
  }

  .rh-brand img,
  .rh-brand .custom-logo {
    max-width: 218px;
    max-height: 64px;
    width: auto;
    height: auto;
  }

  .rh-brand__name {
    font-size: 24px;
  }

  .rh-brand__tagline {
    font-size: 9px;
    letter-spacing: .22em;
  }

  .rh-menu-toggle {
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 12px;
    white-space: nowrap;
  }

  .rh-nav {
    top: 74px;
    max-height: calc(100vh - 74px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .admin-bar .rh-nav {
    max-height: calc(100vh - 120px);
  }

  .rh-nav a,
  .rh-nav .sub-menu a {
    min-height: 44px;
    align-items: center;
  }

  .rh-submenu-toggle {
    width: 44px;
    height: 44px;
  }

  .rh-hero__inner,
  .rh-authority-hero__grid,
  .rh-faq-hero__grid,
  .rh-course-hero__grid {
    grid-template-columns: 1fr !important;
    gap: 26px;
  }

  .rh-hero__inner {
    min-height: auto;
    padding: 40px 0 42px;
  }

  .rh-hero h1,
  .rh-course-hero h1,
  .rh-faq-hero__content h1,
  .rh-authority-hero h1,
  .rh-page-header h1 {
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.04em;
  }

  .rh-section h2,
  .rh-authority-section-head h2,
  .rh-faq-section__head h2,
  .rh-related-courses__header h2,
  .rh-course-block h2,
  .rh-course-dates__header h2 {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.08 !important;
  }

  .rh-hero__lead,
  .rh-course-hero__summary,
  .rh-course-hero__summary p,
  .rh-faq-hero__lead,
  .rh-authority-hero__lead {
    font-size: 16px !important;
    line-height: 1.65;
  }

  .rh-hero__copy,
  .rh-section__head p,
  .rh-authority-section-head p,
  .rh-related-courses__header p,
  .rh-faq-section__head p:not(.rh-eyebrow) {
    font-size: 15px;
    line-height: 1.65;
  }

  .rh-hero__visual {
    min-height: 230px;
    border-radius: 24px;
  }

  .rh-hero__badge {
    right: 14px !important;
    top: 14px !important;
    padding: 12px 14px;
    border-radius: 14px;
  }

  .rh-hero__badge strong {
    font-size: 21px;
  }

  .rh-hero__badge span {
    font-size: 11px;
  }

  .rh-actions,
  .rh-course-final-cta .rh-actions,
  .rh-faq-final-cta .rh-actions,
  .rh-authority-cta__inner .rh-actions {
    width: 100%;
    gap: 12px;
  }

  .rh-actions .rh-btn,
  .rh-btn,
  .button,
  button,
  input[type="submit"],
  .single_add_to_cart_button {
    min-height: 48px;
  }

  .rh-actions .rh-btn,
  .rh-course-final-cta .rh-btn,
  .rh-faq-final-cta .rh-btn,
  .rh-authority-cta__inner .rh-btn {
    width: 100%;
  }

  .rh-section,
  .rh-authority-page .rh-section,
  .rh-guides-hub .rh-section,
  .rh-faq-section,
  .rh-faq-guides {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .rh-section__head,
  .rh-course-dates__header,
  .rh-related-courses__header {
    display: block;
    text-align: left;
    margin-bottom: 20px;
  }

  .rh-section__head .rh-link,
  .rh-course-dates__header .rh-link,
  .rh-related-courses__header .rh-link {
    display: inline-flex;
    margin-top: 14px;
  }

  .rh-card-grid,
  .rh-course-grid,
  .rh-featured-layout,
  .rh-course-main__grid,
  .rh-course-feature-grid,
  .rh-course-faq-grid,
  .rh-course-dates__grid,
  .rh-related-courses__grid,
  .rh-related-guides__grid,
  .rh-guides-featured-grid,
  .rh-authority-course-grid,
  .rh-authority-proof-grid,
  .rh-authority-link-grid,
  .rh-authority-card-grid--three,
  .rh-sales-broker-guide .rh-authority-comparison-grid,
  .rh-sales-broker-guide .rh-authority-course-grid--four,
  .rh-faq-quicklinks__grid,
  .rh-faq-grid,
  .rh-testimonials-page-featured-grid,
  .rh-testimonials-page-grid,
  .products,
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .rh-quick-card,
  .rh-course-block,
  .rh-course-sidebar-card,
  .rh-course-purchase-card__body,
  .rh-related-course-card__body,
  .rh-faq-card,
  .rh-faq-hero__card,
  .rh-related-guide-card,
  .rh-authority-course-card,
  .rh-authority-comparison-card,
  .rh-guide-card,
  .rh-testimonial-card {
    padding: 22px !important;
    border-radius: 16px;
  }

  .rh-quick-card {
    grid-template-columns: 48px 1fr;
    gap: 14px;
    min-height: auto;
  }

  .rh-icon {
    width: 48px;
    height: 48px;
  }

  .rh-course-hero {
    padding: 34px 0 36px;
  }

  .rh-course-hero__content {
    min-width: 0;
  }

  .rh-course-hero__badges,
  .rh-course-card__badges,
  .rh-related-course-card__meta {
    gap: 8px;
  }

  .rh-course-hero__badges span,
  .rh-related-course-card__meta span,
  .rh-course-card__badge {
    white-space: normal;
    line-height: 1.25;
  }

  .rh-course-purchase-card {
    order: -1;
  }

  .rh-course-purchase-card__body {
    position: relative;
  }

  .rh-course-price {
    font-size: 26px;
  }

  .rh-course-add-to-cart form.cart,
  .single-product form.cart,
  .woocommerce div.product form.cart {
    display: grid !important;
    gap: 12px !important;
  }

  .single-product form.cart .quantity,
  .single-product form.cart .variations,
  .single-product form.cart select,
  .single-product form.cart .button,
  .woocommerce div.product form.cart .button {
    width: 100% !important;
    max-width: none !important;
  }

  .single-product form.cart .quantity input.qty {
    width: 100% !important;
    min-height: 48px;
  }

  .rh-course-quick-details div,
  .rh-course-detail-list div {
    grid-template-columns: 1fr !important;
    gap: 4px;
  }

  .rh-course-date-card {
    padding: 16px;
  }

  .rh-course-feature-card {
    align-items: flex-start;
    gap: 12px;
  }

  .rh-related-course-card__image {
    height: 170px;
  }

  .rh-related-course-card h3,
  .rh-course-card h3,
  .rh-guide-card h3 {
    font-size: 22px !important;
    line-height: 1.1;
  }

  .rh-authority-roadmap {
    gap: 16px;
  }

  .rh-authority-roadmap .rh-authority-step-card {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 22px !important;
  }

  .rh-authority-roadmap .rh-authority-step-card__number {
    width: 54px;
    height: 54px;
    font-size: 16px;
  }

  .rh-authority-roadmap::before {
    display: none;
  }

  .rh-authority-comparison-card ul,
  .rh-course-check-list,
  .rh-footer ul {
    padding-left: 0;
  }

  .rh-faq-hero {
    padding: 42px 0 !important;
  }

  .rh-faq-quicklink {
    min-height: auto;
    padding: 18px;
  }

  .rh-faq-section__head,
  .rh-authority-section-head {
    text-align: left !important;
    margin-left: 0;
    margin-right: 0;
  }

  .rh-footer {
    padding: 36px 0 20px;
  }

  .rh-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .rh-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

@media (max-width: 480px) {
  .rh-container {
    width: min(100% - 22px, var(--rh-container));
  }

  .rh-topbar__inner {
    display: grid;
    grid-template-columns: 1fr;
  }

  .rh-topbar__right {
    flex-wrap: wrap;
  }

  .rh-brand img,
  .rh-brand .custom-logo {
    max-width: 188px;
    max-height: 58px;
  }

  .rh-menu-toggle {
    padding: 9px 12px;
    font-size: 14px;
  }

  .rh-nav {
    padding-left: 14px;
    padding-right: 14px;
  }

  .rh-hero h1,
  .rh-course-hero h1,
  .rh-faq-hero__content h1,
  .rh-authority-hero h1,
  .rh-page-header h1 {
    font-size: clamp(31px, 11vw, 40px) !important;
  }

  .rh-section h2,
  .rh-authority-section-head h2,
  .rh-faq-section__head h2,
  .rh-related-courses__header h2,
  .rh-course-block h2,
  .rh-course-dates__header h2 {
    font-size: clamp(26px, 9vw, 34px) !important;
  }

  .rh-hero__visual {
    min-height: 200px;
  }

  .rh-course-purchase-card__body,
  .rh-course-block,
  .rh-faq-card,
  .rh-related-course-card__body,
  .rh-authority-course-card,
  .rh-authority-comparison-card,
  .rh-guide-card,
  .rh-testimonial-card {
    padding: 18px !important;
  }

  .rh-related-course-card__image,
  .rh-course-card__image {
    height: 150px;
  }

  .rh-btn,
  .button,
  button,
  input[type="submit"] {
    padding-left: 18px;
    padding-right: 18px;
  }
}


/* =========================================================
   Pass 24: Mobile Header + Menu Overhaul
   Full-width mobile drawer, readable logo, compact topbar,
   clean submenu accordions, and high-value mobile CTAs.
   ========================================================= */

.rh-mobile-drawer-head,
.rh-mobile-menu-ctas {
  display: none;
}

@media (max-width: 1040px) {
  .rh-site-header {
    position: relative;
    z-index: 10000;
    background: #fff;
  }

  .rh-header {
    position: relative;
    background: #fff;
  }

  .rh-header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 78px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .rh-brand {
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 112px);
  }

  .rh-brand img,
  .rh-brand .custom-logo {
    display: block;
    width: auto !important;
    max-width: min(230px, 58vw) !important;
    max-height: 70px !important;
    height: auto !important;
  }

  .rh-menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    min-width: 86px;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 15px;
    background: var(--rh-navy);
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 12px 24px rgba(18,57,97,.16);
  }

  .rh-menu-toggle[aria-expanded="true"] {
    background: var(--rh-navy-dark);
  }

  .rh-nav {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 0 !important;
    background: #fff !important;
    border-top: 1px solid rgba(18,57,97,.10) !important;
    border-bottom: 1px solid rgba(18,57,97,.14) !important;
    box-shadow: 0 24px 48px rgba(18,57,97,.18) !important;
    z-index: 10001 !important;
  }

  .rh-nav.is-open {
    display: block !important;
  }

  body.rh-mobile-nav-open {
    overflow: hidden;
  }

  .rh-mobile-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100% - 32px, 760px);
    margin: 0 auto;
    padding: 16px 0 12px;
    border-bottom: 1px solid rgba(18,57,97,.10);
    color: var(--rh-navy);
    font-size: 18px;
    font-weight: 900;
  }

  .rh-mobile-menu-close {
    width: auto !important;
    min-height: 40px !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(18,57,97,.16) !important;
    border-radius: 12px !important;
    background: var(--rh-gray-50) !important;
    color: var(--rh-navy) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .rh-nav > ul,
  .rh-nav .rh-primary-menu,
  .rh-nav > .menu {
    display: grid !important;
    width: min(100% - 32px, 760px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 10px 0 16px !important;
    gap: 0 !important;
    list-style: none !important;
  }

  .rh-nav li {
    width: 100%;
  }

  .rh-nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
    width: 100% !important;
    padding: 13px 0 !important;
    color: var(--rh-navy-ink) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    border-bottom: 1px solid rgba(18,57,97,.08);
  }

  .rh-nav .menu-item-has-children {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
  }

  .rh-nav .menu-item-has-children > a::after {
    display: none !important;
    content: none !important;
  }

  .rh-submenu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    border: 1px solid rgba(18,57,97,.16) !important;
    border-radius: 14px !important;
    background: var(--rh-gray-50) !important;
    color: var(--rh-navy) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
  }

  .rh-submenu-toggle[aria-expanded="true"] {
    background: var(--rh-navy) !important;
    border-color: var(--rh-navy) !important;
    color: #fff !important;
  }

  .rh-nav .sub-menu,
  .rh-nav .children,
  .rh-nav .sub-menu .sub-menu,
  .rh-nav .children .children {
    grid-column: 1 / -1 !important;
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 2px 0 12px 0 !important;
    padding: 8px 0 8px 16px !important;
    border: 0 !important;
    border-left: 4px solid var(--rh-gold) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .rh-nav li.is-submenu-open > .sub-menu,
  .rh-nav li.is-submenu-open > .children {
    display: block !important;
  }

  .rh-nav .sub-menu::before,
  .rh-nav .children::before {
    display: none !important;
    content: none !important;
  }

  .rh-nav .sub-menu a,
  .rh-nav .children a,
  .rh-nav .sub-menu .sub-menu a,
  .rh-nav .children .children a {
    min-height: 44px !important;
    padding: 9px 10px !important;
    border-bottom: 0 !important;
    color: var(--rh-navy-ink) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  .rh-mobile-menu-ctas {
    display: grid;
    width: min(100% - 32px, 760px);
    margin: 0 auto;
    padding: 2px 0 18px;
    gap: 10px;
  }

  .rh-mobile-menu-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid rgba(18,57,97,.16);
    border-radius: 14px;
    background: #fff;
    color: var(--rh-navy) !important;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
  }

  .rh-mobile-menu-cta--primary {
    background: var(--rh-navy);
    color: #fff !important;
    border-color: var(--rh-navy);
  }
}

@media (max-width: 782px) {
  .rh-topbar__inner {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 4px !important;
    min-height: 0 !important;
    padding: 7px 0 !important;
  }

  .rh-topbar__left {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .rh-topbar__right {
    gap: 8px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .rh-header__inner {
    min-height: 72px !important;
  }

  .rh-nav {
    max-height: calc(100vh - 118px) !important;
  }
}

@media (max-width: 480px) {
  .rh-topbar__left {
    font-size: 12px !important;
  }

  .rh-topbar-login,
  .rh-topbar-separator {
    display: none !important;
  }

  .rh-topbar__right {
    font-size: 12px !important;
  }

  .rh-topbar-phone::before {
    content: "Call ";
    font-weight: 800;
  }

  .rh-header__inner {
    min-height: 68px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .rh-brand {
    max-width: calc(100% - 96px) !important;
  }

  .rh-brand img,
  .rh-brand .custom-logo {
    max-width: min(190px, 54vw) !important;
    max-height: 58px !important;
  }

  .rh-menu-toggle {
    min-width: 82px !important;
    min-height: 46px !important;
    padding: 11px 15px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
  }

  .rh-nav {
    max-height: calc(100vh - 108px) !important;
  }

  .rh-mobile-drawer-head,
  .rh-nav > ul,
  .rh-nav .rh-primary-menu,
  .rh-nav > .menu,
  .rh-mobile-menu-ctas {
    width: min(100% - 24px, 760px) !important;
  }

  .rh-nav a {
    min-height: 50px !important;
    font-size: 17px !important;
  }

  .rh-submenu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .rh-nav .sub-menu a,
  .rh-nav .children a {
    font-size: 14px !important;
  }
}

/* =========================================================
   Pass 25: Mobile Product Order + Menu Accordion Fix
   Scope: mobile-only navigation accordion stability and
   product page buying sequence. Desktop layouts unchanged.
   ========================================================= */

@media (max-width: 1040px) {
  /* Keep the body from sliding sideways when the drawer is open. */
  html,
  body {
    overflow-x: hidden;
  }

  /* The mobile drawer should behave like a normal document flow list.
     This prevents submenu panels from overlaying following top-level rows. */
  .rh-site-header .rh-nav.is-open {
    display: block !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .rh-site-header .rh-nav.is-open > ul,
  .rh-site-header .rh-nav.is-open > .menu,
  .rh-site-header .rh-nav.is-open .rh-primary-menu {
    display: block !important;
    width: min(100% - 32px, 760px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .rh-site-header .rh-nav.is-open li,
  .rh-site-header .rh-nav.is-open .menu-item,
  .rh-site-header .rh-nav.is-open .page_item,
  .rh-site-header .rh-nav.is-open .menu-item-has-children {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    column-gap: 12px !important;
    float: none !important;
    clear: both !important;
  }

  .rh-site-header .rh-nav.is-open li:not(.menu-item-has-children) {
    display: block !important;
  }

  .rh-site-header .rh-nav.is-open li > a {
    position: relative !important;
    grid-column: 1 / 2 !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 13px 0 !important;
    border-bottom: 1px solid rgba(18,57,97,.08) !important;
    color: var(--rh-navy-ink) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-decoration: none !important;
    transform: none !important;
  }

  .rh-site-header .rh-nav.is-open .rh-submenu-toggle {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    flex: 0 0 auto !important;
    align-self: center !important;
  }

  /* Submenus must be static accordion panels, not dropdown/flyout panels. */
  .rh-site-header .rh-nav.is-open .sub-menu,
  .rh-site-header .rh-nav.is-open .children,
  .rh-site-header .rh-nav.is-open .sub-menu .sub-menu,
  .rh-site-header .rh-nav.is-open .children .children {
    grid-column: 1 / -1 !important;
    position: static !important;
    inset: auto !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 14px 0 !important;
    padding: 8px 0 8px 16px !important;
    list-style: none !important;
    border: 0 !important;
    border-left: 3px solid var(--rh-gold) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
    float: none !important;
    clear: both !important;
    overflow: visible !important;
  }

  .rh-site-header .rh-nav.is-open li.is-submenu-open > .sub-menu,
  .rh-site-header .rh-nav.is-open li.is-submenu-open > .children {
    display: block !important;
  }

  .rh-site-header .rh-nav.is-open .sub-menu li,
  .rh-site-header .rh-nav.is-open .children li,
  .rh-site-header .rh-nav.is-open .sub-menu .menu-item,
  .rh-site-header .rh-nav.is-open .children .menu-item {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .rh-site-header .rh-nav.is-open .sub-menu li > a,
  .rh-site-header .rh-nav.is-open .children li > a,
  .rh-site-header .rh-nav.is-open .sub-menu .sub-menu li > a,
  .rh-site-header .rh-nav.is-open .children .children li > a {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 9px 10px !important;
    border: 0 !important;
    color: var(--rh-navy-ink) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .rh-site-header .rh-nav.is-open .sub-menu::before,
  .rh-site-header .rh-nav.is-open .children::before,
  .rh-site-header .rh-nav.is-open .sub-menu::after,
  .rh-site-header .rh-nav.is-open .children::after {
    display: none !important;
    content: none !important;
  }

  /* The desktop hover/click portal should never appear over the mobile drawer. */
  .rh-menu-portal,
  .rh-menu-portal.is-open {
    display: none !important;
  }
}

@media (max-width: 720px) {
  /* Keep product pages educational first: title and short description, then purchase card. */
  .single-product .rh-course-hero__grid,
  .rh-course-page .rh-course-hero__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .single-product .rh-course-hero__content,
  .rh-course-page .rh-course-hero__content {
    order: 1 !important;
  }

  .single-product .rh-course-purchase-card,
  .rh-course-page .rh-course-purchase-card {
    order: 2 !important;
    position: static !important;
    width: 100% !important;
    margin-top: 6px !important;
  }

  .single-product .rh-course-hero__summary,
  .single-product .rh-course-hero__summary p,
  .rh-course-page .rh-course-hero__summary,
  .rh-course-page .rh-course-hero__summary p,
  .rh-course-page .rh-course-hero__summary-text {
    margin-bottom: 16px !important;
  }

  .single-product .rh-course-add-to-cart .quantity input.qty,
  .rh-course-page .rh-course-add-to-cart .quantity input.qty {
    width: 100% !important;
    min-height: 52px !important;
    text-align: center !important;
  }

  .single-product .rh-course-add-to-cart button.single_add_to_cart_button,
  .single-product .rh-course-add-to-cart .single_add_to_cart_button,
  .rh-course-page .rh-course-add-to-cart button.single_add_to_cart_button,
  .rh-course-page .rh-course-add-to-cart .single_add_to_cart_button {
    min-height: 54px !important;
  }
}

@media (max-width: 480px) {
  .rh-site-header .rh-nav.is-open > ul,
  .rh-site-header .rh-nav.is-open > .menu,
  .rh-site-header .rh-nav.is-open .rh-primary-menu,
  .rh-mobile-drawer-head,
  .rh-mobile-menu-ctas {
    width: min(100% - 24px, 760px) !important;
  }

  .rh-site-header .rh-nav.is-open li > a {
    font-size: 17px !important;
    min-height: 50px !important;
  }

  .rh-site-header .rh-nav.is-open .sub-menu li > a,
  .rh-site-header .rh-nav.is-open .children li > a {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
}



/* =========================================================
   Pass 26: Mobile Product + Archive Polish
   Standardize mobile breadcrumbs, remove product hero wash,
   and make course archive/category pages easier to scan on phones.
   ========================================================= */

/* Product pages should stay clean/white. Gold remains an accent, not a background wash. */
.single-product .rh-course-hero,
.rh-course-page .rh-course-hero {
  background: #fff !important;
}

/* Keep product-page breadcrumbs from overpowering the product title. */
.single-product .rh-course-hero .rh-breadcrumbs,
.rh-course-page .rh-course-hero .rh-breadcrumbs {
  margin-bottom: 18px !important;
}

.single-product .rh-course-hero .rh-breadcrumbs ol,
.rh-course-page .rh-course-hero .rh-breadcrumbs ol {
  align-items: center;
}

.single-product .rh-course-hero .rh-breadcrumbs a,
.single-product .rh-course-hero .rh-breadcrumbs span,
.rh-course-page .rh-course-hero .rh-breadcrumbs a,
.rh-course-page .rh-course-hero .rh-breadcrumbs span {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* Course archives/categories: course selection should be easy on mobile. */
@media (max-width: 720px) {
  .single-product .rh-course-hero,
  .rh-course-page .rh-course-hero {
    background: #fff !important;
    padding-top: 24px !important;
    padding-bottom: 30px !important;
  }

  .single-product .rh-course-hero .rh-breadcrumbs,
  .rh-course-page .rh-course-hero .rh-breadcrumbs {
    padding: 0 !important;
    margin: 0 0 16px !important;
  }

  .single-product .rh-course-hero .rh-breadcrumbs ol,
  .rh-course-page .rh-course-hero .rh-breadcrumbs ol {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product .rh-course-hero .rh-breadcrumbs li,
  .rh-course-page .rh-course-hero .rh-breadcrumbs li {
    display: inline-flex !important;
    align-items: center !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-product .rh-course-hero .rh-breadcrumbs a,
  .single-product .rh-course-hero .rh-breadcrumbs span,
  .rh-course-page .rh-course-hero .rh-breadcrumbs a,
  .rh-course-page .rh-course-hero .rh-breadcrumbs span {
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  /* Hide the final long product title in mobile breadcrumbs; the H1 immediately follows. */
  .single-product .rh-course-hero .rh-breadcrumbs li:last-child,
  .rh-course-page .rh-course-hero .rh-breadcrumbs li:last-child {
    display: none !important;
  }

  .single-product .rh-course-hero .rh-breadcrumbs li:nth-last-child(2)::after,
  .rh-course-page .rh-course-hero .rh-breadcrumbs li:nth-last-child(2)::after {
    display: none !important;
    content: none !important;
  }

  .single-product .rh-course-hero h1,
  .rh-course-page .rh-course-hero h1 {
    margin-top: 8px !important;
  }

  /* Category/archive hero and breadcrumb spacing. */
  .rh-catalog-hero {
    padding: 38px 0 34px !important;
  }

  .rh-catalog-hero h1 {
    font-size: clamp(34px, 12vw, 48px) !important;
    line-height: 1.02 !important;
  }

  .rh-catalog-hero .rh-breadcrumbs ol {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 8px !important;
  }

  .rh-catalog-hero .rh-breadcrumbs a,
  .rh-catalog-hero .rh-breadcrumbs span {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  /* Product/category archive grids should not squeeze course cards into two columns on phones. */
  .rh-catalog-products ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .rh-catalog-products ul.products li.product,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .products li.product {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }

  .rh-catalog-card__image,
  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img {
    max-height: 220px !important;
    object-fit: cover !important;
  }

  .rh-catalog-card__image {
    height: 210px !important;
  }

  .rh-catalog-card__body {
    padding: 20px !important;
  }

  .rh-catalog-card__title {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  .rh-catalog-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .rh-catalog-toolbar .woocommerce-result-count {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .rh-catalog-toolbar .woocommerce-ordering,
  .rh-catalog-toolbar .woocommerce-ordering select {
    width: 100% !important;
  }

  .rh-catalog-toolbar select {
    min-height: 52px !important;
    font-size: 16px !important;
    padding: 10px 14px !important;
  }
}

@media (max-width: 480px) {
  .single-product .rh-course-hero,
  .rh-course-page .rh-course-hero {
    padding-top: 20px !important;
  }

  .single-product .rh-course-hero .rh-breadcrumbs a,
  .single-product .rh-course-hero .rh-breadcrumbs span,
  .rh-course-page .rh-course-hero .rh-breadcrumbs a,
  .rh-course-page .rh-course-hero .rh-breadcrumbs span,
  .rh-catalog-hero .rh-breadcrumbs a,
  .rh-catalog-hero .rh-breadcrumbs span {
    font-size: 12px !important;
  }

  .rh-catalog-card__image {
    height: 185px !important;
  }
}

/* =========================================================
   Pass 27: Sticky Mobile Header Polish
   Mobile only: the blue topbar scrolls away while the logo/menu
   row stays available. Desktop layout unchanged.
   ========================================================= */

@media (max-width: 1040px) {
  /* Keep header layers above page content and allow the drawer to open cleanly. */
  .rh-site-header {
    position: relative !important;
    z-index: 10000 !important;
    overflow: visible !important;
  }

  /* Only the logo/menu row is sticky. The topbar remains normal document flow. */
  .rh-site-header .rh-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10002 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(18,57,97,.10) !important;
    box-shadow: 0 8px 22px rgba(18,57,97,.08) !important;
  }

  /* Keep anchor jumps from hiding content under the sticky mobile header. */
  html {
    scroll-padding-top: 92px;
  }

  .rh-course-purchase-card,
  .rh-course-dates,
  .rh-section,
  .rh-authority-section,
  .rh-faq-page-section,
  .rh-testimonials-page-section {
    scroll-margin-top: 92px;
  }

  /* Menu drawer opens from the sticky header row, not from the topbar. */
  .rh-site-header .rh-nav {
    top: 100% !important;
    max-height: calc(100vh - 82px) !important;
  }
}

@media (max-width: 782px) {
  /* WordPress admin bar is fixed on mobile; avoid hiding the sticky header under it. */
  body.admin-bar .rh-site-header .rh-header {
    top: 46px !important;
  }

  body.admin-bar .rh-site-header .rh-nav {
    max-height: calc(100vh - 128px) !important;
  }

  body.admin-bar html,
  body.admin-bar {
    scroll-padding-top: 138px;
  }
}

@media (max-width: 480px) {
  html {
    scroll-padding-top: 86px;
  }

  .rh-course-purchase-card,
  .rh-course-dates,
  .rh-section,
  .rh-authority-section,
  .rh-faq-page-section,
  .rh-testimonials-page-section {
    scroll-margin-top: 86px;
  }

  .rh-site-header .rh-nav {
    max-height: calc(100vh - 76px) !important;
  }

  body.admin-bar .rh-site-header .rh-nav {
    max-height: calc(100vh - 122px) !important;
  }
}


/* =========================================================
   Pass 28: Corrected Sticky Mobile Header
   The mobile logo/menu row becomes fixed only after the blue
   topbar scrolls away. This avoids the sticky-within-parent
   limitation that prevented Pass 27 from staying visible.
   ========================================================= */

@media (max-width: 1040px) {
  .rh-site-header {
    position: relative !important;
    z-index: 10000 !important;
    overflow: visible !important;
  }

  /* Default mobile state: row sits normally under the topbar. */
  .rh-site-header .rh-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 10002 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(18,57,97,.10) !important;
    box-shadow: 0 6px 18px rgba(18,57,97,.06) !important;
  }

  /* Fixed state: JS adds this after the topbar has scrolled away. */
  body.rh-mobile-header-fixed .rh-site-header {
    padding-bottom: var(--rh-mobile-sticky-header-height, 84px) !important;
  }

  body.rh-mobile-header-fixed .rh-site-header .rh-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 10050 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 10px 26px rgba(18,57,97,.14) !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  body.admin-bar.rh-mobile-header-fixed .rh-site-header .rh-header {
    top: 46px !important;
  }

  /* The drawer remains attached to the fixed logo/menu row. */
  body.rh-mobile-header-fixed .rh-site-header .rh-nav {
    top: 100% !important;
    max-height: calc(100vh - var(--rh-mobile-sticky-header-height, 84px)) !important;
  }

  body.admin-bar.rh-mobile-header-fixed .rh-site-header .rh-nav {
    max-height: calc(100vh - var(--rh-mobile-sticky-header-height, 84px) - 46px) !important;
  }

  html {
    scroll-padding-top: calc(var(--rh-mobile-sticky-header-height, 84px) + 14px) !important;
  }

  .rh-course-purchase-card,
  .rh-course-dates,
  .rh-section,
  .rh-authority-section,
  .rh-faq-page-section,
  .rh-testimonials-page-section,
  [id] {
    scroll-margin-top: calc(var(--rh-mobile-sticky-header-height, 84px) + 14px) !important;
  }
}


/* =========================================================
   Pass 29: Cart + Checkout Mobile Conversion Polish
   Focus: WooCommerce cart, checkout, notices, coupon fields,
   payment section, order review, and thank-you page.
   ========================================================= */

/* General WooCommerce system messages */
.woocommerce-notices-wrapper,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  font-family: inherit;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border: 1px solid rgba(18,57,97,.14) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(18,57,97,.08) !important;
  color: var(--rh-text) !important;
  padding: 18px 22px 18px 56px !important;
  margin: 0 0 24px !important;
  line-height: 1.55 !important;
}

.woocommerce-message { border-left: 5px solid var(--rh-gold) !important; }
.woocommerce-info { border-left: 5px solid var(--rh-navy) !important; }
.woocommerce-error { border-left: 5px solid #b42318 !important; }

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  top: 18px !important;
  left: 22px !important;
  color: var(--rh-gold) !important;
}

.woocommerce-error li { margin-bottom: 6px; }

/* Cart + checkout page containers */
.woocommerce-cart .rh-page-content,
.woocommerce-checkout .rh-page-content,
.woocommerce-order-received .rh-page-content {
  background: linear-gradient(180deg, #fff 0%, var(--rh-gray-50) 100%);
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-order-received .woocommerce {
  max-width: 1180px;
  margin: 0 auto;
}

.woocommerce-cart .rh-page-header h1,
.woocommerce-checkout .rh-page-header h1,
.woocommerce-order-received .rh-page-header h1 {
  max-width: 900px;
}

/* Tables and card-like WooCommerce panels */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-order-received table.shop_table,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-order-received .woocommerce-order,
.woocommerce-order-received .woocommerce-thankyou-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order-details {
  border: 1px solid rgba(18,57,97,.12) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(18,57,97,.08) !important;
  overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: rgba(18,57,97,.10) !important;
  padding: 16px !important;
  vertical-align: middle;
}

.woocommerce table.shop_table th {
  color: var(--rh-navy);
  font-weight: 800;
  letter-spacing: .01em;
  background: rgba(18,57,97,.04);
}

.woocommerce table.shop_table .product-name a {
  color: var(--rh-navy);
  font-weight: 800;
  text-decoration: none;
}

.woocommerce table.shop_table .product-name a:hover {
  color: var(--rh-gold-dark);
}

.woocommerce .product-remove a.remove {
  color: #b42318 !important;
  background: #fff5f4 !important;
  border: 1px solid rgba(180,35,24,.14);
  border-radius: 999px;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.woocommerce .product-remove a.remove:hover {
  color: #fff !important;
  background: #b42318 !important;
}

/* Form fields */
.woocommerce form .form-row label,
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label {
  color: var(--rh-navy);
  font-weight: 800;
  margin-bottom: 7px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce .select2-container .select2-selection--multiple {
  min-height: 48px;
  border: 1px solid rgba(18,57,97,.18) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--rh-text) !important;
  padding: 12px 14px !important;
  box-shadow: 0 6px 18px rgba(18,57,97,.04);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 24px;
  padding-left: 0;
  color: var(--rh-text);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
  top: 11px;
  right: 10px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .select2-container--focus .select2-selection,
.woocommerce .select2-container--open .select2-selection {
  border-color: var(--rh-gold) !important;
  box-shadow: 0 0 0 4px rgba(212,175,55,.18) !important;
  outline: none !important;
}

/* Cart page */
.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: 28px;
}

.woocommerce-cart .cart-collaterals {
  margin-top: 26px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  padding: 24px;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  color: var(--rh-navy);
  font-size: clamp(1.4rem, 2vw, 2rem);
  margin: 0 0 18px;
}

.woocommerce-cart .coupon {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.woocommerce-cart .coupon input.input-text {
  min-height: 48px;
  min-width: 230px;
  border-radius: 999px !important;
  padding: 12px 18px !important;
}

.woocommerce-cart table.cart td.actions {
  background: rgba(18,57,97,.03);
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding-bottom: 0 !important;
}

/* Checkout layout */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr);
  gap: 28px;
  align-items: start;
}

.woocommerce-checkout #customer_details {
  padding: 26px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
}

.woocommerce-checkout #customer_details .col-2 {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(18,57,97,.10);
}

.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  margin: 0 0 -10px;
  color: var(--rh-navy);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.woocommerce-checkout #order_review {
  grid-column: 2;
  padding: 0;
  overflow: hidden;
  position: sticky;
  top: 24px;
}

.woocommerce-checkout #payment {
  background: #fff !important;
  border-top: 1px solid rgba(18,57,97,.10);
  border-radius: 0 0 22px 22px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 20px !important;
  border-bottom: 1px solid rgba(18,57,97,.10) !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--rh-gray-50) !important;
  color: var(--rh-text) !important;
  border-radius: 14px;
  line-height: 1.55;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--rh-gray-50) !important;
}

.woocommerce-checkout #payment div.form-row {
  padding: 20px !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: .95rem;
  line-height: 1.5;
  color: var(--rh-muted);
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
  border-radius: 999px !important;
  background: var(--rh-gold) !important;
  color: var(--rh-navy-dark) !important;
  font-weight: 900 !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(212,175,55,.28) !important;
  padding: 14px 22px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover {
  background: var(--rh-gold-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(212,175,55,.34) !important;
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  opacity: .55 !important;
  transform: none !important;
}

.woocommerce #place_order {
  width: 100%;
  font-size: 1.05rem !important;
  padding: 16px 22px !important;
}

/* Login / coupon notices on checkout */
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .checkout_coupon {
  border: 1px solid rgba(18,57,97,.12) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(18,57,97,.07);
  padding: 22px !important;
}

.woocommerce-checkout .checkout_coupon .form-row {
  margin-bottom: 0;
}

.woocommerce-checkout .checkout_coupon input.input-text {
  min-height: 48px;
}

/* Order received / thank-you page */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  display: block;
  background: var(--rh-navy);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: 900;
  line-height: 1.25;
  box-shadow: 0 18px 48px rgba(18,57,97,.18);
  margin: 0 0 24px;
}

.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  list-style: none;
  padding: 0 !important;
  margin: 0 0 26px !important;
}

.woocommerce-order-received .woocommerce-order-overview li {
  margin: 0 !important;
  padding: 18px !important;
  border-right: 1px solid rgba(18,57,97,.10);
  color: var(--rh-muted);
}

.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  color: var(--rh-navy);
  font-size: 1.05rem;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
  padding: 24px;
  margin-bottom: 24px;
}

.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2,
.woocommerce-order-received .woocommerce-column__title {
  color: var(--rh-navy);
}

/* WooCommerce blocks compatibility */
.wc-block-cart,
.wc-block-checkout {
  max-width: 1180px;
  margin: 0 auto;
}

.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-cart__submit-container,
.wc-block-checkout__actions_row {
  font-family: inherit;
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  border-radius: 999px !important;
  background: var(--rh-gold) !important;
  color: var(--rh-navy-dark) !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 30px rgba(212,175,55,.24) !important;
}

/* Mobile cart/checkout */
@media (max-width: 782px) {
  .woocommerce-cart .rh-page-header,
  .woocommerce-checkout .rh-page-header,
  .woocommerce-order-received .rh-page-header {
    padding: 34px 0 26px !important;
  }

  .woocommerce-cart .rh-page-header h1,
  .woocommerce-checkout .rh-page-header h1,
  .woocommerce-order-received .rh-page-header h1 {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
    line-height: 1.05 !important;
  }

  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message {
    border-radius: 16px !important;
    padding: 16px 16px 16px 48px !important;
    margin-bottom: 18px !important;
  }

  .woocommerce-error::before,
  .woocommerce-info::before,
  .woocommerce-message::before {
    left: 18px !important;
    top: 16px !important;
  }

  .woocommerce-cart table.shop_table_responsive,
  .woocommerce-cart table.shop_table,
  .woocommerce-checkout table.shop_table,
  .woocommerce-order-received table.shop_table {
    border-radius: 18px !important;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    border-bottom: 1px solid rgba(18,57,97,.10);
  }

  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    display: block;
    text-align: right !important;
    padding: 14px 16px !important;
  }

  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before {
    color: var(--rh-navy);
    font-weight: 900;
  }

  .woocommerce-cart table.cart .product-thumbnail {
    display: none !important;
  }

  .woocommerce-cart table.cart .product-name,
  .woocommerce-cart table.cart .product-price,
  .woocommerce-cart table.cart .product-quantity,
  .woocommerce-cart table.cart .product-subtotal {
    min-height: 52px;
  }

  .woocommerce-cart table.cart td.actions {
    padding: 18px !important;
    text-align: left !important;
  }

  .woocommerce-cart .coupon {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    margin-bottom: 14px;
  }

  .woocommerce-cart .coupon input.input-text,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart table.cart td.actions .button {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    padding: 20px;
    border-radius: 18px !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce #place_order {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 50px;
    white-space: normal !important;
  }

  .woocommerce-checkout form.checkout {
    display: block !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-form-login,
  .woocommerce-checkout .checkout_coupon {
    border-radius: 18px !important;
    padding: 20px !important;
    margin-bottom: 22px !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin: 18px 0 12px !important;
    font-size: 1.55rem !important;
  }

  .woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }

  .woocommerce-checkout #payment ul.payment_methods,
  .woocommerce-checkout #payment div.form-row {
    padding: 18px !important;
  }

  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    float: none !important;
    width: 100% !important;
  }

  .woocommerce form .form-row {
    margin-bottom: 16px !important;
  }

  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .woocommerce .select2-container .select2-selection--single,
  .woocommerce .select2-container .select2-selection--multiple {
    min-height: 52px;
    font-size: 16px !important;
  }

  .woocommerce-checkout .checkout_coupon p,
  .woocommerce-checkout .woocommerce-form-login p {
    line-height: 1.55;
  }

  .woocommerce-order-received .woocommerce-thankyou-order-received {
    border-radius: 20px;
    padding: 22px;
    font-size: 1.35rem;
  }

  .woocommerce-order-received .woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
    overflow: hidden;
  }

  .woocommerce-order-received .woocommerce-order-overview li {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(18,57,97,.10);
    padding: 16px !important;
  }

  .woocommerce-order-received .woocommerce-order-details,
  .woocommerce-order-received .woocommerce-customer-details {
    padding: 20px;
    border-radius: 18px !important;
  }

  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    min-height: 52px;
  }

  .wc-block-components-sidebar,
  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    margin-top: 20px !important;
  }
}

/* =========================================================
   Pass 34: H1 Typography Scale Polish
   Slightly reduces oversized major headings while preserving
   the premium Georgia serif brand style.
   ========================================================= */

/* Homepage hero: strong but less oversized on desktop/laptop. */
.rh-hero h1 {
  font-size: clamp(42px, 5.2vw, 64px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.032em;
}

/* Course/product titles tend to be long, so keep them tighter. */
.rh-course-hero h1 {
  font-size: clamp(38px, 4.4vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em;
}

/* Authority and guide page titles remain prominent but calmer. */
.rh-authority-hero h1 {
  font-size: clamp(40px, 4.8vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em;
}

/* Catalog/archive/page headers. */
.rh-catalog-hero h1,
.rh-page-header h1,
.rh-testimonials-page-header h1,
.rh-faq-hero__content h1 {
  font-size: clamp(38px, 4.6vw, 58px) !important;
  line-height: 1.05 !important;
}

@media (max-width: 1040px) {
  .rh-hero h1 {
    font-size: clamp(40px, 6.2vw, 58px) !important;
  }

  .rh-course-hero h1,
  .rh-authority-hero h1,
  .rh-catalog-hero h1,
  .rh-page-header h1,
  .rh-testimonials-page-header h1,
  .rh-faq-hero__content h1 {
    font-size: clamp(36px, 5.6vw, 52px) !important;
  }
}

@media (max-width: 720px) {
  .rh-hero h1 {
    font-size: clamp(34px, 9vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em;
  }

  .rh-course-hero h1 {
    font-size: clamp(32px, 8.8vw, 40px) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.03em;
  }

  .rh-authority-hero h1,
  .rh-catalog-hero h1,
  .rh-page-header h1,
  .rh-testimonials-page-header h1,
  .rh-faq-hero__content h1 {
    font-size: clamp(32px, 8.5vw, 40px) !important;
    line-height: 1.07 !important;
  }
}

@media (max-width: 480px) {
  .rh-hero h1 {
    font-size: clamp(31px, 9.5vw, 38px) !important;
    line-height: 1.08 !important;
  }

  .rh-course-hero h1 {
    font-size: clamp(30px, 9vw, 36px) !important;
    line-height: 1.08 !important;
  }

  .rh-authority-hero h1,
  .rh-catalog-hero h1,
  .rh-page-header h1,
  .rh-testimonials-page-header h1,
  .rh-faq-hero__content h1 {
    font-size: clamp(30px, 8.8vw, 36px) !important;
    line-height: 1.08 !important;
  }
}



/* =========================================================
   Pass 35: H1 Typography Correction
   The previous pass did not reduce the headings enough on
   real desktop/laptop widths. This pass uses calmer, tighter
   H1 scales across the site while preserving the premium serif.
   ========================================================= */

/* Homepage hero: refined and balanced with the hero image. */
.rh-hero h1 {
  font-size: clamp(36px, 4vw, 54px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.028em !important;
}

/* WooCommerce course/product titles: long titles need more control. */
.rh-course-hero h1,
.single-product .rh-course-hero h1,
.single-product h1.product_title {
  font-size: clamp(34px, 3.7vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.024em !important;
}

/* Authority, guide, FAQ, testimonials, and archive headers. */
.rh-authority-hero h1,
.rh-catalog-hero h1,
.rh-page-header h1,
.rh-testimonials-page-header h1,
.rh-faq-hero__content h1,
.woocommerce-products-header__title.page-title {
  font-size: clamp(34px, 3.8vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.022em !important;
}

/* Keep the supporting text visually connected after reducing H1 scale. */
.rh-hero__lead {
  margin-top: 0 !important;
}

@media (max-width: 1040px) {
  .rh-hero h1 {
    font-size: clamp(34px, 5vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .rh-course-hero h1,
  .single-product .rh-course-hero h1,
  .single-product h1.product_title,
  .rh-authority-hero h1,
  .rh-catalog-hero h1,
  .rh-page-header h1,
  .rh-testimonials-page-header h1,
  .rh-faq-hero__content h1,
  .woocommerce-products-header__title.page-title {
    font-size: clamp(32px, 4.8vw, 44px) !important;
    line-height: 1.09 !important;
  }
}

@media (max-width: 720px) {
  .rh-hero h1 {
    font-size: clamp(30px, 7.6vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.026em !important;
  }

  .rh-course-hero h1,
  .single-product .rh-course-hero h1,
  .single-product h1.product_title {
    font-size: clamp(29px, 7.2vw, 34px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.022em !important;
  }

  .rh-authority-hero h1,
  .rh-catalog-hero h1,
  .rh-page-header h1,
  .rh-testimonials-page-header h1,
  .rh-faq-hero__content h1,
  .woocommerce-products-header__title.page-title {
    font-size: clamp(29px, 7.2vw, 34px) !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 480px) {
  .rh-hero h1 {
    font-size: clamp(29px, 7.2vw, 34px) !important;
    line-height: 1.11 !important;
  }

  .rh-course-hero h1,
  .single-product .rh-course-hero h1,
  .single-product h1.product_title,
  .rh-authority-hero h1,
  .rh-catalog-hero h1,
  .rh-page-header h1,
  .rh-testimonials-page-header h1,
  .rh-faq-hero__content h1,
  .woocommerce-products-header__title.page-title {
    font-size: clamp(28px, 7vw, 32px) !important;
    line-height: 1.12 !important;
  }
}


/* =========================================================
   Pass 36: Global Heading Hierarchy Polish
   Purpose: make page and section titles consistent by context.
   Homepage hero remains the largest; long course/product titles,
   section headings, FAQ, catalog, testimonial, and guide titles
   are intentionally scaled below it.
   ========================================================= */
:root {
  --rh-type-hero-desktop: clamp(44px, 4.25vw, 58px);
  --rh-type-page-desktop: clamp(40px, 3.9vw, 52px);
  --rh-type-course-desktop: clamp(36px, 3.65vw, 48px);
  --rh-type-section-desktop: clamp(32px, 3.15vw, 42px);
  --rh-type-card-desktop: clamp(20px, 2vw, 26px);
}

/* Homepage: only the top hero should use the largest headline scale. */
body.home .rh-hero h1,
.rh-ai-hero .rh-hero h1,
.rh-ai-hero.rh-hero h1 {
  font-size: var(--rh-type-hero-desktop) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.032em !important;
  max-width: 760px !important;
}

/* Product/course pages: long course titles need the most restraint. */
.single-product .rh-course-hero h1,
.rh-course-page .rh-course-hero h1,
.woocommerce div.product .rh-course-hero h1 {
  font-size: var(--rh-type-course-desktop) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.026em !important;
  max-width: 820px !important;
}

/* General page, FAQ, testimonials, catalog, and guide/authority H1s. */
.rh-page-header h1,
.rh-faq-hero__content h1,
.rh-testimonials-page-header h1,
.rh-catalog-hero h1,
.rh-authority-hero h1,
.rh-guides-hub .rh-authority-hero h1 {
  font-size: var(--rh-type-page-desktop) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.028em !important;
}

/* Page-specific page H1 refinements: catalog can stay slightly tighter on dark hero. */
.rh-catalog-hero h1 {
  max-width: 820px !important;
}

.rh-faq-hero__content h1,
.rh-guides-hub .rh-authority-hero h1 {
  max-width: 760px !important;
}

/* Homepage section headings and informational section titles. */
.rh-section h2,
.rh-ai-definition h2,
.rh-ai-centered-head h2,
.rh-ai-instructor h2,
.rh-ai-final-cta h2,
.rh-authority-section-head h2,
.rh-authority-intro h2,
.rh-authority-why h2,
.rh-authority-cta h2,
.rh-testimonials-page-intro h2,
.rh-testimonials-page-section-heading h2,
.rh-testimonials-page-cta h2,
.rh-faq-section__head h2,
.rh-course-block h2,
.rh-course-sidebar-card h2,
.rh-course-dates__header h2,
.rh-related-courses__header h2,
.related.products h2,
.upsells.products h2 {
  font-size: var(--rh-type-section-desktop) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

/* Some supporting bold lead text was competing with headings. */
.rh-authority-hero__lead,
.rh-faq-hero__lead,
.rh-ai-definition__copy p:first-child,
.rh-hero__lead {
  font-size: clamp(18px, 1.55vw, 22px) !important;
  line-height: 1.45 !important;
}

/* Homepage centered section titles should not visually outrank the hero. */
.rh-ai-centered-head h2,
.rh-section__head h2 {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* Card and sub-section title scale. */
.rh-authority-roadmap .rh-authority-step-card h3,
.rh-sales-broker-guide .rh-authority-comparison-card h3,
.rh-authority-step-card h3,
.rh-authority-course-card h3,
.rh-guide-card h3,
.rh-course-card h3,
.rh-catalog-card__title,
.rh-related-course-card h3,
.rh-faq-hero__card h2 {
  font-size: var(--rh-type-card-desktop) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.012em !important;
}

/* FAQ question titles should stay practical and readable, not overly decorative. */
.rh-faq-card h3,
.rh-faq-item h3,
.rh-ai-faq-item h3,
.rh-course-faq-item h3,
.rh-authority-faq-item h3 {
  font-size: clamp(17px, 1.4vw, 19px) !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
}

/* Footer brand/title scale should not feel like a page heading. */
.rh-footer h3 {
  font-size: clamp(24px, 2.2vw, 28px) !important;
  line-height: 1.05 !important;
}

@media (max-width: 900px) {
  body.home .rh-hero h1,
  .rh-ai-hero .rh-hero h1,
  .rh-ai-hero.rh-hero h1 {
    font-size: clamp(38px, 7vw, 48px) !important;
    line-height: 1.04 !important;
  }

  .single-product .rh-course-hero h1,
  .rh-course-page .rh-course-hero h1,
  .woocommerce div.product .rh-course-hero h1 {
    font-size: clamp(32px, 6.4vw, 42px) !important;
    line-height: 1.1 !important;
  }

  .rh-page-header h1,
  .rh-faq-hero__content h1,
  .rh-testimonials-page-header h1,
  .rh-catalog-hero h1,
  .rh-authority-hero h1,
  .rh-guides-hub .rh-authority-hero h1 {
    font-size: clamp(34px, 6.8vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .rh-section h2,
  .rh-ai-definition h2,
  .rh-ai-centered-head h2,
  .rh-ai-instructor h2,
  .rh-ai-final-cta h2,
  .rh-authority-section-head h2,
  .rh-authority-intro h2,
  .rh-authority-why h2,
  .rh-authority-cta h2,
  .rh-testimonials-page-intro h2,
  .rh-testimonials-page-section-heading h2,
  .rh-testimonials-page-cta h2,
  .rh-faq-section__head h2,
  .rh-course-block h2,
  .rh-course-sidebar-card h2,
  .rh-course-dates__header h2,
  .rh-related-courses__header h2,
  .related.products h2,
  .upsells.products h2 {
    font-size: clamp(28px, 5.5vw, 36px) !important;
    line-height: 1.12 !important;
  }
}

@media (max-width: 600px) {
  body.home .rh-hero h1,
  .rh-ai-hero .rh-hero h1,
  .rh-ai-hero.rh-hero h1 {
    font-size: clamp(34px, 9.4vw, 40px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
  }

  .single-product .rh-course-hero h1,
  .rh-course-page .rh-course-hero h1,
  .woocommerce div.product .rh-course-hero h1 {
    font-size: clamp(28px, 8.4vw, 34px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.022em !important;
  }

  .rh-page-header h1,
  .rh-faq-hero__content h1,
  .rh-testimonials-page-header h1,
  .rh-catalog-hero h1,
  .rh-authority-hero h1,
  .rh-guides-hub .rh-authority-hero h1 {
    font-size: clamp(30px, 8.8vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.024em !important;
  }

  .rh-section h2,
  .rh-ai-definition h2,
  .rh-ai-centered-head h2,
  .rh-ai-instructor h2,
  .rh-ai-final-cta h2,
  .rh-authority-section-head h2,
  .rh-authority-intro h2,
  .rh-authority-why h2,
  .rh-authority-cta h2,
  .rh-testimonials-page-intro h2,
  .rh-testimonials-page-section-heading h2,
  .rh-testimonials-page-cta h2,
  .rh-faq-section__head h2,
  .rh-course-block h2,
  .rh-course-sidebar-card h2,
  .rh-course-dates__header h2,
  .rh-related-courses__header h2,
  .related.products h2,
  .upsells.products h2 {
    font-size: clamp(25px, 7.5vw, 31px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.018em !important;
  }

  .rh-authority-roadmap .rh-authority-step-card h3,
  .rh-sales-broker-guide .rh-authority-comparison-card h3,
  .rh-authority-step-card h3,
  .rh-authority-course-card h3,
  .rh-guide-card h3,
  .rh-course-card h3,
  .rh-catalog-card__title,
  .rh-related-course-card h3,
  .rh-faq-hero__card h2 {
    font-size: clamp(20px, 5.5vw, 24px) !important;
  }

  .rh-authority-hero__lead,
  .rh-faq-hero__lead,
  .rh-ai-definition__copy p:first-child,
  .rh-hero__lead {
    font-size: 17px !important;
    line-height: 1.48 !important;
  }
}


/* =========================================================
   Pass 37: Corrected Global Heading Scale
   Purpose: Pass 36 was too conservative and some headings still
   appeared oversized. These final rules intentionally cap title
   sizes by context with high specificity and are placed at the
   very end of the stylesheet so they win the cascade.
   ========================================================= */

/* Homepage hero: still the largest, but no longer oversized. */
html body.home .rh-hero h1,
html body.home main .rh-hero h1,
html body.home .rh-ai-hero h1,
html body.home .rh-ai-hero .rh-hero h1,
html body .rh-ai-hero.rh-hero h1 {
  font-size: clamp(42px, 3.9vw, 50px) !important;
  line-height: 1.07 !important;
  letter-spacing: -0.028em !important;
  max-width: 720px !important;
}

/* Long product/course titles need the strongest restraint. */
html body.single-product .rh-course-hero h1,
html body.single-product main .rh-course-hero h1,
html body.single-product .product_title,
html body.woocommerce div.product .rh-course-hero h1,
html body .rh-course-page .rh-course-hero h1 {
  font-size: clamp(34px, 3.25vw, 42px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
  max-width: 760px !important;
}

/* Standard page/guide/FAQ/testimonials/catalog title scale. */
html body .rh-page-header h1,
html body .rh-faq-hero__content h1,
html body .rh-testimonials-page-header h1,
html body .rh-catalog-hero h1,
html body .rh-authority-hero h1,
html body .rh-guides-hub .rh-authority-hero h1,
html body .rh-authority-page .rh-authority-hero h1 {
  font-size: clamp(38px, 3.55vw, 46px) !important;
  line-height: 1.09 !important;
  letter-spacing: -0.023em !important;
  max-width: 780px !important;
}

/* Homepage and authority section headings: supporting hierarchy. */
html body .rh-section h2,
html body .rh-ai-definition h2,
html body .rh-ai-centered-head h2,
html body .rh-section__head h2,
html body .rh-ai-instructor h2,
html body .rh-ai-final-cta h2,
html body .rh-authority-section-head h2,
html body .rh-authority-intro h2,
html body .rh-authority-why h2,
html body .rh-authority-cta h2,
html body .rh-testimonials-page-intro h2,
html body .rh-testimonials-page-section-heading h2,
html body .rh-testimonials-page-cta h2,
html body .rh-faq-section__head h2,
html body .rh-course-block h2,
html body .rh-course-sidebar-card h2,
html body .rh-course-dates__header h2,
html body .rh-related-courses__header h2,
html body .related.products h2,
html body .upsells.products h2 {
  font-size: clamp(30px, 2.9vw, 38px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.016em !important;
}

/* Side cards and secondary titles should not feel like page headings. */
html body .rh-faq-hero__card h2,
html body .rh-authority-card h2,
html body .rh-course-sidebar-card h2,
html body .rh-guide-card h3,
html body .rh-course-card h3,
html body .rh-authority-course-card h3,
html body .rh-authority-step-card h3,
html body .rh-related-course-card h3,
html body .rh-catalog-card__title {
  font-size: clamp(20px, 1.8vw, 24px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.01em !important;
}

/* Large intro/lead copy should support the title instead of competing with it. */
html body .rh-hero__lead,
html body .rh-authority-hero__lead,
html body .rh-faq-hero__lead,
html body .rh-guides-hub .rh-authority-hero__lead,
html body .rh-ai-definition__copy p:first-child {
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.48 !important;
}

@media (max-width: 1024px) {
  html body.home .rh-hero h1,
  html body.home main .rh-hero h1,
  html body.home .rh-ai-hero h1,
  html body.home .rh-ai-hero .rh-hero h1,
  html body .rh-ai-hero.rh-hero h1 {
    font-size: clamp(38px, 5.6vw, 46px) !important;
    line-height: 1.08 !important;
  }

  html body.single-product .rh-course-hero h1,
  html body.single-product main .rh-course-hero h1,
  html body.single-product .product_title,
  html body.woocommerce div.product .rh-course-hero h1,
  html body .rh-course-page .rh-course-hero h1 {
    font-size: clamp(32px, 5.1vw, 40px) !important;
    line-height: 1.12 !important;
  }

  html body .rh-page-header h1,
  html body .rh-faq-hero__content h1,
  html body .rh-testimonials-page-header h1,
  html body .rh-catalog-hero h1,
  html body .rh-authority-hero h1,
  html body .rh-guides-hub .rh-authority-hero h1,
  html body .rh-authority-page .rh-authority-hero h1 {
    font-size: clamp(34px, 5.3vw, 42px) !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 700px) {
  html body.home .rh-hero h1,
  html body.home main .rh-hero h1,
  html body.home .rh-ai-hero h1,
  html body.home .rh-ai-hero .rh-hero h1,
  html body .rh-ai-hero.rh-hero h1 {
    font-size: clamp(31px, 8.1vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.022em !important;
  }

  html body.single-product .rh-course-hero h1,
  html body.single-product main .rh-course-hero h1,
  html body.single-product .product_title,
  html body.woocommerce div.product .rh-course-hero h1,
  html body .rh-course-page .rh-course-hero h1 {
    font-size: clamp(28px, 7.4vw, 32px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.016em !important;
  }

  html body .rh-page-header h1,
  html body .rh-faq-hero__content h1,
  html body .rh-testimonials-page-header h1,
  html body .rh-catalog-hero h1,
  html body .rh-authority-hero h1,
  html body .rh-guides-hub .rh-authority-hero h1,
  html body .rh-authority-page .rh-authority-hero h1 {
    font-size: clamp(29px, 7.8vw, 34px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em !important;
  }

  html body .rh-section h2,
  html body .rh-ai-definition h2,
  html body .rh-ai-centered-head h2,
  html body .rh-section__head h2,
  html body .rh-ai-instructor h2,
  html body .rh-ai-final-cta h2,
  html body .rh-authority-section-head h2,
  html body .rh-authority-intro h2,
  html body .rh-authority-why h2,
  html body .rh-authority-cta h2,
  html body .rh-testimonials-page-intro h2,
  html body .rh-testimonials-page-section-heading h2,
  html body .rh-testimonials-page-cta h2,
  html body .rh-faq-section__head h2,
  html body .rh-course-block h2,
  html body .rh-course-sidebar-card h2,
  html body .rh-course-dates__header h2,
  html body .rh-related-courses__header h2,
  html body .related.products h2,
  html body .upsells.products h2 {
    font-size: clamp(24px, 6.6vw, 29px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.012em !important;
  }

  html body .rh-faq-hero__card h2,
  html body .rh-authority-card h2,
  html body .rh-course-sidebar-card h2,
  html body .rh-guide-card h3,
  html body .rh-course-card h3,
  html body .rh-authority-course-card h3,
  html body .rh-authority-step-card h3,
  html body .rh-related-course-card h3,
  html body .rh-catalog-card__title {
    font-size: clamp(19px, 5.2vw, 23px) !important;
    line-height: 1.17 !important;
  }

  html body .rh-hero__lead,
  html body .rh-authority-hero__lead,
  html body .rh-faq-hero__lead,
  html body .rh-guides-hub .rh-authority-hero__lead,
  html body .rh-ai-definition__copy p:first-child {
    font-size: 16.5px !important;
    line-height: 1.5 !important;
  }
}

/* =========================================================
   Pass 50: Clean Direct Catalog Archive Grid Authority
   Scope: WooCommerce shop, product category, and product tag archives.

   Pass 50 keeps the Pass 48 direct archive-template architecture, but
   replaces the older stacked Pass 45-48 grid overrides with one final
   selector set that targets the actual direct archive markup:

     .rh-catalog-page ul.rh-course-category-products.products

   Desktop/tablet: 2 columns.
   Mobile: 1 column.
   Product detail pages, homepage, guides, FAQ, cart, and checkout are
   intentionally not targeted by these archive-only selectors.
   ========================================================= */
body.tax-product_cat .rh-catalog-products,
body.tax-product_tag .rh-catalog-products,
body.post-type-archive-product .rh-catalog-products,
body.woocommerce-shop .rh-catalog-products {
  background: #fff !important;
  padding: 42px 0 46px !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products,
body.archive.woocommerce .rh-catalog-page ul.rh-course-category-products.products,
body.woocommerce.archive .rh-catalog-page ul.rh-course-category-products.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products::before,
body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products::after,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products::before,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products::after,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products::before,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products::after,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products::before,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products::after,
body.archive.woocommerce .rh-catalog-page ul.rh-course-category-products.products::before,
body.archive.woocommerce .rh-catalog-page ul.rh-course-category-products.products::after,
body.woocommerce.archive .rh-catalog-page ul.rh-course-category-products.products::before,
body.woocommerce.archive .rh-catalog-page ul.rh-course-category-products.products::after {
  content: none !important;
  display: none !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products > li.product,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products > li.product,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products > li.product,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products > li.product,
body.archive.woocommerce .rh-catalog-page ul.rh-course-category-products.products > li.product,
body.woocommerce.archive .rh-catalog-page ul.rh-course-category-products.products > li.product,
body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products.columns-1 > li.product,
body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products.columns-2 > li.product,
body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products.columns-3 > li.product,
body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products.columns-4 > li.product,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products.columns-1 > li.product,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products.columns-2 > li.product,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products.columns-3 > li.product,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products.columns-4 > li.product,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products.columns-1 > li.product,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products.columns-2 > li.product,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products.columns-3 > li.product,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products.columns-4 > li.product,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products.columns-1 > li.product,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products.columns-2 > li.product,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products.columns-3 > li.product,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products.columns-4 > li.product {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products > li.product .rh-catalog-card__inner,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products > li.product .rh-catalog-card__inner,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products > li.product .rh-catalog-card__inner,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products > li.product .rh-catalog-card__inner {
  width: 100% !important;
  height: 100% !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image {
  height: 230px !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title {
  font-size: clamp(25px, 2vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.012em !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__excerpt,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__excerpt,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__excerpt,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__badges span:nth-child(n+3),
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__badges span:nth-child(n+3),
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__badges span:nth-child(n+3),
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__badges span:nth-child(n+3) {
  display: none !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn,
body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn,
body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn,
body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn {
  min-width: 140px !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
}

@media (max-width: 900px) {
  body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products,
  body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products,
  body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products,
  body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products,
  body.archive.woocommerce .rh-catalog-page ul.rh-course-category-products.products,
  body.woocommerce.archive .rh-catalog-page ul.rh-course-category-products.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.tax-product_cat .rh-catalog-products,
  body.tax-product_tag .rh-catalog-products,
  body.post-type-archive-product .rh-catalog-products,
  body.woocommerce-shop .rh-catalog-products {
    padding-top: 28px !important;
    padding-bottom: 34px !important;
  }

  body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products,
  body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products,
  body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products,
  body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products,
  body.archive.woocommerce .rh-catalog-page ul.rh-course-category-products.products,
  body.woocommerce.archive .rh-catalog-page ul.rh-course-category-products.products {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image,
  body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image,
  body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image,
  body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__image {
    height: 190px !important;
  }

  body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title,
  body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title,
  body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title,
  body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__title {
    font-size: clamp(22px, 6vw, 27px) !important;
  }

  body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer,
  body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer,
  body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer,
  body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.tax-product_cat .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn,
  body.tax-product_tag .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn,
  body.post-type-archive-product .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn,
  body.woocommerce-shop .rh-catalog-page ul.rh-course-category-products.products .rh-catalog-card__footer .rh-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   Pass 51: Page-Embedded WooCommerce Product Grid Authority
   Scope: regular WordPress pages containing WooCommerce product
   shortcodes/blocks, such as Sales Associate Pre-License pages.

   Desktop/tablet: 2 columns.
   Mobile: 1 column.
   Does not target single product pages, cart, checkout, or account pages.
   ========================================================= */

body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}

body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products::before,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products::after,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content ul.products::before,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content ul.products::after {
  content: none !important;
  display: none !important;
}

body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products > li.product,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content ul.products > li.product {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-1,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-2,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-3,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-4,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-5,
body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-6 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 700px) {
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content ul.products,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-1,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-2,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-3,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-4,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-5,
  body:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .rh-page-content .entry-content .woocommerce ul.products.columns-6 {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}

/* =========================================================
   Pass 52: Catalog Page Visual Order Authority
   Requested order on WooCommerce category/shop archives:
   1. hero
   2. toolbar
   3. 2-column product list
   4. Browse by Goal section

   This is intentionally scoped to catalog/archive pages and keeps
   the Pass 51 embedded-grid fix intact.
   ========================================================= */

body.tax-product_cat .rh-catalog-page,
body.tax-product_tag .rh-catalog-page,
body.post-type-archive-product .rh-catalog-page,
body.woocommerce-shop .rh-catalog-page,
body.archive.woocommerce .rh-catalog-page,
body.woocommerce.archive .rh-catalog-page {
  display: flex !important;
  flex-direction: column !important;
}

body.tax-product_cat .rh-catalog-page > .rh-catalog-hero,
body.tax-product_tag .rh-catalog-page > .rh-catalog-hero,
body.post-type-archive-product .rh-catalog-page > .rh-catalog-hero,
body.woocommerce-shop .rh-catalog-page > .rh-catalog-hero,
body.archive.woocommerce .rh-catalog-page > .rh-catalog-hero,
body.woocommerce.archive .rh-catalog-page > .rh-catalog-hero {
  order: 1 !important;
}

body.tax-product_cat .rh-catalog-page > .rh-catalog-products,
body.tax-product_tag .rh-catalog-page > .rh-catalog-products,
body.post-type-archive-product .rh-catalog-page > .rh-catalog-products,
body.woocommerce-shop .rh-catalog-page > .rh-catalog-products,
body.archive.woocommerce .rh-catalog-page > .rh-catalog-products,
body.woocommerce.archive .rh-catalog-page > .rh-catalog-products {
  order: 2 !important;
  background: #fff !important;
  padding-top: 38px !important;
  padding-bottom: 64px !important;
}

body.tax-product_cat .rh-catalog-page > .rh-catalog-paths,
body.tax-product_tag .rh-catalog-page > .rh-catalog-paths,
body.post-type-archive-product .rh-catalog-page > .rh-catalog-paths,
body.woocommerce-shop .rh-catalog-page > .rh-catalog-paths,
body.archive.woocommerce .rh-catalog-page > .rh-catalog-paths,
body.woocommerce.archive .rh-catalog-page > .rh-catalog-paths {
  order: 3 !important;
  background: var(--rh-gray-50) !important;
  padding-top: 56px !important;
  padding-bottom: 68px !important;
}

body.tax-product_cat .rh-catalog-page .rh-catalog-toolbar,
body.tax-product_tag .rh-catalog-page .rh-catalog-toolbar,
body.post-type-archive-product .rh-catalog-page .rh-catalog-toolbar,
body.woocommerce-shop .rh-catalog-page .rh-catalog-toolbar,
body.archive.woocommerce .rh-catalog-page .rh-catalog-toolbar,
body.woocommerce.archive .rh-catalog-page .rh-catalog-toolbar {
  margin-bottom: 28px !important;
}

body.tax-product_cat .rh-catalog-page .rh-course-category-products.products,
body.tax-product_tag .rh-catalog-page .rh-course-category-products.products,
body.post-type-archive-product .rh-catalog-page .rh-course-category-products.products,
body.woocommerce-shop .rh-catalog-page .rh-course-category-products.products,
body.archive.woocommerce .rh-catalog-page .rh-course-category-products.products,
body.woocommerce.archive .rh-catalog-page .rh-course-category-products.products {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  body.tax-product_cat .rh-catalog-page > .rh-catalog-products,
  body.tax-product_tag .rh-catalog-page > .rh-catalog-products,
  body.post-type-archive-product .rh-catalog-page > .rh-catalog-products,
  body.woocommerce-shop .rh-catalog-page > .rh-catalog-products,
  body.archive.woocommerce .rh-catalog-page > .rh-catalog-products,
  body.woocommerce.archive .rh-catalog-page > .rh-catalog-products {
    padding-top: 28px !important;
    padding-bottom: 42px !important;
  }

  body.tax-product_cat .rh-catalog-page > .rh-catalog-paths,
  body.tax-product_tag .rh-catalog-page > .rh-catalog-paths,
  body.post-type-archive-product .rh-catalog-page > .rh-catalog-paths,
  body.woocommerce-shop .rh-catalog-page > .rh-catalog-paths,
  body.archive.woocommerce .rh-catalog-page > .rh-catalog-paths,
  body.woocommerce.archive .rh-catalog-page > .rh-catalog-paths {
    padding-top: 40px !important;
    padding-bottom: 48px !important;
  }
}


/* =========================================================
   Pass 53: Page-Based Catalog Layout Renderer Support
   Scope: regular WordPress pages that contain WooCommerce
   product shortcodes/blocks and are now rendered through the
   catalog-page template part.

   Requested order:
   1. hero
   2. toolbar
   3. 2-column product list
   4. Browse by Goal section
   ========================================================= */

body.page .rh-catalog-page--embedded {
  display: flex !important;
  flex-direction: column !important;
}

body.page .rh-catalog-page--embedded > .rh-catalog-hero {
  order: 1 !important;
}

body.page .rh-catalog-page--embedded > .rh-catalog-products {
  order: 2 !important;
  background: #fff !important;
  padding-top: 38px !important;
  padding-bottom: 64px !important;
}

body.page .rh-catalog-page--embedded > .rh-catalog-paths {
  order: 3 !important;
  background: var(--rh-gray-50) !important;
  padding-top: 56px !important;
  padding-bottom: 68px !important;
}

body.page .rh-catalog-page--embedded .entry-content > .woocommerce {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 18px 24px !important;
  width: 100% !important;
}

body.page .rh-catalog-page--embedded .entry-content > .woocommerce::before,
body.page .rh-catalog-page--embedded .entry-content > .woocommerce::after {
  content: none !important;
  display: none !important;
}

body.page .rh-catalog-page--embedded .woocommerce-result-count {
  flex: 1 1 auto !important;
  float: none !important;
  margin: 0 !important;
  color: var(--rh-muted) !important;
  font-weight: 700 !important;
}

body.page .rh-catalog-page--embedded .woocommerce-ordering {
  flex: 0 0 auto !important;
  float: none !important;
  margin: 0 !important;
}

body.page .rh-catalog-page--embedded .woocommerce-ordering select {
  min-height: 44px !important;
  min-width: 220px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(18,57,97,.18) !important;
  padding: 8px 12px !important;
  background: #fff !important;
}

body.page .rh-catalog-page--embedded .entry-content > .woocommerce ul.products,
body.page .rh-catalog-page--embedded .entry-content ul.products {
  flex: 0 0 100% !important;
  margin-top: 10px !important;
}

body.page .rh-catalog-page--embedded .rh-catalog-paths {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  body.page .rh-catalog-page--embedded > .rh-catalog-products {
    padding-top: 28px !important;
    padding-bottom: 42px !important;
  }

  body.page .rh-catalog-page--embedded > .rh-catalog-paths {
    padding-top: 40px !important;
    padding-bottom: 48px !important;
  }

  body.page .rh-catalog-page--embedded .entry-content > .woocommerce {
    align-items: stretch !important;
  }

  body.page .rh-catalog-page--embedded .woocommerce-result-count,
  body.page .rh-catalog-page--embedded .woocommerce-ordering,
  body.page .rh-catalog-page--embedded .woocommerce-ordering select {
    width: 100% !important;
    min-width: 0 !important;
  }
}
