/* Linke Shop — child of Classic for PrestaShop 9.0.1
   Visual style from the approved static preview. Accent HKGGZ red. */
:root {
  --red: #d1050a;
  --red-deep: #9b0408;
  --ink: #141414;
  --ink-soft: #333333;
  --mute: #6d6d6d;
  --line: #e5e5e5;
  --line-strong: #d2d2d2;
  --paper: #ffffff;
  --canvas: #f4f4f4;
  --max: 1200px;
  --side: 260px;
  --font: "PingFang TC", "Hiragino Sans CNS", "Noto Sans TC", "Microsoft JhengHei", "Heiti TC", ui-sans-serif, system-ui, sans-serif;
}

body,
#index, #category, #product, #cart, #checkout, #cms, #contact, #authentication,
#my-account, #history, #order-detail, #pagenotfound, #search, #prices-drop,
#new-products, #best-sales, #manufacturer, #supplier, #module-productcomments {
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ink); }
a:hover, a:focus { color: var(--red); }

.container,
.container-fluid .container,
#header .container,
#wrapper .container,
#footer .container,
.wrap {
  width: min(var(--max), calc(100% - 32px));
  max-width: var(--max);
  margin-left: auto;
  margin-right: auto;
}

#wrapper { background: var(--canvas); padding-bottom: 8px; }
#wrapper .breadcrumb { background: transparent; padding-left: 0; }

/* Buttons */
.btn-primary,
.btn-secondary,
input.btn.btn-primary,
button.btn.btn-primary,
.btn.btn-primary,
#add-to-cart-or-refresh button.add-to-cart,
.product-add-to-cart .add-to-cart,
.cart-detailed-actions .btn,
#checkout .continue,
#payment-confirmation button,
.search-widget form button,
#search_widget form button {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #fff !important;
  border-radius: 0;
  font-weight: 700;
  text-transform: none;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-secondary:hover,
.search-widget form button:hover,
#search_widget form button:hover,
#add-to-cart-or-refresh button.add-to-cart:hover,
.cart-detailed-actions .btn:hover,
#checkout .continue:hover,
#payment-confirmation button:hover {
  background: var(--red-deep) !important;
  border-color: var(--red-deep) !important;
  color: #fff !important;
}

.form-control:focus,
input:focus, select:focus, textarea:focus {
  border-color: var(--red);
  outline-color: var(--red);
  box-shadow: 0 0 0 3px rgba(209, 5, 10, 0.12);
}

.product-price,
.product-price-and-shipping .price,
.current-price,
.product-prices .current-price,
.current-price-value,
.cart-item .product-price,
.cart-summary-line .value,
#cart-subtotal-products .value,
.card-block .product-price,
.product-line-price {
  color: var(--red) !important;
  font-weight: 750;
}

/* ========== Header ========== */
#header {
  background: var(--paper);
  box-shadow: none;
  border-bottom: 0;
}
#header .header-banner:empty { display: none; }

.topbar,
#header .header-nav {
  background: var(--ink) !important;
  color: #f0f0f0;
  font-size: 13px;
  margin: 0;
  min-height: 36px;
  border: 0;
  padding: 0;
}
#header .header-nav .container,
.topbar .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
  gap: 16px;
}
.topbar a,
#header .header-nav a,
#header .header-nav .expand-more,
#header .header-nav span,
#header .header-nav .user-info,
#header .header-nav .currency-selector,
#header .header-nav .language-selector,
#header .header-nav .contact-link a {
  color: #f0f0f0 !important;
}
#header .header-nav a:hover { color: #fff !important; }
.top-right,
#header .header-nav .top-right,
#header .right-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}
#header .header-nav .material-icons { color: #f0f0f0; font-size: 18px; }

.masthead-wrap,
#header .header-top {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  padding: 0;
  margin: 0;
}
#header .header-top .container,
.masthead {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 16px 0;
  width: min(var(--max), calc(100% - 32px));
}
#header .logo,
#header #_desktop_logo,
#header #_desktop_logo h1 {
  margin: 0;
  padding: 0;
  line-height: 0;
  background: none;
}
#header .logo img,
#header #_desktop_logo img {
  width: auto;
  max-width: 200px;
  height: 40px;
  object-fit: contain;
}
#header .header-top-right {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: flex-end;
}
#header .header-top-right > * { margin: 0; }

