:root{--ds-newsletter-bg:#0c0c0f;--ds-newsletter-text:#f7f7f9;--ds-newsletter-border:#303038;}
:root {
  color-scheme: dark;
  --ds-bg:#09090b; --ds-surface:#141417; --ds-surface-alt:#1b1b20; --ds-text:#f7f7f9; --ds-muted:#b7b7c1; --ds-border:#303038;
  --ds-accent:#d00032; --ds-accent-hover:#ee1749; --ds-accent-muted:#7d1b35; --ds-accent-contrast:#fff; --ds-focus:#ff6d8d; --ds-focus-ring:rgba(208,0,50,.24);
  --ds-link:#f04a70; --ds-link-hover:#ff7896; --ds-header-bg:#0c0c0e; --ds-header-text:#f8f8fa; --ds-header-search-bg:#151519;
  --ds-nav-bg:#111114; --ds-nav-text:#f8f8fa; --ds-nav-accent:#ff6d8d; --ds-menu-bg:#16161a; --ds-menu-text:#f8f8fa;
  --ds-breadcrumb-bg:#111114; --ds-breadcrumb-text:#c9c9d0; --ds-card-bg:#151518; --ds-card-text:#f8f8fa; --ds-card-border:#2c2c33; --ds-card-border-hover:#d00032; --ds-card-shadow:none;
  --ds-image-bg:#fff; --ds-input-bg:#111114; --ds-price:#fff; --ds-flag-bg:#202025; --ds-flag-text:#fff; --ds-flag-border:#484851; --ds-sale-bg:#d00032; --ds-sale-text:#fff;
  --ds-hero-bg:#0d0d10; --ds-hero-text:#fff; --ds-hero-muted:#dedee4; --ds-hero-overlay:linear-gradient(90deg,rgba(7,7,9,.94),rgba(7,7,9,.64) 56%,rgba(7,7,9,.2)); --ds-hero-fade:#0d0d10;
  --ds-selected-bg:#21141a; --ds-footer-bg:#08080a; --ds-footer-text:#eeeef2; --ds-footer-link:#c9c9d0; --ds-footer-link-hover:#ff6d8d;
  --ds-success-bg:#10251b; --ds-success-text:#d4ffe4; --ds-success-border:#2e7d55; --ds-danger-bg:#2b1116; --ds-danger-text:#ffdbe2; --ds-danger-border:#8f2c43;
  --ds-mobile-menu-bg:#101013; --ds-mobile-menu-text:#fff; --ds-close-filter:invert(1);
  --ds-home-image-filter:none; --ds-home-image-opacity:1; --ds-home-image-blend:normal;
  --ds-home-panel-shadow:0 14px 34px rgba(0,0,0,.28);
}

/* Compatibility aliases for the existing stable module IDs. */
:root {
  --bw-accent:var(--ds-accent);
  --bw-text:var(--ds-text);
  --bw-muted:var(--ds-muted);
  --bw-surface:var(--ds-surface);
  --bw-surface-2:var(--ds-surface-alt);
  --bw-line:var(--ds-border);
  --bw-head:Arial Black, Arial, sans-serif;
}

/*
 * TwinShop Hummingbird UI Core v1.0.1
 * PrestaShop 9.1+ / Hummingbird child-theme layer
 * Shared technical stylesheet for Fesselliebe and Dessou24.
 */

:root {
  --ds-radius-sm: .45rem;
  --ds-radius: .8rem;
  --ds-radius-lg: 1.2rem;
  --ds-shadow: 0 12px 32px rgba(0,0,0,.14);
  --ds-shadow-soft: 0 8px 20px rgba(0,0,0,.08);
  --ds-transition: 160ms ease;
  --ds-max: 1440px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body {
  background: var(--ds-bg);
  color: var(--ds-text);
  accent-color: var(--ds-accent);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ds-link); text-underline-offset: .18em; }
a:hover { color: var(--ds-link-hover); }
::selection { background: var(--ds-accent); color: var(--ds-accent-contrast); }

:focus-visible {
  outline: 3px solid var(--ds-focus) !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

.btn, button, input, select, textarea, .form-control, .form-select {
  border-radius: var(--ds-radius-sm);
}
.btn, button, [role="button"], .form-control, .form-select {
  min-height: 44px;
}
.btn-primary, .btn.btn-primary {
  --bs-btn-bg: var(--ds-accent);
  --bs-btn-border-color: var(--ds-accent);
  --bs-btn-color: var(--ds-accent-contrast);
  --bs-btn-hover-bg: var(--ds-accent-hover);
  --bs-btn-hover-border-color: var(--ds-accent-hover);
  --bs-btn-hover-color: var(--ds-accent-contrast);
  --bs-btn-active-bg: var(--ds-accent-hover);
  --bs-btn-active-border-color: var(--ds-accent-hover);
  --bs-btn-disabled-bg: var(--ds-accent-muted);
  --bs-btn-disabled-border-color: var(--ds-accent-muted);
  font-weight: 700;
}
.btn-outline-primary {
  --bs-btn-color: var(--ds-accent);
  --bs-btn-border-color: var(--ds-accent);
  --bs-btn-hover-bg: var(--ds-accent);
  --bs-btn-hover-border-color: var(--ds-accent);
  --bs-btn-hover-color: var(--ds-accent-contrast);
}

.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], textarea, select {
  background: var(--ds-input-bg);
  border-color: var(--ds-border);
  color: var(--ds-text);
}
.form-control::placeholder, textarea::placeholder { color: var(--ds-muted); opacity: .85; }
.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus {
  background: var(--ds-input-bg);
  border-color: var(--ds-accent);
  color: var(--ds-text);
  box-shadow: 0 0 0 .2rem var(--ds-focus-ring);
}

/* Header */
#header, .header-top, .header-bottom, .ds-header-shell {
  background: var(--ds-header-bg);
  color: var(--ds-header-text);
}
.ds-header-shell {
  border-bottom: 1px solid var(--ds-border);
}
.ds-header-shell__container {
  width: min(100% - 32px, var(--ds-max));
  margin-inline: auto;
}
.ds-header-shell__row {
  display: grid;
  grid-template-columns: minmax(150px, 220px) auto minmax(260px, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 74px;
}
.ds-header-shell__logo img { max-height: 52px; width: auto; }
.ds-header-shell__contact { color: var(--ds-muted); font-size: .9rem; }
.ds-header-shell__actions { justify-content: end; gap: .5rem; }
#header .header-block__action-btn, #header .header-block__title, #header .material-icons { color: var(--ds-header-text); }
#header .header-block__badge {
  background: var(--ds-accent);
  color: var(--ds-accent-contrast);
  min-width: 1.25rem;
  height: 1.25rem;
  line-height: 1.25rem;
  border-radius: 999px;
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
}
#header .search-bar, #header .searchbar, #header .search-widget { min-width: min(34vw, 520px); }
#header .search-widget input, #header .search-bar input {
  background: var(--ds-header-search-bg);
  border: 1px solid var(--ds-border);
  color: var(--ds-header-text);
}
.header-nav-full-width, #_desktop_top_menu, .top-menu {
  background: var(--ds-nav-bg);
  color: var(--ds-nav-text);
}
#_desktop_top_menu > ul, .top-menu[data-depth="0"] {
  width: min(100% - 32px, var(--ds-max));
  margin-inline: auto;
}
.top-menu a, #_desktop_top_menu a { color: var(--ds-nav-text); }
.top-menu a:hover, #_desktop_top_menu a:hover { color: var(--ds-nav-accent); }
.popover.sub-menu, .top-menu .sub-menu, #_desktop_top_menu .sub-menu {
  background: var(--ds-menu-bg);
  border: 1px solid var(--ds-border);
  box-shadow: var(--ds-shadow);
}
.popover.sub-menu a, .top-menu .sub-menu a { color: var(--ds-menu-text); }

