/* TwinShop Frontoffice Fix 1.0.18
   Applies to Fesselliebe + Dessou24 through the module guard. */

/* ---------- Global overflow / spacing guard ---------- */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

main,
#wrapper,
#content-wrapper,
.page-wrapper,
.container,
.container-fluid,
.row,
.products,
.product-miniature,
.product-miniature__inner,
.product-miniature__bottom {
  min-width: 0;
}

/* ---------- Pagination: visual only; JS forces reliable real-page navigation ---------- */
.pagination a[href],
.pagination .page-link[href],
.js-pager-link[href] {
  cursor: pointer !important;
}

/* ---------- Mobile product cards: one full-width horizontal row everywhere ---------- */
@media (max-width: 767.98px) {
  main .products,
  #products .products,
  #js-product-list .products,
  .featured-products .products,
  .product-accessories .products,
  .viewed-products .products,
  .crossselling-product .products,
  .same-category .products,
  .products-section .products,
  .bw-home-slot .products,
  .homepage-products .products,
  [class*="product"] > .products {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  main .products > *,
  #products .products > *,
  #js-product-list .products > *,
  .featured-products .products > *,
  .product-accessories .products > *,
  .viewed-products .products > *,
  .crossselling-product .products > *,
  .same-category .products > *,
  .products-section .products > *,
  .bw-home-slot .products > *,
  .homepage-products .products > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  main .product-miniature,
  #products .product-miniature,
  #js-product-list .product-miniature,
  .featured-products .product-miniature,
  .product-accessories .product-miniature,
  .viewed-products .product-miniature,
  .crossselling-product .product-miniature,
  .same-category .product-miniature,
  .products-section .product-miniature,
  .bw-home-slot .product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  main .product-miniature__inner,
  #products .product-miniature__inner,
  #js-product-list .product-miniature__inner,
  .featured-products .product-miniature__inner,
  .product-accessories .product-miniature__inner,
  .viewed-products .product-miniature__inner,
  .crossselling-product .product-miniature__inner,
  .same-category .product-miniature__inner,
  .products-section .product-miniature__inner,
  .bw-home-slot .product-miniature__inner {
    display: grid !important;
    grid-template-columns: clamp(128px, 39vw, 154px) minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 205px !important;
    height: auto !important;
  }

  main .product-miniature__top,
  main .product-miniature .thumbnail-top,
  #products .product-miniature__top,
  #js-product-list .product-miniature__top,
  .featured-products .product-miniature__top,
  .product-accessories .product-miniature__top,
  .viewed-products .product-miniature__top,
  .crossselling-product .product-miniature__top,
  .same-category .product-miniature__top,
  .products-section .product-miniature__top,
  .bw-home-slot .product-miniature__top {
    width: 100% !important;
    height: 100% !important;
    min-height: 205px !important;
    aspect-ratio: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #fff !important;
    border-right: 1px solid var(--ds-card-border, rgba(127,127,127,.24)) !important;
    border-bottom: 0 !important;
  }

  main .product-miniature__top img,
  main .product-miniature .product-thumbnail img,
  main .product-miniature picture img,
  #products .product-miniature__top img,
  #js-product-list .product-miniature__top img,
  .featured-products .product-miniature__top img,
  .product-accessories .product-miniature__top img,
  .viewed-products .product-miniature__top img,
  .crossselling-product .product-miniature__top img,
  .same-category .product-miniature__top img,
  .products-section .product-miniature__top img,
  .bw-home-slot .product-miniature__top img {
    width: 100% !important;
    height: 100% !important;
    max-height: 235px !important;
    object-fit: contain !important;
    background: #fff !important;
    padding: 8px !important;
  }

  main .product-miniature__bottom,
  #products .product-miniature__bottom,
  #js-product-list .product-miniature__bottom,
  .featured-products .product-miniature__bottom,
  .product-accessories .product-miniature__bottom,
  .viewed-products .product-miniature__bottom,
  .crossselling-product .product-miniature__bottom,
  .same-category .product-miniature__bottom,
  .products-section .product-miniature__bottom,
  .bw-home-slot .product-miniature__bottom {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 12px 11px 11px 13px !important;
  }

  main .product-miniature__infos,
  #products .product-miniature__infos,
  #js-product-list .product-miniature__infos,
  .featured-products .product-miniature__infos,
  .product-accessories .product-miniature__infos,
  .viewed-products .product-miniature__infos,
  .crossselling-product .product-miniature__infos,
  .same-category .product-miniature__infos,
  .products-section .product-miniature__infos,
  .bw-home-slot .product-miniature__infos {
    min-width: 0 !important;
    gap: 5px !important;
  }

  main .product-miniature__title,
  main .product-miniature .product-title a,
  main .product-miniature h3 a,
  #products .product-miniature__title,
  #js-product-list .product-miniature__title,
  .featured-products .product-miniature__title,
  .product-accessories .product-miniature__title,
  .viewed-products .product-miniature__title,
  .crossselling-product .product-miniature__title,
  .same-category .product-miniature__title,
  .products-section .product-miniature__title,
  .bw-home-slot .product-miniature__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: .94rem !important;
    font-weight: 800 !important;
    line-height: 1.23 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  main .product-miniature__prices,
  main .product-miniature .product-price-and-shipping,
  #products .product-miniature__prices,
  #js-product-list .product-miniature__prices {
    margin-top: 5px !important;
  }

  main .product-miniature__price,
  main .product-miniature .price,
  #products .product-miniature__price,
  #js-product-list .product-miniature__price {
    font-size: 1.05rem !important;
    line-height: 1.1 !important;
  }

  main .ds-price-legal,
  main .product-miniature .ds-price-legal,
  #products .ds-price-legal,
  #js-product-list .ds-price-legal {
    margin-top: 4px !important;
    font-size: .69rem !important;
    line-height: 1.25 !important;
  }

  main .ds-mini-delivery,
  main .flt-mini-delivery,
  main .bw-delivery-line,
  #products .ds-mini-delivery,
  #js-product-list .ds-mini-delivery {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-top: 5px !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: .7rem !important;
    line-height: 1.2 !important;
  }

  main .product-miniature__actions,
  #products .product-miniature__actions,
  #js-product-list .product-miniature__actions,
  .featured-products .product-miniature__actions,
  .product-accessories .product-miniature__actions,
  .viewed-products .product-miniature__actions,
  .crossselling-product .product-miniature__actions,
  .same-category .product-miniature__actions,
  .products-section .product-miniature__actions,
  .bw-home-slot .product-miniature__actions {
    margin-top: auto !important;
    padding-top: 8px !important;
  }

  main .product-miniature__add,
  main .product-miniature__details,
  main .product-miniature .btn,
  #products .product-miniature__add,
  #products .product-miniature__details,
  #js-product-list .product-miniature__add,
  #js-product-list .product-miniature__details {
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 7px !important;
    border-radius: 8px !important;
    font-size: .78rem !important;
    line-height: 1.14 !important;
    white-space: normal !important;
  }

  /* quickview stays gone everywhere */
  main .quick-view,
  main [data-link-action="quickview"],
  main .product-miniature__quickview {
    display: none !important;
  }
}

/* Tightest phones */
@media (max-width: 390px) {
  main .product-miniature__inner,
  #products .product-miniature__inner,
  #js-product-list .product-miniature__inner,
  .featured-products .product-miniature__inner,
  .product-accessories .product-miniature__inner,
  .viewed-products .product-miniature__inner,
  .same-category .product-miniature__inner,
  .products-section .product-miniature__inner,
  .bw-home-slot .product-miniature__inner {
    grid-template-columns: 126px minmax(0, 1fr) !important;
  }

  main .product-miniature__top,
  #products .product-miniature__top,
  #js-product-list .product-miniature__top {
    min-height: 190px !important;
  }

  main .product-miniature__bottom,
  #products .product-miniature__bottom,
  #js-product-list .product-miniature__bottom {
    padding: 10px !important;
  }
}


/* =========================================================
   v1.0.11 – stable responsive header + tablet catalog
   Exact order: Menü – Logo – Suche – Konto – Warenkorb
   ========================================================= */
.tsfix-responsive-header { display:none; }