/* Search — red border, red button */
#header #search_widget,
#header .search-widget,
#search_widget {
  flex: 1;
  max-width: 560px;
  margin: 0 auto 0 0;
  width: 100%;
}
#search_widget form,
#header .search-widget form {
  display: flex;
  width: 100%;
  border: 2px solid var(--red);
  background: #fff;
  overflow: hidden;
  border-radius: 0;
  margin: 0;
}
#search_widget form input[type="text"],
#header .search-widget form input[type="text"] {
  flex: 1;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0;
  background: transparent;
  padding: 10px 14px;
  min-width: 0;
  height: 40px;
}
#search_widget form button,
#header .search-widget form button {
  border: 0 !important;
  border-radius: 0;
  background: var(--red) !important;
  color: #fff !important;
  padding: 0 18px;
  min-width: 48px;
  height: 40px;
  display: grid;
  place-items: center;
}
#search_widget form button .material-icons { color: #fff; font-size: 20px; }

/* Cart */
#header .blockcart,
#header #_desktop_cart,
#header .blockcart .header,
#header .blockcart a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--ink) !important;
  background: none !important;
  padding: 0;
  border: 0;
}
#header .blockcart a:hover { color: var(--red) !important; }
#header .blockcart .material-icons { font-size: 26px; color: inherit; }
#header .blockcart .cart-products-count,
#header .cart-products-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 11px;
  line-height: 18px;
  font-weight: 700;
  position: relative;
  top: -8px;
  margin-left: -6px;
}

.menu-toggle {
  display: none;
  border: 1px solid var(--line);
  background: var(--paper);
  width: 40px;
  height: 40px;
  border-radius: 4px;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  padding: 0;
}
.menu-toggle .material-icons { font-size: 22px; }

/* ========== Category side menu ========== */
.catside,
#left-column .block-categories {
  background: var(--paper);
  border: 1px solid var(--line);
  align-self: stretch;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none;
}
.catside-title,
#left-column .block-categories .catside-title,
.block-categories .catside-title {
  background: var(--red);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 12px 16px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-transform: none;
}
.cat-list,
.block-categories .category-sub-menu,
.block-categories .cat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.block-categories .cat-list a,
.block-categories .category-sub-menu > li > a,
.block-categories .cat-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 16px;
  border-top: 1px solid var(--line);
  font-weight: 600;
  color: var(--ink);
  text-transform: none;
}
.block-categories .cat-list a:hover,
.block-categories .cat-link:hover,
.block-categories a:hover {
  color: var(--red);
}
.block-categories .cat-group > .category-sub-menu,
.block-categories li.cat-group > ul.category-sub-menu {
  background: #fafafa;
  display: none;
  padding: 0;
  margin: 0;
}
.block-categories .cat-group:hover > .category-sub-menu,
.block-categories .cat-group:focus-within > .category-sub-menu {
  display: block;
}
.block-categories .category-sub-menu .category-sub-menu a,
.block-categories .category-sub-link {
  padding: 8px 16px 8px 28px;
  font-weight: 500;
  color: var(--ink-soft);
  border-top: 1px dotted var(--line);
  display: block;
}
.block-categories .caret,
.block-categories .material-icons.caret {
  font-size: 16px;
  opacity: .7;
  width: auto;
  height: auto;
}

/* Header copy of the tree is off-canvas on mobile only */
.header-catside {
  display: none;
}
.header-catside .close-nav {
  display: none;
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 4px;
  background: transparent;
  color: #fff;
  z-index: 2;
  place-items: center;
  padding: 0;
}
.header-catside .close-nav .material-icons { color: #fff; font-size: 20px; }
.header-catside { position: relative; }

.nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(20,20,20,.4);
  z-index: 70;
}

/* ========== Homepage ========== */
.page-home,
#content.page-home,
#content.page-content.page-home {
  background: transparent;
  box-shadow: none;
  border: 0;
  padding: 0;
  margin: 0;
}
#index #content-wrapper { padding: 0; }
#index #wrapper .container { padding-left: 0; padding-right: 0; width: min(var(--max), calc(100% - 32px)); }

.home-top {
  display: grid;
  grid-template-columns: var(--side) 1fr;
  gap: 20px;
  padding: 20px 0 8px;
  align-items: stretch;
}