/* Breadcrumb */
.breadcrumb__wrapper, .breadcrumb-wrapper, nav.breadcrumb {
  background: var(--ds-breadcrumb-bg);
  color: var(--ds-breadcrumb-text);
}
.breadcrumb a, .breadcrumb-item, .breadcrumb-item a { color: var(--ds-breadcrumb-text); }

/* Main layout */
#wrapper, #main, .page-wrapper, .columns-container { background: var(--ds-bg); color: var(--ds-text); }
.container, .container-fluid { --bs-gutter-x: 1.5rem; }
.card, .block, .panel, .page-content, .modal-content, .dropdown-menu {
  background-color: var(--ds-surface);
  color: var(--ds-text);
  border-color: var(--ds-border);
}

/* Home hook stack */
.ds-home-hook-stack { display: grid; gap: clamp(28px, 4vw, 64px); }
.ds-home-slot:empty { display: none; }
.ds-home-slot { width: 100%; }

/* Category hero */
.ds-category-container { width: 100%; max-width: none; padding-inline: 0; }
.ds-category-hero {
  position: relative;
  overflow: clip;
  min-height: 240px;
  display: flex;
  align-items: end;
  background: var(--ds-hero-bg);
  color: var(--ds-hero-text);
}
.ds-category-hero--plain { min-height: auto; }
.ds-category-hero__media { position: absolute; inset: 0; display: block; }
.ds-category-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ds-category-hero__overlay { position: absolute; inset: 0; background: var(--ds-hero-overlay); }
.ds-category-hero__content {
  position: relative;
  z-index: 1;
  width: min(100% - 32px, var(--ds-max));
  margin-inline: auto;
  padding: clamp(28px, 5vw, 66px) 0;
}
.ds-category-hero h1 { color: inherit; margin: 0; font-size: clamp(2rem, 5vw, 4.4rem); line-height: .98; letter-spacing: -.035em; }
.ds-page-kicker { font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--ds-accent); margin-bottom: .65rem; }
.ds-category-hero__description { margin-top: 1rem; max-width: 920px; color: var(--ds-hero-muted); }
.ds-category-description__body { position: relative; overflow: hidden; }
.ds-category-description__body[data-collapsed="true"] { max-height: 7.2em; }
.ds-category-description__body[data-collapsed="true"]::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3em;
  background: linear-gradient(to bottom, transparent, var(--ds-hero-fade));
  pointer-events: none;
}
.ds-category-description__toggle {
  margin-top: .75rem;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ds-accent);
  font-weight: 800;
  min-height: 36px;
  padding: 0;
}
.ds-subcategory-wrap { width: min(100% - 32px, var(--ds-max)); margin: 24px auto; }

/* Listing controls / facets */
#js-product-list-top, .products-selection, .faceted-overlay, #search_filters_wrapper, #search_filters {
  color: var(--ds-text);
}
#search_filters, .facet, .facets-wrapper, .products-sort-order .select-title {
  background: var(--ds-surface);
  border-color: var(--ds-border);
}
.facet-title, .facet-label, .facet-label a { color: var(--ds-text); }
.active_filters, .active-filter-title, .filter-block {
  background: var(--ds-surface-alt);
  color: var(--ds-text);
  border-color: var(--ds-border);
}

