/* Speedioo account menu, My account and cart. */
:root { --sac-red: #D32F2F; --sac-ink: #18181A; --sac-muted: #6B6B66; --sac-line: #EFEDE8; --sac-soft: #F6F5F2; }

/* header: initials + dropdown */
.sac-av { width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--sac-ink); color: #FFFFFF; display: inline-grid; place-items: center; font-family: inherit; font-weight: 700; font-size: 15px; line-height: 1; letter-spacing: .5px; }
.sac-av--sm { width: 36px; height: 36px; font-size: 13.5px; }
a.sac-hlink { display: inline-flex !important; align-items: center; text-decoration: none !important; }
a.sac-hlink[aria-expanded="true"] .sac-av { box-shadow: 0 0 0 3px #FDECEA; }
.sac-dd { position: fixed; z-index: 100001; background: #FFFFFF; border-radius: 16px; border: 1px solid var(--sac-line); box-shadow: 0 24px 50px -12px rgba(0,0,0,.3); padding: 8px; font-family: inherit; }
.sac-dd[hidden] { display: none; }
.sac-dd-top { padding: 12px 12px 12px; border-bottom: 1px solid var(--sac-line); margin-bottom: 6px; display: flex; flex-direction: column; gap: 2px; }
.sac-dd-top strong { font-size: 16px; color: var(--sac-ink); }
.sac-dd-top span { font-size: 13.5px; color: #77776F; }
.sac-dd a { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--sac-ink) !important; text-decoration: none !important; }
.sac-dd a:hover, .sac-dd a:focus-visible { background: var(--sac-soft); outline: none; }
.sac-dd a.sac-out { color: #B71C1C !important; border-top: 1px solid var(--sac-line); border-radius: 0 0 10px 10px; margin-top: 6px; }
.sac-n { margin-left: auto; background: #FDECEA; color: var(--sac-red); font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; }

/* page background: grey behind the content, the header always stays white */
body.sac-page, body.sbp-body { background: #F3F2EF; }
body.sac-page header, body.sbp-body header,
body.sac-page [class*="templaza-header"], body.sbp-body [class*="templaza-header"],
body.sac-page [class*="header-wrap"], body.sbp-body [class*="header-wrap"] { background-color: #FFFFFF; }

/* shared */
.sac-h1 { margin: 0 0 6px !important; font-size: 34px !important; line-height: 1.1 !important; color: var(--sac-ink) !important; }
.sac-h2 { margin: 0 0 14px !important; font-size: 19px !important; color: var(--sac-ink) !important; }
.sac-card { background: #FFFFFF; border-radius: 18px; padding: 22px 24px; box-sizing: border-box; }
a.sac-btn, button.sac-btn, .sac-btn { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 48px; padding: 0 22px; border: 0; border-radius: 12px !important; background: var(--sac-red) !important; color: #FFFFFF !important; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 15px; text-decoration: none !important; text-transform: uppercase !important; letter-spacing: .5px; cursor: pointer; box-shadow: none !important; }
.sac-btn:hover { background: #B71C1C !important; }
.sac-btn--big { width: 100%; height: 54px; font-size: 17px; border-radius: 14px !important; }
a.sac-btn.sac-btn--ghost, .sac-btn.sac-btn--ghost { background: #FFFFFF !important; color: var(--sac-ink) !important; border: 1.5px solid var(--sac-ink) !important; }
a.sac-btn.sac-btn--ghost:hover { background: var(--sac-soft) !important; }
.sac-btn .woocommerce-Price-amount, .sac-btn bdi { color: inherit !important; }

/* My account layout (only once logged in; logged out shows the centred login) */
body.logged-in.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }
.sac-nav { background: #FFFFFF; border-radius: 18px; padding: 10px; }
.sac-me { display: flex; gap: 12px; align-items: center; padding: 12px 10px 16px; border-bottom: 1px solid var(--sac-line); margin-bottom: 8px; }
.sac-me .sac-av { width: 46px; height: 46px; font-size: 17px; }
.sac-me strong { display: block; font-size: 16px; }
.sac-me small { font-size: 13px; color: #77776F; }
.sac-nav ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 2px; }
.sac-nav li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.sac-nav li a { display: flex !important; align-items: center; gap: 12px; padding: 12px !important; border-radius: 10px; font-weight: 600; font-size: 15px; color: var(--sac-ink) !important; text-decoration: none !important; background: none !important; }
.sac-nav li a:hover { background: var(--sac-soft) !important; }
.sac-nav li.is-active a { background: #FFF5F4 !important; color: var(--sac-red) !important; }
.sac-nav li.sac-out a { color: #B71C1C !important; }

.sac-profile { display: flex; flex-direction: column; gap: 18px; }
.sac-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sac-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.sac-field > span:first-child { font-size: 13px; font-weight: 700; color: var(--sac-ink); }
.sac-field em { font-style: normal; font-weight: 400; color: #77776F; }
.sac-field input, .sac-select select { width: 100%; height: 48px !important; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #E2E0DA !important; border-radius: 12px !important; background: #FFFFFF !important; box-shadow: none !important; font: inherit; font-size: 15.5px !important; color: var(--sac-ink) !important; box-sizing: border-box; }
.sac-field input:focus, .sac-select select:focus { border-color: var(--sac-red) !important; outline: none; }
.sac-select { position: relative; display: block; }
.sac-select select { -webkit-appearance: none; appearance: none; background-image: none !important; padding-right: 40px !important; cursor: pointer; }
.sac-select::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid var(--sac-ink); border-bottom: 2px solid var(--sac-ink); transform: rotate(45deg); pointer-events: none; }
.sac-static { height: 48px; display: flex; align-items: center; gap: 6px; padding: 0 14px; border: 1.5px solid #EFEDE8; border-radius: 12px; background: #FAFAF8; font-size: 15.5px; }
.sac-muted { color: #9A9A94; }
.sac-ver { margin-left: auto; font-size: 12.5px; font-weight: 700; color: #1E7B3C; background: #E8F5EC; padding: 3px 9px; border-radius: 999px; }
.sac-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 18px; }
.sac-note { font-size: 13.5px; color: #77776F; }
.sac-cardhead { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 4px; }
.sac-cardhead .sac-h2 { margin: 0 !important; }
.sac-cartrow { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid #F1EFEA; }
.sac-cartrow strong { display: block; } .sac-cartrow small { color: #77776F; font-size: 14px; }
.sac-thumb { width: 72px; height: 54px; border-radius: 10px; background: #E6E4DF; overflow: hidden; flex: none; }
.sac-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sac-empty { margin: 8px 0 0; color: #55554F; }
.sac-empty a { color: var(--sac-red); font-weight: 700; }

/* cart */
.scart { display: flex; flex-direction: column; color: var(--sac-ink); }
.scart-sub { margin: 0 0 20px; color: #55554F; font-size: 15.5px; }
.scart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }
.scart-items { display: flex; flex-direction: column; gap: 14px; }
.scart-item { display: flex; gap: 16px; align-items: center; }
.scart-photo { width: 132px; height: 96px; border-radius: 12px; overflow: hidden; background: #E6E4DF; flex: none; }
.scart-photo img { width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; }
.scart-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.scart-info strong { font-size: 17px; }
.scart-meta { font-size: 14px; color: #77776F; }
.scart-tag { align-self: flex-start; font-size: 12.5px; font-weight: 700; padding: 4px 9px; border-radius: 999px; background: #FDECEA; color: var(--sac-red); margin-top: 4px; }
.scart-price { margin-left: auto; text-align: right; display: flex; flex-direction: column; gap: 2px; }
.scart-price b { font-family: 'Oswald', sans-serif; font-size: 24px; }
.scart-price small { font-size: 13px; color: #77776F; }
.scart-links { display: flex; gap: 14px; justify-content: flex-end; font-size: 14px; font-weight: 600; margin-top: 6px; }
.scart-links a { color: var(--sac-ink) !important; text-decoration: none; white-space: nowrap; }
.scart-links a.scart-rm { color: #B71C1C !important; }
.scart-side { display: flex; flex-direction: column; gap: 14px; }
.scart-line { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #F1EFEA; font-size: 15px; }
.scart-line span:first-child { color: #77776F; }
.scart-total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 16px; font-weight: 700; }
.scart-total b { font-family: 'Oswald', sans-serif; font-size: 30px; }
.scart-safe { display: flex; gap: 8px; align-items: center; justify-content: center; margin: 12px 0 0; font-size: 13.5px; color: #77776F; }
.scart-store { display: flex; gap: 10px; align-items: center; padding: 12px 14px; margin-top: 14px; border: 1.5px dashed var(--sac-red); border-radius: 14px; background: #FFF7F6; color: var(--sac-ink) !important; text-decoration: none !important; font-size: 14px; }
.scart-store > svg { color: var(--sac-red); flex: none; }
.scart-store span:not(.scart-map) { display: flex; flex-direction: column; line-height: 1.3; flex: 1; }
.scart-store small { color: #77776F; font-size: 13px; }
.scart-map { color: var(--sac-red); font-weight: 700; white-space: nowrap; }
.scart-next { background: #18181A; color: #FFFFFF; border-radius: 16px; padding: 18px 20px; }
.scart-next strong { display: block; margin-bottom: 10px; }
.scart-next ol { margin: 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 8px; }
.scart-next li { counter-increment: s; display: flex; gap: 10px; font-size: 14.5px; color: #E2E2DE; }
.scart-next li::before { content: counter(s); width: 22px; height: 22px; flex: none; border-radius: 50%; background: #2A2A2D; color: #FF7A6E; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.scart-bar { display: none; }
.scart-empty { text-align: center; padding: 50px 24px; display: flex; flex-direction: column; align-items: center; gap: 8px; max-width: 520px; margin: 0 auto; }
.scart-empty p { margin: 0 0 14px; color: #55554F; }
.scart-empty .sac-btn { max-width: 260px; }
.scart-emptyicon { width: 80px; height: 80px; border-radius: 50%; background: #F3F2EF; color: var(--sac-red); display: grid; place-items: center; margin-bottom: 8px; }

@media (max-width: 900px) {
  body.logged-in.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .sac-me { display: none; }
  .sac-nav { background: none; padding: 0; }
  .sac-nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .sac-nav li a { justify-content: center; background: #FFFFFF !important; border-radius: 999px; padding: 10px 6px !important; font-size: 14px; }
  .sac-nav li a svg { display: none; }
  .sac-nav li.is-active a { background: var(--sac-red) !important; color: #FFFFFF !important; }
  .sac-grid { grid-template-columns: minmax(0, 1fr); }
  .sac-actions .sac-btn { width: 100%; }
  .sac-card { padding: 18px; }
  .sac-h1 { font-size: 28px !important; }
  .scart-grid { grid-template-columns: minmax(0, 1fr); }
  .scart-item { flex-wrap: wrap; align-items: flex-start; }
  .scart-photo { width: 96px; height: 72px; }
  .scart-price { margin-left: 0; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; text-align: left; }
  .scart-price .scart-links { margin: 0 0 0 auto; }
  .scart-sum .sac-btn, .scart-sum .scart-safe { display: none; }
  .scart-bar { display: flex; flex-direction: column; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: #FFFFFF; border-top: 1px solid #E9E7E2; padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -10px 30px -12px rgba(0,0,0,.18); }
  .scart-bar > div { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; }
  .scart-bar b { font-family: 'Oswald', sans-serif; font-size: 24px; }
  body.woocommerce-cart { padding-bottom: 130px; }
}

/* logged out My account page: login centred */
body:not(.logged-in).woocommerce-account .woocommerce { display: block; }

/* My test rides */
.sac-rides { display: flex; flex-direction: column; }
.sac-ride { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid #F1EFEA; }
.sac-ride:first-child { border-top: 0; }
.sac-ride-date { width: 54px; height: 54px; flex: none; border-radius: 12px; background: #FDECEA; color: var(--sac-red); display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; text-transform: uppercase; line-height: 1.1; }
.sac-ride-date b { font-size: 20px; }
.sac-ride-info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.sac-ride-info strong a { color: var(--sac-ink); text-decoration: none; }
.sac-ride-info strong a:hover { color: var(--sac-red); }
.sac-ride-info small { color: #77776F; font-size: 14px; }
.sac-ride-status { font-size: 12.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #E8F5EC; color: #1E7B3C; white-space: nowrap; }
.sac-ride.is-past .sac-ride-date { background: #F3F2EF; color: #77776F; }
.sac-ride.is-past .sac-ride-status { background: #F3F2EF; color: #77776F; }
@media (max-width: 900px) { .sac-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---- fixes: initials colour, account menu text, page spacing ---- */
.sac-av, a .sac-av, .sac-hlink .sac-av { color: #FFFFFF !important; }

.sac-nav li a, .woocommerce-MyAccount-navigation.sac-nav li a {
  justify-content: flex-start !important; font-family: inherit !important; font-size: 15px !important; font-weight: 600 !important;
  line-height: 1.3 !important; text-transform: none !important; letter-spacing: normal !important; height: auto !important;
}
.sac-nav li a svg { flex: none; width: 18px; height: 18px; }
.sac-me strong { font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.3; }

/* our pages have their own titles: hide the theme's empty page-title area and tighten the top gap */
body.sac-page .templaza-basic-single-heading,
body.sac-page .templaza-heading-wrap,
body.sac-page .templaza-page-title { display: none !important; }
body.sac-page .templaza-basic-wrap,
body.sac-page .templaza-content-session,
body.sac-page #templaza-content,
body.sac-page .templaza-content { padding-top: 32px !important; margin-top: 0 !important; }
body.sac-page .woocommerce { margin-top: 0 !important; }
.scart .sac-h1, .sac-profile .sac-h1 { margin-top: 0 !important; }
.scart-sub { margin-bottom: 18px; }
@media (max-width: 900px) {
  body.sac-page .templaza-basic-wrap, body.sac-page .templaza-content-session,
  body.sac-page #templaza-content, body.sac-page .templaza-content { padding-top: 18px !important; }
}

/* My sell requests */
.sac-sells { display: flex; flex-direction: column; }
.sac-sell { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid #F1EFEA; }
.sac-sell:first-child { border-top: 0; }
.sac-sell-mark { width: 54px; height: 54px; flex: none; border-radius: 14px; background: var(--sac-ink); color: #FFFFFF; display: grid; place-items: center; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 19px; }
.sac-sell-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sac-sell-info strong { font-size: 16.5px; }
.sac-sell-info small { color: #77776F; font-size: 14px; }
.sac-sell-info .sac-sell-when { font-size: 13px; color: #9A9A94; }
.sac-sell-empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.sac-sell-empty p { margin: 0; color: #55554F; }
.sac-sell-empty strong { color: var(--sac-ink); }

/* ---------- checkout ---------- */
.scheckout { color: var(--sac-ink); }
.sco-steps { list-style: none; margin: 4px 0 20px !important; padding: 0 !important; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; }
.sco-steps li { display: flex; align-items: center; gap: 8px; color: #9A9A94; margin: 0 !important; }
.sco-steps li + li::before { content: ""; width: 40px; height: 2px; background: #E2E0DA; margin-right: 2px; }
.sco-steps li.is-done + li::before { background: #2E9E55; }
.sco-steps li span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; border: 1.5px solid #D6D3CC; background: #FFFFFF; }
.sco-steps li.is-done, .sco-steps li.is-now { color: var(--sac-ink); }
.sco-steps li.is-done span { background: #2E9E55; border-color: #2E9E55; color: #FFFFFF; }
.sco-steps li.is-now span { background: var(--sac-red); border-color: var(--sac-red); color: #FFFFFF; }
.sco-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sco-h2 { display: flex; align-items: center; gap: 10px; }
.sco-n { width: 26px; height: 26px; border-radius: 50%; background: var(--sac-ink); color: #FFFFFF; font-size: 13px; display: grid; place-items: center; flex: none; }

.sco-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sco-fields .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.sco-fields .form-row label { display: block; font-size: 13px; font-weight: 700; margin: 0 0 6px; color: var(--sac-ink); }
.sco-fields .form-row label .required { color: var(--sac-red); text-decoration: none; }
.sco-fields .form-row label .optional { display: none; }
.sco-fields input.input-text, .sco-fields select { width: 100% !important; height: 48px !important; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #E2E0DA !important; border-radius: 12px !important; background: #FFFFFF !important; box-shadow: none !important; font: inherit; font-size: 15.5px !important; color: var(--sac-ink) !important; box-sizing: border-box; }
.sco-fields input.input-text:focus, .sco-fields select:focus { border-color: var(--sac-red) !important; outline: none; }
.sco-fields input[readonly] { background: #FAFAF8 !important; border-color: #EFEDE8 !important; color: #55554F !important; }
.sco-fields .sac-f-verified { position: relative; }
.sco-fields .sac-f-verified::after { content: "✓ Verified"; position: absolute; right: 12px; bottom: 13px; font-size: 12.5px; font-weight: 700; color: #1E7B3C; background: #E8F5EC; padding: 3px 9px; border-radius: 999px; }
.sco-fields .woocommerce-invalid input, .sco-fields .woocommerce-invalid select { border-color: #A61B1B !important; }
.sco-fields .select2-container { width: 100% !important; }
.sco-fields .select2-container .select2-selection--single { height: 48px; border: 1.5px solid #E2E0DA; border-radius: 12px; }
.sco-fields .select2-container .select2-selection__rendered { line-height: 46px; padding-left: 14px; }
.sco-fields .select2-container .select2-selection__arrow { height: 46px; }

#payment.woocommerce-checkout-payment { background: transparent !important; border-radius: 0; }
#payment ul.payment_methods { list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; display: grid; gap: 10px; }
#payment ul.payment_methods li { margin: 0 !important; padding: 14px 16px !important; border: 1.5px solid #E2E0DA; border-radius: 14px; background: #FFFFFF; line-height: 1.4; }
#payment ul.payment_methods li:has(input:checked) { border: 2px solid var(--sac-red); background: #FFF7F6; }
#payment ul.payment_methods li > input { accent-color: var(--sac-red); margin-right: 8px; vertical-align: middle; }
#payment ul.payment_methods li > label { font-weight: 700; font-size: 15.5px; cursor: pointer; display: inline; }
#payment ul.payment_methods li img { max-height: 22px; vertical-align: middle; margin-left: 6px; display: inline-block; }
#payment div.payment_box { margin: 10px 0 0 !important; padding: 0 !important; background: none !important; font-size: 14px; color: #55554F; }
#payment div.payment_box::before { display: none !important; }
#payment .sco-nopay { color: #A61B1B; }
.sco-terms { margin-top: 14px; font-size: 14px; color: #3E3E3A; }
.sco-terms .woocommerce-terms-and-conditions-wrapper p { margin: 0; }
.sco-terms input[type="checkbox"] { accent-color: var(--sac-red); width: 18px; height: 18px; vertical-align: middle; margin-right: 6px; }

.sco-bike { display: flex; gap: 12px; align-items: center; padding-bottom: 14px; margin-bottom: 4px; border-bottom: 1px solid #F1EFEA; }
.sco-bike > span:last-child { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sco-bike strong { font-size: 16px; }
.sco-bike small { color: #77776F; font-size: 13.5px; }
.scart-photo.sco-photo { width: 84px; height: 62px; }
#place_order { width: 100%; }
.sco-demo { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #FFF4E0; color: #7A4A00; font-size: 13px; line-height: 1.45; }
.woocommerce-checkout .woocommerce-NoticeGroup, .woocommerce-checkout .woocommerce-error { border-radius: 12px; }

/* order received */
.sco-done { display: flex; justify-content: center; }
.sco-result { width: min(560px, 100%); text-align: center; padding: 32px 26px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.sco-result p { margin: 0 0 6px; color: #55554F; line-height: 1.6; }
.sco-icon { width: 76px; height: 76px; border-radius: 50%; background: var(--sac-red); color: #FFFFFF; display: grid; place-items: center; font-size: 36px; font-weight: 700; margin-bottom: 6px; }
.sco-icon--fail { background: #F3F2EF; color: #A61B1B; }
.sco-title-ok { color: #1E7B3C !important; }
.sco-title-fail { color: #A61B1B !important; }
.sco-next { width: 100%; text-align: left; margin-top: 6px; }
.sco-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-top: 8px; }

@media (max-width: 900px) {
  .sco-fields { grid-template-columns: minmax(0, 1fr); }
  .scheckout .scart-sum #place_order, .scheckout .scart-sum .scart-safe { display: none; }
  body.woocommerce-checkout { padding-bottom: 130px; }
  .sco-steps { flex-wrap: nowrap; gap: 6px; font-size: 12.5px; }
  .sco-steps li { gap: 5px; white-space: nowrap; }
  .sco-steps li + li::before { width: 12px; }
}

/* demo card fields */
.sco-card-hint { margin: 0 0 10px; font-size: 13.5px; color: #7A4A00; background: #FFF4E0; padding: 9px 12px; border-radius: 10px; }
.sco-card { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sco-card label { display: flex; flex-direction: column; gap: 5px; margin: 0; font-size: 12.5px; font-weight: 700; color: var(--sac-ink); }
.sco-card .sco-card-num { grid-column: 1 / -1; }
.sco-card input { height: 46px !important; margin: 0 !important; padding: 0 12px !important; border: 1.5px solid #E2E0DA !important; border-radius: 10px !important; background: #FFFFFF !important; font: inherit; font-size: 15.5px !important; letter-spacing: 1px; box-shadow: none !important; }
.sco-card input:focus { border-color: var(--sac-red) !important; outline: none; }

/* My bookings */
.sac-books { display: flex; flex-direction: column; }
.sac-book { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid #F1EFEA; }
.sac-book:first-child { border-top: 0; }
.sac-book-img { width: 84px; height: 62px; }
.sac-book-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.sac-book-info strong a { color: var(--sac-ink); text-decoration: none; }
.sac-book-info strong a:hover { color: var(--sac-red); }
.sac-book-info small { color: #77776F; font-size: 14px; }
.sac-book-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.sac-badge { font-size: 12.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.sac-badge--green { background: #E8F5EC; color: #1E7B3C; }
.sac-badge--amber { background: #FFF4E0; color: #7A4A00; }
.sac-badge--red { background: #FDECEA; color: #A61B1B; }
.sac-badge--grey { background: #F3F2EF; color: #77776F; }
a.sac-btn.sac-btn--small { height: 36px; padding: 0 14px; font-size: 13px; border-radius: 10px !important; }
@media (max-width: 900px) { .sac-book { flex-wrap: wrap; } .sac-book-side { flex-direction: row; align-items: center; width: 100%; justify-content: space-between; } }

/* realistic card form */
.sco-brands { display: inline-flex; gap: 6px; vertical-align: middle; margin-left: 8px; }
.sco-brands svg { display: block; border-radius: 4px; }
#payment ul.payment_methods li img, #payment ul.payment_methods li .sco-brands { float: none; }
.sco-cc { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.sco-cc label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 13px; font-weight: 700; color: var(--sac-ink); }
.sco-cc .sco-cc-wide { grid-column: 1 / -1; }
.sco-cc input { width: 100%; height: 48px !important; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #E2E0DA !important; border-radius: 12px !important; background: #FFFFFF !important; font: inherit; font-size: 16px !important; font-weight: 500; color: var(--sac-ink) !important; box-shadow: none !important; box-sizing: border-box; }
.sco-cc input[data-sco-cardnum] { letter-spacing: 1.5px; padding-right: 92px !important; }
.sco-cc input:focus { border-color: var(--sac-red) !important; outline: none; }
.sco-cc-numwrap { position: relative; display: block; }
.sco-cc-brand { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 800; letter-spacing: .5px; color: #9A9A94; text-transform: uppercase; }
.sco-cc-brand.is-visa { color: #1A1F71; font-style: italic; font-size: 15px; }
.sco-cc-brand.is-mastercard { color: #EB001B; }
.sco-cc-brand.is-rupay { color: #0E4C92; font-style: italic; }
.sco-cc-secure { display: flex; gap: 6px; align-items: center; margin: 12px 0 0; font-size: 13px; color: #77776F; }

/* ---------- custom Quick View ---------- */
html.sqv-lock, html.sqv-lock body { overflow: hidden; }
.sqv { position: fixed; inset: 0; z-index: 100003; display: flex; align-items: center; justify-content: center; padding: 20px; color: var(--sac-ink); }
.sqv[hidden] { display: none; }
.sqv-bg { position: absolute; inset: 0; background: rgba(24,24,26,.6); }
.sqv-box { position: relative; width: min(980px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #FFFFFF; border-radius: 22px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.45); }
.sqv button { font-family: inherit; }
.sqv .sqv-x { position: absolute; right: 14px; top: 14px; z-index: 3; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #F3F2EF; color: var(--sac-ink); font-size: 16px; cursor: pointer; display: grid; place-items: center; padding: 0; }
.sqv-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0; }
.sqv-left { padding: 20px; background: #F6F5F2; border-radius: 22px 0 0 22px; display: flex; flex-direction: column; gap: 10px; }
.sqv-photo { position: relative; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: #E6E4DF; display: grid; place-items: center; }
.sqv-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sqv-photo--empty { color: #8A8A83; font-weight: 600; }
.sqv .sqv-arrow { position: absolute; top: 50%; width: 40px; height: 40px; margin-top: -20px; border: 0; border-radius: 50%; background: #FFFFFF; color: var(--sac-ink); font-size: 22px; line-height: 1; cursor: pointer; display: grid; place-items: center; box-shadow: 0 2px 8px rgba(0,0,0,.15); padding: 0; }
.sqv .sqv-prev { left: 12px; } .sqv .sqv-next { right: 12px; }
.sqv-count { position: absolute; right: 12px; bottom: 12px; background: rgba(24,24,26,.75); color: #FFFFFF; padding: 5px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; }
.sqv-res { position: absolute; left: 12px; top: 12px; padding: 6px 12px; border-radius: 999px; background: #D32F2F; box-shadow: 0 2px 6px rgba(0,0,0,.25); color: #FFFFFF; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; }
.sqv-thumbs { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 5); gap: 10px; overflow-x: auto; scrollbar-width: none; }
.sqv-thumbs::-webkit-scrollbar { display: none; }
.sqv .sqv-thumbs button { aspect-ratio: 4 / 3; border: 2px solid transparent; border-radius: 10px; overflow: hidden; padding: 0; cursor: pointer; background: #E6E4DF; }
.sqv .sqv-thumbs button.is-on { border-color: var(--sac-red); }
.sqv-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sqv-right { padding: 30px 28px 26px; display: flex; flex-direction: column; gap: 10px; }
.sqv-make { font-size: 13px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #77776F; }
.sqv .sqv-title { margin: 0 !important; font-size: 32px !important; line-height: 1.1 !important; color: var(--sac-ink) !important; padding-right: 40px; }
.sqv-sub { font-size: 15px; color: #55554F; }
.sqv-price { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-top: 1px solid #EFEDE8; border-bottom: 1px solid #EFEDE8; margin: 6px 0 2px; }
.sqv-price span { font-size: 13px; color: #77776F; }
.sqv-price strong { font-family: 'Oswald', sans-serif; font-size: 36px; line-height: 1; }
.sqv-price small { font-size: 13px; color: #77776F; }
.sqv-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sqv-fact { background: #F6F5F2; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.sqv-fact span { font-size: 12px; color: #77776F; }
.sqv-fact strong { font-size: 15px; }
.sqv-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
a.sqv-btn, .sqv-btn { display: flex; align-items: center; justify-content: center; height: 50px; border-radius: 14px; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .5px; text-transform: uppercase; text-decoration: none !important; text-align: center; padding: 0 10px; }
.sqv-btn--red { background: var(--sac-red); color: #FFFFFF !important; }
.sqv-btn--red:hover { background: #B71C1C; }
.sqv-btn--dark { background: var(--sac-ink); color: #FFFFFF !important; }
.sqv-btn--ghost { background: #FFFFFF; color: var(--sac-ink) !important; border: 1.5px solid var(--sac-ink); }
.sqv-btn--off { background: #E9E7E2; color: #77776F; cursor: not-allowed; }
.sqv-call { align-self: center; margin-top: 4px; font-size: 14px; font-weight: 600; color: #55554F !important; text-decoration: none; }
.sqv-call:hover { color: var(--sac-red) !important; }
.sqv-loading { grid-column: 1 / -1; padding: 70px 20px; text-align: center; color: #77776F; font-weight: 600; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sqv-loading span { width: 34px; height: 34px; border-radius: 50%; border: 3px solid #EFEDE8; border-top-color: var(--sac-red); animation: sqvspin .8s linear infinite; }
@keyframes sqvspin { to { transform: rotate(360deg); } }
@media (max-width: 760px) {
  .sqv { padding: 0; align-items: flex-end; }
  .sqv-box { border-radius: 22px 22px 0 0; max-height: 92vh; }
  .sqv-body { grid-template-columns: minmax(0, 1fr); }
  .sqv-left { border-radius: 22px 22px 0 0; padding: 14px; }
  .sqv-right { padding: 18px 18px calc(20px + env(safe-area-inset-bottom, 0px)); }
  .sqv .sqv-title { font-size: 26px !important; }
}
@media (prefers-reduced-motion: reduce) { .sqv-loading span { animation: none; } }

.sqv-actions .sqv-btn--full { grid-column: 1 / -1; }



/* ---------- Wishlist ---------- */
.sac-heart-host { position: relative !important; }
button.sac-heart, .sbp button.sac-heart {
  position: absolute; right: 12px; top: 12px; z-index: 6; width: 42px; height: 42px; padding: 0; margin: 0;
  border: 0; border-radius: 50%; background: #FFFFFF; color: #18181A; cursor: pointer;
  display: grid; place-items: center; box-shadow: 0 2px 10px rgba(0,0,0,.18); transition: transform .12s, color .12s;
}
button.sac-heart:hover { transform: scale(1.06); color: #D32F2F; }
button.sac-heart.is-on { color: #D32F2F; }
button.sac-heart.is-on svg path { fill: #D32F2F; stroke: #D32F2F; }
button.sac-heart:focus-visible { outline: 2px solid #18181A; outline-offset: 2px; }

.sac-hwish { position: relative; display: inline-grid !important; place-items: center; width: 36px; height: 36px; margin-right: 6px; color: #18181A !important; text-decoration: none !important; vertical-align: middle; }
.sac-hwish:hover { color: #D32F2F !important; }
.sac-hwish-n { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #D32F2F; color: #FFFFFF; font: 700 11px/18px Arial, sans-serif; text-align: center; }
.sac-hwish-n[hidden] { display: none; }

.sac-toast { position: fixed; left: 50%; bottom: 24px; z-index: 100004; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: #18181A; color: #FFFFFF; padding: 11px 18px; border-radius: 12px; font-size: 14.5px; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); transition: opacity .2s, transform .2s; white-space: nowrap; }
.sac-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.sac-toast a { color: #FF8A80 !important; text-decoration: underline; font-weight: 700; }
@media (max-width: 900px) { .sac-toast { bottom: calc(140px + env(safe-area-inset-bottom, 0px)); } }

/* My account → My wishlist */
.sac-wl { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); gap: 14px; }
.sac-wl-item { position: relative; background: #FFFFFF; border: 1px solid #EFEDE8; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; transition: opacity .15s; }
.sac-wl-ph { position: relative; display: block; aspect-ratio: 16 / 10; background: #E6E4DF; }
.sac-wl-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sac-wl-bk { position: absolute; left: 8px; top: 8px; padding: 4px 10px; border-radius: 999px; background: #D32F2F; color: #FFFFFF; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
button.sac-wl-x { position: absolute; right: 8px; top: 8px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #FFFFFF; color: #18181A; font-size: 13px; cursor: pointer; display: grid; place-items: center; box-shadow: 0 1px 4px rgba(0,0,0,.2); padding: 0; }
button.sac-wl-x:hover { color: #D32F2F; }
.sac-wl-b { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 3px; flex: 1; }
.sac-wl-b strong { font-size: 15px; }
.sac-wl-b small { font-size: 13px; color: #77776F; }
.sac-wl-b b { font-family: 'Oswald', sans-serif; font-size: 19px; margin: 4px 0 8px; }
.sac-wl-b .sac-btn { margin-top: auto; width: 100%; }
.sac-empty[hidden] { display: none; }

/* Compare / spec list: Make and Model use Font Awesome icons, which that screen doesn't load.
   Draw our red icons in their place (only inside .ap-specification spec icons). */
.ap-specification .ap-style5-icon i.fa-motorcycle,
.ap-specification .ap-style5-icon i.fa-buffer {
  display: inline-block !important; width: 22px; height: 22px; vertical-align: middle;
  font-size: 0 !important; line-height: 0 !important; color: transparent !important;
  background: no-repeat center / contain;
}
.ap-specification .ap-style5-icon i.fa-motorcycle::before,
.ap-specification .ap-style5-icon i.fa-buffer::before { content: none !important; }
.ap-specification .ap-style5-icon i.fa-motorcycle { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E %3Cg fill=%22none%22 stroke=%22%23E2412E%22 stroke-width=%225%22%3E%3Ccircle cx=%2213%22 cy=%2244%22 r=%228.5%22/%3E%3Ccircle cx=%2251%22 cy=%2244%22 r=%228.5%22/%3E%3C/g%3E %3Ccircle cx=%2213%22 cy=%2244%22 r=%222.5%22 fill=%22%23E2412E%22/%3E%3Ccircle cx=%2251%22 cy=%2244%22 r=%222.5%22 fill=%22%23E2412E%22/%3E %3Cpath fill=%22%23E2412E%22 d=%22M20 28h11l4 6h7l5-7h-6l-1-4h7c2 0 3 1 4 2l3 5c1 2 0 3-2 3h-2l-6 11H34l-6-9h-6l-4 4-4-3 5-6c1-1.5 1-2 1-2z%22/%3E %3Cpath fill=%22%23E2412E%22 d=%22M24 22h9c1.5 0 2.5 1 2.5 2.5S34.5 27 33 27h-9c-1.5 0-2.5-1-2.5-2.5S22.5 22 24 22z%22/%3E %3Cpath fill=%22none%22 stroke=%22%23E2412E%22 stroke-width=%224%22 stroke-linecap=%22round%22 d=%22M44 23l3-7h5%22/%3E %3C/svg%3E"); }
.ap-specification .ap-style5-icon i.fa-buffer { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Cpath fill=%22%23E2412E%22 d=%22M32 6 4 20l28 14 28-14L32 6z%22/%3E%3Cpath fill=%22none%22 stroke=%22%23E2412E%22 stroke-width=%225%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 d=%22M6 32l26 13 26-13M6 44l26 13 26-13%22/%3E%3C/svg%3E"); }

/* ---- wishlist fixes: the theme styles every <button>; keep our heart round and white ---- */
.sac-heart-host button.sac-heart, button.sac-heart.sac-heart, .sbp button.sac-heart {
  position: absolute !important; right: 12px !important; top: 12px !important; left: auto !important; bottom: auto !important;
  width: 42px !important; height: 42px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important; background: #FFFFFF !important; color: #18181A !important;
  display: grid !important; place-items: center !important; line-height: 1 !important; font-size: 0 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.18) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.sac-heart-host button.sac-heart:hover, button.sac-heart.sac-heart:hover { color: #D32F2F !important; background: #FFFFFF !important; }
.sac-heart-host button.sac-heart.is-on, button.sac-heart.sac-heart.is-on { color: #D32F2F !important; }
button.sac-heart.sac-heart svg { width: 20px !important; height: 20px !important; display: block !important; }
button.sac-heart.sac-heart svg path { stroke: currentColor !important; }
button.sac-heart.sac-heart.is-on svg path { fill: #D32F2F !important; stroke: #D32F2F !important; }
button.sac-wl-x.sac-wl-x { border-radius: 50% !important; background: #FFFFFF !important; color: #18181A !important; padding: 0 !important; width: 32px !important; height: 32px !important; min-width: 0 !important; line-height: 1 !important; }
.sac-hwish.sac-hwish { color: #18181A !important; background: none !important; }
.sac-hwish.sac-hwish svg { width: 22px; height: 22px; display: block; }

/* ---- My account on phones: menu as one swipeable row, cards fit the screen ---- */
@media (max-width: 900px) {
  .woocommerce-account .woocommerce, .woocommerce-account .woocommerce-MyAccount-content, .sac-profile, .sac-card { min-width: 0; max-width: 100%; }
  .sac-card { overflow: hidden; }
  .sac-nav { overflow: hidden; }
  .sac-nav ul { display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; overflow-x: auto; padding: 2px 2px 6px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .sac-nav ul::-webkit-scrollbar { display: none; }
  .sac-nav li { flex: none; }
  .sac-nav li a { white-space: nowrap; padding: 10px 14px !important; }
  .sac-nav li a .sac-n { margin-left: 6px; }
  .sac-wl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sac-wl-b strong { font-size: 14px; }
  .sac-wl-b b { font-size: 17px; }
  .sac-book-img { width: 72px; height: 54px; }
  .sac-cardhead { flex-wrap: wrap; }
  .sac-sell, .sac-ride, .sac-book { min-width: 0; }
  .sac-sell-info, .sac-ride-info, .sac-book-info { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 340px) { .sac-wl { grid-template-columns: minmax(0, 1fr); } }

/* ---- header icons: heart, cart and initials on one line, same size, same spacing ---- */
.sac-hgroup { display: inline-flex !important; align-items: center !important; gap: 20px; vertical-align: middle; line-height: 1; }
.sac-hgroup > a, .sac-hgroup > button, .sac-hgroup > span { margin: 0 !important; position: relative; display: inline-flex !important; align-items: center; justify-content: center; height: 36px; line-height: 1 !important; vertical-align: middle; }
.sac-hwish.sac-hwish { width: 28px; height: 36px; margin: 0 !important; }
.sac-hwish.sac-hwish svg { width: 24px; height: 24px; }
.sac-hwish-n.sac-hwish-n { top: -6px; right: -14px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #E2412E; font: 700 12px/20px Arial, sans-serif; }
a.sac-hlink.sac-hlink { display: inline-flex !important; align-items: center !important; height: 36px; margin-left: 20px !important; vertical-align: middle; line-height: 1 !important; }
a.sac-hlink .sac-av, .sac-hlink .sac-av--sm { width: 36px !important; height: 36px !important; font-size: 13.5px !important; line-height: 36px !important; color: #FFFFFF !important; text-align: center; display: inline-block !important; letter-spacing: .5px; }

/* ---------- My account tabs ---------- */
.sac-tabs.is-tabbed > [hidden] { display: none !important; }
.sac-tab { display: flex; flex-direction: column; gap: 18px; }
section.sac-tab { display: block; }
.sac-tab-title { margin: 0 0 4px !important; font-size: 30px !important; line-height: 1.15 !important; color: var(--sac-ink) !important; outline: none; }
.sac-tab-sub { margin: 0 0 18px; color: #77776F; font-size: 14.5px; }
.sac-tab .sac-cardhead .sac-tab-title { margin: 0 !important; }
.sac-tab .sac-note { margin-top: 14px; }

/* photo cards for bookings and test rides (same look as the wishlist) */
.sac-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 14px; }
.sac-xcard { background: #FFFFFF; border: 1px solid #EFEDE8; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.sac-xcard.is-past { opacity: .85; }
.sac-xcard-ph { position: relative; display: block; aspect-ratio: 16 / 10; background: #E6E4DF; }
.sac-xcard-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sac-xbadge { position: absolute; left: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; color: #FFFFFF; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.sac-xbadge--right { left: auto; right: 10px; }
.sac-xbadge--green { background: #1E7B3C; }
.sac-xbadge--amber { background: #D98E04; }
.sac-xbadge--red { background: #D32F2F; }
.sac-xbadge--grey { background: #77776F; }
.sac-xdate { position: absolute; left: 10px; bottom: 10px; width: 52px; height: 52px; border-radius: 12px; background: #FFFFFF; color: var(--sac-red); display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; text-transform: uppercase; line-height: 1.1; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.sac-xdate b { font-size: 20px; line-height: 1; }
.sac-xcard-b { padding: 11px 12px 12px; display: flex; flex-direction: column; gap: 3px; flex: 1; }
.sac-xcard-b strong { font-size: 15px; }
.sac-xcard-b small { font-size: 13px; color: #77776F; }
.sac-xcard-b .sac-xmeta { font-size: 12.5px; color: #9A9A94; }
.sac-xrow { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 4px 0 2px; }
.sac-xrow b { font-family: 'Oswald', sans-serif; font-size: 19px; }
.sac-xrow span { font-size: 12.5px; color: #55554F; text-align: right; }
a.sac-btn.sac-xbtn { margin-top: auto; width: 100%; }
.sac-xcard-b .sac-xmeta + .sac-xbtn, .sac-xcard-b small + .sac-xbtn { margin-top: 10px; }
@media (max-width: 900px) {
  .sac-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sac-tab-title { font-size: 24px !important; }
  .sac-xcard-b strong { font-size: 14px; }
  .sac-xrow { flex-direction: column; gap: 0; }
  .sac-xrow span { text-align: left; }
}
@media (max-width: 340px) { .sac-cards { grid-template-columns: minmax(0, 1fr); } }

/* SOLD in Quick View and My wishlist */
.sqv-res.sqv-res--sold, .sac-wl-bk.sac-wl-bk--sold { background: #18181A; }
.sqv-price-sold, .sac-wl-b b.is-sold { filter: blur(7px); user-select: none; }

/* ---------- floating scan-to-sell QR (all !important: the theme styles every button) ---------- */
.sac-qrf { position: fixed !important; z-index: 9980 !important; touch-action: none; user-select: none; transition: left .25s, top .25s, right .25s, bottom .25s; font-family: Roboto, Arial, sans-serif; line-height: 1.2; }
.sac-qrf.is-dragging { transition: none !important; }
.sac-qrf--bl { left: 18px; bottom: 18px; } .sac-qrf--br { right: 18px; bottom: 90px; }
.sac-qrf--tl { left: 18px; top: 120px; }   .sac-qrf--tr { right: 18px; top: 120px; }
.sac-qrf-card { width: 158px !important; box-sizing: border-box !important; margin: 0 !important; background: #FFFFFF !important; border-radius: 14px !important; overflow: hidden !important;
  box-shadow: 0 12px 30px -10px rgba(0,0,0,.4), 0 0 0 1px rgba(0,0,0,.06) !important; display: flex !important; flex-direction: column !important; }
.sac-qrf-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 6px !important; padding: 7px 7px 7px 11px !important; margin: 0 !important; background: #D32F2F !important; cursor: grab !important; }
.sac-qrf.is-dragging .sac-qrf-head { cursor: grabbing !important; }
.sac-qrf-head strong { margin: 0 !important; padding: 0 !important; white-space: nowrap !important; font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif !important; font-weight: 600 !important; font-size: 12.5px !important; line-height: 1 !important; letter-spacing: .3px !important; text-transform: uppercase !important; color: #FFFFFF !important; }
.sac-qrf button.sac-qrf-min { all: unset; box-sizing: border-box !important; width: 22px !important; height: 22px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important;
  background: rgba(255,255,255,.22) !important; color: #FFFFFF !important; display: grid !important; place-items: center !important; cursor: pointer !important; box-shadow: none !important; flex: none !important; }
.sac-qrf button.sac-qrf-min:hover { background: rgba(255,255,255,.38) !important; }
.sac-qrf-body { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; padding: 10px 10px 9px !important; margin: 0 !important; cursor: grab !important; }
.sac-qrf-body img { width: 116px !important; height: 116px !important; max-width: none !important; margin: 0 !important; display: block !important; border: 0 !important; border-radius: 6px !important; pointer-events: none !important; box-shadow: none !important; }
.sac-qrf-cap { margin: 0 !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.2 !important; color: #D32F2F !important; text-align: center !important; }
.sac-qrf button.sac-qrf-open { all: unset; box-sizing: border-box !important; width: 52px !important; height: 52px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important;
  background: #D32F2F !important; color: #FFFFFF !important; display: grid !important; place-items: center !important; cursor: pointer !important; box-shadow: 0 10px 24px -8px rgba(211,47,47,.65) !important; }
.sac-qrf button.sac-qrf-open:hover { background: #B71C1C !important; }
.sac-qrf button:focus-visible { outline: 2px solid #18181A !important; outline-offset: 2px !important; }
.sac-qrf[hidden], .sac-qrf-card[hidden], .sac-qrf button.sac-qrf-open[hidden] { display: none !important; }

/* floating QR: computers only (hidden on phones, tablets and touch screens) */
@media (max-width: 1199px), (hover: none) and (pointer: coarse) { .sac-qrf, .sac-qrf[class] { display: none !important; } }

/* cart: booking terms under the items */
.scart-terms { padding: 18px 20px !important; }
.scart-terms-title { display: flex; align-items: center; gap: 8px; margin: 0 0 10px !important; font-size: 17px !important; line-height: 1.2 !important; color: var(--sac-ink) !important; }
.scart-terms-title svg { color: var(--sac-red); flex: none; }
.scart-terms ul { margin: 0 !important; padding: 0 0 0 20px !important; display: grid; gap: 7px; }
.scart-terms li { margin: 0 !important; font-size: 14px; line-height: 1.5; color: #3E3E3A; list-style: disc; }
.scart-terms li::marker { color: var(--sac-red); }
.scart-terms strong { color: var(--sac-ink); }

/* Buy page filter on phones/tablets (SW-43) */
@media (max-width: 1199px) {
  .spd-filter.spd-filter-hidden { display: none !important; }
  .spd-filter .templaza-filter-closed { cursor: pointer; z-index: 5; min-width: 44px; min-height: 44px; display: grid !important; place-items: center; }
}

/* ---------- floating WhatsApp + Call (SW-82) ---------- */
.sac-fab { position: fixed !important; right: 22px; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); z-index: 9970; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.sac-fab a.sac-fab-btn { display: flex !important; align-items: center; height: 56px; border-radius: 999px; color: #FFFFFF !important; text-decoration: none !important;
  box-shadow: 0 10px 24px -8px rgba(0,0,0,.45); overflow: hidden; transition: transform .15s; font: 600 15px/1 Roboto, Arial, sans-serif; }
.sac-fab a.sac-fab-btn:hover { transform: translateY(-2px); }
.sac-fab a.sac-fab-wa { background: #25D366 !important; }
.sac-fab a.sac-fab-call { background: #D32F2F !important; }
.sac-fab .sac-fab-ic { width: 56px; height: 56px; flex: none; display: grid; place-items: center; }
.sac-fab .sac-fab-lab { max-width: 0; opacity: 0; white-space: nowrap; transition: max-width .25s ease, opacity .2s ease, padding .25s ease; }
@media (hover: hover) and (min-width: 901px) {
  .sac-fab a.sac-fab-btn:hover .sac-fab-lab, .sac-fab a.sac-fab-btn:focus-visible .sac-fab-lab { max-width: 240px; opacity: 1; padding-right: 20px; }
}
.sac-fab a.sac-fab-btn:focus-visible { outline: 2px solid #18181A; outline-offset: 3px; }
@media (max-width: 900px) {
  .sac-fab { right: 14px; bottom: calc(72px + env(safe-area-inset-bottom, 0px)); gap: 10px; }
  .sac-fab a.sac-fab-btn { height: 50px; }
  .sac-fab .sac-fab-ic { width: 50px; height: 50px; }
  /* bike page: sit above the Book now / Test ride bar, and hide back-to-top there (SW-44) */
  .sac-fab.sac-fab--bike { bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  body.single-ap_product [class*="back-to-top"], body.single-ap_product [class*="backtotop"], body.single-ap_product [class*="gototop"],
  body.single-ap_product [id*="gototop"], body.single-ap_product [id*="back-to-top"], body.single-ap_product [class*="scroll-top"], body.single-ap_product [class*="scrolltop"] { display: none !important; }
}
@media print { .sac-fab { display: none !important; } }

/* our "Filter bikes" button (phones/tablets, while the filter is closed) */
button.spd-filter-open { display: none; }
@media (max-width: 1199px) {
  button.spd-filter-open:not([hidden]) {
    /* display: inline-flex !important; */
    align-items: center; gap: 8px; height: 44px !important; padding: 0 18px !important; margin: 0 0 14px !important;
    border-radius: 999px !important; border: 1.5px solid #18181A !important; background: #FFFFFF !important; color: #18181A !important;
    font: 600 15px/1 Roboto, Arial, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; box-shadow: none !important;
  }
}