@media (max-width:1199.98px) {
  html,body,#header { max-width:100%!important; overflow-x:clip!important; }
  #header { min-height:0!important; height:auto!important; padding:0!important; background:var(--ds-header-bg,#0b0b0e)!important; }

  /* Remove every visible native header row, but keep native offcanvas/modal
     descendants available for programmatic opening by the custom controls. */
  #header .header-banner,
  #header .header-top,
  #header .ds-header-top,
  #header .header-nav,
  #header .header-nav-full-width,
  #header .ds-header-reassurance { display:none!important; }

  #header .header-bottom,
  #header .ds-header-main {
    min-height:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:visible!important;
    background:transparent!important;
  }
  #header .header-bottom__container,
  #header .ds-header-main__container,
  #header .header-bottom__row,
  #header .ds-header-main__row {
    min-height:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:visible!important;
  }

  /* Hide source visuals only. Native modal/offcanvas panels remain untouched. */
  #header .header-bottom__logo,
  #header .ds-header-logo,
  #header #_mobile_ps_customersignin,
  #header #_mobile_ps_shoppingcart,
  #header #_desktop_user_info,
  #header #_desktop_cart,
  #header #_desktop_ps_searchbar,
  #header .ps-searchbar--desktop,
  #header .ps-mainmenu--desktop,
  #header .ps-mainmenu--mobile > .menu-toggle,
  #header .ps-mainmenu--mobile > button:not(.offcanvas *),
  #header .ps-searchbar--mobile > .header-block,
  #header #_mobile_ps_searchbar > .header-block {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
  }

  #header .tsfix-responsive-header {
    box-sizing:border-box!important;
    position:relative!important;
    z-index:1080!important;
    display:grid!important;
    grid-template-columns:58px minmax(104px,1fr) 58px 58px 76px!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:76px!important;
    margin:0!important;
    padding:7px 8px!important;
    background:var(--ds-header-bg,#0b0b0e)!important;
    color:var(--ds-header-text,#fff)!important;
    border-bottom:1px solid var(--ds-border,rgba(255,255,255,.12))!important;
    box-shadow:none!important;
  }

  #header .tsfix-header-item,
  #header .tsfix-header-logo {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--ds-header-text,#fff)!important;
    text-decoration:none!important;
  }

  #header .tsfix-header-item {
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    width:100%!important;
    height:62px!important;
    min-height:62px!important;
    padding:4px 1px!important;
    border-radius:9px!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  #header .tsfix-header-item:hover,
  #header .tsfix-header-item:focus-visible {
    background:var(--ds-surface-alt,rgba(255,255,255,.08))!important;
    color:var(--ds-link-hover,var(--ds-accent,#ff4b75))!important;
    outline:none!important;
  }
  #header .tsfix-header-icon {
    display:block!important;
    width:27px!important;
    height:27px!important;
    margin:0!important;
    font-size:27px!important;
    line-height:27px!important;
    color:currentColor!important;
  }
  #header .tsfix-header-label {
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-family:inherit!important;
    font-size:9.5px!important;
    font-weight:800!important;
    line-height:1.05!important;
    text-align:center!important;
    white-space:nowrap!important;
    color:currentColor!important;
  }
  #header .tsfix-header-item--cart .tsfix-header-label { font-size:8.5px!important; }

  #header .tsfix-header-logo {
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:62px!important;
    padding:5px 4px!important;
    overflow:hidden!important;
  }
  #header .tsfix-header-logo img {
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    max-height:47px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  #header .tsfix-cart-badge {
    position:absolute!important;
    top:0!important;
    right:5px!important;
    display:grid!important;
    place-items:center!important;
    min-width:19px!important;
    height:19px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    background:var(--ds-accent,#e23a5f)!important;
    color:var(--ds-accent-contrast,#fff)!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:19px!important;
  }

  body.tsfix-panel-open { overflow:hidden!important; }
  .tsfix-fallback-panel[hidden] { display:none!important; }
  .tsfix-fallback-panel { position:fixed; inset:0; z-index:3000; }
  .tsfix-panel-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(0,0,0,.62); }
  .tsfix-panel-close { border:0; background:transparent; color:inherit; font-size:32px; line-height:1; }
  .tsfix-menu-card {
    position:absolute; left:0; top:0; bottom:0; width:min(390px,90vw); overflow:auto;
    padding:0; background:var(--ds-surface,#151518); color:var(--ds-text,#fff); box-shadow:18px 0 45px rgba(0,0,0,.35);
  }
  .tsfix-menu-head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--ds-border,#303038); }
  .tsfix-menu-body { padding:12px 16px 28px; }
  .tsfix-menu-body ul { list-style:none; margin:0; padding:0; }
  .tsfix-menu-body li { border-bottom:1px solid color-mix(in srgb,var(--ds-border,#303038) 78%,transparent); }
  .tsfix-menu-body a { display:block; padding:12px 4px; color:var(--ds-text,#fff)!important; text-decoration:none; font-weight:700; }
  .tsfix-menu-body ul ul { padding-left:14px; }
  .tsfix-search-card {
    position:absolute; left:50%; top:16px; transform:translateX(-50%); width:min(680px,calc(100vw - 24px));
    padding:18px; border-radius:14px; background:var(--ds-surface,#151518); color:var(--ds-text,#fff); box-shadow:0 18px 50px rgba(0,0,0,.35);
  }
  .tsfix-search-card > .tsfix-panel-close { position:absolute; right:12px; top:9px; }
  .tsfix-search-card label { display:block; margin:0 0 10px; font-weight:800; }
  .tsfix-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .tsfix-search-row input { min-width:0; min-height:46px; padding:0 13px; border:1px solid var(--ds-border,#303038); border-radius:9px; background:var(--ds-input-bg,#111); color:var(--ds-text,#fff); }
  .tsfix-search-row button { min-height:46px; padding:0 16px; border:1px solid var(--ds-accent,#e23a5f); border-radius:9px; background:var(--ds-accent,#e23a5f); color:var(--ds-accent-contrast,#fff); font-weight:800; }
}

/* Phone: compact but every label remains fully visible. */
@media (max-width:599.98px) {
  #header .tsfix-responsive-header {
    grid-template-columns:54px minmax(96px,1fr) 54px 54px 72px!important;
    gap:2px!important;
    min-height:70px!important;
    padding:5px 5px!important;
  }
  #header .tsfix-header-item,
  #header .tsfix-header-logo { height:58px!important; min-height:58px!important; }
  #header .tsfix-header-logo img { max-height:43px!important; }
  #header .tsfix-header-icon { width:25px!important; height:25px!important; font-size:25px!important; line-height:25px!important; }
  #header .tsfix-header-label { font-size:9px!important; }
  #header .tsfix-header-item--cart .tsfix-header-label { font-size:8px!important; }
}

/* Tablet: fixed left-aligned five-piece header, no giant blank header area. */
@media (min-width:600px) and (max-width:1199.98px) {
  #header .tsfix-responsive-header {
    grid-template-columns:70px 190px 70px 70px 96px!important;
    justify-content:start!important;
    gap:8px!important;
    min-height:82px!important;
    padding:8px 14px!important;
  }
  #header .tsfix-header-logo img { max-height:52px!important; }
  #header .tsfix-header-label { font-size:10px!important; }
  #header .tsfix-header-item--cart .tsfix-header-label { font-size:9.5px!important; }

  /* Category and product modules: two generous cards per row on tablets. */
  #category #js-product-list .products,
  #category #products .products,
  #search #js-product-list .products,
  .featured-products .products,
  .product-accessories .products,
  .viewed-products .products,
  .crossselling-product .products,
  .same-category .products,
  .products-section .products {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    width:100%!important;
    margin-inline:0!important;
  }
  #category #js-product-list .products > *,
  #category #products .products > *,
  #search #js-product-list .products > *,
  .featured-products .products > *,
  .product-accessories .products > *,
  .viewed-products .products > *,
  .crossselling-product .products > *,
  .same-category .products > *,
  .products-section .products > * {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  #category .product-miniature,
  #search .product-miniature,
  .featured-products .product-miniature,
  .product-accessories .product-miniature,
  .viewed-products .product-miniature,
  .same-category .product-miniature {
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    border-radius:14px!important;
  }
  #category .product-miniature__inner,
  #search .product-miniature__inner,
  .featured-products .product-miniature__inner,
  .product-accessories .product-miniature__inner,
  .viewed-products .product-miniature__inner,
  .same-category .product-miniature__inner {
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
  }
  #category .product-miniature__top,
  #search .product-miniature__top,
  .featured-products .product-miniature__top,
  .product-accessories .product-miniature__top,
  .viewed-products .product-miniature__top,
  .same-category .product-miniature__top {
    width:100%!important;
    height:270px!important;
    min-height:270px!important;
    aspect-ratio:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border-bottom:1px solid var(--ds-card-border,rgba(127,127,127,.24))!important;
  }
  #category .product-miniature__top img,
  #search .product-miniature__top img,
  .featured-products .product-miniature__top img,
  .product-accessories .product-miniature__top img,
  .viewed-products .product-miniature__top img,
  .same-category .product-miniature__top img {
    width:100%!important;
    height:100%!important;
    max-height:270px!important;
    object-fit:contain!important;
    padding:12px!important;
    background:#fff!important;
  }
  #category .product-miniature__bottom,
  #search .product-miniature__bottom,
  .featured-products .product-miniature__bottom,
  .product-accessories .product-miniature__bottom,
  .viewed-products .product-miniature__bottom,
  .same-category .product-miniature__bottom {
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    padding:15px!important;
  }
  #category .product-miniature__title,
  #search .product-miniature__title,
  .featured-products .product-miniature__title,
  .product-accessories .product-miniature__title,
  .viewed-products .product-miniature__title,
  .same-category .product-miniature__title {
    font-size:1rem!important;
    line-height:1.3!important;
    -webkit-line-clamp:3!important;
  }
  #category .product-miniature__actions,
  #search .product-miniature__actions,
  .featured-products .product-miniature__actions,
  .product-accessories .product-miniature__actions,
  .viewed-products .product-miniature__actions,
  .same-category .product-miniature__actions { margin-top:auto!important; padding-top:10px!important; }
  #category .ds-price-legal,
  #search .ds-price-legal { font-size:.74rem!important; line-height:1.3!important; }
  #category .ds-mini-delivery,
  #search .ds-mini-delivery { font-size:.76rem!important; white-space:normal!important; }
}


/* =========================================================
   v1.0.12 – final tablet/phone header cleanup + accordion menu
   ========================================================= */
@media (max-width:1199.98px) {
  /* The custom bar is the ONLY visible header row. Native rows remain in the
     DOM as data sources but cannot consume height or appear a second time. */
  #header > *:not(.tsfix-responsive-header) {
    display:none!important;
  }
  #header > .tsfix-responsive-header {
    display:grid!important;
  }

  /* Breadcrumb is redundant on compact/tablet layouts. */
  #wrapper .breadcrumb,
  #wrapper nav.breadcrumb,
  nav[aria-label="breadcrumb"],
  .breadcrumb-wrapper,
  .breadcrumb-container {
    display:none!important;
  }
  #wrapper,
  main,
  #content-wrapper {
    margin-top:0!important;
    padding-top:0!important;
  }

  /* Clean standalone drawer. No inherited Hummingbird menu layout. */
  .tsfix-menu-card {
    width:min(390px,90vw)!important;
    background:var(--ds-surface,#151518)!important;
    color:var(--ds-text,#fff)!important;
  }
  .tsfix-menu-head {
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    min-height:64px!important;
    padding:14px 16px!important;
    background:var(--ds-surface,#151518)!important;
  }
  .tsfix-menu-head strong {
    color:var(--ds-text,#fff)!important;
    font-size:1.05rem!important;
  }
  .tsfix-menu-body {
    padding:8px 12px 28px!important;
  }
  .tsfix-menu-body .tsfix-menu-list {
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .tsfix-menu-body .tsfix-menu-list .tsfix-menu-list {
    margin:2px 0 8px!important;
    padding:4px 0 4px 14px!important;
    border-left:2px solid color-mix(in srgb,var(--ds-accent,#ff4b75) 30%,transparent)!important;
  }
  .tsfix-menu-body .tsfix-menu-entry {
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--ds-border,#303038) 74%,transparent)!important;
    background:transparent!important;
  }
  .tsfix-menu-body .tsfix-menu-row {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:8px!important;
    min-height:52px!important;
  }
  .tsfix-menu-body .tsfix-menu-link {
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    min-height:52px!important;
    padding:11px 4px!important;
    color:var(--ds-text,#fff)!important;
    text-decoration:none!important;
    font-size:.98rem!important;
    font-weight:750!important;
    line-height:1.25!important;
  }
  .tsfix-menu-body .tsfix-menu-link:hover,
  .tsfix-menu-body .tsfix-menu-link:focus-visible {
    color:var(--ds-link-hover,var(--ds-accent,#ff4b75))!important;
  }
  .tsfix-submenu-toggle {
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--ds-border,#303038)!important;
    border-radius:9px!important;
    background:var(--ds-surface-alt,rgba(255,255,255,.06))!important;
    color:var(--ds-text,#fff)!important;
    cursor:pointer!important;
  }
  .tsfix-submenu-toggle:hover,
  .tsfix-submenu-toggle:focus-visible {
    border-color:var(--ds-accent,#ff4b75)!important;
    color:var(--ds-link-hover,var(--ds-accent,#ff4b75))!important;
    outline:none!important;
  }
  .tsfix-submenu-toggle .material-icons {
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
    transition:transform .18s ease!important;
  }
  .tsfix-submenu-toggle[aria-expanded="true"] .material-icons {
    transform:rotate(180deg)!important;
  }
  .tsfix-menu-list[hidden] {
    display:none!important;
  }
}

/* Phone – five items must fit exactly inside the viewport. */
@media (max-width:599.98px) {
  #header .tsfix-responsive-header {
    grid-template-columns:48px minmax(92px,1fr) 48px 48px 70px!important;
    gap:2px!important;
    width:100%!important;
    min-height:68px!important;
    padding:5px 4px!important;
  }
  #header .tsfix-header-item,
  #header .tsfix-header-logo {
    height:56px!important;
    min-height:56px!important;
  }
  #header .tsfix-header-logo {
    padding-inline:2px!important;
  }
  #header .tsfix-header-logo img {
    max-width:100%!important;
    max-height:40px!important;
  }
  #header .tsfix-header-icon {
    width:24px!important;
    height:24px!important;
    font-size:24px!important;
    line-height:24px!important;
  }
  #header .tsfix-header-label,
  #header .tsfix-header-item--cart .tsfix-header-label {
    font-size:8.2px!important;
    letter-spacing:-.1px!important;
  }
}

/* Tablet – menu+logo left, search/account/cart anchored to the right. */
@media (min-width:600px) and (max-width:1199.98px) {
  #header .tsfix-responsive-header {
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-height:80px!important;
    padding:8px 14px!important;
  }
  #header .tsfix-header-item--menu {
    flex:0 0 66px!important;
    width:66px!important;
  }
  #header .tsfix-header-logo {
    flex:0 1 190px!important;
    width:190px!important;
    min-width:120px!important;
    max-width:190px!important;
  }
  #header .tsfix-header-item--search {
    flex:0 0 70px!important;
    width:70px!important;
    margin-left:auto!important;
  }
  #header .tsfix-header-item--account {
    flex:0 0 70px!important;
    width:70px!important;
  }
  #header .tsfix-header-item--cart {
    flex:0 0 96px!important;
    width:96px!important;
  }
  #header .tsfix-header-item,
  #header .tsfix-header-logo {
    height:62px!important;
    min-height:62px!important;
  }
  #header .tsfix-header-logo img {
    max-width:100%!important;
    max-height:48px!important;
  }
  #header .tsfix-header-label,
  #header .tsfix-header-item--cart .tsfix-header-label {
    font-size:9.5px!important;
  }
}

/* =========================================================
   v1.0.13 – tablet header removal + customer account + contrast
   ========================================================= */

/* -------- Semantic contrast tokens -------- */
:root {
  --tsfix-dark-surface: var(--ds-surface, #151518);
  --tsfix-dark-text: var(--ds-text, #f7f7f9);
  --tsfix-dark-muted: var(--ds-muted, #c9c9cf);
  --tsfix-light-surface: #ffffff;
  --tsfix-light-text: #17171b;
  --tsfix-light-muted: #5f6068;
}

/* -------- Kill the native second/third header rows below desktop -------- */
@media (max-width:1199.98px) {
  #header .tsfix-native-header-hidden,
  #header .header-top,
  #header .ds-header-top,
  #header .header-nav,
  #header .header-nav-full-width,
  #header .ds-header-reassurance,
  #header .header-banner,
  #header > .header-top,
  #header > .ds-header-top {
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  #header .tsfix-responsive-header {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  /* Compact pages must not inherit an invisible header spacer. */
  #header,
  #header .header-container,
  #header .header-wrapper {
    min-height:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
}

/* -------- Global dark-surface readability -------- */
.page,
.page-content,
.card,
.grid-table,
.account-link,
.customer-account-page,
.my-account-page,
.order-infos,
.order-status,
.order-products,
.order-messages,
.address-card,
.product-miniature__bottom,
.modal-content,
.offcanvas,
.dropdown-menu,
.list-group-item {
  color:var(--tsfix-dark-text);
}

.page a,
.page-content a,
.card a,
.grid-table a,
.customer-account-page a,
.my-account-page a,
.order-infos a,
.order-status a,
.order-products a,
.order-messages a {
  color:var(--ds-link, var(--ds-accent, #e83f68));
}

.page a:hover,
.page-content a:hover,
.card a:hover,
.grid-table a:hover,
.customer-account-page a:hover,
.my-account-page a:hover {
  color:var(--ds-link-hover, var(--ds-accent, #ff5b82));
}

/* Muted/bootstrap utility text was nearly invisible on the dark storefront. */
.page .text-muted,
.page .text-secondary,
.page .text-body-secondary,
.page-content .text-muted,
.page-content .text-secondary,
.page-content .text-body-secondary,
.customer-account-page .text-muted,
.customer-account-page .text-secondary,
.my-account-page .text-muted,
.my-account-page .text-secondary,
.grid-table .text-muted,
.grid-table .text-secondary {
  color:var(--tsfix-dark-muted) !important;
  opacity:1 !important;
}

/* -------- Explicit light surfaces always get dark text -------- */
.bg-white,
.bg-light,
.bg-body,
.bg-body-tertiary,
.table-light,
.alert-light,
.form-control,
.form-select,
.input-group-text,
.dropdown-menu.bg-white,
.modal-content.bg-white,
.card.bg-white,
.list-group-item.bg-white,
.ps-emailsubscription .form-control {
  color:var(--tsfix-light-text) !important;
}

.bg-white a,
.bg-light a,
.bg-body a,
.bg-body-tertiary a,
.table-light a,
.alert-light a,
.card.bg-white a,
.list-group-item.bg-white a {
  color:#8f1f48 !important;
}

.form-control::placeholder,
.form-select::placeholder,
.bg-white .text-muted,
.bg-light .text-muted,
.bg-body .text-muted,
.bg-body-tertiary .text-muted,
.card.bg-white .text-muted {
  color:var(--tsfix-light-muted) !important;
  opacity:1 !important;
}

/* -------- Dark theme controls -------- */
.page .form-control:not(.bg-white),
.page .form-select:not(.bg-white),
.page textarea:not(.bg-white),
.page input:not([type="checkbox"]):not([type="radio"]):not(.bg-white),
.page select:not(.bg-white) {
  border-color:var(--ds-border, #35353d);
}

/* -------- Tables: never clip actions offscreen -------- */
.table-responsive,
.grid-table,
.history-table,
.order-history,
#history,
#history .table-wrapper,
#history .table-responsive,
.page-history .table-responsive {
  max-width:100% !important;
}

.table-responsive,
#history .table-responsive,
.page-history .table-responsive {
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
}

.table,
.grid-table {
  color:var(--tsfix-dark-text) !important;
}

.table > :not(caption) > * > *,
.grid-table__cell {
  color:inherit;
  border-color:var(--ds-border, rgba(255,255,255,.14)) !important;
}

/* -------- Customer account/order history: responsive cards -------- */
@media (max-width:1199.98px) {
  body#history #content,
  body.page-history #content,
  body[id*="history"] #content,
  body[id*="order"] .page-content,
  .customer-account-page,
  .my-account-page {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  body#history .grid-table,
  body.page-history .grid-table,
  body[id*="history"] .grid-table {
    display:block !important;
    width:100% !important;
    overflow:visible !important;
  }

  body#history .grid-table__header,
  body.page-history .grid-table__header,
  body[id*="history"] .grid-table__header {
    display:none !important;
  }

  body#history .grid-table__inner,
  body.page-history .grid-table__inner,
  body[id*="history"] .grid-table__inner {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
  }

  body#history .grid-table__row,
  body.page-history .grid-table__row,
  body[id*="history"] .grid-table__row {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 !important;
    width:100% !important;
    min-width:0 !important;
    padding:12px !important;
    border:1px solid var(--ds-border,rgba(255,255,255,.14)) !important;
    border-radius:12px !important;
    background:var(--ds-surface,#151518) !important;
    color:var(--ds-text,#fff) !important;
    overflow:hidden !important;
  }

  body#history .grid-table__cell,
  body.page-history .grid-table__cell,
  body[id*="history"] .grid-table__cell {
    display:block !important;
    min-width:0 !important;
    padding:9px 10px !important;
    color:var(--ds-text,#fff) !important;
    border-bottom:1px solid color-mix(in srgb,var(--ds-border,#303038) 70%,transparent) !important;
    overflow-wrap:anywhere;
  }

  body#history .grid-table__cell::before,
  body.page-history .grid-table__cell::before,
  body[id*="history"] .grid-table__cell::before {
    content:attr(data-ps-label);
    display:block;
    margin:0 0 3px;
    color:var(--ds-muted,#c9c9cf) !important;
    font-size:.72rem;
    font-weight:700;
    line-height:1.2;
  }

  body#history .grid-table__cell:last-child,
  body.page-history .grid-table__cell:last-child,
  body[id*="history"] .grid-table__cell:last-child {
    border-bottom:0 !important;
  }

  body#history .grid-table__cell .btn,
  body.page-history .grid-table__cell .btn,
  body[id*="history"] .grid-table__cell .btn {
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
  }

  /* Older/classic table markup fallback used by some customer modules. */
  body#history table,
  body.page-history table,
  body[id*="history"] table {
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
  }

  body#history table th,
  body.page-history table th,
  body[id*="history"] table th,
  body#history table td,
  body.page-history table td,
  body[id*="history"] table td {
    min-width:0 !important;
    max-width:none !important;
    padding:9px 6px !important;
    overflow-wrap:anywhere;
    color:var(--ds-text,#fff) !important;
  }

  body#history table .btn,
  body.page-history table .btn,
  body[id*="history"] table .btn {
    min-width:0 !important;
    max-width:100% !important;
    padding:.48rem .55rem !important;
    white-space:normal !important;
    font-size:.78rem !important;
  }
}

/* Phone customer history: one field per row inside each order card. */
@media (max-width:599.98px) {
  body#history .grid-table__row,
  body.page-history .grid-table__row,
  body[id*="history"] .grid-table__row {
    grid-template-columns:minmax(0,1fr) !important;
  }

  body#history table,
  body.page-history table,
  body[id*="history"] table {
    display:block !important;
    overflow-x:auto !important;
    min-width:680px !important;
  }
}

/* -------- Common customer/account panels -------- */
.account-link,
.address-card__container,
.order-infos__summary,
.order-status,
.order-products,
.order-messages,
.my-account-side-links,
.page-my-account .links a {
  color:var(--ds-text,#fff) !important;
}

.account-link .text-muted,
.address-card__container .text-muted,
.order-infos__summary .text-muted,
.order-status .text-muted,
.order-products .text-muted,
.order-messages .text-muted {
  color:var(--ds-muted,#c9c9cf) !important;
  opacity:1 !important;
}

/* Status badges/buttons retain readable text regardless of inherited utility classes. */
.badge,
.badge[class*="bg-"],
.btn-primary,
.btn-danger,
.btn-success,
.btn-warning {
  text-shadow:none !important;
}

.btn-primary,
.btn-danger,
.btn-success {
  color:#fff !important;
}

.btn-warning {
  color:#161616 !important;
}

/* =========================================================
   v1.0.14 – contrast hardening + account/checkout + desktop menu
   ========================================================= */
:root {
  --tsfix-dark-text:#f7f7fb;
  --tsfix-dark-muted:#d2d2dc;
  --tsfix-light-text:#1b1c22;
  --tsfix-light-muted:#5c5e69;
  --tsfix-light-border:#cfd2dc;
}

/* Desktop main menu / mega menu: active selections must never be white-on-white. */
@media (min-width:1200px) {
  #header .submenu .current > a,
  #header .submenu .active > a,
  #header .top-menu .current > a,
  #header .top-menu .active > a,
  #header .ps-mainmenu .current > a,
  #header .ps-mainmenu .active > a,
  #header .dropdown-item.active,
  #header .dropdown-item:active {
    background:var(--ds-accent,#e63c69)!important;
    color:var(--ds-accent-contrast,#fff)!important;
    border-radius:8px!important;
  }
  #header .submenu .current > a *,
  #header .submenu .active > a *,
  #header .top-menu .current > a *,
  #header .top-menu .active > a *,
  #header .ps-mainmenu .current > a *,
  #header .ps-mainmenu .active > a * { color:inherit!important; }

  #header .submenu,
  #header .popover.sub-menu,
  #header .dropdown-menu {
    background:var(--ds-menu-bg,var(--ds-surface,#17171c))!important;
    color:var(--ds-menu-text,var(--tsfix-dark-text))!important;
  }
  #header .submenu a:not(.active),
  #header .popover.sub-menu a:not(.active),
  #header .dropdown-menu a:not(.active) { color:var(--ds-menu-text,var(--tsfix-dark-text))!important; }
  #header .submenu .bg-white,
  #header .submenu .form-control,
  #header .popover.sub-menu .bg-white,
  #header .popover.sub-menu .form-control {
    background:#fff!important;
    color:var(--tsfix-light-text)!important;
  }
}

/* Customer account dark surfaces. */
body#addresses .address-card:not(.selected) .address-card__container,
body#identity .page-content,
body#history .page-content,
body#order-detail .page-content,
body.page-customer-account .page-content,
.customer-account-page .page-content {
  color:var(--tsfix-dark-text)!important;
}

body#addresses .address-card:not(.selected) .address-card__alias,
body#addresses .address-card:not(.selected) .address-card__content,
body#addresses .address-card:not(.selected) .address-card__extra,
body#addresses .address-card:not(.selected) .address-card__edit,
body#identity label,
body#identity legend,
body#identity .form-check-label,
body#identity .form-text,
body#identity .help-block,
body#history .grid-table__cell,
body#history .grid-table__cell *,
body#history .table td,
body#history .table th {
  color:var(--tsfix-dark-text)!important;
  opacity:1!important;
}
body#addresses .address-card:not(.selected) .text-muted,
body#identity .text-muted,
body#identity small,
body#identity .form-text,
body#history .text-muted,
body#history small { color:var(--tsfix-dark-muted)!important; opacity:1!important; }

/* Selected/light address cards get dark text. */
.address-card.selected .address-card__container,
.address-card.selected .address-card__container *,
.address-card__container.bg-white,
.address-card__container.bg-white * {
  color:var(--tsfix-light-text)!important;
}
.address-card.selected .address-card__container,
.address-card.selected { background:#fff!important; }
.address-card.selected .link-danger { color:#b42342!important; }
.address-card.selected .link-body-emphasis { color:#3b3d46!important; }

/* Profile/forms: dark controls with readable text on dark account pages. */
body#identity .form-control,
body#identity .form-select,
body#identity input:not([type=checkbox]):not([type=radio]),
body#identity textarea,
body#addresses .form-control,
body#addresses .form-select {
  background:#15161b!important;
  color:var(--tsfix-dark-text)!important;
  border-color:#5d606d!important;
  caret-color:var(--tsfix-dark-text)!important;
}
body#identity .form-control::placeholder,
body#identity input::placeholder,
body#addresses .form-control::placeholder { color:#aeb0ba!important; opacity:1!important; }
body#identity input:-webkit-autofill,
body#identity input:-webkit-autofill:hover,
body#identity input:-webkit-autofill:focus {
  -webkit-text-fill-color:var(--tsfix-dark-text)!important;
  box-shadow:0 0 0 1000px #15161b inset!important;
}

/* Checkout: dark page text stays light; white option cards always use dark text. */
body#checkout #content,
body#checkout .checkout-step,
body#checkout .checkout-step h1,
body#checkout .checkout-step h2,
body#checkout .checkout-step h3,
body#checkout .checkout-step label,
body#checkout .checkout-step p,
body#checkout .checkout-step .text-muted,
body#checkout .order-confirmation,
body#order-confirmation .page-content {
  color:var(--tsfix-dark-text)!important;
}
body#checkout .checkout-step .text-muted,
body#checkout .checkout-step small { color:var(--tsfix-dark-muted)!important; opacity:1!important; }

body#checkout .address-card:not(.selected) .address-card__container,
body#checkout .address-card:not(.selected) .address-card__container * { color:var(--tsfix-dark-text)!important; }
body#checkout .address-card.selected,
body#checkout .address-card.selected .address-card__container,
body#checkout .address-card.selected .address-card__container * { color:var(--tsfix-light-text)!important; }

body#checkout .delivery-option,
body#checkout .js-delivery-option,
body#checkout .delivery-option label,
body#checkout .delivery-option .row,
body#checkout .delivery-option .col,
body#checkout .carrier-extra-content {
  background:#fff!important;
  color:var(--tsfix-light-text)!important;
}
body#checkout .delivery-option *,
body#checkout .js-delivery-option * { color:var(--tsfix-light-text)!important; }
body#checkout .delivery-option .text-muted,
body#checkout .js-delivery-option .text-muted { color:var(--tsfix-light-muted)!important; opacity:1!important; }
body#checkout textarea,
body#checkout .form-control,
body#checkout .form-select {
  background:#15161b!important;
  color:var(--tsfix-dark-text)!important;
  border-color:#5d606d!important;
}

/* Order review/address blocks and dark cards. */
.order-addresses .address-card__container,
.order-addresses .address-card__container *,
.order-confirmation__address,
.order-confirmation__address *,
.cart-summary,
.cart-summary * {
  color:var(--tsfix-dark-text)!important;
}

/* Generic light surfaces: force dark readable copy, but don't recolor icons/images. */
.alert-light,
.bg-white,
.bg-body,
.bg-body-tertiary,
.table-light,
.list-group-item.bg-white,
.modal-content.bg-white {
  color:var(--tsfix-light-text)!important;
}
.alert-light p,.alert-light span,.alert-light small,
.bg-white p,.bg-white span,.bg-white small,
.bg-body p,.bg-body span,.bg-body small,
.bg-body-tertiary p,.bg-body-tertiary span,.bg-body-tertiary small,
.table-light td,.table-light th { color:var(--tsfix-light-text)!important; }

/* Buttons must keep sufficient foreground/background contrast. */
.btn-primary,
.btn-danger,
.btn-success,
.badge.bg-danger,
.badge.bg-primary { color:#fff!important; }
.btn-light,
.btn-warning { color:#17181d!important; }
.btn-outline-primary:hover,
.btn-outline-danger:hover { color:#fff!important; }

/* Safe order-detail fallback. */
.tsfix-orderdetail { color:var(--tsfix-dark-text); }
.tsfix-orderdetail h1,.tsfix-orderdetail h2,.tsfix-orderdetail strong,.tsfix-orderdetail p,.tsfix-orderdetail span,.tsfix-orderdetail small { color:inherit; }
.tsfix-orderdetail__head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:18px; }
.tsfix-orderdetail__head h1 { margin:.25rem 0; }
.tsfix-orderdetail__eyebrow { color:var(--ds-accent,#e63c69)!important; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.tsfix-orderdetail__status { display:inline-flex; padding:.45rem .75rem; border-radius:999px; background:var(--tsfix-status,#666); color:#fff!important; font-weight:800; }
.tsfix-orderdetail__actions { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 20px; }
.tsfix-orderdetail__addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.tsfix-orderdetail__addresses article,
.tsfix-orderdetail__products,
.tsfix-orderdetail__totals { border:1px solid var(--ds-border,#3d3e48); border-radius:12px; background:var(--ds-surface,#17181d); color:var(--tsfix-dark-text); padding:16px; }
.tsfix-orderdetail__addresses h2,.tsfix-orderdetail__products h2 { font-size:1rem; margin:0 0 10px; }
.tsfix-orderdetail__product { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; gap:14px; align-items:center; padding:12px 0; border-top:1px solid var(--ds-border,#3d3e48); }
.tsfix-orderdetail__product:first-of-type { border-top:0; }
.tsfix-orderdetail__product > div:not(.tsfix-orderdetail__product-main) { display:grid; gap:2px; text-align:right; }
.tsfix-orderdetail__product span,.tsfix-orderdetail__product small { color:var(--tsfix-dark-muted)!important; }
.tsfix-orderdetail__product-main { display:grid; gap:4px; }
.tsfix-orderdetail__totals { margin-top:14px; margin-left:auto; max-width:420px; }
.tsfix-orderdetail__totals > div { display:flex; justify-content:space-between; gap:20px; padding:7px 0; }
.tsfix-orderdetail__grand { border-top:1px solid var(--ds-border,#3d3e48); font-size:1.1rem; }
@media(max-width:767.98px){
  .tsfix-orderdetail__head { display:grid; }
  .tsfix-orderdetail__addresses { grid-template-columns:1fr; }
  .tsfix-orderdetail__product { grid-template-columns:1fr 1fr; }
  .tsfix-orderdetail__product-main { grid-column:1/-1; }
  .tsfix-orderdetail__product > div:not(.tsfix-orderdetail__product-main) { text-align:left; }
}

/* =========================================================
   TwinShop Frontoffice Fix 1.0.15
   Global contrast pass for menu / account / checkout
   ========================================================= */
:root{
  --tsfix-page-text:var(--ds-text,#f4f4f7);
  --tsfix-page-muted:var(--ds-muted,#c9cad2);
  --tsfix-page-surface:var(--ds-surface,#17181d);
  --tsfix-page-surface-alt:var(--ds-surface-alt,#202129);
  --tsfix-page-border:var(--ds-border,#4a4c58);
  --tsfix-accent:var(--ds-accent,#e83b68);
  --tsfix-accent-contrast:var(--ds-accent-contrast,#fff);
}

/* ---------- Desktop mega menu ---------- */
@media (min-width:1200px){
  #header .submenu,
  #header .popover.sub-menu,
  #header .dropdown-menu,
  #header .ps-mainmenu__submenu{
    background:var(--ds-menu-bg,var(--tsfix-page-surface))!important;
    color:var(--ds-menu-text,var(--tsfix-page-text))!important;
  }
  #header .submenu a,
  #header .popover.sub-menu a,
  #header .dropdown-menu a,
  #header .ps-mainmenu__submenu a{
    color:var(--ds-menu-text,var(--tsfix-page-text))!important;
  }
  #header .submenu .current>a,
  #header .submenu .active>a,
  #header .submenu a[aria-current="page"],
  #header .popover.sub-menu .current>a,
  #header .popover.sub-menu .active>a,
  #header .popover.sub-menu a[aria-current="page"],
  #header .dropdown-menu .current>a,
  #header .dropdown-menu .active>a,
  #header .dropdown-menu a[aria-current="page"],
  #header .ps-mainmenu__submenu .current>a,
  #header .ps-mainmenu__submenu .active>a,
  #header .ps-mainmenu__submenu a[aria-current="page"]{
    background:var(--tsfix-accent)!important;
    color:var(--tsfix-accent-contrast)!important;
    border-color:var(--tsfix-accent)!important;
  }
  #header .submenu .current>a *,
  #header .submenu .active>a *,
  #header .submenu a[aria-current="page"] *,
  #header .popover.sub-menu .current>a *,
  #header .popover.sub-menu .active>a *,
  #header .popover.sub-menu a[aria-current="page"] *,
  #header .dropdown-menu .current>a *,
  #header .dropdown-menu .active>a *,
  #header .dropdown-menu a[aria-current="page"] *,
  #header .ps-mainmenu__submenu .current>a *,
  #header .ps-mainmenu__submenu .active>a *,
  #header .ps-mainmenu__submenu a[aria-current="page"] *{
    color:inherit!important;
  }
  /* Some menu modules use a white selected cell instead of an active class. */
  #header .submenu .bg-white,
  #header .popover.sub-menu .bg-white,
  #header .ps-mainmenu__submenu .bg-white{
    background:#fff!important;
    color:#17181d!important;
  }
  #header .submenu .bg-white *,
  #header .popover.sub-menu .bg-white *,
  #header .ps-mainmenu__submenu .bg-white *{
    color:#17181d!important;
  }
}

/* ---------- Account area base contrast ---------- */
body.page-customer-account,
body#addresses,
body#identity,
body#history,
body#order-detail,
body#my-account{
  color:var(--tsfix-page-text)!important;
}
body.page-customer-account .page-content,
body#addresses .page-content,
body#identity .page-content,
body#history .page-content,
body#order-detail .page-content,
body#my-account .page-content{
  color:var(--tsfix-page-text)!important;
}
body.page-customer-account .page-content h1,
body.page-customer-account .page-content h2,
body.page-customer-account .page-content h3,
body.page-customer-account .page-content h4,
body.page-customer-account .page-content p,
body.page-customer-account .page-content label,
body.page-customer-account .page-content legend,
body.page-customer-account .page-content td,
body.page-customer-account .page-content th{
  color:inherit;
}
body.page-customer-account .text-muted,
body.page-customer-account small,
body.page-customer-account .form-text{
  color:var(--tsfix-page-muted)!important;
  opacity:1!important;
}

/* ---------- Address cards ---------- */
body#addresses .address-card,
body#checkout .address-card,
body#order-confirmation .address-card{
  background:var(--tsfix-page-surface)!important;
  border-color:var(--tsfix-page-border)!important;
  color:var(--tsfix-page-text)!important;
}
body#addresses .address-card *,
body#checkout .address-card *,
body#order-confirmation .address-card *{
  color:inherit;
}
body#addresses .address-card .text-muted,
body#checkout .address-card .text-muted,
body#order-confirmation .address-card .text-muted{
  color:var(--tsfix-page-muted)!important;
}
/* Selected address is intentionally light: force dark text throughout it. */
body#addresses .address-card.selected,
body#addresses .address-card:has(input:checked),
body#checkout .address-card.selected,
body#checkout .address-card:has(input:checked),
body#order-confirmation .address-card.selected{
  background:#fff!important;
  color:#1a1b20!important;
}
body#addresses .address-card.selected *,
body#addresses .address-card:has(input:checked) *,
body#checkout .address-card.selected *,
body#checkout .address-card:has(input:checked) *,
body#order-confirmation .address-card.selected *{
  color:#1a1b20!important;
  opacity:1!important;
}
body#addresses .address-card.selected a,
body#addresses .address-card:has(input:checked) a,
body#checkout .address-card.selected a,
body#checkout .address-card:has(input:checked) a{
  color:#a81f45!important;
}

/* ---------- Identity/profile forms ---------- */
body#identity input:not([type=checkbox]):not([type=radio]),
body#identity textarea,
body#identity select,
body#identity .form-control,
body#identity .form-select,
body.page-customer-account input:not([type=checkbox]):not([type=radio]),
body.page-customer-account textarea,
body.page-customer-account select{
  background:var(--tsfix-page-surface-alt)!important;
  border-color:var(--tsfix-page-border)!important;
  color:var(--tsfix-page-text)!important;
  opacity:1!important;
}
body#identity input::placeholder,
body#identity textarea::placeholder,
body.page-customer-account input::placeholder,
body.page-customer-account textarea::placeholder{
  color:var(--tsfix-page-muted)!important;
  opacity:1!important;
}
body#identity input:disabled,
body#identity input[readonly],
body.page-customer-account input:disabled,
body.page-customer-account input[readonly]{
  color:var(--tsfix-page-muted)!important;
  -webkit-text-fill-color:var(--tsfix-page-muted)!important;
  opacity:1!important;
}

/* ---------- Order history: prevent dark-on-dark cells ---------- */
body#history .table,
body#history .table tbody,
body#history .table tr,
body#history .grid-table,
body#history .grid-table__row{
  color:var(--tsfix-page-text)!important;
}
body#history .table th,
body#history .table td,
body#history .grid-table__cell{
  color:var(--tsfix-page-text)!important;
  border-color:var(--tsfix-page-border)!important;
  opacity:1!important;
}
body#history .table td a:not(.btn),
body#history .table td span:not(.badge),
body#history .table td small,
body#history .grid-table__cell a:not(.btn),
body#history .grid-table__cell span:not(.badge),
body#history .grid-table__cell small{
  color:var(--tsfix-page-text)!important;
  opacity:1!important;
}
body#history .table td .text-muted,
body#history .grid-table__cell .text-muted{
  color:var(--tsfix-page-muted)!important;
}
body#history .badge,
body#history .order-status,
body#history .btn-primary,
body#history .btn-danger{
  color:#fff!important;
}

/* ---------- Checkout base ---------- */
body#checkout,
body#checkout #content,
body#checkout .checkout-step,
body#checkout .checkout-step section,
body#checkout .checkout-step .content{
  color:var(--tsfix-page-text)!important;
}
body#checkout h1,
body#checkout h2,
body#checkout h3,
body#checkout h4,
body#checkout p,
body#checkout label,
body#checkout legend,
body#checkout th,
body#checkout td{
  color:inherit;
}
body#checkout .text-muted,
body#checkout small{
  color:var(--tsfix-page-muted)!important;
  opacity:1!important;
}

/* White shipping/payment cards must always carry dark copy. */
body#checkout .delivery-option,
body#checkout .js-delivery-option,
body#checkout .payment-option,
body#checkout .js-payment-option,
body#checkout .carrier-extra-content,
body#checkout .delivery-option>label,
body#checkout .js-delivery-option>label{
  background:#fff!important;
  color:#1a1b20!important;
}
body#checkout .delivery-option *,
body#checkout .js-delivery-option *,
body#checkout .payment-option *,
body#checkout .js-payment-option *,
body#checkout .carrier-extra-content *{
  color:#1a1b20!important;
  opacity:1!important;
}
body#checkout .delivery-option .badge,
body#checkout .delivery-option .alert,
body#checkout .delivery-option .btn,
body#checkout .js-delivery-option .badge,
body#checkout .js-delivery-option .alert,
body#checkout .js-delivery-option .btn{
  color:inherit!important;
}
body#checkout .delivery-option .badge.bg-danger,
body#checkout .js-delivery-option .badge.bg-danger,
body#checkout .delivery-option .bg-danger,
body#checkout .js-delivery-option .bg-danger{
  color:#fff!important;
}

/* Checkout inputs on the dark page. */
body#checkout input:not([type=checkbox]):not([type=radio]),
body#checkout textarea,
body#checkout select,
body#checkout .form-control,
body#checkout .form-select{
  background:var(--tsfix-page-surface-alt)!important;
  border-color:var(--tsfix-page-border)!important;
  color:var(--tsfix-page-text)!important;
}
body#checkout input::placeholder,
body#checkout textarea::placeholder{
  color:var(--tsfix-page-muted)!important;
  opacity:1!important;
}

/* ---------- Final review / addresses / shipping summary ---------- */
body#checkout .order-addresses,
body#checkout .order-addresses article,
body#checkout .order-addresses .address,
body#checkout .order-addresses .address-card,
body#checkout .order-confirmation-table,
body#checkout .cart-summary,
body#checkout .card:not(.bg-white):not(.bg-light),
body#order-confirmation .card:not(.bg-white):not(.bg-light){
  background:var(--tsfix-page-surface)!important;
  color:var(--tsfix-page-text)!important;
  border-color:var(--tsfix-page-border)!important;
}
body#checkout .order-addresses *,
body#checkout .order-confirmation-table *,
body#checkout .cart-summary *{
  color:inherit;
}

/* Generic light utility surfaces inside account/checkout: dark foreground. */
body.page-customer-account .bg-white,
body.page-customer-account .bg-light,
body.page-customer-account .bg-body,
body.page-customer-account .bg-body-tertiary,
body#checkout .bg-white,
body#checkout .bg-light,
body#checkout .bg-body,
body#checkout .bg-body-tertiary{
  color:#1a1b20!important;
}
body.page-customer-account .bg-white *,
body.page-customer-account .bg-light *,
body.page-customer-account .bg-body *,
body.page-customer-account .bg-body-tertiary *,
body#checkout .bg-white *,
body#checkout .bg-light *,
body#checkout .bg-body *,
body#checkout .bg-body-tertiary *{
  color:#1a1b20!important;
}

/* Keep branded action controls readable after the broad contrast pass. */
body.page-customer-account .btn-primary,
body.page-customer-account .btn-primary *,
body#checkout .btn-primary,
body#checkout .btn-primary *,
body#checkout .badge.bg-primary,
body#checkout .badge.bg-danger,
body#checkout .badge.bg-success{
  color:#fff!important;
}
body.page-customer-account .btn-outline-primary,
body#checkout .btn-outline-primary{
  color:var(--tsfix-accent)!important;
  border-color:var(--tsfix-accent)!important;
}
body.page-customer-account .btn-outline-primary:hover,
body#checkout .btn-outline-primary:hover{
  background:var(--tsfix-accent)!important;
  color:var(--tsfix-accent-contrast)!important;
}

/* Newsletter footer: never pale text on pale background. */
.ps-emailsubscription,
.footer__before .ps-emailsubscription{
  background:var(--tsfix-page-surface)!important;
  color:var(--tsfix-page-text)!important;
}
.ps-emailsubscription p,
.ps-emailsubscription label,
.ps-emailsubscription small,
.ps-emailsubscription .text-muted{
  color:var(--tsfix-page-text)!important;
  opacity:1!important;
}
.ps-emailsubscription input[type=email],
.ps-emailsubscription .form-control{
  background:#fff!important;
  color:#1a1b20!important;
}


/* =========================================================
   TwinShop Frontoffice Fix 1.0.16
   Hover states + Dessou24 light-page contrast + larger compact header logo
   ========================================================= */

/* Desktop account dropdown + mega-menu: never white text on white hover. */
@media (min-width:1200px) {
  #header .dropdown-menu .dropdown-item:hover,
  #header .dropdown-menu .dropdown-item:focus,
  #header .dropdown-menu .dropdown-item.active,
  #header .dropdown-menu a:hover,
  #header .dropdown-menu a:focus,
  #header .dropdown-menu .active > a,
  #header .submenu a:hover,
  #header .submenu a:focus,
  #header .submenu .current > a,
  #header .submenu .active > a,
  #header .popover.sub-menu a:hover,
  #header .popover.sub-menu a:focus,
  #header .popover.sub-menu .current > a,
  #header .popover.sub-menu .active > a,
  #header .ps-mainmenu__submenu a:hover,
  #header .ps-mainmenu__submenu a:focus,
  #header .ps-mainmenu__submenu .current > a,
  #header .ps-mainmenu__submenu .active > a,
  #header .submenu .bg-white,
  #header .popover.sub-menu .bg-white,
  #header .ps-mainmenu__submenu .bg-white {
    background:var(--tsfix-accent,#e83b68)!important;
    color:var(--tsfix-accent-contrast,#fff)!important;
  }
  #header .dropdown-menu .dropdown-item:hover *,
  #header .dropdown-menu .dropdown-item:focus *,
  #header .dropdown-menu .dropdown-item.active *,
  #header .dropdown-menu a:hover *,
  #header .dropdown-menu a:focus *,
  #header .submenu a:hover *,
  #header .submenu a:focus *,
  #header .submenu .current > a *,
  #header .submenu .active > a *,
  #header .popover.sub-menu a:hover *,
  #header .popover.sub-menu a:focus *,
  #header .ps-mainmenu__submenu a:hover *,
  #header .ps-mainmenu__submenu a:focus *,
  #header .submenu .bg-white *,
  #header .popover.sub-menu .bg-white *,
  #header .ps-mainmenu__submenu .bg-white * {
    color:inherit!important;
  }
}

/* Mobile + tablet: logo bigger, icons closer without changing order. */
@media (max-width:599.98px) {
  #header .tsfix-responsive-header {
    grid-template-columns:46px minmax(118px,1fr) 44px 44px 68px!important;
    gap:1px!important;
    padding-inline:3px!important;
  }
  #header .tsfix-header-logo img {
    max-height:52px!important;
    max-width:100%!important;
  }
  #header .tsfix-header-icon {
    width:23px!important;
    height:23px!important;
    font-size:23px!important;
    line-height:23px!important;
  }
}
@media (min-width:600px) and (max-width:1199.98px) {
  #header .tsfix-responsive-header { gap:5px!important; }
  #header .tsfix-header-item--menu { flex-basis:60px!important; width:60px!important; }
  #header .tsfix-header-logo {
    flex:0 1 230px!important;
    width:230px!important;
    max-width:230px!important;
  }
  #header .tsfix-header-logo img { max-height:64px!important; }
  #header .tsfix-header-item--search,
  #header .tsfix-header-item--account { flex-basis:64px!important; width:64px!important; }
  #header .tsfix-header-item--cart { flex-basis:88px!important; width:88px!important; }
}