/* Product grids and cards */
.products, .product-list, #js-product-list .products {
  gap: clamp(14px, 2vw, 26px);
}
.product-miniature {
  min-width: 0;
  background: var(--ds-card-bg);
  color: var(--ds-card-text);
  border: 1px solid var(--ds-card-border);
  border-radius: var(--ds-radius);
  overflow: hidden;
  box-shadow: var(--ds-card-shadow);
  transition: transform var(--ds-transition), box-shadow var(--ds-transition), border-color var(--ds-transition);
}
.product-miniature:hover {
  transform: translateY(-2px);
  border-color: var(--ds-card-border-hover);
  box-shadow: var(--ds-shadow-soft);
}
.product-miniature__inner { height: 100%; display: flex; flex-direction: column; }
.product-miniature__top { position: relative; background: var(--ds-image-bg); aspect-ratio: 1 / 1; overflow: hidden; }
.product-miniature__top img { width: 100%; height: 100%; object-fit: contain; }
.product-miniature__bottom { flex: 1; display: flex; flex-direction: column; padding: 16px; }
.product-miniature__infos { flex: 1; }
.product-miniature__title { color: var(--ds-card-text); font-weight: 700; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.product-miniature__prices { margin-top: .7rem; }
.product-miniature__price { color: var(--ds-price); font-size: 1.15rem; font-weight: 900; }
.product-miniature__discount-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; font-size: .78rem; color: var(--ds-muted); }
.ds-previous-price-label { font-size: .72rem; }
.product-miniature__regular-price { color: var(--ds-muted); }
.ds-mini-meta { display: flex; flex-wrap: wrap; gap: .4rem .65rem; align-items: center; margin-top: .45rem; font-size: .76rem; color: var(--ds-muted); }
.product-miniature__actions { margin-top: 1rem; }
.product-miniature__form { display: flex; }
.ds-miniature-quantity-native { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.product-miniature__add, .product-miniature__details { width: 100%; min-height: 46px; }
.product-flags .product-flag, .product-flag {
  background: var(--ds-flag-bg) !important;
  color: var(--ds-flag-text) !important;
  border: 1px solid var(--ds-flag-border) !important;
  border-radius: 999px;
  font-weight: 800;
}
.product-flags .discount, .product-flags .discount-percentage, .product-flag.discount, .product-flag.discount-percentage {
  background: var(--ds-sale-bg) !important;
  color: var(--ds-sale-text) !important;
  border-color: var(--ds-sale-bg) !important;
}

/* Product page */
.product-container, .product-information, .product-actions, .product-prices { color: var(--ds-text); }
.product-cover, .product-images, .product-image-container { background: var(--ds-image-bg); border-radius: var(--ds-radius); }
.product-cover img { object-fit: contain; }
.product-price { color: var(--ds-price); }
.product-discount .regular-price { color: var(--ds-muted); }
.product-information .tabs, .tabs, .accordion-item, .product-accordion {
  background: var(--ds-surface);
  color: var(--ds-text);
  border-color: var(--ds-border);
}
.tabs .nav-link, .accordion-button { color: var(--ds-text); background: var(--ds-surface); }
.tabs .nav-link.active, .accordion-button:not(.collapsed) { color: var(--ds-accent); background: var(--ds-surface-alt); }
.product-variants .form-select, .product-quantity .form-control { background: var(--ds-input-bg); color: var(--ds-text); border-color: var(--ds-border); }

/* Cart + checkout */
.cart-grid, .cart-summary, .cart-overview, .checkout-step, .checkout-step__content, .order-confirmation-table, .address-item, .delivery-option, .payment-option {
  color: var(--ds-text);
}
.cart-grid-body, .cart-grid-right, .cart-summary, .checkout-step, .address-item, .delivery-option, .payment-option, .order-confirmation-table {
  background: var(--ds-surface);
  border-color: var(--ds-border);
  border-radius: var(--ds-radius);
}
.cart-item { border-color: var(--ds-border); }
.cart-summary-line, .cart-summary-line .label, .cart-summary-line .value { color: var(--ds-text); }
.address-item.selected, .delivery-option:has(input:checked), .payment-option:has(input:checked) {
  background: var(--ds-selected-bg);
  border-color: var(--ds-accent);
}
.checkout-step.-current .step-title, .checkout-step.-reachable .step-title { color: var(--ds-text); }
.checkout-step .step-number { background: var(--ds-accent); color: var(--ds-accent-contrast); }

/* Account / forms */
.page-my-account #content .links a, .account-link, .address, .order, .order-detail {
  background: var(--ds-surface);
  color: var(--ds-text);
  border-color: var(--ds-border);
}

/* Footer */
#footer, .footer-container { background: var(--ds-footer-bg); color: var(--ds-footer-text); }
#footer a, .footer-container a { color: var(--ds-footer-link); }
#footer a:hover, .footer-container a:hover { color: var(--ds-footer-link-hover); }
#footer .h3, #footer .h4, #footer .block-contact, #footer .block-contact a { color: var(--ds-footer-text); }

/* Alerts and toast messages */
.alert { border-radius: var(--ds-radius-sm); }
.alert-success { background: var(--ds-success-bg); color: var(--ds-success-text); border-color: var(--ds-success-border); }
.alert-danger { background: var(--ds-danger-bg); color: var(--ds-danger-text); border-color: var(--ds-danger-border); }

/* Modal */
.modal-content { border: 1px solid var(--ds-border); }
.modal-header, .modal-footer { border-color: var(--ds-border); }
.btn-close, .close { filter: var(--ds-close-filter); opacity: .9; }

/* Common legacy-module visual bridge. Internal module IDs are preserved for upgrade/data compatibility. */
.bwc-usps, .bwc-reassurance, .bwc-help, .bwc-team,
.flt-box, .flt-delivery, .flgpsr-box, .flgpsr-card,
.bwr-reviews, .bwr-form, .bwr-item,
.bwc-consent, .bosw-revocation, .bosgallerypro,
.bw-order-status, .bos-order-status {
  --fl-accent: var(--ds-accent);
  --bw-accent: var(--ds-accent);
  --bos-accent: var(--ds-accent);
}

/* Mobile */
@media (max-width: 991.98px) {
  .ds-header-shell__container { width: min(100% - 20px, var(--ds-max)); }
  .ds-header-shell__row { grid-template-columns: 1fr auto auto; min-height: 64px; gap: 8px; }
  .ds-header-shell__logo img { max-height: 44px; }
  #_mobile_ps_customersignin, #_mobile_ps_shoppingcart { display: flex !important; }
  .mobile-menu, .js-top-menu.mobile, .top-menu[data-depth="0"], .popover.sub-menu {
    background: var(--ds-mobile-menu-bg) !important;
    color: var(--ds-mobile-menu-text) !important;
  }
  .mobile-menu a, .js-top-menu.mobile a, .top-menu[data-depth="0"] a, .popover.sub-menu a { color: var(--ds-mobile-menu-text) !important; }
  .ds-category-hero__content { width: min(100% - 24px, var(--ds-max)); padding-block: 28px; }
  .ds-category-hero h1 { font-size: clamp(2rem, 10vw, 3rem); }
  #search_filters_wrapper { position: relative; z-index: 1100; }
}

@media (max-width: 767.98px) {
  .product-miniature {
    display: block;
  }
  .product-miniature__inner {
    display: grid;
    grid-template-columns: 40% minmax(0, 1fr);
    min-height: 178px;
  }
  .product-miniature__top { aspect-ratio: auto; min-height: 178px; border-radius: 0; }
  .product-miniature__bottom { padding: 13px 14px; min-width: 0; }
  .product-miniature__actions { margin-top: .65rem; }
  .product-miniature__add, .product-miniature__details { min-height: 42px; font-size: .86rem; }
  .product-miniature__price { font-size: 1.05rem; }
  .ds-mini-meta { font-size: .7rem; }
  .cart-grid, .checkout-step { border-radius: var(--ds-radius-sm); }
}

@media (max-width: 420px) {
  .product-miniature__inner { grid-template-columns: 42% minmax(0,1fr); }
  .product-miniature__bottom { padding: 11px; }
  .product-miniature__title { font-size: .9rem; }
}


/* =========================================================
   TwinShop v1.0.4 visual/header/layout fix
   ========================================================= */
:root {
  --bs-primary: var(--ds-accent);
  --bs-primary-rgb: 208,0,50;
  --bs-link-color: var(--ds-link);
  --bs-link-hover-color: var(--ds-link-hover);
  --bs-border-color: var(--ds-border);
}
html, body { max-width: 100%; overflow-x: clip; }
body { line-height: 1.45; }
#wrapper, #main, .page-wrapper, .columns-container, .container, .container-fluid, .row { max-width: 100%; }
.row > *, .ds-header-shell__row > *, #left-column, #content-wrapper, .product-miniature, .product-miniature__inner, .product-miniature__bottom { min-width: 0; }
img, svg, video, iframe { max-width: 100%; }

