/*
 * Sligrags Party Culture theme layer for PrestaShop 8.2 Classic.
 * Child-theme CSS only. No external dependencies.
 */

:root {
  --sligrags-bg: #fbfbff;
  --sligrags-bg-soft: #f2f3f8;
  --sligrags-surface: #ffffff;
  --sligrags-surface-strong: #ffffff;
  --sligrags-text: #11111a;
  --sligrags-muted: #616173;
  --sligrags-border: rgba(17, 17, 26, 0.12);
  --sligrags-cyan: #00e5ff;
  --sligrags-pink: #ff2bd6;
  --sligrags-green: #b8ff2c;
  --sligrags-purple: #7c3cff;
  --sligrags-warning: #ffb000;
  --sligrags-radius-sm: 12px;
  --sligrags-radius: 20px;
  --sligrags-radius-lg: 30px;
  --sligrags-shadow: 0 20px 60px rgba(17, 17, 26, 0.14);
  --sligrags-shadow-soft: 0 14px 34px rgba(17, 17, 26, 0.1);
  --sligrags-gradient: linear-gradient(135deg, var(--sligrags-cyan), var(--sligrags-pink) 58%, var(--sligrags-green));
  --sligrags-panel-gradient: linear-gradient(145deg, rgba(0, 229, 255, 0.12), rgba(255, 43, 214, 0.12));
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) {
    --sligrags-bg: #08080d;
    --sligrags-bg-soft: #10101a;
    --sligrags-surface: #12121c;
    --sligrags-surface-strong: #181826;
    --sligrags-text: #ffffff;
    --sligrags-muted: #b8b8c8;
    --sligrags-border: rgba(255, 255, 255, 0.13);
    --sligrags-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
    --sligrags-shadow-soft: 0 18px 48px rgba(0, 0, 0, 0.32);
  }
}

:root[data-sligrags-theme="dark"] {
  --sligrags-bg: #08080d;
  --sligrags-bg-soft: #10101a;
  --sligrags-surface: #12121c;
  --sligrags-surface-strong: #181826;
  --sligrags-text: #ffffff;
  --sligrags-muted: #b8b8c8;
  --sligrags-border: rgba(255, 255, 255, 0.13);
  --sligrags-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
  --sligrags-shadow-soft: 0 18px 48px rgba(0, 0, 0, 0.32);
}

html {
  background: var(--sligrags-bg);
}

body {
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 229, 255, 0.12), transparent 28rem),
    radial-gradient(circle at 88% 12%, rgba(255, 43, 214, 0.12), transparent 26rem),
    var(--sligrags-bg) !important;
  color: var(--sligrags-text);
  letter-spacing: -0.01em;
}

body,
#wrapper,
#content-wrapper,
#wrapper .container,
.page-content,
.card,
.block-categories,
#search_filters,
#products .product-miniature,
.product-miniature .thumbnail-container,
#blockcart-modal .modal-content,
.modal-content {
  color: var(--sligrags-text);
}

#wrapper {
  background: transparent !important;
  padding-top: 1.5rem;
}

a {
  color: var(--sligrags-purple);
  transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

a:hover,
a:focus {
  color: var(--sligrags-pink);
}

.btn,
.btn-primary,
button[type="submit"],
input[type="submit"],
.product-add-to-cart .add-to-cart {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sligrags-gradient) !important;
  color: #08080d !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em;
  box-shadow: 0 16px 34px rgba(255, 43, 214, 0.22);
  text-transform: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.btn:hover,
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.product-add-to-cart .add-to-cart:hover {
  transform: translateY(-1px);
  filter: saturate(1.12) contrast(1.05);
  box-shadow: 0 20px 42px rgba(0, 229, 255, 0.2), 0 12px 28px rgba(255, 43, 214, 0.2);
}

.btn-secondary,
.btn-tertiary,
.btn-outline,
.input-group .input-group-btn > .btn {
  background: var(--sligrags-surface-strong) !important;
  color: var(--sligrags-text) !important;
  border: 1px solid var(--sligrags-border) !important;
  box-shadow: none;
}

.form-control,
.form-control-select,
.custom-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
textarea,
select {
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text) !important;
  border: 1px solid var(--sligrags-border) !important;
  border-radius: var(--sligrags-radius-sm) !important;
  box-shadow: none !important;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--sligrags-cyan) !important;
  box-shadow: 0 0 0 0.18rem rgba(0, 229, 255, 0.15) !important;
}

/* Header */
#header {
  background: transparent !important;
  color: var(--sligrags-text);
}

#header .header-nav,
#header .header-top {
  background: rgba(255, 255, 255, 0.74) !important;
  border: 1px solid var(--sligrags-border);
  box-shadow: var(--sligrags-shadow-soft);
  backdrop-filter: blur(18px);
}

:root[data-sligrags-theme="dark"] #header .header-nav,
:root[data-sligrags-theme="dark"] #header .header-top {
  background: rgba(18, 18, 28, 0.78) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) #header .header-nav,
  :root:not([data-sligrags-theme="light"]) #header .header-top {
    background: rgba(18, 18, 28, 0.78) !important;
  }
}

#header .header-nav {
  border-radius: 0 0 var(--sligrags-radius) var(--sligrags-radius);
  border-top: 0;
}

#header .header-top {
  margin: 1rem auto 0;
  border-radius: var(--sligrags-radius-lg);
}

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

#header .logo {
  max-height: 72px;
}

#header .top-menu a[data-depth="0"] {
  font-weight: 900;
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

#header .top-menu a[data-depth="0"]:hover {
  color: var(--sligrags-pink) !important;
}

#search_widget input,
#search_widget form input[type="text"] {
  min-height: 44px;
  padding-left: 1rem;
  border-radius: 999px !important;
}

#search_widget form button[type="submit"] {
  min-width: 44px;
  box-shadow: none;
}

#_desktop_cart .blockcart,
.blockcart {
  border-radius: 999px;
  background: var(--sligrags-gradient) !important;
  color: #08080d !important;
  font-weight: 900;
}

#_desktop_cart .blockcart a,
.blockcart a,
#_desktop_cart .blockcart .material-icons,
.blockcart .material-icons {
  color: #08080d !important;
}

.sligrags-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 38px;
  padding: 0.48rem 0.78rem;
  margin-left: 0.6rem;
  border: 1px solid var(--sligrags-border);
  border-radius: 999px;
  background: var(--sligrags-surface-strong);
  color: var(--sligrags-text);
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}

.sligrags-theme-toggle:hover,
.sligrags-theme-toggle:focus {
  outline: none;
  border-color: rgba(255, 43, 214, 0.6);
}

/* Homepage hero */
.sligrags-hero,
.sligrags-category-tiles {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

.sligrags-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  min-height: 520px;
  overflow: hidden;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  padding: clamp(2rem, 5vw, 5.5rem);
  border: 1px solid var(--sligrags-border);
  border-radius: clamp(28px, 5vw, 52px);
  background:
    linear-gradient(135deg, rgba(8, 8, 13, 0.92), rgba(18, 18, 28, 0.78)),
    url('../img/hero-placeholder.svg') center/cover no-repeat;
  color: #ffffff;
  box-shadow: var(--sligrags-shadow);
  isolation: isolate;
}

.sligrags-hero::after {
  content: "";
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: clamp(20px, 4vw, 42px);
  pointer-events: none;
}

.sligrags-hero__orb {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  filter: blur(34px);
  opacity: 0.48;
  z-index: -1;
}

.sligrags-hero__orb--cyan {
  left: -90px;
  bottom: 20px;
  background: var(--sligrags-cyan);
}

.sligrags-hero__orb--pink {
  right: 4%;
  top: 6%;
  background: var(--sligrags-pink);
}

.sligrags-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 1rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--sligrags-green);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sligrags-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(2.8rem, 8vw, 7.2rem);
  line-height: 0.88;
  letter-spacing: -0.08em;
  text-transform: uppercase;
}

.sligrags-hero__copy {
  max-width: 720px;
  margin: 1.35rem 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.55;
}

.sligrags-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.sligrags-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0.92rem 1.35rem;
  border-radius: 999px;
  font-weight: 950;
  text-decoration: none !important;
}

.sligrags-btn--primary {
  background: var(--sligrags-gradient);
  color: #08080d !important;
  box-shadow: 0 16px 40px rgba(0, 229, 255, 0.25);
}

.sligrags-btn--secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.sligrags-hero__card {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 360px;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 32px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.04));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(18px);
}

.sligrags-hero__card strong {
  color: #ffffff;
  font-size: clamp(2.2rem, 5vw, 5.2rem);
  line-height: 0.88;
  letter-spacing: -0.06em;
}

.sligrags-hero__card span:last-child {
  max-width: 420px;
  margin-top: 0.8rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.45;
}

.sligrags-card__label {
  margin-bottom: auto;
  color: var(--sligrags-cyan);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.sligrags-category-tiles {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 2rem;
}

.sligrags-category-tile {
  position: relative;
  overflow: hidden;
  display: flex;
  min-height: 132px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem;
  border: 1px solid var(--sligrags-border);
  border-radius: 22px;
  background: var(--sligrags-surface);
  color: var(--sligrags-text) !important;
  text-decoration: none !important;
  box-shadow: var(--sligrags-shadow-soft);
}

.sligrags-category-tile::before {
  content: "";
  position: absolute;
  inset: auto -25% -52% auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--sligrags-gradient);
  opacity: 0.42;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.sligrags-category-tile:hover {
  transform: translateY(-3px);
}

.sligrags-category-tile:hover::before {
  transform: scale(1.22);
  opacity: 0.62;
}

.sligrags-category-tile span {
  position: relative;
  z-index: 1;
  font-size: 1.2rem;
  font-weight: 950;
}

.sligrags-category-tile em {
  position: relative;
  z-index: 1;
  margin-top: 0.25rem;
  color: var(--sligrags-muted);
  font-style: normal;
}

/* Product listings */
#products .products,
.featured-products .products,
.product-accessories .products,
.product-miniature .product-description {
  align-items: stretch;
}

#products .product-miniature,
.featured-products .product-miniature,
.product-accessories .product-miniature {
  margin-bottom: 1.4rem;
}

.product-miniature .thumbnail-container,
#products .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container,
.product-accessories .product-miniature .thumbnail-container {
  width: 100%;
  height: auto;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid var(--sligrags-border);
  border-radius: 24px;
  background: var(--sligrags-surface) !important;
  box-shadow: var(--sligrags-shadow-soft);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.product-miniature .thumbnail-container:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 43, 214, 0.48);
  box-shadow: var(--sligrags-shadow);
}

.product-miniature .thumbnail-top,
.product-miniature .product-thumbnail {
  overflow: hidden;
  border-radius: 22px 22px 0 0;
  background: var(--sligrags-bg-soft);
}

.product-miniature img,
.product-cover img,
.product-images > li.thumb-container .thumb {
  border-radius: 18px;
}

.product-miniature .product-title,
.product-miniature .product-title a {
  color: var(--sligrags-text) !important;
  font-size: 1rem;
  font-weight: 900;
  text-transform: none;
}

.product-miniature .product-price-and-shipping,
.product-miniature .price,
.current-price,
.product-price {
  color: var(--sligrags-pink) !important;
  font-weight: 950;
}

.product-miniature .regular-price,
.regular-price {
  color: var(--sligrags-muted) !important;
}

.product-flags li.product-flag,
li.product-flag {
  border-radius: 999px;
  background: var(--sligrags-gradient) !important;
  color: #08080d !important;
  font-weight: 900;
  box-shadow: none;
}

.products-section-title,
.featured-products .products-section-title,
.product-accessories .products-section-title,
.h1,
h1,
h2,
h3 {
  color: var(--sligrags-text);
}

.featured-products,
.product-accessories,
.tabs,
.card,
.page-content.card,
#main .page-content,
#products .products-selection,
.block-category,
#search_filters,
#js-product-list-top,
#checkout-personal-information-step,
#checkout-addresses-step,
#checkout-delivery-step,
#checkout-payment-step,
body#checkout section.checkout-step,
.cart-grid-body .card,
.cart-grid-right .card,
#block-reassurance,
#product-comments-list-header {
  border: 1px solid var(--sligrags-border);
  border-radius: var(--sligrags-radius);
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text);
  box-shadow: var(--sligrags-shadow-soft);
}

.block-category {
  padding: 1.5rem;
}

.block-category h1,
.category-cover,
.products-selection .sort-by,
.products-sort-order .select-title,
.total-products,
#js-product-list-header,
#js-product-list-top {
  color: var(--sligrags-text);
}

#search_filters .facet .facet-title,
#search_filters_brands .facet .facet-title,
#search_filters_suppliers .facet .facet-title {
  color: var(--sligrags-text);
  font-weight: 900;
}

#search_filters .facet .facet-label a,
#search_filters .facet .facet-label,
#search_filters .facet .custom-checkbox {
  color: var(--sligrags-muted);
}

/* Product detail */
.product-container,
.product-information,
.product-actions,
.product-prices,
.product-variants,
.product-discounts,
.product-add-to-cart,
.tabs {
  color: var(--sligrags-text);
}

.product-cover,
.product-cover img {
  border-radius: 28px;
  background: var(--sligrags-bg-soft);
}

.product-cover {
  border: 1px solid var(--sligrags-border);
  box-shadow: var(--sligrags-shadow-soft);
}

.product-information,
.product-actions,
.product-prices {
  background: transparent;
}

.product-prices .tax-shipping-delivery-label,
.product-information p,
.product-description,
.tabs .tab-pane,
.product-features,
.product-reference,
.product-quantities,
#product-availability,
.product-minimal-quantity {
  color: var(--sligrags-muted);
}

.product-variants > .product-variants-item select,
.product-quantity #quantity_wanted {
  min-height: 48px;
}

.input-color:checked + span,
.input-color:hover + span,
.input-radio:checked + span,
.radio-label:hover {
  border-color: var(--sligrags-pink) !important;
  box-shadow: 0 0 0 3px rgba(255, 43, 214, 0.14);
}

.tabs .nav-tabs {
  border-color: var(--sligrags-border);
}

.tabs .nav-tabs .nav-link {
  color: var(--sligrags-muted);
  border: 0;
  font-weight: 900;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  color: var(--sligrags-text);
  border-bottom: 3px solid var(--sligrags-pink);
}

/* Cart and checkout */
body#checkout,
body#checkout #header .header-nav,
body#checkout #footer {
  background: var(--sligrags-bg) !important;
}

body#checkout section.checkout-step {
  padding: 1.25rem;
}

body#checkout section.checkout-step .step-title,
.cart-summary-line .label,
.cart-summary-line .value,
.cart-items .cart-item,
.cart-grid-body a.label,
.cart-grid-body .product-line-info a.label {
  color: var(--sligrags-text) !important;
}

.cart-summary,
.cart-overview,
.cart-grid-right .card,
.cart-grid-body .card {
  background: var(--sligrags-surface) !important;
}

.cart-summary-products,
.cart-summary-line,
.cart-detailed-totals,
.cart-detailed-actions,
.cart-voucher,
.cart-item {
  border-color: var(--sligrags-border) !important;
}

/* Footer */
#footer,
.footer-container {
  background: var(--sligrags-bg-soft) !important;
  color: var(--sligrags-text);
  border-top: 1px solid var(--sligrags-border);
}

.footer-container {
  margin-top: 2rem;
  padding-top: 2rem;
}

.footer-container .h3,
.footer-container .h4,
.footer-container h3,
.footer-container h4,
.footer-container li a,
.footer-container a,
.footer-container .block-contact,
.footer-container .block-contact a {
  color: var(--sligrags-text) !important;
}

.footer-container li a:hover,
.footer-container a:hover {
  color: var(--sligrags-pink) !important;
}

.block_newsletter {
  border-radius: 28px;
  background: var(--sligrags-panel-gradient) !important;
  border: 1px solid var(--sligrags-border);
}

.block_newsletter p,
.block_newsletter .h3 {
  color: var(--sligrags-text) !important;
}

