/*
 * Bob's Motorcycle Sales — Heritage Light Theme
 * Presentation-only override loaded after the existing compiled styles.
 * No inventory, form, analytics, routing, or PHP/JS business logic is changed here.
 */

:root {
  --bobs-paper: #f7f4ef;
  --bobs-paper-2: #efe9e1;
  --bobs-surface: #ffffff;
  --bobs-surface-soft: #fbf9f6;
  --bobs-ink: #191817;
  --bobs-ink-2: #3f3b37;
  --bobs-muted: #6f6861;
  --bobs-line: #ded7cf;
  --bobs-line-strong: #c8bdb2;
  --bobs-orange: #e25e31;
  --bobs-orange-strong: #bb431b;
  --bobs-orange-soft: #fff0e8;
  --bobs-copper: #9a6a43;
  --bobs-charcoal: #1e1d1b;
  --bobs-shadow-sm: 0 6px 18px rgba(51, 42, 34, .08);
  --bobs-shadow-md: 0 16px 40px rgba(51, 42, 34, .11);
  --bobs-shadow-lg: 0 26px 70px rgba(36, 30, 25, .15);
  --bobs-radius: 16px;
  --bobs-radius-lg: 24px;
  --bobs-body-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --bobs-heading-font: "Arial Narrow", "Helvetica Neue Condensed", "Roboto Condensed", "Franklin Gothic Medium", Arial, sans-serif;
}

html.bobs-light-theme {
  color-scheme: light;
  background: var(--bobs-paper);
  scroll-behavior: smooth;
}

html.bobs-light-theme body {
  margin: 0;
  background:
    radial-gradient(circle at 8% 2%, rgba(226,94,49,.055), transparent 28rem),
    var(--bobs-paper);
  color: var(--bobs-ink);
  font-family: var(--bobs-body-font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html.bobs-light-theme ::selection {
  background: var(--bobs-orange);
  color: #fff;
}

html.bobs-light-theme h1,
html.bobs-light-theme h2,
html.bobs-light-theme h3,
html.bobs-light-theme h4,
html.bobs-light-theme h5,
html.bobs-light-theme h6,
html.bobs-light-theme .pg-menu,
html.bobs-light-theme [class^="btn-"],
html.bobs-light-theme [class*=" btn-"],
html.bobs-light-theme .pg-inventory-card-short-label,
html.bobs-light-theme .pg-inventory-card-make-year,
html.bobs-light-theme .pg-team-member-name,
html.bobs-light-theme .pg-team-member-job-title,
html.bobs-light-theme legend {
  font-family: var(--bobs-heading-font);
  letter-spacing: .018em;
}

html.bobs-light-theme h1,
html.bobs-light-theme h2,
html.bobs-light-theme h3,
html.bobs-light-theme h4 {
  color: var(--bobs-ink);
  text-wrap: balance;
}

html.bobs-light-theme a {
  text-underline-offset: 3px;
}

html.bobs-light-theme a:not([class^="btn-"]):not([class*=" btn-"]):focus-visible,
html.bobs-light-theme button:focus-visible,
html.bobs-light-theme input:focus-visible,
html.bobs-light-theme select:focus-visible,
html.bobs-light-theme textarea:focus-visible {
  outline: 3px solid rgba(226,94,49,.34) !important;
  outline-offset: 3px !important;
}

/* ---- Core utility colors: existing site uses these as theme tokens ---- */
html.bobs-light-theme .text-main-color,
html.bobs-light-theme .text-main-color-300,
html.bobs-light-theme .text-main-color-400 {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .bg-layout,
html.bobs-light-theme .bg-html-color {
  background-color: var(--bobs-paper) !important;
}

html.bobs-light-theme .border-primary {
  border-color: var(--bobs-orange) !important;
}

html.bobs-light-theme .text-primary,
html.bobs-light-theme .fill-primary {
  color: var(--bobs-orange) !important;
  fill: var(--bobs-orange) !important;
}

/* ---- Page-heading band ---- */
html.bobs-light-theme .bg-page-heading {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(100deg, #fff 0%, #fbf6f0 65%, #f2e8dd 100%) !important;
  border-top: 1px solid rgba(255,255,255,.7);
  border-bottom: 1px solid var(--bobs-line);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.8);
}

html.bobs-light-theme .bg-page-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(190px, 28vw);
  height: 4px;
  background: linear-gradient(90deg, var(--bobs-orange), #f1954e);
}

html.bobs-light-theme .bg-page-heading h1 {
  position: relative;
  color: var(--bobs-ink) !important;
  text-shadow: none;
  letter-spacing: .035em;
}

/* ---- Header: retain the motorcycle photography as the dark brand anchor ---- */
html.bobs-light-theme .header-bg::before {
  background: linear-gradient(90deg, rgba(8,8,8,.84), rgba(8,8,8,.62) 48%, rgba(8,8,8,.72)) !important;
}

html.bobs-light-theme .pg-header-desktop {
  color: #fff;
}

html.bobs-light-theme .pg-header-desktop .text-white,
html.bobs-light-theme .pg-header-desktop .pg-header-address,
html.bobs-light-theme .pg-header-desktop .pg-dealer-socials,
html.bobs-light-theme .pg-menu,
html.bobs-light-theme .pg-menu > nav > ol > li > a {
  color: #fff !important;
}

html.bobs-light-theme .pg-header-search .form-input {
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.62) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.95) !important;
  color: var(--bobs-ink) !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.16);
}