/* Dessou24 uses light account/cart/product pages. Give those pages their own
   readable semantic palette instead of inheriting Fesselliebe's dark tokens. */
html.tsfix-shop-dessou24 body#authentication,
html.tsfix-shop-dessou24 body#cart,
html.tsfix-shop-dessou24 body#product,
html.tsfix-shop-dessou24 body#checkout,
html.tsfix-shop-dessou24 body.page-customer-account {
  --tsfix-page-text:#281a22;
  --tsfix-page-muted:#66535e;
  --tsfix-page-surface:#ffffff;
  --tsfix-page-surface-alt:#f8f2f5;
  --tsfix-page-border:#d9c9d1;
  color:var(--tsfix-page-text)!important;
}

/* Dessou24 authentication */
html.tsfix-shop-dessou24 body#authentication,
html.tsfix-shop-dessou24 body#authentication #wrapper,
html.tsfix-shop-dessou24 body#authentication main,
html.tsfix-shop-dessou24 body#authentication .page-wrapper {
  background:#f7f1f4!important;
  color:#281a22!important;
}
html.tsfix-shop-dessou24 body#authentication .page-header,
html.tsfix-shop-dessou24 body#authentication .page-header h1,
html.tsfix-shop-dessou24 body#authentication h1,
html.tsfix-shop-dessou24 body#authentication h2,
html.tsfix-shop-dessou24 body#authentication h3,
html.tsfix-shop-dessou24 body#authentication label,
html.tsfix-shop-dessou24 body#authentication p,
html.tsfix-shop-dessou24 body#authentication .forgot-password a,
html.tsfix-shop-dessou24 body#authentication .no-account,
html.tsfix-shop-dessou24 body#authentication .no-account a {
  color:#281a22!important;
  opacity:1!important;
}
html.tsfix-shop-dessou24 body#authentication .page-content,
html.tsfix-shop-dessou24 body#authentication .login-form,
html.tsfix-shop-dessou24 body#authentication .card {
  background:#fff!important;
  color:#281a22!important;
  border-color:#d9c9d1!important;
}
html.tsfix-shop-dessou24 body#authentication input,
html.tsfix-shop-dessou24 body#authentication .form-control {
  background:#fff!important;
  color:#281a22!important;
  border-color:#bda8b3!important;
  -webkit-text-fill-color:#281a22!important;
}
html.tsfix-shop-dessou24 body#authentication input::placeholder { color:#766570!important; opacity:1!important; }