/* Global link / accent cleanup so no bootstrap blue bleeds through */
a, .link, .nav-link, .page-link, .breadcrumb a, .dropdown-item, .btn-link,
.top-menu a, #_desktop_top_menu a, .product-title a, .product-miniature__title,
.pagination .page-link, .material-icons, .search-widget button, .btn .material-icons {
  color: var(--ds-link);
}
a:hover, .nav-link:hover, .page-link:hover, .dropdown-item:hover, .top-menu a:hover, #_desktop_top_menu a:hover, .product-title a:hover, .product-miniature__title:hover {
  color: var(--ds-link-hover);
}

/* Header */
#header { position: relative; z-index: 30; }
.ds-header-shell {
  position: sticky;
  top: 0;
  z-index: 29;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.ds-header-shell__container,
#_desktop_top_menu > ul,
.top-menu[data-depth="0"],
.ds-category-hero__content,
.ds-subcategory-wrap,
main .container,
#wrapper .container {
  width: min(100% - 32px, var(--ds-max));
}
.ds-header-shell__row {
  grid-template-columns: minmax(150px, 220px) minmax(100px, 180px) minmax(220px, 1fr) minmax(220px, auto);
  min-height: 86px;
  gap: 20px;
}
.ds-header-shell__logo,
.ds-header-shell__contact,
.ds-header-shell__actions,
#header .header-top,
#header .header-top > * { min-width: 0; }
.ds-header-shell__logo img { max-height: 58px; }
.ds-header-shell__contact,
.ds-header-shell__contact a,
#header .header-top__left,
#header .header-top__left a {
  color: var(--ds-muted) !important;
  font-size: .95rem;
}
#header .header-top,
#header .header-top .row,
#header .header-top form,
#header .header-top .search-widget { width: 100%; }
#header .search-widget,
#header .search-bar { min-width: 0 !important; width: 100%; }
#header .search-widget form,
#header .search-bar form { position: relative; }
#header .search-widget input,
#header .search-bar input {
  width: 100%;
  border-radius: 999px;
  min-height: 48px;
  padding-inline: 16px 52px;
}
#header .search-widget button,
#header .search-bar button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--ds-accent);
}
#header .header-top__right,
.ds-header-shell__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}
#header .header-block,
#header .header-block a,
#header .header-block__title,
#header .header-block__action-btn {
  color: var(--ds-header-text) !important;
}
#header .header-block__action-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 700;
}
#header .header-block__action-btn:hover { color: var(--ds-nav-accent) !important; }
.header-nav-full-width { border-top: 1px solid color-mix(in srgb, var(--ds-border) 80%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--ds-border) 85%, transparent); }
#_desktop_top_menu > ul,
.top-menu[data-depth="0"] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  padding: 14px 0;
}
#_desktop_top_menu > ul > li,
.top-menu[data-depth="0"] > li {
  float: none;
}
#_desktop_top_menu > ul > li > a,
.top-menu[data-depth="0"] > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .35rem 0;
  font-weight: 700;
  color: var(--ds-nav-text) !important;
}
#_desktop_top_menu > ul > li > a:hover,
.top-menu[data-depth="0"] > li > a:hover,
#_desktop_top_menu > ul > li.current > a,
.top-menu[data-depth="0"] > li.current > a { color: var(--ds-nav-accent) !important; }
.popover.sub-menu, .top-menu .sub-menu, #_desktop_top_menu .sub-menu {
  border-radius: 14px;
  padding: 10px 0;
}
.popover.sub-menu a, .top-menu .sub-menu a, #_desktop_top_menu .sub-menu a {
  color: var(--ds-menu-text) !important;
  padding: .45rem 1rem;
}
.popover.sub-menu a:hover, .top-menu .sub-menu a:hover, #_desktop_top_menu .sub-menu a:hover {
  background: color-mix(in srgb, var(--ds-accent) 9%, transparent);
  color: var(--ds-link-hover) !important;
}

/* Layout spacing */
main .container,
#wrapper .container,
#wrapper .container-fluid,
#wrapper .page-content,
#wrapper #content-wrapper,
#wrapper #left-column {
  padding-top: clamp(14px, 2vw, 24px);
  padding-bottom: clamp(14px, 2vw, 26px);
}
#left-column .block-categories,
#left-column .facets,
#left-column .facet,
#left-column .block, .category-top-menu {
  background: var(--ds-surface);
  border: 1px solid var(--ds-border);
  border-radius: var(--ds-radius);
  overflow: hidden;
}
#left-column .facet-title,
#left-column .block-categories .h6,
#left-column .category-sub-menu a,
#left-column .collapse-icons,
#left-column .navbar-toggler { color: var(--ds-text) !important; }
#left-column .facet-title,
#left-column .category-top-menu > li > a,
#left-column .block-categories .category-sub-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1rem;
}
#left-column .category-top-menu > li + li,
#left-column .category-sub-menu > li + li,
#left-column .facet + .facet { border-top: 1px solid var(--ds-border); }

/* Category page text block */
.ds-category-hero__description,
.category-description,
.category-description p,
#category-description,
#category-description p { color: var(--ds-text); }
.ds-category-hero__description p:last-child,
#category-description p:last-child { margin-bottom: 0; }

/* Product cards / listings */
.products, .product-list, #js-product-list .products {
  row-gap: clamp(18px, 2vw, 28px);
  margin-inline: 0;
}
#js-product-list .products > article,
#products .products > article,
.products .product-miniature { min-width: 0; }
.product-miniature,
.thumbnail-container,
.js-product-miniature,
.product-miniature__inner {
  background: var(--ds-card-bg) !important;
  color: var(--ds-card-text) !important;
  border-color: var(--ds-card-border) !important;
}
.product-miniature__bottom,
.product-miniature .product-description,
.product-miniature .product-description-short {
  background: var(--ds-card-bg) !important;
  color: var(--ds-card-text) !important;
}
.product-miniature__infos { display: flex; flex-direction: column; gap: .55rem; }
.product-miniature__title,
.product-miniature .product-title,
.product-miniature .product-title a,
.product-miniature h3 a,
.product-miniature h2 a,
.product-miniature .h3 a,
.product-miniature .thumbnail-top + .product-description .h3 a {
  color: var(--ds-card-text) !important;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
}
.product-miniature__title:hover,
.product-miniature .product-title a:hover,
.product-miniature h3 a:hover,
.product-miniature .h3 a:hover { color: var(--ds-link-hover) !important; }
.product-miniature__price,
.product-miniature .price,
.product-miniature .product-price-and-shipping,
.product-miniature .product-price-and-shipping * { color: var(--ds-price) !important; font-weight: 800; }
.product-miniature .regular-price,
.product-miniature__regular-price,
.product-miniature .discount-amount,
.product-miniature .product-discount,
.product-miniature .product-discount * { color: var(--ds-muted) !important; }
.product-miniature .product-availability,
.product-miniature .js-product-minimal-quantity,
.product-miniature .highlighted-informations,
.product-miniature .variant-links,
.product-miniature .variant-links a { color: var(--ds-muted) !important; }
.product-miniature__top,
.product-miniature .thumbnail-top,
.product-miniature picture,
.product-miniature .product-thumbnail { background: var(--ds-image-bg) !important; }
.product-miniature .product-thumbnail img,
.product-miniature__top img { padding: 10px; object-fit: contain; }
.product-miniature__actions { margin-top: .85rem; }
.product-miniature__add,
.product-miniature__details,
.product-miniature .btn,
.product-miniature .ajax_add_to_cart_button {
  border-radius: 999px;
  font-weight: 800;
}

