/*
 * 4kwarty — dark theme override.
 * Dopasowuje wygląd podstron PrestaShop (koszyk, checkout, produkt itd.)
 * do kolorystyki strony głównej „Głową w grze".
 *
 * Strona główna (layout-landing) nie ładuje tego pliku — ma własne style.
 */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Source+Sans+3:ital,wght@0,400;0,600;1,400&display=swap');

:root {
  --fq-orange:       #E65100;
  --fq-orange-light: #FF8F00;
  --fq-orange-glow:  #FF6D00;
  --fq-dark:         #0D0D0D;
  --fq-dark2:        #1A1A1A;
  --fq-dark3:        #2A2A2A;
  --fq-dark4:        #3A3A3A;
  --fq-light:        #F5F5F5;
  --fq-gray:         #9E9E9E;
  --fq-gray-dim:     #6E6E6E;
  --fq-white:        #FFFFFF;
  --fq-border:       rgba(255,255,255,0.08);
}

/* ============ GLOBAL ============ */
html, body,
body#checkout,
body.cart {
  background: var(--fq-dark) !important;
  color: var(--fq-light) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  line-height: 1.7;
}

#wrapper,
.page-wrapper,
main, section, article {
  background: transparent !important;
  color: var(--fq-light);
}

a { color: var(--fq-orange-light); }
a:hover, a:focus { color: var(--fq-orange); text-decoration: none; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.page-header h1, .card-block h1 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-white);
}

hr { border-color: var(--fq-border); }

/* ============ HEADER ============ */
#header,
#header .header-nav,
#header .header-top {
  background: var(--fq-dark) !important;
  border-bottom: 1px solid var(--fq-border);
  box-shadow: none;
  color: var(--fq-light);
}

#header .header-nav { padding: 16px 0 28px 0; }
/* Usuń border-bottom z header-nav — dolna linia idzie z .fq-shop-menu border-top, żeby nie było podwójnej kreski */
#header .header-nav { border-bottom: none !important; }

#header .logo { filter: brightness(0) invert(1); max-height: 50px; }

#header a,
#header .top-menu a,
#header .header-nav .text,
#header .header-nav .user-info a,
#header .blockcart a,
#header .language-selector,
#header .currency-selector {
  color: var(--fq-light) !important;
}

#header a:hover,
#header .top-menu a:hover {
  color: var(--fq-orange-light) !important;
}

/* Search */
#search_widget input[type="text"] {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border) !important;
  color: var(--fq-light) !important;
  border-radius: 4px;
}
#search_widget input::placeholder { color: var(--fq-gray); }
#search_widget button[type="submit"] {
  color: var(--fq-orange-light) !important;
  background: transparent;
}

/* Blockcart */
.blockcart {
  background: var(--fq-dark3) !important;
  color: var(--fq-light) !important;
  border-radius: 4px;
}
.blockcart.active { background: var(--fq-orange) !important; color: var(--fq-white) !important; }
.blockcart .cart-products-count { color: var(--fq-white); }
.header .blockcart i { color: inherit; }

/* Wycentrowane ikony w przyciskach Zaloguj się i Koszyk (right-nav) */
/* Wyzerowanie wrapperów classic theme: .user-info ma margin-top: .9375rem, .blockcart margin-left,
   .user-info a ma display:block + padding — to wszystko psuje wyrównanie pionowe.
   UWAGA: nie zerujemy padding na .user-info a / .blockcart .header — tam idzie padding przycisku poniżej */
#header #_desktop_user_info,
#header #_desktop_cart,
#header #_desktop_user_info .user-info,
#header #_desktop_cart .blockcart {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 42px;
  vertical-align: middle;
}
/* Oba przyciski mają taką samą wysokość, padding, font-size, border-box — żeby były wizualnie równe */
#header #_desktop_user_info .user-info a,
#header #_desktop_cart .blockcart .header {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1;
  padding: 0 16px;
  height: 42px;
  min-height: 42px;
  box-sizing: border-box;
  border-radius: 4px;
  margin: 0 !important;
  font-size: 14px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  border: 1px solid transparent;
}
/* Zaloguj się — subtelna ramka (przezroczysty button), dla wizualnej równowagi z pomarańczowym Koszykiem */
#header #_desktop_user_info .user-info a {
  border-color: var(--fq-border);
  background: transparent;
}
#header #_desktop_user_info .user-info a:hover {
  border-color: var(--fq-orange);
  color: var(--fq-orange-light) !important;
}
/* Reset domyślnych styli classic theme które psują pionowe centrowanie ikony */
#header #_desktop_user_info .material-icons,
#header #_desktop_cart .material-icons {
  font-size: 20px;
  line-height: 1;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;   /* override .material-icons padding-top: .3125rem */
  margin: 0 !important;    /* override .material-icons margin-right: .625rem */
  height: 20px;
  width: 20px;
}
/* Blockcart cały kontener — wyzeruj height/padding z classic theme, niech opakowuje treść */
#header #_desktop_cart .blockcart {
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
}
#header #_desktop_cart .blockcart .cart-products-count {
  line-height: 1;
}
#header .right-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

/* Main menu */
#_desktop_top_menu .top-menu a {
  color: var(--fq-light) !important;
  text-transform: uppercase;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 1px;
  font-size: 14px;
}
#_desktop_top_menu .top-menu a:hover {
  color: var(--fq-orange-light) !important;
  background: transparent;
}
#_desktop_top_menu .top-menu .sub-menu {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
}

/* Header banner */
.header-banner { background: var(--fq-dark2) !important; color: var(--fq-gray); }

/* ============ BREADCRUMB ============ */
.breadcrumb {
  background: transparent !important;
  border-bottom: 1px solid var(--fq-border);
  padding: 16px 0;
}
.breadcrumb a,
.breadcrumb li,
.breadcrumb li::after { color: var(--fq-gray) !important; }
.breadcrumb li:last-child a { color: var(--fq-orange-light) !important; }

/* ============ CARDS / KOSZYK ============ */
.card,
.card-block,
.cart-container,
.cart-summary,
.cart-grid-body .cart-overview,
.cart-detailed-totals,
.block-promo,
.cart-detailed-actions {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
  box-shadow: none;
}