/* Dessou24 cart – totals must never disappear on the pale summary card. */
html.tsfix-shop-dessou24 body#cart,
html.tsfix-shop-dessou24 body#cart #wrapper,
html.tsfix-shop-dessou24 body#cart main {
  background:#f7f1f4!important;
  color:#281a22!important;
}
html.tsfix-shop-dessou24 body#cart .cart-grid-body,
html.tsfix-shop-dessou24 body#cart .cart-grid-right,
html.tsfix-shop-dessou24 body#cart .cart-summary,
html.tsfix-shop-dessou24 body#cart .cart-summary-totals,
html.tsfix-shop-dessou24 body#cart .cart-detailed-totals,
html.tsfix-shop-dessou24 body#cart .card,
html.tsfix-shop-dessou24 body#cart .cart-overview {
  background:#fff!important;
  color:#281a22!important;
  border-color:#d9c9d1!important;
}
html.tsfix-shop-dessou24 body#cart .cart-summary-line,
html.tsfix-shop-dessou24 body#cart .cart-summary-line .label,
html.tsfix-shop-dessou24 body#cart .cart-summary-line .value,
html.tsfix-shop-dessou24 body#cart .cart-summary-subtotals-container,
html.tsfix-shop-dessou24 body#cart .cart-summary-subtotals-container *,
html.tsfix-shop-dessou24 body#cart .cart-detailed-totals *,
html.tsfix-shop-dessou24 body#cart .cart-summary-products,
html.tsfix-shop-dessou24 body#cart .cart-summary-products * {
  background:transparent!important;
  color:#281a22!important;
  opacity:1!important;
}
html.tsfix-shop-dessou24 body#cart .cart-summary-line { border-color:#e3d8de!important; }
html.tsfix-shop-dessou24 body#cart .cart-summary .btn-primary,
html.tsfix-shop-dessou24 body#cart .checkout .btn-primary {
  color:#fff!important;
}