.hero-slide {
  margin: 0;
  background: #000;
  border: 1px solid var(--line);
  min-height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}
.hero-slide #carousel,
.hero-slide .carousel,
#index .hero-slide .carousel-inner,
#index .hero-slide .carousel-item,
#index .hero-slide figure,
#index .hero-slide a {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  width: 100%;
  margin: 0;
}
.hero-slide img {
  width: 100%;
  flex: 1 1 auto;
  min-height: 220px;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
  background: #000;
}
.hero-slide .caption,
.hero-slide figcaption.caption {
  position: static;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
  background: #0f0f0f;
  color: #fff;
  text-align: left;
  width: 100%;
  max-width: none;
}
.hero-slide .caption .display-1,
.hero-slide .caption h2 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-transform: none;
  margin: 0;
  letter-spacing: 0;
}
.hero-slide .caption-description { color: #bbb; font-size: 13px; }
.hero-slide .carousel-indicators { bottom: 64px; }
.hero-slide .carousel-control,
.hero-slide .direction .carousel-control {
  color: #fff;
  opacity: .85;
}
.hero-slide .icon-prev, .hero-slide .icon-next { background: rgba(0,0,0,.35); }

.section { padding: 22px 0 8px; }

.headline,
.linke-specials .headline,
h2.headline {
  text-align: center;
  font-size: 22px;
  font-weight: 750;
  margin: 8px 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-transform: none !important;
  letter-spacing: 0;
  color: var(--ink);
}
.headline::before, .headline::after {
  content: "";
  height: 2px;
  width: 48px;
  background: var(--red);
}

/* Specials as three horizontal offer cards */
.home-specials .featured-products,
.linke-specials {
  padding: 0;
  margin: 0;
}
.home-specials .products,
.linke-specials .products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 0;
}
.home-specials .products .product,
.linke-specials .products .product {
  width: 100%;
  max-width: none;
  flex: none;
  padding: 0;
  margin: 0;
  float: none;
}
.home-specials .product-miniature,
.linke-specials .product-miniature {
  background: var(--paper);
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 0;
  min-height: 150px;
  padding: 0;
  margin: 0;
  box-shadow: none;
  height: 100%;
}
.home-specials .product-miniature:hover,
.linke-specials .product-miniature:hover {
  border-color: var(--red);
  box-shadow: 0 8px 20px rgba(20,20,20,.06);
}
.home-specials .thumbnail-container,
.linke-specials .thumbnail-container {
  display: contents;
}
.home-specials .thumbnail-top,
.linke-specials .thumbnail-top {
  background: #f7f7f7;
  display: grid;
  place-items: center;
  margin: 0;
}
.home-specials .product-thumbnail,
.linke-specials .product-thumbnail {
  aspect-ratio: auto;
  width: 100%;
  height: 150px;
}
.home-specials .product-thumbnail picture,
.linke-specials .product-thumbnail picture {
  height: 100%;
}
.home-specials .product-thumbnail img,
.linke-specials .product-thumbnail img,
.home-specials .product-thumbnail picture img,
.linke-specials .product-thumbnail picture img {
  width: 100%;
  height: 150px;
  object-fit: contain;
  object-position: center;
  padding: 8px;
}
.home-specials .product-description,
.linke-specials .product-description {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.home-specials .product-title,
.linke-specials .product-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  min-height: 0;
}
.home-specials .product-price-and-shipping,
.linke-specials .product-price-and-shipping {
  margin-top: auto;
  padding-top: 8px;
  font-size: 18px;
}
.home-specials .highlighted-informations,
.home-specials .all-product-link,
.linke-specials .all-product-link,
.home-specials .product-flags,
.linke-specials .quick-view {
  display: none;
}