.card .card-block + .card-block,
.cart-overview .cart-item + .cart-item {
  border-top: 1px solid var(--fq-border) !important;
}

.cart-grid { margin-top: 24px; }

.cart-items, .cart-overview .cart-item {
  background: transparent !important;
  color: var(--fq-light);
  padding: 16px 0;
}

.cart-item .product-line-info,
.cart-item .product-line__title,
.cart-item .product-price,
.cart-item .label,
.cart-item .value,
.product-line-grid-body .product-line-info a {
  color: var(--fq-light) !important;
  font-weight: 400;
}

.cart-item .product-line-info.product-name a {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-white) !important;
}

.cart-item .remove-from-cart,
.cart-item .remove-from-cart i,
.cart-item .js-discount {
  color: var(--fq-orange-light) !important;
}

/* Cart summary lines */
.cart-summary h1,
.cart-summary .h1,
.cart-detailed-totals .label,
.cart-summary-line .label,
.cart-summary-line .value,
.cart-summary-products,
.cart-summary-subtotals-container,
.cart-total .label,
.cart-total .value,
.cart-summary-line.cart-total {
  color: var(--fq-light) !important;
}
.cart-total .value,
.cart-summary-line.cart-total .value {
  color: var(--fq-orange-light) !important;
  font-weight: 700;
  font-size: 22px;
}

.cart-grid-right .checkout {
  background: transparent !important;
  border-top: 1px solid var(--fq-border);
}

/* qty input */
.cart-item .qty input[type="number"],
.bootstrap-touchspin .form-control,
input.form-control,
select.form-control,
textarea.form-control {
  background: var(--fq-dark3) !important;
  border: 1px solid var(--fq-border) !important;
  color: var(--fq-light) !important;
  box-shadow: none;
}
.bootstrap-touchspin .input-group-btn-vertical button {
  background: var(--fq-dark3) !important;
  border: 1px solid var(--fq-border) !important;
  color: var(--fq-light) !important;
}
.bootstrap-touchspin .input-group-btn-vertical button:hover { background: var(--fq-orange) !important; color: var(--fq-white) !important; }

/* Empty cart */
.cart-grid-body .no-items,
#main .page-content--cart-empty {
  color: var(--fq-gray);
  text-align: center;
  font-size: 18px;
}

/* ============ BUTTONS ============ */
.btn,
.btn-primary,
button.btn-primary,
a.btn-primary {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  border-radius: 4px;
  padding: 12px 28px;
  border: none;
  transition: all 0.25s ease;
}

.btn-primary,
button.btn-primary,
a.btn-primary {
  background: linear-gradient(135deg, var(--fq-orange), var(--fq-orange-glow)) !important;
  color: var(--fq-white) !important;
  box-shadow: 0 4px 16px rgba(230,81,0,0.35);
}
.btn-primary:hover,
.btn-primary:focus,
button.btn-primary:hover,
a.btn-primary:hover {
  background: linear-gradient(135deg, var(--fq-orange-glow), var(--fq-orange-light)) !important;
  color: var(--fq-white) !important;
  box-shadow: 0 8px 24px rgba(230,81,0,0.5);
  transform: translateY(-1px);
}
.btn-primary.disabled,
.btn-primary:disabled {
  background: var(--fq-dark3) !important;
  color: var(--fq-gray) !important;
  box-shadow: none;
  cursor: not-allowed;
}

.btn-secondary,
.btn-outline-secondary,
.btn-default {
  background: transparent !important;
  border: 2px solid var(--fq-orange) !important;
  color: var(--fq-orange-light) !important;
}
.btn-secondary:hover {
  background: var(--fq-orange) !important;
  color: var(--fq-white) !important;
}

/* Continue shopping link — biały napis + ikona chevron_left */
.cart-detailed-actions .label,
.cart-detailed-actions .label i,
.cart-detailed-actions .label .material-icons,
.cart-grid-body .continue-shopping,
.cart-grid-body .continue-shopping i,
.cart-grid-body .continue-shopping .material-icons {
  color: var(--fq-white) !important;
}
.cart-detailed-actions .label:hover,
.cart-detailed-actions .label:hover i,
.cart-grid-body .continue-shopping:hover,
.cart-grid-body .continue-shopping:hover i {
  color: var(--fq-orange-light) !important;
}

/* ============ FORMS ============ */
.form-control-label, label { color: var(--fq-light); }
.form-control:focus {
  border-color: var(--fq-orange) !important;
  box-shadow: 0 0 0 0.2rem rgba(230,81,0,0.25) !important;
}
.has-discount .discount {
  background: var(--fq-orange) !important;
  color: var(--fq-white) !important;
}

/* ============ ALERTS ============ */
.alert-warning, .alert-info, .alert-success, .alert-danger {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border) !important;
  color: var(--fq-light) !important;
}
.alert-warning { border-left: 4px solid var(--fq-orange) !important; }
.alert-success { border-left: 4px solid #4CAF50 !important; }
.alert-danger  { border-left: 4px solid #E53935 !important; }

/* ============ PROMO CODE BLOCK ============ */
.block-promo .promo-code {
  background: var(--fq-dark3) !important;
  border-top: 1px solid var(--fq-border);
}
.block-promo .promo-code-button { color: var(--fq-orange-light) !important; }
.block-promo .promo-name a { color: var(--fq-light) !important; }

/* ============ FOOTER ============ */
.footer-container,
#footer,
.footer-container .links a,
.footer-container .h3,
.footer-container .h4 {
  color: var(--fq-light) !important;
}
.footer-container {
  background: var(--fq-dark2) !important;
  border-top: 1px solid var(--fq-border);
  margin-top: 60px;
  padding-top: 40px;
}
.footer-container .title,
.footer-container h3,
.footer-container h4,
.footer-container .h3,
.footer-container .h4 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-white) !important;
}
.footer-container li a { color: var(--fq-gray) !important; }
.footer-container li a:hover { color: var(--fq-orange-light) !important; }
.footer-container .block_newsletter input[type="text"],
.footer-container .block_newsletter input[type="email"] {
  background: var(--fq-dark3) !important;
  border: 1px solid var(--fq-border) !important;
  color: var(--fq-light) !important;
}
.block-social ul li {
  background-color: var(--fq-dark3) !important;
}
.block-social ul li:hover { background-color: var(--fq-orange) !important; }
.copyright,
.l-footer .footer-container { color: var(--fq-gray); }