/* Pagination / listing bottom */
.pagination,
nav.pagination {
  margin-top: 26px;
  margin-bottom: 84px;
}
.pagination .page-list,
.pagination .page-link,
nav.pagination .page-link {
  background: transparent;
  color: var(--ds-link) !important;
  border-color: color-mix(in srgb, var(--ds-border) 85%, transparent);
}
.pagination .page-item.active .page-link,
.pagination .current a,
.pagination .current span {
  background: var(--ds-accent) !important;
  color: var(--ds-accent-contrast) !important;
  border-color: var(--ds-accent) !important;
}
.pagination .page-link:hover {
  background: color-mix(in srgb, var(--ds-accent) 10%, transparent);
  color: var(--ds-link-hover) !important;
}

/* Remove horizontal push / common overflow sources */
.header-nav-full-width,
#_desktop_top_menu,
.top-menu,
#wrapper,
#main,
body,
html,
.product-miniature,
.page-content,
.block-categories,
.bw-home,
.bosw-page,
.bosgallerypro,
.flt-box { overflow-x: clip; }

/* Mobile */
@media (max-width: 991.98px) {
  .ds-header-shell { position: relative; }
  .ds-header-shell__container,
  #_desktop_top_menu > ul,
  .top-menu[data-depth="0"],
  .ds-category-hero__content,
  .ds-subcategory-wrap,
  main .container,
  #wrapper .container { width: min(100% - 20px, var(--ds-max)); }
  .ds-header-shell__row {
    grid-template-columns: minmax(120px,1fr) auto auto;
    min-height: 66px;
    gap: 10px;
  }
  .ds-header-shell__contact,
  .ds-header-shell__actions,
  #header .header-top { display: none !important; }
  .ds-header-shell__logo img { max-height: 44px; }
  .header-nav-full-width { border-top: 0; }
  .mobile-menu,
  .js-top-menu.mobile,
  .top-menu.mobile,
  .mobile-header,
  #mobile_top_menu_wrapper,
  #_mobile_top_menu {
    background: var(--ds-mobile-menu-bg) !important;
    color: var(--ds-mobile-menu-text) !important;
  }
  #mobile_top_menu_wrapper a,
  #_mobile_top_menu a,
  .mobile-menu a,
  .js-top-menu.mobile a { color: var(--ds-mobile-menu-text) !important; }
  #left-column,
  #content-wrapper { padding-top: 12px; }
  .product-miniature__inner {
    display: grid;
    grid-template-columns: 38% minmax(0,1fr);
    min-height: 186px;
  }
  .product-miniature__bottom { padding: 12px 13px; }
  .pagination, nav.pagination { margin-bottom: 96px; }
}
@media (max-width: 767.98px) {
  .product-miniature__title,
  .product-miniature .product-title a,
  .product-miniature h3 a,
  .product-miniature .h3 a { font-size: .95rem; }
}


/* =========================================================
   TwinShop v1.0.5 – structural header/category/mobile listing
   ========================================================= */

/* Category listings: no permanent side columns. */
#category #left-column,
#category #right-column { display:none !important; }
#category #center-column {
  flex:0 0 100% !important;
  width:100% !important;
  max-width:100% !important;
  padding-inline:0 !important;
}
#category .ds-category-container { width:min(100% - 32px,var(--ds-max)); margin-inline:auto; padding-inline:0; }

/* Header: use the native Hummingbird module layout instead of forcing hook
   output into a custom grid. */
#header .ds-header-top {
  background:var(--ds-header-bg);
  color:var(--ds-header-text);
  border-bottom:1px solid color-mix(in srgb,var(--ds-border) 72%,transparent);
}
#header .ds-header-top__container,
#header .ds-header-main__container { width:min(100% - 32px,var(--ds-max)); max-width:var(--ds-max); }
#header .ds-header-top__left,
#header .ds-header-top__left a { color:var(--ds-muted)!important; font-size:.88rem; }
#header .ds-header-top__right,
#header .ds-header-top__right a,
#header .ds-header-top__right .header-block__title,
#header .ds-header-top__right .header-block__action-btn { color:var(--ds-header-text)!important; font-size:.9rem; }
#header .ds-header-top__right a:hover { color:var(--ds-link-hover)!important; }
#header .ds-header-main { background:var(--ds-header-bg); color:var(--ds-header-text); border-bottom:1px solid var(--ds-border); }
#header .ds-header-main__row { display:flex!important; flex-wrap:wrap!important; align-items:center!important; min-height:0!important; padding-block:14px 10px; gap:10px 14px; }
#header .ds-header-logo { order:0; flex:0 0 auto; }
#header .ds-header-logo img { width:auto; max-width:220px; max-height:58px; object-fit:contain; }
#header .ps-searchbar { width:100%; }
#header #_desktop_ps_searchbar {
  order:1!important;
  flex:0 1 520px!important;
  width:min(42vw,520px)!important;
  max-width:520px!important;
  margin-left:auto!important;
}
#header .ps-searchbar__input {
  width:100%!important;
  min-height:46px;
  border:1px solid var(--ds-border)!important;
  background:var(--ds-header-search-bg)!important;
  color:var(--ds-header-text)!important;
  border-radius:999px!important;
  padding-inline:46px 42px!important;
}
#header .ps-searchbar__input::placeholder { color:var(--ds-muted)!important; }
#header .ps-searchbar__magnifier { color:var(--ds-accent)!important; }
#header .ps-mainmenu--desktop {
  order:3!important;
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  border-top:1px solid color-mix(in srgb,var(--ds-border) 70%,transparent);
  margin-top:4px;
}
#header .ps-mainmenu__desktop { width:100%; }
#header .ps-mainmenu__tree {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:4px 20px!important;
  margin:0!important;
  padding:8px 0 0!important;
  list-style:none!important;
}
#header .ps-mainmenu__tree-item { margin:0!important; }
#header .ps-mainmenu__tree-item-wrapper { display:flex; align-items:center; }
#header .ps-mainmenu__tree-link {
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:4px 0!important;
  color:var(--ds-header-text)!important;
  font-size:.92rem!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap;
}
#header .ps-mainmenu__tree-link:hover,
#header .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link { color:var(--ds-link-hover)!important; }
#header .ps-mainmenu__tree-dropdown-toggle { color:var(--ds-muted)!important; border:0!important; background:transparent!important; }
#header .submenu { background:var(--ds-menu-bg)!important; color:var(--ds-menu-text)!important; border-color:var(--ds-border)!important; }
#header .submenu a { color:var(--ds-menu-text)!important; }
#header .submenu a:hover { color:var(--ds-link-hover)!important; }
#header .ds-header-reassurance { background:var(--ds-nav-bg); color:var(--ds-nav-text); }
#header .ds-header-reassurance * { color:inherit; }