/* Featured / bestseller tabs */
.home-tabs .tab-heads {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.home-tabs .tab-heads button {
  background: none;
  border: 0;
  padding: 10px 22px;
  font-size: 16px;
  font-weight: 700;
  color: var(--mute);
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
}
.home-tabs .tab-heads button.is-active {
  color: var(--red);
  border-bottom-color: var(--red);
}
.home-tabs .tab-panel { display: none; }
.home-tabs .tab-panel.is-active { display: block; }
.home-tabs .products-section-title,
.home-tabs .all-product-link {
  display: none !important;
}
.home-tabs .featured-products { padding: 0; margin: 0; }

/* Product grid (tabs, listings) */
.home-tabs .products,
#products .products,
.featured-products .products,
.product-accessories .products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0;
}
.home-tabs .products .product,
#products .products .product,
.featured-products .products .product,
.product-accessories .products .product,
.products.row > .product,
.products .js-product.product {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding: 0;
  float: none;
  margin: 0;
}
.product-miniature,
#products .product-miniature,
.featured-products .product-miniature {
  background: var(--paper);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-shadow: none;
  padding: 0;
  height: 100%;
}
.product-miniature:hover {
  border-color: var(--red);
  box-shadow: 0 8px 20px rgba(20,20,20,.06);
}
.thumbnail-container {
  border: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--paper);
}
.thumbnail-top {
  position: relative;
  display: block;
  background: #f7f7f7;
  margin: 0;
  aspect-ratio: auto;
}
.product-thumbnail {
  position: relative;
  display: block;
  background: #f7f7f7;
  aspect-ratio: 1;
  overflow: hidden;
  margin: 0;
}
.product-thumbnail picture {
  display: block;
  width: 100%;
  height: 100%;
}
.product-thumbnail img,
.product-thumbnail picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  padding: 12px;
  max-width: 100%;
}
.product-description {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  text-align: left;
}
.product-title,
.h3.product-title {
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.9em;
  text-align: left;
  margin: 0;
}
.product-price-and-shipping { margin-top: auto; font-size: 16px; }
.product-flags .new,
.product-flags .on-sale,
.product-flags .discount,
.product-flags .out_of_stock,
.product-flags li {
  background: var(--ink);
  border-radius: 0;
  font-size: 11px;
  font-weight: 700;
}
.product-flags .out_of_stock { background: #5b5b5b; }
.highlighted-informations { display: none; }

/* Repair band — centered, no Price banner */
.repair-band {
  margin: 20px auto 28px;
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 18px 22px;
  text-align: center;
}
.repair-band h2 {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  color: var(--ink);
  text-transform: none;
}
.repair-band .sub { margin-top: 4px; font-weight: 650; }
.repair-band .sub a { color: var(--red); }
.repair-band .en { color: var(--mute); margin-top: 2px; margin-bottom: 0; }

/* ========== Listing / product / cart chrome ========== */
#left-column {
  padding-top: 0;
}
#left-column .block { background: var(--paper); border: 1px solid var(--line); }
.page-header h1,
#js-product-list-header h1,
.block-category h1 { font-weight: 750; }

#product #content,
.page-product #content,
#main .page-product {
  background: var(--paper);
}
#product .current-price { font-size: 26px; }

/* Product and cart: do not leave an empty left sidebar. */
#product #left-column,
#cart #left-column {
  display: none;
}
#product #content-wrapper,
#cart #content-wrapper,
#product #content-wrapper.left-column,
#cart #content-wrapper.left-column {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Product gallery — Classic 3 / PS 9 wraps images in <picture>. */
#product .images-container,
#product .js-images-container {
  margin-bottom: 16px;
}
#product .product-cover,
#product .product-cover picture {
  display: block;
  position: relative;
  width: 100%;
  background: #f7f7f7;
}
#product .product-cover {
  aspect-ratio: 1;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid var(--line);
}
#product .product-cover img,
#product .product-cover picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #f7f7f7;
}
#product .product-cover .layer {
  width: 100%;
  height: 100%;
}
#product .js-qv-mask.mask,
#product .product-images,
#product .js-qv-product-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: visible;
  white-space: normal;
}
#product .product-images > li.thumb-container,
#product li.thumb-container {
  display: block;
  flex: 0 0 calc((100% - 32px) / 5);
  width: calc((100% - 32px) / 5);
  max-width: 98px;
  margin: 0;
  float: none;
}
#product .thumb-container picture {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  background: #f7f7f7;
  border: 1px solid var(--line);
}
#product .thumb-container .thumb,
#product .thumb-container picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0;
  cursor: pointer;
}
#product .thumb-container .thumb.selected,
#product .thumb-container .js-thumb-selected,
#product .thumb-container picture:has(.selected),
#product .thumb-container:has(.selected) picture {
  border-color: var(--red);
  border-width: 2px;
}