/* ============ MODALS ============ */
.modal-content {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
  border: 1px solid var(--fq-border);
}
.modal-header, .modal-footer {
  border-color: var(--fq-border) !important;
}
.modal-title { color: var(--fq-white); font-family: 'Oswald', sans-serif; text-transform: uppercase; }
.close { color: var(--fq-light); opacity: 0.7; }
.close:hover { color: var(--fq-orange-light); opacity: 1; }

/* ============ LOGO — tekstowy override ============ */
/* Logo jest teraz w header-nav (col-md-5), nie w header-top.
   Ukrywamy domyślne <img class="logo"> PrestaShop i wstawiamy tekstowy brand. */
#header .logo,
#_desktop_logo .logo,
.header-nav .logo,
.header-top .logo {
  display: none !important;
}
#_desktop_logo,
.header-nav #_desktop_logo {
  display: flex;
  align-items: center;
  padding: 0;
}
/* Jeśli renderLogo jest opakowane w h1 (na index), neutralizujemy jego marginesy */
#_desktop_logo h1 { margin: 0; padding: 0; display: inline-flex; align-items: center; }
/* Pseudo-elementy idą na <a> żeby tekstowe logo było klikalne */
#_desktop_logo a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  white-space: nowrap;
}
#_desktop_logo a::before {
  content: '🏀 CZTERY KWARTY';
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--fq-white);
}
#_desktop_logo a::after {
  content: '.PL';
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1px;
  color: var(--fq-orange);
  margin-left: 2px;
}
#_desktop_logo a:hover::before { color: var(--fq-orange-light); }
@media (max-width: 768px) {
  #_desktop_logo a::before { font-size: 18px; letter-spacing: 2px; }
  #_desktop_logo a::after { font-size: 18px; }
}

/* ============ MENU SKLEPU (header-top) ============ */
#_desktop_shop_menu {
  padding: 0;
}
.fq-shop-menu {
  list-style: none;
  margin: 0;
  padding: 18px 0;
  display: flex;
  gap: 32px;
  align-items: center;
  border-top: 1px solid var(--fq-border);
}
.fq-shop-menu li { margin: 0; padding: 0; }
.fq-shop-menu a {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 14px;
  font-weight: 600;
  color: var(--fq-light) !important;
  text-decoration: none;
  padding: 6px 0;
  position: relative;
  transition: color 0.2s ease;
}
.fq-shop-menu a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--fq-orange);
  transition: width 0.25s ease;
}
.fq-shop-menu a:hover {
  color: var(--fq-orange-light) !important;
}
.fq-shop-menu a:hover::after { width: 100%; }
@media (max-width: 768px) {
  .fq-shop-menu { gap: 18px; flex-wrap: wrap; }
  .fq-shop-menu a { font-size: 12px; letter-spacing: 1px; }
}

/* ============ KARTA PRODUKTU ============ */
body#product,
body.page-product {
  background: var(--fq-dark) !important;
}

.page-product #content-wrapper,
.page-product #wrapper,
.page-product .container {
  background: transparent !important;
}

/* Galeria */
.page-product .images-container,
.page-product .product-cover,
.page-product .product-images,
.page-product .js-qv-mask {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
  border-radius: 4px;
  padding: 16px;
}
.page-product .product-cover img {
  background: var(--fq-white);
  border-radius: 2px;
}
.page-product .product-images li.thumb-container .thumb {
  border: 1px solid var(--fq-border);
  background: var(--fq-dark3);
}
.page-product .product-images li.thumb-container .thumb.selected,
.page-product .product-images li.thumb-container .thumb:hover {
  border-color: var(--fq-orange) !important;
}

/* Tytuł produktu */
.page-product h1.h1,
.page-product .h1 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-white) !important;
  font-size: clamp(28px, 5vw, 44px);
  margin-bottom: 16px;
}

/* Cena */
.page-product .product-prices,
.page-product .product-information {
  background: var(--fq-dark2) !important;
  color: var(--fq-light);
  border: 1px solid var(--fq-border);
  border-radius: 4px;
  padding: 24px;
  margin-bottom: 24px;
  box-sizing: border-box;
}
/* fq-price-and-buy — flex container lekko węższy niż product-information poniżej.
   Lewa krawędź pokrywa się z product-information, prawa jest wcięta o 48px żeby box opisu
   wyglądał wizualnie szerszy / bardziej dominujący */