/* Dessou24 product page */
html.tsfix-shop-dessou24 body#product,
html.tsfix-shop-dessou24 body#product #wrapper,
html.tsfix-shop-dessou24 body#product main {
  background:#f7f1f4!important;
  color:#281a22!important;
}
html.tsfix-shop-dessou24 body#product .product-information,
html.tsfix-shop-dessou24 body#product .product-information *,
html.tsfix-shop-dessou24 body#product .product-prices,
html.tsfix-shop-dessou24 body#product .product-prices *,
html.tsfix-shop-dessou24 body#product .product-description,
html.tsfix-shop-dessou24 body#product .product-description *,
html.tsfix-shop-dessou24 body#product h1,
html.tsfix-shop-dessou24 body#product h2,
html.tsfix-shop-dessou24 body#product h3,
html.tsfix-shop-dessou24 body#product label {
  color:#281a22!important;
  opacity:1!important;
}
html.tsfix-shop-dessou24 body#product .product-cover,
html.tsfix-shop-dessou24 body#product .product-images,
html.tsfix-shop-dessou24 body#product .product-image,
html.tsfix-shop-dessou24 body#product .product-cover img {
  background:#fff!important;
}

/* Dessou24 checkout/account light cards and inputs */
html.tsfix-shop-dessou24 body#checkout .checkout-step,
html.tsfix-shop-dessou24 body#checkout .checkout-step section,
html.tsfix-shop-dessou24 body#checkout .checkout-step .content,
html.tsfix-shop-dessou24 body.page-customer-account .page-content {
  color:#281a22!important;
}
html.tsfix-shop-dessou24 body#checkout input:not([type=checkbox]):not([type=radio]),
html.tsfix-shop-dessou24 body#checkout textarea,
html.tsfix-shop-dessou24 body#checkout select,
html.tsfix-shop-dessou24 body.page-customer-account input:not([type=checkbox]):not([type=radio]),
html.tsfix-shop-dessou24 body.page-customer-account textarea,
html.tsfix-shop-dessou24 body.page-customer-account select {
  background:#fff!important;
  color:#281a22!important;
  -webkit-text-fill-color:#281a22!important;
  border-color:#bda8b3!important;
}

/* Fallback order detail must have readable surfaces in both themes. */
.tsfix-orderdetail--error .alert-warning {
  background:#fff3cd!important;
  color:#493b08!important;
  border-color:#ffe69c!important;
}