/* ========== Footer ========== */
#footer,
#footer.js-footer,
.footer-container {
  margin-top: 24px;
  background: var(--paper) !important;
  border-top: 3px solid var(--red);
  box-shadow: none;
  padding: 0;
}
#footer .container { padding-top: 8px; }
.footer-before-row,
#footer .links,
#footer .block_newsletter,
#footer .ps-social {
  /* newsletter + social sit in displayFooterBefore */
}
#footer .block_newsletter {
  max-width: 520px;
}
#footer .block_newsletter form,
#footer .block_newsletter .input-wrapper {
  display: flex;
  gap: 0;
  max-width: 460px;
}
#footer .block_newsletter input[type="email"] {
  flex: 1;
  border: 1px solid var(--line-strong);
  border-right: 0;
  border-radius: 0;
  padding: 10px 12px;
  height: auto;
}
#footer .block_newsletter button,
#footer .block_newsletter input[type="submit"] {
  border-radius: 0;
}
/* Footer columns: flex rather than a 4-col grid, so wishlist modals and
   Classic .row wrappers cannot squeeze Chinese text into a vertical line. */
#footer .footer-container {
  overflow: visible;
}
.footer-before-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 16px 0 8px;
}
.footer-before-row > .block_newsletter,
.footer-before-row > .block-social {
  width: auto;
  max-width: none;
  float: none;
  padding: 0;
}
.footer-before-row > .block_newsletter { flex: 2 1 420px; }
.footer-before-row > .block-social { flex: 1 1 200px; }

#footer .footer-cols {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 24px 32px;
  padding: 16px 0 24px;
  width: 100%;
  margin: 0;
}
#footer .footer-cols > .links {
  flex: 2 1 420px;
  width: auto;
  max-width: none;
  padding: 0;
}
#footer .footer-cols > .links > .row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 32px;
  margin: 0;
  width: 100%;
}
#footer .footer-cols > [class*="col-"],
#footer .footer-cols > .links > .row > [class*="col-"],
#footer .footer-cols > #block_myaccount_infos,
#footer .footer-cols > .block-contact {
  flex: 1 1 180px;
  width: auto;
  max-width: none;
  float: none;
  padding: 0;
  min-width: 160px;
}
#footer .footer-cols ul,
#footer .footer-cols li,
#footer .footer-cols a,
#footer .footer-cols p,
#footer .footer-cols .h3,
#footer .footer-cols h3,
#footer .footer-cols h4,
#footer .block-contact,
#footer .block-contact #contact-infos {
  writing-mode: horizontal-tb;
  word-break: normal;
  overflow-wrap: break-word;
  white-space: normal;
}
@media (min-width: 768px) {
  #footer .footer-cols .collapse,
  #footer .block-contact .collapse,
  #footer .links .collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    overflow: visible !important;
  }
}
#footer .footer-cols > .wishlist-add-to,
#footer .footer-cols > .wishlist-delete {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  flex: 0 0 0;
  min-width: 0;
  pointer-events: none;
}
#footer .wishlist-add-to .modal:not(.show):not(.in),
#footer .wishlist-delete .modal:not(.show):not(.in),
#footer .wishlist-add-to .modal-backdrop:not(.in):not(.show),
#footer .wishlist-delete .modal-backdrop:not(.in):not(.show) {
  display: none !important;
  pointer-events: none !important;
}
#footer .wishlist-add-to .modal.show,
#footer .wishlist-add-to .modal.in,
#footer .wishlist-delete .modal.show,
#footer .wishlist-delete .modal.in,
#footer .wishlist-add-to .modal-backdrop.in,
#footer .wishlist-add-to .modal-backdrop.show,
#footer .wishlist-delete .modal-backdrop.in,
#footer .wishlist-delete .modal-backdrop.show {
  pointer-events: auto !important;
}
#footer .block-social ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
#footer .h3, #footer h3, #footer h4, #footer .block-contact .h4 {
  font-size: 13px;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  color: var(--ink);
  text-transform: none;
}
#footer a, #footer p, #footer li {
  color: var(--ink-soft);
  font-size: 13px;
}
#footer a:hover { color: var(--red); }
.foot-bottom {
  border-top: 1px solid var(--line);
  padding: 12px 0 16px;
  font-size: 12px;
  color: var(--mute);
}
.foot-bottom a { color: var(--ink-soft); }