.page-product .fq-price-and-buy {
  width: calc(100% - 48px) !important;
  max-width: calc(100% - 48px) !important;
  box-sizing: border-box;
  margin: 0 48px 24px 0 !important;
}
body.page-product .product-information {
  width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.page-product .product-prices .current-price,
.page-product .current-price,
.page-product .current-price span {
  font-family: 'Oswald', sans-serif !important;
  font-size: 36px !important;
  font-weight: 700;
  color: var(--fq-orange-light) !important;
  letter-spacing: 1px;
}
.page-product .regular-price {
  color: var(--fq-gray) !important;
  text-decoration: line-through;
}
.page-product .tax-shipping-delivery-label {
  color: var(--fq-gray);
  font-size: 13px;
}
.page-product .product-discount .regular-price { color: var(--fq-gray); }

/* Opis krótki */
.page-product .product-description-short,
.page-product .product-information .product-description-short {
  color: var(--fq-light);
  font-size: 15px;
  line-height: 1.7;
}

/* Quantity + add to cart */
.page-product .product-quantity .qty .input-group {
  background: var(--fq-dark3);
  border-radius: 4px;
}
.page-product .product-add-to-cart .btn-primary,
.page-product .add .btn-primary,
.page-product button.add-to-cart {
  padding: 14px 28px !important;
  font-size: 16px !important;
  margin-top: 0;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  line-height: 1;
}
.page-product button.add-to-cart .material-icons,
.page-product .add .btn-primary .material-icons {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ============ Cena + Dodaj do koszyka obok siebie ============ */
.page-product .fq-price-and-buy {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
/* Cena — ciemny box (taki sam jak box koszyka) z wycentrowaną ceną w środku */
.page-product .fq-price-and-buy > .product-prices {
  flex: 0 0 auto;
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
  padding: 14px 20px !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 160px;
}
.page-product .fq-price-and-buy .current-price,
.page-product .fq-price-and-buy .current-price span {
  font-size: 42px !important;
  line-height: 1 !important;
}
.page-product .fq-price-and-buy .tax-shipping-delivery-label {
  margin-top: 4px;
  font-size: 12px;
}
/* Box Dodaj do koszyka */
.page-product .fq-price-and-buy > .product-actions {
  flex: 1 1 auto;
  background: var(--fq-dark2);
  border: 1px solid var(--fq-border);
  border-radius: 4px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-product .fq-price-and-buy .product-add-to-cart {
  width: 100%;
  margin: 0;
}
/* Ukryj label „Ilość" — redundant przy pojedynczym produkcie */
.page-product .fq-price-and-buy .control-label { display: none !important; }
/* Quantity + button w jednej linii */
.page-product .fq-price-and-buy .product-quantity {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px;
  margin: 0 !important;
  flex-wrap: nowrap;
}
.page-product .fq-price-and-buy .product-quantity .qty {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
}
/* Bootstrap-touchspin wrapper (PS JS opakowuje input po renderze) */
.page-product .fq-price-and-buy .bootstrap-touchspin {
  display: inline-flex !important;
  align-items: stretch !important;
  width: auto !important;
  height: 46px !important;
  background: var(--fq-dark3);
  border-radius: 4px;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
}
.page-product .fq-price-and-buy input#quantity_wanted {
  width: 52px !important;
  height: 46px !important;
  text-align: center !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  background: var(--fq-dark3) !important;
  border: 1px solid var(--fq-border) !important;
  color: var(--fq-light) !important;
  box-sizing: border-box !important;
  border-radius: 4px 0 0 4px;
  -moz-appearance: textfield;
}
.page-product .fq-price-and-buy input#quantity_wanted::-webkit-outer-spin-button,
.page-product .fq-price-and-buy input#quantity_wanted::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Touchspin strzałki — pionowo, obok inputa, po prawej */
.page-product .fq-price-and-buy .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column !important;
  width: 28px !important;
  height: 46px !important;
  margin: 0 !important;
}
.page-product .fq-price-and-buy .input-group-btn-vertical .btn,
.page-product .fq-price-and-buy .bootstrap-touchspin .btn {
  flex: 1 1 50% !important;
  min-width: 28px !important;
  width: 28px !important;
  height: 23px !important;
  padding: 0 !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--fq-border) !important;
  background: var(--fq-dark3) !important;
  color: var(--fq-light) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.page-product .fq-price-and-buy .input-group-btn-vertical .btn:hover {
  background: var(--fq-orange) !important;
  color: var(--fq-white) !important;
}
.page-product .fq-price-and-buy .input-group-btn-vertical .btn i,
.page-product .fq-price-and-buy .input-group-btn-vertical .btn .material-icons {
  font-size: 16px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Przycisk Dodaj do koszyka */
.page-product .fq-price-and-buy .add {
  flex: 1 1 auto;
  display: flex;
}
.page-product .fq-price-and-buy .add .btn-primary {
  width: 100%;
  height: 46px !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  white-space: nowrap;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .page-product .fq-price-and-buy { flex-direction: column; align-items: stretch; }
  .page-product .fq-price-and-buy > .product-prices { min-width: 0; }
}

/* Zakładki Opis + Szczegóły produktu — czarne tło, biały tekst */
body.page-product .tabs,
body#product .tabs,
.page-product .tabs,
.page-product .product-tabs {
  background: var(--fq-dark) !important;   /* #0D0D0D — czarne */
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
  padding: 24px !important;
  margin-top: 24px;
  color: var(--fq-light) !important;
}
.page-product .tabs .nav-tabs {
  border-bottom: 1px solid var(--fq-border) !important;
  margin-bottom: 24px;
  background: transparent !important;
}
.page-product .tabs .nav-tabs .nav-item {
  background: transparent !important;
}
.page-product .tabs .nav-tabs .nav-link {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-gray) !important;
  background: transparent !important;
  border: none !important;
  padding: 12px 24px;
}
.page-product .tabs .nav-tabs .nav-link.active,
.page-product .tabs .nav-tabs .nav-link:hover,
.page-product .tabs .nav-tabs .nav-link:focus {
  color: var(--fq-orange-light) !important;
  border-bottom: 3px solid var(--fq-orange) !important;
  background: transparent !important;
}
.page-product .tabs .tab-content,
.page-product .tabs .tab-pane {
  background: transparent !important;
  color: var(--fq-light) !important;
}

/* Opis (zakładka „Opis") */
.page-product .product-description,
.page-product .product-description * {
  background: transparent !important;
  color: var(--fq-light) !important;
}
.page-product .product-description h1,
.page-product .product-description h2,
.page-product .product-description h3,
.page-product .product-description h4,
.page-product .product-description h5,
.page-product .product-description h6 {
  color: var(--fq-white) !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  margin-top: 24px;
  margin-bottom: 12px;
}
.page-product .product-description strong,
.page-product .product-description b {
  color: var(--fq-white) !important;
}
.page-product .product-description a {
  color: var(--fq-orange-light) !important;
}
.page-product .product-description ul li::marker {
  color: var(--fq-orange) !important;
}

/* Szczegóły produktu (zakładka „Szczegóły produktu") */
.page-product .js-product-details,
.page-product #product-details,
.page-product .product-reference,
.page-product .product-quantities,
.page-product .product-features,
.page-product .product-availability,
.page-product .product-out-of-stock,
.page-product .product-manufacturer {
  background: transparent !important;
  color: var(--fq-light) !important;
}
.page-product .product-reference label,
.page-product .product-reference .label,
.page-product .product-quantities label,
.page-product .product-quantities .label,
.page-product .product-features label,
.page-product .product-features .label {
  color: var(--fq-gray) !important;
  background: transparent !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
  font-weight: 600;
  display: inline-block;
  margin-right: 8px;
}
.page-product .product-reference span,
.page-product .product-quantities span,
.page-product .product-features dt,
.page-product .product-features dd {
  color: var(--fq-white) !important;
  background: transparent !important;
}
.page-product .product-features {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--fq-border);
}
.page-product .product-features dl.data-sheet {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}
.page-product .product-features dl.data-sheet dt,
.page-product .product-features dl.data-sheet dd {
  padding: 8px 12px;
  background: rgba(255,255,255,0.03) !important;
  border-radius: 2px;
  margin: 0;
}

/* Również prawa kolumna (opis krótki + cena) — wymusz ciemny */
body.page-product .product-information,
body.page-product .product-prices {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
}
body.page-product .product-information *,
body.page-product .product-prices * {
  color: inherit;
}
body.page-product .product-information .product-description-short,
body.page-product .product-information .product-description-short * {
  color: var(--fq-light) !important;
  background: transparent !important;
}
body.page-product .product-information .product-description-short strong {
  color: var(--fq-white) !important;
}

/* Sekcja "Polecane produkty" */
.page-product .featured-products,
.page-product .products {
  margin-top: 48px;
}
.page-product .featured-products .h1,
.page-product .featured-products .products-section-title {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  color: var(--fq-white) !important;
  border-left: 4px solid var(--fq-orange);
  padding-left: 16px;
  margin-bottom: 24px;
}
.page-product .product-miniature,
.page-product .product-miniature .thumbnail-container {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
  border-radius: 4px;
}
.page-product .product-miniature .product-title a {
  color: var(--fq-white) !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
}
.page-product .product-miniature .product-price-and-shipping .price {
  color: var(--fq-orange-light) !important;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
}

/* Komentarze produktu */
.page-product .product-comments-additional-info,
.page-product .comments-list-content {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
  border-radius: 4px;
}

/* Share — UWAGA: używamy background-color, nie background (skrót resetuje background-image z ikoną SVG).
   Theme classic ovrride dodaje class `icon-gray` która ładuje szare SVG (#7A7A7A) — niewidoczne na dark tle.
   Wymuszamy więc białe wersje SVG (te same pliki, których używa .facebook bez modyfikatora). */
.page-product .social-sharing li {
  background-color: var(--fq-dark3) !important;
  border: 1px solid var(--fq-border);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.4rem 1.4rem;
  transition: background-color 0.2s ease;
}
.page-product .social-sharing li.facebook.icon-gray  { background-image: url(04be689c12d686c59503.svg) !important; }
.page-product .social-sharing li.twitter.icon-gray   { background-image: url(f56d95737d55e2bdba95.svg) !important; }
.page-product .social-sharing li.pinterest.icon-gray { background-image: url(33e7446832ac7aa84b95.svg) !important; }
.page-product .social-sharing li:hover { background-color: var(--fq-orange) !important; }
.page-product .social-sharing {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.page-product .social-sharing > span {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-gray);
  font-size: 13px;
  margin-right: 4px;
}
.page-product .social-sharing ul {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ============ LEFT COLUMN / NAWIGACJA BOCZNA ============ */
#left-column,
#left-column .block-categories,
#left-column .block-categories .h6,
#left-column .facet,
#search_filters,
#search_filters_wrapper {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
  border-color: var(--fq-border) !important;
}
#left-column .block-categories .h6,
#left-column .block-categories .category-sub-menu .category-sub-link,
#left-column .block-categories a,
#left-column .block-categories li a {
  color: var(--fq-light) !important;
}
#left-column .block-categories a:hover,
#left-column .block-categories li a:hover {
  color: var(--fq-orange-light) !important;
}
#left-column .block-categories .arrows .arrow,
#left-column .block-categories .collapse-icons .remove,
#left-column .block-categories .collapse-icons .add {
  color: var(--fq-gray) !important;
}
/* Faceted search / filtry */
#search_filters .facet .facet-title,
#search_filters .facet-label,
#search_filters .facet-label a,
#search_filters .magnitude,
#search_filters_wrapper .text-uppercase {
  color: var(--fq-light) !important;
}
#search_filters .facet-label a:hover {
  color: var(--fq-orange-light) !important;
}
#search_filters .ui-slider .ui-slider-handle {
  background: var(--fq-orange-light) !important;
  border-color: var(--fq-orange) !important;
}
/* block-categories border */
#left-column .block-categories {
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
}