/* Utility polish */
.breadcrumb,
.breadcrumb li a,
.breadcrumb li::after,
.pagination,
.pagination a,
.pagination .current a,
.pagination .page-list,
.dropdown-menu,
.dropdown-item,
#mobile_top_menu_wrapper,
#mobile_top_menu_wrapper .top-menu a {
  color: var(--sligrags-text) !important;
}

.dropdown-menu,
#mobile_top_menu_wrapper,
.popover {
  background: var(--sligrags-surface) !important;
  border: 1px solid var(--sligrags-border);
  border-radius: var(--sligrags-radius);
  box-shadow: var(--sligrags-shadow-soft);
}

.alert {
  border-radius: var(--sligrags-radius-sm);
}

.alert-success {
  background: rgba(184, 255, 44, 0.14);
  border-color: rgba(184, 255, 44, 0.34);
  color: var(--sligrags-text);
}

.alert-danger {
  background: rgba(255, 43, 84, 0.12);
  border-color: rgba(255, 43, 84, 0.34);
  color: var(--sligrags-text);
}

/* Responsive */
@media (max-width: 1199px) {
  .sligrags-category-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  #header .header-top {
    margin-top: 0.75rem;
    border-radius: 22px;
  }

  .sligrags-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .sligrags-hero__card {
    min-height: 220px;
  }
}

@media (max-width: 767px) {
  #wrapper {
    padding-top: 0.8rem;
  }

  #header .header-nav,
  #header .header-top {
    border-radius: 0;
    margin: 0;
  }

  .sligrags-hero {
    margin-top: 0.4rem;
    padding: 2rem 1.1rem;
    border-radius: 26px;
  }

  .sligrags-hero::after {
    inset: 0.55rem;
    border-radius: 20px;
  }

  .sligrags-hero h1 {
    font-size: clamp(2.6rem, 17vw, 4.5rem);
  }

  .sligrags-hero__actions,
  .sligrags-btn {
    width: 100%;
  }

  .sligrags-category-tiles {
    grid-template-columns: 1fr;
  }

  .sligrags-category-tile {
    min-height: 104px;
  }

  .sligrags-theme-toggle {
    margin: 0.5rem 0 0;
  }
}

/* v1.0.1: suppress the default Classic demo image slider on the homepage so Sligrags hero leads the page. */
#index #carousel,
#index .carousel,
body#index #carousel,
body#index .carousel {
  display: none !important;
}

/* v1.0.2: party-culture wording/layout fixes and safer light/dark toggle presentation. */
.sligrags-theme-toggle {
  min-height: 30px;
  padding: 0.34rem 0.68rem;
  margin: 0 0.55rem;
  font-size: 0.78rem;
  white-space: nowrap;
  z-index: 30;
}

#header .header-nav .right-nav,
#header .header-nav .container {
  overflow: visible;
}

.sligrags-hero {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
  gap: clamp(1.2rem, 3.5vw, 3rem);
  min-height: 0;
  background:
    radial-gradient(circle at 8% 82%, rgba(0, 229, 255, 0.34), transparent 18rem),
    radial-gradient(circle at 88% 14%, rgba(255, 43, 214, 0.34), transparent 23rem),
    radial-gradient(circle at 64% 120%, rgba(124, 60, 255, 0.18), transparent 26rem),
    linear-gradient(135deg, #08080d 0%, #11111c 55%, #171020 100%);
}

.sligrags-hero__content,
.sligrags-hero__card {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.sligrags-hero h1 {
  max-width: 760px;
  font-size: clamp(2.85rem, 5.55vw, 5.85rem);
  line-height: 0.91;
  letter-spacing: -0.065em;
  overflow-wrap: normal;
  word-break: normal;
}

.sligrags-hero h1 span {
  display: block;
}

.sligrags-hero__copy {
  max-width: 600px;
}

.sligrags-hero__card {
  min-height: 320px;
  max-width: 440px;
  justify-self: end;
  overflow: hidden;
}

.sligrags-hero__card strong {
  font-size: clamp(2.25rem, 4.2vw, 4.35rem);
  letter-spacing: -0.055em;
}

/* Product-card stability over Classic's absolute positioning. */
.product-miniature .thumbnail-container,
#products .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container,
.product-accessories .product-miniature .thumbnail-container {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

.product-miniature .thumbnail-top,
#products .product-miniature .thumbnail-top,
.featured-products .product-miniature .thumbnail-top,
.product-accessories .product-miniature .thumbnail-top {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
}

.product-miniature .product-thumbnail,
.product-miniature .thumbnail-top .product-thumbnail {
  display: block !important;
  height: auto !important;
  margin: 0 !important;
}

.product-miniature .product-thumbnail img,
.product-miniature .thumbnail-top img,
.product-miniature img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.product-miniature .product-description,
#products .product-miniature .product-description,
.featured-products .product-miniature .product-description,
.product-accessories .product-miniature .product-description {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 112px !important;
  padding: 0.95rem 0.95rem 1rem !important;
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0.45rem;
}

.product-miniature .highlighted-informations,
#products .product-miniature .highlighted-informations,
.featured-products .product-miniature .highlighted-informations {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0.45rem 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.product-miniature .product-title,
.product-miniature .product-title a,
#products .product-miniature .product-title,
#products .product-miniature .product-title a,
.featured-products .product-miniature .product-title,
.featured-products .product-miniature .product-title a {
  color: var(--sligrags-text) !important;
  display: block !important;
  min-height: 0 !important;
  line-height: 1.25 !important;
}

.product-miniature .product-price-and-shipping,
#products .product-miniature .product-price-and-shipping,
.featured-products .product-miniature .product-price-and-shipping {
  margin-top: auto !important;
  text-align: left !important;
}

/* Remove default Classic demo modules that do not fit the Sligrags brand. */
#index #carousel,
#index .carousel,
body#index #carousel,
body#index .carousel,
#index .banner,
body#index .banner,
#index #custom-text,
body#index #custom-text,
#index .custom-text,
body#index .custom-text {
  display: none !important;
}

@media (max-width: 1199px) {
  .sligrags-hero {
    grid-template-columns: minmax(0, 1fr) minmax(230px, 0.65fr);
  }

  .sligrags-hero h1 {
    font-size: clamp(2.65rem, 5.2vw, 4.75rem);
  }
}

@media (max-width: 991px) {
  .sligrags-hero {
    grid-template-columns: 1fr;
  }

  .sligrags-hero__card {
    justify-self: stretch;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .sligrags-hero h1 {
    font-size: clamp(2.35rem, 13vw, 4rem);
    letter-spacing: -0.055em;
  }

  .sligrags-theme-toggle {
    margin: 0.35rem 0.35rem 0.35rem 0;
    font-size: 0.72rem;
  }
}

/* v1.0.3: solid controls, search spacing, dark-mode readability, product media, review removal. */
:root {
  --sligrags-button-bg: var(--sligrags-cyan);
  --sligrags-button-text: #05060a;
  --sligrags-button-bg-hover: #16f0ff;
}

/* Replace all multicolour button gradients with a cleaner solid accent. */
.btn,
.btn-primary,
button[type="submit"],
input[type="submit"],
.product-add-to-cart .add-to-cart,
.block_newsletter form button,
.block_newsletter .btn,
.cart-detailed-actions .btn,
.checkout.cart-detailed-actions .btn,
.sligrags-btn--primary {
  background: var(--sligrags-button-bg) !important;
  background-image: none !important;
  color: var(--sligrags-button-text) !important;
  border: 1px solid rgba(0, 229, 255, 0.55) !important;
  box-shadow: 0 14px 30px rgba(0, 229, 255, 0.18) !important;
}

.btn:hover,
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.product-add-to-cart .add-to-cart:hover,
.block_newsletter form button:hover,
.block_newsletter .btn:hover,
.cart-detailed-actions .btn:hover,
.sligrags-btn--primary:hover {
  background: var(--sligrags-button-bg-hover) !important;
  background-image: none !important;
  color: var(--sligrags-button-text) !important;
  box-shadow: 0 18px 38px rgba(0, 229, 255, 0.24) !important;
}

#_desktop_cart .blockcart,
.blockcart {
  background: var(--sligrags-button-bg) !important;
  background-image: none !important;
  color: var(--sligrags-button-text) !important;
  border: 1px solid rgba(0, 229, 255, 0.55) !important;
  box-shadow: 0 12px 28px rgba(0, 229, 255, 0.18) !important;
}

.product-flags li.product-flag,
li.product-flag {
  background: var(--sligrags-pink) !important;
  background-image: none !important;
  color: #05060a !important;
}

/* Search: stop placeholder text sitting under the magnifying glass. */
#search_widget,
#search_widget form {
  position: relative;
}

#search_widget input,
#search_widget form input[type="text"] {
  padding-left: 3.15rem !important;
  padding-right: 1.1rem !important;
  text-indent: 0 !important;
}

#search_widget form button[type="submit"] {
  position: absolute !important;
  left: 0.62rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 2.1rem !important;
  min-width: 2.1rem !important;
  height: 2.1rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--sligrags-muted) !important;
  box-shadow: none !important;
  z-index: 2 !important;
}

#search_widget form button[type="submit"] .material-icons,
#search_widget form button[type="submit"] i {
  color: var(--sligrags-muted) !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

/* Make inherited Classic / reassurance / tab text readable in both modes. */
#main,
#content,
#content-wrapper,
.product-container,
.product-information,
.product-actions,
.product-prices,
.product-add-to-cart,
.tabs,
.tabs *,
.product-information *,
.product-actions *,
.product-prices *,
#block-reassurance,
#block-reassurance *,
.blockreassurance_product,
.blockreassurance_product *,
.product-reference,
.product-quantities,
.tax-shipping-delivery-label,
.product-description,
.product-description *,
.product-features,
.product-features *,
.product-variants,
.product-variants * {
  color: var(--sligrags-text) !important;
}

.product-information p,
.product-description p,
.tabs .tab-pane p,
#block-reassurance span,
.blockreassurance_product span,
.product-features .data-sheet,
.product-features .data-sheet dd,
.product-reference span,
.tax-shipping-delivery-label {
  color: var(--sligrags-muted) !important;
}

.tabs .nav-tabs .nav-link,
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-item.open .nav-link,
.tabs .nav-tabs .nav-item.open .nav-link.active {
  background: transparent !important;
  color: var(--sligrags-text) !important;
}

.tabs .nav-tabs .nav-link.active {
  border-bottom-color: var(--sligrags-pink) !important;
}

/* Remove the product comments/customer review block entirely. */
#product-comments-list-header,
#product-comments-list,
#product-comments-list-footer,
#product-comments-tab-content,
#product-comments-tab,
#product-comments-tab-content,
#product_comments_block_tab,
#product_comments_block_extra,
.product-comments,
.product-comment-list,
.product-comments-additional-info,
.post-product-comment,
.js-product-comments-list,
.comments-note,
.product-comments-list {
  display: none !important;
}

/* Product media should sit on theme surfaces, not white cards, in dark mode. */
.images-container,
.product-cover,
.product-cover img,
.product-images,
.product-images > li.thumb-container,
.product-images > li.thumb-container .thumb,
.js-qv-mask,
.scroll-box-arrows,
.product-miniature .thumbnail-top,
.product-miniature .product-thumbnail,
.product-miniature .thumbnail-container,
.quickview .modal-content,
.quickview .product-cover,
.quickview .product-cover img {
  background-color: var(--sligrags-surface) !important;
}

:root[data-sligrags-theme="dark"] .images-container,
:root[data-sligrags-theme="dark"] .product-cover,
:root[data-sligrags-theme="dark"] .product-cover img,
:root[data-sligrags-theme="dark"] .product-images,
:root[data-sligrags-theme="dark"] .product-images > li.thumb-container,
:root[data-sligrags-theme="dark"] .product-images > li.thumb-container .thumb,
:root[data-sligrags-theme="dark"] .js-qv-mask,
:root[data-sligrags-theme="dark"] .scroll-box-arrows,
:root[data-sligrags-theme="dark"] .product-miniature .thumbnail-top,
:root[data-sligrags-theme="dark"] .product-miniature .product-thumbnail,
:root[data-sligrags-theme="dark"] .quickview .modal-content,
:root[data-sligrags-theme="dark"] .quickview .product-cover,
:root[data-sligrags-theme="dark"] .quickview .product-cover img {
  background-color: #12121c !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) .images-container,
  :root:not([data-sligrags-theme="light"]) .product-cover,
  :root:not([data-sligrags-theme="light"]) .product-cover img,
  :root:not([data-sligrags-theme="light"]) .product-images,
  :root:not([data-sligrags-theme="light"]) .product-images > li.thumb-container,
  :root:not([data-sligrags-theme="light"]) .product-images > li.thumb-container .thumb,
  :root:not([data-sligrags-theme="light"]) .js-qv-mask,
  :root:not([data-sligrags-theme="light"]) .scroll-box-arrows,
  :root:not([data-sligrags-theme="light"]) .product-miniature .thumbnail-top,
  :root:not([data-sligrags-theme="light"]) .product-miniature .product-thumbnail,
  :root:not([data-sligrags-theme="light"]) .quickview .modal-content,
  :root:not([data-sligrags-theme="light"]) .quickview .product-cover,
  :root:not([data-sligrags-theme="light"]) .quickview .product-cover img {
    background-color: #12121c !important;
  }
}

.product-cover img,
.product-miniature .product-thumbnail img,
.product-miniature .thumbnail-top img {
  object-fit: contain !important;
}

/* Dark-mode treatment for wishlist/favourite and social share controls. */
.social-sharing,
.social-sharing ul {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.social-sharing li,
.social-sharing li a,
.wishlist-button-add,
.product-actions .wishlist-button-add,
.product-miniature .wishlist-button-add,
.product-miniature .wishlist-button-add span,
.product-actions .wishlist-button-add span {
  background: var(--sligrags-surface-strong) !important;
  color: var(--sligrags-text) !important;
  border: 1px solid var(--sligrags-border) !important;
  box-shadow: none !important;
}

.social-sharing li,
.social-sharing li a,
.wishlist-button-add {
  border-radius: 999px !important;
}

.social-sharing li a:hover,
.wishlist-button-add:hover,
.product-actions .wishlist-button-add:hover,
.product-miniature .wishlist-button-add:hover {
  background: var(--sligrags-cyan) !important;
  color: #05060a !important;
  border-color: var(--sligrags-cyan) !important;
}

.social-sharing li a::before,
.social-sharing li a::after,
.social-sharing li a i,
.social-sharing li a .material-icons,
.wishlist-button-add i,
.wishlist-button-add .material-icons {
  color: currentColor !important;
}

/* Some Classic share icons are sprite/background based. In dark mode, remove the white disc and make the hit area fit the theme. */
:root[data-sligrags-theme="dark"] .social-sharing li a,
:root[data-sligrags-theme="dark"] .wishlist-button-add,
:root[data-sligrags-theme="dark"] .product-actions .wishlist-button-add,
:root[data-sligrags-theme="dark"] .product-miniature .wishlist-button-add {
  background-color: #181826 !important;
  color: #ffffff !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) .social-sharing li a,
  :root:not([data-sligrags-theme="light"]) .wishlist-button-add,
  :root:not([data-sligrags-theme="light"]) .product-actions .wishlist-button-add,
  :root:not([data-sligrags-theme="light"]) .product-miniature .wishlist-button-add {
    background-color: #181826 !important;
    color: #ffffff !important;
  }
}

/* Newsletter/input readability. */
.block_newsletter form input[type="email"],
.block_newsletter form input[type="text"] {
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text) !important;
}

.block_newsletter form input::placeholder,
#search_widget input::placeholder {
  color: var(--sligrags-muted) !important;
  opacity: 0.78 !important;
}


/* v1.0.4: final product-page hardening for dark media, comment removal and share/favourite controls. */

/* Product media: remove Classic white media card backgrounds and crop generated square thumbnails more cleanly. */
body#product .images-container,
body#product .product-cover,
body#product .js-qv-mask,
body#product .scroll-box-arrows,
body#product .product-images,
body#product .product-images > li.thumb-container,
body#product .product-images > li.thumb-container .thumb,
body#product .product-images > li.thumb-container img,
body#product .product-cover .layer,
body#product .product-cover .layer:hover {
  background: var(--sligrags-surface) !important;
  background-color: var(--sligrags-surface) !important;
  box-shadow: none !important;
}