/* WhatsApp — official booking link unchanged */
.wa {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 70;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #25d366;
  color: #fff !important;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 20px rgba(20,20,20,.18);
}
.wa:hover { background: #1fb855; color: #fff !important; }
.wa svg { width: 28px; height: 28px; fill: #fff; }
.wa-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Hide leftover Classic homepage decorations if still hooked */
#index #content .banner,
#index #content a.banner,
#index #content .ps-banner {
  display: none !important;
}

/* Pagination / facets accent */
.page-list .current a,
.pagination .current a,
.page-item.active .page-link {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #fff !important;
}

/* Checkout: keep Classic layout, only accent color */
#checkout #header,
#checkout #footer { /* inherit */ }
#checkout .btn-primary,
#checkout-guest-form .btn,
#customer-form .form-footer .btn,
.js-address-form .btn,
#checkout-payment-step button {
  background: var(--red) !important;
  border-color: var(--red) !important;
}

/* Responsive */
@media (max-width: 1020px) {
  .home-tabs .products,
  #products .products,
  .featured-products .products {
    grid-template-columns: repeat(3, 1fr);
  }
  .home-specials .products,
  .linke-specials .products { grid-template-columns: 1fr; }
  #footer .footer-cols > .links,
  #footer .footer-cols > [class*="col-"],
  #footer .footer-cols > #block_myaccount_infos,
  #footer .footer-cols > .block-contact { flex: 1 1 220px; }
}
@media (max-width: 820px) {
  .home-top { grid-template-columns: 1fr; }
  .home-catside { display: none; }
  #left-column .block-categories { display: none; }
  .menu-toggle { display: inline-flex; }
  #header .header-top .container,
  .masthead {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 0;
  }
  #header .logo img,
  #header #_desktop_logo img { height: 30px; }
  #header #search_widget,
  #header .search-widget {
    flex: 1 1 100%;
    max-width: none;
    order: 5;
  }
  .header-catside {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: min(86vw, 320px);
    z-index: 90;
    overflow: auto;
    box-shadow: 12px 0 30px rgba(20,20,20,.15);
    margin: 0;
  }
  body.nav-open .header-catside { display: block; }
  body.nav-open .nav-backdrop { display: block; }
  body.nav-open .header-catside .close-nav { display: grid; }
  .header-catside .catside-title { padding-right: 52px; }
  .block-categories .cat-group > .category-sub-menu { display: block; }
  .home-tabs .products,
  #products .products,
  .featured-products .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .headline { font-size: 18px; }
  #footer .footer-cols,
  #footer .footer-cols > .links > .row,
  .footer-before-row { flex-direction: column; }
  #footer .footer-cols > .links,
  #footer .footer-cols > [class*="col-"],
  #footer .footer-cols > #block_myaccount_infos,
  #footer .footer-cols > .block-contact,
  .footer-before-row > .block_newsletter,
  .footer-before-row > .block-social { flex: 1 1 auto; min-width: 0; width: 100%; }
}
@media (max-width: 420px) {
  .home-specials .product-miniature,
  .linke-specials .product-miniature { grid-template-columns: 1fr; }
  .home-specials .product-thumbnail img,
  .linke-specials .product-thumbnail img { height: 160px; }
}


/* ========== v1.4 layout fixes ==========
   Listing images were left-aligned because Classic sets
   .product-thumbnail { height: calc(100% - 70px) } and
   img { height: auto; max-width: 100% }, beating the earlier rules.
   Product descriptions contain pasted eBay / Word HTML (fixed widths,
   empty <p> spacers) that overflowed and opened huge vertical gaps. */

.product-miniature,
#products .product-miniature,
.featured-products .product-miniature,
.product-accessories .product-miniature {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100%;
}

.product-miniature .thumbnail-container,
#products .product-miniature .thumbnail-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  margin-bottom: 0 !important;
  overflow: hidden;
  background: var(--paper);
}

.product-miniature .thumbnail-top {
  width: 100%;
  position: relative;
  background: #f7f7f7;
}

.product-miniature .thumbnail-container .product-thumbnail,
.product-miniature .product-thumbnail,
a.thumbnail.product-thumbnail {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f7f7f7;
  margin: 0;
}