html.bobs-light-theme .pg-header-search .form-input::placeholder {
  color: #706b66 !important;
}

html.bobs-light-theme .pg-header-search svg {
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme .pg-menu > nav > ol > li > a {
  position: relative;
  letter-spacing: .04em;
}

html.bobs-light-theme .pg-menu > nav > ol > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 2px;
  background: var(--bobs-orange);
  transition: right .2s ease;
}

html.bobs-light-theme .pg-menu > nav > ol > li > a:hover::after,
html.bobs-light-theme .pg-menu > nav > ol > li > a:focus-visible::after {
  right: 0;
}

/* Contact dropdown includes an inline !important dark fix in bike-view.php. */
html.bobs-light-theme .pg-menu nav > ol > li.group > ol {
  border: 1px solid var(--bobs-line) !important;
  background: rgba(255,255,255,.985) !important;
  color: var(--bobs-ink) !important;
  box-shadow: var(--bobs-shadow-md) !important;
}

html.bobs-light-theme .pg-menu nav > ol > li.group > ol > li {
  border-color: var(--bobs-line) !important;
}

html.bobs-light-theme .pg-menu nav > ol > li.group > ol a {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-menu nav > ol > li.group > ol a:hover,
html.bobs-light-theme .pg-menu nav > ol > li.group > ol a:focus-visible {
  color: var(--bobs-orange-strong) !important;
}

/* ---- Mobile menu ---- */
html.bobs-light-theme .pg-mobile-menu-panel {
  background: #fff !important;
  color: var(--bobs-ink) !important;
  border-right: 1px solid var(--bobs-line);
  box-shadow: 22px 0 45px rgba(30,29,27,.18);
}

html.bobs-light-theme .pg-mobile-menu-panel .text-white,
html.bobs-light-theme .pg-mobile-menu-panel a,
html.bobs-light-theme .pg-mobile-menu-panel button {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-mobile-menu-panel li {
  border-color: var(--bobs-line) !important;
}

html.bobs-light-theme .pg-mobile-menu-panel li a:hover {
  color: var(--bobs-orange-strong) !important;
}

/* ---- Buttons ---- */
html.bobs-light-theme .btn-primary,
html.bobs-light-theme .btn-primary-sm,
html.bobs-light-theme .btn-primary-lg,
html.bobs-light-theme .btn-primary-xl,
html.bobs-light-theme .btn-primary-xl-mobile {
  border-color: var(--bobs-orange) !important;
  background: linear-gradient(180deg, #ea6839 0%, var(--bobs-orange) 100%) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(187,67,27,.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

html.bobs-light-theme .btn-primary:hover,
html.bobs-light-theme .btn-primary-sm:hover,
html.bobs-light-theme .btn-primary-lg:hover,
html.bobs-light-theme .btn-primary-xl:hover,
html.bobs-light-theme .btn-primary-xl-mobile:hover {
  border-color: var(--bobs-orange-strong) !important;
  background: var(--bobs-orange-strong) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(151,53,20,.23);
}

html.bobs-light-theme .btn-hollow-light-lg,
html.bobs-light-theme .btn-hollow-light-xl {
  border-color: var(--bobs-orange) !important;
  background: #fff !important;
  color: var(--bobs-orange-strong) !important;
  box-shadow: none;
}

html.bobs-light-theme .btn-hollow-light-lg span,
html.bobs-light-theme .btn-hollow-light-xl span {
  color: inherit !important;
  filter: none !important;
}

html.bobs-light-theme .btn-hollow-light-lg svg,
html.bobs-light-theme .btn-hollow-light-xl svg {
  color: var(--bobs-orange) !important;
  fill: var(--bobs-orange) !important;
  filter: none !important;
}

html.bobs-light-theme .btn-hollow-light-lg:hover,
html.bobs-light-theme .btn-hollow-light-xl:hover {
  background: var(--bobs-orange) !important;
  color: #fff !important;
}

html.bobs-light-theme .btn-hollow-light-lg:hover svg,
html.bobs-light-theme .btn-hollow-light-xl:hover svg {
  color: #fff !important;
  fill: #fff !important;
}

/* ---- Forms ---- */
html.bobs-light-theme .form-input,
html.bobs-light-theme .form-select,
html.bobs-light-theme .form-textarea,
html.bobs-light-theme select {
  border: 1px solid var(--bobs-line-strong) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--bobs-ink) !important;
  box-shadow: inset 0 1px 1px rgba(42,34,28,.02);
}

html.bobs-light-theme .form-input::placeholder,
html.bobs-light-theme .form-textarea::placeholder {
  color: #867e77 !important;
}

html.bobs-light-theme .form-input:focus,
html.bobs-light-theme .form-select:focus,
html.bobs-light-theme .form-textarea:focus,
html.bobs-light-theme select:focus {
  border-color: var(--bobs-orange) !important;
  --tw-ring-color: rgba(226,94,49,.22) !important;
}

html.bobs-light-theme .form-checkbox,
html.bobs-light-theme .form-radio {
  color: var(--bobs-orange) !important;
  border-color: #aaa098 !important;
  background-color: #fff;
}

/* Floating-label form labels */
html.bobs-light-theme .form-floating label,
html.bobs-light-theme label {
  color: var(--bobs-ink-2);
}

/* ---- Prose / generic content pages ---- */
html.bobs-light-theme .prose {
  --tw-prose-body: var(--bobs-ink-2);
  --tw-prose-headings: var(--bobs-ink);
  --tw-prose-lead: var(--bobs-ink-2);
  --tw-prose-links: var(--bobs-orange-strong);
  --tw-prose-bold: var(--bobs-ink);
  --tw-prose-counters: var(--bobs-orange-strong);
  --tw-prose-bullets: var(--bobs-orange);
  --tw-prose-hr: var(--bobs-line);
  --tw-prose-quotes: var(--bobs-ink);
  --tw-prose-quote-borders: var(--bobs-orange);
  --tw-prose-captions: var(--bobs-muted);
  --tw-prose-code: var(--bobs-ink);
  --tw-prose-pre-code: #f7f4ef;
  --tw-prose-pre-bg: var(--bobs-charcoal);
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme .prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover {
  color: var(--bobs-orange-strong) !important;
}

html.bobs-light-theme .prose h2,
html.bobs-light-theme .prose h3 {
  margin-top: 1.65em;
  letter-spacing: .018em;
}

html.bobs-light-theme .prose h2::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: var(--bobs-orange);
}

html.bobs-light-theme .rounded-xl.border.p-8,
html.bobs-light-theme .rounded-xl.border.p-6,
html.bobs-light-theme .pg-cta-item-inline {
  border-color: var(--bobs-line) !important;
  background: #fff;
  box-shadow: var(--bobs-shadow-sm);
}

html.bobs-light-theme .pg-seo-content,
html.bobs-light-theme .pg-listing + .pg-seo-content {
  color: var(--bobs-ink-2);
}

/* ---- Inventory listing ---- */
html.bobs-light-theme .custom-page,
html.bobs-light-theme .used-inventory-detail-page {
  background: transparent;
  color: var(--bobs-ink);
}

html.bobs-light-theme .pg-listing {
  padding-top: 26px;
  padding-bottom: 28px;
}

html.bobs-light-theme .pg-listing-filters {
  position: sticky;
  top: 20px;
  padding: 22px;
  border: 1px solid var(--bobs-line);
  border-radius: var(--bobs-radius);
  background: linear-gradient(180deg,#fff 0%,#faf7f3 100%);
  box-shadow: var(--bobs-shadow-sm);
}

html.bobs-light-theme .pg-listing-filters fieldset + fieldset,
html.bobs-light-theme .pg-listing-filters .pg-search-filter {
  padding-top: 16px;
  border-top: 1px solid #ebe5df;
}

html.bobs-light-theme .pg-listing-filters legend,
html.bobs-light-theme .pg-listing-filters .text-xl {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-listing-filters label,
html.bobs-light-theme .pg-listing-results-count,
html.bobs-light-theme .pg-pagination-filter {
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme .pg-sort-filter select {
  min-height: 46px;
  padding-left: 40px;
  padding-right: 20px;
  border-color: var(--bobs-line-strong) !important;
  background: #fff !important;
  color: var(--bobs-ink) !important;
  box-shadow: 0 4px 13px rgba(42,34,28,.06);
}

html.bobs-light-theme .pg-inventory-card {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--bobs-line) !important;
  border-radius: 16px !important;
  background: #fff;
  color: var(--bobs-ink);
  box-shadow: 0 7px 22px rgba(43,35,29,.075);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

html.bobs-light-theme .pg-inventory-card:hover {
  border-color: #c9b6a5 !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(43,35,29,.13);
}

html.bobs-light-theme .pg-inventory-card > a:first-child {
  width: 100%;
  padding: 14px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(242,237,231,.86));
  border-bottom: 1px solid #ebe5df;
}

html.bobs-light-theme .pg-inventory-card-image {
  display: block;
  width: 100%;
  border-radius: 10px;
  background: #f4f1ed;
}

html.bobs-light-theme .pg-inventory-card-image-count {
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 9px 0 0 9px !important;
  background: rgba(28,27,25,.9) !important;
  color: #fff !important;
  box-shadow: 0 5px 13px rgba(0,0,0,.16);
}

html.bobs-light-theme .pg-inventory-card-image-count svg,
html.bobs-light-theme .pg-inventory-card-image-count .text-primary {
  color: #ff7a45 !important;
  fill: #ff7a45 !important;
}

html.bobs-light-theme .pg-inventory-card-make-year {
  color: var(--bobs-orange-strong) !important;
  letter-spacing: .03em;
}

html.bobs-light-theme .pg-inventory-card-short-label,
html.bobs-light-theme .pg-inventory-card-specs span,
html.bobs-light-theme .pg-inventory-card-price,
html.bobs-light-theme .pg-inventory-card-price .sale-price,
html.bobs-light-theme .pg-inventory-card-usage svg,
html.bobs-light-theme .pg-inventory-card-stock-number svg {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-inventory-card-price .line-through {
  color: var(--bobs-muted) !important;
}

html.bobs-light-theme .pg-inventory-card-price [aria-label="Savings"] {
  border-radius: 999px;
  background: var(--bobs-orange-soft);
  color: var(--bobs-orange-strong) !important;
}

html.bobs-light-theme .pg-inventory-card-cta {
  margin-top: 6px;
  border-radius: 10px !important;
}

/* ---- Vehicle detail ---- */
html.bobs-light-theme .pg-vehicle-details {
  gap: 28px !important;
}

html.bobs-light-theme #pgGalleryMain,
html.bobs-light-theme #pgGalleryThumbs {
  border: 1px solid var(--bobs-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--bobs-shadow-sm);
}

html.bobs-light-theme #pgGalleryMain {
  padding: 12px;
}

html.bobs-light-theme #pgGalleryThumbs {
  padding: 10px;
}

html.bobs-light-theme .pg-thumb-btn {
  border-radius: 10px;
  background: #faf8f5;
}

html.bobs-light-theme .pg-thumb-btn.is-active {
  border-color: var(--bobs-orange) !important;
  box-shadow: 0 0 0 2px rgba(226,94,49,.11);
}

html.bobs-light-theme .react-multiple-carousel__arrow {
  background: rgba(25,24,23,.84) !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.2);
}

html.bobs-light-theme .pg-vehicle-price {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-vehicle-price .text-white,
html.bobs-light-theme .pg-vehicle-desktop-price .text-white,
html.bobs-light-theme .pg-vehicle-mobile-price .text-white {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-vehicle-details-infos {
  border-color: var(--bobs-line) !important;
}

html.bobs-light-theme .pg-vehicle-specs {
  border: 1px solid var(--bobs-line);
  border-radius: var(--bobs-radius) var(--bobs-radius) 0 0;
  background: #fff;
  box-shadow: var(--bobs-shadow-sm);
}

html.bobs-light-theme .pg-vehicle-details-infos > .bg-neutral-100,
html.bobs-light-theme .pg-vehicle-description {
  border: 1px solid var(--bobs-line);
  border-top: 0;
  background: #faf7f3 !important;
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme .pg-vehicle-desktop-price,
html.bobs-light-theme .pg-vehicle-mobile-price {
  padding: 18px;
  border: 1px solid var(--bobs-line);
  border-radius: var(--bobs-radius);
  background: #fff;
  box-shadow: var(--bobs-shadow-sm);
}

html.bobs-light-theme .buyer-info-notice {
  border: 1px solid #e6b69f !important;
  border-left: 5px solid var(--bobs-orange) !important;
  background: linear-gradient(135deg,#fff8f3,#fff1e8) !important;
  color: var(--bobs-ink-2) !important;
  box-shadow: 0 8px 20px rgba(137,78,48,.08) !important;
}

html.bobs-light-theme .buyer-info-notice strong,
html.bobs-light-theme .buyer-info-notice p,
html.bobs-light-theme .buyer-info-notice {
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme .buyer-info-notice::before {
  color: var(--bobs-orange-strong) !important;
}

html.bobs-light-theme .buyer-info-notice::after {
  background: var(--bobs-orange) !important;
  color: #fff !important;
  box-shadow: 0 0 0 5px rgba(226,94,49,.13) !important;
}

/* ---- Home page ---- */
html.bobs-light-theme .home-page {
  background: var(--bobs-paper);
}

/* Hero remains cinematic; surrounding site is now warm/light. */
html.bobs-light-theme .pg-hero .pg-type-selector-header-title,
html.bobs-light-theme .pg-hero .pg-type-selector-header-tabs,
html.bobs-light-theme .pg-hero .pg-type-selector-header-tab-subtitle {
  color: #fff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.36);
}

html.bobs-light-theme .pg-hero .pg-type-selector-header-tab-title {
  color: #ff7947 !important;
}

/* V2: make the hero-to-inventory handoff feel intentional instead of jumping to a large white slab. */
html.bobs-light-theme .pg-hero .pg-type-selector-header {
  padding-bottom: 0;
}

html.bobs-light-theme .pg-hero .pg-type-selector-header-tabs {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

html.bobs-light-theme .pg-hero .pg-type-selector-header-tabs > button,
html.bobs-light-theme .pg-hero .pg-type-selector-header-tabs > button.bg-html-color {
  background:
    linear-gradient(180deg, rgba(39,35,31,.96) 0%, rgba(25,23,21,.985) 100%) !important;
  border-color: rgba(255,255,255,.14) !important;
  border-bottom: 3px solid var(--bobs-orange) !important;
  box-shadow: 0 -10px 28px rgba(0,0,0,.16), 0 12px 28px rgba(0,0,0,.10);
}

html.bobs-light-theme .pg-hero .pg-type-selector-header-tab-title {
  color: #ff7442 !important;
  text-shadow: none !important;
}

html.bobs-light-theme .pg-hero .pg-type-selector-header-tab-subtitle {
  color: #f4e9df !important;
  text-shadow: none !important;
  opacity: .98;
  letter-spacing: .045em;
}

html.bobs-light-theme .pg-type-selector {
  margin-top: 0;
  background:
    linear-gradient(180deg, #eee3d8 0%, #f7f2ec 76px, #fff 210px) !important;
  border: 1px solid var(--bobs-line);
  border-top: 0;
  border-radius: 0 0 22px 22px;
  box-shadow: var(--bobs-shadow-md);
}

html.bobs-light-theme .pg-desktop-type-selector {
  background: transparent !important;
  border-radius: 0 0 20px 20px;
}

html.bobs-light-theme .pg-desktop-type-selector-models > a {
  padding: 12px;
  border-radius: 14px;
  transition: background .18s ease, transform .18s ease;
}

html.bobs-light-theme .pg-desktop-type-selector-models > a:hover {
  background: #f5eee7;
  transform: translateY(-2px);
}

html.bobs-light-theme .pg-mobile-type-selector,
html.bobs-light-theme .pg-mobile-type-selector-models {
  background: #fff !important;
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-mobile-type-selector-models {
  border-color: var(--bobs-line) !important;
}

html.bobs-light-theme .pg-similar-vehicles > h1,
html.bobs-light-theme .pg-similar-vehicles > h2 {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-similar-vehicles > h1::after,
html.bobs-light-theme .pg-similar-vehicles > h2::after {
  content: "";
  display: block;
  width: 74px;
  height: 4px;
  margin-top: 10px;
  border-radius: 999px;
  background: var(--bobs-orange);
}

/* Homepage promotional/content section intentionally keeps its road photography, but readable. */
html.bobs-light-theme .pg-homepage-main-content {
  color: #fff;
}

html.bobs-light-theme .pg-homepage-main-content .prose,
html.bobs-light-theme .pg-homepage-main-content .text-main-color,
html.bobs-light-theme .pg-homepage-main-content .text-main-color-300,
html.bobs-light-theme .pg-homepage-main-content h1,
html.bobs-light-theme .pg-homepage-main-content h2,
html.bobs-light-theme .pg-homepage-main-content h3,
html.bobs-light-theme .pg-homepage-main-content p,
html.bobs-light-theme .pg-homepage-main-content li {
  color: #fff !important;
}

html.bobs-light-theme .pg-homepage-main-content a:not([class^="btn-"]):not([class*=" btn-"]) {
  color: #ff8a59 !important;
}

/* V2: Tailwind Typography's base bold token was winning inside the dark homepage photo section.
   Force ordinary emphasis back to white, while linked emphasis keeps the Harley-orange accent. */
html.bobs-light-theme .pg-homepage-main-content .prose strong,
html.bobs-light-theme .pg-homepage-main-content .prose-invert strong,
html.bobs-light-theme .pg-homepage-main-content .prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
  color: #fff !important;
}

html.bobs-light-theme .pg-homepage-main-content .prose a strong,
html.bobs-light-theme .pg-homepage-main-content .prose-invert a strong {
  color: #ff8a59 !important;
}

/* ---- Testimonials / team ---- */
html.bobs-light-theme .pg-testimonial-card,
html.bobs-light-theme .pg-team-member-card {
  overflow: hidden;
  border: 1px solid var(--bobs-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--bobs-shadow-sm);
}

html.bobs-light-theme .pg-testimonial-card .bg-neutral-100,
html.bobs-light-theme .pg-team-member-card .bg-neutral-100 {
  background: #fff !important;
  color: var(--bobs-ink-2);
}

html.bobs-light-theme .pg-team-member-name {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme .pg-team-member-job-title {
  color: var(--bobs-orange-strong) !important;
}

/* ---- 404 ---- */
html.bobs-light-theme .pg-404-hero {
  min-height: 64vh;
  background: var(--bobs-paper);
}

html.bobs-light-theme .pg-404-card,
html.bobs-light-theme .pg-404-hero .max-w-4xl {
  border-color: rgba(255,255,255,.8) !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--bobs-ink) !important;
  box-shadow: var(--bobs-shadow-lg);
  backdrop-filter: blur(8px);
}

html.bobs-light-theme .pg-404-hero h1,
html.bobs-light-theme .pg-404-hero p,
html.bobs-light-theme .pg-404-hero .text-white\/85 {
  color: var(--bobs-ink) !important;
  text-shadow: none !important;
}

/* ---- Thank-you page ---- */
html.bobs-light-theme body.bg-layout {
  background: var(--bobs-paper) !important;
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme body.bg-layout > .container > .max-w-3xl {
  border-color: var(--bobs-line) !important;
  background: #fff !important;
  color: var(--bobs-ink) !important;
  box-shadow: var(--bobs-shadow-md);
}

html.bobs-light-theme body.bg-layout .text-white,
html.bobs-light-theme body.bg-layout .text-white\/90,
html.bobs-light-theme body.bg-layout .text-white\/80 {
  color: var(--bobs-ink-2) !important;
}

/* ---- Footer: light workshop-paper finish, not another black wall ---- */
html.bobs-light-theme footer {
  position: relative;
  border-top-color: var(--bobs-orange) !important;
  background:
    linear-gradient(180deg, #f4eee7 0%, #ece4db 100%) !important;
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: rgba(255,255,255,.9);
}

html.bobs-light-theme footer .text-white,
html.bobs-light-theme footer .text-main-color,
html.bobs-light-theme footer .text-main-color-300,
html.bobs-light-theme footer a,
html.bobs-light-theme footer p,
html.bobs-light-theme footer li,
html.bobs-light-theme footer div,
html.bobs-light-theme footer span {
  color: var(--bobs-ink-2) !important;
}

html.bobs-light-theme footer h2,
html.bobs-light-theme footer h3,
html.bobs-light-theme footer h4,
html.bobs-light-theme footer strong,
html.bobs-light-theme footer .font-bold,
html.bobs-light-theme footer .font-extrabold {
  color: var(--bobs-ink) !important;
}

html.bobs-light-theme footer a:hover {
  color: var(--bobs-orange-strong) !important;
}

html.bobs-light-theme footer .border-primary,
html.bobs-light-theme footer [class*="border-primary"] {
  border-color: rgba(226,94,49,.7) !important;
}

html.bobs-light-theme .pg-footer-disclaimer {
  color: var(--bobs-muted) !important;
  border-top-color: var(--bobs-line) !important;
}

/* ---- Small polish / responsive ---- */
@media (max-width: 1279px) {
  html.bobs-light-theme .pg-listing-filters {
    position: static;
  }
}

@media (max-width: 767px) {
  html.bobs-light-theme body {
    font-size: 15px;
  }

  html.bobs-light-theme .bg-page-heading .container {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  html.bobs-light-theme .bg-page-heading h1 {
    font-size: 2rem !important;
    line-height: 1.05;
  }

  html.bobs-light-theme .pg-inventory-card {
    border-radius: 14px !important;
  }

  html.bobs-light-theme .pg-type-selector {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }

  html.bobs-light-theme .pg-mobile-type-selector-tab {
    background: #fff !important;
    color: var(--bobs-ink) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bobs-light-theme *,
  html.bobs-light-theme *::before,
  html.bobs-light-theme *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ---- Primary button label/icon normalization ----
   The compiled legacy stylesheet clips button text and makes it transparent.
   Restore conventional white labels/icons in the light theme so every CTA
   remains readable, including inventory cards and lead forms. */
html.bobs-light-theme .btn-primary:not(:disabled) > span,
html.bobs-light-theme .btn-primary-sm:not(:disabled) > span,
html.bobs-light-theme .btn-primary-lg:not(:disabled) > span,
html.bobs-light-theme .btn-primary-xl:not(:disabled) > span,
html.bobs-light-theme .btn-primary-xl-mobile:not(:disabled) > span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  filter: none !important;
}

html.bobs-light-theme .btn-primary:not(:disabled) svg,
html.bobs-light-theme .btn-primary-sm:not(:disabled) svg,
html.bobs-light-theme .btn-primary-lg:not(:disabled) svg,
html.bobs-light-theme .btn-primary-xl:not(:disabled) svg,
html.bobs-light-theme .btn-primary-xl-mobile:not(:disabled) svg {
  color: #fff !important;
  fill: currentColor !important;
  filter: none !important;
}
/* Center homepage type selector */
html.bobs-light-theme .pg-hero .pg-type-selector-header {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ===== HOMEPAGE SELECTOR CENTER FIX ===== */
@media (min-width: 768px) {

  html.bobs-light-theme .pg-hero .pg-type-selector-header-tabs {
    position: relative !important;
    left: 50% !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding-left: 22px !important;
    padding-right: 22px !important;

    box-sizing: border-box !important;
    justify-content: center !important;
  }

  html.bobs-light-theme .pg-hero .pg-type-selector-header-tabs > button {
    flex: 0 1 1436px !important;
    width: calc(100vw - 44px) !important;
    max-width: 1436px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ===== END HOMEPAGE SELECTOR CENTER FIX ===== */



/* ==========================================================
   BOB'S TYPOGRAPHY — BLOCK / INDUSTRIAL OVERRIDE
   ========================================================== */

/* Clean readable body copy */
html.bobs-light-theme body,
html.bobs-light-theme p,
html.bobs-light-theme input,
html.bobs-light-theme textarea,
html.bobs-light-theme select {
    font-family: Arial, Helvetica, sans-serif !important;
}


/* Main display typography */
html.bobs-light-theme h1,
html.bobs-light-theme h2,
html.bobs-light-theme h3,
html.bobs-light-theme h4,
html.bobs-light-theme .pg-inventory-card-short-label,
html.bobs-light-theme .pg-inventory-card-make-year,
html.bobs-light-theme .pg-team-member-name,
html.bobs-light-theme legend {
    font-family: Impact, Haettenschweiler, "Arial Black", "Franklin Gothic Heavy", sans-serif !important;

    font-weight: 400 !important;
    letter-spacing: 0.025em !important;
    line-height: 1.05;
}


/* Motorcycle/page titles — strong but not cramped */
html.bobs-light-theme h1 {
    letter-spacing: 0.018em !important;
}


/* DESKTOP navigation — sharper, squarer dealership lettering */
@media (min-width: 1024px) {

    html.bobs-light-theme .pg-menu,
    html.bobs-light-theme .pg-menu > nav > ol > li > a {
        font-family: Impact, Haettenschweiler, "Arial Black", sans-serif !important;

        font-weight: 400 !important;
        letter-spacing: 0.035em !important;
        line-height: 1 !important;

        text-transform: uppercase;
    }

}


/* Buttons get the same strong visual language */
html.bobs-light-theme [class^="btn-"],
html.bobs-light-theme [class*=" btn-"],
html.bobs-light-theme button[type="submit"] {
    font-family: Impact, Haettenschweiler, "Arial Black", sans-serif !important;

    font-weight: 400 !important;
    letter-spacing: 0.035em !important;
}


/* Smaller headings should not become cartoonishly heavy */
html.bobs-light-theme h4,
html.bobs-light-theme h5,
html.bobs-light-theme h6 {
    letter-spacing: 0.02em !important;
}