body#product .product-cover {
  overflow: hidden !important;
  border-radius: var(--sligrags-radius) !important;
  border: 1px solid var(--sligrags-border) !important;
}

body#product .product-cover img.js-qv-product-cover,
body#product .product-cover img,
body#product .product-images > li.thumb-container .thumb,
body#product .product-images > li.thumb-container img {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

:root[data-sligrags-theme="dark"] body#product .images-container,
:root[data-sligrags-theme="dark"] body#product .product-cover,
:root[data-sligrags-theme="dark"] body#product .js-qv-mask,
:root[data-sligrags-theme="dark"] body#product .scroll-box-arrows,
:root[data-sligrags-theme="dark"] body#product .product-images,
:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container,
:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container .thumb,
:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container img,
:root[data-sligrags-theme="dark"] body#product .product-cover .layer,
:root[data-sligrags-theme="dark"] body#product .product-cover .layer:hover {
  background: #11111c !important;
  background-color: #11111c !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) body#product .images-container,
  :root:not([data-sligrags-theme="light"]) body#product .product-cover,
  :root:not([data-sligrags-theme="light"]) body#product .js-qv-mask,
  :root:not([data-sligrags-theme="light"]) body#product .scroll-box-arrows,
  :root:not([data-sligrags-theme="light"]) body#product .product-images,
  :root:not([data-sligrags-theme="light"]) body#product .product-images > li.thumb-container,
  :root:not([data-sligrags-theme="light"]) body#product .product-images > li.thumb-container .thumb,
  :root:not([data-sligrags-theme="light"]) body#product .product-images > li.thumb-container img,
  :root:not([data-sligrags-theme="light"]) body#product .product-cover .layer,
  :root:not([data-sligrags-theme="light"]) body#product .product-cover .layer:hover {
    background: #11111c !important;
    background-color: #11111c !important;
  }
}

/* If PrestaShop has generated square JPEGs with white padding, this crops the displayed media slightly in dark mode only. */
:root[data-sligrags-theme="dark"] body#product .product-cover {
  aspect-ratio: 1 / 1 !important;
}

:root[data-sligrags-theme="dark"] body#product .product-cover img.js-qv-product-cover,
:root[data-sligrags-theme="dark"] body#product .product-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) body#product .product-cover {
    aspect-ratio: 1 / 1 !important;
  }

  :root:not([data-sligrags-theme="light"]) body#product .product-cover img.js-qv-product-cover,
  :root:not([data-sligrags-theme="light"]) body#product .product-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Remove all visible Customer Reviews / Product Comments output, including empty states left by the module. */
body#product #product-comments-list-header,
body#product #product-comments-list,
body#product #product-comments-list-footer,
body#product #product-comments-tab-content,
body#product #product-comments-tab,
body#product #product_comments_block_tab,
body#product #product_comments_block_extra,
body#product #empty-product-comment,
body#product #post-product-comment-modal,
body#product #product-comment-posted-modal,
body#product #product-comment-post-error,
body#product [id*="product-comments"],
body#product [id*="product_comment"],
body#product [id*="product-comment"],
body#product [class*="product-comments"],
body#product [class*="product-comment"],
body#product .product-comments,
body#product .product-comment-list,
body#product .product-comments-additional-info,
body#product .post-product-comment,
body#product .js-product-comments-list,
body#product .comments-note,
body#product .product-comments-list {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body#product section:has(#empty-product-comment),
body#product div:has(> #empty-product-comment),
body#product section:has(#product-comments-list),
body#product div:has(> #product-comments-list),
body#product section:has(.js-product-comments-list),
body#product div:has(> .js-product-comments-list) {
  display: none !important;
}

/* Share buttons: Classic uses sprites/text-hide, so replace with clean, readable text marks. */
body#product .social-sharing {
  display: flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
}

body#product .social-sharing ul {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product .social-sharing li,
body#product .social-sharing li a {
  width: 2.55rem !important;
  min-width: 2.55rem !important;
  height: 2.55rem !important;
  min-height: 2.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  list-style: none !important;
  background: var(--sligrags-surface-strong) !important;
  background-image: none !important;
  border: 1px solid var(--sligrags-border) !important;
  box-shadow: 0 10px 22px rgba(17, 17, 26, 0.08) !important;
}

body#product .social-sharing li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 1 !important;
  color: var(--sligrags-text) !important;
  text-decoration: none !important;
}

body#product .social-sharing li a::before {
  display: block !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: currentColor !important;
}

body#product .social-sharing li.facebook a::before,
body#product .social-sharing li.facebook a:before { content: "f" !important; }
body#product .social-sharing li.twitter a::before,
body#product .social-sharing li.x a::before,
body#product .social-sharing li.twitter a:before { content: "X" !important; }
body#product .social-sharing li.pinterest a::before,
body#product .social-sharing li.pinterest a:before { content: "P" !important; }
body#product .social-sharing li.linkedin a::before,
body#product .social-sharing li.linkedin a:before { content: "in" !important; font-size: 0.9rem !important; }
body#product .social-sharing li a:not(:empty)::before { color: currentColor !important; }

body#product .social-sharing li:hover,
body#product .social-sharing li a:hover,
body#product .social-sharing li:focus-within,
body#product .social-sharing li a:focus {
  background: var(--sligrags-cyan) !important;
  color: #05060a !important;
  border-color: var(--sligrags-cyan) !important;
  outline: none !important;
}

:root[data-sligrags-theme="dark"] body#product .social-sharing li,
:root[data-sligrags-theme="dark"] body#product .social-sharing li a {
  background: #181826 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) body#product .social-sharing li,
  :root:not([data-sligrags-theme="light"]) body#product .social-sharing li a {
    background: #181826 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
  }
}

:root[data-sligrags-theme="dark"] body#product .social-sharing li:hover,
:root[data-sligrags-theme="dark"] body#product .social-sharing li a:hover,
:root[data-sligrags-theme="dark"] body#product .social-sharing li:focus-within,
:root[data-sligrags-theme="dark"] body#product .social-sharing li a:focus {
  background: var(--sligrags-cyan) !important;
  color: #05060a !important;
  border-color: var(--sligrags-cyan) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) body#product .social-sharing li:hover,
  :root:not([data-sligrags-theme="light"]) body#product .social-sharing li a:hover,
  :root:not([data-sligrags-theme="light"]) body#product .social-sharing li:focus-within,
  :root:not([data-sligrags-theme="light"]) body#product .social-sharing li a:focus {
    background: var(--sligrags-cyan) !important;
    color: #05060a !important;
    border-color: var(--sligrags-cyan) !important;
  }
}

/* Wishlist/favourite: make the heart button obvious and dark-mode safe. */
body#product .wishlist-button-add,
body#product .wishlist-button-add span,
body#product .wishlist-button-add i,
body#product .wishlist-button-add .material-icons,
body#product button.wishlist-button-add,
body#product .product-actions .wishlist-button-add {
  background: var(--sligrags-surface-strong) !important;
  color: var(--sligrags-text) !important;
  border-color: var(--sligrags-border) !important;
}

body#product button.wishlist-button-add,
body#product .product-actions .wishlist-button-add {
  width: 2.9rem !important;
  min-width: 2.9rem !important;
  height: 2.9rem !important;
  min-height: 2.9rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--sligrags-border) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(17, 17, 26, 0.08) !important;
}

body#product button.wishlist-button-add:hover,
body#product .product-actions .wishlist-button-add:hover,
body#product button.wishlist-button-add:focus,
body#product .product-actions .wishlist-button-add:focus {
  background: var(--sligrags-cyan) !important;
  color: #05060a !important;
  border-color: var(--sligrags-cyan) !important;
  outline: none !important;
}

:root[data-sligrags-theme="dark"] body#product button.wishlist-button-add,
:root[data-sligrags-theme="dark"] body#product .product-actions .wishlist-button-add,
:root[data-sligrags-theme="dark"] body#product .wishlist-button-add span,
:root[data-sligrags-theme="dark"] body#product .wishlist-button-add i,
:root[data-sligrags-theme="dark"] body#product .wishlist-button-add .material-icons {
  background: #181826 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) body#product button.wishlist-button-add,
  :root:not([data-sligrags-theme="light"]) body#product .product-actions .wishlist-button-add,
  :root:not([data-sligrags-theme="light"]) body#product .wishlist-button-add span,
  :root:not([data-sligrags-theme="light"]) body#product .wishlist-button-add i,
  :root:not([data-sligrags-theme="light"]) body#product .wishlist-button-add .material-icons {
    background: #181826 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
  }
}


/* v1.0.5: logo visibility, product media hover fix and review remnant cleanup. */

/* White Sligrags logo: keep it visible in light mode by giving the logo link a dark badge. */
#header .sligrags-logo-frame,
#header #_desktop_logo a,
#header a:has(img.logo),
#header a:has(> .logo) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 210px !important;
  min-height: 74px !important;
  padding: 0.7rem 1rem !important;
  border-radius: 18px !important;
  background: #08080d !important;
  border: 1px solid rgba(0, 229, 255, 0.16) !important;
  box-shadow: 0 12px 32px rgba(8, 8, 13, 0.18) !important;
  overflow: visible !important;
}

#header .sligrags-logo-frame img,
#header #_desktop_logo a img,
#header a:has(img.logo) img,
#header img.logo,
#header .logo img {
  display: block !important;
  width: auto !important;
  max-width: 160px !important;
  max-height: 70px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  background: transparent !important;
}

/* Light mode can wash out a white transparent logo; force the frame even when the header itself is light. */
:root[data-sligrags-theme="light"] #header .sligrags-logo-frame,
:root[data-sligrags-theme="light"] #header #_desktop_logo a,
:root[data-sligrags-theme="light"] #header a:has(img.logo),
:root[data-sligrags-theme="light"] #header a:has(> .logo) {
  background: #08080d !important;
  border-color: rgba(255, 43, 214, 0.22) !important;
}

@media (max-width: 767px) {
  #header .sligrags-logo-frame,
  #header #_desktop_logo a,
  #header a:has(img.logo),
  #header a:has(> .logo) {
    min-height: 58px !important;
    max-width: 170px !important;
    padding: 0.5rem 0.72rem !important;
    border-radius: 14px !important;
  }

  #header .sligrags-logo-frame img,
  #header #_desktop_logo a img,
  #header a:has(img.logo) img,
  #header img.logo,
  #header .logo img {
    max-width: 126px !important;
    max-height: 54px !important;
  }
}

/* Product media: never let the zoom overlay hide the photo. */
body#product .product-cover,
body#product .images-container,
body#product .js-qv-mask {
  background: var(--sligrags-surface) !important;
  background-color: var(--sligrags-surface) !important;
}

:root[data-sligrags-theme="dark"] body#product .product-cover,
:root[data-sligrags-theme="dark"] body#product .images-container,
:root[data-sligrags-theme="dark"] body#product .js-qv-mask {
  background: #11111c !important;
  background-color: #11111c !important;
}

body#product .product-cover img.js-qv-product-cover,
body#product .product-cover img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: cover !important;
  object-position: left center !important;
  background: transparent !important;
  z-index: 1 !important;
}

body#product .product-cover .layer,
body#product .product-cover .layer:hover,
body#product .product-cover:hover .layer,
body#product .product-cover:focus-within .layer {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 3 !important;
}

body#product .product-cover .layer .zoom-in,
body#product .product-cover .layer i,
body#product .product-cover .layer .material-icons {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3.6rem !important;
  height: 3.6rem !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: rgba(8, 8, 13, 0.54) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(8px) !important;
}

body#product .product-images > li.thumb-container,
body#product .product-images > li.thumb-container .thumb {
  background: var(--sligrags-surface) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container,
:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container .thumb {
  background: #11111c !important;
}

body#product .product-images > li.thumb-container .thumb,
body#product .product-images > li.thumb-container img {
  object-fit: cover !important;
  object-position: left center !important;
}

/* Product listing cards: stop Classic quick-view/hover panels from blanking the image. */
.product-miniature .thumbnail-container:hover img,
#products .product-miniature .thumbnail-container:hover img,
.featured-products .product-miniature .thumbnail-container:hover img,
.product-accessories .product-miniature .thumbnail-container:hover img {
  opacity: 1 !important;
  visibility: visible !important;
}

.product-miniature .highlighted-informations,
#products .product-miniature .highlighted-informations,
.featured-products .product-miniature .highlighted-informations,
.product-accessories .product-miniature .highlighted-informations {
  background: rgba(8, 8, 13, 0.52) !important;
  backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
}

.product-miniature .highlighted-informations a,
#products .product-miniature .highlighted-informations a,
.featured-products .product-miniature .highlighted-informations a,
.product-accessories .product-miniature .highlighted-informations a {
  color: #ffffff !important;
}

/* Remove the empty white review bar left by the product comments module. */
body#product .sligrags-review-remnant,
body#product .sligrags-empty-review-remnant,
body#product section.product-comments,
body#product section[id*="comment"],
body#product div[id*="comment"][id*="product"],
body#product div[class*="comment"][class*="product"],
body#product div[class*="review"][class*="product"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* Safety: hide isolated empty full-width panels directly after the product information area. */
body#product #main .page-content > .sligrags-empty-review-remnant,
body#product #content .sligrags-empty-review-remnant,
body#product #wrapper .sligrags-empty-review-remnant {
  display: none !important;
}

/* v1.0.6: correct product media target and unify dark surfaces. */
:root[data-sligrags-theme="dark"] {
  --sligrags-bg: #050508;
  --sligrags-bg-soft: #050508;
  --sligrags-surface: #050508;
  --sligrags-surface-strong: #0b0b12;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) {
    --sligrags-bg: #050508;
    --sligrags-bg-soft: #050508;
    --sligrags-surface: #050508;
    --sligrags-surface-strong: #0b0b12;
  }
}

:root[data-sligrags-theme="dark"] html,
:root[data-sligrags-theme="dark"] body,
:root[data-sligrags-theme="dark"] #wrapper,
:root[data-sligrags-theme="dark"] #content-wrapper,
:root[data-sligrags-theme="dark"] #main,
:root[data-sligrags-theme="dark"] .page-content {
  background-color: #050508 !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) html,
  :root:not([data-sligrags-theme="light"]) body,
  :root:not([data-sligrags-theme="light"]) #wrapper,
  :root:not([data-sligrags-theme="light"]) #content-wrapper,
  :root:not([data-sligrags-theme="light"]) #main,
  :root:not([data-sligrags-theme="light"]) .page-content {
    background-color: #050508 !important;
  }
}

/* Keep dark containers from looking like separate random black panels. */
:root[data-sligrags-theme="dark"] .featured-products,
:root[data-sligrags-theme="dark"] .product-accessories,
:root[data-sligrags-theme="dark"] body#product .images-container,
:root[data-sligrags-theme="dark"] body#product .product-cover,
:root[data-sligrags-theme="dark"] body#product .js-qv-mask,
:root[data-sligrags-theme="dark"] body#product .product-images,
:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container,
:root[data-sligrags-theme="dark"] body#product .product-images > li.thumb-container .thumb {
  background-color: #050508 !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) .featured-products,
  :root:not([data-sligrags-theme="light"]) .product-accessories,
  :root:not([data-sligrags-theme="light"]) body#product .images-container,
  :root:not([data-sligrags-theme="light"]) body#product .product-cover,
  :root:not([data-sligrags-theme="light"]) body#product .js-qv-mask,
  :root:not([data-sligrags-theme="light"]) body#product .product-images,
  :root:not([data-sligrags-theme="light"]) body#product .product-images > li.thumb-container,
  :root:not([data-sligrags-theme="light"]) body#product .product-images > li.thumb-container .thumb {
    background-color: #050508 !important;
  }
}