.product-miniature .thumbnail-container .product-thumbnail picture,
.product-miniature .product-thumbnail picture,
a.thumbnail.product-thumbnail picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.product-miniature .thumbnail-container .product-thumbnail img,
.product-miniature .thumbnail-container .product-thumbnail picture img,
.product-miniature .product-thumbnail img,
a.thumbnail.product-thumbnail img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  display: block !important;
  padding: 10px;
  box-sizing: border-box;
}

.product-miniature .product-description {
  position: static !important;
  width: 100%;
  height: auto !important;
  padding: 12px 14px 14px !important;
  text-align: left;
}

.product-miniature .product-title,
.product-miniature .h3.product-title,
.product-miniature .product-title a {
  text-align: left;
  text-transform: none !important;
  word-break: normal;
  overflow-wrap: break-word;
  color: var(--ink);
}

/* Category header: Classic reserves 13.75rem even with no cover image. */
#js-product-list-header .block-category,
.block-category {
  min-height: 0 !important;
  margin-bottom: 16px;
  padding: 16px 20px;
  background: var(--paper);
  border: 1px solid var(--line);
}
.block-category h1 {
  margin: 0;
  font-size: 26px;
  line-height: 1.3;
}
.block-category .category-cover { display: none; }

#subcategories {
  margin: 0 0 16px;
  padding: 14px 16px;
  background: var(--paper);
  border: 1px solid var(--line);
}
#subcategories .subcategory-heading {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 700;
}
#subcategories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
#subcategories ul li { width: auto; float: none; }
#subcategories .subcategory-image img[src*="default"],
#subcategories .subcategory-image img[src*="no-image"],
#subcategories .subcategory-image:not(:has(img:not([src*="default"]))) {
  display: none;
}
#subcategories .subcategory-name {
  text-transform: none !important;
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid var(--line);
  background: #fafafa;
  color: var(--ink);
}
#subcategories ul li:hover .subcategory-image a,
#subcategories ul li:hover .subcategory-name {
  border-color: var(--red);
  color: var(--red);
}

/* If a category has no child links, do not leave a stub sidebar + gutter. */
#category #left-column {
  align-self: start;
  position: sticky;
  top: 12px;
}
#category:not(:has(#search_filters)):has(#left-column .block-categories:not(:has(.cat-list))) #left-column {
  display: none;
}
#category:not(:has(#search_filters)):has(#left-column .block-categories:not(:has(.cat-list))) #content-wrapper,
#category:not(:has(#search_filters)):has(#left-column .block-categories:not(:has(.cat-list))) #content-wrapper.left-column {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Product page: neutralize pasted eBay / Word markup. */
#product .product-information,
#product .product-description,
#product #description,
#product .product-container {
  max-width: 100%;
  overflow-x: hidden;
}
#product .product-description [class*="ux-"],
#product .product-description [style] {
  max-width: 100% !important;
  box-sizing: border-box;
}
#product .ux-layout-section__row {
  display: grid !important;
  grid-template-columns: minmax(110px, 36%) 1fr;
  column-gap: 12px;
  row-gap: 4px;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: 13px !important;
  color: var(--ink) !important;
}
#product .ux-labels-values__labels,
#product .ux-labels-values__values {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  white-space: normal !important;
  display: block;
  font-family: inherit !important;
}
#product .ux-labels-values__labels { font-weight: 650; color: var(--mute); }
#product .clipped,
#product .ux-textspans.clipped {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
#product .fake-link {
  background: none;
  border: 0;
  padding: 0;
  color: var(--red);
  cursor: pointer;
}

#product #description p,
#product .product-description p,
#product #description p.MsoNormal {
  margin: 0 0 0.35em !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-family: inherit !important;
  min-height: 0 !important;
}
#product #description p:not(:has(span, img, a, table, li, ul, ol, strong, em, i, u)) {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
}

/* Footer newsletter heading should not split mid-phrase. */
#footer .block_newsletter [class*="col-"] {
  width: auto;
  max-width: 100%;
  float: none;
  padding: 0;
}
#footer #block-newsletter-label {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  margin: 0 12px 0 0;
  flex: 1 1 220px;
}

#wrapper { overflow-x: hidden; }


/* v1.5: hidden wishlist / Bootstrap backdrops were covering the whole page
   and blocking every click. Only a visible (.in / .show) backdrop may capture events. */
.modal-backdrop.fade:not(.in):not(.show) {
  display: none !important;
  pointer-events: none !important;
}
