/*
 * Sim Racer Academy redesign — small support layer for the Divi-built header, footer and pages.
 * Everything visual is set in Divi module settings; this file only covers what Divi modules cannot
 * express on their own (menu CTA buttons, active pill, checklist ticks, chips, inline buttons).
 * Tokens: sra/css/tokens.css (from sra-redesign-handoff/design-tokens.json).
 */

/* ---- header: menu item CSS classes set in Appearance > Menus ---- */
.sra-header .et_pb_menu__menu > nav > ul > li > a { padding: 10px 14px; border-radius: var(--sra-radius-button); transition: background-color .15s ease, color .15s ease; }
.sra-header--member .et_pb_menu__menu > nav > ul > li.current-menu-item > a,
.sra-header--member .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a { background: rgba(255,255,255,0.12); }
.sra-header--member .et_pb_menu__menu > nav > ul > li > a:hover { background: rgba(255,255,255,0.08); }
.sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta { margin-left: 10px; }
/* second selector matches Divi's CPT stylesheet prefix (#et-boc .et-l) used on bbPress/archive pages */
.sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta > a, #et-boc .et-l .sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta > a {
  font-family: var(--sra-font-heading); font-weight: 700; letter-spacing: 0.08em; font-size: 15px;
  background: var(--sra-brand-red) !important; color: var(--sra-surface) !important; padding: 11px 18px; opacity: 1 !important;
}
.sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta > a:hover, #et-boc .et-l .sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta > a:hover { background: #A80D26 !important; }
.sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta--light > a, #et-boc .et-l .sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta--light > a { background: var(--sra-surface) !important; color: var(--sra-ink) !important; }
.sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-cta--light > a:hover { background: var(--sra-tint) !important; }
.sra-header .et_pb_menu__menu > nav > ul > li.sra-menu-account > a { padding-right: 24px; }
/* mobile menu: give the CTA items the same look inside Divi's dropdown */
.sra-header .et_mobile_menu li.sra-menu-cta > a { font-family: var(--sra-font-heading); font-weight: 700; letter-spacing: 0.08em; }
.sra-header--member .et_mobile_menu { border-top: 2px solid rgba(255,255,255,0.2); }
.sra-header--member .et_mobile_menu li a { color: var(--sra-surface); border-color: rgba(255,255,255,0.15); }
.sra-header .et_pb_menu .et_pb_menu__logo-wrap { margin-right: 24px; }

/* ---- footer ---- */
.sra-footer-nav a { margin-left: 24px; color: var(--sra-label-muted); }
.sra-footer-nav a:first-child { margin-left: 0; }
.sra-footer-nav a:hover { color: var(--sra-brand-blue); }

/* ---- homepage pieces ---- */
/* Divi puts module_class on the <a> only; the hero column carries sra-hero-copy so its buttons sit inline */
.sra-hero-copy .et_pb_button_module_wrapper { display: inline-block; vertical-align: middle; margin-right: 16px; }
.sra-hero-copy .et_pb_button_module_wrapper .et_pb_button { margin-bottom: 0; }
.sra-btn-block.et_pb_button { display: block; width: 100%; box-sizing: border-box; text-align: center; }
.sra-stats p { display: inline-block; margin: 0 32px 0 0 !important; padding: 0; line-height: 1.3; }
.sra-stats strong { display: block; font-family: var(--sra-font-heading); font-weight: 800; font-size: 19px; color: var(--sra-ink); }
.sra-price h2 { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sra-price__period { font-family: var(--sra-font-body); font-weight: 500; font-size: 18px; line-height: 1.2; color: inherit; opacity: 0.85; }
.sra-price__save { margin-left: auto; font-family: var(--sra-font-body); font-weight: 600; font-size: 13px; line-height: 1.4; color: var(--sra-ink); background: var(--sra-on-blue-accent); padding: 4px 10px; border-radius: var(--sra-radius-badge); }
.sra-checklist li, .sra-plan-list li { position: relative; padding-left: 28px; margin-bottom: 12px; }
.sra-checklist li::before {
  content: ""; position: absolute; left: 0; top: 0.15em; width: 18px; height: 18px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BFD0F5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>") no-repeat center / contain;
}
.sra-plan-list li { padding-left: 18px; margin-bottom: 10px; }
.sra-plan-list li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 8px; height: 8px; border-radius: 50%; background: var(--sra-brand-blue); }
.sra-coach.et_pb_blurb_position_left .et_pb_main_blurb_image { width: 200px !important; max-width: 200px; }
.sra-coach .et_pb_main_blurb_image img { object-fit: cover; object-position: top center; height: 240px; width: 200px; max-width: none; border-radius: var(--sra-radius-card); }
.sra-coach .et_pb_blurb_container { padding-left: 28px; }
.sra-coach .sra-eyebrow { font-family: var(--sra-font-heading); font-weight: 700; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sra-brand-blue); margin: 0 0 6px !important; }
.sra-chips { margin-top: 12px !important; }
.sra-chip { display: inline-block; font-size: 12px; font-weight: 600; padding: 6px 10px; margin: 0 6px 6px 0; border-radius: var(--sra-radius-badge); background: var(--sra-surface); border: 1px solid var(--sra-border-strong); color: var(--sra-ink); }
/* quote first, then avatar + name as a footer row (mockup), instead of Divi's floated portrait */
.sra-quote.et_pb_testimonial { position: relative; }
.sra-quote .et_pb_testimonial_portrait { position: absolute; left: 28px; bottom: 28px; float: none; width: 40px; height: 40px; margin: 0; }
.sra-quote .et_pb_testimonial_portrait::before { display: none; }
.sra-quote .et_pb_testimonial_description { margin-left: 0 !important; }
.sra-quote .et_pb_testimonial_description_inner { margin-bottom: 16px; }
.sra-quote .et_pb_testimonial_author, .sra-quote .et_pb_testimonial_meta { display: block; margin-left: 52px; }
.sra-quote .et_pb_testimonial_author { margin-top: 0; line-height: 1.3; }
.sra-quote .et_pb_testimonial_meta { line-height: 1.3; }