/* Product media: stop targeting the dark card as if it were the image. Let the real image render naturally. */
body#product .images-container,
body#product .product-cover,
body#product .product-cover > picture,
body#product .product-cover picture,
body#product .product-cover a,
body#product .js-qv-mask {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

body#product .product-cover {
  position: relative !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
}

body#product .product-cover img,
body#product .product-cover img.js-qv-product-cover,
body#product .product-cover picture img,
body#product .images-container .product-cover img {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Disable the Classic zoom layer. This was the element hiding the product image on hover. */
body#product .product-cover .layer,
body#product .product-cover:hover .layer,
body#product .product-cover:focus-within .layer,
body#product .product-cover .layer .zoom-in,
body#product .product-cover .layer i,
body#product .product-cover .layer .material-icons {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}

body#product .product-images > li.thumb-container,
body#product .product-images > li.thumb-container .thumb,
body#product .product-images > li.thumb-container img {
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#product .product-images > li.thumb-container .thumb,
body#product .product-images > li.thumb-container img {
  object-fit: cover !important;
  object-position: center center !important;
}

/* Listing images: never let Classic quick-view hover panels remove the image. */
.product-miniature .thumbnail-top,
.product-miniature .product-thumbnail,
.product-miniature .thumbnail-container,
.product-miniature .thumbnail-container:hover,
#products .product-miniature .thumbnail-container,
#products .product-miniature .thumbnail-container:hover,
.featured-products .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container:hover {
  background-color: transparent !important;
}

.product-miniature .thumbnail-top img,
.product-miniature .product-thumbnail img,
.product-miniature .thumbnail-container img,
.product-miniature .thumbnail-container:hover img,
#products .product-miniature .thumbnail-container img,
#products .product-miniature .thumbnail-container:hover img,
.featured-products .product-miniature .thumbnail-container img,
.featured-products .product-miniature .thumbnail-container:hover img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  background: transparent !important;
}

/* Product image lightbox: if it is still triggered by cached markup, make the chrome dark not white. */
.fancybox-container,
.fancybox-bg,
.fancybox-stage,
.fancybox-slide,
.fancybox-slide--image,
.fancybox-content,
.fancybox-caption,
.modal.quickview .modal-content,
.modal.quickview .modal-body,
#product-modal .modal-content,
#product-modal .modal-body,
#product-modal .modal-footer,
#product-modal .modal-dialog {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
}

.fancybox-image,
#product-modal img,
.modal.quickview img {
  background: transparent !important;
}

/* v1.0.7: checkout readability and form accessibility fix. */
:root {
  --sligrags-checkout-page: var(--sligrags-bg);
  --sligrags-checkout-panel: var(--sligrags-surface);
  --sligrags-checkout-panel-strong: var(--sligrags-surface-strong);
  --sligrags-checkout-input: #ffffff;
  --sligrags-checkout-input-text: var(--sligrags-text);
  --sligrags-checkout-label: var(--sligrags-text);
  --sligrags-checkout-muted: var(--sligrags-muted);
  --sligrags-checkout-rule: var(--sligrags-border);
}

:root[data-sligrags-theme="dark"] {
  --sligrags-checkout-page: #050508;
  --sligrags-checkout-panel: #101019;
  --sligrags-checkout-panel-strong: #151522;
  --sligrags-checkout-input: #12121c;
  --sligrags-checkout-input-text: #ffffff;
  --sligrags-checkout-label: #f5f5fb;
  --sligrags-checkout-muted: #c5c5d5;
  --sligrags-checkout-rule: rgba(255, 255, 255, 0.18);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-sligrags-theme="light"]) {
    --sligrags-checkout-page: #050508;
    --sligrags-checkout-panel: #101019;
    --sligrags-checkout-panel-strong: #151522;
    --sligrags-checkout-input: #12121c;
    --sligrags-checkout-input-text: #ffffff;
    --sligrags-checkout-label: #f5f5fb;
    --sligrags-checkout-muted: #c5c5d5;
    --sligrags-checkout-rule: rgba(255, 255, 255, 0.18);
  }
}

body#checkout,
body#checkout #wrapper,
body#checkout #content-wrapper,
body#checkout #main,
body#checkout .page-content {
  background: var(--sligrags-checkout-page) !important;
  color: var(--sligrags-checkout-label) !important;
}

body#checkout .checkout-step,
body#checkout section.checkout-step,
body#checkout #checkout-personal-information-step,
body#checkout #checkout-addresses-step,
body#checkout #checkout-delivery-step,
body#checkout #checkout-payment-step,
body#checkout .cart-grid-right .card,
body#checkout .cart-summary,
body#checkout .cart-detailed-totals,
body#checkout .cart-summary-products,
body#checkout #js-checkout-summary,
body#checkout #block-reassurance,
body#checkout .blockreassurance_product,
body#checkout .definition-list,
body#checkout .js-address-form,
body#checkout .delivery-option,
body#checkout .payment-option,
body#checkout .condition-label,
body#checkout .order-confirmation-table {
  background: var(--sligrags-checkout-panel) !important;
  color: var(--sligrags-checkout-label) !important;
  border-color: var(--sligrags-checkout-rule) !important;
}

body#checkout .checkout-step {
  overflow: visible !important;
}

body#checkout .checkout-step .content,
body#checkout .checkout-step .step-title,
body#checkout .checkout-step .step-number,
body#checkout .checkout-step .step-edit,
body#checkout .checkout-step .done,
body#checkout .checkout-step .reachable,
body#checkout .checkout-step .js-edit-step,
body#checkout .checkout-step .nav-inline,
body#checkout .checkout-step .nav-item,
body#checkout .checkout-step .nav-link,
body#checkout .checkout-step .nav-separator,
body#checkout .checkout-step p,
body#checkout .checkout-step span,
body#checkout .checkout-step div,
body#checkout .checkout-step li,
body#checkout .checkout-step strong,
body#checkout .checkout-step legend,
body#checkout .checkout-step .h1,
body#checkout .checkout-step .h2,
body#checkout .checkout-step .h3,
body#checkout .checkout-step .h4,
body#checkout .checkout-step h1,
body#checkout .checkout-step h2,
body#checkout .checkout-step h3,
body#checkout .checkout-step h4,
body#checkout .cart-summary,
body#checkout .cart-summary *,
body#checkout .cart-grid-right,
body#checkout .cart-grid-right *,
body#checkout .cart-grid-body,
body#checkout .cart-grid-body *,
body#checkout #block-reassurance,
body#checkout #block-reassurance *,
body#checkout .blockreassurance_product,
body#checkout .blockreassurance_product * {
  color: var(--sligrags-checkout-label) !important;
}

body#checkout .checkout-step .step-title {
  border-bottom: 1px solid var(--sligrags-checkout-rule) !important;
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.35rem !important;
  opacity: 1 !important;
}

body#checkout .checkout-step .step-number {
  background: #00c76f !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.6rem !important;
  height: 2.6rem !important;
  margin-right: 0.8rem !important;
}

body#checkout label,
body#checkout .form-control-label,
body#checkout .col-form-label,
body#checkout .radio-inline,
body#checkout .custom-radio,
body#checkout .custom-checkbox,
body#checkout .form-group label,
body#checkout .form-group .label,
body#checkout .form-control-comment,
body#checkout .help-block,
body#checkout .help-block li,
body#checkout small,
body#checkout .text-muted,
body#checkout .optional,
body#checkout .js-terms a,
body#checkout .condition-label,
body#checkout .condition-label label,
body#checkout .condition-label a {
  color: var(--sligrags-checkout-muted) !important;
  opacity: 1 !important;
}

body#checkout .form-control-label,
body#checkout .form-group > label,
body#checkout .radio-inline,
body#checkout .checkbox-inline {
  font-weight: 700 !important;
}

body#checkout .nav-inline .nav-link,
body#checkout .nav-inline .nav-item a,
body#checkout .nav-inline .nav-separator,
body#checkout a {
  color: var(--sligrags-checkout-label) !important;
  opacity: 1 !important;
}

body#checkout .nav-inline .nav-link.active,
body#checkout .nav-inline .nav-link:hover,
body#checkout a:hover,
body#checkout a:focus {
  color: var(--sligrags-cyan) !important;
}

body#checkout input[type="text"],
body#checkout input[type="email"],
body#checkout input[type="password"],
body#checkout input[type="tel"],
body#checkout input[type="number"],
body#checkout select,
body#checkout textarea,
body#checkout .form-control,
body#checkout .form-control-select,
body#checkout .custom-select {
  background: var(--sligrags-checkout-input) !important;
  color: var(--sligrags-checkout-input-text) !important;
  border: 1px solid var(--sligrags-checkout-rule) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body#checkout input::placeholder,
body#checkout textarea::placeholder {
  color: var(--sligrags-checkout-muted) !important;
  opacity: 0.8 !important;
}

body#checkout input:-webkit-autofill,
body#checkout input:-webkit-autofill:hover,
body#checkout input:-webkit-autofill:focus,
body#checkout textarea:-webkit-autofill,
body#checkout select:-webkit-autofill {
  -webkit-text-fill-color: var(--sligrags-checkout-input-text) !important;
  caret-color: var(--sligrags-checkout-input-text) !important;
  box-shadow: 0 0 0 1000px var(--sligrags-checkout-input) inset !important;
  transition: background-color 9999s ease-out 0s !important;
}

body#checkout .custom-radio,
body#checkout .custom-checkbox input[type="checkbox"] + span,
body#checkout .custom-checkbox input[type="checkbox"] + span .checkbox-checked {
  border-color: var(--sligrags-checkout-rule) !important;
  background: var(--sligrags-checkout-panel-strong) !important;
}

body#checkout .custom-radio input[type="radio"]:checked + span,
body#checkout .custom-checkbox input[type="checkbox"]:checked + span,
body#checkout .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
  border-color: var(--sligrags-cyan) !important;
  background: var(--sligrags-cyan) !important;
  color: #05060a !important;
}

body#checkout .form-group {
  margin-bottom: 1.15rem !important;
}

body#checkout .form-group.row {
  align-items: flex-start !important;
}

body#checkout .cart-summary-line,
body#checkout .cart-summary-subtotals-container,
body#checkout .cart-summary-totals,
body#checkout .cart-detailed-totals,
body#checkout .separator {
  border-color: var(--sligrags-checkout-rule) !important;
}

body#checkout .cart-summary-line .label,
body#checkout .cart-summary-line .value,
body#checkout .cart-summary-line.cart-total .label,
body#checkout .cart-summary-line.cart-total .value,
body#checkout .cart-total,
body#checkout .cart-summary-products p,
body#checkout .cart-summary-products a,
body#checkout #cart-summary-product-list,
body#checkout #cart-summary-product-list * {
  color: var(--sligrags-checkout-label) !important;
}

body#checkout .btn,
body#checkout .btn-primary,
body#checkout button[type="submit"],
body#checkout input[type="submit"] {
  background: var(--sligrags-button-bg) !important;
  background-image: none !important;
  color: var(--sligrags-button-text) !important;
  border-color: rgba(0, 229, 255, 0.55) !important;
}

body#checkout .btn-secondary,
body#checkout .btn-tertiary,
body#checkout button[name="confirm-addresses"].btn-secondary,
body#checkout button[name="confirmDeliveryOption"].btn-secondary {
  background: var(--sligrags-checkout-panel-strong) !important;
  color: var(--sligrags-checkout-label) !important;
  border: 1px solid var(--sligrags-checkout-rule) !important;
}

body#checkout .ps-shown-by-js,
body#checkout .js-visible-password,
body#checkout .input-group-btn .btn,
body#checkout .input-group .btn {
  color: var(--sligrags-checkout-label) !important;
}

body#checkout .alert,
body#checkout .js-alert-payment-conditions,
body#checkout .js-alert-terms {
  background: var(--sligrags-checkout-panel-strong) !important;
  border-color: var(--sligrags-warning) !important;
  color: var(--sligrags-checkout-label) !important;
}

body#checkout #checkout-payment-step iframe,
body#checkout .payment-options,
body#checkout .payment-option,
body#checkout .payment-option label,
body#checkout .payment-option span {
  color: var(--sligrags-checkout-label) !important;
}

@media (max-width: 767px) {
  body#checkout section.checkout-step {
    padding: 1rem !important;
  }

  body#checkout .form-control-label,
  body#checkout .col-form-label,
  body#checkout .form-control-comment {
    text-align: left !important;
  }
}

/* --------------------------------------------------------------------------
   Sligrags v11: product media rollback + gallery controls + crop fix
   -------------------------------------------------------------------------- */
body#product {
  --sligrags-page-bg: #050508;
  --sligrags-panel-bg: #0f1019;
  --sligrags-product-crop: 1.34;
}

html[data-sligrags-theme="dark"] body,
html[data-sligrags-theme="dark"] body#product,
body.sligrags-dark,
body.sligrags-dark#product {
  background: #050508 !important;
  background-color: #050508 !important;
}

html[data-sligrags-theme="dark"] body#product #wrapper,
html[data-sligrags-theme="dark"] body#product #content-wrapper,
html[data-sligrags-theme="dark"] body#product #main,
html[data-sligrags-theme="dark"] body#product .container,
html[data-sligrags-theme="dark"] body#product .sligrags-product-gallery,
body.sligrags-dark#product #wrapper,
body.sligrags-dark#product #content-wrapper,
body.sligrags-dark#product #main,
body.sligrags-dark#product .container,
body.sligrags-dark#product .sligrags-product-gallery {
  background: #050508 !important;
  background-color: #050508 !important;
}

html[data-sligrags-theme="dark"] .header-top .logo,
html[data-sligrags-theme="dark"] #header .logo,
body.sligrags-dark .header-top .logo,
body.sligrags-dark #header .logo {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

html[data-sligrags-theme="dark"] #_desktop_logo,
html[data-sligrags-theme="dark"] #header .logo a,
body.sligrags-dark #_desktop_logo,
body.sligrags-dark #header .logo a {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

html[data-sligrags-theme="light"] #_desktop_logo,
html[data-sligrags-theme="light"] #header .logo a,
body:not(.sligrags-dark) #_desktop_logo,
body:not(.sligrags-dark) #header .logo a {
  background: #050508 !important;
  background-color: #050508 !important;
  border-radius: 22px !important;
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.18) !important;
}

body#product .sligrags-product-gallery,
body#product .sligrags-product-gallery .images-container,
body#product .images-container.sligrags-product-gallery {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
}

body#product .sligrags-product-cover,
body#product .product-cover.sligrags-product-cover {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #050508 !important;
  background-color: #050508 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: isolate !important;
  cursor: zoom-in !important;
}

html[data-sligrags-theme="light"] body#product .sligrags-product-cover,
body:not(.sligrags-dark)#product .sligrags-product-cover {
  background: #f4f6fb !important;
  background-color: #f4f6fb !important;
  border-color: rgba(5, 6, 10, 0.09) !important;
}

body#product .sligrags-product-cover-picture,
body#product .sligrags-product-cover picture {
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  background-color: transparent !important;
}

body#product .sligrags-product-cover-image,
body#product .product-cover img.js-qv-product-cover.sligrags-product-cover-image,
body#product .product-cover img.js-qv-product-cover,
body#product .product-cover picture img {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(var(--sligrags-product-crop)) !important;
  transform-origin: center center !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body#product .sligrags-product-cover .layer,
body#product .sligrags-product-cover:hover .layer,
body#product .sligrags-product-cover:focus-within .layer,
body#product .product-cover.sligrags-product-cover .layer {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 8 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  cursor: zoom-in !important;
  background: transparent !important;
  background-color: transparent !important;
}

body#product .sligrags-product-cover .layer .zoom-in,
body#product .sligrags-product-cover .layer i,
body#product .sligrags-product-cover .layer .material-icons {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}

body#product .sligrags-product-thumbs,
body#product .sligrags-product-gallery .js-qv-mask.mask {
  display: block !important;
  width: 100% !important;
  margin-top: 1.25rem !important;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
}

body#product .sligrags-product-gallery .product-images,
body#product .sligrags-product-gallery ul.product-images.js-qv-product-images {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
}

