/* RokaWorks shop – vehicle selector, badges, facts, add-ons, checkout VIN */
:root {
  --rw-bg: #000;
  --rw-surface: #111;
  --rw-surface-2: #1a1a1a;
  --rw-border: #2a2a2a;
  --rw-text: #fff;
  --rw-muted: #a3a3a3;
  --rw-primary: #fecb31;
  --rw-primary-hover: #e0ad14;
  --rw-ok: #4ade80;
  --rw-warn: #fbbf24;
}

/* Vehicle selector */
/* Flat full-bleed band: hairlines run to the viewport edges (border-image outset adds no scroll overflow). */
.rw-vehicle { display: grid; gap: 12px; padding: 20px 24px; background: transparent; border: 0; border-block: 1px solid var(--rw-border); border-image: linear-gradient(var(--rw-border), var(--rw-border)) 1 0 / 1px 0 / 0 100vmax; color: var(--rw-text); }
/* On the homepage the finder sits under a section heading, so it aligns with the text edge. */
.rw-vehicle--home { padding-inline: 0; }
/* Generous vertical breathing room around the finder band. */
.rw-vehicle { padding-block: 56px; }
/* The finder is a centred 75% column on every page; the search fills it. */
.rw-home-intro__finder > *, .rw-vehicle:not(.rw-vehicle--home) > * { width: min(100%, 75%); margin-inline: auto; }
.rw-vehicle--home .rw-vehicle__search { width: 100%; min-width: 0; }
.rw-vehicle__label { display: block; margin-bottom: 6px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--rw-muted); }
.rw-vehicle__label small { text-transform: none; letter-spacing: 0; }
/* Selected vehicle reads like the product breadcrumb: 13px regular, text links split by a vertical bar. */
.rw-vehicle__current { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13px; line-height: 1.4; }
.rw-vehicle__current .rw-vehicle__label { margin: 0; font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--rw-text); }
/* Actions keep a little more air from the vehicle name than from each other. */
.rw-vehicle__current .rw-vehicle__name + * { margin-left: 10px; }
.rw-vehicle__name { font-size: 13px; font-weight: 400; color: var(--rw-text); }
.rw-vehicle__current .rw-vehicle__btn--ghost { width: auto; min-height: 0; padding: 0; color: var(--rw-primary); background: none; border: 0; font: inherit; font-weight: 400; text-decoration: none; cursor: pointer; }
.rw-vehicle__current .rw-vehicle__btn--ghost:hover { background: none; color: var(--rw-text); }
.rw-vehicle__current .rw-vehicle__link { color: var(--rw-primary); text-decoration: none; }
.rw-vehicle__current .rw-vehicle__link:hover { color: var(--rw-text); }
.rw-vehicle__current .rw-vehicle__link + .rw-vehicle__btn--ghost::before,
.rw-vehicle__current .rw-vehicle__btn--ghost + .rw-vehicle__btn--ghost::before { content: "|"; margin-right: 6px; color: var(--rw-border); }
.rw-vehicle__current[hidden], .rw-vehicle__form[hidden] { display: none; }
.rw-vehicle__selects { display: flex; flex-wrap: wrap; gap: 8px; }
/* Search is one borderless field with the button inset 6px from the top, bottom and right edges. */
.rw-vehicle__search { display: flex; width: 60%; min-width: min(100%, 520px); padding: 6px; background: var(--rw-surface-2); }
.rw-vehicle__search:focus-within { outline: 2px solid var(--rw-primary); outline-offset: 1px; }
.rw-vehicle__search input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 56px; padding: 0 14px; color: var(--rw-text); background: transparent; border: 0; font-size: 16px; }
.rw-vehicle__search input[type="search"]:focus { outline: 0; }
/* Magnifier icon inside the field, on the left. */
.rw-vehicle__search input[type="search"] { padding-left: 46px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 10px 50% / 24px 24px; }
.rw-vehicle__search .rw-vehicle__btn { flex: none; width: auto; min-height: 56px; padding: 0 28px; }
.rw-vehicle__select { flex: 1 1 180px; min-height: 44px; padding: 0 12px; color: var(--rw-text); background: var(--rw-surface-2); border: 1px solid var(--rw-border); border-radius: 0; font-size: 15px; }
.rw-vehicle__select[hidden] { display: none; }
.rw-vehicle__select:disabled { opacity: .45; }
.rw-vehicle__select:focus { outline: 2px solid var(--rw-primary); outline-offset: 1px; }
.rw-vehicle__btn { min-height: 44px; padding: 0 18px; color: #000; background: var(--rw-primary); border: 0; border-radius: 0; font-weight: 700; cursor: pointer; }
.rw-vehicle__btn:hover { background: var(--rw-primary-hover); }
.rw-vehicle__btn:disabled { opacity: .4; cursor: not-allowed; }
.rw-vehicle__btn--ghost { min-height: 36px; padding: 0 12px; color: var(--rw-text); background: transparent; border: 1px solid var(--rw-border); font-weight: 500; }
.rw-vehicle__btn--ghost:hover { background: var(--rw-surface-2); }
.rw-vehicle__link { color: var(--rw-primary); text-decoration: underline; }

/* Badges */
.rw-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.rw-badge { display: inline-block; padding: 3px 8px; font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; border-radius: 0; border: 1px solid var(--rw-border); color: var(--rw-text); background: var(--rw-surface-2); }
.rw-badge--service { color: #000; background: #9ec5ff; border-color: #9ec5ff; }
.rw-badge--goods { color: var(--rw-muted); }
.rw-badge--used, .rw-badge--refurbished { color: #000; background: var(--rw-warn); border-color: var(--rw-warn); }
.rw-badge--fitment { color: #000; background: var(--rw-ok); border-color: var(--rw-ok); }
/* Card footer: price on the left, a small plain-text type label bottom right. */
.rw-card-info { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; width: 100%; }
.bde-code-block:has(> .rw-card-info) { align-self: stretch; width: 100%; }
.rw-card-info .rw-badges { order: 2; justify-content: flex-end; margin: 0; gap: 8px; }
.rw-card-info .rw-badge { padding: 0; font-size: 10px; font-weight: 600; color: var(--rw-muted); background: none; border: 0; }
.rw-card-info .rw-badge--used, .rw-card-info .rw-badge--refurbished { color: var(--rw-warn); }
.rw-card-info .rw-badge--fitment { color: var(--rw-ok); }
.rw-card-price .amount, .rw-card-price { font-weight: 700; }
.rw-card-price del { opacity: .6; font-weight: 400; margin-right: 6px; }
.rw-card-price ins { text-decoration: none; }
.rw-price--request { color: var(--rw-primary); font-weight: 700; }

/* Product facts + fitment */
.rw-facts { display: grid; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--rw-border); }
.rw-facts__line { margin: 0; color: var(--rw-muted); }
.rw-facts__line strong { color: var(--rw-text); }
.rw-fitment { display: grid; gap: 6px; }
.rw-fitment__status { margin: 0; padding: 10px 12px; border-radius: 0; border: 1px solid var(--rw-border); }
.rw-fitment__status--listed { border-color: var(--rw-ok); background: rgba(74, 222, 128, .08); }
.rw-fitment__status--unlisted { border-color: var(--rw-warn); background: rgba(251, 191, 36, .08); }
.rw-fitment__text { color: var(--rw-muted); }
.rw-fitment__text strong { color: var(--rw-text); }

/* Add-on services */
.rw-addons { display: grid; gap: 8px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid var(--rw-border); border-radius: 0; background: var(--rw-surface); }
.rw-addons__title { padding: 0 6px; font-weight: 700; }
.rw-addons__title small { font-weight: 400; color: var(--rw-muted); }
.rw-addons__option { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 0; background: var(--rw-surface-2); cursor: pointer; }
.rw-addons__option input { width: 18px; height: 18px; accent-color: var(--rw-primary); }
.rw-addons__name { flex: 1; }
.rw-addons__name small { display: block; color: var(--rw-muted); }
.rw-addons__price { font-weight: 700; white-space: nowrap; }
.rw-addons__method { margin: 4px 0 0; font-size: 14px; color: var(--rw-muted); }
.rw-addons__total { margin: 4px 0 0; font-size: 16px; }
.rw-addons__total[hidden] { display: none; }
.rw-addons__sum { color: var(--rw-primary); }

/* Inquiry CTA */
.rw-inquiry { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid var(--rw-border); border-radius: 0; background: var(--rw-surface); }
.rw-inquiry p { margin: 0; color: var(--rw-muted); }
.rw-inquiry__btn { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 22px; color: #000 !important; background: var(--rw-primary); border-radius: 0; font-weight: 700; text-decoration: none !important; }
.rw-inquiry__btn:hover { background: var(--rw-primary-hover); }

/* Compatibility tab */
.rw-compat-table th { width: 30%; }
.rw-compat-note { color: var(--rw-muted); font-size: 14px; }

/* Checkout VIN */
.rw-vin-field .rw-vin-input { text-transform: uppercase; letter-spacing: .12em; max-width: 220px; }
.rw-vin-field .description { display: block !important; margin-top: 6px; font-size: 13px; color: var(--rw-muted); }

@media (max-width: 600px) {
  .rw-vehicle { padding: 32px 16px; }
  .rw-vehicle--home { padding-inline: 0; }
  .rw-vehicle__select { flex-basis: 100%; }
  .rw-vehicle__search { width: 100%; }
  .rw-vehicle__search input[type="search"], .rw-vehicle__search .rw-vehicle__btn { min-height: 48px; }
  .rw-vehicle__search .rw-vehicle__btn { padding: 0 18px; }
  .rw-vehicle__btn { width: 100%; }
  .rw-vehicle__btn--ghost { width: auto; }
}

/* Header category menu */
.rw-cat-menu { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.rw-cat-menu__top { color: var(--rw-text); font-weight: 600; text-decoration: none; }
a.rw-cat-menu__top:hover, .rw-cat-menu__subs a:hover { color: var(--rw-primary); }
.rw-cat-menu__item--soon .rw-cat-menu__top { color: var(--rw-muted); }
.rw-cat-menu__item--soon small { font-size: 11px; font-weight: 400; }
.rw-cat-menu__subs { display: grid; gap: 4px; margin: 6px 0 0; padding: 0; list-style: none; }
.rw-cat-menu__subs a { color: var(--rw-muted); font-size: 14px; text-decoration: none; }

/* Shop listing intro */
.rw-shop-intro { margin: 0; }
/* The listing code block is a flex column aligned to the start; stretch the intro so the finder can centre. */
.rw-shop-intro { align-self: stretch; width: 100%; }

/* Homepage intro */
.rw-home-intro { display: grid; gap: 0; margin: 0; padding: 0; background: var(--rw-bg); }
/* The finder's bottom hairline doubles as the signpost's top edge. */
.rw-home-intro .rw-signpost { border-top: 0; }
/* Only the finder keeps side padding; the signpost below runs edge to edge. */
.rw-home-intro__finder { padding-inline: clamp(16px, 4vw, 48px); }
.rw-home-intro__title { margin: 0 auto 12px; font-size: clamp(22px, 3vw, 32px); text-transform: uppercase; }
/* Homepage signpost: black grid, light grey text, yellow icons; 1px dividers drawn by the grid gap. */
.rw-signpost { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rw-border); border-block: 1px solid var(--rw-border); }
.rw-signpost__item { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 168px; padding: 32px clamp(16px, 2.5vw, 48px); color: #e6e6e6; background: var(--rw-bg); text-decoration: none; transition: background-color .15s; }
a.rw-signpost__item:hover { background: var(--rw-surface); }
/* Global link styles turn hovered links yellow and underlined; keep the tile text black. */
.rw-signpost a.rw-signpost__item, .rw-signpost a.rw-signpost__item:hover, .rw-signpost a.rw-signpost__item .rw-signpost__text * { color: #e6e6e6; text-decoration: none; }
.rw-signpost a.rw-signpost__item .rw-signpost__text span { color: var(--rw-muted); }
.rw-signpost .rw-signpost__icon, .rw-signpost a.rw-signpost__item .rw-signpost__icon { color: var(--rw-primary); }
.rw-signpost__text { display: grid; gap: 10px; }
.rw-signpost__text strong { font-size: 15px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rw-signpost__text span { font-size: 15px; line-height: 1.5; }
.rw-signpost__icon { flex: none; }
.rw-signpost__item.is-soon { color: #5a5a5a; }
.rw-signpost__item.is-soon .rw-signpost__icon { color: #5a5a5a; }
@media (max-width: 1100px) { .rw-signpost { grid-template-columns: repeat(2, 1fr); } .rw-home-intro__finder > *, .rw-vehicle:not(.rw-vehicle--home) > * { width: 100%; } }
@media (max-width: 560px) {
  .rw-signpost { grid-template-columns: 1fr; }
  .rw-signpost__item { min-height: 0; padding: 22px 16px; }
}

/* Shop filters (WP Grid Builder facets) */
.bde-column-213-119 .wpgb-facet { margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--rw-border); }
.bde-column-213-119 .wpgb-facet:empty, .bde-column-213-119 .bde-gridbuilderwpfacet:has(.wpgb-facet:empty) { display: none; }
body .wpgb-facet h4.wpgb-facet-title { margin: 0 0 10px; font-size: 13px; line-height: 1.3; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rw-muted); }
.bde-column-213-119 .wpgb-facet .wpgb-checkbox-label { font-size: 14px; line-height: 1.35; }
.bde-column-213-119 .wpgb-facet li { margin-bottom: 4px; }
/* Filters live only in the "Filtrovat" popup; the sidebar column is hidden at every width. */
.bde-column-213-119 { display: none !important; }
.bde-columns-213-118 > .bde-column-213-120 { flex: 1 1 100%; width: 100%; max-width: 100%; }
body .wpgb-facet .wpgb-range-clear { padding: 4px 0; color: var(--rw-muted); background: none; font-size: 13px; text-decoration: underline; }
body .wpgb-facet .wpgb-range-clear:hover { color: var(--rw-primary); }
body .wpgb-range-facet { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
body .wpgb-range-facet .wpgb-range-slider { flex: 0 0 100%; }
body .wpgb-facet .wpgb-range-clear { float: none; margin: 0; border: 0; box-shadow: none; }

/* Mobile/tablet: compact toolbar above the product grid (filter button, result count, sorting) */
@media (max-width: 1119px) {
  .bde-div-213-103 { flex-direction: row !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px !important; }
  .bde-div-213-117 { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 8px 14px; width: auto !important; }
  .bde-div-213-117 .a51-product-filtration { flex-direction: row !important; align-items: center; gap: 8px; width: auto !important; padding: 9px 16px; background: var(--rw-primary); border-radius: 0; cursor: pointer; }
  .a51-product-filtration .bde-icon { width: 16px !important; height: 16px !important; font-size: 16px !important; color: #000 !important; }
  .a51-product-filtration .bde-icon svg { width: 16px !important; height: 16px !important; fill: #000 !important; }
  .a51-product-filtration .bde-text { font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #000 !important; }
  .bde-div-213-117 .bde-wpgbfacet { width: auto !important; }
  .bde-div-213-117 .wpgb-result-count { font-size: 13px; color: var(--rw-muted); }
}

/* Filter popup (Breakdance 2133): a right-hand drawer with a lighter surface and a clear edge. */
.breakdance .bde-popup-2133-100 { justify-content: flex-end; align-items: stretch; padding: 0; background: rgba(0, 0, 0, .8); }
.breakdance .bde-popup-2133-100 .breakdance-popup { width: min(420px, 100%); max-width: 100%; height: 100%; max-height: 100%; margin: 0 0 0 auto; }
.bde-popup-2133-100 .breakdance-popup-content { display: flex; flex-direction: column; height: 100%; max-height: 100%; overflow-y: auto; padding: 0; background: #161616; border-left: 1px solid #3a3a3a; box-shadow: -24px 0 48px rgba(0, 0, 0, .6); }
.bde-popup-2133-100 .breakdance-popup-content > .bde-div, .bde-popup-2133-100 .bde-wpgbfacet { width: 100%; }
.bde-popup-2133-100 .breakdance-popup-content > .bde-div:not(.bde-div-2133-110) { flex: none; padding: 0 28px; }
/* Facets with no options left render an empty wrapper; drop it instead of leaving a bare line. */
.bde-popup-2133-100 .breakdance-popup-content > .bde-div:has(.wpgb-facet:empty) { display: none; }
.bde-popup-2133-100 .wpgb-facet { margin: 0; padding: 22px 0; border-bottom: 1px solid #2e2e2e; }
.bde-popup-2133-100 .breakdance-popup-content > .bde-div:first-child .wpgb-facet { padding-top: 32px; }
.bde-popup-2133-100 .wpgb-facet h4.wpgb-facet-title { margin-bottom: 14px; font-size: 12px; color: var(--rw-primary); }
.bde-popup-2133-100 .wpgb-facet .wpgb-checkbox-label { font-size: 15px; line-height: 1.4; color: var(--rw-text); }
.bde-popup-2133-100 .wpgb-facet li { margin-bottom: 8px; }
.bde-popup-2133-100 .wpgb-facet li:last-child { margin-bottom: 0; }
.bde-popup-2133-100 .bde-div-2133-110 { position: sticky; bottom: 0; z-index: 2; width: 100%; margin-top: auto; padding: 20px 28px 24px; background: #161616; border-top: 1px solid #2e2e2e; }
.bde-popup-2133-100 .bde-text-2133-111 { display: block; width: 100%; padding: 14px 16px; background: var(--rw-primary); color: #000 !important; border-radius: 0; text-align: center; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
/* Sticky add-to-cart bar on the product template: compact, add-ons are mirrored from the main form. */
.bde-header-builder .rw-addons, .bde-header-builder .rw-inquiry p { display: none; }

/* WooCommerce surfaces on the dark theme (Breakdance defaults are light) */
html:root, html .bde-global-css-vars {
  --bde-woo-tables__background-color: var(--rw-surface);
  --bde-woo-tables__header-color: var(--rw-surface-2);
  --bde-woo-wrappers__background-color: var(--rw-surface);
  --bde-woo-wrappers__border-color: var(--rw-border);
  --bde-woo-payment-box-background-color: var(--rw-surface-2);
  --bde-woo-payment-box-border-color: var(--rw-border);
  --bde-woo-quicklook-modal-background-color: var(--rw-surface);
}
body.woocommerce-checkout #order_review table thead,
body.woocommerce-checkout #order_review table tbody { background: var(--rw-surface); }
body.woocommerce-checkout #payment { background: var(--rw-surface); border: 1px solid var(--rw-border); color: var(--rw-text); }
body.woocommerce-checkout .blockUI.blockOverlay { background: #000 !important; }
.rw-vin-field .rw-vin-input { max-width: 220px; font-size: 18px; letter-spacing: .12em; font-family: "Poppins", sans-serif; }
.rw-vin-field .description { display: block; margin-top: 6px; font-size: 13px; color: var(--rw-muted); }
.woocommerce form .form-row.rw-vin-field { margin-bottom: 18px; }

/* Contact page and inquiry form */
.rw-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; color: var(--rw-text); }
.rw-contact__title { margin: 0 0 12px; }
.rw-contact__lead { margin: 0 0 24px; color: var(--rw-muted); }
.rw-contact__list { display: grid; gap: 14px; margin: 0 0 28px; padding: 0; list-style: none; }
.rw-contact__list li { display: grid; gap: 2px; font-size: 16px; }
.rw-contact__list span, .rw-contact__product span { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--rw-muted); }
.rw-contact__list a { color: var(--rw-primary); font-size: 18px; font-weight: 700; text-decoration: none; }
.rw-contact__list small { color: var(--rw-muted); }
.rw-contact__company { padding-top: 20px; border-top: 1px solid var(--rw-border); color: var(--rw-muted); font-size: 14px; line-height: 1.6; }
.rw-contact__company strong { color: var(--rw-text); }
.rw-contact__form { padding: 0; background: none; border: 0; border-radius: 0; }
.rw-contact__form-title { margin: 0 0 18px; font-size: 22px; }
.rw-contact__product { display: grid; gap: 4px; margin-bottom: 18px; padding: 12px 14px; background: var(--rw-surface-2); border-left: 3px solid var(--rw-primary); border-radius: 0; }
.rw-contact__product a { color: var(--rw-text); font-weight: 700; }
.rw-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.rw-contact__grid label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.rw-contact__grid small { font-weight: 400; color: var(--rw-muted); }
.rw-contact__wide { grid-column: 1 / -1; }
.rw-contact__grid input, .rw-contact__grid textarea { width: 100%; min-height: 44px; padding: 10px 12px; color: var(--rw-text); background: var(--rw-surface-2); border: 1px solid var(--rw-border); border-radius: 0; font: inherit; font-weight: 400; }
.rw-contact__grid input:focus, .rw-contact__grid textarea:focus { outline: 2px solid var(--rw-primary); outline-offset: 1px; }
.rw-contact__grid .rw-vin-input { max-width: 220px; }
.rw-contact__hp { position: absolute; left: -9999px; }
.rw-contact__submit { margin-top: 20px; min-height: 48px; padding: 0 28px; font-size: 16px; }
.rw-contact__gdpr { margin: 14px 0 0; font-size: 13px; color: var(--rw-muted); }
.rw-contact__gdpr a { color: var(--rw-primary); }
.rw-contact__notice { margin: 0 0 18px; padding: 12px 14px; border-radius: 0; }
.rw-contact__notice--ok { background: rgba(74, 222, 128, .12); border: 1px solid var(--rw-ok); }
.rw-contact__notice--err { background: rgba(251, 191, 36, .12); border: 1px solid var(--rw-warn); }
@media (max-width: 900px) { .rw-contact { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 560px) { .rw-contact__grid { grid-template-columns: 1fr; } }

/* Product card image carousel: as a flex item it would grow to the width of all slides and widen the page on phones. */
.bde-loop-item .swiper { min-width: 0; width: 100%; max-width: 100%; }

/* Sticky product bar: inquiry button without the card frame; full width on phones (the bar is 400px wide by default). */
.bde-header-builder .rw-inquiry { padding: 0; border: 0; background: none; }
@media (max-width: 767px) {
  .bde-header-builder .bde-productbuilder, .bde-header-builder .bde-productbuilder .product { width: 100% !important; max-width: 100% !important; }
  .bde-header-builder .bde-wooproductcartbutton, .bde-header-builder .rw-inquiry, .bde-header-builder .rw-inquiry__btn { width: 100%; }
  /* Cart block: the "Ušetřeno" badge must wrap, otherwise the row overflows the screen. */
  .wc-block-cart .wc-block-cart-items { width: 100%; table-layout: fixed; }
  .wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-badge { white-space: normal; text-align: center; }
}

/* Breakdance capitalizes every word ("Přidat Do Košíku"); match the uppercase card buttons instead. */
body .single_add_to_cart_button.button, body .bde-wooproductcartbutton .single_add_to_cart_button.button { text-transform: uppercase; letter-spacing: .04em; }
body #place_order.button { text-transform: uppercase; letter-spacing: .04em; }

/* Footer */
.bde-code-block:has(> .rw-footer) { width: 100%; max-width: none; }
.rw-footer { align-self: stretch; width: 100%; color: var(--rw-muted); font-size: 13px; background: var(--rw-bg); border-top: 1px solid var(--rw-border); }
.rw-footer a { color: var(--rw-text); text-decoration: none; transition: color .15s; }
.rw-footer a:hover { color: var(--rw-primary); }
.rw-footer__main { display: grid; grid-template-columns: 1fr 1fr auto; gap: 32px; padding: 48px 24px; }
.rw-footer__nav { display: grid; align-content: start; gap: 10px; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.rw-footer__pay { display: grid; justify-items: end; align-content: start; gap: 16px; }
/* Payment and trust badges as equal square-cornered tiles, so different logo shapes line up. */
.rw-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 16px 24px; border-top: 1px solid var(--rw-border); font-size: 12px; }
.rw-footer__bottom a { color: var(--rw-muted); }
.rw-footer__switches { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.rw-lang { display: flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .08em; }
.rw-footer .rw-lang__option { display: inline-flex; align-items: center; gap: 7px; color: var(--rw-muted); }
.rw-footer .rw-lang__option.is-active { color: var(--rw-text); }
.rw-lang__option img { display: block; width: 18px; height: 12px; object-fit: cover; }
.rw-lang__option:not(.is-active) img { opacity: .6; }
.rw-currency { display: flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .08em; }
.rw-footer .rw-currency__option { color: var(--rw-muted); }
.rw-footer .rw-currency__option.is-active { color: var(--rw-text); }
.rw-currency__sep { color: var(--rw-border); }
@media (max-width: 767px) {
  .rw-footer__main { grid-template-columns: 1fr 1fr; gap: 28px 24px; padding: 36px 16px; }
  .rw-footer__pay { grid-column: 1 / -1; justify-items: start; }
  .rw-footer__bottom { padding: 16px; }
}

/* Header: main menu sits right next to the logo in a single row; cart and profile stay on the right. */
.bde-header-builder-73-100 { border-bottom: 1px solid var(--rw-border); }
.bde-header-builder-73-100 .bde-container-link-73-101 { flex: none; }
.bde-header-builder-73-100 img.bde-image2-73-102 { height: 44px; width: auto; }
.bde-header-builder-73-100 .bde-menu-73-116 { margin-left: 16px; margin-right: auto; }

/* Product cards: photos fill the whole image area, no grey frame around them. */
/* The photo itself carries the 4:3 ratio so the slider sizes to it. */
.a51-product .swiper img.a51-product-image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; padding: 0; object-fit: cover; }
.a51-product .swiper, .a51-product .swiper-wrapper, .a51-product .swiper-slide { height: auto; }
/* The card template fixes the image box at 432px; let it follow the photo instead. */
.breakdance .a51-product .bde-code-block-209-113 { height: auto; min-height: 0; }

/* Homepage: the signpost's bottom hairline already separates it from the next section. */
.breakdance .bde-div-15-101 { border-top-width: 0; }

/* "Zobrazit produkt" hover bar: bold label, no underline from the global link styles. */
.a51-product .a51-product-button, .a51-product .a51-product-button:hover, .a51-product .a51-product-button * { text-decoration: none; }
.a51-product .a51-product-button .bde-text { font-weight: 700; }

/* Shop and category listings: the header's bottom hairline already tops the finder band. */
.rw-shop-intro .rw-vehicle { border-top-width: 0; border-image-width: 0 0 1px; }

/* Active vehicle restriction shown as a filter chip in the listing toolbar. */
.bde-code-block:has(> .rw-filter-chip) { display: flex; flex: none; align-items: center; padding-left: 16px; }
.rw-filter-chip { display: inline-flex; white-space: nowrap; align-items: center; gap: 6px; padding: 6px 6px 6px 12px; font-size: 13px; line-height: 1.3; color: var(--rw-text); border: 1px solid var(--rw-primary); }
.rw-filter-chip__label { color: var(--rw-muted); }
.rw-filter-chip__remove { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-left: 4px; color: var(--rw-primary); font-size: 18px; line-height: 1; text-decoration: none; }
.rw-filter-chip__remove:hover { color: #000; background: var(--rw-primary); text-decoration: none; }
/* On phones: "Filtrovat" and sorting share the first row, the chip gets its own full-width row below. */
@media (max-width: 767px) {
  .breakdance .bde-div-213-103 { flex-wrap: wrap; row-gap: 12px; }
  .breakdance .bde-div-213-117 { display: contents; }
  .breakdance .bde-wpgbfacet-213-116 { margin-left: auto; }
  .bde-code-block:has(> .rw-filter-chip) { order: 10; flex: 1 1 100%; min-width: 0; padding-left: 0; }
  .rw-filter-chip { width: 100%; min-width: 0; }
  .rw-filter-chip__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .rw-filter-chip__remove { margin-left: auto; }
}

/* Sorting reads as a plain text link with a small caret, no box. */
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select { width: auto; field-sizing: content; min-height: 0; padding: 4px 20px 4px 0; text-align: right; text-align-last: right; color: var(--rw-text); font-size: 14px; background: transparent !important; border: 0; box-shadow: none; cursor: pointer; }
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select:hover, .breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select:focus { color: var(--rw-primary); outline: 0; }
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select option { color: var(--rw-text); background: #111; }
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select-separator { display: none; }
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select-controls { right: 0; width: 14px; justify-content: flex-end; }
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet label { justify-content: flex-end; }
.breakdance .bde-wpgbfacet .wpgb-facet .wpgb-sort-facet .wpgb-select-toggle { flex: none; margin: 0; width: 14px; height: 14px; fill: currentColor; }

/* Main menu hover: yellow text and a short bar growing under the label (desktop only, mobile menu keeps its own look). */
@media (min-width: 1024px) {
  .bde-menu-73-116 .breakdance-menu-link::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 12px; height: 2px; background: var(--rw-primary); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
  .bde-menu-73-116 .breakdance-menu-link:hover, .bde-menu-73-116 .breakdance-menu-link:focus-visible,
  .bde-menu-73-116 .breakdance-dropdown-toggle:hover .breakdance-menu-link,
  .bde-menu-73-116 .breakdance-dropdown-toggle:hover .breakdance-menu-link-arrow { color: var(--rw-primary); }
  .bde-menu-73-116 .breakdance-menu-link:hover::after, .bde-menu-73-116 .breakdance-menu-link:focus-visible::after,
  .bde-menu-73-116 .current-menu-item > .breakdance-menu-link::after { transform: scaleX(1); }
}

/* Product page (template 2174): flat rows separated by full-width lines, no boxes or rounded corners. */
.breakdance .bde-wooproductcartbutton p.stock { position: relative; width: auto; margin: 0 0 16px; padding: 0 0 0 16px !important; color: var(--rw-text); font-size: 14px; font-weight: 500; background: none !important; border: 0; border-radius: 0; }
.breakdance .bde-wooproductcartbutton p.stock::before { content: ""; position: absolute; top: 50%; left: 0; width: 8px; height: 8px; margin: -4px 0 0; background: var(--rw-warn); border-radius: 0; -webkit-mask: none !important; mask: none !important; transform: none; }
.breakdance .bde-wooproductcartbutton p.stock.in-stock::before { background: var(--rw-ok); }
.breakdance .bde-wooproductcartbutton p.stock.out-of-stock::before { background: var(--rw-muted); }
.breakdance .bde-column-2174-106 .bde-wooproductcartbutton-2174-111 { width: 100%; max-width: 100%; }
/* Add-ons stay inside the cart form (they are submitted with it) but sit below the button. */
.breakdance .bde-column-2174-106 form.cart { width: 100%; max-width: none !important; display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.bde-column-2174-106 form.cart .rw-addons { order: 10; flex: 1 1 100%; margin: 12px 0 0; }
.rw-addons { gap: 0; padding: 0; background: none; border: 0; }
.rw-addons__title { margin: 0 0 8px; padding: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rw-muted); }
.rw-addons__title small { text-transform: none; letter-spacing: 0; }
.rw-addons__option { padding: 12px 0; background: none; border-top: 1px solid var(--rw-border); }
.rw-addons__option:last-of-type { border-bottom: 1px solid var(--rw-border); }
.rw-addons__method { margin: 0; padding: 12px 0 0; }
.rw-addons__total { padding-top: 8px; }
/* Facts block: badges, coding, fitment, warranty as hairline rows. */
.bde-code-block-2174-141 { width: 100%; }
.rw-facts { gap: 0; margin: 24px 0 0; padding: 0; border: 0; }
.rw-facts .rw-badges { margin: 0; padding: 0 0 12px; }
.rw-facts .rw-fitment { display: contents; }
.rw-facts > .rw-facts__line, .rw-facts .rw-fitment > * { margin: 0; padding: 12px 0; border-top: 1px solid var(--rw-border); font-size: 14px; }
.rw-facts > :last-child { border-bottom: 1px solid var(--rw-border); }
.rw-facts .rw-fitment__status { position: relative; padding-left: 16px; color: var(--rw-text); background: none; border-width: 1px 0 0; border-style: solid; border-color: var(--rw-border); }
.rw-facts .rw-fitment__status::before { content: ""; position: absolute; top: 19px; left: 0; width: 8px; height: 8px; background: var(--rw-ok); }
.rw-facts .rw-fitment__status--unlisted::before { background: var(--rw-warn); }
.bde-wooproductmeta-2174-112 { margin-top: 16px; font-size: 13px; color: var(--rw-muted); }
/* Accordion replacing the product tabs. */
.bde-code-block-2174-142 { width: 100%; }
.rw-accordion { margin-top: 32px; border-top: 1px solid var(--rw-border); }
.rw-accordion__item { border-bottom: 1px solid var(--rw-border); }
.rw-accordion__title { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-size: 18px; font-weight: 600; list-style: none; cursor: pointer; }
.rw-accordion__title::-webkit-details-marker { display: none; }
.rw-accordion__title:hover { color: var(--rw-primary); }
.rw-accordion__icon { flex: none; transition: transform .2s ease; }
.rw-accordion__item[open] .rw-accordion__icon { transform: rotate(180deg); }
.rw-accordion__body { padding: 0 0 24px; font-size: 15px; line-height: 1.6; }
.rw-accordion__body > h2:first-child, .rw-accordion__body > .rw-facts + h2 { display: none; }
.rw-accordion__body > :last-child { margin-bottom: 0; }
.rw-accordion__body table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; }
.rw-accordion__body th, .rw-accordion__body td { padding: 10px 16px 10px 0; text-align: left; vertical-align: top; background: none !important; border: 0; border-top: 1px solid var(--rw-border); }
.rw-accordion__body th { width: 35%; color: var(--rw-muted); font-weight: 500; }
.rw-accordion__body tr:first-child th, .rw-accordion__body tr:first-child td { border-top: 0; }
.rw-accordion__body td p { margin: 0; }

/* Product page: accordion spans the whole column even when every item is closed. */
.breakdance .bde-code-block-2174-142, .rw-accordion { width: 100%; }
/* Inquiry box on the product page: no surface box, just a note and the button. */
.bde-column-2174-106 .rw-inquiry { width: 100%; padding: 0; background: none; border: 0; }
.bde-column-2174-106 .rw-inquiry p { font-size: 14px; }
.rw-facts:not(:has(> *)) { display: none; }

/* Mega menu: categories get most of the width as a 3-column grid; the side columns are narrow. */
@media (min-width: 1024px) {
  .breakdance .bde-columns-73-128 { gap: 0; }
  .breakdance .bde-columns-73-128 > .bde-column-73-129 { flex: 1 1 auto; width: auto; padding-right: 40px; }
  .breakdance .bde-columns-73-128 > .bde-column-73-130 { flex: 0 0 220px; width: 220px; padding: 0 32px; }
  .breakdance .bde-columns-73-128 > .bde-column-73-131 { flex: 0 0 420px; width: 420px; padding-left: 32px; }
  .bde-column-73-129 .bde-code-block { width: 100%; }
  .bde-column-73-129 .rw-cat-menu { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; row-gap: 28px; align-items: start; }
}

/* Section titles between homepage blocks: small caps-style label with generous space above. */
.breakdance .bde-div-15-101, .breakdance .bde-div-15-143 { padding: 64px 12px 24px; }
.breakdance .bde-text-15-102, .breakdance .bde-text-15-144 { font-family: "Poppins", sans-serif; font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; color: var(--rw-text); }

/* Contact page: two equal halves that start on the same line with the same heading, one spacing scale (8/16/24/48). */
.rw-contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; margin-bottom: 64px; }
.rw-contact__form-title { margin: 0 0 24px; font-size: 24px; line-height: 1.2; }
.rw-contact__lead { margin: 0 0 32px; font-size: 16px; line-height: 1.6; }
.rw-contact__list { gap: 24px; margin: 0 0 32px; }
.rw-contact__list li { gap: 4px; }
.rw-contact__company { padding-top: 24px; }
.rw-contact__grid { gap: 24px 16px; }
.rw-contact__grid label { gap: 8px; }
.rw-contact__grid input { min-height: 48px; }
.rw-contact__submit { margin-top: 32px; }
.rw-contact__gdpr { margin-top: 16px; }
@media (max-width: 900px) { .rw-contact { grid-template-columns: 1fr; gap: 48px; } }

/* Google Maps embed has no dark theme without an API key, so invert it to match the site. */
.bde-google-map iframe { filter: invert(.9) hue-rotate(180deg) grayscale(.3) contrast(.9); }

/* Facts and product meta are shown inside the accordion ("Další informace"), not above it. */
.breakdance .bde-code-block-2174-141, .breakdance .bde-wooproductmeta-2174-112 { display: none; }
.rw-accordion__body .rw-facts { margin: 0 0 16px; }
.rw-accordion__body .rw-facts__line a { color: var(--rw-primary); }

/* One typeface everywhere: Poppins also for headings, form controls and third-party widgets (WPGB, WooCommerce, CURCY). Icon fonts are left alone. */
body, body :where(h1, h2, h3, h4, h5, h6, p, a, span, li, dt, dd, th, td, label, legend, summary, strong, small, em, div, button, input, select, textarea, option):not([class*="icon"]):not(.dashicons):not([class^="ab-"]) { font-family: "Poppins", sans-serif; }

/* Contact map runs edge to edge and sits directly on the footer: cancel the page template's 24px/32px container padding. */
.breakdance .bde-google-map-100-105 { width: calc(100% + 48px) !important; max-width: none; margin: 0 -24px -32px; }

/* Homepage series: edge-to-edge preview image between the series title and its four products. */
.breakdance .bde-code-block-15-145 { width: 100%; }
.rw-series-hero { position: relative; display: block; width: 100%; height: clamp(280px, 42vw, 620px); overflow: hidden; background: #000; }
.rw-series-hero__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transition: transform .6s ease; }
.rw-series-hero:hover .rw-series-hero__img { transform: scale(1.02); }
.rw-series-hero__cta { position: absolute; left: clamp(24px, 4vw, 64px); bottom: clamp(32px, 4vw, 64px); padding: 14px 22px; color: #000; background: var(--rw-primary); font-weight: 700; font-size: 15px; }
.rw-series-hero:hover .rw-series-hero__cta { background: var(--rw-primary-hover); }

.rw-contact__grid input::placeholder, .rw-contact__grid textarea::placeholder { color: #6b6b6b; opacity: 1; }

/* Vehicle picker: square native selects with a custom chevron, secondary submit button. */
.breakdance .rw-vehicle__select { -webkit-appearance: none; appearance: none; border-radius: 0 !important; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px 8px; }
.breakdance .rw-vehicle__selects .rw-vehicle__btn:not(.rw-vehicle__btn--ghost) { color: var(--rw-primary); background: var(--rw-surface-2); border: 0; border-radius: 0; }
.breakdance .rw-vehicle__selects .rw-vehicle__btn:not(.rw-vehicle__btn--ghost):hover:not(:disabled) { color: var(--rw-text); background: var(--rw-surface-2); }
.breakdance .rw-vehicle__search { border: 1px solid var(--rw-border); border-radius: 0; }
/* Mini cart: subtle grey dividers instead of white. */
.breakdance .bde-mini-cart-offcanvas-topbar, .breakdance .bde-mini-cart-offcanvas-body, .breakdance .bde-mini-cart-offcanvas .woocommerce-mini-cart__total, .breakdance .bde-mini-cart-offcanvas .woocommerce-mini-cart-item { border-color: #333 !important; }
.breakdance .bde-mini-cart-offcanvas .woocommerce-mini-cart__empty-message { border-top: 0 !important; }
.breakdance .bde-mini-cart-offcanvas-topbar { border-bottom: 1px solid #333 !important; }