@media (max-width: 980px) {
  .sra-coach.et_pb_blurb_position_left .et_pb_main_blurb_image { width: 100% !important; max-width: 100%; }
  .sra-coach .et_pb_main_blurb_image, .sra-coach .et_pb_main_blurb_image .et_pb_image_wrap { display: block; width: 100%; }
  .sra-coach .et_pb_main_blurb_image img { display: block; width: 100%; height: 260px; }
  .sra-coach .et_pb_blurb_container { padding-left: 0; }
  .sra-price__save { margin-left: 0; }
}

/* ---- member pages (Divi-side bits; the [sra_*] components are in sra-member.css) ---- */
.sra-quicklink .et_pb_module_header a { color: var(--sra-ink); }
.sra-quicklink .et_pb_blurb_content { max-width: 100%; }
.sra-quicklink--blue .et_pb_module_header a { color: var(--sra-surface); }
.sra-row-head h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.sra-row-head h2 a { font-family: var(--sra-font-body); font-weight: 600; font-size: 15px; letter-spacing: 0; }
/* Divi sets the text module's link colour with !important and prefixes Theme Builder CSS with .et-db #et-boc .et-l, so match that specificity */
.sra-btn--on-dark, .et_pb_module a.sra-btn--on-dark, .et-db #et-boc .et-l a.sra-btn--on-dark, #et-boc .et-l .et_pb_module a.sra-btn--on-dark { background: var(--sra-surface); color: var(--sra-ink) !important; border-color: var(--sra-surface); display: block; text-align: center; margin-top: 4px; }
.et_pb_post_content.sra-lesson-content .et_pb_post_content_0 p:last-child { padding-bottom: 0; }

/* ---- pages that are not Divi-built (Account, Forums, Resources, Glossary...): Divi's default page template.
   Give them the same 1280px frame as the member pages and drop the leftover default sidebar (a lone search widget). */
/* margin-left auto: the 2023 style.css rule for the old sidebar (margin-left 16em) still matches here and pushed the column 64px left of the header. */
.et-tb-has-template:not(.et_pb_pagebuilder_layout) #main-content .container { width: 90%; max-width: 1280px; margin-left: auto; margin-right: auto; padding-top: 48px; padding-bottom: 72px; }
.et-tb-has-template:not(.et_pb_pagebuilder_layout) #main-content .container::before { display: none; }
.et-tb-has-template:not(.et_pb_pagebuilder_layout) #left-area { width: 100%; padding-right: 0; float: none; }
.et-tb-has-template:not(.et_pb_pagebuilder_layout) #sidebar { display: none; }
.et-tb-has-template:not(.et_pb_pagebuilder_layout) h1.entry-title, .et-tb-has-template:not(.et_pb_pagebuilder_layout) h1.main_title { font-family: var(--sra-font-heading); font-weight: 800; font-size: var(--sra-h1-member); line-height: 1.05; color: var(--sra-ink); padding-bottom: 20px; }
/* bbPress: profile and forum lists inside a card */
.bbpress #bbpress-forums { background: var(--sra-surface); border: 1px solid var(--sra-border); border-radius: var(--sra-radius-card); padding: 24px; font-size: 15px; }
.bbpress #bbpress-forums #bbp-user-wrapper h2.entry-title { font-family: var(--sra-font-heading); font-weight: 800; font-size: 19px; }
.bbpress #bbpress-forums #bbp-user-navigation li.current a { background: var(--sra-tint); color: var(--sra-ink); }
.bbpress #bbpress-forums li.bbp-header { background: var(--sra-brand-blue); color: var(--sra-surface); border-radius: 8px; }