/* ============ KATEGORIE / LISTA PRODUKTÓW ============ */
body#category,
body.page-category {
  background: var(--fq-dark) !important;
}
.page-category #js-product-list-header h1,
.page-category .block-category h1 {
  color: var(--fq-white) !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
}
.page-category .product-miniature .thumbnail-container {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
}
.page-category .product-miniature .product-title a {
  color: var(--fq-white) !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
}
.page-category .product-miniature .product-price-and-shipping {
  color: var(--fq-orange-light);
}

/* ============ CMS / STATIC PAGES ============ */
body#cms,
body.cms-id-1,
body.cms-id-2,
body.cms-id-3,
body.cms-id-4,
body.cms-id-5 {
  background: var(--fq-dark) !important;
}
body[class*="cms-id-"] #content,
body[class*="cms-id-"] .page-content {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
  border-radius: 4px;
  padding: 40px !important;
  color: var(--fq-light);
}
body[class*="cms-id-"] h1,
body[class*="cms-id-"] h2,
body[class*="cms-id-"] h3 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  color: var(--fq-white) !important;
}
body[class*="cms-id-"] h1 { border-left: 4px solid var(--fq-orange); padding-left: 16px; }
body[class*="cms-id-"] a { color: var(--fq-orange-light); }

/* ============ REASURANCE (Customer Reassurance / blockreassurance) ============ */
#blockreassurance {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border);
  border-radius: 4px;
  margin-top: 24px;
}
#blockreassurance > div {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 24px;
}
#blockreassurance .block-icon,
.blockreassurance_product {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
  padding: 24px 20px !important;
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 1 220px;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.blockreassurance_product:hover,
#blockreassurance .block-icon:hover { border-color: var(--fq-orange) !important; transform: translateY(-2px); }

/* Ikony — kontener */
.blockreassurance_product .item-product,
#blockreassurance .item-product {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  background: rgba(230,81,0,0.1);
  border-radius: 50%;
}