body#product .sligrags-product-gallery .product-images > li.thumb-container,
body#product .sligrags-product-gallery .thumb-container,
body#product .sligrags-product-gallery .js-thumb-container {
  display: block !important;
  flex: 0 0 94px !important;
  width: 94px !important;
  max-width: 94px !important;
  height: 112px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #050508 !important;
  background-color: #050508 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 12px !important;
}

body#product .sligrags-product-gallery .thumb-container picture,
body#product .sligrags-product-gallery .thumb-container a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: transparent !important;
}

body#product .sligrags-product-gallery .thumb-container img.thumb,
body#product .sligrags-product-gallery .thumb-container img,
body#product .sligrags-product-gallery .product-images img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.12) !important;
  transform-origin: center center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body#product .sligrags-product-gallery .thumb.selected,
body#product .sligrags-product-gallery .thumb.js-thumb-selected,
body#product .sligrags-product-gallery .thumb-container:has(.selected) {
  outline: 3px solid var(--sligrags-cyan) !important;
  outline-offset: -3px !important;
}

body#product .sligrags-gallery-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(5, 5, 8, 0.72) !important;
  background-color: rgba(5, 5, 8, 0.72) !important;
  color: #ffffff !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.16) !important;
  cursor: pointer !important;
}

body#product .sligrags-gallery-prev { left: 1rem !important; }
body#product .sligrags-gallery-next { right: 1rem !important; }

body#product .sligrags-gallery-nav:hover,
body#product .sligrags-gallery-nav:focus {
  background: var(--sligrags-cyan) !important;
  color: #050508 !important;
  border-color: var(--sligrags-cyan) !important;
}

body#product .sligrags-gallery-nav[hidden],
body#product .sligrags-gallery-nav.is-hidden {
  display: none !important;
}

#product-modal .modal-content,
#product-modal .modal-body,
#product-modal .modal-footer {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
}

#product-modal .modal-body figure,
#product-modal .product-cover-modal {
  background: #050508 !important;
  background-color: #050508 !important;
}

@media (max-width: 767px) {
  body#product {
    --sligrags-product-crop: 1.26;
  }
  body#product .sligrags-gallery-nav {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.7rem !important;
  }
  body#product .sligrags-gallery-prev { left: 0.6rem !important; }
  body#product .sligrags-gallery-next { right: 0.6rem !important; }
  body#product .sligrags-product-gallery .thumb-container {
    flex-basis: 82px !important;
    width: 82px !important;
    max-width: 82px !important;
    height: 96px !important;
  }
}

/* --------------------------------------------------------------------------
   Sligrags v12: listing/media modal crop + category page repair.
   This deliberately avoids replacing product-gallery templates again.
   -------------------------------------------------------------------------- */

:root {
  --sligrags-listing-crop: 1.28;
  --sligrags-modal-crop: 1.24;
}

/* Product listing cards: crop the actual image inside a clipped frame so the
   generated white square padding is not visible on homepage/category cards. */
.product-miniature .thumbnail-container,
#products .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container,
.product-accessories .product-miniature .thumbnail-container {
  overflow: hidden !important;
}

.product-miniature .thumbnail-top,
.product-miniature .product-thumbnail,
.product-miniature .thumbnail-container .product-thumbnail,
#products .product-miniature .thumbnail-top,
#products .product-miniature .product-thumbnail,
.featured-products .product-miniature .thumbnail-top,
.featured-products .product-miniature .product-thumbnail,
.product-accessories .product-miniature .thumbnail-top,
.product-accessories .product-miniature .product-thumbnail {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #050508 !important;
  background-color: #050508 !important;
  border-radius: 14px 14px 0 0 !important;
}

.product-miniature .product-thumbnail img,
.product-miniature .thumbnail-top img,
.product-miniature .thumbnail-container img,
#products .product-miniature .product-thumbnail img,
#products .product-miniature .thumbnail-top img,
#products .product-miniature .thumbnail-container img,
.featured-products .product-miniature .product-thumbnail img,
.featured-products .product-miniature .thumbnail-top img,
.featured-products .product-miniature .thumbnail-container img,
.product-accessories .product-miniature .product-thumbnail img,
.product-accessories .product-miniature .thumbnail-top img,
.product-accessories .product-miniature .thumbnail-container img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(var(--sligrags-listing-crop)) !important;
  transform-origin: center center !important;
  background: #050508 !important;
  background-color: #050508 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.product-miniature .thumbnail-container:hover img,
#products .product-miniature .thumbnail-container:hover img,
.featured-products .product-miniature .thumbnail-container:hover img,
.product-accessories .product-miniature .thumbnail-container:hover img {
  transform: scale(var(--sligrags-listing-crop)) !important;
}

/* Light theme still crops the photo, but uses the light surface behind it. */
html[data-sligrags-theme="light"] .product-miniature .thumbnail-top,
html[data-sligrags-theme="light"] .product-miniature .product-thumbnail,
body:not(.sligrags-dark) .product-miniature .thumbnail-top,
body:not(.sligrags-dark) .product-miniature .product-thumbnail,
html[data-sligrags-theme="light"] .product-miniature .product-thumbnail img,
body:not(.sligrags-dark) .product-miniature .product-thumbnail img {
  background: #f4f6fb !important;
  background-color: #f4f6fb !important;
}

/* Product modal/lightbox: crop the actual modal image, not the product-page
   gallery frame. This removes the white generated thumbnail gutter when the
   image is clicked to enlarge. */
#product-modal,
#product-modal .modal-dialog,
#product-modal .modal-content,
#product-modal .modal-body,
#product-modal .modal-footer,
#product-modal .modal-body .row,
#product-modal figure,
#product-modal .product-cover-modal,
#product-modal .product-images,
#product-modal .js-modal-mask,
#product-modal .mask,
.fancybox-container,
.fancybox-bg,
.fancybox-stage,
.fancybox-slide,
.fancybox-slide--image,
.fancybox-content,
.fancybox-caption {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
}

#product-modal .modal-dialog {
  max-width: min(1100px, 96vw) !important;
}

#product-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.72) !important;
}

#product-modal .modal-body {
  padding: 0 !important;
}

#product-modal figure,
#product-modal .product-cover-modal,
#product-modal .modal-body .product-cover {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: #050508 !important;
  background-color: #050508 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#product-modal img,
#product-modal .js-modal-product-cover,
#product-modal .product-cover-modal img,
#product-modal figure img,
.fancybox-image {
  display: block !important;
  width: 100% !important;
  height: min(82vh, 820px) !important;
  max-width: none !important;
  max-height: 82vh !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(var(--sligrags-modal-crop)) !important;
  transform-origin: center center !important;
  background: #050508 !important;
  background-color: #050508 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#product-modal .image-caption,
#product-modal figcaption,
#product-modal .modal-footer {
  background: #050508 !important;
  color: #c5c5d5 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

#product-modal .product-images > li.thumb-container,
#product-modal .thumb-container,
#product-modal .product-images img,
#product-modal img.thumb {
  background: #050508 !important;
  background-color: #050508 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

#product-modal .product-images > li.thumb-container img,
#product-modal .thumb-container img,
#product-modal img.thumb {
  width: 100% !important;
  height: 112px !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.18) !important;
}

#product-modal .close,
#product-modal .modal-header .close,
.fancybox-button {
  background: rgba(16, 16, 25, 0.95) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}

/* Category/listing page repair. */
body#category,
body#category #wrapper,
body#category #content-wrapper,
body#category #main,
body#category .page-content {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
}

body#category #left-column .block,
body#category #left-column .block-categories,
body#category #left-column .facets-title,
body#category #left-column #search_filters,
body#category #left-column #search_filters_brands,
body#category #left-column #search_filters_suppliers,
body#category #left-column .card,
body#category .block-category,
body#category #js-product-list-header,
body#category .products-selection,
body#category #products .products,
body#category #js-product-list,
body#category .pagination {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: none !important;
}

body#category #left-column .block,
body#category #left-column .block-categories,
body#category #left-column #search_filters,
body#category #left-column #search_filters_brands,
body#category #left-column #search_filters_suppliers,
body#category #left-column .card {
  border-radius: 0 !important;
  padding: 1.15rem !important;
  margin-bottom: 1.25rem !important;
}

body#category #left-column .block *,
body#category #left-column .block-categories *,
body#category #left-column #search_filters *,
body#category #left-column #search_filters_brands *,
body#category #left-column #search_filters_suppliers *,
body#category #left-column .card *,
body#category .block-category *,
body#category .products-selection *,
body#category #products *,
body#category #js-product-list * {
  color: inherit;
}

body#category #left-column a,
body#category #left-column .category-sub-menu a,
body#category #left-column .h6,
body#category #left-column .facet-title,
body#category #left-column .block-categories .category-sub-menu li > a,
body#category .block-category h1,
body#category .h1,
body#category .total-products,
body#category .products-selection .sort-by {
  color: #ffffff !important;
  opacity: 1 !important;
}

body#category #left-column .text-muted,
body#category #left-column .facet-label,
body#category #left-column .magnitude,
body#category .total-products p,
body#category .products-selection p {
  color: #c5c5d5 !important;
  opacity: 1 !important;
}

body#category .block-category {
  min-height: 0 !important;
  padding: clamp(1.25rem, 3vw, 2rem) !important;
  border-radius: 24px !important;
  margin-bottom: 1.5rem !important;
}

body#category .block-category h1,
body#category .block-category .h1 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

body#category .products-selection {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: 0.8rem 1rem !important;
  margin-bottom: 1.4rem !important;
  border-radius: 999px !important;
}

body#category .products-sort-order,
body#category .products-sort-order .select-title,
body#category .products-sort-order button,
body#category .products-sort-order .dropdown-menu,
body#category .products-sort-order .dropdown-item,
body#category select,
body#category .form-control-select,
body#category .custom-select {
  background: #101019 !important;
  background-color: #101019 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
}

body#category .products-sort-order .select-title,
body#category .products-sort-order button,
body#category select,
body#category .form-control-select,
body#category .custom-select {
  min-width: 260px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
  padding: 0.75rem 1rem !important;
}

body#category .products-sort-order .dropdown-menu {
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#category .products-sort-order .dropdown-item:hover,
body#category .products-sort-order .dropdown-item:focus {
  background: #00e5ff !important;
  color: #050508 !important;
}

body#category #products .products,
body#category #js-product-list .products {
  border: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
}

body#category #products .product-miniature,
body#category #js-product-list .product-miniature {
  margin: 0 !important;
}

/* Empty supplier/brand boxes still need to be readable if the modules output them. */
body#category #left-column .block:empty,
body#category #left-column .card:empty {
  display: none !important;
}

/* Ensure light theme category pages are still legible. */
html[data-sligrags-theme="light"] body#category,
html[data-sligrags-theme="light"] body#category #wrapper,
html[data-sligrags-theme="light"] body#category #content-wrapper,
html[data-sligrags-theme="light"] body#category #main,
html[data-sligrags-theme="light"] body#category .page-content,
html[data-sligrags-theme="light"] body#category #left-column .block,
html[data-sligrags-theme="light"] body#category #left-column .block-categories,
html[data-sligrags-theme="light"] body#category #left-column #search_filters,
html[data-sligrags-theme="light"] body#category #left-column #search_filters_brands,
html[data-sligrags-theme="light"] body#category #left-column #search_filters_suppliers,
html[data-sligrags-theme="light"] body#category .block-category,
html[data-sligrags-theme="light"] body#category .products-selection {
  background: #f7f8fc !important;
  background-color: #f7f8fc !important;
  color: #111827 !important;
  border-color: rgba(17, 24, 39, 0.1) !important;
}

html[data-sligrags-theme="light"] body#category #left-column *,
html[data-sligrags-theme="light"] body#category .block-category *,
html[data-sligrags-theme="light"] body#category .products-selection *,
html[data-sligrags-theme="light"] body#category #products * {
  color: inherit;
}

@media (max-width: 767px) {
  :root {
    --sligrags-listing-crop: 1.18;
    --sligrags-modal-crop: 1.12;
  }

  body#category .products-selection {
    border-radius: 18px !important;
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body#category .products-sort-order .select-title,
  body#category .products-sort-order button,
  body#category select,
  body#category .form-control-select,
  body#category .custom-select {
    width: 100% !important;
    min-width: 0 !important;
  }

  #product-modal img,
  #product-modal .js-modal-product-cover,
  #product-modal .product-cover-modal img,
  #product-modal figure img,
  .fancybox-image {
    height: 72vh !important;
  }
}

/* --------------------------------------------------------------------------
   Sligrags v13: stable gallery recovery, logo background correction, stronger
   listing crop, and non-destructive modal reset.
   -------------------------------------------------------------------------- */
:root {
  --sligrags-listing-crop: 1.52;
  --sligrags-product-crop: 1.20;
}

html[data-sligrags-theme="dark"],
html[data-sligrags-theme="dark"] body,
html[data-sligrags-theme="dark"] #wrapper,
html[data-sligrags-theme="dark"] #content-wrapper,
html[data-sligrags-theme="dark"] #main,
html[data-sligrags-theme="dark"] .page-content {
  background: #050508 !important;
  background-color: #050508 !important;
}

/* Logo: no visible dark plate in dark mode; keep a dark plate only in light mode. */
html[data-sligrags-theme="dark"] #header .sligrags-logo-frame,
html[data-sligrags-theme="dark"] #header #_desktop_logo,
html[data-sligrags-theme="dark"] #header #_desktop_logo a,
html[data-sligrags-theme="dark"] #header a:has(img.logo),
html[data-sligrags-theme="dark"] #header a:has(> .logo),
body.sligrags-dark #header .sligrags-logo-frame,
body.sligrags-dark #header #_desktop_logo,
body.sligrags-dark #header #_desktop_logo a,
body.sligrags-dark #header a:has(img.logo),
body.sligrags-dark #header a:has(> .logo) {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

html[data-sligrags-theme="light"] #header .sligrags-logo-frame,
html[data-sligrags-theme="light"] #header #_desktop_logo a,
html[data-sligrags-theme="light"] #header a:has(img.logo),
html[data-sligrags-theme="light"] #header a:has(> .logo),
body.sligrags-light #header .sligrags-logo-frame,
body.sligrags-light #header #_desktop_logo a,
body.sligrags-light #header a:has(img.logo),
body.sligrags-light #header a:has(> .logo) {
  background: #050508 !important;
  background-color: #050508 !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

#header img.logo,
#header .logo img,
#_desktop_logo img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
  background: transparent !important;
}

/* Product detail gallery: stable Classic structure with our arrows and gentle crop. */
body#product .images-container,
body#product .sligrags-product-gallery,
body#product .product-cover,
body#product .js-qv-mask,
body#product .product-images {
  background: #050508 !important;
  background-color: #050508 !important;
  box-shadow: none !important;
}

body#product .product-cover,
body#product .sligrags-product-cover {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  cursor: zoom-in !important;
}

body#product .product-cover img,
body#product .product-cover img.js-qv-product-cover,
body#product .product-cover .sligrags-product-cover-image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(var(--sligrags-product-crop)) !important;
  transform-origin: center center !important;
  background: #050508 !important;
  background-color: #050508 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body#product .product-cover .layer {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 8 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  cursor: zoom-in !important;
}

body#product .product-cover .layer .zoom-in,
body#product .product-cover .layer i,
body#product .product-cover .layer .material-icons {
  display: none !important;
}

body#product .sligrags-gallery-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(5, 5, 8, 0.78) !important;
  color: #ffffff !important;
  font-size: 2.25rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

body#product .sligrags-gallery-prev { left: 1rem !important; }
body#product .sligrags-gallery-next { right: 1rem !important; }

body#product .sligrags-gallery-nav:hover,
body#product .sligrags-gallery-nav:focus {
  background: var(--sligrags-cyan) !important;
  color: #050508 !important;
}

body#product .product-images,
body#product .js-qv-product-images {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  margin: 1.25rem 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#product .product-images > li.thumb-container,
body#product .js-thumb-container {
  width: 92px !important;
  height: 106px !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: #050508 !important;
  border-radius: 12px !important;
}

