/* Podstrony: kolor kategorii (klasyczne = zielony, e-Bike = żółty) dla przełączników, ramek i podświetlenia; strona /zamowienie */
html body.rp-subpage {
  --cat-g: #4caf50; --cat-g-rgb: 76, 175, 80;
  --cat-y: #f5a623; --cat-y-rgb: 245, 166, 35;
}
/* kategoria bieżącego widoku */
html body.rp-subpage #cennik.cennik-bike-klasyczny,
html body.rp-subpage .zamow-nav-stack:has(.zamow-type-switcher .price-switch-btn.active[onclick*="classic"]) { --cat: var(--cat-g); --cat-rgb: var(--cat-g-rgb); }
html body.rp-subpage #cennik.cennik-bike-ebike,
html body.rp-subpage .zamow-nav-stack:has(.zamow-type-switcher .price-switch-btn.active[onclick*="ebike"]) { --cat: var(--cat-y); --cat-rgb: var(--cat-y-rgb); }
html body.rp-subpage .zamow-nav-stack:not(:has(.zamow-type-switcher .active)) { --cat: var(--cat-y); --cat-rgb: var(--cat-y-rgb); }

/* aktywny typ roweru: kolor własnej kategorii */
html body.rp-subpage .price-switch-btn.active[onclick*="'klasyczne'"],
html body.rp-subpage .price-switch-btn.active[onclick*="classic"] { background: var(--cat-g) !important; border-color: var(--cat-g) !important; color: #0d0f13 !important; box-shadow: 0 0 18px rgba(var(--cat-g-rgb), .45), inset 0 -3px 0 rgba(0,0,0,.2) !important; }
html body.rp-subpage .price-switch-btn.active[onclick*="'ebike'"] { background: var(--cat-y) !important; border-color: var(--cat-y) !important; color: #0d0f13 !important; box-shadow: 0 0 18px rgba(var(--cat-y-rgb), .45), inset 0 -3px 0 rgba(0,0,0,.2) !important; }
html body.rp-subpage .price-switch-btn.active .price-btn-icon,
html body.rp-subpage .price-switch-btn.active .hero-type-icon { color: #0d0f13 !important; }

/* dolne przełączniki (rodzaj naprawy, kategorie rowerów) w kolorze kategorii */
html body.rp-subpage #cennik .price-banner-repair .price-tab.active,
html body.rp-subpage #cennik.cennik-bike-klasyczny .price-banner-repair .price-tab.active,
html body.rp-subpage #cennik.cennik-bike-ebike .price-banner-repair .price-tab.active,
html body.rp-subpage .zamow-nav-stack .rack-nav-btn.active,
html body.rp-subpage .rack-nav-btn.active { background: var(--cat, var(--cat-y)) !important; border-color: var(--cat, var(--cat-y)) !important; color: #0d0f13 !important; box-shadow: 0 0 16px rgba(var(--cat-rgb, var(--cat-y-rgb)), .4), inset 0 -3px 0 rgba(0,0,0,.2) !important; }
html body.rp-subpage .price-tab.active .price-btn-icon { color: #0d0f13 !important; }
html body.rp-subpage .price-tab:not(.active):hover,
html body.rp-subpage .rack-nav-btn:not(.active):hover { color: var(--cat, var(--cat-y)) !important; }
html body.rp-subpage .price-tab:focus-visible,
html body.rp-subpage .rack-nav-btn:focus-visible,
html body.rp-subpage .price-switch-btn:focus-visible { outline: 3px solid var(--cat, var(--accent)); outline-offset: 2px; }

/* ramki i poświata w kolorze kategorii */
html body.rp-subpage #cennik .price-nav-stack,
html body.rp-subpage .zamow-nav-stack { border-color: rgba(var(--cat-rgb, 232,89,12), .55) !important; box-shadow: 0 0 0 1px rgba(var(--cat-rgb, 232,89,12), .22), 0 0 26px rgba(var(--cat-rgb, 232,89,12), .22), 0 10px 26px rgba(0,0,0,.35) !important; transition: border-color .25s ease, box-shadow .25s ease; }
html body.rp-subpage #cennik .price-banner-repair,
html body.rp-subpage .zamow-nav-stack .price-banner-category,
html body.rp-subpage .zamow-nav-stack .rack-nav-wrap,
html body.rp-subpage #cennik .price-banner-repair .price-tabs { border-color: rgba(var(--cat-rgb, 232,89,12), .4) !important; }
html body.rp-subpage .price-banner-label { color: var(--cat, var(--muted)); }
html body.rp-subpage #cennik .review-card { border-color: rgba(var(--cat-rgb, 232,89,12), .35) !important; }
html body.rp-subpage #cennik .review-card-price { color: var(--cat, var(--accent)) !important; }
html body.rp-subpage #cennik .review-card-item::marker, html body.rp-subpage #cennik .review-card-item svg, html body.rp-subpage #cennik .review-card-item .mi { color: var(--cat, var(--accent)); }

/* /zamowienie: nagłówek, uwaga prawna i kafelki kontaktu */
html body.rp-subpage .zamow-update-date { color: var(--muted); font-size: 14px; margin: 0 0 12px; }
html body.rp-subpage .zamow-legal-block { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px 28px; align-items: center; margin: 0 0 24px; padding: 18px 22px; background: var(--bd-panel, #10141c); border: 1px solid var(--line-2); border-radius: 14px; }
html body.rp-subpage .zamow-legal-disclaimer { margin: 0; text-align: left; color: var(--muted); font-size: 15px; line-height: 1.6; }
html body.rp-subpage .zamow-contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
html body.rp-subpage .zamow-contact-tile { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 14px; background: rgba(255,255,255,.03); border: 1px solid var(--line-2); border-radius: 12px; text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
html body.rp-subpage .zamow-contact-tile:hover, html body.rp-subpage .zamow-contact-tile:focus-visible { border-color: var(--accent); background: rgba(232,89,12,.08); }
html body.rp-subpage .zamow-contact-icon { width: 36px; height: 36px; flex: none; }
html body.rp-subpage .zamow-contact-tile-body { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; }
html body.rp-subpage .zamow-contact-label { font: 700 13px/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
html body.rp-subpage .zamow-contact-value { font: 800 clamp(19px, 1.9vw, 24px)/1.1 var(--font-display); color: var(--text); white-space: nowrap; }
@media (max-width: 860px) {
  html body.rp-subpage .zamow-legal-block { grid-template-columns: 1fr; padding: 14px 16px; }
  html body.rp-subpage .zamow-legal-disclaimer { font-size: 14px; }
  html body.rp-subpage .zamow-contact-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html body.rp-subpage #cennik .price-nav-stack, html body.rp-subpage .zamow-nav-stack { transition: none; } }
html body.rp-subpage .zamow-legal-block { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
html body.rp-subpage .zamow-contact-value { font-size: clamp(17px, 1.6vw, 21px); }
html body.rp-subpage .zamow-contact-tile { padding: 10px 12px; gap: 10px; }
/* strony bez kategorii (Tabou, EcoBike, bagażniki, kaski, amortyzatory): pomarańczowy akcent */
html body.rp-subpage { --cat: var(--accent); --cat-rgb: 232, 89, 12; }
html body.rp-subpage .zamow-nav-stack:not(:has(.zamow-type-switcher .active)) { --cat: var(--accent); --cat-rgb: 232, 89, 12; }
html body.rp-subpage .rack-nav-btn.active, html body.rp-subpage #cennik .price-tab.active { color: #0d0f13 !important; }

/* cennik: przełącznik typu u góry, obracana tablica z dwiema stronami */
html body.rp-subpage #cennik.cennik-flip .price-type-bar { display: flex; justify-content: center; margin: 4px 0 18px; }
html body.rp-subpage #cennik.cennik-flip .price-stage { perspective: 1400px; }
html body.rp-subpage #cennik.cennik-flip .price-board { position: relative; padding: 16px; border: 1px solid rgba(var(--cat-rgb, 232,89,12), .55); border-radius: 14px; background: var(--bd-panel, #10141c); box-shadow: 0 0 0 1px rgba(var(--cat-rgb, 232,89,12), .22), 0 0 26px rgba(var(--cat-rgb, 232,89,12), .2), 0 10px 26px rgba(0,0,0,.35); backface-visibility: hidden; }
html body.rp-subpage #cennik.cennik-flip .price-pages { display: grid; gap: 22px; backface-visibility: hidden; }
html body.rp-subpage #cennik.cennik-flip .pricing-category.visible { animation: none; }
html body.rp-subpage #cennik.cennik-flip .price-cat-title { margin: 0 0 12px; font: 800 clamp(22px, 2.4vw, 28px)/1.1 var(--font-display); color: var(--text); }
@media (max-width: 700px) {
  html body.rp-subpage #cennik.cennik-flip .price-board { padding: 10px; }
}

/* cennik: kompaktowe karty w kolumnach, bez separatorów między pozycjami */
html body.rp-subpage #cennik.cennik-flip .price-group.visible { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; align-items: start; }
html body.rp-subpage #cennik.cennik-flip #klas-przeglady.visible,
html body.rp-subpage #cennik.cennik-flip #ebike-przeglady.visible,
html body.rp-subpage #cennik.cennik-flip #klas-przeglady .review-cards,
html body.rp-subpage #cennik.cennik-flip #ebike-przeglady .review-cards { display: contents; }
html body.rp-subpage #cennik.cennik-flip .price-pages { gap: 0; }
html body.rp-subpage #cennik.cennik-flip .review-card { margin: 0; padding: 0; }
html body.rp-subpage #cennik.cennik-flip .review-card-header { padding: 16px 18px 12px; gap: 10px; flex-wrap: wrap; }
html body.rp-subpage #cennik.cennik-flip .review-card-title { font-size: 24px; }
html body.rp-subpage #cennik.cennik-flip .review-card-price { font-size: 26px; }
html body.rp-subpage #cennik.cennik-flip .review-card-body { padding: 8px 18px 14px; }
html body.rp-subpage #cennik.cennik-flip .review-card-item { padding-block: 7px; font-size: 16px; }
html body.rp-subpage #cennik.cennik-flip .review-card-item::before,
html body.rp-subpage #cennik.cennik-flip .review-card-item + .review-card-item::before { display: none !important; }
html body.rp-subpage #cennik.cennik-flip .pricing-category:has(> .price-cat-title) { border: 1px solid rgba(var(--cat-rgb, 232,89,12), .35); border-radius: 14px; background: var(--panel-2, #141922); overflow: hidden; }
html body.rp-subpage #cennik.cennik-flip .price-cat-title { margin: 0; padding: 16px 18px 12px; font-size: 24px; text-align: left; border-bottom: 2px solid transparent; border-image: var(--groove) 0 0 2 0 / 0 0 2px 0; }
html body.rp-subpage #cennik.cennik-flip .price-table-wrap { width: 100% !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
html body.rp-subpage #cennik.cennik-flip .price-table { border: 0; background: transparent; }
html body.rp-subpage #cennik.cennik-flip .price-table thead { display: none; }
html body.rp-subpage #cennik.cennik-flip .price-table tbody tr { border: 0; }
html body.rp-subpage #cennik.cennik-flip .price-table td { height: auto; padding: 8px 18px; font-size: 16px; line-height: 1.25; }
html body.rp-subpage #cennik.cennik-flip .price-table td:first-child { width: auto; text-align: left !important; white-space: normal; padding-right: 8px; border: 0; }
html body.rp-subpage #cennik.cennik-flip .price-table td:last-child { width: 1%; white-space: nowrap; text-align: right !important; padding-left: 8px; border: 0 !important; font-size: 21px; }

/* katalogi (kaski, amortyzatory, zamówienie): jeden pasek zakładek zamiast trzech ramek; nagłówek i uwaga jako uporządkowane bloki */
html body.rp-subpage .zamow-nav-stack,
html body.rp-subpage .zamow-nav-stack .price-banner-category { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
html body.rp-subpage :is(#kaski-katalog, #amortyzatory-katalog, #rowery-zamowienie) .rack-header-center { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 22px; text-align: left; }
html body.rp-subpage :is(#kaski-katalog, #amortyzatory-katalog, #rowery-zamowienie) .rack-header-center h1 { flex: 1 0 100%; margin-bottom: 8px; }
html body.rp-subpage :is(.kaski-subtitle, .amortyzatory-subtitle) { display: inline-flex; align-items: center; min-height: 32px; margin: 0 !important; padding: 0 14px; border: 1px solid rgba(245,166,35,.45); border-radius: 999px; background: rgba(245,166,35,.08); color: #f5a623; font: 700 15px/1 var(--font-display); letter-spacing: .05em; text-transform: uppercase; }
html body.rp-subpage .rack-header-center .zamow-update-date { margin: 0 !important; }
html body.rp-subpage .zamow-legal-block { padding: 18px 22px !important; }
html body.rp-subpage .zamow-legal-block .zamow-legal-disclaimer { text-align: left !important; max-width: 62ch; }
html body.rp-subpage .zamow-legal-title { display: block; margin-bottom: 6px; color: var(--text); font: 800 19px/1.2 var(--font-display); letter-spacing: .03em; text-transform: uppercase; }
@media (max-width: 860px) {
  html body.rp-subpage .zamow-legal-block { grid-template-columns: 1fr !important; padding: 16px !important; }
  html body.rp-subpage .zamow-legal-block .zamow-legal-disclaimer { max-width: none; }
  html body.rp-subpage .zamow-contact-row { grid-template-columns: 1fr !important; }
}