/* Ikony — sam SVG (po inline'owaniu przez front.js modułu) */
.blockreassurance_product .item-product svg,
.blockreassurance_product .item-product img.svg,
#blockreassurance .item-product svg,
#blockreassurance .item-product img.svg {
  width: 32px !important;
  height: 32px !important;
}
/* moduł wstawia inline `fill` na <path> — nadpisujemy mocniej */
.blockreassurance_product svg path,
#blockreassurance svg path {
  fill: var(--fq-orange-light) !important;
}

/* Tytuł i opis — moduł wstawia inline color, nadpisujemy mocniej */
.blockreassurance_product .block-title,
.blockreassurance_product .block-title[style],
#blockreassurance .block-title,
#blockreassurance .block-title[style] {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  font-size: 14px;
  color: var(--fq-white) !important;
  display: block;
  margin-bottom: 4px;
}
.blockreassurance_product p,
.blockreassurance_product p[style],
#blockreassurance p,
#blockreassurance p[style] {
  color: var(--fq-gray) !important;
  font-size: 13px;
  margin: 0;
  line-height: 1.5;
}
.blockreassurance_product .h6,
#blockreassurance .h6 { color: var(--fq-orange-light) !important; }

@media (max-width: 768px) {
  #blockreassurance > div { flex-direction: column; }
}

/* ============ SORTING DROPDOWN (product list) ============ */
.products-sort-order .select-title,
.brands-sort .select-title,
.suppliers-sort .select-title {
  background: var(--fq-dark3) !important;
  color: var(--fq-light) !important;
  border-color: var(--fq-dark4) !important;
}

.products-sort-order .dropdown-menu,
.brands-sort .dropdown-menu,
.suppliers-sort .dropdown-menu {
  background: var(--fq-dark2) !important;
  border: 1px solid var(--fq-dark4) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.4) !important;
}

.products-sort-order .select-list,
.brands-sort .select-list,
.suppliers-sort .select-list {
  color: var(--fq-light) !important;
}

.products-sort-order .select-list:hover,
.brands-sort .select-list:hover,
.suppliers-sort .select-list:hover {
  background: var(--fq-orange) !important;
  color: var(--fq-white) !important;
}

.sort-by {
  color: var(--fq-gray) !important;
}

/* ============ CHECKOUT ============ */
body#checkout section.checkout-step {
  background-color: var(--fq-dark2) !important;
  border-bottom: 1px solid var(--fq-border) !important;
}

body#checkout section.checkout-step .step-title {
  color: var(--fq-light) !important;
  border-bottom-color: var(--fq-border) !important;
}

body#checkout section.checkout-step.-current+.checkout-step .step-title {
  border-top-color: var(--fq-border) !important;
}

/* Labels: "Zamówienie jako gość", "Imię", "Nazwisko", "E-mail" etc. */
body#checkout section.checkout-step .form-control-label,
body#checkout section.checkout-step label,
body#checkout section.checkout-step .radio-field label,
body#checkout section.checkout-step .checkbox-field label,
body#checkout section.checkout-step .custom-checkbox label,
body#checkout section.checkout-step .custom-radio label,
body#checkout #delivery > label {
  color: var(--fq-light) !important;
}

/* Section small text / hints */
body#checkout section.checkout-step small,
body#checkout section.checkout-step .form-informations,
body#checkout section.checkout-step p {
  color: var(--fq-gray) !important;
}

/* "Zaloguj się" / tab nav links */
body#checkout .nav-tabs .nav-link,
body#checkout .nav-tabs .nav-link.active,
body#checkout .nav-item a {
  color: var(--fq-light) !important;
  background: transparent !important;
  border-color: var(--fq-border) !important;
}
body#checkout .nav-tabs .nav-link.active {
  border-bottom-color: var(--fq-orange) !important;
  color: var(--fq-orange-light) !important;
}

/* Headings inside checkout steps */
body#checkout section.checkout-step h1,
body#checkout section.checkout-step .h1,
body#checkout section.checkout-step h2,
body#checkout section.checkout-step h3,
body#checkout section.checkout-step h4 {
  color: var(--fq-light) !important;
}

/* Step number / "done" checkmark */
body#checkout section.checkout-step .step-number {
  color: var(--fq-orange-light) !important;
}
body#checkout section.checkout-step .done {
  color: #4cbb6c !important;
}

/* "Edytuj" link */
body#checkout section.checkout-step .step-edit {
  color: var(--fq-orange-light) !important;
}

/* Address, delivery, payment cards */
body#checkout .address-item,
body#checkout .delivery-option,
body#checkout .payment-option {
  background: var(--fq-dark3) !important;
  border-color: var(--fq-border) !important;
  color: var(--fq-light) !important;
}

body#checkout .address-item.selected,
body#checkout .delivery-option label,
body#checkout .payment-option label {
  color: var(--fq-light) !important;
}

/* Carrier details text */
body#checkout .carrier-delay,
body#checkout .carrier-name,
body#checkout .carrier-price {
  color: var(--fq-light) !important;
}

/* Conditions / terms checkbox text */
body#checkout .condition-label,
body#checkout .condition-label label,
body#checkout .condition-label a {
  color: var(--fq-light) !important;
}

/* Order summary sidebar on checkout */
body#checkout .cart-summary-products p,
body#checkout .cart-summary-subtotals-container .cart-summary-line,
body#checkout .cart-summary-totals .cart-total,
body#checkout .cart-summary-line .label,
body#checkout .cart-summary-line .value {
  color: var(--fq-light) !important;
}

/* Separator lines */
body#checkout .separator {
  border-color: var(--fq-border) !important;
}

/* Checkboxes — ensure clickable + dark style */
body#checkout .custom-checkbox,
.custom-checkbox {
  position: relative;
}
body#checkout .custom-checkbox input[type="checkbox"] {
  position: absolute;
  width: 18px;
  height: 18px;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