body#product .product-images img.thumb,
body#product .js-thumb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.16) !important;
  background: #050508 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body#product .product-images img.selected,
body#product .product-images img.js-thumb-selected,
body#product .js-thumb-selected {
  outline: 3px solid var(--sligrags-cyan) !important;
  outline-offset: -3px !important;
}

/* Listing/home/category cards: strong crop to hide generated white square gutters. */
.product-miniature .thumbnail-container,
#products .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container,
.product-accessories .product-miniature .thumbnail-container {
  overflow: hidden !important;
  background: #050508 !important;
  background-color: #050508 !important;
}

.product-miniature .thumbnail-top,
.product-miniature .product-thumbnail,
.product-miniature .thumbnail-container .product-thumbnail,
#products .product-miniature .thumbnail-top,
#products .product-miniature .product-thumbnail,
.featured-products .product-miniature .thumbnail-top,
.featured-products .product-miniature .product-thumbnail,
.product-accessories .product-miniature .thumbnail-top,
.product-accessories .product-miniature .product-thumbnail {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #050508 !important;
  background-color: #050508 !important;
  border-radius: 14px 14px 0 0 !important;
}

.product-miniature .product-thumbnail img,
.product-miniature .thumbnail-top img,
.product-miniature .thumbnail-container img,
#products .product-miniature .product-thumbnail img,
#products .product-miniature .thumbnail-top img,
#products .product-miniature .thumbnail-container img,
.featured-products .product-miniature .product-thumbnail img,
.featured-products .product-miniature .thumbnail-top img,
.featured-products .product-miniature .thumbnail-container img,
.product-accessories .product-miniature .product-thumbnail img,
.product-accessories .thumbnail-top img,
.product-accessories .thumbnail-container img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(var(--sligrags-listing-crop)) !important;
  transform-origin: center center !important;
  background: #050508 !important;
  background-color: #050508 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.product-miniature .thumbnail-container:hover img,
#products .product-miniature .thumbnail-container:hover img,
.featured-products .product-miniature .thumbnail-container:hover img,
.product-accessories .product-miniature .thumbnail-container:hover img {
  transform: scale(var(--sligrags-listing-crop)) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Product modal: reset the destructive cropping that broke the detail image.
   The generated white border cannot be removed here without cutting into the product photo. */
#product-modal,
#product-modal .modal-dialog,
#product-modal .modal-content,
#product-modal .modal-body,
#product-modal .modal-footer,
#product-modal .modal-body .row,
#product-modal figure,
#product-modal .product-cover-modal,
#product-modal .product-images,
#product-modal .js-modal-mask,
#product-modal .mask {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
}

#product-modal .modal-dialog {
  max-width: min(1120px, 96vw) !important;
}

#product-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.72) !important;
}

#product-modal .modal-body {
  padding: 1rem !important;
  overflow: auto !important;
}

#product-modal img,
#product-modal .js-modal-product-cover,
#product-modal .product-cover-modal img,
#product-modal figure img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 80vh !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  background: #050508 !important;
  background-color: #050508 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#product-modal .product-images img,
#product-modal .thumb-container img,
#product-modal img.thumb {
  width: 92px !important;
  height: 106px !important;
  object-fit: cover !important;
  transform: scale(1.16) !important;
}

@media (max-width: 767px) {
  :root {
    --sligrags-listing-crop: 1.42;
    --sligrags-product-crop: 1.12;
  }

  body#product .product-images > li.thumb-container,
  body#product .js-thumb-container {
    width: 78px !important;
    height: 90px !important;
  }

  body#product .sligrags-gallery-nav {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.8rem !important;
  }
}


/* --------------------------------------------------------------------------
   Sligrags v14: product modal stability + product header logo correction.
   Keeps the working homepage/category/listing crop from v13.
   -------------------------------------------------------------------------- */

/* Product detail header: in dark mode the white logo must sit directly on the
   header, not inside a separate black plate/pill. Light mode keeps a compact
   dark badge because the logo artwork is white. */
html[data-sligrags-theme="dark"] body#product #header #_desktop_logo,
html[data-sligrags-theme="dark"] body#product #header #_desktop_logo a,
html[data-sligrags-theme="dark"] body#product #header .sligrags-logo-frame,
html[data-sligrags-theme="dark"] body#product #header a:has(img.logo),
html[data-sligrags-theme="dark"] body#product #header a:has(> .logo),
body.sligrags-dark#product #header #_desktop_logo,
body.sligrags-dark#product #header #_desktop_logo a,
body.sligrags-dark#product #header .sligrags-logo-frame,
body.sligrags-dark#product #header a:has(img.logo),
body.sligrags-dark#product #header a:has(> .logo) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

html[data-sligrags-theme="dark"] body#product #header .logo,
body.sligrags-dark#product #header .logo,
html[data-sligrags-theme="dark"] body#product #header img.logo,
body.sligrags-dark#product #header img.logo {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  max-height: 82px !important;
}

/* Prevent the product page from inheriting the light-mode fallback badge while
   JavaScript is still adding body classes. The explicit html theme attribute is
   the source of truth after the theme toggle runs. */
html[data-sligrags-theme="dark"] body#product:not(.sligrags-light) #header #_desktop_logo,
html[data-sligrags-theme="dark"] body#product:not(.sligrags-light) #header #_desktop_logo a {
  background: transparent !important;
  background-color: transparent !important;
}

html[data-sligrags-theme="light"] body#product #header #_desktop_logo,
html[data-sligrags-theme="light"] body#product #header #_desktop_logo a,
html[data-sligrags-theme="light"] body#product #header .sligrags-logo-frame,
html[data-sligrags-theme="light"] body#product #header a:has(img.logo),
html[data-sligrags-theme="light"] body#product #header a:has(> .logo),
body.sligrags-light#product #header #_desktop_logo,
body.sligrags-light#product #header #_desktop_logo a,
body.sligrags-light#product #header .sligrags-logo-frame,
body.sligrags-light#product #header a:has(img.logo),
body.sligrags-light#product #header a:has(> .logo) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 210px !important;
  min-height: 74px !important;
  padding: 0.7rem 1rem !important;
  background: #050508 !important;
  background-color: #050508 !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 12px 32px rgba(8, 8, 13, 0.18) !important;
  border-radius: 18px !important;
  overflow: visible !important;
}

/* Product modal: v12/v13 intentionally cropped homepage/category images well,
   but the enlarged modal became over-cropped. Reset the modal to a stable,
   full-image view while keeping dark chrome. */
#product-modal,
#product-modal .modal-dialog,
#product-modal .modal-content,
#product-modal .modal-body,
#product-modal .modal-footer,
#product-modal .modal-body .row,
#product-modal figure,
#product-modal .product-cover-modal,
#product-modal .product-images,
#product-modal .js-modal-mask,
#product-modal .mask,
#product-modal aside,
#product-modal #thumbnails,
.js-product-images-modal,
.js-product-images-modal .modal-dialog,
.js-product-images-modal .modal-content,
.js-product-images-modal .modal-body,
.js-product-images-modal figure,
.js-product-images-modal aside {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
}

#product-modal .modal-dialog,
.js-product-images-modal .modal-dialog {
  width: auto !important;
  max-width: min(1120px, 94vw) !important;
  margin: 2rem auto !important;
}

#product-modal .modal-content,
.js-product-images-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.72) !important;
}

#product-modal .modal-body,
.js-product-images-modal .modal-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 132px !important;
  align-items: start !important;
  gap: 1.25rem !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 1.25rem !important;
  overflow: visible !important;
}

#product-modal .modal-body .row,
.js-product-images-modal .modal-body .row {
  display: contents !important;
}

#product-modal figure,
.js-product-images-modal figure {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Reset all modal images first to undo older broad selectors. */
#product-modal img,
.js-product-images-modal img,
.fancybox-image {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  background-color: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Main enlarged image: show the image correctly inside the dark modal. Do not
   crop destructively here; the card crops remain active on home/category pages. */
#product-modal .js-modal-product-cover,
#product-modal img.product-cover-modal,
#product-modal figure > img,
.js-product-images-modal .js-modal-product-cover,
.js-product-images-modal img.product-cover-modal,
.js-product-images-modal figure > img,
.fancybox-image {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 78vh !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  background: transparent !important;
  background-color: transparent !important;
}

#product-modal .image-caption,
#product-modal figcaption,
#product-modal .modal-footer,
.js-product-images-modal .image-caption,
.js-product-images-modal figcaption,
.js-product-images-modal .modal-footer {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0.85rem 1rem !important;
  background: #050508 !important;
  background-color: #050508 !important;
  color: #c5c5d5 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

#product-modal aside,
#product-modal #thumbnails,
#product-modal .js-modal-mask,
#product-modal .mask,
.js-product-images-modal aside,
.js-product-images-modal #thumbnails,
.js-product-images-modal .js-modal-mask,
.js-product-images-modal .mask {
  display: block !important;
  width: 132px !important;
  max-width: 132px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
}

#product-modal .product-images,
#product-modal .js-modal-product-images,
.js-product-images-modal .product-images,
.js-product-images-modal .js-modal-product-images {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0.9rem !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}

#product-modal .product-images > li.thumb-container,
#product-modal .thumb-container,
.js-product-images-modal .product-images > li.thumb-container,
.js-product-images-modal .thumb-container {
  display: block !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  max-width: 104px !important;
  height: 126px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #050508 !important;
  background-color: #050508 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 12px !important;
}

#product-modal .product-images > li.thumb-container img,
#product-modal .thumb-container img,
#product-modal img.thumb,
.js-product-images-modal .product-images > li.thumb-container img,
.js-product-images-modal .thumb-container img,
.js-product-images-modal img.thumb {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
}

#product-modal .close,
#product-modal .modal-header .close,
.js-product-images-modal .close,
.js-product-images-modal .modal-header .close,
.fancybox-button {
  background: rgba(16, 16, 25, 0.95) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

@media (max-width: 767px) {
  #product-modal .modal-dialog,
  .js-product-images-modal .modal-dialog {
    max-width: 96vw !important;
    margin: 1rem auto !important;
  }

  #product-modal .modal-body,
  .js-product-images-modal .modal-body {
    display: block !important;
    padding: 0.75rem !important;
  }

  #product-modal aside,
  #product-modal #thumbnails,
  #product-modal .js-modal-mask,
  .js-product-images-modal aside,
  .js-product-images-modal #thumbnails,
  .js-product-images-modal .js-modal-mask {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0.85rem !important;
  }

  #product-modal .product-images,
  #product-modal .js-modal-product-images,
  .js-product-images-modal .product-images,
  .js-product-images-modal .js-modal-product-images {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}


/* --------------------------------------------------------------------------
   Sligrags v15: replace the unstable native PrestaShop enlarge modal with a
   controlled product lightbox. Home/category/product-page crops remain intact.
   -------------------------------------------------------------------------- */
html.sligrags-lightbox-open,
body.sligrags-lightbox-open {
  overflow: hidden !important;
}

body#product .product-cover .layer[data-sligrags-enlarge],
body#product .product-cover .js-qv-product-cover[data-sligrags-lightbox-bound="1"] {
  cursor: zoom-in !important;
}

/* The native modal remains available in the DOM for PrestaShop compatibility,
   but the click target is now routed to our stable lightbox instead. */
#product-modal.show,
#product-modal.in {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.sligrags-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(1rem, 2vw, 2rem) !important;
  background: rgba(0, 0, 0, 0.94) !important;
  color: #ffffff !important;
}

.sligrags-lightbox__dialog {
  display: grid !important;
  grid-template-columns: minmax(0, auto) 118px !important;
  align-items: start !important;
  justify-content: center !important;
  gap: 1.25rem !important;
  width: min(1040px, 96vw) !important;
  max-height: 92vh !important;
  margin: 0 !important;
}

.sligrags-lightbox__stage {
  position: relative !important;
  display: block !important;
  height: min(82vh, 860px) !important;
  aspect-ratio: 3 / 4 !important;
  width: auto !important;
  max-width: calc(96vw - 150px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #050508 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.75) !important;
}

.sligrags-lightbox__image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
  background: #050508 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.sligrags-lightbox__caption {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 4 !important;
  margin: 0 !important;
  padding: 0.75rem 1rem !important;
  color: rgba(255, 255, 255, 0.84) !important;
  background: linear-gradient(180deg, rgba(5, 5, 8, 0), rgba(5, 5, 8, 0.86)) !important;
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
}

.sligrags-lightbox__nav,
.sligrags-lightbox__close {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(5, 5, 8, 0.78) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.38) !important;
}

.sligrags-lightbox__nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;
  width: 52px !important;
  height: 52px !important;
  transform: translateY(-50%) !important;
  font-size: 2.25rem !important;
  line-height: 1 !important;
}

.sligrags-lightbox__prev { left: 1rem !important; }
.sligrags-lightbox__next { right: 1rem !important; }

.sligrags-lightbox__close {
  position: fixed !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 6 !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 2rem !important;
  line-height: 1 !important;
}

.sligrags-lightbox__nav:hover,
.sligrags-lightbox__nav:focus,
.sligrags-lightbox__close:hover,
.sligrags-lightbox__close:focus {
  background: var(--sligrags-cyan, #00e5ff) !important;
  color: #050508 !important;
  outline: none !important;
}

.sligrags-lightbox__thumbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
  align-items: stretch !important;
  width: 118px !important;
  max-height: 82vh !important;
  overflow-y: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sligrags-lightbox__thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  background: #050508 !important;
  cursor: pointer !important;
}

.sligrags-lightbox__thumb.is-active {
  border-color: var(--sligrags-cyan, #00e5ff) !important;
}

.sligrags-lightbox__thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.06) !important;
  background: #050508 !important;
}

@media (max-width: 767px) {
  .sligrags-lightbox {
    align-items: stretch !important;
    padding: 0.75rem !important;
  }

  .sligrags-lightbox__dialog {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    width: 100% !important;
    max-height: none !important;
    gap: 0.85rem !important;
  }

  .sligrags-lightbox__stage {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: calc(100vh - 150px) !important;
    aspect-ratio: 3 / 4 !important;
  }

  .sligrags-lightbox__thumbs {
    flex-direction: row !important;
    width: 100% !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .sligrags-lightbox__thumb {
    flex: 0 0 74px !important;
    width: 74px !important;
  }

  .sligrags-lightbox__nav {
    width: 42px !important;
    height: 42px !important;
    font-size: 1.85rem !important;
  }
}

/* --------------------------------------------------------------------------
   Sligrags v16: mobile logo fit + global sort dropdown readability.
   This pass does not alter the working home/category product image crops or
   the custom product lightbox.
   -------------------------------------------------------------------------- */

/* Mobile header: the uploaded white graffiti logo is taller than Classic's
   mobile header expects. Keep the logo fully visible rather than clipped. */
@media (max-width: 767px) {
  #header,
  #header .header-top,
  #header .header-nav,
  #header .header-top .container,
  #header .header-top .row,
  #header .header-top .position-static {
    overflow: visible !important;
  }

  #header .header-top {
    min-height: 86px !important;
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
  }

  #header #_desktop_logo,
  #header #_mobile_logo,
  #header .logo,
  #header .header-top .logo,
  #header .sligrags-logo-frame,
  #header .header-top a:has(img.logo),
  #header a:has(img.logo),
  #header a:has(> .logo) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 132px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  html[data-sligrags-theme="dark"] #header #_desktop_logo,
  html[data-sligrags-theme="dark"] #header #_mobile_logo,
  html[data-sligrags-theme="dark"] #header .logo,
  html[data-sligrags-theme="dark"] #header .header-top .logo,
  html[data-sligrags-theme="dark"] #header .sligrags-logo-frame,
  html[data-sligrags-theme="dark"] #header .header-top a:has(img.logo),
  html[data-sligrags-theme="dark"] #header a:has(img.logo),
  html[data-sligrags-theme="dark"] #header a:has(> .logo),
  body.sligrags-dark #header #_desktop_logo,
  body.sligrags-dark #header #_mobile_logo,
  body.sligrags-dark #header .logo,
  body.sligrags-dark #header .header-top .logo,
  body.sligrags-dark #header .sligrags-logo-frame,
  body.sligrags-dark #header .header-top a:has(img.logo),
  body.sligrags-dark #header a:has(img.logo),
  body.sligrags-dark #header a:has(> .logo) {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html[data-sligrags-theme="light"] #header #_desktop_logo,
  html[data-sligrags-theme="light"] #header #_mobile_logo,
  html[data-sligrags-theme="light"] #header .logo,
  html[data-sligrags-theme="light"] #header .header-top .logo,
  html[data-sligrags-theme="light"] #header .sligrags-logo-frame,
  html[data-sligrags-theme="light"] #header .header-top a:has(img.logo),
  html[data-sligrags-theme="light"] #header a:has(img.logo),
  html[data-sligrags-theme="light"] #header a:has(> .logo),
  body.sligrags-light #header #_desktop_logo,
  body.sligrags-light #header #_mobile_logo,
  body.sligrags-light #header .logo,
  body.sligrags-light #header .header-top .logo,
  body.sligrags-light #header .sligrags-logo-frame,
  body.sligrags-light #header .header-top a:has(img.logo),
  body.sligrags-light #header a:has(img.logo),
  body.sligrags-light #header a:has(> .logo) {
    padding: 0.28rem 0.5rem !important;
    border-radius: 14px !important;
    background: #050508 !important;
    background-color: #050508 !important;
    border: 1px solid rgba(0, 229, 255, 0.18) !important;
    box-shadow: none !important;
  }

  #header #_desktop_logo img,
  #header #_mobile_logo img,
  #header .logo img,
  #header .header-top .logo img,
  #header img.logo,
  #header a:has(img.logo) img {
    display: block !important;
    width: auto !important;
    max-width: 118px !important;
    height: auto !important;
    max-height: 72px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #header .header-top .menu,
  #header .header-top .menu-icon,
  #header .header-top .material-icons {
    flex-shrink: 0 !important;
  }
}