/* Compact category intro. */
#category .ds-category-hero { min-height:0; border-radius:var(--ds-radius-lg); margin:6px 0 18px; }
#category .ds-category-hero__content { width:min(100% - 40px,1180px); padding:clamp(24px,4vw,46px) 0; }
#category .ds-category-hero h1 { font-size:clamp(2rem,4.4vw,3.6rem); }
#category .ds-category-description { max-width:980px; }
#category .ds-category-description__body {
  line-height:1.55;
  transition:max-height .24s ease;
}
#category .ds-category-description__body[data-collapsed="true"] {
  max-height:4.8em;
  overflow:hidden;
}
#category .ds-category-description__body[data-collapsed="true"]::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2.2em;
  background:linear-gradient(to bottom,transparent,var(--ds-hero-fade));
  pointer-events:none;
}
#category .ds-category-description__body { position:relative; }
#category .ds-category-description__toggle {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  margin-top:8px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ds-link)!important;
  font-weight:800;
}
#category .ds-category-description__toggle:hover { color:var(--ds-link-hover)!important; }

/* Listing toolbar: filter directly next to sorting. */
#category .ds-listing-toolbar-wrap { margin:18px 0 14px; }
#category .ds-listing-toolbar {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px 18px!important;
  padding:10px 12px!important;
  border:1px solid var(--ds-border)!important;
  border-radius:var(--ds-radius)!important;
  background:var(--ds-surface)!important;
}
#category .ds-listing-toolbar__count { color:var(--ds-muted)!important; font-size:.9rem; }
#category .ds-listing-toolbar__controls { display:flex; align-items:center; gap:10px; margin-left:auto; }
#category .ds-filter-button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:40px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  color:var(--ds-accent)!important;
  border-color:var(--ds-accent)!important;
  background:transparent!important;
  font-weight:800!important;
  white-space:nowrap;
}
#category .ds-filter-button:hover { background:var(--ds-accent)!important; color:var(--ds-accent-contrast)!important; }
#category .ds-listing-sort { display:flex; align-items:center; gap:8px; }
#category .products__sort-label { margin:0!important; white-space:nowrap; color:var(--ds-muted)!important; }
#category .products__sort-dropdown-button {
  min-height:40px!important;
  border-radius:999px!important;
  padding:7px 14px!important;
  border-color:var(--ds-border)!important;
  color:var(--ds-text)!important;
  background:var(--ds-input-bg)!important;
  white-space:nowrap;
}
#category .products__sort-dropdown .dropdown-menu { background:var(--ds-surface)!important; border-color:var(--ds-border)!important; }
#category .products__sort-dropdown .dropdown-item { color:var(--ds-text)!important; }
#category .products__sort-dropdown .dropdown-item:hover,
#category .products__sort-dropdown .dropdown-item.current { background:var(--ds-selected-bg)!important; color:var(--ds-link-hover)!important; }

/* Filter drawer */
.ds-filter-drawer[hidden] { display:none!important; }
.ds-filter-drawer { position:fixed; inset:0; z-index:1090; display:block; }
.ds-filter-drawer__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.48); }
.ds-filter-drawer__panel {
  position:absolute; top:0; right:0; bottom:0;
  width:min(390px,92vw);
  background:var(--ds-surface);
  color:var(--ds-text);
  border-left:1px solid var(--ds-border);
  box-shadow:-18px 0 50px rgba(0,0,0,.22);
  display:flex; flex-direction:column;
}
.ds-filter-drawer__header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid var(--ds-border); }
.ds-filter-drawer__header strong { font-size:1.1rem; color:var(--ds-text); }
.ds-filter-drawer__close { width:42px; height:42px; min-height:42px; padding:0!important; display:grid; place-items:center; color:var(--ds-text)!important; }
.ds-filter-drawer__body { flex:1; overflow:auto; padding:14px 16px 28px; overscroll-behavior:contain; }
.ds-filter-drawer #search_filters,
.ds-filter-drawer #search_filters_wrapper,
.ds-filter-drawer .facets-wrapper { display:block!important; position:static!important; width:100%!important; max-width:none!important; background:transparent!important; border:0!important; box-shadow:none!important; }
.ds-filter-drawer .facet { border:0!important; border-bottom:1px solid var(--ds-border)!important; border-radius:0!important; padding:10px 0!important; margin:0!important; background:transparent!important; }
.ds-filter-drawer .facet-title { color:var(--ds-text)!important; font-weight:800!important; }
.ds-filter-drawer .facet-label,
.ds-filter-drawer .facet-label a,
.ds-filter-drawer label { color:var(--ds-text)!important; }
body.ds-filter-open { overflow:hidden!important; }

/* Active filters become compact chips instead of another large block. */
#category .active_filters,
#category .active-search-filters { display:flex!important; flex-wrap:wrap!important; gap:7px!important; padding:8px 0!important; margin:0 0 10px!important; background:transparent!important; border:0!important; }
#category .filter-block,
#category .active-search-filters .filter-block { border:1px solid var(--ds-border)!important; border-radius:999px!important; padding:5px 10px!important; background:var(--ds-surface-alt)!important; color:var(--ds-text)!important; }

/* Prevent category content from inheriting the old three-column width. */
#category #products,
#category #js-product-list,
#category #js-product-list .products { width:100%!important; max-width:100%!important; }