body#checkout .custom-checkbox input[type="checkbox"] + span {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: var(--fq-dark3) !important;
  border: 1px solid var(--fq-gray-dim) !important;
  border-radius: 0 !important;
  pointer-events: none;
  vertical-align: middle;
  cursor: pointer;
}
body#checkout .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
  display: block !important;
  color: var(--fq-orange-light) !important;
}

/* Radio buttons (Pan/Pani) — round, dark style */
body#checkout .custom-radio,
.custom-radio {
  background: var(--fq-dark3) !important;
  border-color: var(--fq-gray-dim) !important;
  border-radius: 50% !important;
}
body#checkout .custom-radio input[type="radio"]:checked + span {
  background-color: var(--fq-orange-light) !important;
  border-radius: 50% !important;
}

/* ============ ACCOUNT / AUTH / TRACKING PAGES ============ */
body#guest-tracking,
body#authentication,
body#registration,
body#my-account,
body#identity,
body#password,
body#order-follow,
body#addresses,
body#address,
body#order-detail,
body#history,
body#module-ps_emailalerts-account,
body#discount {
  background: var(--fq-dark) !important;
  color: var(--fq-light) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  line-height: 1.7;
}

body#guest-tracking #wrapper,
body#authentication #wrapper,
body#registration #wrapper,
body#my-account #wrapper,
body#identity #wrapper,
body#password #wrapper,
body#order-follow #wrapper,
body#addresses #wrapper,
body#address #wrapper,
body#order-detail #wrapper,
body#history #wrapper,
body#module-ps_emailalerts-account #wrapper,
body#discount #wrapper {
  background: transparent !important;
  color: var(--fq-light) !important;
}

body#guest-tracking h1, body#guest-tracking h2, body#guest-tracking h3,
body#authentication h1, body#authentication h2, body#authentication h3,
body#registration h1, body#registration h2, body#registration h3,
body#my-account h1, body#my-account h2, body#my-account h3,
body#identity h1, body#identity h2, body#identity h3,
body#password h1, body#password h2, body#password h3,
body#order-follow h1, body#order-follow h2, body#order-follow h3,
body#history h1, body#history h2, body#history h3 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-white) !important;
}

body#guest-tracking .card,
body#authentication .card,
body#registration .card,
body#my-account .card,
body#identity .card,
body#password .card,
body#order-follow .card,
body#addresses .card,
body#address .card,
body#order-detail .card,
body#history .card,
body#module-ps_emailalerts-account .card,
body#discount .card {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
  border: 1px solid var(--fq-border) !important;
}

body#guest-tracking .card-block,
body#authentication .card-block,
body#registration .card-block,
body#my-account .card-block,
body#identity .card-block,
body#password .card-block,
body#order-follow .card-block,
body#addresses .card-block,
body#address .card-block,
body#order-detail .card-block,
body#history .card-block,
body#module-ps_emailalerts-account .card-block,
body#discount .card-block {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
}

/* Forms on account/auth pages */
body#guest-tracking label,
body#authentication label,
body#registration label,
body#identity label,
body#password label,
body#order-follow label,
body#address label {
  color: var(--fq-light) !important;
}

body#guest-tracking input[type="text"],
body#guest-tracking input[type="email"],
body#guest-tracking input[type="password"],
body#guest-tracking input[type="tel"],
body#guest-tracking select,
body#guest-tracking textarea,
body#authentication input[type="text"],
body#authentication input[type="email"],
body#authentication input[type="password"],
body#authentication select,
body#registration input[type="text"],
body#registration input[type="email"],
body#registration input[type="password"],
body#registration input[type="tel"],
body#registration select,
body#identity input[type="text"],
body#identity input[type="email"],
body#identity input[type="password"],
body#identity input[type="tel"],
body#identity input[type="date"],
body#identity select,
body#password input[type="text"],
body#password input[type="email"],
body#password input[type="password"],
body#order-follow input[type="text"],
body#order-follow input[type="email"],
body#address input[type="text"],
body#address input[type="tel"],
body#address select {
  background: var(--fq-dark3) !important;
  color: var(--fq-white) !important;
  border: 1px solid var(--fq-gray-dim) !important;
  border-radius: 0 !important;
}

body#guest-tracking input::placeholder,
body#authentication input::placeholder,
body#registration input::placeholder,
body#identity input::placeholder,
body#password input::placeholder,
body#order-follow input::placeholder,
body#address input::placeholder {
  color: var(--fq-gray) !important;
}

body#guest-tracking .form-control-comment,
body#authentication .form-control-comment,
body#registration .form-control-comment,
body#identity .form-control-comment {
  color: var(--fq-gray) !important;
}

/* Buttons on account pages */
body#guest-tracking .btn-primary,
body#authentication .btn-primary,
body#registration .btn-primary,
body#identity .btn-primary,
body#password .btn-primary,
body#order-follow .btn-primary,
body#address .btn-primary {
  background: var(--fq-orange) !important;
  border-color: var(--fq-orange) !important;
  color: var(--fq-white) !important;
}

body#guest-tracking .btn-primary:hover,
body#authentication .btn-primary:hover,
body#registration .btn-primary:hover,
body#identity .btn-primary:hover,
body#password .btn-primary:hover {
  background: var(--fq-orange-glow) !important;
}

/* Links */
body#guest-tracking a,
body#authentication a,
body#registration a,
body#my-account a,
body#identity a,
body#password a {
  color: var(--fq-orange-light) !important;
}

/* My account page links */
body#my-account .link-item,
body#my-account #content .card a {
  color: var(--fq-light) !important;
}

body#my-account .link-item i,
body#my-account .link-item .material-icons {
  color: var(--fq-orange-light) !important;
}

/* General text on these pages */
body#guest-tracking p,
body#authentication p,
body#registration p,
body#my-account p,
body#identity p,
body#password p,
body#order-follow p,
body#history p {
  color: var(--fq-light) !important;
}

/* Tables on order history / follow */
body#order-follow table,
body#history table {
  color: var(--fq-light) !important;
}