/* Global product-list sorting control: applies to category, search, new
   products, prices-drop, best-sales and manufacturer/supplier listings. */
#products .products-selection,
#js-product-list-top,
.products-selection {
  color: #ffffff !important;
}

#products .products-selection .sort-by,
#js-product-list-top .sort-by,
.products-selection .sort-by {
  color: #ffffff !important;
  opacity: 1 !important;
}

#products .products-sort-order,
#js-product-list-top .products-sort-order,
.products-selection .products-sort-order {
  position: relative !important;
  z-index: 20 !important;
}

#products .products-sort-order .select-title,
#js-product-list-top .products-sort-order .select-title,
.products-selection .products-sort-order .select-title,
#products .products-sort-order button,
#js-product-list-top .products-sort-order button,
.products-selection .products-sort-order button,
#products select,
#js-product-list-top select,
.products-selection select,
#products .form-control-select,
#js-product-list-top .form-control-select,
.products-selection .form-control-select,
#products .custom-select,
#js-product-list-top .custom-select,
.products-selection .custom-select {
  min-height: 48px !important;
  min-width: 260px !important;
  padding: 0.75rem 1.1rem !important;
  border-radius: 999px !important;
  background: #101019 !important;
  background-color: #101019 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

#products .products-sort-order .select-title span,
#js-product-list-top .products-sort-order .select-title span,
.products-selection .products-sort-order .select-title span,
#products .products-sort-order .select-title i,
#js-product-list-top .products-sort-order .select-title i,
.products-selection .products-sort-order .select-title i,
#products .products-sort-order .select-title .material-icons,
#js-product-list-top .products-sort-order .select-title .material-icons,
.products-selection .products-sort-order .select-title .material-icons {
  color: #ffffff !important;
  opacity: 1 !important;
}

#products .products-sort-order .dropdown-menu,
#js-product-list-top .products-sort-order .dropdown-menu,
.products-selection .products-sort-order .dropdown-menu {
  display: none;
  min-width: 260px !important;
  margin-top: 0.45rem !important;
  padding: 0.45rem !important;
  border-radius: 16px !important;
  background: #101019 !important;
  background-color: #101019 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.45) !important;
  overflow: hidden !important;
  opacity: 1 !important;
}

#products .products-sort-order.open .dropdown-menu,
#products .products-sort-order.show .dropdown-menu,
#js-product-list-top .products-sort-order.open .dropdown-menu,
#js-product-list-top .products-sort-order.show .dropdown-menu,
.products-selection .products-sort-order.open .dropdown-menu,
.products-selection .products-sort-order.show .dropdown-menu,
#products .products-sort-order .dropdown-menu.show,
#js-product-list-top .products-sort-order .dropdown-menu.show,
.products-selection .products-sort-order .dropdown-menu.show {
  display: block !important;
}

#products .products-sort-order .dropdown-item,
#products .products-sort-order .select-list,
#js-product-list-top .products-sort-order .dropdown-item,
#js-product-list-top .products-sort-order .select-list,
.products-selection .products-sort-order .dropdown-item,
.products-selection .products-sort-order .select-list {
  display: block !important;
  width: 100% !important;
  padding: 0.75rem 0.9rem !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}

#products .products-sort-order .dropdown-item:hover,
#products .products-sort-order .dropdown-item:focus,
#products .products-sort-order .select-list:hover,
#products .products-sort-order .select-list:focus,
#js-product-list-top .products-sort-order .dropdown-item:hover,
#js-product-list-top .products-sort-order .dropdown-item:focus,
#js-product-list-top .products-sort-order .select-list:hover,
#js-product-list-top .products-sort-order .select-list:focus,
.products-selection .products-sort-order .dropdown-item:hover,
.products-selection .products-sort-order .dropdown-item:focus,
.products-selection .products-sort-order .select-list:hover,
.products-selection .products-sort-order .select-list:focus {
  background: #00e5ff !important;
  color: #050508 !important;
}

#products .products-sort-order .dropdown-item.current,
#products .products-sort-order .select-list.current,
#js-product-list-top .products-sort-order .dropdown-item.current,
#js-product-list-top .products-sort-order .select-list.current,
.products-selection .products-sort-order .dropdown-item.current,
.products-selection .products-sort-order .select-list.current {
  color: #ff2bd6 !important;
}

/* Native <select> dropdowns are OS-rendered, but their visible control must not
   be white on search/category pages. */
#products select option,
#js-product-list-top select option,
.products-selection select option {
  background: #101019 !important;
  color: #ffffff !important;
}

body#search .products-selection,
body#search #js-product-list-top,
body#search #products .products-selection {
  background: rgba(5, 5, 8, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

@media (max-width: 767px) {
  #products .products-selection,
  #js-product-list-top,
  .products-selection {
    align-items: stretch !important;
    flex-direction: column !important;
    border-radius: 22px !important;
  }

  #products .products-sort-order .select-title,
  #js-product-list-top .products-sort-order .select-title,
  .products-selection .products-sort-order .select-title,
  #products .products-sort-order button,
  #js-product-list-top .products-sort-order button,
  .products-selection .products-sort-order button,
  #products select,
  #js-product-list-top select,
  .products-selection select,
  #products .form-control-select,
  #js-product-list-top .form-control-select,
  .products-selection .form-control-select,
  #products .custom-select,
  #js-product-list-top .custom-select,
  .products-selection .custom-select {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   Sligrags v17: mobile header logo, listing sort controls, and footer-linked
   content/form pages. This pass avoids product media/lightbox changes.
   -------------------------------------------------------------------------- */

/* Mobile header: keep the uploaded square white logo fully visible instead of
   letting Classic's row/column clipping crop the artwork. */
@media (max-width: 767px) {
  #header,
  #header .header-nav,
  #header .header-top,
  #header .header-top > .container,
  #header .header-top .container,
  #header .header-top .row,
  #header .header-top [class*="col"],
  #header .mobile,
  #header .mobile-header,
  #header #_mobile_logo,
  #header #_mobile_logo a,
  #header .logo,
  #header a:has(img.logo) {
    overflow: visible !important;
  }

  #header .header-top,
  #header .header-top > .container,
  #header .header-top .container,
  #header .header-top .row {
    min-height: 86px !important;
    height: auto !important;
  }

  #header #_mobile_logo,
  #header #_mobile_logo a,
  #header .header-top .logo,
  #header .header-top a:has(img.logo),
  #header a:has(img.logo) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 118px !important;
    min-height: 0 !important;
    height: 72px !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
  }

  #header #_mobile_logo img,
  #header #_mobile_logo img.logo,
  #header .header-top .logo img,
  #header .header-top img.logo,
  #header img.logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 94px !important;
    max-height: 68px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    clip-path: none !important;
  }

  #header .header-top .position-static,
  #header .header-top .top-logo,
  #header .header-top .clearfix {
    overflow: visible !important;
    height: auto !important;
  }
}

@media (max-width: 420px) {
  #header .header-top,
  #header .header-top > .container,
  #header .header-top .container,
  #header .header-top .row {
    min-height: 78px !important;
  }

  #header #_mobile_logo,
  #header #_mobile_logo a,
  #header .header-top .logo,
  #header .header-top a:has(img.logo) {
    height: 64px !important;
    max-width: 96px !important;
  }

  #header #_mobile_logo img,
  #header #_mobile_logo img.logo,
  #header .header-top .logo img,
  #header .header-top img.logo,
  #header img.logo {
    max-width: 82px !important;
    max-height: 58px !important;
  }
}

/* Listing/search sort controls: PrestaShop uses slightly different markup on
   search, new products, best sellers and price-drop pages. Force both the
   visible select and the opened list to dark, readable controls. */
body#search .products-selection,
body#category .products-selection,
body#new-products .products-selection,
body#best-sales .products-selection,
body#prices-drop .products-selection,
body#manufacturer .products-selection,
body#supplier .products-selection,
body#search #js-product-list-top,
body#category #js-product-list-top,
body#new-products #js-product-list-top,
body#best-sales #js-product-list-top,
body#prices-drop #js-product-list-top,
body#manufacturer #js-product-list-top,
body#supplier #js-product-list-top {
  background: rgba(5, 5, 8, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

body#search .products-sort-order .select-title,
body#category .products-sort-order .select-title,
body#new-products .products-sort-order .select-title,
body#best-sales .products-sort-order .select-title,
body#prices-drop .products-sort-order .select-title,
body#manufacturer .products-sort-order .select-title,
body#supplier .products-sort-order .select-title,
body#search .products-sort-order button,
body#category .products-sort-order button,
body#new-products .products-sort-order button,
body#best-sales .products-sort-order button,
body#prices-drop .products-sort-order button,
body#manufacturer .products-sort-order button,
body#supplier .products-sort-order button,
body#search .products-selection select,
body#category .products-selection select,
body#new-products .products-selection select,
body#best-sales .products-selection select,
body#prices-drop .products-selection select,
body#manufacturer .products-selection select,
body#supplier .products-selection select,
body#search .products-selection .form-control-select,
body#category .products-selection .form-control-select,
body#new-products .products-selection .form-control-select,
body#best-sales .products-selection .form-control-select,
body#prices-drop .products-selection .form-control-select,
body#manufacturer .products-selection .form-control-select,
body#supplier .products-selection .form-control-select,
body#search .products-selection .custom-select,
body#category .products-selection .custom-select,
body#new-products .products-selection .custom-select,
body#best-sales .products-selection .custom-select,
body#prices-drop .products-selection .custom-select,
body#manufacturer .products-selection .custom-select,
body#supplier .products-selection .custom-select {
  -webkit-appearance: none !important;
  appearance: none !important;
  min-height: 48px !important;
  min-width: 260px !important;
  padding: 0.75rem 3rem 0.75rem 1.1rem !important;
  border-radius: 999px !important;
  background-color: #101019 !important;
  background-image: linear-gradient(45deg, transparent 50%, #ffffff 50%), linear-gradient(135deg, #ffffff 50%, transparent 50%) !important;
  background-position: calc(100% - 22px) 52%, calc(100% - 16px) 52% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  color-scheme: dark !important;
}

body#search .products-sort-order .select-title *,
body#category .products-sort-order .select-title *,
body#new-products .products-sort-order .select-title *,
body#best-sales .products-sort-order .select-title *,
body#prices-drop .products-sort-order .select-title *,
body#manufacturer .products-sort-order .select-title *,
body#supplier .products-sort-order .select-title * {
  color: #ffffff !important;
  opacity: 1 !important;
}

body#search .products-sort-order .dropdown-menu,
body#category .products-sort-order .dropdown-menu,
body#new-products .products-sort-order .dropdown-menu,
body#best-sales .products-sort-order .dropdown-menu,
body#prices-drop .products-sort-order .dropdown-menu,
body#manufacturer .products-sort-order .dropdown-menu,
body#supplier .products-sort-order .dropdown-menu {
  background: #101019 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.45) !important;
  opacity: 1 !important;
}

body#search .products-sort-order .dropdown-menu a,
body#category .products-sort-order .dropdown-menu a,
body#new-products .products-sort-order .dropdown-menu a,
body#best-sales .products-sort-order .dropdown-menu a,
body#prices-drop .products-sort-order .dropdown-menu a,
body#manufacturer .products-sort-order .dropdown-menu a,
body#supplier .products-sort-order .dropdown-menu a,
body#search .products-sort-order .select-list,
body#category .products-sort-order .select-list,
body#new-products .products-sort-order .select-list,
body#best-sales .products-sort-order .select-list,
body#prices-drop .products-sort-order .select-list,
body#manufacturer .products-sort-order .select-list,
body#supplier .products-sort-order .select-list {
  color: #ffffff !important;
  background: transparent !important;
  opacity: 1 !important;
}

body#search .products-selection select option,
body#category .products-selection select option,
body#new-products .products-selection select option,
body#best-sales .products-selection select option,
body#prices-drop .products-selection select option,
body#manufacturer .products-selection select option,
body#supplier .products-selection select option {
  background: #101019 !important;
  color: #ffffff !important;
}

/* Footer-linked/listing utility pages: stop Classic's white side blocks and
   unreadable dark labels from leaking through. */
#left-column .block,
#left-column .card,
#left-column .block-categories,
#left-column #search_filters,
#left-column #search_filters_brands,
#left-column #search_filters_suppliers,
#left-column .links,
#left-column .contact-rich,
body#best-sales #left-column > *,
body#prices-drop #left-column > *,
body#new-products #left-column > *,
body#search #left-column > *,
body#category #left-column > * {
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text) !important;
  border: 1px solid var(--sligrags-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#left-column .block *,
#left-column .card *,
#left-column .block-categories *,
#left-column #search_filters *,
#left-column .links *,
#left-column .contact-rich *,
#left-column a,
#left-column .h6,
#left-column h1,
#left-column h2,
#left-column h3,
#left-column h4,
#left-column p,
#left-column li,
#left-column span {
  color: var(--sligrags-text) !important;
  opacity: 1 !important;
}

#left-column .text-muted,
#left-column .facet-label,
#left-column .magnitude,
#left-column .small {
  color: var(--sligrags-muted) !important;
}

/* Account/authentication/guest tracking/contact pages: readable form labels,
   checkboxes, helper copy, and panels in the active light/dark mode. */
body#authentication .page-content,
body#identity .page-content,
body#password .page-content,
body#guest-tracking .page-content,
body#guestTracking .page-content,
body#contact .page-content,
body#contact .contact-form,
body#contact .contact-rich,
.page-customer-account .page-content,
.page-authentication .page-content,
body[class*="page-customer"] .page-content {
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text) !important;
  border: 1px solid var(--sligrags-border) !important;
  border-radius: var(--sligrags-radius) !important;
  box-shadow: var(--sligrags-shadow-soft) !important;
}