@media (max-width:1199.98px) {
  #header .ds-header-main__row { flex-wrap:nowrap!important; padding-block:10px; }
  #header .ds-header-logo { margin-right:auto!important; }
  #header .ds-header-logo img { max-width:170px; max-height:48px; }
  #header .ps-mainmenu--desktop { order:1!important; flex:0 0 auto!important; width:auto!important; border-top:0!important; margin:0!important; padding:0!important; }
  #header #_desktop_ps_searchbar { order:2!important; flex:0 1 400px!important; width:min(40vw,400px)!important; margin-left:auto!important; }
}

@media (max-width:767.98px) {
  #header .ds-header-top { display:none!important; }
  #header .ds-header-main__container { width:100%!important; padding-inline:12px!important; }
  #header .ds-header-main__row { gap:4px!important; min-height:62px!important; }
  #header .ds-header-logo { flex:1 1 auto!important; min-width:0!important; }
  #header .ds-header-logo img { max-width:142px!important; max-height:42px!important; }
  #header .ps-mainmenu--desktop,
  #header .ps-searchbar--mobile,
  #header #_mobile_ps_customersignin,
  #header #_mobile_ps_shoppingcart { flex:0 0 auto!important; width:auto!important; padding-inline:2px!important; }
  #header .menu-toggle,
  #header .header-block__action-btn,
  #header .ps-searchbar--mobile .header-block__action-btn {
    width:42px!important; height:42px!important; min-height:42px!important;
    display:grid!important; place-items:center!important;
    padding:0!important; border-radius:50%!important;
    color:var(--ds-header-text)!important; background:transparent!important;
  }
  #header .menu-toggle:hover,
  #header .header-block__action-btn:hover { background:var(--ds-surface-alt)!important; color:var(--ds-link-hover)!important; }
  #header .header-block__badge { position:absolute; transform:translate(11px,-12px); }
  #header .ds-header-reassurance { display:none!important; }

  #category .ds-category-container { width:100%!important; padding-inline:12px!important; }
  #category .ds-category-hero { border-radius:12px; margin-top:4px; }
  #category .ds-category-hero__media { opacity:.16; }
  #category .ds-category-hero__overlay { background:linear-gradient(90deg,var(--ds-hero-bg) 0%,color-mix(in srgb,var(--ds-hero-bg) 92%,transparent) 72%,color-mix(in srgb,var(--ds-hero-bg) 82%,transparent) 100%)!important; }
  #category .ds-category-hero__content { width:calc(100% - 28px)!important; padding:22px 0!important; }
  #category .ds-category-hero h1 { font-size:clamp(1.8rem,9vw,2.55rem)!important; line-height:1.02; }
  #category .ds-category-description__body[data-collapsed="true"] { max-height:6.2em; }
  #category .ds-subcategory-wrap { width:100%!important; margin:14px 0!important; }

  #category .ds-listing-toolbar { padding:8px!important; gap:8px!important; align-items:center!important; }
  #category .ds-listing-toolbar__count { display:none!important; }
  #category .ds-listing-toolbar__controls { width:100%!important; display:grid!important; grid-template-columns:auto minmax(0,1fr)!important; gap:8px!important; margin:0!important; }
  #category .ds-filter-button { min-width:94px!important; }
  #category .ds-listing-sort { min-width:0!important; width:100%!important; }
  #category .products__sort-label { display:none!important; }
  #category .products__sort-dropdown { width:100%!important; min-width:0!important; }
  #category .products__sort-dropdown-button { width:100%!important; max-width:100%!important; text-align:left!important; overflow:hidden!important; text-overflow:ellipsis!important; }

  /* Exactly one product per row on phones: image left, content right. */
  #category #js-product-list .products,
  #category #products .products {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  #category #js-product-list .products > *,
  #category #products .products > *,
  #category .product-miniature {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1 / -1!important;
    margin:0!important;
  }
  #category .product-miniature {
    border-radius:12px!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  #category .product-miniature:hover { transform:none!important; }
  #category .product-miniature__inner {
    display:grid!important;
    grid-template-columns:minmax(132px,42%) minmax(0,58%)!important;
    min-height:190px!important;
    height:auto!important;
    align-items:stretch!important;
  }
  #category .product-miniature__top,
  #category .product-miniature .thumbnail-top {
    min-height:190px!important;
    height:100%!important;
    aspect-ratio:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-right:1px solid var(--ds-card-border)!important;
  }
  #category .product-miniature__top img,
  #category .product-miniature .product-thumbnail img {
    width:100%!important;
    height:100%!important;
    max-height:220px!important;
    object-fit:contain!important;
    padding:10px!important;
  }
  #category .product-miniature__bottom {
    padding:12px 12px 11px!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  #category .product-miniature__infos { gap:5px!important; min-width:0!important; }
  #category .product-miniature__title,
  #category .product-miniature .product-title a,
  #category .product-miniature h3 a,
  #category .product-miniature .h3 a {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    font-size:.95rem!important;
    line-height:1.23!important;
    font-weight:800!important;
    min-height:auto!important;
    color:var(--ds-card-text)!important;
  }
  #category .product-miniature__prices { margin-top:5px!important; }
  #category .product-miniature__price,
  #category .product-miniature .price { font-size:1.12rem!important; line-height:1.1!important; }
  #category .ds-mini-meta { margin-top:4px!important; font-size:.7rem!important; line-height:1.2!important; }
  #category .product-miniature__variants,
  #category .product-miniature .variant-links { margin-top:2px!important; }
  #category .product-miniature__actions { margin-top:auto!important; padding-top:8px!important; }
  #category .product-miniature__add,
  #category .product-miniature__details,
  #category .product-miniature .btn,
  #category .product-miniature .ajax_add_to_cart_button {
    width:100%!important;
    min-height:38px!important;
    padding:7px 8px!important;
    border-radius:8px!important;
    font-size:.8rem!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  #category .product-miniature__top .quick-view,
  #category .product-miniature .highlighted-informations .quick-view,
  #category .product-miniature .product-miniature__quickview { display:none!important; }
  #category .product-flags { transform:scale(.86); transform-origin:top left; }
  #category .pagination, #category nav.pagination { margin-bottom:78px!important; }
}

@media (max-width:390px) {
  #header .ds-header-logo img { max-width:118px!important; }
  #header .menu-toggle,
  #header .header-block__action-btn,
  #header .ps-searchbar--mobile .header-block__action-btn { width:38px!important; height:38px!important; min-height:38px!important; }
  #category .product-miniature__inner { grid-template-columns:minmax(120px,40%) minmax(0,60%)!important; }
  #category .product-miniature__top { min-height:178px!important; }
  #category .product-miniature__bottom { padding:10px!important; }
  #category .product-miniature__title { font-size:.9rem!important; }
}


/* =========================================================
   TwinShop v1.0.6 – native Hummingbird interaction + compact catalog
   ========================================================= */