body#order-follow table th,
body#history table th {
  color: var(--fq-white) !important;
  background: var(--fq-dark3) !important;
  border-color: var(--fq-border) !important;
}

body#order-follow table td,
body#history table td {
  color: var(--fq-light) !important;
  border-color: var(--fq-border) !important;
}

/* Footer on these pages */
body#guest-tracking #footer,
body#authentication #footer,
body#registration #footer,
body#my-account #footer,
body#identity #footer,
body#password #footer,
body#order-follow #footer,
body#history #footer {
  background: var(--fq-dark) !important;
  color: var(--fq-light) !important;
}

/* Page header breadcrumb */
body#guest-tracking .page-header,
body#authentication .page-header,
body#registration .page-header,
body#my-account .page-header,
body#identity .page-header,
body#password .page-header {
  border-bottom: 1px solid var(--fq-border);
}

body#guest-tracking .breadcrumb li,
body#authentication .breadcrumb li,
body#registration .breadcrumb li,
body#my-account .breadcrumb li,
body#identity .breadcrumb li {
  color: var(--fq-gray) !important;
}

/* Notifications / alerts on these pages */
body#guest-tracking .alert,
body#authentication .alert,
body#registration .alert,
body#identity .alert,
body#password .alert {
  background: var(--fq-dark3) !important;
  color: var(--fq-light) !important;
  border-color: var(--fq-border) !important;
}

/* Checkboxes and radios on account pages */
body#authentication .custom-checkbox label,
body#registration .custom-checkbox label,
body#identity .custom-checkbox label {
  color: var(--fq-light) !important;
}

body#authentication .custom-checkbox input[type="checkbox"] + span,
body#registration .custom-checkbox input[type="checkbox"] + span,
body#identity .custom-checkbox input[type="checkbox"] + span {
  background: var(--fq-dark3) !important;
  border: 1px solid var(--fq-gray-dim) !important;
}

/* ============ ORDER CONFIRMATION ============ */
body#order-confirmation {
  background: var(--fq-dark) !important;
  color: var(--fq-light) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  line-height: 1.7;
}

body#order-confirmation #wrapper,
body#order-confirmation main,
body#order-confirmation section,
body#order-confirmation article {
  background: transparent !important;
  color: var(--fq-light) !important;
}

body#order-confirmation h1,
body#order-confirmation h2,
body#order-confirmation h3,
body#order-confirmation h3.h3,
body#order-confirmation .h1,
body#order-confirmation .h3,
body#order-confirmation .card-title,
body#order-confirmation #order-items h3.h3 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fq-white) !important;
}

body#order-confirmation .card,
body#order-confirmation .card-block {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
}

body#order-confirmation .card .card-block {
  border: none !important;
}

/* Order confirmation table — override theme.css white background */
body#order-confirmation .order-confirmation-table {
  background: var(--fq-dark2) !important;
  border-color: var(--fq-border) !important;
  color: var(--fq-light) !important;
}

/* Order totals table */
body#order-confirmation .order-confirmation-table table {
  width: 100%;
  color: var(--fq-light) !important;
}

body#order-confirmation .order-confirmation-table table tr td {
  color: var(--fq-light) !important;
  padding: 6px 0;
  background: transparent !important;
}

body#order-confirmation .order-confirmation-table table tr.total-value,
body#order-confirmation #order-items table tr.total-value,
#order-items table tr.total-value {
  background-color: var(--fq-dark3) !important;
}

body#order-confirmation .order-confirmation-table table tr.total-value td,
body#order-confirmation #order-items table tr.total-value td,
#order-items table tr.total-value td {
  color: var(--fq-white) !important;
  font-size: 1.1em;
  padding-top: 10px;
  border-top: 1px solid var(--fq-border);
  background: var(--fq-dark3) !important;
}

body#order-confirmation .order-confirmation-table table tr.sub td,
body#order-confirmation .order-confirmation-table table tr.sub span {
  color: var(--fq-gray) !important;
}

/* Order items */
body#order-confirmation .order-line {
  color: var(--fq-light) !important;
  border-bottom: 1px solid var(--fq-border);
  padding: 12px 0;
}

body#order-confirmation .order-line .details span,
body#order-confirmation .order-line .qty div {
  color: var(--fq-light) !important;
}

body#order-confirmation .order-line .bold {
  color: var(--fq-white) !important;
}

body#order-confirmation hr {
  border-color: var(--fq-border);
}

/* Order details sidebar */
body#order-confirmation #order-details,
body#order-confirmation #order-details ul,
body#order-confirmation #order-details ul li {
  color: var(--fq-light) !important;
}

/* Bank wire / payment return section */
body#order-confirmation #content-hook_payment_return,
body#order-confirmation section.definition-list {
  background: var(--fq-dark2) !important;
  color: var(--fq-light) !important;
  border: 1px solid var(--fq-border) !important;
  border-radius: 4px;
}

body#order-confirmation #content-hook_payment_return p,
body#order-confirmation #content-hook_payment_return strong,
body#order-confirmation #content-hook_payment_return span,
body#order-confirmation #content-hook_payment_return li {
  color: var(--fq-light) !important;
}

/* Definition list (bank wire details) — override theme.css #f6f6f6 backgrounds */
body#order-confirmation .definition-list dl {
  color: var(--fq-light) !important;
}

body#order-confirmation .definition-list dl dt,
body#order-confirmation #content-hook_payment_return dl dt {
  color: var(--fq-gray) !important;
  background: var(--fq-dark3) !important;
  font-weight: 600;
}

body#order-confirmation .definition-list dl dd,
body#order-confirmation #content-hook_payment_return dl dd {
  color: var(--fq-white) !important;
  background: var(--fq-dark3) !important;
  font-weight: 700;
}

body#order-confirmation #content-hook_payment_return a {
  color: var(--fq-orange-light) !important;
}

/* Page header */
body#order-confirmation .page-header {
  border-bottom: 1px solid var(--fq-border);
}

/* Footer on confirmation page */
body#order-confirmation #footer {
  background: var(--fq-dark) !important;
  color: var(--fq-light) !important;
}