body#authentication label,
body#authentication .form-control-label,
body#authentication .col-form-label,
body#authentication .form-control-comment,
body#authentication .custom-checkbox,
body#authentication .custom-checkbox label,
body#authentication .custom-radio,
body#authentication .help-block,
body#authentication .form-text,
body#authentication .psgdpr_consent_message,
body#identity label,
body#identity .form-control-label,
body#password label,
body#password .form-control-label,
body#guest-tracking label,
body#guest-tracking .form-control-label,
body#guest-tracking .help-block,
body#guestTracking label,
body#guestTracking .form-control-label,
body#contact label,
body#contact .form-control-label,
body#contact .col-form-label,
body#contact .contact-rich,
body#contact .contact-rich *,
.page-customer-account label,
.page-customer-account .form-control-label,
.page-authentication label,
.page-authentication .form-control-label,
body[class*="page-customer"] label,
body[class*="page-customer"] .form-control-label {
  color: var(--sligrags-text) !important;
  opacity: 1 !important;
}

body#authentication .form-control-comment,
body#authentication .help-block,
body#authentication .form-text,
body#authentication .psgdpr_consent_message,
body#authentication .custom-checkbox em,
body#authentication small,
body#guest-tracking .help-block,
body#guestTracking .help-block,
body#contact small,
body#contact .text-muted,
.page-customer-account .form-control-comment,
.page-authentication .form-control-comment,
body[class*="page-customer"] .form-control-comment {
  color: var(--sligrags-muted) !important;
  opacity: 1 !important;
}

body#authentication .custom-checkbox input[type="checkbox"] + span,
body#authentication .custom-checkbox input[type="checkbox"] + span .checkbox-checked,
body#authentication input[type="checkbox"],
body#authentication input[type="radio"],
body#guest-tracking input[type="checkbox"],
body#guestTracking input[type="checkbox"],
.page-authentication input[type="checkbox"],
.page-authentication input[type="radio"] {
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: var(--sligrags-surface-strong) !important;
}

body#authentication input:-webkit-autofill,
body#identity input:-webkit-autofill,
body#password input:-webkit-autofill,
body#guest-tracking input:-webkit-autofill,
body#guestTracking input:-webkit-autofill,
body#contact input:-webkit-autofill {
  -webkit-text-fill-color: #08080d !important;
  box-shadow: 0 0 0 1000px #fffbc4 inset !important;
}

body#contact .contact-form form,
body#contact .contact-form .form-fields,
body#contact .contact-form section,
body#contact .contact-form .form-footer,
body#contact .contact-rich,
body#contact .contact-rich .block {
  background: transparent !important;
  color: var(--sligrags-text) !important;
}

body#contact .contact-form textarea,
body#contact .contact-form input,
body#contact .contact-form select,
body#authentication input,
body#authentication select,
body#authentication textarea,
body#guest-tracking input,
body#guest-tracking select,
body#guestTracking input,
body#guestTracking select,
body#identity input,
body#password input {
  background: var(--sligrags-surface-strong) !important;
  color: var(--sligrags-text) !important;
  border-color: var(--sligrags-border) !important;
}

body#contact .contact-form input[type="file"] {
  min-height: 52px !important;
  padding: 0.6rem 1rem !important;
}

/* Keep the no-products cards and utility search boxes visually consistent. */
body#best-sales .products,
body#prices-drop .products,
body#new-products .products,
body#search .products,
body#best-sales #content,
body#prices-drop #content,
body#new-products #content,
body#search #content {
  color: var(--sligrags-text) !important;
}

body#best-sales .alert,
body#prices-drop .alert,
body#new-products .alert,
body#search .alert,
body#best-sales .page-content,
body#prices-drop .page-content,
body#new-products .page-content,
body#search .page-content {
  background: var(--sligrags-surface) !important;
  color: var(--sligrags-text) !important;
  border-color: var(--sligrags-border) !important;
}


/* --------------------------------------------------------------------------
   Sligrags v18: hard pass for mobile logo, dark-page utility text/links,
   blue form outlines, and native select/sort controls.
   -------------------------------------------------------------------------- */

:root {
  --sligrags-bg: #050508;
  --sligrags-surface: #050508;
  --sligrags-surface-strong: #0f1018;
  --sligrags-border: rgba(255,255,255,.16);
  --sligrags-text: #ffffff;
  --sligrags-muted: rgba(255,255,255,.72);
  --sligrags-cyan: #00dff3;
}

body:not(.sligrags-light),
body:not(.sligrags-light) #wrapper,
body:not(.sligrags-light) main,
body:not(.sligrags-light) #content,
body:not(.sligrags-light) .page-content,
body:not(.sligrags-light) .page-header,
body:not(.sligrags-light) .page-footer,
body:not(.sligrags-light) .page-wrapper {
  background-color: #050508 !important;
  color: #ffffff !important;
}

/* Mobile: the live PrestaShop header may render either the desktop or mobile logo slot.
   Target both and force a small, fully visible square logo with no clipped parent. */
@media (max-width: 767px) {
  #header,
  #header *,
  #header .container,
  #header .row,
  #header [class*="col"],
  #header .header-top,
  #header .header-nav,
  #header .mobile,
  #header .mobile-header,
  #header .top-logo,
  #header .logo-wrapper,
  #header #_desktop_logo,
  #header #_mobile_logo {
    overflow: visible !important;
  }

  #header .header-top,
  #header .header-top > .container,
  #header .header-top .container,
  #header .header-top .row {
    min-height: 96px !important;
    height: auto !important;
  }

  #header #_desktop_logo,
  #header #_mobile_logo,
  #header .top-logo,
  #header .logo-wrapper,
  #header a.logo,
  #header a:has(img.logo),
  #header .header-top a:has(img),
  #header .header-top .logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 86px !important;
    height: 76px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    line-height: 0 !important;
  }

  #header #_desktop_logo img,
  #header #_mobile_logo img,
  #header .top-logo img,
  #header .logo-wrapper img,
  #header a.logo img,
  #header a:has(img.logo) img,
  #header .header-top img.logo,
  #header img.logo,
  #header .logo img {
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    clip-path: none !important;
    border-radius: 0 !important;
  }

  /* Prevent the mobile header controls from stealing the logo's vertical space. */
  #header .header-top .menu,
  #header .header-top .user-info,
  #header .header-top .blockcart,
  #header .header-top #_mobile_user_info,
  #header .header-top #_mobile_cart {
    align-self: center !important;
  }
}

@media (max-width: 420px) {
  #header .header-top,
  #header .header-top > .container,
  #header .header-top .container,
  #header .header-top .row {
    min-height: 88px !important;
  }

  #header #_desktop_logo,
  #header #_mobile_logo,
  #header .top-logo,
  #header .logo-wrapper,
  #header a.logo,
  #header a:has(img.logo),
  #header .header-top a:has(img),
  #header .header-top .logo {
    width: 72px !important;
    height: 66px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    min-height: 66px !important;
    max-height: 66px !important;
  }

  #header #_desktop_logo img,
  #header #_mobile_logo img,
  #header .top-logo img,
  #header .logo-wrapper img,
  #header a.logo img,
  #header a:has(img.logo) img,
  #header .header-top img.logo,
  #header img.logo,
  #header .logo img {
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
  }
}

/* Footer/CMS/account/contact/utility pages: make every inherited Classic dark/grey
   label readable. Links use cyan instead of Prestashop purple. */
body:not(.sligrags-light) #wrapper a:not(.btn):not(.button):not(.add-to-cart),
body:not(.sligrags-light) #content a:not(.btn):not(.button):not(.add-to-cart),
body:not(.sligrags-light) .page-content a:not(.btn):not(.button):not(.add-to-cart),
body:not(.sligrags-light) .sitemap a,
body:not(.sligrags-light) footer a {
  color: #00dff3 !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

body:not(.sligrags-light) #wrapper a:not(.btn):not(.button):hover,
body:not(.sligrags-light) #content a:not(.btn):not(.button):hover,
body:not(.sligrags-light) .page-content a:not(.btn):not(.button):hover,
body:not(.sligrags-light) .sitemap a:hover,
body:not(.sligrags-light) footer a:hover {
  color: #ffffff !important;
}

body:not(.sligrags-light) #wrapper h1,
body:not(.sligrags-light) #wrapper h2,
body:not(.sligrags-light) #wrapper h3,
body:not(.sligrags-light) #wrapper h4,
body:not(.sligrags-light) #wrapper h5,
body:not(.sligrags-light) #wrapper h6,
body:not(.sligrags-light) #wrapper p,
body:not(.sligrags-light) #wrapper li,
body:not(.sligrags-light) #wrapper label,
body:not(.sligrags-light) #wrapper legend,
body:not(.sligrags-light) #wrapper .form-control-label,
body:not(.sligrags-light) #wrapper .col-form-label,
body:not(.sligrags-light) #wrapper .custom-checkbox,
body:not(.sligrags-light) #wrapper .custom-checkbox label,
body:not(.sligrags-light) #wrapper .custom-radio,
body:not(.sligrags-light) #wrapper .custom-radio label,
body:not(.sligrags-light) #wrapper .cms-page,
body:not(.sligrags-light) #wrapper .cms-page *,
body:not(.sligrags-light) #wrapper .contact-rich,
body:not(.sligrags-light) #wrapper .contact-rich *,
body:not(.sligrags-light) #wrapper .sitemap,
body:not(.sligrags-light) #wrapper .sitemap *,
body:not(.sligrags-light) #wrapper .page-customer-account,
body:not(.sligrags-light) #wrapper .page-customer-account *,
body#authentication:not(.sligrags-light) #wrapper *,
body#guest-tracking:not(.sligrags-light) #wrapper *,
body#contact:not(.sligrags-light) #wrapper * {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Muted/helper copy should be readable, not near-black. */
body:not(.sligrags-light) .text-muted,
body:not(.sligrags-light) .help-block,
body:not(.sligrags-light) .form-text,
body:not(.sligrags-light) .form-control-comment,
body:not(.sligrags-light) small,
body:not(.sligrags-light) em,
body:not(.sligrags-light) .breadcrumb,
body:not(.sligrags-light) .breadcrumb *,
body:not(.sligrags-light) .page-content .description,
body:not(.sligrags-light) .page-content .subtitle,
body:not(.sligrags-light) .page-content .hint {
  color: rgba(255,255,255,.78) !important;
  opacity: 1 !important;
}

/* Dark panels and side blocks across CMS/contact/account/listing pages. */
body:not(.sligrags-light) #left-column > *,
body:not(.sligrags-light) #right-column > *,
body:not(.sligrags-light) .block,
body:not(.sligrags-light) .card,
body:not(.sligrags-light) .links,
body:not(.sligrags-light) .linklist,
body:not(.sligrags-light) .block-categories,
body:not(.sligrags-light) #search_filters,
body:not(.sligrags-light) .contact-form,
body:not(.sligrags-light) .contact-rich,
body:not(.sligrags-light) .page-content.card,
body:not(.sligrags-light) .page-content,
body:not(.sligrags-light) .page-cms .page-content,
body:not(.sligrags-light) .page-authentication .page-content,
body:not(.sligrags-light) .page-customer-account .page-content,
body#contact:not(.sligrags-light) .contact-form,
body#contact:not(.sligrags-light) .contact-rich,
body#authentication:not(.sligrags-light) .page-content,
body#guest-tracking:not(.sligrags-light) .page-content {
  background: #050508 !important;
  background-color: #050508 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: none !important;
}

/* Some PrestaShop CMS/contact templates put a white inner wrapper inside the panel. */
body:not(.sligrags-light) .page-content > div,
body:not(.sligrags-light) .page-content section,
body:not(.sligrags-light) .page-content article,
body:not(.sligrags-light) .contact-form form,
body:not(.sligrags-light) .contact-form .form-fields,
body:not(.sligrags-light) .contact-form .form-footer,
body:not(.sligrags-light) .form-fields,
body:not(.sligrags-light) .form-footer {
  background: transparent !important;
  background-color: transparent !important;
}

/* Form controls: always blue outlined on the dark theme. */
body:not(.sligrags-light) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body:not(.sligrags-light) textarea,
body:not(.sligrags-light) select,
body:not(.sligrags-light) .form-control,
body:not(.sligrags-light) .form-control-select,
body:not(.sligrags-light) .custom-select,
body:not(.sligrags-light) .input-group .form-control,
body:not(.sligrags-light) .bootstrap-touchspin input {
  background: #0f1018 !important;
  background-color: #0f1018 !important;
  color: #ffffff !important;
  border: 1px solid #00dff3 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 1 !important;
  color-scheme: dark !important;
}

body:not(.sligrags-light) input:not([type="checkbox"]):not([type="radio"]):focus,
body:not(.sligrags-light) textarea:focus,
body:not(.sligrags-light) select:focus,
body:not(.sligrags-light) .form-control:focus,
body:not(.sligrags-light) .custom-select:focus {
  border-color: #00dff3 !important;
  box-shadow: 0 0 0 3px rgba(0,223,243,.18) !important;
}

body:not(.sligrags-light) input::placeholder,
body:not(.sligrags-light) textarea::placeholder {
  color: rgba(255,255,255,.6) !important;
  opacity: 1 !important;
}

body:not(.sligrags-light) input[type="checkbox"],
body:not(.sligrags-light) input[type="radio"],
body:not(.sligrags-light) .custom-checkbox input[type="checkbox"] + span,
body:not(.sligrags-light) .custom-radio input[type="radio"] + span {
  border: 1px solid #00dff3 !important;
  background: #0f1018 !important;
  color: #ffffff !important;
}

/* Native sort/select controls, including search results and pages where Classic
   renders a plain select outside .products-selection. */
body:not(.sligrags-light) .sort-by-row,
body:not(.sligrags-light) .products-sort-order,
body:not(.sligrags-light) .products-selection,
body:not(.sligrags-light) #js-product-list-top,
body:not(.sligrags-light) #js-product-list-top .row,
body:not(.sligrags-light) #products .products-selection {
  background: #050508 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.16) !important;
}

body:not(.sligrags-light) .products-sort-order select,
body:not(.sligrags-light) .products-sort-order .form-control,
body:not(.sligrags-light) .products-sort-order .select-title,
body:not(.sligrags-light) #js-product-list-top select,
body:not(.sligrags-light) #products select,
body:not(.sligrags-light) .sort-by-row select,
body:not(.sligrags-light) select[name="order"],
body:not(.sligrags-light) select[name="resultsPerPage"] {
  background-color: #0f1018 !important;
  color: #ffffff !important;
  border: 1px solid #00dff3 !important;
  border-radius: 999px !important;
  min-height: 48px !important;
  padding: .72rem 3rem .72rem 1.1rem !important;
  opacity: 1 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  color-scheme: dark !important;
}

body:not(.sligrags-light) select option,
body:not(.sligrags-light) .products-sort-order .dropdown-menu,
body:not(.sligrags-light) .products-sort-order .select-list,
body:not(.sligrags-light) .products-sort-order .dropdown-menu a {
  background: #0f1018 !important;
  background-color: #0f1018 !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

body:not(.sligrags-light) .products-sort-order .dropdown-menu a:hover,
body:not(.sligrags-light) .products-sort-order .select-list:hover {
  background: #00dff3 !important;
  color: #050508 !important;
}

/* Contact page specific: no white contact card, and the section title should be readable. */
body#contact:not(.sligrags-light) .contact-form,
body#contact:not(.sligrags-light) .contact-form > *,
body#contact:not(.sligrags-light) .contact-form .form-fields,
body#contact:not(.sligrags-light) .contact-form .form-footer,
body#contact:not(.sligrags-light) .contact-rich,
body#contact:not(.sligrags-light) .contact-rich > * {
  background: #050508 !important;
  color: #ffffff !important;
}

/* CMS sitemap/about pages: keep headings and columns white/readable. */
body:not(.sligrags-light) .sitemap h2,
body:not(.sligrags-light) .sitemap h3,
body:not(.sligrags-light) .sitemap ul,
body:not(.sligrags-light) .sitemap li,
body:not(.sligrags-light) .cms-page h1,
body:not(.sligrags-light) .cms-page h2,
body:not(.sligrags-light) .cms-page h3,
body:not(.sligrags-light) .cms-page p,
body:not(.sligrags-light) .cms-page li,
body#sitemap:not(.sligrags-light) #wrapper *,
body#cms:not(.sligrags-light) #wrapper * {
  color: #ffffff !important;
  opacity: 1 !important;
}