/* Dropdowns must sit above the page and remain clickable. */
#header .top-menu .sub-menu,
#header .popover.sub-menu,
#header .dropdown-menu { z-index: 1090 !important; }
#header .top-menu[data-depth="0"] > li { position: relative; }
#header .top-menu[data-depth="0"] > li > a { cursor: pointer; }

/* Desktop category grid: 4 cards, 5 only on truly wide screens. */
body#category #js-product-list .products,
body#search #js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch;
}
body#category #js-product-list .products > *,
body#search #js-product-list .products > * { width: auto !important; max-width: none !important; margin: 0 !important; }
@media (min-width: 1680px) {
  body#category #js-product-list .products,
  body#search #js-product-list .products { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
  body#category #js-product-list .products,
  body#search #js-product-list .products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
}

/* Absolutely no quick-view eye/button in listing cards. */
.product-miniature__quickview,
.product-miniature .quick-view,
.product-miniature [data-link-action="quickview"],
.product-miniature [data-bs-target*="quickview"] { display: none !important; }

/* Whole product image stage is white – including transparent images. */
body#category .product-miniature__top,
body#category .product-miniature__top > *,
body#category .product-miniature .product-thumbnail,
body#category .product-miniature picture,
body#category .product-miniature .thumbnail-top,
body#search .product-miniature__top,
body#search .product-miniature .product-thumbnail,
body#search .product-miniature picture {
  background: #fff !important;
}
.product-miniature__top { border-bottom: 1px solid var(--ds-card-border); }
.product-miniature__top img { background: #fff !important; }

/* Compact desktop cards. */
@media (min-width: 768px) {
  body#category .product-miniature__top,
  body#search .product-miniature__top { aspect-ratio: 1 / 1.12; min-height: 0; }
  body#category .product-miniature__bottom,
  body#search .product-miniature__bottom { padding: 14px; }
  body#category .product-miniature__title,
  body#search .product-miniature__title { font-size: .94rem; line-height: 1.28; }
}

/* Discount / legal price information. */
.ds-discount-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: var(--ds-sale-bg);
  color: var(--ds-sale-text) !important;
  font-size: .76rem;
  font-weight: 900;
  line-height: 1.2;
}
.ds-price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .45rem; }
.ds-price-row--current { margin-top: .38rem; }
.ds-price-row--old { margin-top: .2rem; }
.ds-price-label,
.ds-previous-price-label { color: var(--ds-muted); font-size: .76rem; font-weight: 700; }
.ds-price-row--old .product-miniature__regular-price,
.ds-product-discount-summary .product__regular-price {
  color: var(--ds-muted) !important;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}
.ds-price-legal {
  margin-top: .38rem;
  color: var(--ds-muted);
  font-size: .74rem;
  line-height: 1.35;
}
.ds-price-legal a { color: var(--ds-link) !important; text-decoration: underline; text-underline-offset: 2px; }
.ds-price-legal a:hover { color: var(--ds-link-hover) !important; }
.ds-mini-delivery { margin-top: .35rem; }
.ds-product-discount-summary { display: grid; gap: .35rem; margin-bottom: .45rem; }
.product__prices .ds-price-legal { font-size: .82rem; }

/* Pagination: actual anchors, branded hover/current state, no JS dependency. */
.pagination__nav .pagination a.page-link { text-decoration: none; }
.pagination__nav .pagination .page-item.active .page-link,
.pagination__nav .pagination [aria-current="page"] {
  background: var(--ds-accent) !important;
  border-color: var(--ds-accent) !important;
  color: var(--ds-accent-contrast) !important;
}

/* Newsletter – intentionally dark on both brands for readable type. */
.ps-emailsubscription,
.ps-emailsubscription.bg-body-tertiary,
.footer__before .ps-emailsubscription {
  background: var(--ds-newsletter-bg) !important;
  color: var(--ds-newsletter-text) !important;
  border-top: 1px solid var(--ds-newsletter-border) !important;
  border-bottom: 1px solid var(--ds-newsletter-border) !important;
}
.ps-emailsubscription .h3,
.ps-emailsubscription p,
.ps-emailsubscription label,
.ps-emailsubscription .text-body-secondary,
.ps-emailsubscription .form-check-label,
.ps-emailsubscription a { color: var(--ds-newsletter-text) !important; }
.ps-emailsubscription .text-body-secondary { opacity: .82; }
.ps-emailsubscription .form-control {
  background: #fff !important;
  color: #2b1c24 !important;
  border-color: rgba(255,255,255,.55) !important;
}
.ps-emailsubscription .form-control::placeholder { color: #6d6268 !important; }
.ps-emailsubscription .btn-primary {
  background: var(--ds-accent) !important;
  border-color: var(--ds-accent) !important;
  color: var(--ds-accent-contrast) !important;
}

/* Amazon-like single-row product layout on phones. */
@media (max-width: 767.98px) {
  body#category #js-product-list .products,
  body#search #js-product-list .products {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  body#category .product-miniature,
  body#search .product-miniature { width: 100% !important; }
  body#category .product-miniature__inner,
  body#search .product-miniature__inner {
    display: grid !important;
    grid-template-columns: minmax(145px, 44%) minmax(0, 1fr) !important;
    min-height: 218px !important;
    align-items: stretch;
  }
  body#category .product-miniature__top,
  body#search .product-miniature__top {
    height: 100% !important;
    min-height: 218px !important;
    aspect-ratio: auto !important;
    border-right: 1px solid var(--ds-card-border);
    border-bottom: 0;
  }
  body#category .product-miniature__top img,
  body#search .product-miniature__top img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 8px !important;
  }
  body#category .product-miniature__bottom,
  body#search .product-miniature__bottom {
    min-width: 0;
    padding: 13px 12px !important;
  }
  body#category .product-miniature__infos,
  body#search .product-miniature__infos { gap: .38rem; }
  body#category .product-miniature__title,
  body#search .product-miniature__title {
    font-size: .94rem !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3;
  }
  body#category .product-miniature__price,
  body#search .product-miniature__price { font-size: 1.05rem !important; }
  body#category .product-miniature__actions,
  body#search .product-miniature__actions { margin-top: .55rem !important; }
  body#category .product-miniature__add,
  body#category .product-miniature__details,
  body#search .product-miniature__add,
  body#search .product-miniature__details {
    min-height: 40px !important;
    font-size: .8rem !important;
    padding: .5rem .6rem !important;
  }
  .ds-price-legal { font-size: .67rem; }
  .ds-mini-delivery { font-size: .7rem; }
}
@media (max-width: 390px) {
  body#category .product-miniature__inner,
  body#search .product-miniature__inner { grid-template-columns: minmax(132px, 42%) minmax(0, 1fr) !important; }
}
