/* ==========================================================================
   Clyro Custom Theme - Nowoczesna Karta Produktu (E-commerce High-Converting)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* --- ZMIENNE GŁÓWNE --- */
:root {
  --clyro-primary: #111417;
  --clyro-primary-hover: #000000;
  --clyro-graphite: #111417;
  --clyro-white: #FFFFFF;
  --clyro-accent-lime: #C7FF2E;
  --clyro-secondary-gray: #8A9096;
  --clyro-accent-red: #e11d48;
  --clyro-accent-green: #16a34a;
  --clyro-accent-yellow: #f59e0b;
  --clyro-border-color: #e5e7eb;
  --clyro-border-light: #f3f4f6;
  --clyro-text-dark: #111417;
  --clyro-text-muted: #8A9096;
  --clyro-bg-light: #f9fafb;
  --clyro-radius-sm: 8px;
  --clyro-radius-md: 12px;
  --clyro-radius-lg: 16px;
  --clyro-radius-pill: 9999px;
  --clyro-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Bootstrap 5 / Hummingbird override to prevent blue color leaks */
  --bs-primary: #111417;
  --bs-primary-rgb: 17, 20, 23;
  --bs-link-color: #111417;
  --bs-link-hover-color: #000000;
  --bs-link-color-rgb: 17, 20, 23;
  --bs-focus-ring-color: rgba(199, 255, 46, 0.45);
}

/* Global button & link reset to prevent default Bootstrap blue */
.btn-primary {
  --bs-btn-bg: #111417;
  --bs-btn-border-color: #111417;
  --bs-btn-hover-bg: #000000;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-active-bg: #000000;
  --bs-btn-active-border-color: #000000;
}

.btn-outline-primary {
  --bs-btn-color: #111417;
  --bs-btn-border-color: #111417;
  --bs-btn-hover-bg: #111417;
  --bs-btn-hover-border-color: #111417;
  --bs-btn-hover-color: #FFFFFF;
}

.btn-link {
  --bs-btn-color: #111417;
  --bs-btn-hover-color: #000000;
}

/* ========================================================================
   21. CATEGORY LISTING — product cards, native PrestaShop sorting & facets
   ======================================================================== */
.page-category #products.clyro-category-products {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) 272px;
}

.clyro-category-products__content {
  min-width: 0;
}

.page-category .clyro-category-products .products {
  gap: 18px;
}

@media (min-width: 992px) {
  .page-category .layout-full-width .clyro-category-products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.page-category .clyro-category-products .products__selection {
  align-items: center;
  background: #f7f8f9;
  border: 1px solid #edf0f2;
  border-radius: 12px;
  column-gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 24px;
  padding: 11px 13px 11px 16px;
}

.page-category .clyro-category-products .products__count {
  color: #667085;
  font-size: 13px;
  font-weight: 600;
}

.page-category .clyro-category-products .products__sort {
  gap: 8px;
  order: 0;
}

.page-category .clyro-category-products .products__sort-label {
  color: #475467;
  display: flex;
  font-size: 13px;
  font-weight: 700;
}

.page-category .clyro-category-products .products__sort-dropdown {
  flex-grow: 0;
}

.page-category .clyro-category-products .products__sort-dropdown-button {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  color: #101828;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 10px;
  justify-content: space-between;
  min-height: 38px;
  min-width: 208px;
  padding: 8px 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
  width: auto;
}

.page-category .clyro-category-products .products__sort-dropdown-button:hover,
.page-category .clyro-category-products .products__sort-dropdown-button:focus-visible {
  border-color: #8b959f;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .09);
  color: #101828;
}

.page-category .clyro-category-products .products__sort-dropdown .dropdown-menu {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 19, 24, .14);
  margin-top: 8px;
  min-width: 260px;
  overflow: hidden;
  padding: 6px;
}

.page-category .clyro-category-products .products__sort-dropdown .dropdown-item {
  border-radius: 6px;
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 10px;
}

.page-category .clyro-category-products .products__sort-dropdown .dropdown-item:hover,
.page-category .clyro-category-products .products__sort-dropdown .dropdown-item:focus,
.page-category .clyro-category-products .products__sort-dropdown .dropdown-item.current {
  background: #f1f3f5;
  color: #111827;
}

.page-category .clyro-product-card .product-miniature__inner {
  border: 1px solid #e8ebee;
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.page-category .clyro-product-card .product-miniature__top {
  background: #f7f8f9;
  border-radius: 0;
}

.page-category .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
}

.page-category .clyro-product-card .product-miniature__image {
  height: 100%;
  object-fit: contain;
  padding: 13px;
}

.page-category .clyro-product-card .product-miniature__bottom {
  gap: 14px;
  padding: 16px;
}

.page-category .clyro-product-card .product-miniature__infos {
  gap: 9px;
}

.page-category .clyro-product-card .product-miniature__title {
  color: #1d2939;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.42;
  min-height: 40px;
  text-decoration: none;
}

.page-category .clyro-product-card .product-miniature__title:hover {
  color: #000;
}

.page-category .clyro-product-card .product-miniature__price {
  color: #0f1318;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.03em;
}

.page-category .clyro-product-card .product-miniature__regular-price {
  font-size: 12px;
}

.page-category .clyro-product-card .clyro-product-card__form,
.page-category .clyro-product-card .product-miniature__details {
  display: block;
  width: 100%;
}

.page-category .clyro-product-card .product-miniature__add,
.page-category .clyro-product-card .product-miniature__details {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

.page-category .clyro-product-card .product-miniature__add {
  background: #0f1318;
  border-color: #0f1318;
  color: #fff;
}

.page-category .clyro-product-card .product-miniature__add:hover,
.page-category .clyro-product-card .product-miniature__add:focus-visible {
  background: #27313a;
  border-color: #27313a;
  color: #fff;
}

.page-category .clyro-product-card .product-miniature__details {
  border-color: #d8dde3;
  color: #344054;
}

.page-category .clyro-product-card .product-miniature__details:hover,
.page-category .clyro-product-card .product-miniature__details:focus-visible {
  background: #f7f8f9;
  border-color: #8b959f;
  color: #101828;
}

@media (hover: hover) {
  .page-category .clyro-product-card .product-miniature__inner:hover {
    border-color: #cbd1d8;
    box-shadow: 0 12px 26px rgba(15, 19, 24, .09);
    transform: translateY(-2px);
  }
}

/* Compact, always available desktop navigation with an x-kom-inspired mega menu. */
@media (min-width: 1200px) {
  .clyro-main-navbar {
    padding: 9px 0;
    z-index: 1100;
  }

  .clyro-main-navbar .navbar-row {
    min-height: 54px;
  }

  .clyro-header-brand-logo {
    height: auto;
    max-height: 31px;
    width: 118px;
  }

  .clyro-menu-col {
    padding: 0 22px;
  }

  .clyro-menu-col .ps-mainmenu,
  .clyro-menu-col .ps-mainmenu__desktop {
    position: static;
    width: 100%;
  }

  .clyro-menu-col .ps-mainmenu__tree {
    align-items: center;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .clyro-menu-col .ps-mainmenu__tree-item,
  .clyro-menu-col .ps-mainmenu__tree-item-wrapper {
    align-items: center;
    display: flex;
  }

  .clyro-menu-col .ps-mainmenu__tree-link {
    align-items: center;
    color: #1d2939;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -.015em;
    line-height: 1;
    padding: 10px 4px;
    text-decoration: none;
  }

  .clyro-menu-col .ps-mainmenu__tree-link:hover,
  .clyro-menu-col .ps-mainmenu__tree-link:focus-visible {
    color: #0f1318;
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  .clyro-menu-col .ps-mainmenu__tree-dropdown-toggle {
    background: transparent;
    border: 0;
    color: #667085;
    height: 32px;
    margin-left: 2px;
    padding: 0 6px;
    width: 26px;
  }

  .clyro-main-navbar .navbar-action-btn {
    height: 36px;
    width: 36px;
  }

  .clyro-main-navbar .navbar-action-btn .action-icon {
    font-size: 20px;
  }

  .clyro-main-navbar .cart-action-btn .cart-count-badge {
    font-size: 10px;
    height: 16px;
    right: 0;
    top: 0;
    width: 16px;
    background: #C7FF2E;
    color: #111417;
    font-weight: 800;
  }

  .clyro-main-navbar .submenu.clyro-mega-menu {
    background: #fff;
    border-bottom: 1px solid #dfe3e8;
    border-top: 1px solid #e4e7ec;
    box-shadow: 0 18px 34px rgba(15, 19, 24, .10);
    inset: 100% 0 auto 0;
    max-width: none;
    padding: 14px 0 16px;
    position: absolute;
    transform: none;
    width: 100%;
  }

  .clyro-main-navbar .clyro-mega-menu > .container {
    max-width: 1260px;
    padding: 0;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__row {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    height: min(560px, calc(100vh - 132px));
    margin: 0;
    min-height: 360px;
    overflow: hidden;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__left {
    border-right: 1px solid #e4e7ec;
    flex: 0 0 260px;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px;
    scrollbar-color: #c9d0d8 transparent;
    scrollbar-width: thin;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__left-item {
    border-radius: 5px;
    color: #475467;
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    padding: 9px 11px;
    text-decoration: none;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__left-item:hover,
  .clyro-main-navbar .clyro-mega-menu .submenu__left-item:focus-visible,
  .clyro-main-navbar .clyro-mega-menu .submenu__left-item.is-clyro-mega-current {
    background: #f2f4f7;
    color: #101828;
    outline: none;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__right {
    flex: 1 1 auto;
    max-width: none;
    overflow: hidden;
    padding: 0;
  }

  .clyro-main-navbar .clyro-mega-menu .clyro-mega-menu__native-subcategories > .submenu__right-items {
    display: none !important;
  }

  .clyro-mega-menu__products {
    display: grid;
    gap: 17px;
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: 25px 28px 24px;
  }

  .clyro-mega-menu__products-heading {
    display: flex;
  }

  .clyro-mega-menu__eyebrow {
    color: #101828;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.025em;
  }

  .clyro-mega-menu__all {
    align-items: center;
    background: #101828;
    border: 1px solid #101828;
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    min-height: 38px;
    padding: 0 17px;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease;
  }

  .clyro-mega-menu__all:hover,
  .clyro-mega-menu__all:focus-visible {
    background: #344054;
    border-color: #344054;
    color: #fff;
    outline: none;
  }

  .clyro-mega-menu__footer {
    display: flex;
    justify-content: flex-end;
  }

  .clyro-mega-menu__products-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
  }

  .clyro-mega-menu__product {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid #edf0f2;
    border-radius: 7px;
    color: #1d2939;
    display: grid;
    gap: 17px;
    grid-template-columns: 155px minmax(0, 1fr);
    min-height: 210px;
    overflow: hidden;
    padding: 16px;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease;
  }

  .clyro-mega-menu__product:hover,
  .clyro-mega-menu__product:focus-visible {
    background: #fff;
    border-color: #cbd1d8;
    color: #101828;
    outline: none;
  }

  .clyro-mega-menu__product-image {
    height: 150px;
    object-fit: contain;
    width: 155px;
  }

  .clyro-mega-menu__product-details {
    display: grid;
    gap: 10px;
    min-width: 0;
  }

  .clyro-mega-menu__product-name {
    display: -webkit-box;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .clyro-mega-menu__product-price {
    color: #101828;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.02em;
  }

  .clyro-mega-menu__products-grid--subcategories {
    align-content: start;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
    scrollbar-color: #c9d0d8 transparent;
    scrollbar-width: thin;
  }

  .clyro-mega-menu__subcategory {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid #edf0f2;
    border-radius: 6px;
    color: #344054;
    display: flex;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.3;
    min-height: 58px;
    padding: 12px 14px;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
  }

  .clyro-mega-menu__subcategory:hover,
  .clyro-mega-menu__subcategory:focus-visible {
    background: #fff;
    border-color: #aab4c0;
    color: #101828;
    outline: none;
  }

  .clyro-mega-menu__loading,
  .clyro-mega-menu__empty {
    align-self: center;
    color: #667085;
    font-size: 13px;
    margin: 0;
  }
}

/* Catalogue finish: short, dense rows and controls without a grey toolbar. */
.page-category .clyro-products-toolbar {
  background: transparent;
  border: 0;
  box-shadow: none;
  justify-content: flex-end;
  padding: 0;
}

.page-category .clyro-products-toolbar__actions {
  margin-left: auto;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 4 / 3;
}

.page-category .clyro-category-description {
  color: #475467;
  font-size: 15px;
  line-height: 1.7;
}

.page-category .clyro-category-description--top {
  margin: 0 0 26px;
}

.page-category .clyro-category-description--bottom {
  border-top: 1px solid #e4e7ec;
  margin: 42px 0 0;
  padding: 28px 0 0;
}

.page-category .clyro-category-description > :first-child { margin-top: 0; }
.page-category .clyro-category-description > :last-child { margin-bottom: 0; }

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link {
  background: #fff;
  border-color: #d0d5dd;
  color: #344054;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link {
  background: #101828;
  border-color: #101828;
  color: #fff;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link:hover,
:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link:focus-visible {
  background: #f2f4f7;
  border-color: #98a2b3;
  color: #101828;
  outline: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link:hover,
:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link:focus-visible {
  background: #344054;
  border-color: #344054;
  color: #fff;
}

/* Final shared category/search controls. */
:is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar {
  align-items: center;
  background: #f7f8f9 !important;
  border: 1px solid #edf0f2 !important;
  border-radius: 12px !important;
  display: flex;
  justify-content: space-between;
  margin: 0 0 24px !important;
  min-height: 68px !important;
  padding: 11px 13px 11px 16px !important;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar__actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-left: auto;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control {
  align-items: center;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 9999px !important;
  color: #344054;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px !important;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 44px !important;
  padding: 9px 18px;
  transition: border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control:hover,
:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control:focus-visible {
  border-color: #98a2b3;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .08);
  color: #101828;
  outline: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-menu {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 19, 24, .14);
  margin-top: 8px;
  min-width: 238px;
  padding: 6px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-item {
  border-radius: 6px;
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 10px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-filter-drawer {
  border-left: 0;
  border-right: 1px solid #e4e7ec;
  border-radius: 0;
  box-shadow: -18px 0 48px rgba(16, 24, 40, .12) !important;
  width: min(100%, 390px);
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-price-filter-form__input,
:is(.page-category, .page-search, .page-manufacturer) .clyro-price-filter-form__submit {
  border-radius: 8px;
}

@media (max-width: 575.98px) {
  :is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    padding: 12px;
  }

  :is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar__actions,
  :is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control,
  :is(.page-category, .page-search, .page-manufacturer) .clyro-list-control {
    width: 100%;
  }

  :is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar__actions {
    align-items: stretch;
    flex-direction: column;
    margin-left: 0;
  }
}

/* Brand listings should keep the add-to-cart action explicit. */
.page-manufacturer .clyro-product-card .product-miniature__add .material-icons {
  display: none !important;
}

.page-manufacturer .clyro-product-card .product-miniature__add-text {
  display: inline !important;
}

/* Brand controls intentionally mirror the category control proportions. */
.page-manufacturer .clyro-list-control {
  align-items: center;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 9999px !important;
  color: #344054;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 44px !important;
  padding: 9px 18px !important;
  transition: border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.page-manufacturer .clyro-list-control:hover,
.page-manufacturer .clyro-list-control:focus-visible {
  border-color: #98a2b3;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .08);
  color: #101828;
  outline: 0;
}

.page-manufacturer .clyro-sort-control .dropdown-menu {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 19, 24, .14);
  min-width: 238px;
  padding: 6px;
}

.page-manufacturer .clyro-sort-control .dropdown-item {
  border-radius: 6px;
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 10px;
}

.page-manufacturer .clyro-sort-control .dropdown-item:hover,
.page-manufacturer .clyro-sort-control .dropdown-item:focus,
.page-manufacturer .clyro-sort-control .dropdown-item.current {
  background: #f1f3f5;
  color: #101828;
}

.page-manufacturer .clyro-filter-drawer {
  border-left: 0;
  border-right: 1px solid #e4e7ec;
  box-shadow: -18px 0 48px rgba(16, 24, 40, .12);
  width: min(100%, 390px);
}

.page-manufacturer .clyro-filter-drawer__header {
  border-bottom: 1px solid #e4e7ec;
  padding: 20px 22px;
}

.page-manufacturer .clyro-filter-drawer__header h2 {
  color: #101828;
  font-size: 19px;
  font-weight: 800;
  margin: 0;
}

.page-manufacturer .clyro-filter-drawer__body {
  padding: 22px;
}

/* Keep the brand toolbar flat like the category toolbar. */
.page-manufacturer .clyro-products-toolbar {
  background: transparent !important;
  justify-content: flex-start !important;
}

.page-manufacturer .clyro-products-toolbar__actions {
  column-gap: 18px;
  margin-left: 0 !important;
}

/* Search results use the same flat toolbar as categories. */
.page-search .clyro-products-toolbar {
  background: transparent !important;
  justify-content: flex-start !important;
}

.page-search .clyro-products-toolbar__actions {
  margin-left: 0 !important;
}

/* ========================================================================== 
   FINAL LISTING CONTROLS — category and search share one visual system.
   This block is intentionally last so older page-specific rules cannot diverge.
   ========================================================================== */
:is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar {
  align-items: center;
  background: #f7f8f9;
  border: 1px solid #edf0f2;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  margin: 0 0 24px;
  min-height: 68px;
  padding: 11px 13px 11px 16px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar__actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-left: auto;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control {
  align-items: center;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 9999px;
  color: #344054;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 9px 18px;
  transition: border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control:hover,
:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control:focus-visible {
  border-color: #98a2b3;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .08);
  color: #101828;
  outline: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-list-control .material-icons {
  font-size: 18px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-menu {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 19, 24, .14);
  margin-top: 8px;
  min-width: 238px;
  padding: 6px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-item {
  border-radius: 6px;
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 10px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-item:hover,
:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-item:focus,
:is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control .dropdown-item.current {
  background: #f1f3f5;
  color: #111827;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-filter-drawer {
  border-left: 0;
  border-right: 1px solid #e4e7ec;
  border-radius: 0;
  box-shadow: -18px 0 48px rgba(16, 24, 40, .12);
  width: min(100%, 390px);
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-filter-drawer__header {
  border-bottom: 1px solid #e4e7ec;
  padding: 20px 22px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-filter-drawer__header h2 {
  color: #101828;
  font-size: 19px;
  font-weight: 800;
  margin: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-filter-drawer__body {
  padding: 22px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-price-filter-form__input,
:is(.page-category, .page-search, .page-manufacturer) .clyro-price-filter-form__submit {
  border-radius: 8px;
}

@media (max-width: 575.98px) {
  :is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    padding: 12px;
  }

  :is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar__actions,
  :is(.page-category, .page-search, .page-manufacturer) .clyro-sort-control,
  :is(.page-category, .page-search, .page-manufacturer) .clyro-list-control {
    width: 100%;
  }

  :is(.page-category, .page-search, .page-manufacturer) .clyro-products-toolbar__actions {
    align-items: stretch;
    flex-direction: column;
    margin-left: 0;
  }
}

/* Desktop search action: label first, then the familiar magnifier icon. */
.clyro-main-navbar .navbar-action-btn.navbar-action-btn--search {
  background: #0f1318;
  border-radius: 999px;
  color: #fff;
}

.clyro-main-navbar .navbar-action-btn.navbar-action-btn--search .action-icon {
  color: #fff;
}

.clyro-main-navbar .navbar-action-btn.navbar-action-btn--search:hover,
.clyro-main-navbar .navbar-action-btn.navbar-action-btn--search:focus-visible {
  background: #27313a;
  color: #fff;
  transform: none;
}

@media (min-width: 992px) {
  .clyro-main-navbar .navbar-action-btn.navbar-action-btn--search {
    gap: 6px;
    padding: 0 10px;
    width: auto;
  }

  .clyro-main-navbar .navbar-action-btn--search .navbar-action-btn__label {
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
  }
}

/* Final desktop mega-menu sizing: keep the mobile offcanvas out of the header flow. */
@media (min-width: 1200px) {
  .clyro-main-navbar {
    padding: 9px 0;
  }

  .clyro-main-navbar .navbar-row {
    min-height: 54px;
  }

  .clyro-menu-col {
    padding: 0 22px;
  }

  .clyro-menu-col > .ps-mainmenu--mobile {
    position: fixed !important;
    width: auto;
  }

  .clyro-menu-col > .ps-mainmenu--desktop,
  .clyro-menu-col > .ps-mainmenu--desktop .ps-mainmenu__desktop {
    position: static;
    width: 100%;
  }

  .clyro-header-brand-logo {
    max-height: 31px;
    width: 118px;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__row {
    align-items: stretch;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__left,
  .clyro-main-navbar .clyro-mega-menu .submenu__right {
    height: 100%;
    min-height: 0;
  }

  .clyro-mega-menu__products {
    align-content: start;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 0;
  }

  .clyro-mega-menu__products-grid {
    align-content: start;
    align-items: start;
  }

  .clyro-mega-menu__product {
    height: 210px;
    min-height: 0;
  }
}

/* Keep search product cards visually identical to category cards. */
.page-search .clyro-product-card .product-miniature__title {
  color: #1d2939;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.42;
  text-decoration: none;
}

.page-search .clyro-product-card .product-miniature__title:hover,
.page-search .clyro-product-card .product-miniature__title:focus-visible {
  color: #000;
}

.page-search .clyro-product-card .product-miniature__price {
  color: #0f1318;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.03em;
}

.page-search .clyro-product-card .product-miniature__regular-price {
  font-size: 12px;
}

.page-search .clyro-product-card .clyro-product-card__form,
.page-search .clyro-product-card .product-miniature__details {
  display: block;
  width: 100%;
}

.page-search .clyro-product-card .product-miniature__add,
.page-search .clyro-product-card .product-miniature__details {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

.page-search .clyro-product-card .product-miniature__add {
  background: #0f1318;
  border-color: #0f1318;
  color: #fff;
}

.page-search .clyro-product-card .product-miniature__add:hover,
.page-search .clyro-product-card .product-miniature__add:focus-visible {
  background: #27313a;
  border-color: #27313a;
  color: #fff;
}

.page-search .clyro-product-card .product-miniature__details {
  border-color: #d8dde3;
  color: #344054;
}

.page-search .clyro-product-card .product-miniature__details:hover,
.page-search .clyro-product-card .product-miniature__details:focus-visible {
  background: #f7f8f9;
  border-color: #8b959f;
  color: #101828;
}

/* Bootstrap's primary spinner is blue by default; use the Clyro graphite. */
.page-loader .spinner-border,
.page-loader .text-primary-emphasis {
  color: #0f1318 !important;
}

.page-loader .spinner-border {
  border-color: #0f1318 !important;
  border-right-color: transparent !important;
}

/* ========================================================================
   ACCOUNT, AUTHENTICATION AND GENERIC PRODUCT LISTINGS
   ======================================================================== */

:root {
  --clyro-ink: #101828;
  --clyro-ink-soft: #344054;
  --clyro-muted: #667085;
  --clyro-line: #dfe3e8;
  --clyro-surface: #f7f8f9;
  --clyro-danger: #b42318;
}

/* The account pages inherit Hummingbird markup.  These rules deliberately
   preserve its form names and validation behaviour while giving the pages a
   Clyro-specific shell. */
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .container--limited-sm {
  max-width: 620px;
  padding-bottom: 72px;
  padding-top: 24px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .page-header {
  margin-bottom: 20px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .page-title-section {
  color: var(--clyro-ink);
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .page-content--general,
:is(.page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) #content {
  background: #fff;
  border: 1px solid var(--clyro-line);
  border-radius: 16px;
  padding: clamp(24px, 4vw, 40px);
}

:is(.page-authentication, .page-registration, .page-password) .page-content--general {
  box-shadow: 0 18px 45px rgba(16, 24, 40, .07);
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-label,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-group > label {
  color: var(--clyro-ink);
  font-size: .875rem;
  font-weight: 700;
  margin-bottom: 7px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-control,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-select {
  background-color: #fff;
  border: 1px solid #cfd4dc;
  border-radius: 10px;
  box-shadow: none;
  color: var(--clyro-ink);
  font-size: .95rem;
  min-height: 48px;
  padding: 11px 14px;
  transition: border-color .18s ease, box-shadow .18s ease;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-control:focus,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-select:focus {
  border-color: var(--clyro-ink);
  box-shadow: 0 0 0 4px rgba(16, 24, 40, .1);
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .input-group .form-control {
  border-radius: 10px 0 0 10px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .input-group > .btn {
  border-radius: 0 10px 10px 0;
  min-width: 48px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-check {
  align-items: flex-start;
  display: flex;
  gap: 9px;
  margin-bottom: 12px;
  padding-left: 0;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-check-input {
  border-color: #98a2b3;
  box-shadow: none;
  flex: 0 0 auto;
  height: 18px;
  margin: 2px 0 0;
  width: 18px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-check-input:checked {
  background-color: var(--clyro-ink);
  border-color: var(--clyro-ink);
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-check-label {
  color: var(--clyro-ink-soft);
  font-size: .875rem;
  line-height: 1.5;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .btn-primary,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-control-submit {
  background: var(--clyro-ink);
  border-color: var(--clyro-ink);
  border-radius: 10px;
  box-shadow: none;
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  min-height: 46px;
  padding: 10px 18px;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .btn-primary:hover,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-control-submit:hover {
  background: #344054;
  border-color: #344054;
  color: #fff;
  transform: translateY(-1px);
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .btn-primary:active,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .form-control-submit:active {
  transform: translateY(0);
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .btn-basic,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .btn-outline-primary {
  background: transparent;
  border-color: transparent;
  border-radius: 8px;
  color: var(--clyro-ink);
  font-size: .875rem;
  font-weight: 700;
  min-height: auto;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

:is(.page-authentication, .page-registration, .page-password) .buttons-wrapper {
  align-items: center;
  gap: 16px;
  margin-top: 26px;
}

:is(.page-authentication, .page-registration, .page-password) .page-footer {
  border-top: 1px solid var(--clyro-line);
  color: var(--clyro-muted);
  font-size: .875rem;
  margin-top: 26px;
  padding-top: 20px;
}

:is(.page-authentication, .page-registration, .page-password) .page-footer .btn {
  margin-left: 5px;
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .alert-danger,
:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .invalid-feedback {
  color: var(--clyro-danger);
}

:is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) :focus-visible {
  outline: 3px solid rgba(16, 24, 40, .3);
  outline-offset: 3px;
}

/* Logged-in account: Hummingbird calls these navigation blocks account-link.
   The fallback selectors keep third-party account modules visually coherent. */
.page-my-account .container--limited-sm {
  max-width: 1160px;
}

.page-my-account .page-content--general,
.page-my-account #content {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-my-account .account-link,
.page-my-account .account-link-item,
.page-my-account .links > a {
  align-items: flex-start;
  background: var(--clyro-surface);
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--clyro-ink);
  display: flex;
  gap: 12px;
  min-height: 112px;
  padding: 20px;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.page-my-account .account-link:hover,
.page-my-account .account-link-item:hover,
.page-my-account .links > a:hover {
  background: #fff;
  border-color: #c7cdd4;
  color: var(--clyro-ink);
  transform: translateY(-2px);
}

.page-my-account .account-link i,
.page-my-account .account-link .material-icons,
.page-my-account .account-link-item i {
  color: var(--clyro-ink);
  font-size: 24px;
}

.page-my-account .account-link span,
.page-my-account .account-link-item span,
.page-my-account .links > a {
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.35;
}

.page-my-account .account-link small,
.page-my-account .account-link-item small {
  color: var(--clyro-muted);
  display: block;
  font-size: .8rem;
  font-weight: 500;
  line-height: 1.45;
  margin-top: 5px;
}

/* Promotions, news and best-seller routes use the generic product-list
   template, not category.tpl.  Give them the same working card system. */
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .container.container--limited,
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .columns-container.container {
  max-width: 1500px;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) #products {
  margin-bottom: 72px;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__selection {
  align-items: center;
  background: transparent;
  border: 0;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 24px;
  padding: 0;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__sort-dropdown-button,
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__sort button {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  color: var(--clyro-ink-soft);
  font-size: .825rem;
  font-weight: 700;
  min-height: 40px;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__inner {
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transition: border-color .18s ease, transform .18s ease;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__top,
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-container {
  background: #fff;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  position: relative;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link picture {
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image {
  display: block;
  height: 100% !important;
  max-height: 100%;
  object-fit: contain;
  padding: 18px;
  transition: transform .25s ease;
  width: 100%;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__bottom {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 9px;
  padding: 14px;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__infos {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--clyro-ink);
  display: -webkit-box;
  font-size: .875rem;
  font-weight: 700;
  height: 38px;
  line-height: 1.35;
  overflow: hidden;
  text-decoration: none;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__price {
  color: var(--clyro-ink);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.025em;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__regular-price {
  color: var(--clyro-muted);
  font-size: .75rem;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__actions {
  margin-top: auto;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .clyro-product-card__form,
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__details {
  display: block;
  width: 100%;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__add,
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__details {
  align-items: center;
  background: var(--clyro-ink);
  border: 1px solid var(--clyro-ink);
  border-radius: 7px;
  color: #fff;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 800;
  justify-content: center;
  min-height: 38px;
  padding: 7px 10px;
  text-decoration: none;
  width: 100%;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__add .material-icons {
  display: none;
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__add:hover,
:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__details:hover {
  background: #344054;
  border-color: #344054;
  color: #fff;
}

@media (hover: hover) {
  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__inner:hover {
    border-color: #b9c0ca;
    transform: translateY(-2px);
  }

  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__inner:hover .product-miniature__image {
    transform: scale(1.02);
  }
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__pagination .page-link {
  background: #fff;
  border-color: #d0d5dd;
  color: var(--clyro-ink-soft);
}

:is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link {
  background: var(--clyro-ink);
  border-color: var(--clyro-ink);
  color: #fff;
}

@media (max-width: 1279.98px) {
  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  :is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .container--limited-sm {
    padding-bottom: 40px;
    padding-top: 14px;
  }

  :is(.page-authentication, .page-registration, .page-password, .page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) .page-content--general,
  :is(.page-my-account, .page-addresses, .page-history, .page-identity, .page-order-detail, .page-order-slip, .page-discount, .page-return) #content {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-left: -12px;
    margin-right: -12px;
    padding: 24px 16px;
  }

  :is(.page-authentication, .page-registration, .page-password) .buttons-wrapper {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  :is(.page-authentication, .page-registration, .page-password) .buttons-wrapper .btn,
  :is(.page-authentication, .page-registration, .page-password) .buttons-wrapper button {
    justify-content: center;
    width: 100%;
  }

  .page-my-account .page-content--general,
  .page-my-account #content {
    grid-template-columns: 1fr;
  }

  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__selection {
    justify-content: stretch;
  }

  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__sort,
  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__sort-dropdown,
  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .products__sort-dropdown-button {
    width: 100%;
  }

  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__bottom {
    padding: 11px;
  }

  :is(.page-prices-drop, .page-new-products, .page-best-sales, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__title {
    font-size: .78rem;
  }
}

/* Search listings share the category controls and price drawer. */
.page-search #products.clyro-search-products {
  display: block;
}

.page-search .clyro-search-products .clyro-category-products__content {
  width: 100%;
}

.page-search .clyro-products-toolbar {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: flex;
  justify-content: flex-start;
  margin: 0 0 22px;
  padding: 0;
}

.page-search .clyro-products-toolbar__actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-left: 0;
}

.page-search .clyro-sort-control {
  position: relative;
}

.page-search .clyro-list-control {
  align-items: center;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: var(--clyro-radius-pill);
  color: #344054;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 9px 18px;
}

.page-search .clyro-list-control:hover,
.page-search .clyro-list-control:focus-visible {
  border-color: #98a2b3;
  color: #101828;
  outline: 0;
}

.page-search .clyro-list-control .material-icons {
  font-size: 18px;
}

.page-search .clyro-sort-control .dropdown-menu {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 19, 24, .14);
  margin-top: 8px;
  min-width: 238px;
  padding: 6px;
}

.page-search .clyro-filter-drawer {
  border-left: 0;
  border-right: 1px solid #e4e7ec;
  box-shadow: 18px 0 48px rgba(16, 24, 40, .12);
  width: min(100%, 390px);
}

.page-search .clyro-filter-drawer__header {
  border-bottom: 1px solid #e4e7ec;
  padding: 20px 22px;
}

.page-search .clyro-filter-drawer__header h2 {
  color: #101828;
  font-size: 19px;
  font-weight: 800;
  margin: 0;
}

.page-search .clyro-filter-drawer__body {
  padding: 22px;
}

.page-search .clyro-price-filter-form {
  display: grid;
  gap: 14px;
}

.page-search .clyro-price-filter-form__title {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
  margin: 0;
}

.page-search .clyro-price-filter-form__fields {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.page-search .clyro-price-filter-form label {
  color: #667085;
  display: grid;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
}

.page-search .clyro-price-filter-form__input {
  appearance: textfield;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 7px;
  color: #101828;
  font: inherit;
  font-weight: 700;
  height: 42px;
  min-width: 0;
  outline: none;
  padding: 8px 10px;
  width: 100%;
}

.page-search .clyro-price-filter-form__input:focus {
  border-color: #667085;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .08);
}

.page-search .clyro-price-filter-form__hint,
.page-search .clyro-price-filter-form__error {
  color: #667085;
}

.page-search .clyro-price-filter-form__error {
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
  margin: -4px 0 0;
}

.page-search .clyro-price-filter-form__submit {
  background: #101828;
  border: 1px solid #101828;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  height: 42px;
}

.page-search .clyro-price-filter-form__submit:hover,
.page-search .clyro-price-filter-form__submit:focus-visible {
  background: #344054;
  border-color: #344054;
}

.page-search .clyro-price-filter-form.is-invalid .clyro-price-filter-form__input {
  border-color: #b42318;
}

@media (max-width: 575.98px) {
  .page-search .clyro-products-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

/* Final listing pass: the same, calm product grid on category and search pages. */
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__inner {
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  box-shadow: none;
  height: 100%;
  overflow: hidden;
  transform: none;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__top,
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-container {
  background: #fff;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 1 / 1;
  min-height: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image {
  height: 100%;
  object-fit: contain;
  padding: 14px;
  transition: transform .16s ease;
  width: 100%;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__quickview-button,
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__quickview-touch {
  display: none !important;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__bottom {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 9px;
  padding: 14px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__infos {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  height: 40px;
  line-height: 20px;
  min-height: 40px;
  overflow: hidden;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__prices,
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__actions {
  margin: 0;
}

@media (hover: hover) {
  :is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__inner:hover {
    border-color: #b9c0ca;
    box-shadow: none;
    transform: none;
  }

  :is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__inner:hover .product-miniature__image {
    transform: scale(1.015);
  }
}

.page-category .clyro-price-filter-form {
  display: grid;
  gap: 14px;
}

.page-category .clyro-price-filter-form__title {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
  margin: 0;
}

.page-category .clyro-price-filter-form__fields {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.page-category .clyro-price-filter-form label {
  color: #667085;
  display: grid;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
}

.page-category .clyro-price-filter-form__input {
  appearance: textfield;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 7px;
  color: #101828;
  font: inherit;
  font-weight: 700;
  height: 42px;
  min-width: 0;
  outline: none;
  padding: 8px 10px;
  width: 100%;
}

.page-category .clyro-price-filter-form__input:focus {
  border-color: #667085;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .08);
}

.page-category .clyro-price-filter-form__hint,
.page-category .clyro-price-filter-form__error {
  color: #667085;
  font-size: 12px;
  line-height: 1.4;
  margin: -6px 0 0;
}

.page-category .clyro-price-filter-form__error {
  color: #b42318;
}

.page-category .clyro-price-filter-form__submit {
  background: #101828;
  border: 1px solid #101828;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  height: 42px;
}

.page-category .clyro-price-filter-form__submit:hover,
.page-category .clyro-price-filter-form__submit:focus-visible {
  background: #344054;
  border-color: #344054;
}

.page-category .clyro-price-filter-form.is-invalid .clyro-price-filter-form__input {
  border-color: #b42318;
}

/* Category and search listings - compact controls and product cards. */
.page-category #products.clyro-category-products {
  display: block;
}

.page-category .clyro-category-products__content {
  width: 100%;
}

.page-category .clyro-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
}

.page-category .clyro-category-pill {
  align-items: baseline;
  background: #f1f3f5;
  border: 1px solid transparent;
  border-radius: var(--clyro-radius-pill);
  color: #1d2939;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 5px;
  min-height: 42px;
  padding: 9px 16px;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease;
}

.page-category .clyro-category-pill small {
  color: #98a2b3;
  font-size: 12px;
  font-weight: 700;
}

.page-category .clyro-category-pill:hover,
.page-category .clyro-category-pill:focus-visible {
  background: #fff;
  border-color: #cfd4dc;
  color: #101828;
}

.page-category .clyro-category-pill--all {
  background: #101828;
  color: #fff;
}

.page-category .clyro-category-pill--all:hover,
.page-category .clyro-category-pill--all:focus-visible {
  background: #344054;
  border-color: #344054;
  color: #fff;
}

.page-category .clyro-products-toolbar {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  justify-content: space-between;
  margin: 0 0 22px;
  padding: 0;
}

.page-category .clyro-products-toolbar__actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

.page-category .clyro-sort-control {
  position: relative;
}

.page-category .clyro-list-control {
  align-items: center;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: var(--clyro-radius-pill);
  color: #344054;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 9px 18px;
}

.page-category .clyro-list-control:hover,
.page-category .clyro-list-control:focus-visible {
  border-color: #98a2b3;
  color: #101828;
  outline: 0;
}

.page-category .clyro-list-control .material-icons {
  font-size: 18px;
}

.page-category .clyro-sort-control .dropdown-menu {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 19, 24, .14);
  margin-top: 8px;
  min-width: 238px;
  padding: 6px;
}

.page-category .clyro-product-card .product-miniature__inner {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transform: none;
}

.page-category .clyro-product-card .product-miniature__top,
.page-category .clyro-product-card .product-miniature__image-container {
  background: #fff;
}

.page-category .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 1 / 1;
  min-height: 0;
}

.page-category .clyro-product-card .product-miniature__image {
  height: 100%;
  object-fit: contain;
  padding: 14px;
  transition: transform .16s ease;
  width: 100%;
}

.page-category .clyro-product-card .product-miniature__quickview-button,
.page-category .clyro-product-card .product-miniature__quickview-touch {
  display: none !important;
}

.page-category .clyro-product-card .product-miniature__bottom {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}

.page-category .clyro-product-card .product-miniature__infos {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.page-category .clyro-product-card .product-miniature__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 14px;
  height: 40px;
  line-height: 20px;
  min-height: 40px;
  overflow: hidden;
}

.page-category .clyro-product-card .product-miniature__prices {
  margin: 0;
}

.page-category .clyro-product-card .product-miniature__actions {
  margin-top: 0;
}

.page-category .clyro-product-card .product-miniature__add,
.page-category .clyro-product-card .product-miniature__details {
  min-height: 40px;
}

@media (hover: hover) {
  .page-category .clyro-product-card .product-miniature__inner:hover {
    border-color: #c7cdd4;
    box-shadow: none;
    transform: none;
  }

  .page-category .clyro-product-card .product-miniature__inner:hover .product-miniature__image {
    transform: scale(1.01);
  }
}

.page-category .clyro-filter-drawer {
  border-left: 1px solid #e4e7ec;
  box-shadow: -18px 0 48px rgba(16, 24, 40, .12);
  width: min(100%, 390px);
}

.page-category .clyro-filter-drawer__header {
  border-bottom: 1px solid #e4e7ec;
  padding: 20px 22px;
}

.page-category .clyro-filter-drawer__header h2 {
  color: #101828;
  font-size: 19px;
  font-weight: 800;
  margin: 0;
}

.page-category .clyro-filter-drawer__body {
  padding: 22px;
}

.page-category .clyro-filter-drawer .facet:not([data-type='price']) {
  display: none !important;
}

.page-category .clyro-filter-drawer .facet {
  margin: 0;
}

.page-category .clyro-filter-drawer .facet-title,
.page-category .clyro-filter-drawer .accordion-button {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
  padding: 0 0 12px;
  text-transform: none;
}

.page-category .clyro-filter-drawer .accordion-item,
.page-category .clyro-filter-drawer .accordion-body {
  background: transparent;
  border: 0;
  padding: 0;
}

.page-category .clyro-filter-drawer .ui-slider-horizontal,
.page-category .clyro-filter-drawer .js-faceted-values {
  display: none !important;
}

@media (max-width: 575.98px) {
  .page-category .clyro-category-pills {
    flex-wrap: nowrap;
    margin-left: -16px;
    margin-right: -16px;
    overflow-x: auto;
    padding: 0 16px 4px;
  }

  .page-category .clyro-category-pill {
    flex: 0 0 auto;
  }

  .page-category .clyro-products-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

.clyro-category-filter {
  background: #fff;
  border: 1px solid #e6e9ed;
  border-radius: 12px;
  overflow: hidden;
  position: sticky;
  top: calc(var(--scroll-padding-top, 84px) + 16px);
}

.clyro-category-filter__header {
  border-bottom: 1px solid #edf0f2;
  color: #101828;
  font-size: 14px;
  font-weight: 800;
  padding: 15px 16px;
}

.clyro-category-filter__body {
  padding: 0 16px 16px;
}

/* Pierwsza wersja panelu celowo pokazuje wyłącznie natywny zakres ceny. */
.clyro-category-filter .facet:not([data-type='price']),
.clyro-category-filter .accordion-item:not([data-type='price']) {
  display: none !important;
}

.clyro-category-filter .facet {
  margin: 0;
  padding-top: 16px;
}

.clyro-category-filter .search-filters__accordion,
.clyro-category-filter .accordion {
  margin: 0;
}

.clyro-category-filter .accordion-item {
  border: 0;
  padding-top: 4px;
}

.clyro-category-filter .accordion-button {
  background: transparent;
  box-shadow: none;
  color: #344054;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 12px 0 14px;
  text-transform: uppercase;
}

.clyro-category-filter .accordion-button:not(.collapsed) {
  background: transparent;
  color: #344054;
}

.clyro-category-filter .accordion-button:focus {
  box-shadow: none;
}

.clyro-category-filter .accordion-button::after {
  background-size: 14px;
  height: 14px;
  width: 14px;
}

.clyro-category-filter .accordion-body {
  padding: 1px 1px 8px;
}

.clyro-category-filter .search-filters__slider-values {
  color: #667085;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  margin: 0 0 15px;
}

.clyro-category-filter .facet-title {
  color: #344054;
  display: block !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.clyro-category-filter .faceted-slider {
  display: block !important;
  margin: 0;
  padding: 0;
}

.clyro-category-filter .faceted-slider li {
  list-style: none;
}

.clyro-category-filter .faceted-slider p {
  color: #667085;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  margin: 0 0 16px;
}

.clyro-category-filter #search_filters .ui-slider-horizontal,
.clyro-category-filter #search-filters .ui-slider-horizontal {
  background: #e5e7eb;
  border: 0;
  border-radius: 999px;
  height: 4px;
  margin: 12px 4px 5px;
}

.clyro-category-filter #search_filters .ui-widget-header,
.clyro-category-filter #search-filters .ui-widget-header {
  background: #0f1318;
  border-radius: 999px;
}

.clyro-category-filter #search_filters .ui-slider .ui-slider-handle,
.clyro-category-filter #search-filters .ui-slider .ui-slider-handle {
  background: #fff;
  border: 2px solid #0f1318;
  border-radius: 50%;
  height: 14px;
  top: -5px;
  width: 14px;
}

.clyro-category-filter #search_filters .ui-slider .ui-slider-handle:focus-visible,
.clyro-category-filter #search-filters .ui-slider .ui-slider-handle:focus-visible {
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .16);
  outline: 0;
}

@media (max-width: 991.98px) {
  .page-category #products.clyro-category-products {
    display: block;
  }

  .clyro-category-filter {
    margin-top: 20px;
    position: static;
  }
}

@media (max-width: 575.98px) {
  .page-category .clyro-category-products .products__selection {
    align-items: stretch;
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
  }

  .page-category .clyro-category-products .products__sort-dropdown,
  .page-category .clyro-category-products .products__sort-dropdown-button {
    width: 100%;
  }

  .page-category .clyro-product-card .product-miniature__bottom {
    padding: 13px;
  }

  .page-category .clyro-product-card .product-miniature__title {
    font-size: 13px;
  }
}

/* Globalne dopasowanie czcionki */
body, .product-page-wrapper, h1, h2, h3, h4, h5, h6, p, button, input, select, textarea {
  font-family: var(--clyro-font) !important;
  -webkit-font-smoothing: antialiased;
}

/* Ukrycie przycisków udostępniania społecznościowego */
.social-sharing,
.product-share,
.ps-sharebuttons,
.product-additional-info-clean .social-sharing,
.product-additional-info-clean .ps-sharebuttons {
  display: none !important;
}

/* Kontener całej strony produktu */
.product-page-wrapper {
  padding-top: 15px;
  padding-bottom: 40px;
  color: var(--clyro-text-dark);
}

/* ==========================================================================
   ETYKIETY PROMOCYJNE / FLAGS (-20%, Promocja, Nowość)
   ========================================================================== */
.product-flags-wrapper {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
}

.product-flags {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}

.product-flags .product-flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-radius: var(--clyro-radius-pill) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
  background: var(--clyro-primary);
  color: #ffffff;
  white-space: nowrap !important;
  word-break: keep-all !important;
  hyphens: none !important;
  width: auto !important;
  max-width: max-content !important;
  flex-shrink: 0 !important;
  line-height: 1.1 !important;
}

.product-flags .product-flag.discount-flag,
.product-flags .product-flag.discount,
.product-flags .product-flag.on-sale {
  background: var(--clyro-accent-red);
  color: #ffffff;
  font-size: 12px;
  padding: 4px 12px;
  white-space: nowrap !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

.product-flags .product-flag.new {
  background: var(--clyro-primary);
  color: #ffffff;
  white-space: nowrap !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

.product-flags .product-flag.pack {
  background: #7c3aed;
  color: #ffffff;
  white-space: nowrap !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

.product-flags .product-flag.clyro-promo-flag {
  background-color: #fedb00;
  color: #101828;
  white-space: nowrap !important;
  word-break: keep-all !important;
  hyphens: none !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   LEWA KOLUMNA: GALERIA PRODUKTU / SLIDER
   ========================================================================== */
.product-gallery-col {
  position: relative;
  margin-bottom: 25px;
}

.modern-gallery-container {
  position: relative;
}

/* Główny podgląd zdjęcia */
.product-cover.js-product-cover-wrapper {
  position: relative;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  border: 0;
}

.main-image-slide-container {
  width: 100%;
  aspect-ratio: 4 / 3;
  max-height: 500px;
  background: #f7f8f9;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  touch-action: pan-y;
  cursor: zoom-in;
}

.main-image-slide-container:focus-visible {
  outline: 3px solid rgba(15, 19, 24, 0.3);
  outline-offset: 3px;
}

.main-product-image {
  width: 100%;
  height: 100%;
  max-height: none;
  max-width: none;
  object-fit: contain;
  transition: opacity 0.25s ease, transform 0.3s ease;
}

.main-product-image.fade-out {
  opacity: 0.2;
}

/* Strzałki nawigacyjne galerii */
.gallery-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  border: 0;
  box-shadow: 0 2px 10px rgba(15, 19, 24, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.gallery-nav-arrow:hover {
  background: #ffffff;
  box-shadow: 0 5px 16px rgba(15, 19, 24, 0.18);
  transform: translateY(-50%) scale(1.06);
}

.gallery-nav-arrow.arrow-left {
  left: 15px;
}

.gallery-nav-arrow.arrow-right {
  right: 15px;
}

/* Lista miniatur */
.thumbnails-slider-wrapper {
  margin-top: 10px;
  position: relative;
}

.thumbs-mask {
  overflow: hidden;
  padding: 4px 0;
}

.modern-thumbs-list {
  display: flex;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.modern-thumbs-list::-webkit-scrollbar {
  display: none;
}

.modern-thumbs-list .thumb-container {
  flex: 0 0 70px;
  cursor: pointer;
}

.thumb-inner {
  position: relative;
  border: 1px solid transparent;
  border-radius: 0;
  overflow: hidden;
  background: #f7f8f9;
  transition: all 0.2s ease;
}

.modern-thumbs-list .thumb-container.active .thumb-inner,
.modern-thumbs-list .thumb.selected {
  border-color: var(--clyro-primary);
  box-shadow: inset 0 0 0 1px var(--clyro-primary);
}

.thumb-inner img {
  width: 100%;
  height: 52px;
  object-fit: cover;
  display: block;
}

/* Przesuwający się pasek postępu */
.thumbnails-progress-bar-track {
  display: none;
}

.thumbnails-progress-bar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--clyro-primary);
  border-radius: 4px;
  transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s ease;
}

/* Lightbox galerii - zdjęcie otwiera się bez widocznej ikony powiększenia. */
body.clyro-lightbox-open {
  overflow: hidden;
}

.clyro-product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  grid-template-columns: minmax(48px, 1fr) minmax(0, 1120px) minmax(48px, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 32px 36px 26px;
  background: rgba(14, 16, 18, 0.97);
}

.clyro-product-lightbox[hidden] {
  display: none;
}

.clyro-lightbox-stage {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.clyro-lightbox-image {
  display: block;
  max-width: 100%;
  max-height: min(76vh, 760px);
  object-fit: contain;
  background: #ffffff;
}

.clyro-lightbox-close,
.clyro-lightbox-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  transition: opacity 160ms ease, transform 160ms ease;
}

.clyro-lightbox-close:hover,
.clyro-lightbox-nav:hover {
  opacity: 0.7;
}

.clyro-lightbox-close:focus-visible,
.clyro-lightbox-nav:focus-visible,
.clyro-lightbox-thumbnail:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.clyro-lightbox-close {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 44px;
  height: 44px;
}

.clyro-lightbox-close .material-icons {
  font-size: 32px;
}

.clyro-lightbox-nav {
  grid-row: 1;
  width: 48px;
  height: 64px;
}

.clyro-lightbox-prev {
  grid-column: 1;
  justify-self: center;
}

.clyro-lightbox-next {
  grid-column: 3;
  justify-self: center;
}

.clyro-lightbox-nav .material-icons {
  font-size: 42px;
}

.clyro-lightbox-thumbnails {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  overflow-x: auto;
  padding: 4px 2px 0;
  scrollbar-width: none;
}

.clyro-lightbox-thumbnails::-webkit-scrollbar {
  display: none;
}

.clyro-lightbox-thumbnail {
  flex: 0 0 74px;
  width: 74px;
  height: 56px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0;
  background: #ffffff;
  cursor: pointer;
  opacity: 0.62;
  overflow: hidden;
  transition: opacity 160ms ease, border-color 160ms ease;
}

.clyro-lightbox-thumbnail:hover,
.clyro-lightbox-thumbnail.is-active {
  opacity: 1;
}

.clyro-lightbox-thumbnail.is-active {
  border: 2px solid #ffffff;
}

.clyro-lightbox-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 767px) {
  .main-image-slide-container {
    aspect-ratio: 1 / 1;
  }

  .clyro-product-lightbox {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 4px;
    padding: 20px 8px 18px;
  }

  .clyro-lightbox-image {
    max-height: 68vh;
  }

  .clyro-lightbox-nav .material-icons {
    font-size: 34px;
  }

  .clyro-lightbox-thumbnail {
    flex-basis: 58px;
    width: 58px;
    height: 44px;
  }
}

/* ==========================================================================
   PRAWA KOLUMNA: NAGŁÓWEK, BUY-BOX, KORZYŚCI
   ========================================================================== */
.product-info-col {
  padding-left: 20px;
}

@media (max-width: 991px) {
  .product-info-col {
    padding-left: 15px;
    margin-top: 20px;
  }
}

/* 1. Tytuł produktu i oceny */
.product-header-section {
  margin-bottom: 20px;
}

.product-title {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.22;
  color: var(--clyro-text-dark);
  margin: 0 0 10px 0;
  letter-spacing: -0.02em;
}

.product-reviews-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 10px;
}

.rating-score {
  font-weight: 700;
  color: var(--clyro-text-dark);
}

.rating-stars {
  display: inline-flex;
  color: var(--clyro-accent-yellow);
}

.rating-stars .material-icons {
  font-size: 16px;
}

.reviews-link {
  color: var(--clyro-text-muted);
  text-decoration: underline;
  transition: color 0.2s ease;
}

.reviews-link:hover {
  color: var(--clyro-text-dark);
}

/* Producent / Marka (w pełni klikalny) */
.product-manufacturer {
  font-size: 13px;
  color: var(--clyro-text-muted);
}

.product-manufacturer .label {
  margin-right: 4px;
}

.manufacturer-link {
  color: var(--clyro-text-dark);
  text-decoration: underline;
  font-weight: 700;
  transition: color 0.2s ease;
}

.manufacturer-link:hover {
  color: #000000;
}

/* 2. Główny Buy-Box Card */
.product-buybox-card {
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-lg);
  padding: 24px;
  margin-bottom: 18px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  overflow: hidden;
}

/* Ceny */
.modern-product-prices {
  margin-bottom: 12px;
}

.product-discount {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.product-discount .regular-price {
  text-decoration: line-through;
  color: var(--clyro-text-muted);
  font-size: 16px;
}

.discount-badge {
  background: #fee2e2;
  color: var(--clyro-accent-red);
  font-weight: 800;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 6px;
}

.current-price-value {
  font-size: 32px;
  font-weight: 800;
  color: var(--clyro-text-dark);
  letter-spacing: -0.02em;
}

/* Raty PayU */
.product-installments-box {
  font-size: 13px;
  color: var(--clyro-text-muted);
  margin-bottom: 20px;
}

.product-installments-box a {
  color: var(--clyro-text-dark);
  text-decoration: underline;
  font-weight: 600;
  margin-left: 4px;
  cursor: pointer;
}

/* Warianty produktu - wyraźny wybór bez ciężkich, odcinających się pól */
.clyro-product-variants {
  display: grid;
  gap: 18px;
  margin: 0 0 22px;
}

.clyro-product-variant {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.clyro-variant-heading {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}

.clyro-product-variant .product-variant__legend {
  margin: 0;
  color: var(--clyro-text-dark);
  font-size: 14px;
  font-weight: 700;
}

.clyro-product-variant .product-variant__selected {
  color: var(--clyro-text-muted);
  font-size: 13px;
  font-weight: 500;
}

.clyro-variant-select {
  min-height: 46px;
  width: 100%;
  border: 1px solid #d9dde2;
  border-radius: var(--clyro-radius-sm);
  background-color: #fafbfc;
  color: var(--clyro-text-dark);
  font-size: 14px;
  font-weight: 600;
  padding: 0 40px 0 13px;
  box-shadow: none;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.clyro-variant-select:hover {
  border-color: #b7bec7;
  background-color: #ffffff;
}

.clyro-variant-select:focus {
  border-color: var(--clyro-primary);
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, 0.1);
}

/* PrestaShop chwilowo blokuje wariant podczas zapytania AJAX. Zachowujemy
   czytelność kontrolki, zamiast pokazywać ją jako wyszarzoną. */
.clyro-variant-select:disabled {
  opacity: 1;
  background-color: #fafbfc;
  border-color: #d9dde2;
  color: var(--clyro-text-dark);
  cursor: progress;
}

.clyro-variant-radios,
.clyro-variant-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.clyro-variant-radio,
.clyro-variant-color {
  position: relative;
  margin: 0;
  padding: 0;
}

.clyro-variant-radio .form-check-input,
.clyro-variant-color .input-color__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.clyro-variant-radio .form-check-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  min-width: 48px;
  padding: 8px 13px;
  border: 1px solid #d9dde2;
  border-radius: var(--clyro-radius-sm);
  background: #ffffff;
  color: #4b5563;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.clyro-variant-radio .form-check-label:hover {
  border-color: #9ca3af;
  color: var(--clyro-text-dark);
}

.clyro-variant-radio .form-check-input:checked + .form-check-label {
  border-color: var(--clyro-primary);
  background: var(--clyro-primary);
  color: #ffffff;
}

.clyro-variant-radio .form-check-input:focus-visible + .form-check-label,
.clyro-variant-color .input-color__input:focus-visible + .input-color__label {
  outline: 3px solid rgba(15, 19, 24, 0.18);
  outline-offset: 2px;
}

.clyro-variant-color .input-color__label {
  display: flex;
  width: 38px;
  height: 38px;
  padding: 3px;
  border: 1px solid #d9dde2;
  border-radius: 50%;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.clyro-variant-color .color {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(15, 19, 24, 0.12);
  border-radius: 50%;
  background-position: center;
  background-size: cover;
}

.clyro-variant-color .input-color__label:hover {
  border-color: #9ca3af;
  transform: scale(1.04);
}

.clyro-variant-color .input-color__input:checked + .input-color__label {
  border: 2px solid var(--clyro-primary);
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px var(--clyro-primary);
}

/* Akcje: Do koszyka + Wishlist */
.product-quantity-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.add-to-cart-action-wrapper {
  flex: 1;
}

.btn-add-to-cart-modern {
  width: 100%;
  height: 52px;
  background-color: var(--clyro-primary);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  border-radius: var(--clyro-radius-pill);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(15, 19, 24, 0.25);
  cursor: pointer;
}

.btn-add-to-cart-modern:hover {
  background-color: var(--clyro-primary-hover);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  transform: translateY(-1px);
}

.wishlist-action-wrapper {
  flex: 0 0 52px;
}

.btn-wishlist-modern {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid var(--clyro-border-color);
  background: #ffffff;
  color: var(--clyro-text-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-wishlist-modern:hover {
  border-color: var(--clyro-text-dark);
  color: var(--clyro-accent-red);
  background: #fff5f5;
  transform: scale(1.05);
}

.btn-wishlist-modern .material-icons {
  font-size: 22px;
}

/* Lista korzyści i gwarancji (Trust badges) */
.product-trust-badges-list {
  border-top: 0;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.trust-badge-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: var(--clyro-radius-sm);
  transition: background 0.15s ease;
}

.trust-badge-item:hover {
  background: #f9fafb;
}

.badge-icon-col {
  flex: 0 0 20px;
  padding-top: 2px;
  display: flex;
  justify-content: center;
}

/* Pulsujący zielony punkt dostępności */
.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.status-dot.dot-green {
  background-color: var(--clyro-accent-green);
}

.status-dot.dot-orange {
  background-color: #f59e0b;
}

.status-dot.dot-red {
  background-color: #dc2626;
}

.pulsing-dot {
  animation: clyroPulseDot 1.8s infinite cubic-bezier(0.66, 0, 0, 1);
}

@keyframes clyroPulseDot {
  0% {
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(22, 163, 74, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
  }
}

.badge-icon {
  font-size: 18px;
  color: var(--clyro-text-dark);
}

.badge-content-col {
  flex: 1;
}

.badge-title {
  font-size: 14px;
  color: var(--clyro-text-dark);
  line-height: 1.35;
}

.badge-title strong {
  font-weight: 700;
}

.badge-title .highlight-date {
  font-weight: 700;
}

.info-tooltip-trigger {
  font-size: 12px;
  color: var(--clyro-text-muted);
  cursor: pointer;
  margin-left: 3px;
  display: inline-block;
}

.trust-badge-item:hover .info-tooltip-trigger {
  color: var(--clyro-text-dark);
}

.badge-subtitle {
  font-size: 12px;
  color: var(--clyro-text-muted);
  margin-top: 2px;
}

/* ==========================================================================
   PASEK RABATU (Kliknij i odbierz rabat)
   ========================================================================== */
.product-discount-claim-banner {
  border-radius: var(--clyro-radius-md);
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.product-discount-claim-banner:hover {
  border-color: #9ca3af;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.claim-main-title {
  font-size: 14px;
  color: var(--clyro-text-dark);
}

.claim-savings-sub {
  font-size: 13px;
  color: var(--clyro-accent-green);
  font-weight: 600;
  margin-top: 2px;
}

.btn-claim-discount {
  background: #f3f4f6;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-pill);
  padding: 6px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-claim-discount:hover {
  background: #e5e7eb;
}

/* ==========================================================================
   CROSS-SELL: DOBIERZ RÓWNIEŻ (KLIKALNE KAFELKI)
   ========================================================================== */
.product-cross-sell-section {
  margin-bottom: 24px;
}

.cross-sell-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  margin-bottom: 12px;
}

.cross-sell-carousel-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.cross-sell-items-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  width: 100%;
  padding: 4px 2px;
}

.cross-sell-items-track::-webkit-scrollbar {
  display: none;
}

.cross-sell-card {
  flex: 0 0 110px;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-sm);
  padding: 10px 8px;
  background: #ffffff;
  position: relative;
  text-align: center;
  text-decoration: none;
  color: var(--clyro-text-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.2s ease;
}

.cross-sell-card:hover {
  border-color: var(--clyro-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  color: #000000;
  text-decoration: none;
}

.card-thumbnail-wrapper {
  height: 65px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}

.accessory-img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.card-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.accessory-name {
  font-size: 11px;
  line-height: 1.25;
  font-weight: 500;
  color: var(--clyro-text-dark);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.accessory-price {
  font-size: 11px;
  font-weight: 700;
  color: var(--clyro-primary);
}

.cross-sell-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.cross-sell-nav-arrow.arrow-left {
  left: -12px;
}

.cross-sell-nav-arrow.arrow-right {
  right: -12px;
}

.cross-sell-nav-arrow .material-icons {
  font-size: 16px;
}

/* ==========================================================================
   LINKI SZYBKIEGO KONTAKTU / FAQ
   ========================================================================== */
.product-bottom-quick-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 10px;
}

.quick-link-anchor {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--clyro-text-dark);
  text-decoration: none;
  transition: color 0.2s ease;
}

.quick-link-anchor:hover {
  color: #000000;
  text-decoration: underline;
}

.quick-link-anchor .arrow {
  font-weight: 700;
  margin-left: 6px;
}

/* ==========================================================================
   ZAKŁADKI (TABS)
   ========================================================================== */
.modern-product-tabs {
  background: #ffffff;
  border-radius: var(--clyro-radius-md);
  border: 1px solid var(--clyro-border-color);
  padding: 24px;
}

.modern-product-tabs .nav-tabs {
  border-bottom: 1px solid var(--clyro-border-color);
  margin-bottom: 20px;
}

.modern-product-tabs .nav-tabs .nav-link {
  font-size: 15px;
  font-weight: 600;
  color: var(--clyro-text-muted);
  border: none;
  padding: 10px 18px;
  border-bottom: 2px solid transparent;
}

.modern-product-tabs .nav-tabs .nav-link.active {
  color: var(--clyro-text-dark);
  border-bottom: 2px solid var(--clyro-primary);
  background: transparent;
}

/* ==========================================================================
   MODAL POPUP - KOD RABATOWY I NEWSLETTER
   ========================================================================== */
.discount-modal-overlay,
.clyro-info-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  animation: modalFadeIn 0.25s ease-out;
}

@keyframes modalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.discount-modal-box,
.clyro-info-modal-box {
  background: #ffffff;
  border-radius: var(--clyro-radius-lg);
  max-width: 460px;
  width: 100%;
  padding: 32px 28px 26px 28px;
  position: relative;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.2);
  text-align: center;
  animation: modalSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalSlideUp {
  from { transform: translateY(20px) scale(0.96); }
  to { transform: translateY(0) scale(1); }
}

.discount-modal-close,
.clyro-info-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #f3f4f6;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--clyro-text-dark);
  transition: all 0.2s ease;
}

.discount-modal-close:hover,
.clyro-info-modal-close:hover {
  background: #e5e7eb;
  transform: rotate(90deg);
}

.discount-modal-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fef3c7;
  color: #b45309;
  padding: 4px 12px;
  border-radius: var(--clyro-radius-pill);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}

.discount-modal-badge.success-badge {
  background: #dcfce7;
  color: #15803d;
}

.discount-modal-title,
.clyro-info-modal-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--clyro-text-dark);
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.discount-modal-desc {
  font-size: 14px;
  color: var(--clyro-text-muted);
  line-height: 1.45;
  margin-bottom: 20px;
}

/* Info Modal Content */
.clyro-info-modal-header {
  margin-bottom: 18px;
}

.info-modal-icon-badge {
  width: 52px;
  height: 52px;
  background: #f3f4f6;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  color: var(--clyro-primary);
}

.info-modal-icon-badge .material-icons {
  font-size: 28px;
}

.clyro-info-modal-body {
  font-size: 14px;
  line-height: 1.55;
  color: #4b5563;
  text-align: left;
  background: #f9fafb;
  border-radius: var(--clyro-radius-md);
  padding: 16px 18px;
  margin-bottom: 20px;
}

.clyro-info-modal-body ul {
  padding-left: 20px;
  margin: 8px 0;
}

.clyro-info-modal-body li {
  margin-bottom: 6px;
}

.btn-info-modal-action {
  width: 100%;
  height: 46px;
  background: var(--clyro-primary);
  color: #ffffff;
  border: none;
  border-radius: var(--clyro-radius-pill);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-info-modal-action:hover {
  background: #000000;
}

/* Formularz newslettera */
.discount-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.form-input-group input.discount-email-input {
  width: 100%;
  height: 48px;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-md);
  padding: 0 16px;
  font-size: 15px;
  color: var(--clyro-text-dark);
  background: #ffffff;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-input-group input.discount-email-input:focus {
  border-color: var(--clyro-primary);
  box-shadow: 0 0 0 3px rgba(15, 19, 24, 0.1);
}

.form-consent-group {
  text-align: left;
  font-size: 12px;
  color: var(--clyro-text-muted);
  margin-top: 2px;
}

.consent-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}

.consent-checkbox {
  margin-top: 2px;
}

.btn-discount-submit {
  width: 100%;
  height: 48px;
  background: var(--clyro-primary);
  color: #ffffff;
  border: none;
  border-radius: var(--clyro-radius-pill);
  font-size: 15px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(15, 19, 24, 0.25);
  margin-top: 6px;
}

.btn-discount-submit:hover {
  background: var(--clyro-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

/* Krok 2: Prezentacja kodu */
.promo-code-box {
  background: #f9fafb;
  border: 2px dashed var(--clyro-primary);
  border-radius: var(--clyro-radius-md);
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0;
}

.promo-code-text {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--clyro-primary);
}

.btn-copy-code {
  background: var(--clyro-primary);
  color: #ffffff;
  border: none;
  border-radius: var(--clyro-radius-pill);
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-copy-code:hover {
  background: #000000;
}

.btn-copy-code.copied {
  background: var(--clyro-accent-green);
}

.promo-code-applied-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  color: var(--clyro-accent-green);
  margin-bottom: 20px;
}

.promo-code-applied-info .success-check {
  font-size: 18px;
}

.btn-continue-shopping {
  width: 100%;
  height: 44px;
  background: #f3f4f6;
  border: 1px solid var(--clyro-border-color);
  color: var(--clyro-text-dark);
  border-radius: var(--clyro-radius-pill);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-continue-shopping:hover {
  background: #e5e7eb;
}

/* Newsletter popup: pojedynczy panel bez obrazu. */
.discount-modal-overlay {
  background: rgba(13, 15, 18, 0.72);
  backdrop-filter: blur(3px);
}

.discount-modal-overlay .discount-modal-box {
  max-width: 560px;
  border-radius: 18px;
  padding: 56px 64px 52px;
  text-align: left;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.3);
}

.discount-modal-overlay .discount-modal-close {
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  padding: 0;
  background: transparent;
  color: #1b1d20;
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
}

.discount-modal-overlay .discount-modal-close:hover {
  background: #f4f4f2;
  transform: none;
}

.discount-modal-kicker {
  margin: 0 0 14px;
  color: #747474;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.discount-modal-logo {
  display: block;
  width: 142px;
  height: auto;
  margin: 0 0 28px;
}

.discount-modal-overlay .discount-modal-title {
  margin: 0 0 14px;
  color: #101113;
  font-size: clamp(31px, 4vw, 44px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.discount-modal-overlay .discount-modal-desc {
  max-width: 430px;
  margin: 0 0 28px;
  color: #505155;
  font-size: 16px;
  line-height: 1.5;
}

.discount-modal-overlay .discount-newsletter-form {
  gap: 18px;
}

.discount-modal-overlay .discount-email-input {
  width: 100%;
  height: 58px;
  border: 1px solid #d2d2ce;
  border-radius: 12px;
  padding: 0 18px;
  color: #141518;
  font-size: 16px;
}

.discount-modal-overlay .discount-email-input:focus {
  border-color: #17181b;
  box-shadow: 0 0 0 3px rgba(23, 24, 27, 0.09);
}

.discount-modal-overlay .consent-label {
  gap: 10px;
  color: #4d4e51;
  font-size: 13px;
  line-height: 1.45;
}

.discount-modal-overlay .consent-checkbox {
  width: 17px;
  height: 17px;
  margin-top: 1px;
  accent-color: #17181b;
}

.discount-modal-overlay .btn-discount-submit {
  height: 56px;
  margin-top: 2px;
  border-radius: 12px;
  background: #111214;
  box-shadow: none;
  font-size: 16px;
  font-weight: 600;
}

.discount-modal-overlay .btn-discount-submit:hover {
  background: #2a2c2f;
  box-shadow: none;
  transform: none;
}

.discount-modal-overlay .btn-discount-submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.discount-form-message {
  min-height: 20px;
  margin: -6px 0 0;
  color: #b42318;
  font-size: 13px;
  line-height: 1.4;
}

.discount-modal-success {
  min-height: 220px;
}

body.clyro-modal-open {
  overflow: hidden;
}

@media (max-width: 575px) {
  .discount-modal-overlay .discount-modal-box {
    padding: 50px 24px 28px;
    border-radius: 14px;
  }

  .discount-modal-overlay .discount-modal-title {
    font-size: 34px;
  }
}

/* ==========================================================================
   BRANDING CLYRO (HEADER & FOOTER)
   ========================================================================== */
.clyro-brand-logo {
  max-height: 42px;
  width: auto;
  object-fit: contain;
  display: block;
  transition: transform 0.2s ease;
}

.clyro-logo-link:hover .clyro-brand-logo {
  transform: scale(1.02);
}

.clyro-footer-dark {
  background-color: #0f1318 !important;
  color: #f3f4f6 !important;
  padding-top: 40px !important;
  padding-bottom: 25px !important;
  margin-top: 50px;
}

.clyro-footer-logo {
  max-height: 38px;
  width: auto;
  object-fit: contain;
}

.clyro-footer-dark a {
  color: #9ca3af !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.clyro-footer-dark a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

.clyro-footer-dark .footer__title,
.clyro-footer-dark h3,
.clyro-footer-dark h4 {
  color: #ffffff !important;
  font-weight: 700;
}

.clyro-footer-dark .border-dark-subtle {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.clyro-footer-dark .copyright {
  color: #6b7280 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 20px;
  margin-top: 25px;
}

/* ==========================================================================
   10. SEKCJE JEDNA POD DRUGĄ (A LA X-KOM, MYBED)
   ========================================================================== */
.product-stacked-sections-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.clyro-stacked-section {
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-lg);
  padding: 32px 28px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.clyro-stacked-section .section-header {
  border-bottom: 1px solid var(--clyro-border-color);
  padding-bottom: 16px;
  margin-bottom: 24px;
}

.clyro-stacked-section .section-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--clyro-primary);
  margin: 0;
  letter-spacing: -0.02em;
}

/* Treść opisu produktu */
.product-description-body {
  font-size: 15px;
  line-height: 1.7;
  color: #374151;
}

.product-description-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--clyro-radius-md);
  margin: 16px 0;
}

.product-description-body p {
  margin-bottom: 16px;
}

/* Tabela specyfikacji technicznej (x-kom style) */
.specs-table-container {
  overflow-x: auto;
  border-radius: var(--clyro-radius-md);
  border: 1px solid var(--clyro-border-light);
}

.specs-table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
}

.specs-table tbody tr {
  border-bottom: 1px solid var(--clyro-border-light);
  transition: background-color 0.15s ease;
}

.specs-table tbody tr:last-child {
  border-bottom: none;
}

.specs-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.specs-table tbody tr:hover {
  background-color: #f3f4f6;
}

.specs-table .spec-label {
  width: 36%;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #4b5563;
  vertical-align: middle;
  border: none;
}

.specs-table .spec-value {
  width: 64%;
  padding: 14px 20px;
  font-size: 14px;
  color: var(--clyro-text-dark);
  vertical-align: middle;
  border: none;
}

.specs-table .spec-link {
  color: var(--clyro-primary);
  text-decoration: underline;
}

/* Karty załączników i plików do pobrania */
.attachments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.attachment-card {
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-md);
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fafafa;
  transition: all 0.2s ease;
}

.attachment-card:hover {
  background: #ffffff;
  border-color: var(--clyro-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.attachment-icon {
  width: 44px;
  height: 44px;
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clyro-primary);
  flex-shrink: 0;
}

.attachment-info {
  flex: 1;
}

.attachment-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  margin: 0 0 2px 0;
}

.attachment-desc {
  font-size: 12px;
  color: var(--clyro-text-muted);
  margin: 0 0 4px 0;
}

.attachment-size {
  font-size: 11px;
  color: #9ca3af;
}

.btn-download {
  border-radius: var(--clyro-radius-pill);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  flex-shrink: 0;
}

/* ==========================================================================
   11. NOWY NAVBAR I TOPBAR (MYBED STYLE)
   ========================================================================== */

/* Topbar (Ciemny pasek na samej górze) */
.clyro-topbar {
  background-color: #0f1318;
  color: #e5e7eb;
  font-size: 12px;
  font-weight: 500;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.clyro-topbar .topbar-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #d1d5db;
}

.clyro-topbar .topbar-icon {
  font-size: 15px;
  color: #9ca3af;
}

.clyro-topbar .star-icon {
  color: #f59e0b;
}

.clyro-topbar .chevron-icon {
  font-size: 14px;
  margin-left: -2px;
}

.clyro-topbar .topbar-link {
  text-decoration: none;
  transition: color 0.2s ease;
}

.clyro-topbar .topbar-link:hover,
.clyro-topbar .topbar-contact-link:hover {
  color: #ffffff;
}

.clyro-topbar .topbar-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #d1d5db;
  text-decoration: none;
  transition: color 0.2s ease;
}

/* Główny Navbar */
.clyro-main-navbar {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.03);
}

.clyro-header-brand-logo {
  max-height: 40px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* Menu kategorii z PrestaShop */
.clyro-menu-col {
  flex: 1;
  padding: 0 30px;
}

.clyro-menu-col .ps-mainmenu {
  width: 100%;
}

.clyro-menu-col .menu--desktop .menu__list {
  display: flex;
  align-items: center;
  gap: 26px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.clyro-menu-col .menu--desktop .menu__item {
  position: relative;
}

.clyro-menu-col .menu--desktop .menu__link {
  font-size: 15px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
  transition: color 0.2s ease;
  letter-spacing: -0.01em;
}

.clyro-menu-col .menu--desktop .menu__link:hover {
  color: #000000;
  text-decoration: none;
}

/* Ukrycie domyślnej wyszukiwarki wewnątrz menu Presty */
.clyro-menu-col #_desktop_ps_searchbar {
  display: none !important;
}

/* Ikony akcji po prawej stronie */
/* Przycisk menu mobilnego (Hamburger) - Standardowy czarny / Graphite #111417 */
.clyro-hamburger-btn,
.clyro-hamburger-btn i,
.clyro-hamburger-btn .material-icons {
  color: #111417 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.clyro-hamburger-btn:hover,
.clyro-hamburger-btn:focus,
.clyro-hamburger-btn:active {
  color: #000000 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.clyro-hamburger-btn:hover .material-icons,
.clyro-hamburger-btn:hover i {
  color: #000000 !important;
}

.navbar-action-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clyro-text-dark);
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
  position: relative;
}

.navbar-action-btn:hover {
  background: #f3f4f6;
  color: #000000;
  transform: translateY(-1px);
}

.navbar-action-btn .action-icon {
  font-size: 22px;
}

/* Koszyk ze znacznikiem licznika (#C7FF2E Accent Lime) */
.cart-action-btn .cart-count-badge,
.clyro-main-navbar .cart-action-btn .cart-count-badge,
.cart-count-badge,
.clyro-cart-count,
.cart-products-count,
.js-cart-count-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  background: #C7FF2E !important;
  color: #111417 !important;
  font-size: 11px;
  font-weight: 800 !important;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Rozwijany pasek wyszukiwarki */
.clyro-search-dropdown-wrapper {
  background: #ffffff;
  border-top: 1px solid #f3f4f6;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  animation: modalFadeIn 0.2s ease-out;
}

.clyro-search-form {
  position: relative;
  max-width: 650px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.search-input-icon {
  position: absolute;
  left: 16px;
  color: #9ca3af;
  font-size: 22px;
}

.clyro-search-input {
  width: 100%;
  height: 48px;
  border-radius: var(--clyro-radius-pill) !important;
  border: 1px solid #d1d5db !important;
  padding: 0 45px 0 48px !important;
  font-size: 15px !important;
  outline: none !important;
}

.clyro-search-input:focus {
  border-color: var(--clyro-primary) !important;
  box-shadow: 0 0 0 3px rgba(15, 19, 24, 0.1) !important;
}

.btn-close-search {
  position: absolute;
  right: 12px;
  background: transparent;
  border: none;
  color: #6b7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   ŚCIEŻKA POWROTU (BREADCRUMB - MINIMALISTYCZNY STYL)
   ========================================================================== */
.clyro-breadcrumb-nav {
  padding: 16px 0 10px 0;
  font-size: 13px;
  color: #6b7280;
}

.clyro-breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.clyro-breadcrumb-list--mobile {
  display: none;
}

.clyro-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.clyro-breadcrumb-link {
  color: #6b7280;
  text-decoration: none;
  transition: color 0.2s ease;
}

.clyro-breadcrumb-link:hover {
  color: #000000;
  text-decoration: underline;
}

.clyro-breadcrumb-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.clyro-breadcrumb-back-icon {
  font-size: 18px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.clyro-breadcrumb-back-link:hover .clyro-breadcrumb-back-icon {
  transform: translateX(-3px);
}

.clyro-breadcrumb-separator {
  color: #9ca3af;
  font-size: 14px;
}

.clyro-breadcrumb-current {
  color: var(--clyro-text-dark);
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .clyro-breadcrumb-list--desktop {
    display: none;
  }

  .clyro-breadcrumb-list--mobile {
    display: flex;
  }
}

/* Schowanie domyślnej wyszukiwarki Presty na rzecz ikony lupy (MyBed style) */
#_desktop_ps_searchbar,
.ps-searchbar {
  display: none !important;
}

/* Wyrównanie menu kategorii */
.clyro-menu-col .menu--desktop .menu__list {
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
}

/* ========================================================================== 
   MOBILE MENU — the canvas is moved to <body> by custom.js.  Keeping the
   category area as the flexible, scrollable part makes every menu level work
   on short screens and with long category trees.
   ========================================================================== */
@media (max-width: 1199.98px) {
  #mobileMenu.ps-mainmenu--mobile {
    --bs-offcanvas-width: min(100vw, 390px);
    background: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  #mobileMenu .offcanvas-header {
    align-items: center;
    border-bottom: 1px solid #e5e7eb;
    flex: 0 0 auto;
    min-height: 64px;
    padding: 12px 14px;
  }

  #mobileMenu .ps-mainmenu__back-button .btn {
    align-items: center;
    color: #111827;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 5px;
    text-decoration: none;
  }

  #mobileMenu .ps-mainmenu__mobile {
    flex: 1 1 auto;
    height: auto !important;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: #cbd5e1 transparent;
    scrollbar-width: thin;
  }

  #mobileMenu .menu {
    max-width: none;
    padding: 10px 20px 24px;
  }

  #mobileMenu .menu__list {
    list-style: none;
    padding: 0;
  }

  #mobileMenu .menu__title {
    color: #111827;
    font-size: 18px;
    line-height: 1.3;
    margin: 5px 0 12px;
  }

  #mobileMenu .menu--childrens {
    border-bottom: 1px solid #eef0f2;
  }

  #mobileMenu .menu__link {
    color: #1f2937;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    padding: 13px 4px;
    text-decoration: none;
  }

  #mobileMenu .menu__link:focus-visible,
  #mobileMenu .menu__toggle-child:focus-visible,
  #mobileMenu .js-back-button:focus-visible {
    border-radius: 4px;
    outline: 3px solid rgba(17, 24, 39, .26);
    outline-offset: 2px;
  }

  #mobileMenu .menu__toggle-child {
    align-items: center;
    border-radius: 6px;
    color: #374151;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    margin-right: -7px;
    padding: 0;
  }

  #mobileMenu .menu__toggle-child:hover {
    background: #f3f4f6;
    color: #111827;
  }

  #mobileMenu .ps-mainmenu__additionnals {
    border-top: 1px solid #e5e7eb;
    flex: 0 0 auto;
    max-height: 30vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
  }
}

/* ==========================================================================
   12. UKRYCIE KOMENTARZY NA KARCIE PRODUKTU
   ========================================================================== */
.product-comments,
.productcomments,
#product-comments-list-header,
#product-comments-list,
.product-comments-additional-info {
  display: none !important;
}

/* ==========================================================================
   13. SEKCJA PRE-FOOTER: B2B + NEWSLETTER (STYL MYBED)
   ========================================================================== */
.clyro-pre-footer-section {
  margin-top: 50px;
  margin-bottom: 40px;
}

.clyro-pre-footer-card {
  background: #f9fafb;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-lg);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.clyro-pre-footer-card:hover {
  background: #ffffff;
  border-color: #d1d5db;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.clyro-pre-footer-card .card-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--clyro-text-dark);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}

.clyro-pre-footer-card .card-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
  margin-bottom: 22px;
}

.clyro-pre-footer-card .card-action-link {
  font-size: 14px;
  font-weight: 700;
  color: #b45309;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.clyro-pre-footer-card .card-action-link:hover {
  color: #92400e;
  gap: 10px;
}

/* Formularz newslettera w karcie */
.pre-footer-newsletter-form {
  margin-top: auto;
}

.newsletter-input-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.newsletter-email-input {
  flex: 1;
  height: 48px;
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-pill);
  padding: 0 20px;
  font-size: 14px;
  color: var(--clyro-text-dark);
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.newsletter-email-input:focus {
  border-color: var(--clyro-primary);
  box-shadow: 0 0 0 3px rgba(15, 19, 24, 0.1);
}

.btn-newsletter-submit {
  height: 48px;
  background: var(--clyro-primary);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  padding: 0 26px;
  border-radius: var(--clyro-radius-pill);
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-newsletter-submit:hover {
  background: #000000;
  transform: translateY(-1px);
}

/* ==========================================================================
   14. NOWOCZESNA STOPKA (LUXURY DARK FOOTER & PAYMENT BADGES)
   ========================================================================== */
.clyro-main-footer {
  background-color: #0f1318 !important;
  color: #9ca3af !important;
  padding-top: 55px !important;
  padding-bottom: 30px !important;
  font-size: 14px;
}

.footer-logo-img {
  max-height: 36px;
  width: auto;
  object-fit: contain;
}

.footer-brand-bio {
  color: #9ca3af;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.footer-contact-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-contact-link {
  color: #e5e7eb !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.2s ease;
}

.footer-contact-link:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

.footer-contact-link i {
  font-size: 16px;
  color: #9ca3af;
}

.footer-contact-info-text {
  font-size: 12px;
  color: #6b7280;
}

.footer-heading {
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: 0.02em;
}

.footer-links-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links-list a {
  color: #9ca3af !important;
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-links-list a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

.footer-trust-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-trust-badges .trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d1d5db;
  font-size: 13px;
}

.footer-trust-badges .trust-icon {
  font-size: 18px;
  color: #10b981;
}

/* Pasek płatności i dostawy na dole stopki (Oryginalne logotypy na białych tłach) */
.footer-bottom-row {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 25px;
  margin-top: 35px;
}

.footer-badges-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.footer-badges-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.badges-group-label {
  font-size: 12.5px;
  font-weight: 600;
  color: #d1d5db;
  margin-right: 2px;
  white-space: nowrap;
}

.payment-badge-card {
  background: #ffffff !important;
  border-radius: 6px;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  user-select: none;
}

.payment-badge-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.payment-badge-card img {
  height: 22px;
  max-height: 22px;
  width: auto !important;
  max-width: 80px;
  object-fit: contain;
  display: block;
}

.footer-copyright-text {
  font-size: 12.5px;
  color: #6b7280;
}

/* ==========================================================================
   15. BLOKADA POWIADOMIENIA "Twój koszyk zawiera X tych produktów"
   ========================================================================== */
.product-minimal-quantity,
.js-product-minimal-quantity {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* ==========================================================================
   16. SYSTEM ZWROTÓW I REKLAMACJI - MODAL & CMS STYLES
   ========================================================================== */
.clyro-info-modal-box {
  max-width: 520px !important;
  width: 100%;
}

.clyro-modal-returns-wrapper {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.modal-tabs-nav {
  display: flex;
  gap: 8px;
  background: #f1f5f9;
  padding: 4px;
  border-radius: var(--clyro-radius-pill);
  margin-bottom: 8px;
}

.modal-tab-btn {
  flex: 1;
  border: none;
  background: transparent;
  padding: 8px 12px;
  border-radius: var(--clyro-radius-pill);
  font-size: 13px;
  font-weight: 700;
  color: #4b5563;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.modal-tab-btn .material-icons {
  font-size: 17px;
}

.modal-tab-btn.active {
  background: #ffffff;
  color: #111827;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.returns-steps-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.returns-step-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: var(--clyro-radius-md);
  padding: 10px 14px;
}

.step-badge {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  background: #111827;
  color: #ffffff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
}

.step-badge.icon-badge {
  background: #f3f4f6;
  color: #111827;
}

.step-badge.icon-badge .material-icons {
  font-size: 16px;
}

.step-info {
  font-size: 13px;
  line-height: 1.45;
  color: #374151;
  text-align: left;
}

.step-info strong {
  color: #111827;
}

.step-info a {
  color: #111417;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #C7FF2E;
  text-underline-offset: 2px;
}

.modal-returns-bottom-bar {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px dashed #d1d5db;
  text-align: center;
}

.btn-cms-page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  text-decoration: none;
  background: #f3f4f6;
  padding: 10px 16px;
  border-radius: var(--clyro-radius-pill);
  transition: all 0.2s ease;
  width: 100%;
}

.btn-cms-page-link:hover {
  background: #e5e7eb;
  color: #000000;
  text-decoration: none;
}

.btn-cms-page-link .material-icons {
  font-size: 17px;
}

/* ==========================================================================
   DEDYKOWANA STRONA CMS - ZWROTY I REKLAMACJE (/content/6-zwroty-i-reklamacje)
   ========================================================================== */
.clyro-cms-returns-wrapper {
  color: #1f2937;
  padding-bottom: 40px;
}

.clyro-cms-returns-wrapper .returns-hero-banner {
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
  color: #ffffff;
  border-radius: 16px;
  padding: 36px 32px;
  margin-bottom: 32px;
}

.clyro-cms-returns-wrapper .returns-step-box {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  height: 100%;
  transition: box-shadow 0.2s ease;
}

.clyro-cms-returns-wrapper .returns-step-box:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.clyro-cms-returns-wrapper .step-header-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  margin-right: 14px;
}

.clyro-cms-returns-wrapper .step-header-icon.return-icon {
  background: rgba(199, 255, 46, 0.25);
  color: #111417;
}

.clyro-cms-returns-wrapper .step-header-icon.claim-icon {
  background: #f0fdf4;
  color: #15803d;
}

.clyro-cms-returns-wrapper .returns-address-box {
  background: #f8fafc;
  border: 2px dashed #cbd5e1;
  border-radius: 14px;
  padding: 24px 28px;
  margin: 32px 0;
}

.clyro-cms-returns-wrapper .returns-faq-section {
  margin-top: 40px;
}

.clyro-cms-returns-wrapper .returns-faq-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px 22px;
  margin-bottom: 14px;
}

.clyro-cms-returns-wrapper .returns-faq-question {
  font-weight: 700;
  font-size: 16px;
  color: #111827;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.clyro-cms-returns-wrapper .returns-faq-answer {
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
  margin-bottom: 0;
}


/* ==========================================================================
   16. NOWOCZESNY KOSZYK (CLYRO LUXURY SHOPPING CART)
   ========================================================================== */
.clyro-cart-page-wrapper {
  padding-top: 30px;
  padding-bottom: 70px;
  background-color: #ffffff;
  color: #111827;
}

.clyro-cart-container {
  max-width: 1280px;
  margin: 0 auto;
}

.clyro-cart-main-heading {
  font-size: 32px;
  font-weight: 800;
  color: #111827;
  margin-bottom: 28px;
  letter-spacing: -0.02em;
}

.clyro-cart-alert-wrapper {
  margin-bottom: 20px;
}

/* --- TABELA PRODUKTÓW W KOSZYKU --- */
.clyro-cart-products-section {
  margin-bottom: 56px !important;
}

.clyro-cart-table-card {
  width: 100%;
}

.clyro-cart-table-header {
  display: grid;
  grid-template-columns: 4.5fr 1.6fr 1.8fr 1.4fr 1.4fr 0.8fr;
  align-items: center;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #f1f3f5 !important;
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
}

.clyro-th-col.th-product {
  text-align: left;
}

.clyro-th-col.th-delivery {
  text-align: left;
}

.clyro-th-col.th-quantity {
  text-align: center;
}

.clyro-th-col.th-price {
  text-align: right;
}

.clyro-th-col.th-total {
  text-align: right;
}

.clyro-th-col.th-remove {
  text-align: right;
}

/* Wiersz pojedynczego produktu */
.clyro-cart-item-row {
  display: grid;
  grid-template-columns: 4.5fr 1.6fr 1.8fr 1.4fr 1.4fr 0.8fr;
  align-items: center;
  padding: 18px 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  transition: background-color 0.15s ease;
}

.clyro-cart-item-info-group {
  display: flex;
  align-items: center;
  gap: 18px;
}

.clyro-cart-item-thumb-link {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background-color: transparent !important;
  border: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.clyro-cart-item-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  border-radius: 12px;
}

.clyro-cart-item-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.clyro-cart-item-title-desc {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.clyro-cart-item-title {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  text-decoration: none;
  line-height: 1.35;
  transition: color 0.2s ease;
}

.clyro-cart-item-title:hover {
  color: #000000;
}

.clyro-cart-item-attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  color: #6b7280;
}

.clyro-cart-delivery-time {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}

/* Licznik ilości w pigułce */
.clyro-cart-qty-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.clyro-qty-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 9999px;
  padding: 4px 10px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.clyro-qty-btn {
  border: none;
  background: transparent;
  cursor: pointer;
  color: #111827;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.clyro-qty-btn:hover {
  background-color: #f3f4f6;
  color: #000000;
}

.clyro-qty-input {
  width: 34px;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  padding: 0;
  outline: none;
  -moz-appearance: textfield;
}

.clyro-qty-input::-webkit-outer-spin-button,
.clyro-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.clyro-qty-unit-label {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}

.clyro-td-col.td-price {
  text-align: right;
}

.clyro-cart-unit-price {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}

.clyro-cart-regular-price {
  display: block;
  font-size: 12px;
  color: #9ca3af;
  text-decoration: line-through;
  margin-top: 2px;
}

.clyro-td-col.td-total {
  text-align: right;
}

.clyro-cart-line-total {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
}

.clyro-td-col.td-remove {
  text-align: right;
}

.clyro-cart-remove-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e5e7eb;
  background-color: #ffffff;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: auto;
}

.clyro-cart-remove-btn:hover {
  color: #ef4444;
  border-color: #ef4444;
  background-color: #fef2f2;
  transform: scale(1.05);
}

/* --- TRZY KOLUMNY: DOSTAWA | PŁATNOŚĆ | PODSUMOWANIE --- */
.clyro-cart-three-cols-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 36px;
  margin-top: 20px;
  margin-bottom: 40px;
  align-items: start;
}

.clyro-col-header-title {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}

/* --- KARTY DOSTAWY --- */
.clyro-carriers-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.clyro-carrier-item-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  background-color: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  user-select: none;
}

.clyro-carrier-item-card:hover {
  border-color: #9ca3af;
}

.clyro-carrier-item-card.is-selected {
  border: 1.5px solid #111827;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.clyro-carrier-icon-box {
  width: 44px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  flex-shrink: 0;
}

.clyro-carrier-img {
  max-width: 44px;
  max-height: 32px;
  object-fit: contain;
}

.inpost-badge {
  display: flex;
  align-items: center;
  gap: 4px;
}

.inpost-text {
  font-size: 13px;
  font-weight: 900;
  color: #111827;
  font-style: italic;
  letter-spacing: -0.04em;
}

.mybed-badge .mybed-text {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.03em;
}

.mybed-badge .mybed-dot {
  color: #111827;
}

.clyro-carrier-info {
  flex-grow: 1;
  padding-right: 12px;
}

.clyro-carrier-title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  line-height: 1.3;
}

.clyro-carrier-subtitle {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
  line-height: 1.35;
}

.clyro-carrier-price {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  white-space: nowrap;
}

/* --- KARTY PŁATNOŚCI --- */
.clyro-payment-methods-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.clyro-payment-item-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  background-color: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  user-select: none;
}

.clyro-payment-item-card:hover {
  border-color: #9ca3af;
}

.clyro-payment-item-card.is-selected {
  border: 1.5px solid #111827;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.clyro-payment-icon-box {
  width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.clyro-payment-badge {
  display: flex;
  align-items: center;
  justify-content: center;
}

.clyro-payment-info {
  flex-grow: 1;
}

.clyro-payment-title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  line-height: 1.3;
}

.clyro-payment-subtitle {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
  line-height: 1.3;
}

.blik-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.blik-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #ef4444;
  display: inline-block;
}

.blik-text {
  font-size: 13px;
  font-weight: 900;
  color: #111827;
  text-transform: lowercase;
  letter-spacing: -0.02em;
}

.payu-badge .payu-green {
  color: #a6c400;
  font-weight: 900;
  font-size: 14px;
}

.payu-badge .payu-u {
  color: #111827;
  font-weight: 900;
  font-size: 14px;
}

.paypo-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.paypo-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #ec4899;
  display: inline-block;
}

.paypo-text {
  font-size: 13px;
  font-weight: 800;
  color: #111827;
}

.clyro-apple-pay-text,
.clyro-gpay-text {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  margin-left: 2px;
}

/* --- KOLUMNA PODSUMOWANIA --- */
.clyro-voucher-section {
  margin-bottom: 20px;
}

.clyro-voucher-toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  margin-bottom: 12px;
}

.clyro-voucher-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.clyro-custom-checkbox {
  width: 18px;
  height: 18px;
  border: 1.5px solid #111827;
  border-radius: 4px;
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  flex-shrink: 0;
}

.clyro-custom-checkbox svg {
  display: none;
}

.clyro-voucher-checkbox:checked + .clyro-custom-checkbox {
  background-color: #111827;
  border-color: #111827;
}

.clyro-voucher-checkbox:checked + .clyro-custom-checkbox svg {
  display: block;
}

/* Box wpisywania kodu rabatowego */
.clyro-voucher-form-box {
  margin-top: 10px;
  margin-bottom: 16px;
  transition: all 0.25s ease;
}

.clyro-voucher-form {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clyro-voucher-input {
  flex-grow: 1;
  height: 48px;
  border-radius: 9999px;
  border: 1px solid #e5e7eb;
  padding: 0 20px;
  font-size: 14px;
  color: #111827;
  background-color: #ffffff;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.clyro-voucher-input:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.clyro-voucher-submit-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #1e1e24;
  border: none;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.clyro-voucher-submit-btn:hover {
  background-color: #000000;
  transform: scale(1.04);
}

.clyro-added-vouchers-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  margin-bottom: 16px;
}

.clyro-voucher-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #f3f4f6;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
}

.clyro-voucher-val {
  color: #16a34a;
}

.clyro-voucher-remove {
  color: #9ca3af;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease;
}

.clyro-voucher-remove:hover {
  color: #ef4444;
}

/* Baner darmowej dostawy */
.clyro-free-shipping-card {
  background-color: #f9fafb;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  line-height: 1.45;
  color: #111827;
}

.clyro-free-shipping-card .clyro-fs-icon {
  color: #111827;
  flex-shrink: 0;
}

.clyro-free-shipping-card.is-free-reached {
  background-color: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.clyro-free-shipping-card.is-free-reached .clyro-fs-icon {
  color: #16a34a;
}

/* Podsumowanie kwot */
.clyro-cart-totals-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.clyro-total-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #111827;
}

.clyro-total-line .clyro-total-label {
  font-weight: 500;
}

.clyro-total-line .clyro-total-value {
  font-weight: 600;
}

.clyro-total-line--grand-total {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #f3f4f6;
}

.clyro-total-line--grand-total .clyro-total-label {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
}

.clyro-grand-total-amount {
  font-size: 22px;
  font-weight: 800;
  color: #111827 !important;
  letter-spacing: -0.01em;
}

/* --- DOLNY PASEK NAWIGACJI --- */
.clyro-cart-bottom-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #f3f4f6;
}

.clyro-btn-continue-shopping {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid #111827;
  border-radius: 9999px;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  background-color: transparent;
  text-decoration: none;
  transition: all 0.2s ease;
}

.clyro-btn-continue-shopping:hover {
  background-color: #111827;
  color: #ffffff;
}

.clyro-btn-checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #1e1e24;
  color: #ffffff;
  border-radius: 9999px;
  padding: 14px 44px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.clyro-btn-checkout:hover {
  background-color: #000000;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.clyro-btn-checkout.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Pusty koszyk */
.clyro-cart-empty-box {
  text-align: center;
  padding: 80px 20px;
}

.clyro-cart-empty-icon {
  color: #9ca3af;
  margin-bottom: 20px;
}

.clyro-cart-empty-title {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  margin-bottom: 10px;
}

.clyro-cart-empty-subtitle {
  font-size: 15px;
  color: #6b7280;
  margin-bottom: 30px;
}

.clyro-cart-empty-btn {
  display: inline-flex;
  margin: 0 auto;
}

/* RWD / Responsywność */
@media (max-width: 992px) {
  .clyro-cart-table-header {
    display: none;
  }

  .clyro-cart-item-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 0;
    position: relative;
  }

  .clyro-cart-item-info-group {
    width: 100%;
  }

  .clyro-td-col.td-delivery,
  .clyro-td-col.td-quantity,
  .clyro-td-col.td-price,
  .clyro-td-col.td-total {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }

  .clyro-cart-item-row .clyro-td-col.td-remove {
    position: absolute;
    top: 18px;
    right: 0;
  }

  .clyro-cart-three-cols-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .clyro-cart-bottom-actions {
    flex-direction: column-reverse;
    gap: 14px;
  }

  .clyro-btn-continue-shopping,
  .clyro-btn-checkout {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* ==========================================================================
   16. MODAL DODANO DO KOSZYKA (CLYRO ADD-TO-CART MODAL)
   ========================================================================== */
.clyro-cart-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: modalFadeIn 0.2s ease-out;
}

.clyro-cart-modal-box {
  background: #ffffff;
  border-radius: var(--clyro-radius-lg);
  max-width: 480px;
  width: 100%;
  padding: 30px 28px 24px 28px;
  position: relative;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  animation: modalSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.clyro-cart-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #f3f4f6;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--clyro-text-dark);
  transition: all 0.2s ease;
}

.clyro-cart-modal-close:hover {
  background: #e5e7eb;
  transform: rotate(90deg);
}

.cart-modal-success-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #dcfce7;
  color: #15803d;
  font-size: 14px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: var(--clyro-radius-pill);
  margin-bottom: 20px;
}

.cart-modal-success-badge i {
  font-size: 18px;
}

.clyro-cart-modal-product-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #f9fafb;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-md);
  padding: 16px;
  margin-bottom: 24px;
}

.cart-modal-product-thumb {
  width: 70px;
  height: 70px;
  border-radius: var(--clyro-radius-sm);
  background: #ffffff;
  border: 1px solid var(--clyro-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.cart-modal-product-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.cart-modal-product-info {
  flex: 1;
}

.cart-modal-product-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.cart-modal-product-price {
  font-size: 16px;
  font-weight: 800;
  color: var(--clyro-primary);
}

.clyro-cart-modal-actions {
  display: flex;
  gap: 12px;
}

.btn-cart-continue {
  flex: 1;
  height: 48px;
  background: #f3f4f6;
  border: 1px solid var(--clyro-border-color);
  color: var(--clyro-text-dark);
  border-radius: var(--clyro-radius-pill);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-cart-continue:hover {
  background: #e5e7eb;
}

.btn-cart-checkout {
  flex: 1;
  height: 48px;
  background: var(--clyro-primary);
  color: #ffffff !important;
  border-radius: var(--clyro-radius-pill);
  font-weight: 700;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(15, 19, 24, 0.25);
}

.btn-cart-checkout:hover {
  background: #000000;
  transform: translateY(-1px);
}

/* ==========================================================================
   18. CZYSTE PODSTRONY ZWROTÓW I REKLAMACJI (CMS 6 & CMS 7)
   ========================================================================== */
.clyro-clean-subpage {
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px 0 50px 0;
  color: #111827;
}

.clean-subpage-header {
  margin-bottom: 36px;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 28px;
}

.subpage-kicker {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
  margin-bottom: 8px;
}

.subpage-main-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.subpage-lead-text {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #4b5563;
  max-width: 820px;
  margin-bottom: 0;
}

.clean-section-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.01em;
  margin-bottom: 20px;
}

/* METODY OBSŁUGI */
.clean-method-box {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.clean-method-box:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.method-badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #f3f4f6;
  color: #374151;
  padding: 3px 8px;
  border-radius: 6px;
  margin-bottom: 14px;
}

.method-box-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 8px;
}

.method-box-desc {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #6b7280;
  margin-bottom: 20px;
  flex-grow: 1;
}

.clean-btn-action {
  width: 100%;
  height: 42px;
  background: #111827;
  color: #ffffff !important;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.2s ease;
}

.clean-btn-action:hover {
  background: #000000;
}

.clean-btn-action.outline {
  background: #ffffff;
  color: #111827 !important;
  border: 1px solid #d1d5db;
}

.clean-btn-action.outline:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}

/* KROKI */
.clean-step-card {
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 10px;
  padding: 18px;
  height: 100%;
}

.clean-step-num {
  font-size: 1.25rem;
  font-weight: 800;
  color: #9ca3af;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}

.clean-step-name {
  font-size: 0.98rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px;
}

.clean-step-text {
  font-size: 0.85rem;
  line-height: 1.45;
  color: #6b7280;
  margin-bottom: 0;
}

/* FORMULARZE */
.clean-form-section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 30px;
}

.clean-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}

.clean-input,
.clean-textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
  color: #111827;
  background: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.clean-input:focus,
.clean-textarea:focus {
  border-color: #111827;
  outline: none;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.clean-btn-primary {
  background: #111827;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}

.clean-btn-primary:hover {
  background: #000000;
}

.clean-note-box {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 13px;
  color: #4b5563;
}

/* ADRES */
.clean-address-panel {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 24px;
}

.address-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #374151;
  margin-bottom: 10px;
}

/* FAQ */
.clean-faq-item {
  border-bottom: 1px solid #e5e7eb !important;
  padding: 16px 0;
}

.clean-faq-item:last-child {
  border-bottom: none;
}

.clean-faq-q {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px;
}

.clean-faq-a {
  font-size: 0.9rem;
  line-height: 1.55;
  color: #6b7280;
  margin-bottom: 0;
}



.clyro-payment-img {
  max-width: 48px;
  max-height: 28px;
  object-fit: contain;
}

/* ==========================================================================
   17. CAŁKOWITA BLOKADA ALERT-INFO Z LICZNIKIEM W KOSZYKU
   ========================================================================== */
#notifications .alert-info,
.alert.alert-info.alert-dismissible,
.alert-info {
  display: none !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* ==========================================================================
   18. MODAL KOSZYKA Z CROSS-SELL "INNI KUPILI RÓWNIEŻ" (WZÓR 1:1 ZE ZRZUTU)
   ========================================================================== */
.clyro-cart-modal-container {
  background: #ffffff;
  border-radius: 20px;
  max-width: 840px;
  width: 95%;
  padding: 32px 36px 28px 36px;
  position: relative;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
  animation: modalSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  text-align: left;
}

.clyro-cart-modal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.clyro-cart-modal-top .modal-main-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--clyro-text-dark);
  margin: 0;
  letter-spacing: -0.01em;
}

.btn-modal-close {
  background: #f3f4f6;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--clyro-text-dark);
  transition: all 0.2s ease;
}

.btn-modal-close:hover {
  background: #e5e7eb;
  transform: rotate(90deg);
}

/* Wiersz dodanego produktu i podsumowania */
.clyro-cart-modal-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 22px;
  border-bottom: 1px solid #e5e7eb !important;
  margin-bottom: 24px;
  gap: 20px;
}

.added-product-col {
  display: flex;
  align-items: center;
  gap: 16px;
}

.added-product-thumb {
  width: 70px;
  height: 70px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  padding: 4px;
}

.added-product-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.added-product-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  margin: 0 0 4px 0;
}

.added-product-qty,
.added-product-price {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
}

.added-product-price strong {
  color: var(--clyro-text-dark);
  display: inline-block;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.2;
}

.cart-totals-col {
  text-align: right;
  font-size: 14px;
  color: #4b5563;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cart-totals-col .highlight-val {
  color: #b45309;
  font-weight: 800;
  margin-left: 4px;
}

/* Sekcja Cross-sell: Inni kupili również */
.cross-sell-modal-title {
  font-size: 17px;
  font-weight: 800;
  color: var(--clyro-text-dark);
  margin-bottom: 16px;
}

.cross-sell-modal-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

@media (max-width: 767px) {
  .cross-sell-modal-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.modal-cross-sell-card {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: var(--clyro-text-dark) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.modal-cross-sell-card:hover {
  transform: translateY(-2px);
}

.modal-cross-sell-card .card-img-wrap {
  background: #f9fafb;
  border: 1px solid var(--clyro-border-light);
  border-radius: 12px;
  height: 125px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  overflow: hidden;
  padding: 10px;
  transition: border-color 0.2s ease;
}

.modal-cross-sell-card:hover .card-img-wrap {
  border-color: #d1d5db;
}

.modal-cross-sell-card .card-img-wrap img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.modal-cross-sell-card .card-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--clyro-text-dark);
  margin-bottom: 6px;
  line-height: 1.3;
  min-height: 34px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.modal-cross-sell-card .card-price {
  font-size: 14px;
  font-weight: 800;
  color: var(--clyro-text-dark);
}

/* Pasek postępu pod kafelkami */
.modal-cross-sell-progress {
  display: flex;
  justify-content: center;
  margin: 16px 0 24px 0;
}

.modal-progress-bar-track {
  width: 140px;
  height: 4px;
  background: #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

.modal-progress-bar-thumb {
  height: 100%;
  width: 35%;
  background: #111827;
  border-radius: 4px;
}

/* Dolne przyciski nawigacji */
.clyro-cart-modal-bottom-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.btn-cart-modal-continue {
  background: #ffffff;
  border: 1px solid #111827;
  color: #111827;
  border-radius: var(--clyro-radius-pill);
  height: 48px;
  padding: 0 28px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-cart-modal-continue:hover {
  background: #f3f4f6;
}

.btn-cart-modal-checkout {
  background: #111827;
  color: #ffffff !important;
  border-radius: var(--clyro-radius-pill);
  height: 48px;
  padding: 0 36px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.btn-cart-modal-checkout:hover {
  background: #000000;
  transform: translateY(-1px);
}

/* ==========================================================================
   19. STRZAŁKI DLA MINIATUR I DOTYK / SWIPE
   ========================================================================== */
.thumbs-carousel-container {
  position: relative;
  width: 100%;
}

.thumbs-nav-arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.thumbs-nav-arrow:hover {
  background: #f3f4f6;
  border-color: var(--clyro-primary);
  transform: scale(1.08);
}

.thumbs-nav-arrow .material-icons {
  font-size: 18px;
}

.thumbs-mask {
  flex: 1;
  overflow: hidden;
  padding: 4px 8px;
}

/* ==========================================================================
   20. STYLE CROSS-SELL "DOBIERZ RÓWNIEŻ" Z PRZYCISKAMI DODAJ DO KOSZYKA
   ========================================================================== */
.cross-sell-card-item {
  flex: 0 0 140px;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-md);
  padding: 10px;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.cross-sell-card-item:hover {
  border-color: var(--clyro-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.card-link-wrap {
  text-decoration: none !important;
  color: var(--clyro-text-dark) !important;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.card-discount-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  background: var(--clyro-accent-red);
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: var(--clyro-radius-pill);
}

.accessory-price-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  margin-bottom: 8px;
}

.accessory-regular-price {
  font-size: 11px;
  text-decoration: line-through;
  color: var(--clyro-text-muted);
}

.btn-quick-add-card {
  width: 100%;
  height: 32px;
  background: #f3f4f6;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-pill);
  font-size: 12px;
  font-weight: 700;
  color: var(--clyro-text-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0 8px;
}

.btn-quick-add-card:hover {
  background: var(--clyro-primary);
  color: #ffffff;
  border-color: var(--clyro-primary);
}

.btn-quick-add-card .material-icons {
  font-size: 14px;
}

/* Dobierz również: tylko miniatura, etykiety i tytuł. */
.cross-sell-card-item {
  flex: 0 0 154px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.cross-sell-card-item:hover {
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

.cross-sell-card-item .card-link-wrap {
  gap: 10px;
}

.cross-sell-card-item .card-thumbnail-wrapper {
  position: relative;
  width: 100%;
  height: 154px;
  margin: 0;
  overflow: hidden;
  background: #f6f6f4;
}

.cross-sell-card-item .accessory-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.cross-sell-card-item:hover .accessory-img {
  transform: scale(1.03);
}

.cross-sell-card-item .card-info {
  display: block;
}

.cross-sell-card-item .accessory-name {
  display: -webkit-box;
  min-height: 34px;
  overflow: hidden;
  color: #1c1d20;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.accessory-flags {
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  pointer-events: none;
}

.accessory-flag {
  padding: 4px 7px;
  background: #151619;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.accessory-flag-discount {
  background: #ba2d2d;
}

.accessory-flag-new {
  background: #1f6653;
}

/* ==========================================================================
   21. STYLE MODALA KOSZYKA Z PRZYCISKAMI DODAJ DO KOSZYKA POD KAŻDYM PRODUKTEM
   ========================================================================== */
.cross-sell-modal-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 4px 2px;
  touch-action: pan-y;
  user-select: none;
}

.cross-sell-modal-track::-webkit-scrollbar {
  display: none;
}

.modal-cross-sell-card-wrap {
  flex: 0 0 170px;
  border: 1px solid var(--clyro-border-color);
  border-radius: var(--clyro-radius-md);
  padding: 10px;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.modal-cross-sell-card-wrap:hover {
  border-color: #9ca3af;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.btn-modal-quick-add {
  width: 100%;
  height: 34px;
  background: var(--clyro-primary);
  color: #ffffff !important;
  border: none;
  border-radius: var(--clyro-radius-pill);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 8px;
}

.btn-modal-quick-add:hover {
  background: #000000;
  transform: translateY(-1px);
}

.btn-modal-quick-add.is-added,
.btn-modal-quick-add.is-added:disabled {
  background: #059669;
  color: #ffffff !important;
  cursor: default;
  opacity: 1;
}

.btn-modal-quick-add.is-added:hover {
  background: #059669;
  transform: none;
}

.btn-modal-quick-add .material-icons {
  font-size: 15px;
}

.btn-slider-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--clyro-border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-slider-arrow:hover {
  background: #f3f4f6;
  border-color: var(--clyro-primary);
}

.btn-slider-arrow .material-icons {
  font-size: 16px;
}

.card-price-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
}

.card-regular-price {
  font-size: 11px;
  text-decoration: line-through;
  color: var(--clyro-text-muted);
}

/* Popup po dodaniu do koszyka: bez ramek i z równym podsumowaniem. */
.added-product-thumb {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.added-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-totals-col {
  display: grid;
  grid-template-columns: max-content;
  gap: 18px;
  color: #606166;
}

.cart-total-item {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}

.cart-total-item .label {
  font-size: 12px;
  line-height: 1.25;
}

.cart-totals-col .highlight-val {
  margin-left: 0;
  color: #18191c;
  font-size: 16px;
  font-weight: 750;
}

/* Upsell w popupie: więcej kart, bez ramek i bez etykiety rabatowej. */
.modal-cross-sell-card-wrap {
  flex: 0 0 calc((100% - 56px) / 5);
  min-width: 124px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.modal-cross-sell-card-wrap:hover {
  border-color: transparent;
  box-shadow: none;
}

.modal-cross-sell-card .card-img-wrap {
  height: auto;
  aspect-ratio: 1;
  margin-bottom: 9px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: #f6f6f4;
}

.modal-cross-sell-card:hover .card-img-wrap {
  border-color: transparent;
}

.modal-cross-sell-card .card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modal-cross-sell-card .card-name {
  margin-bottom: 5px;
  font-size: 12px;
}

.btn-modal-quick-add {
  margin-top: 6px;
}

@media (max-width: 700px) {
  .clyro-cart-modal-container {
    width: calc(100% - 20px);
    max-height: calc(100dvh - 20px);
    overflow: hidden;
    padding: 18px 18px 16px;
  }

  .clyro-cart-modal-top {
    padding-bottom: 10px;
    margin-bottom: 12px;
  }

  .clyro-cart-modal-top .modal-main-title {
    font-size: 18px;
  }

  .clyro-cart-modal-summary-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 14px;
    margin-bottom: 14px;
  }

  .added-product-col {
    width: 100%;
    gap: 12px;
  }

  .added-product-thumb {
    width: 54px;
    height: 54px;
  }

  .added-product-name {
    font-size: 14px;
  }

  .cart-totals-col {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .cart-total-item {
    align-items: flex-start;
  }

  .cross-sell-modal-track {
    gap: 10px;
    padding: 2px 0;
    scroll-snap-type: x mandatory;
  }

  .modal-cross-sell-card-wrap {
    flex: 0 0 calc((100% - 10px) / 2);
    min-width: 0;
    scroll-snap-align: start;
  }

  .modal-cross-sell-card .card-img-wrap {
    aspect-ratio: auto;
    height: 102px;
    margin-bottom: 6px;
  }

  .modal-cross-sell-card .card-name {
    min-height: 30px;
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.25;
  }

  .card-price-row {
    margin-top: 0;
  }

  .modal-cross-sell-card .card-price,
  .card-regular-price {
    font-size: 11px;
  }

  .btn-modal-quick-add {
    height: 30px;
    margin-top: 4px;
    font-size: 11px;
  }

  .modal-cross-sell-progress {
    display: none;
  }

  .clyro-cart-modal-bottom-actions {
    gap: 10px;
    margin-top: 16px;
  }

  .btn-cart-modal-continue,
  .btn-cart-modal-checkout {
    flex: 1;
    padding: 0 12px;
  }
}

/* Reset Hummingbird default borders and paddings on cart elements */
.clyro-cart-table-card .cart__overview,
.clyro-cart-table-card .cart__list,
.clyro-cart-table-card .cart__item {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.clyro-cart-table-card .clyro-cart-item-row,
.clyro-cart-table-card .product-line.clyro-cart-item-row,
.clyro-cart-table-card .cart__item .clyro-cart-item-row {
  display: grid !important;
  grid-template-columns: 4.5fr 1.6fr 1.8fr 1.4fr 1.4fr 0.8fr !important;
  align-items: center !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f1f3f5 !important;
  min-height: 100px !important;
  background: transparent !important;
}

.clyro-cart-table-card .clyro-cart-item-container:last-child .clyro-cart-item-row {
  border-bottom: none !important;
}

.clyro-cart-table-card hr {
  display: none !important;
}

.clyro-cart-products-list .clyro-cart-item-container {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.clyro-cart-products-list .clyro-cart-item-container .clyro-cart-item-row {
  border-bottom: 1px solid #f1f3f5 !important;
}

.clyro-cart-products-list .clyro-cart-item-container:last-child .clyro-cart-item-row {
  border-bottom: none !important;
}

/* ==========================================================================
   22. POPRAWKI Z-INDEX MODALA I PRZEWIJANIA DOTYKOWEGO
   ========================================================================== */
.clyro-cart-modal-overlay,
.discount-modal-overlay,
.clyro-info-modal-overlay {
  z-index: 9999999 !important;
}

.product-flags-wrapper {
  z-index: 5 !important;
}

/* ==========================================================================
   23. NOWOCZESNY CHECKOUT / KARTA DANE OSOBOWE I ADRESOWE (CLYRO PIXEL-PERFECT)
   ========================================================================== */

/* Ukrycie standardowych kroków i niepotrzebnych elementów na górze */
.checkout-steps,
.checkout-steps__desktop,
.checkout-steps__mobile,
.step__title.js-step-title,
.page-title-section {
  display: none !important;
}

.clyro-checkout-page-container {
  padding-top: 10px;
  padding-bottom: 50px;
}

/* Baner KSeF */
.clyro-ksef-banner {
  background-color: #fdf6df;
  border: 1px solid #f7ebc7;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 30px;
}

.clyro-ksef-badge {
  font-size: 15px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.2px;
  line-height: 1.4;
  flex-shrink: 0;
}

.clyro-ksef-text {
  font-size: 13.5px;
  line-height: 1.5;
  color: #374151;
  font-weight: 400;
}

/* Siatka 2-kolumnowa formularza */
.clyro-checkout-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

@media (max-width: 991px) {
  .clyro-checkout-form-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Sekcje i nagłówki */
.clyro-card-section {
  position: relative;
}

.clyro-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.clyro-section-heading {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 20px;
  letter-spacing: -0.2px;
}

.clyro-section-header .clyro-section-heading {
  margin-bottom: 0;
}

.clyro-link-login {
  background: none;
  border: none;
  padding: 0;
  font-size: 13.5px;
  color: #6b7280;
  cursor: pointer;
}

.clyro-link-login span {
  color: #111827;
  font-weight: 700;
  text-decoration: underline;
}

/* Etykiety i pola */
.clyro-field-wrap {
  margin-bottom: 18px;
  position: relative;
}

.clyro-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  margin-bottom: 6px;
}

.clyro-label-muted {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #6b7280;
  margin-bottom: 6px;
}

.clyro-asterisk {
  color: #111827;
  font-weight: 600;
  margin-right: 2px;
}

/* Zaokrąglone pola Input Pill */
.clyro-input-pill {
  width: 100%;
  height: 48px;
  border-radius: 9999px;
  border: 1px solid #d1d5db;
  background-color: #ffffff;
  padding: 0 20px;
  font-size: 14.5px;
  color: #111827;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none;
}

.clyro-input-pill:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.clyro-field-wrap.has-error .clyro-input-pill {
  border-color: #e11d48;
  background-color: #fffafb;
}

.clyro-error-msg {
  color: #e11d48;
  font-size: 12.5px;
  margin-top: 5px;
  padding-left: 12px;
}

/* Select Pill */
.clyro-select-container {
  position: relative;
  width: 100%;
}

.clyro-select-pill {
  width: 100%;
  height: 48px;
  border-radius: 9999px;
  border: 1px solid #d1d5db;
  background-color: #ffffff;
  padding: 0 40px 0 20px;
  font-size: 14.5px;
  color: #111827;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}

.clyro-select-pill:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.clyro-select-arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #4b5563;
  display: flex;
  align-items: center;
}

/* Radio buttons (osoba prywatna / firma) */
.clyro-radio-group {
  display: flex;
  gap: 24px;
  align-items: center;
}

.clyro-radio-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  font-size: 14.5px;
  font-weight: 500;
  color: #111827;
}

.clyro-radio-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.clyro-radio-btn {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid #9ca3af;
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s;
}

.clyro-radio-option input[type="radio"]:checked + .clyro-radio-btn {
  border-color: #111827;
}

.clyro-radio-option input[type="radio"]:checked + .clyro-radio-btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #111827;
}

/* Informacja o wymaganych polach */
.clyro-required-hint {
  font-size: 13px;
  color: #111827;
  margin-top: 10px;
}

.clyro-required-hint .clyro-asterisk {
  color: #e11d48;
}

/* InPost Box */
.clyro-inpost-info-box {
  margin-bottom: 24px;
}

.clyro-inpost-title {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 8px;
  line-height: 1.4;
}

.clyro-inpost-text {
  font-size: 13px;
  line-height: 1.5;
  color: #4b5563;
  margin-bottom: 14px;
}

/* Zaokrąglona Textarea */
.clyro-textarea-rounded {
  width: 100%;
  min-height: 140px;
  border-radius: 16px;
  border: 1px solid #d1d5db;
  background-color: #ffffff;
  padding: 14px 18px;
  font-size: 14px;
  color: #111827;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s, box-shadow 0.2s;
  font-family: var(--clyro-font);
}

.clyro-textarea-rounded:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

/* Checkboxy stylizowane */
.clyro-consents-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.clyro-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  position: relative;
  font-size: 14px;
  line-height: 1.45;
  color: #1f2937;
}

.clyro-checkbox-row input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.clyro-checkbox-box {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1.5px solid #9ca3af;
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.15s ease;
}

.clyro-checkbox-row input[type="checkbox"]:checked + .clyro-checkbox-box {
  border-color: #111827;
  background-color: #111827;
}

.clyro-checkbox-row input[type="checkbox"]:checked + .clyro-checkbox-box::after {
  content: "";
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-bottom: 2px;
}

.clyro-checkbox-text {
  flex: 1;
}

.clyro-text-link {
  color: #111827;
  text-decoration: underline;
  font-weight: 500;
}

.clyro-newsletter-head {
  font-weight: 600;
  color: #111827;
  display: block;
}

.clyro-newsletter-sub {
  font-size: 12.5px;
  color: #6b7280;
  display: block;
  margin-top: 2px;
  line-height: 1.4;
}

.clyro-privacy-link {
  font-size: 12.5px;
  color: #6b7280;
  text-decoration: underline;
  display: inline-block;
  margin-top: 2px;
}

/* Przycisk Dalej */
.clyro-form-bottom-bar {
  display: flex;
  justify-content: flex-end;
  margin-top: 30px;
}

.clyro-btn-checkout-submit {
  background-color: #0f1318;
  color: #ffffff;
  border: none;
  border-radius: 9999px;
  height: 48px;
  padding: 0 36px;
  font-size: 15px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(15, 19, 24, 0.1);
}

.clyro-btn-checkout-submit:hover {
  background-color: #000000;
  transform: translateY(-1px);
  box-shadow: 0 5px 15px rgba(15, 19, 24, 0.18);
  color: #ffffff;
}

/* Baner zalogowanego użytkownika */
.clyro-logged-account-banner {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.clyro-logged-account-info {
  display: flex;
  align-items: center;
  gap: 14px;
}

.clyro-user-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #374151;
}

.clyro-logged-title {
  font-size: 15px;
  color: #111827;
}

.clyro-logged-email {
  font-size: 13.5px;
  color: #6b7280;
}

.clyro-btn-logout {
  font-size: 13.5px;
  color: #e11d48;
  font-weight: 600;
  text-decoration: underline;
}

/* Stylowanie karty logowania */
.clyro-login-card {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  max-width: 480px;
}





/* ==========================================================================
   17. SEKCJA PRODUKTÓW POLEKANYCH W KOSZYKU - TOUCH SLIDER (CLYRO LUXURY)
   ========================================================================== */
.clyro-cart-extra-footer {
  margin-top: 72px !important;
  padding-top: 48px !important;
  border-top: 1px solid #f1f3f5 !important;
  width: 100% !important;
}

.clyro-featured-slider-section {
  width: 100%;
}

.clyro-featured-slider-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.clyro-featured-slider-title {
  font-family: inherit;
  font-size: 26px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.02em;
  margin: 0;
}

.clyro-slider-nav-arrows {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clyro-slider-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid #e5e7eb;
  background: #ffffff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  user-select: none;
}

.clyro-slider-arrow:hover {
  background: #111827;
  color: #ffffff;
  border-color: #111827;
  transform: scale(1.05);
}

.clyro-slider-arrow:active {
  transform: scale(0.95);
}

/* Touch Viewport & Track */
.clyro-featured-slider-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.clyro-featured-slider-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 12px;
  padding-top: 4px;
  cursor: grab;
  user-select: none;
}

.clyro-featured-slider-track::-webkit-scrollbar {
  display: none;
}

.clyro-featured-slider-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}

/* Slajd produktu */
.clyro-featured-slide-item {
  flex: 0 0 280px;
  width: 280px;
  max-width: 280px;
  min-width: 280px;
  scroll-snap-align: start;
}

@media (max-width: 768px) {
  .clyro-featured-slide-item {
    flex: 0 0 240px;
    width: 240px;
    max-width: 240px;
    min-width: 240px;
  }
}

/* Czysty kafelek - ZERO RAMEK, ZERO CIENI NA HOVERZE */
.clyro-product-card-clean {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.clyro-product-card-clean:hover {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Zdjęcie */
.clyro-product-card-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
  text-decoration: none;
}

.clyro-product-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  background: transparent !important;
  mix-blend-mode: multiply;
  transition: transform 0.35s ease;
  display: block;
}

.clyro-product-card-clean:hover .clyro-product-card-img {
  transform: scale(1.03);
}

/* Tytuł */
.clyro-product-card-title {
  color: #111827;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  margin-top: 12px;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.clyro-product-card-title:hover {
  color: #c89b3f;
}

/* Ceny */
.clyro-product-card-pricing {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 14px;
}

.clyro-product-card-price {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
}

.clyro-product-card-old-price {
  font-size: 13px;
  color: #9ca3af;
  text-decoration: line-through;
}

/* Przycisk: Dodaj do koszyka */
.clyro-product-card-action {
  margin-top: auto;
}

.clyro-btn-add-featured {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 9999px;
  background-color: #111827;
  color: #ffffff !important;
  border: 1.5px solid #111827;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.clyro-btn-add-featured:hover {
  background-color: #2b3544;
  border-color: #2b3544;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(17, 24, 39, 0.12);
}

.clyro-btn-add-featured .btn-text-default {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.clyro-btn-add-featured .clyro-btn-icon-cart {
  flex-shrink: 0;
  margin-right: 2px;
}

.clyro-btn-add-featured .btn-text-added {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.clyro-btn-add-featured .clyro-btn-icon-check {
  flex-shrink: 0;
}

/* Stan: Dodano do koszyka (zielony) */
.clyro-btn-add-featured .btn-text-default {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #ffffff !important;
}

.clyro-btn-add-featured .btn-text-added {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #ffffff !important;
}

.clyro-btn-add-featured.is-added {
  background-color: #059669 !important;
  border-color: #059669 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.25) !important;
}

.clyro-btn-add-featured.is-added .btn-text-default {
  display: none !important;
}

.clyro-btn-add-featured.is-added .btn-text-added {
  display: inline-flex !important;
  color: #ffffff !important;
}

/* Dolny przycisk: Zobacz polecane produkty */
.clyro-featured-slider-footer {
  margin-top: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.clyro-btn-see-all-featured {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 13px 36px !important;
  border-radius: 9999px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #111827 !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  cursor: pointer !important;
}

.clyro-btn-see-all-featured:hover {
  background-color: #111827 !important;
  color: #ffffff !important;
  border-color: #111827 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px -4px rgba(17, 24, 39, 0.16) !important;
}

.clyro-btn-see-all-featured svg {
  transition: transform 0.2s ease !important;
}

.clyro-btn-see-all-featured:hover svg {
  transform: translateX(4px) !important;
}

/* ==========================================================================
   28. PEŁNA OBSŁUGA KLIKANIA I STYLÓW WARIANTÓW (KOLORY I ROZMIARY)
   ========================================================================== */
.product-variant__colors,
.clyro-variant-colors {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 8px !important;
  margin-bottom: 4px !important;
  width: 100% !important;
}

.product-variant__color.input-color,
.clyro-variant-color {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.input-color__input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.input-color__label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  padding: 2px !important;
  border: 1px solid #d9dde2 !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 0 !important;
}

.input-color__label:hover {
  border-color: #9ca3af !important;
  transform: scale(1.1) !important;
}

.input-color__label span.color {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  background-size: cover !important;
  background-position: center !important;
}

.input-color__input:checked + .input-color__label {
  border-color: transparent !important;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0f1318 !important;
  transform: scale(1.05) !important;
}


/* Błędy kodu rabatowego */
.clyro-voucher-error-box {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background-color: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
  color: #dc2626 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-top: 10px !important;
}

.clyro-voucher-error-box.is-visible,
.clyro-voucher-error-box[data-visible="true"] {
  display: flex !important;
}

.clyro-voucher-error-box .clyro-alert-icon {
  color: #dc2626 !important;
  flex-shrink: 0;
}

.clyro-voucher-error-text {
  color: #dc2626 !important;
}

/* ==========================================================================
   29. STRONA GŁÓWNA (HOMEPAGE) - PEŁNA ARCHITEKTURA WIDOKÓW I SLIDERÓW
   ========================================================================== */

/* Globalny root strony głównej i sekcje z poprawnymi szerokościami */
.clyro-homepage-root {
  width: 100%;
  overflow-x: hidden;
}

.clyro-home-section {
  margin-bottom: 56px;
  width: 100%;
}

.clyro-home-section.clyro-section-hero {
  margin-top: 16px;
  margin-bottom: 28px;
}

.clyro-home-section.clyro-section-usp {
  margin-bottom: 48px;
}

.clyro-home-section.clyro-section-prefooter {
  margin-bottom: 0;
  margin-top: 24px;
}

/* --- 1. HERO SLIDER NA GÓRZE (ps_imageslider) --- */
.clyro-hero-slider-container {
  position: relative;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.clyro-hero-slider {
  position: relative;
  width: 100%;
  border-radius: 20px;
}

.clyro-hero-carousel-inner {
  border-radius: 20px;
  overflow: hidden;
}

.clyro-hero-slide-item {
  position: relative;
}

.clyro-hero-slide-content {
  position: relative;
  width: 100%;
  height: 480px;
  max-height: 480px;
  overflow: hidden;
  border-radius: 20px;
  background-color: #0f1318;
}

@media (max-width: 992px) {
  .clyro-hero-slide-content {
    height: 380px;
    max-height: 380px;
  }
}

@media (max-width: 576px) {
  .clyro-hero-slide-content {
    height: 280px;
    max-height: 280px;
  }
}

.clyro-hero-slide-figure {
  margin: 0;
  width: 100%;
  height: 100%;
}

.clyro-hero-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.clyro-hero-slide-caption {
  position: absolute;
  left: 40px;
  bottom: 40px;
  max-width: 520px;
  background: rgba(15, 19, 24, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 24px 30px;
  border-radius: 16px;
  color: #ffffff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  z-index: 10;
}

@media (max-width: 768px) {
  .clyro-hero-slide-caption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    padding: 14px 18px;
  }
}

.clyro-hero-caption-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #c89b3f;
  margin-bottom: 6px;
}

.clyro-hero-caption-title {
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 8px 0;
  color: #ffffff;
  letter-spacing: -0.02em;
}

@media (max-width: 768px) {
  .clyro-hero-caption-title {
    font-size: 18px;
    margin-bottom: 4px;
  }
}

.clyro-hero-caption-desc {
  font-size: 13.5px;
  line-height: 1.45;
  color: #d1d5db;
  margin-bottom: 14px;
}

@media (max-width: 768px) {
  .clyro-hero-caption-desc {
    display: none;
  }
}

.clyro-hero-caption-desc p {
  margin: 0;
}

.clyro-btn-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #0f1318 !important;
  padding: 9px 20px;
  border-radius: 9999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.clyro-btn-hero-cta:hover {
  background: #0f1318;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.clyro-hero-control-prev, .clyro-hero-control-next {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  color: #0f1318;
  opacity: 0;
  transition: all 0.25s ease;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
}

.clyro-hero-control-prev { left: 20px; }
.clyro-hero-control-next { right: 20px; }

.clyro-hero-slider-container:hover .clyro-hero-control-prev,
.clyro-hero-slider-container:hover .clyro-hero-control-next {
  opacity: 1;
}

.clyro-slider-indicators {
  margin-bottom: 16px;
  gap: 8px;
}

.clyro-indicator-pill {
  width: 28px !important;
  height: 5px !important;
  border-radius: 9999px !important;
  background-color: rgba(255, 255, 255, 0.5) !important;
  border: none !important;
  transition: all 0.25s ease !important;
  padding: 0 !important;
  margin: 0 !important;
}

.clyro-indicator-pill.active {
  width: 44px !important;
  background-color: #ffffff !important;
}

/* --- 2. PASEK KORZYŚCI I ZAUFANIA (USP BAR) --- */
.clyro-usp-bar {
  width: 100%;
}

.clyro-pre-footer-usp-section {
  padding: 35px 0 10px 0;
}

.clyro-usp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  width: 100%;
}

@media (max-width: 992px) {
  .clyro-usp-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

@media (max-width: 576px) {
  .clyro-usp-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.clyro-usp-card {
  background: #f9f9fb;
  border: 1px solid #eef0f3;
  border-radius: 16px;
  padding: 28px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 120px;
  transition: all 0.25s ease;
}

.clyro-usp-card:hover {
  transform: translateY(-2px);
  background: #ffffff;
  border-color: #d1d5db;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.clyro-usp-icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  color: #111827;
}

.clyro-usp-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}

.clyro-usp-text {
  font-size: 14.5px;
  font-weight: 500;
  color: #111827;
  line-height: 1.35;
  letter-spacing: -0.01em;
  margin: 0;
}

/* --- 3. GORĄCY STRZAŁ / PRODUKT DNIA (X-KOM STYLE 6H) --- */
.clyro-hotshot-wrapper {
  width: 100%;
}

.clyro-hotshot-card {
  background: #ffffff;
  border: 1.5px solid #e5e7eb;
  border-radius: 20px;
  padding: 28px 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .clyro-hotshot-card {
    padding: 20px 16px;
  }
}

.clyro-hotshot-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid #f1f3f5;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 12px;
}

.clyro-hotshot-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clyro-hotshot-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%);
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 9999px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 8px rgba(225, 29, 72, 0.28);
}

.clyro-flame-icon {
  animation: flamePulse 1.5s infinite alternate ease-in-out;
}

@keyframes flamePulse {
  0% { transform: scale(1); }
  100% { transform: scale(1.18); }
}

.clyro-hotshot-subtitle {
  font-size: 13.5px;
  color: #6b7280;
  font-weight: 500;
}

.clyro-hotshot-timer {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clyro-hotshot-timer-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #f1f3f5;
}

.clyro-timer-label {
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
}

.clyro-timer-units {
  display: flex;
  align-items: center;
  gap: 4px;
}

.clyro-timer-unit {
  background: #0f1318;
  color: #ffffff;
  border-radius: 8px;
  padding: 4px 8px;
  min-width: 44px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.clyro-timer-num {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.clyro-timer-txt {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
}

.clyro-timer-sep {
  font-weight: 800;
  font-size: 16px;
  color: #0f1318;
}

.clyro-hotshot-body {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 36px;
  align-items: center;
}

@media (max-width: 992px) {
  .clyro-hotshot-body {
    grid-template-columns: 260px 1fr;
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .clyro-hotshot-body {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.clyro-hotshot-media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #f9fafb;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
}

.clyro-hotshot-discount-flag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #e11d48;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 9999px;
  z-index: 5;
  box-shadow: 0 2px 6px rgba(225, 29, 72, 0.35);
}

.clyro-hotshot-img-link {
  display: block;
  width: 100%;
  height: 100%;
}

.clyro-hotshot-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
  transition: transform 0.35s ease;
}

.clyro-hotshot-card:hover .clyro-hotshot-img {
  transform: scale(1.03);
}

.clyro-hotshot-info {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.clyro-hotshot-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.clyro-hotshot-tag {
  background: #f3f4f6;
  color: #374151;
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.clyro-hotshot-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
}

.clyro-stars { color: #f59e0b; }
.clyro-rating-val { font-weight: 700; color: #4b5563; }

.clyro-hotshot-title {
  font-size: 23px;
  font-weight: 800;
  margin: 0;
  line-height: 1.3;
}

.clyro-hotshot-title a {
  color: #111827;
  text-decoration: none;
  transition: color 0.2s ease;
}

.clyro-hotshot-title a:hover {
  color: #c89b3f;
}

.clyro-hotshot-pricing {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}

.clyro-hotshot-deal-price {
  font-size: 28px;
  font-weight: 900;
  color: #e11d48;
  letter-spacing: -0.02em;
}

.clyro-hotshot-regular-price {
  font-size: 17px;
  color: #9ca3af;
  text-decoration: line-through;
  font-weight: 500;
}

.clyro-hotshot-savings {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.clyro-hotshot-stock-block {
  margin-top: 2px;
  margin-bottom: 4px;
}

.clyro-stock-labels {
  display: flex;
  justify-content: space-between;
  font-size: 12.5px;
  color: #4b5563;
  margin-bottom: 6px;
}

.clyro-stock-left strong {
  color: #e11d48;
}

.clyro-stock-progress-bar {
  height: 8px;
  background: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
}

.clyro-stock-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  border-radius: 9999px;
  transition: width 0.5s ease;
}

.clyro-btn-add-hotshot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 26px;
  background: #0f1318;
  color: #ffffff !important;
  border: 1.5px solid #0f1318;
  border-radius: 9999px;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
  width: 100%;
  max-width: 320px;
}

.clyro-btn-add-hotshot .btn-text-default {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #ffffff !important;
}

.clyro-btn-add-hotshot .btn-text-added {
  display: none !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff !important;
}

@media (max-width: 576px) {
  .clyro-btn-add-hotshot {
    max-width: 100%;
  }
}

.clyro-btn-add-hotshot:hover {
  background: #000000;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(15, 19, 24, 0.2);
}

.clyro-btn-add-hotshot.is-added {
  background: #059669 !important;
  border-color: #059669 !important;
}

.clyro-btn-add-hotshot.is-added .btn-text-default {
  display: none !important;
}

.clyro-btn-add-hotshot.is-added .btn-text-added {
  display: inline-flex !important;
}

/* --- 4. ZUNIFIKOWANE SLIDERY PRODUKTOWE (Specials, Featured, New, Bestsellers) --- */
.clyro-product-slider-section {
  width: 100%;
}

.clyro-product-slider-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 24px;
}

.clyro-slider-title-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.clyro-slider-tag {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
}

.clyro-slider-tag--promo { color: #e11d48; }
.clyro-slider-tag--new { color: #111417; background: #C7FF2E; padding: 2px 6px; border-radius: 4px; }
.clyro-slider-tag--bestseller { color: #d97706; }
.clyro-slider-tag--brands { color: #059669; }

.clyro-product-slider-title {
  font-size: 26px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.02em;
  margin: 0;
}

@media (max-width: 768px) {
  .clyro-product-slider-title {
    font-size: 20px;
  }
}

.clyro-product-slider-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.clyro-product-slider-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 12px;
  padding-top: 4px;
  cursor: grab;
  user-select: none;
}

.clyro-product-slider-track::-webkit-scrollbar {
  display: none;
}

.clyro-product-slider-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.clyro-product-slide-item {
  flex: 0 0 280px;
  width: 280px;
  max-width: 280px;
  min-width: 280px;
  scroll-snap-align: start;
  position: relative;
}

@media (max-width: 768px) {
  .clyro-product-slide-item {
    flex: 0 0 240px;
    width: 240px;
    max-width: 240px;
    min-width: 240px;
  }
}

.clyro-product-card-badge-wrap {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
}

.clyro-card-badge {
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: inline-block;
}

.clyro-card-badge--discount {
  background: #e11d48;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(225, 29, 72, 0.3);
}

.clyro-card-badge--new {
  background: #C7FF2E;
  color: #111417;
  font-weight: 800;
  box-shadow: 0 2px 6px rgba(199, 255, 46, 0.4);
}

.clyro-card-badge--bestseller {
  background: #d97706;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.3);
}

.clyro-price-promo {
  color: #e11d48 !important;
  font-weight: 800 !important;
}

.clyro-product-slider-footer {
  margin-top: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Gorący Strzał i promocje tworzą wspólny moduł 2-kolumnowy na desktopie. */
.clyro-deals-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
  gap: 32px;
}

.clyro-deals-split-hotshot,
.clyro-deals-split-slider {
  min-width: 0;
}

.clyro-deals-split-hotshot .clyro-hotshot-card {
  height: 100%;
  padding: 22px;
}

.clyro-deals-split-hotshot .clyro-hotshot-header {
  padding-bottom: 14px;
  margin-bottom: 16px;
}

.clyro-deals-split-hotshot .clyro-hotshot-body {
  grid-template-columns: minmax(150px, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 18px;
}

.clyro-deals-split-hotshot .clyro-hotshot-info {
  gap: 10px;
}

.clyro-deals-split-hotshot .clyro-hotshot-title {
  font-size: 18px;
}

.clyro-deals-split-hotshot .clyro-hotshot-deal-price {
  font-size: 23px;
}

.clyro-deals-split-hotshot .clyro-hotshot-pricing {
  gap: 8px;
}

.clyro-deals-split-hotshot .clyro-hotshot-stock-block {
  grid-column: 1 / -1;
}

.clyro-deals-split-hotshot .clyro-hotshot-action {
  grid-column: 1 / -1;
}

.clyro-deals-split-hotshot .clyro-btn-add-hotshot {
  max-width: none;
  padding: 11px 16px;
}

.clyro-deals-split-hotshot .clyro-hotshot-timer-box {
  margin-top: 16px;
  padding-top: 14px;
}

.clyro-deals-split-slider .clyro-product-slider-header {
  margin-bottom: 16px;
}

.clyro-deals-split-slider .clyro-product-slider-title {
  font-size: 22px;
}

.clyro-deals-split-slider .clyro-product-slider-track {
  gap: 18px;
}

.clyro-deals-split-slider .clyro-product-slide-item {
  flex-basis: calc((100% - 18px) / 2);
  width: calc((100% - 18px) / 2);
  max-width: calc((100% - 18px) / 2);
  min-width: calc((100% - 18px) / 2);
}

.clyro-deals-split-slider .clyro-product-slider-footer {
  display: none;
}

@media (max-width: 1199px) {
  .clyro-deals-split-grid {
    gap: 24px;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .clyro-deals-split-grid {
    grid-template-columns: 1fr;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-body {
    grid-template-columns: minmax(200px, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
  }

  .clyro-deals-split-slider .clyro-product-slide-item {
    flex-basis: 280px;
    width: 280px;
    max-width: 280px;
    min-width: 280px;
  }
}

@media (max-width: 576px) {
  .clyro-deals-split-hotshot .clyro-hotshot-card {
    padding: 18px 16px;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-body {
    grid-template-columns: 1fr;
  }

  .clyro-hotshot-timer-box {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* --- 5. SLIDER PRODUCENTÓW I MAREK (ps_brandlist) --- */
.clyro-brands-slider-section {
  width: 100%;
}

.clyro-brands-slider-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 24px;
}

.clyro-brands-slider-title {
  font-size: 26px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.02em;
  margin: 0;
}

@media (max-width: 768px) {
  .clyro-brands-slider-title {
    font-size: 20px;
  }
}

.clyro-brands-slider-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.clyro-brands-slider-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 8px;
  padding-top: 4px;
  cursor: grab;
  user-select: none;
}

.clyro-brands-slider-track::-webkit-scrollbar {
  display: none;
}

.clyro-brands-slider-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.clyro-brand-slide-item {
  flex: 0 0 190px;
  width: 190px;
  max-width: 190px;
  min-width: 190px;
  scroll-snap-align: start;
}

@media (max-width: 768px) {
  .clyro-brand-slide-item {
    flex: 0 0 150px;
    width: 150px;
    max-width: 150px;
    min-width: 150px;
  }
}

.clyro-brand-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1.5px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px 12px;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  height: 110px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.clyro-brand-card:hover {
  border-color: #0f1318;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.clyro-brand-card-inner {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.clyro-brand-card-logo {
  max-height: 42px;
  max-width: 120px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.75;
  transition: all 0.25s ease;
}

.clyro-brand-card:hover .clyro-brand-card-logo {
  filter: grayscale(0%);
  opacity: 1;
}

.clyro-brand-badge-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.clyro-brand-initial {
  font-size: 20px;
  font-weight: 900;
  color: #0f1318;
  line-height: 1;
}

.clyro-brand-full-name {
  font-size: 11px;
  font-weight: 700;
  color: #4b5563;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.clyro-brand-name {
  font-size: 12.5px;
  font-weight: 600;
  color: #374151;
  margin-top: 8px;
  text-align: center;
  line-height: 1.2;
}

.clyro-brands-slider-footer {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

/* --- 6. ŚRODKOWY BANER (ps_banner) I BLOK O MARCE (ps_customtext) --- */
.clyro-mid-banner-wrapper {
  width: 100%;
}

.clyro-mid-banner-card {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.clyro-mid-banner-img {
  width: 100%;
  height: auto;
  max-height: 320px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.clyro-mid-banner-card:hover .clyro-mid-banner-img {
  transform: scale(1.02);
}

.clyro-mid-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.45) 100%);
  display: flex;
  align-items: flex-end;
  padding: 24px 32px;
}

@media (max-width: 576px) {
  .clyro-mid-banner-overlay {
    padding: 16px;
  }
}

.clyro-mid-banner-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #0f1318;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 9999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}

.clyro-mid-banner-card:hover .clyro-mid-banner-cta {
  background: #0f1318;
  color: #ffffff;
}

.clyro-customtext-wrapper {
  width: 100%;
}

.clyro-customtext-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 40px 48px;
  text-align: center;
  max-width: 960px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .clyro-customtext-card {
    padding: 28px 20px;
  }
}

.clyro-customtext-tag {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #c89b3f;
  margin-bottom: 12px;
}

.clyro-customtext-content h2, .clyro-customtext-content h3 {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  margin-bottom: 12px;
}

.clyro-customtext-content p {
  font-size: 15px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}


/* Legal pages: use the full CMS container width, with stable reading spacing. */
.clyro-legal-page {
  width: 100%;
  max-width: none;
  margin: 20px 0 64px;
  padding: 0 12px;
  color: #243041;
  font-size: 1rem;
  line-height: 1.7;
}

.clyro-legal-page__header {
  margin-bottom: 32px;
  padding: clamp(26px, 5vw, 52px);
  border-radius: 18px;
  background: #111417;
  color: #fff;
}

.clyro-legal-page__eyebrow { margin: 0 0 12px; color: #C7FF2E; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.clyro-legal-page__header h1 { margin: 0 0 16px; color: inherit; font-size: clamp(1.85rem, 4vw, 2.75rem); font-weight: 800; line-height: 1.16; }
.clyro-legal-page__lead { max-width: 760px; margin: 0; color: #e5e7eb; }
.clyro-legal-page__date { margin: 22px 0 0; color: #8A9096; font-size: .88rem; }
.clyro-legal-page__section { margin-bottom: 30px; padding: 0 4px; }
.clyro-legal-page h2 { margin: 0 0 12px; color: #111417; font-size: 1.3rem; font-weight: 800; line-height: 1.3; }
.clyro-legal-page p, .clyro-legal-page ol { margin: 0; }
.clyro-legal-page ol { padding-left: 1.3rem; }
.clyro-legal-page li + li { margin-top: 8px; }
.clyro-legal-page a { color: #111417; font-weight: 700; text-decoration: underline; text-decoration-color: #C7FF2E; text-underline-offset: 3px; }
.clyro-legal-table-wrap { overflow-x: auto; margin: 0 0 16px; border: 1px solid #d8e0e8; border-radius: 12px; }
.clyro-legal-table { width: 100%; min-width: 680px; margin: 0; border-collapse: collapse; font-size: .93rem; }
.clyro-legal-table th, .clyro-legal-table td { padding: 14px 16px; border-bottom: 1px solid #e3e9ef; text-align: left; vertical-align: top; }
.clyro-legal-table th { background: #111417; color: #fff; font-weight: 800; }
.clyro-legal-table tr:last-child td { border-bottom: 0; }

@media (max-width: 767px) {
  .clyro-legal-page { margin: 12px 0 42px; padding: 0; font-size: .95rem; }
  .clyro-legal-page__header { margin-bottom: 26px; border-radius: 12px; }
  .clyro-legal-page__section { margin-bottom: 24px; }
}

/* ==========================================================================
   29. UKŁAD KARTY PRODUKTU:
       - DESKTOP: LEWA STRONA (GALERIA + OPIS + SPECYFIKACJA) + PRAWA STRONA (STICKY BUY-BOX)
       - MOBILE: GALERIA -> TYTUŁ & BUY-BOX -> BOKS PROMOCYJNY -> OPIS & SPECYFIKACJA
   ========================================================================== */
@media (max-width: 991px) {
  /* Keep the product content inside the same 12px gutters as the footer cards.
     Bootstrap's default row gutters otherwise pull the mobile layout to the
     viewport edges. */
  .product-page-wrapper > .product-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .product-container {
    display: flex !important;
    flex-direction: column !important;
  }

  .product-gallery-col,
  .product-info-col,
  .product-sticky-buy-wrapper {
    display: contents !important;
  }

  /* 1. Galeria zdjęć na samej górze */
  .page-content#content {
    order: 1 !important;
    width: 100% !important;
  }

  /* 2. Nagłówek produktu (Tytuł, Opinie, Producent) */
  .product-header-section {
    order: 2 !important;
    width: 100% !important;
    margin-top: 16px !important;
    margin-bottom: 14px !important;
  }

  /* 3. Główny Buy-Box (Cena, Kod rabatowy, Koszyk, Gwarancje) */
  .product-buybox-card {
    order: 3 !important;
    width: 100% !important;
    position: static !important;
    margin-bottom: 14px !important;
  }

  /* 4. Pasek rabatu "Kliknij i odbierz rabat" */
  .product-discount-claim-banner {
    order: 4 !important;
    width: 100% !important;
    margin-bottom: 16px !important;
  }

  /* 5. Cross-sell */
  .product-cross-sell-section {
    order: 5 !important;
    width: 100% !important;
  }

  /* 6. Boks promocyjny nad opisem */
  .product-promo-desc-wrapper {
    order: 6 !important;
    width: 100% !important;
  }

  /* 7. Opis i specyfikacja w sekcjach */
  .product-stacked-sections-wrapper {
    order: 7 !important;
    width: 100% !important;
  }
}

@media (min-width: 992px) {
  .product-container {
    display: flex !important;
    align-items: stretch !important;
  }

  .product-gallery-col {
    position: relative !important;
    top: auto !important;
    align-self: auto !important;
    flex: 0 0 58% !important;
    max-width: 58% !important;
    padding-right: 24px !important;
  }

  .product-info-col {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    flex: 0 0 42% !important;
    max-width: 42% !important;
    padding-left: 14px !important;
  }

  .product-header-section {
    position: relative;
    margin-bottom: 16px !important;
  }

  /* Kontener łączący Buy-Box Card oraz Pasek Rabatu "Kliknij i odbierz rabat" (Sticky na PC) */
  .product-sticky-buy-wrapper {
    position: sticky !important;
    top: 156px !important;
    z-index: 20 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .product-buybox-card {
    position: static !important;
    padding: 20px 22px !important;
    border-radius: 16px !important;
    margin: 0 !important;
  }

  .product-discount-claim-banner {
    margin: 0 !important;
  }
}

  /* Powiększone, wyraziste zdjęcie główne po lewej */
  .product-cover.js-product-cover-wrapper {
    max-width: 100% !important;
    min-height: 520px !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
  }

  .main-product-image {
    max-height: 560px !important;
    width: 100% !important;
    object-fit: contain !important;
  }

  .thumbnails-slider-wrapper {
    max-width: 100% !important;
    margin: 14px auto 0 auto !important;
  }

  /* Kompaktowe, wysmuklone elementy po prawej stronie */
  .product-title {
    font-size: 24px !important;
    line-height: 1.22 !important;
    margin-bottom: 6px !important;
  }

  .product-reviews-summary {
    margin-bottom: 6px !important;
    font-size: 13px !important;
  }

  .product-manufacturer {
    margin-bottom: 14px !important;
    font-size: 13px !important;
  }

  .product-buybox-card {
    padding: 20px 22px !important;
    border-radius: 16px !important;
    margin-bottom: 16px !important;
  }

  .current-price-value {
    font-size: 30px !important;
  }

  .clyro-product-variant {
    margin-bottom: 14px !important;
  }

  .clyro-variant-select {
    height: 42px !important;
    font-size: 14px !important;
    padding: 6px 12px !important;
  }

  .product-quantity-row {
    margin-bottom: 18px !important;
    gap: 10px !important;
  }

  .btn-add-to-cart-modern {
    height: 48px !important;
    font-size: 15px !important;
  }

  .wishlist-action-wrapper {
    flex: 0 0 48px !important;
  }

  .btn-wishlist-modern {
    width: 48px !important;
    height: 48px !important;
  }

  .trust-badge-item {
    padding: 8px 0 !important;
    gap: 10px !important;
  }

  .trust-badge-item .badge-title {
    font-size: 13px !important;
  }

  .trust-badge-item .badge-subtitle {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .product-discount-banner-card {
    padding: 10px 14px !important;
  }

  .product-cross-sell-section {
    margin-top: 14px !important;
  }

  .cross-sell-card-item {
    flex: 0 0 115px !important;
    max-width: 115px !important;
  }

  .card-thumbnail-wrapper {
    height: 100px !important;
    padding: 6px !important;
  }

  .btn-quick-add-card {
    height: 30px !important;
    font-size: 11px !important;
  }
}

/* ===========================================================================
   31. GĘSTSZY BUY-BOX + KARUZELA AKCESORIÓW (3,5 PRODUKTU W KADRZE)
   =========================================================================== */
@media (min-width: 992px) {
  .product-header-section {
    margin-bottom: 12px !important;
  }

  .product-manufacturer {
    margin-bottom: 8px !important;
  }

  .product-buybox-card {
    padding: 18px 20px !important;
    margin-bottom: 12px !important;
  }

  .modern-product-prices {
    margin-bottom: 8px !important;
  }

  .product-installments-box {
    margin-bottom: 12px !important;
  }

  .clyro-product-variants {
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  .clyro-product-variant {
    margin-bottom: 0 !important;
  }

  .clyro-variant-heading {
    margin-bottom: 6px !important;
  }

  .clyro-variant-select {
    min-height: 40px !important;
  }

  .product-quantity-row {
    margin-bottom: 10px !important;
  }

  .product-trust-badges-list {
    padding-top: 10px !important;
    gap: 6px !important;
  }

  .trust-badge-item {
    padding: 5px 0 !important;
  }

  .product-discount-claim-banner,
  .product-cross-sell-section {
    margin-top: 10px !important;
    margin-bottom: 14px !important;
  }

  .cross-sell-items-track {
    gap: 10px !important;
  }

  .cross-sell-card-item {
    flex: 0 0 calc((100% - 30px) / 3.5) !important;
    max-width: none !important;
  }

  .cross-sell-card-item .card-thumbnail-wrapper {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
  }
}

/* Popup kontaktowy korzysta ze wspólnego, dostępnego modala informacyjnego. */
.clyro-contact-modal-intro {
  margin: 0 0 14px;
}

.clyro-contact-modal-actions {
  display: grid;
  gap: 8px;
}

.clyro-contact-modal-action {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e1e5e9;
  border-radius: 10px;
  background: #ffffff;
  color: var(--clyro-text-dark);
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.clyro-contact-modal-action:hover {
  border-color: var(--clyro-primary);
  background: #f7f8f9;
  color: var(--clyro-text-dark);
  text-decoration: none;
  transform: translateY(-1px);
}

.clyro-contact-modal-action:focus-visible {
  outline: 3px solid rgba(15, 19, 24, 0.2);
  outline-offset: 2px;
}

.clyro-contact-modal-action .material-icons {
  font-size: 22px;
}

.clyro-contact-modal-action span {
  display: grid;
  gap: 1px;
}

.clyro-contact-modal-action small {
  color: var(--clyro-text-muted);
  font-size: 11px;
  font-weight: 600;
}

.clyro-contact-modal-action strong {
  font-size: 14px;
}

.clyro-contact-modal-hours {
  margin: 14px 0 0;
  color: var(--clyro-text-muted);
  font-size: 12px;
  text-align: center;
}

.clyro-delivery-options {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}

.clyro-delivery-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid #e1e5e9;
  border-radius: 10px;
  background: #ffffff;
}

.clyro-delivery-option .material-icons {
  font-size: 21px;
}

.clyro-delivery-option span {
  display: grid;
  gap: 1px;
}

.clyro-delivery-option strong {
  color: var(--clyro-text-dark);
  font-size: 13px;
}

.clyro-delivery-option small {
  color: var(--clyro-text-muted);
  font-size: 12px;
}

/* ========================================================================== 
   MOBILE CART + ADDRESS FORM: prevent page-level horizontal scrolling
   ========================================================================== */
@media (max-width: 991.98px) {
  body.page-cart {
    overflow-x: hidden;
  }

  .clyro-cart-page-wrapper {
    overflow-x: hidden;
  }

  .clyro-cart-container,
  .clyro-cart-layout,
  .clyro-cart-products-section,
  .clyro-cart-table-card,
  .clyro-cart-products-list,
  .clyro-cart-item-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  /* This comes after the desktop-reset rule above, which otherwise forces
     a six-column grid on a mobile cart because it uses !important. */
  .clyro-cart-table-card .clyro-cart-item-row,
  .clyro-cart-table-card .product-line.clyro-cart-item-row,
  .clyro-cart-table-card .cart__item .clyro-cart-item-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    grid-template-columns: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .clyro-cart-item-info-group,
  .clyro-cart-item-title-desc,
  .clyro-cart-item-title,
  .clyro-cart-item-attributes,
  .clyro-cart-delivery-time {
    min-width: 0;
    max-width: 100%;
  }

  .clyro-cart-item-title,
  .clyro-cart-item-attributes,
  .clyro-cart-delivery-time {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* One compact, readable mobile product layout: product, quantity, price.
     Delivery applies to the whole order and the line total already appears in
     the order summary, so neither needs to be repeated per product. */
  .clyro-cart-table-card .clyro-cart-item-row .td-product {
    order: 1 !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .td-quantity {
    display: flex !important;
    order: 2 !important;
    width: 100% !important;
    justify-content: flex-start !important;
    margin-top: 8px !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .td-price {
    display: flex !important;
    order: 3 !important;
    width: 100% !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin-top: 10px !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .td-delivery,
  .clyro-cart-table-card .clyro-cart-item-row .td-total {
    display: none !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .td-price .clyro-mobile-col-label {
    display: none !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .clyro-cart-qty-wrapper {
    justify-content: flex-start !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .clyro-cart-unit-price {
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  .clyro-cart-table-card .clyro-cart-item-row .clyro-cart-regular-price {
    margin: 0 !important;
    font-size: 14px !important;
  }

  .clyro-cart-order-delivery {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--clyro-border, #e5e7eb);
    color: var(--clyro-text-dark);
    font-size: 16px;
    line-height: 1.3;
  }

  .clyro-cart-order-delivery strong {
    flex: 0 1 auto;
    text-align: right;
    font-size: 18px;
    font-weight: 800;
  }

  .clyro-cart-extra-footer {
    transform: none !important;
    max-width: 100%;
  }

  .clyro-checkout-page-container,
  .clyro-customer-checkout-form,
  .clyro-checkout-form-grid,
  .clyro-checkout-form-col,
  .clyro-card-section,
  .clyro-field-wrap,
  .clyro-select-container {
    min-width: 0;
    max-width: 100%;
  }

  .clyro-input-pill,
  .clyro-select-pill,
  .clyro-textarea-rounded {
    box-sizing: border-box;
    max-width: 100%;
  }

  .clyro-section-header,
  .clyro-radio-group {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  .clyro-form-bottom-bar,
  .clyro-btn-checkout-submit {
    width: 100%;
  }
}

/* ========================================================================== 
   34. HOME — STREFA OFERTOWA: mocna hierarchia Gorącego Strzału
   ========================================================================== */
.clyro-section-deals-split {
  margin-bottom: 72px;
}

.clyro-deals-split-grid {
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 28px;
  padding: 24px;
  border-radius: 24px;
  background: #f4f6f8;
}

.clyro-deals-split-hotshot .clyro-hotshot-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 19, 24, 0.08);
}

.clyro-deals-split-hotshot .clyro-hotshot-header {
  min-height: 52px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  background: #e52346;
}

.clyro-deals-split-hotshot .clyro-hotshot-badge {
  gap: 9px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  letter-spacing: 0.02em;
}

.clyro-deals-split-hotshot .clyro-hotshot-body {
  grid-template-columns: minmax(160px, 0.92fr) minmax(0, 1.08fr);
  flex: 1 0 auto;
  gap: 18px;
  padding: 18px 18px 0;
}

.clyro-deals-split-hotshot .clyro-hotshot-media {
  min-height: 196px;
  border-radius: 12px;
  background: #f1f3f5;
}

.clyro-deals-split-hotshot .clyro-hotshot-img {
  object-fit: contain;
  padding: 14px;
}

.clyro-deals-split-hotshot .clyro-hotshot-discount-flag {
  top: 10px;
  left: 10px;
  padding: 5px 9px;
  border-radius: 7px;
  background: #e52346;
  font-size: 12px;
  box-shadow: none;
}

.clyro-deals-split-hotshot .clyro-hotshot-info {
  justify-content: flex-start;
  gap: 10px;
}

.clyro-deals-split-hotshot .clyro-hotshot-title {
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.clyro-deals-split-hotshot .clyro-hotshot-title a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.clyro-deals-split-hotshot .clyro-hotshot-pricing {
  display: block;
}

.clyro-deals-split-hotshot .clyro-hotshot-deal-price {
  display: block;
  font-size: 28px;
  line-height: 1;
  color: #e52346;
}

.clyro-deals-split-hotshot .clyro-hotshot-regular-price {
  margin-top: 5px;
  font-size: 13px;
}

.clyro-deals-split-hotshot .clyro-hotshot-savings {
  display: inline-flex;
  margin-top: 10px;
  padding: 4px 7px;
  border: 0;
  border-radius: 5px;
  background: #fff0f3;
  color: #bb1634;
  font-size: 11px;
}

.clyro-deals-split-hotshot .clyro-hotshot-stock-block {
  margin-top: auto;
  padding-top: 6px;
}

.clyro-deals-split-hotshot .clyro-stock-labels {
  gap: 6px;
  font-size: 11px;
}

.clyro-deals-split-hotshot .clyro-stock-progress-bar {
  height: 5px;
  background: #e6e9ed;
}

.clyro-deals-split-hotshot .clyro-stock-progress-fill {
  background: #e52346;
}

.clyro-deals-split-hotshot .clyro-btn-add-hotshot {
  min-height: 42px;
  padding: 10px 14px;
  border-color: #141a22;
  border-radius: 9px;
  background: #141a22;
  font-size: 13px;
}

.clyro-deals-split-hotshot .clyro-btn-add-hotshot:hover {
  background: #e52346;
  border-color: #e52346;
  box-shadow: none;
}

.clyro-deals-split-hotshot .clyro-hotshot-timer-box {
  justify-content: space-between;
  margin: 18px;
  padding: 12px;
  border: 0;
  border-radius: 12px;
  background: #f5f6f8;
}

.clyro-deals-split-hotshot .clyro-timer-label {
  color: #3b4654;
  font-size: 12px;
  font-weight: 700;
}

.clyro-deals-split-hotshot .clyro-timer-units {
  gap: 3px;
}

.clyro-deals-split-hotshot .clyro-timer-unit {
  min-width: 36px;
  padding: 5px 6px;
  border-radius: 6px;
  background: #141a22;
}

.clyro-deals-split-hotshot .clyro-timer-num {
  font-size: 14px;
}

.clyro-deals-split-hotshot .clyro-timer-txt {
  font-size: 8px;
}

.clyro-deals-split-slider {
  display: flex;
  min-width: 0;
}

.clyro-deals-split-slider .clyro-product-slider-section {
  display: flex;
  width: 100%;
  flex-direction: column;
}

.clyro-deals-split-slider .clyro-product-slider-header {
  align-items: center;
  min-height: 52px;
  margin: 0 0 18px;
}

.clyro-deals-split-slider .clyro-slider-tag {
  display: none;
}

.clyro-deals-split-slider .clyro-product-slider-title {
  font-size: 24px;
  letter-spacing: -0.035em;
}

.clyro-deals-split-slider .clyro-slider-nav-arrows {
  gap: 8px;
}

.clyro-deals-split-slider .clyro-slider-arrow {
  width: 34px;
  height: 34px;
  border-color: #dce1e7;
  background: #ffffff;
}

.clyro-deals-split-slider .clyro-product-slider-track {
  align-items: stretch;
  gap: 18px;
  padding: 2px 2px 6px;
}

.clyro-deals-split-slider .clyro-product-slide-item {
  display: flex;
  flex: 0 0 calc((100% - 18px) / 2);
  width: calc((100% - 18px) / 2);
  max-width: calc((100% - 18px) / 2);
  min-width: calc((100% - 18px) / 2);
}

.clyro-deals-split-slider .clyro-product-card-clean {
  width: 100%;
}

.clyro-deals-split-slider .clyro-product-card-thumb,
.clyro-deals-split-slider .clyro-product-card-img {
  border-radius: 12px;
  background: #edf0f2 !important;
}

.clyro-deals-split-slider .clyro-product-card-img {
  object-fit: contain;
  padding: 14px;
}

.clyro-deals-split-slider .clyro-product-card-title {
  min-height: 40px;
  margin: 10px 0 5px;
  color: #202a35;
  font-size: 14px;
  line-height: 1.35;
}

.clyro-deals-split-slider .clyro-product-card-pricing {
  min-height: 23px;
  margin-bottom: 10px;
}

.clyro-deals-split-slider .clyro-price-promo {
  color: #e52346 !important;
}

.clyro-deals-split-slider .clyro-btn-add-featured {
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 9px;
  font-size: 12px;
  box-shadow: none;
}

@media (max-width: 1199px) {
  .clyro-deals-split-grid {
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
    gap: 22px;
    padding: 20px;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-body {
    grid-template-columns: minmax(140px, 0.88fr) minmax(0, 1.12fr);
  }
}

@media (max-width: 991px) {
  .clyro-deals-split-grid {
    grid-template-columns: 1fr;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-body {
    grid-template-columns: minmax(200px, 0.7fr) minmax(0, 1.3fr);
  }

  .clyro-deals-split-slider .clyro-product-slide-item {
    flex-basis: 280px;
    width: 280px;
    max-width: 280px;
    min-width: 280px;
  }
}

@media (max-width: 576px) {
  .clyro-section-deals-split {
    margin-bottom: 52px;
  }

  .clyro-deals-split-grid {
    gap: 28px;
    padding: 12px;
    border-radius: 16px;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-body {
    grid-template-columns: 1fr;
    padding: 14px 14px 0;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-media {
    min-height: 220px;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-title {
    font-size: 18px;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-timer-box {
    align-items: center;
    flex-direction: row;
    margin: 14px;
  }

  .clyro-deals-split-slider .clyro-product-slider-header {
    min-height: 38px;
    margin-bottom: 12px;
  }

  .clyro-deals-split-slider .clyro-product-slider-title {
    font-size: 20px;
  }

  .clyro-deals-split-slider .clyro-slider-arrow {
    width: 30px;
    height: 30px;
  }

  .clyro-deals-split-slider .clyro-product-slide-item {
    flex-basis: 220px;
    width: 220px;
    max-width: 220px;
    min-width: 220px;
  }
}

/* Czysta strefa ofertowa — bez sztucznych teł i kart wokół produktów. */
.clyro-deals-split-grid {
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.clyro-deals-split-hotshot .clyro-hotshot-card {
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.clyro-deals-split-hotshot .clyro-hotshot-header {
  min-height: auto;
  margin: 0 0 14px;
  padding: 0;
  background: transparent;
}

.clyro-deals-split-hotshot .clyro-hotshot-badge {
  padding: 7px 11px;
  border-radius: 999px;
  background: #e52346;
}

.clyro-deals-split-hotshot .clyro-hotshot-body {
  padding: 0;
}

.clyro-deals-split-hotshot .clyro-hotshot-media,
.clyro-deals-split-hotshot .clyro-hotshot-img,
.clyro-deals-split-slider .clyro-product-card-thumb,
.clyro-deals-split-slider .clyro-product-card-img {
  background: transparent !important;
}

.clyro-deals-split-hotshot .clyro-hotshot-media {
  border-radius: 0;
}

.clyro-deals-split-hotshot .clyro-hotshot-img,
.clyro-deals-split-slider .clyro-product-card-img {
  padding: 0;
}

.clyro-deals-split-hotshot .clyro-hotshot-timer-box {
  margin: 18px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid #e4e7eb;
  border-radius: 0;
  background: transparent;
}

@media (max-width: 576px) {
  .clyro-deals-split-grid {
    padding: 0;
  }

  .clyro-deals-split-hotshot .clyro-hotshot-timer-box {
    margin: 14px 0 0;
  }
}

/* Hurton gallery: enlarged thumbnails that always show the complete image. */
.images-container .modern-thumbs-list .thumb-container {
  flex-basis: 104px;
}

.images-container .modern-thumbs-list .thumb-inner {
  width: 104px;
  height: 84px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
}

.images-container .modern-thumbs-list .thumb-container.active .thumb-inner,
.images-container .modern-thumbs-list .thumb.selected {
  border: 0;
  box-shadow: none;
}

.images-container .modern-thumbs-list .thumb-inner img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .images-container .modern-thumbs-list .thumb-container {
    flex-basis: 88px;
  }

  .images-container .modern-thumbs-list .thumb-inner {
    width: 88px;
    height: 72px;
  }
}

/* ========================================================================
   Category listing final layout — full-width products + left price filter
   ======================================================================== */
.page-category .columns-container.container {
  max-width: 1500px;
}

@media (min-width: 992px) {
  .page-category #products.clyro-category-products {
    gap: 28px;
    grid-template-columns: 238px minmax(0, 1fr);
  }

  .page-category .clyro-category-filter {
    grid-column: 1;
    grid-row: 1;
  }

  .page-category .clyro-category-products__content {
    grid-column: 2;
    grid-row: 1;
  }

  .page-category .clyro-category-products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .page-category .clyro-category-products .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.page-category .clyro-category-filter {
  background: #f7f8f9;
  border: 0;
  border-radius: 10px;
  box-shadow: none;
  overflow: visible;
}

.page-category .clyro-category-filter__header {
  border: 0;
  color: #101828;
  font-size: 16px;
  letter-spacing: -.02em;
  padding: 18px 18px 8px;
}

.page-category .clyro-category-filter__body {
  padding: 0 18px 18px;
}

.page-category .clyro-category-filter .left-block__title {
  display: none !important;
}

.page-category .clyro-category-filter .accordion-item {
  background: transparent;
  border: 0;
  padding-top: 0;
}

.page-category .clyro-category-filter .accordion-button {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  padding: 9px 0 12px;
  text-transform: none;
}

.page-category .clyro-category-filter .accordion-body {
  padding: 0 2px 6px;
}

.page-category .clyro-category-filter .search-filters__slider-values {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 14px;
}

.page-category .clyro-category-filter #search_filters .ui-slider-horizontal,
.page-category .clyro-category-filter #search-filters .ui-slider-horizontal {
  margin: 10px 5px 5px;
}

/* The parent miniature styles hide CTA text on wide cards; category CTAs
   must remain explicit actions, never icon-only controls. */
.page-category .clyro-product-card .product-miniature__add {
  gap: 0;
}

.page-category .clyro-product-card .product-miniature__add .material-icons {
  display: none !important;
}

.page-category .clyro-product-card .product-miniature__add-text {
  display: inline !important;
  font-size: 13px;
  line-height: 1;
}

/* Natywne powiadomienie ps_emailalerts — wygląd zgodny z panelem produktu. */
.product-additional-info-clean .ps-emailalerts {
  margin-top: 18px;
  padding: 23px 20px 19px;
  background: #f7f8f9;
  border: 0;
  border-radius: 8px;
}

.product-additional-info-clean .ps-emailalerts__content {
  display: grid;
  gap: 7px;
}

.product-additional-info-clean .ps-emailalerts__content .h4 {
  margin: 0;
  color: var(--clyro-primary);
  font-size: 15px;
  font-weight: 800;
}

.product-additional-info-clean .ps-emailalerts__content p:not(.h4) {
  margin: 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.5;
}

/* E-mail podajemy w modalu, aby karta produktu pozostawała zwarta. */
.product-additional-info-clean .ps-emailalerts input[type="email"] {
  display: none;
}

.product-additional-info-clean .ps-emailalerts [data-ps-action="emailalerts-subscribe"] {
  justify-self: start;
  min-height: 40px;
  padding: 0 17px;
  background: var(--clyro-primary);
  border-color: var(--clyro-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.product-additional-info-clean .ps-emailalerts [data-ps-action="emailalerts-subscribe"]:hover {
  background: #27303a;
  border-color: #27303a;
}

body.clyro-stock-alert-modal-open {
  overflow: hidden;
}

.clyro-stock-alert-modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 19, 24, .66);
}

.clyro-stock-alert-modal[hidden] {
  display: none;
}

.clyro-stock-alert-modal__dialog {
  position: relative;
  width: min(100%, 440px);
  padding: 34px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 22px 70px rgba(15, 19, 24, .24);
}

.clyro-stock-alert-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  background: transparent;
  border: 0;
  color: #667085;
  cursor: pointer;
}

.clyro-stock-alert-modal__icon {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 16px;
  place-items: center;
  border-radius: 50%;
  background: var(--clyro-primary);
  color: #fff;
}

.clyro-stock-alert-modal h2 {
  margin: 0 0 8px;
  color: var(--clyro-primary);
  font-size: 22px;
  font-weight: 800;
}

.clyro-stock-alert-modal p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
}

.clyro-stock-alert-modal form {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.clyro-stock-alert-modal label {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
}

.clyro-stock-alert-modal .form-control {
  min-height: 46px;
  border-color: #d0d5dd;
  box-shadow: none;
}

.clyro-stock-alert-modal .form-control:focus {
  border-color: var(--clyro-primary);
  box-shadow: 0 0 0 3px rgba(15, 19, 24, .1);
}

.clyro-stock-alert-modal__message {
  min-height: 20px;
}

.clyro-stock-alert-modal__message.is-error { color: #b42318; }
.clyro-stock-alert-modal__message.is-success { color: #027a48; }

.clyro-stock-alert-modal__submit {
  min-height: 46px;
  margin-top: 2px;
  background: var(--clyro-primary);
  border-color: var(--clyro-primary);
  font-weight: 800;
}

@media (max-width: 575.98px) {
  .clyro-stock-alert-modal__dialog { padding: 28px 22px 24px; }
  .clyro-stock-alert-modal h2 { font-size: 20px; }
}

@media (max-width: 991.98px) {
  .page-category .columns-container.container {
    max-width: 100%;
  }
}

/* Category listing — compact, flat product cards and a useful left rail. */
.page-category .clyro-category-tree {
  border-bottom: 1px solid #e4e7ec;
  padding: 0 18px 15px;
}

.page-category .clyro-category-tree__summary {
  align-items: center;
  color: #1d2939;
  cursor: pointer;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  justify-content: space-between;
  list-style: none;
  padding: 17px 0 10px;
}

.page-category .clyro-category-tree__summary::-webkit-details-marker {
  display: none;
}

.page-category .clyro-category-tree__summary::after {
  color: #667085;
  content: "−";
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.page-category .clyro-category-tree:not([open]) .clyro-category-tree__summary::after {
  content: "+";
}

.page-category .clyro-category-tree__nav {
  display: grid;
  gap: 8px;
}

.page-category .clyro-category-tree__current,
.page-category .clyro-category-tree__list a {
  color: #475467;
  font-size: 12px;
  line-height: 1.35;
  text-decoration: none;
}

.page-category .clyro-category-tree__current {
  color: #101828;
  font-weight: 800;
}

.page-category .clyro-category-tree__list {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0 0 0 10px;
}

.page-category .clyro-category-tree__list li {
  padding-left: 8px;
  position: relative;
}

.page-category .clyro-category-tree__list li::before {
  background: #cfd4dc;
  border-radius: 50%;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  top: 6px;
  width: 4px;
}

.page-category .clyro-category-tree a:hover,
.page-category .clyro-category-tree a:focus-visible {
  color: #101828;
  text-decoration: underline;
}

.page-category .clyro-price-range {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
  padding: 2px 0 6px;
}

.page-category .clyro-price-range label {
  color: #667085;
  display: grid;
  font-size: 11px;
  font-weight: 700;
  gap: 4px;
}

.page-category .clyro-price-range__input {
  appearance: textfield;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 6px;
  color: #101828;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  height: 36px;
  min-width: 0;
  outline: none;
  padding: 6px 8px;
  width: 100%;
}

.page-category .clyro-price-range__input:focus {
  border-color: #667085;
  box-shadow: 0 0 0 2px rgba(15, 19, 24, .09);
}

.page-category .clyro-price-range__submit {
  background: #101828;
  border: 1px solid #101828;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  grid-column: 1 / -1;
  height: 36px;
}

.page-category .clyro-price-range__submit:hover,
.page-category .clyro-price-range__submit:focus-visible {
  background: #344054;
  border-color: #344054;
}

.page-category .clyro-price-range.is-invalid .clyro-price-range__input {
  border-color: #b42318;
}

.page-category .clyro-product-card .product-miniature__inner {
  border-color: #dfe3e8;
  border-radius: 8px;
  transition: border-color .16s ease;
}

.page-category .clyro-product-card .product-miniature__bottom {
  gap: 9px;
  padding: 14px;
}

.page-category .clyro-product-card .product-miniature__infos {
  gap: 6px;
}

.page-category .clyro-product-card .product-miniature__actions {
  margin-top: 0;
}

.page-category .clyro-product-card .product-miniature__omnibus {
  color: #667085;
  font-size: 11px;
  line-height: 1.35;
}

@media (hover: hover) {
  .page-category .clyro-product-card .product-miniature__inner:hover {
    border-color: #b9c0ca;
    box-shadow: none;
    transform: none;
  }

  .page-category .clyro-product-card .product-miniature__inner:hover .product-miniature__image {
    transform: scale(1.015);
  }
}

/* Final catalogue cascade: compact rows and pagination in the brand palette. */
.page-category .clyro-products-toolbar {
  background: transparent !important;
  border: 0;
  box-shadow: none;
  justify-content: flex-start;
  padding: 0;
}

.page-category .clyro-products-toolbar__actions { margin-left: 0; }

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 4 / 3;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link {
  background: #fff;
  border-color: #d0d5dd;
  color: #344054;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link {
  background: #101828;
  border-color: #101828;
  color: #fff;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link:hover,
:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link:focus-visible {
  background: #f2f4f7;
  border-color: #98a2b3;
  color: #101828;
  outline: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link:hover,
:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link:focus-visible {
  background: #344054;
  border-color: #344054;
  color: #fff;
}

/* Final mega-menu cascade — this sits after the legacy header declarations. */
@media (min-width: 1200px) {
  .clyro-topbar {
    font-size: 11px;
    padding: 6px 0;
  }

  .clyro-main-navbar {
    padding: 5px 0;
  }

  .clyro-main-navbar .navbar-row {
    min-height: 50px;
  }

  .clyro-header-brand-logo {
    max-height: 29px;
    width: 112px;
  }

  .clyro-menu-col {
    padding: 0 20px;
  }

  .clyro-main-navbar .navbar-action-btn {
    height: 34px;
    width: 34px;
  }

  .clyro-menu-col > .ps-mainmenu--mobile {
    position: fixed !important;
    width: auto;
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__row {
    align-items: stretch;
    height: min(520px, calc(100vh - 116px));
  }

  .clyro-main-navbar .clyro-mega-menu .submenu__left,
  .clyro-main-navbar .clyro-mega-menu .submenu__right {
    height: 100%;
    min-height: 0;
  }

  .clyro-mega-menu__products {
    align-content: start;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 0;
  }

  .clyro-mega-menu__products-grid {
    align-content: start;
    align-items: start;
  }

  .clyro-mega-menu__product {
    height: 198px;
    min-height: 0;
  }
}

/* Last cascade: compact catalogue rows, aligned to the Clyro palette. */
.page-category .clyro-products-toolbar {
  background: transparent;
  border: 0;
  box-shadow: none;
  justify-content: flex-start;
  padding: 0;
}

.page-category .clyro-products-toolbar__actions { margin-left: 0; }

.page-category .clyro-filter-drawer {
  border-left: 0;
  border-right: 1px solid #e4e7ec;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image-link picture {
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__image {
  display: block;
  height: 100% !important;
  max-height: 100%;
  object-fit: contain;
  padding: 18px;
  width: 100%;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__bottom {
  gap: 7px;
  padding: 11px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__title {
  height: 36px;
  line-height: 18px;
  min-height: 36px;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__add,
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card .product-miniature__details {
  min-height: 38px;
}

/* Unavailable cards use the original calm fade; the status label stays sharp. */
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card--unavailable {
  position: relative;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card--unavailable .product-miniature__inner {
  border-color: #dfe3e8 !important;
  opacity: .68;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card--unavailable .product-miniature__image {
  filter: grayscale(.32) !important;
  opacity: 1 !important;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card--unavailable .product-miniature__title,
:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card--unavailable .product-miniature__price {
  color: #101828 !important;
}

:is(.page-category, .page-search, .page-manufacturer) .clyro-product-card--unavailable .product-miniature__details {
  background: transparent !important;
  border-color: #98a2b3 !important;
  color: #344054 !important;
}

.page-search #products.clyro-search-products .clyro-product-card--unavailable .product-miniature__details {
  background: transparent !important;
  border-color: #98a2b3 !important;
  color: #101828 !important;
}

.clyro-product-card__availability-label {
  align-items: center;
  background: #344054;
  border-radius: 5px;
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  font-weight: 800;
  left: 10px;
  letter-spacing: .02em;
  line-height: 1;
  padding: 7px 8px;
  position: absolute;
  text-transform: uppercase;
  top: 10px;
  z-index: 2;
}

/* Search cards must never inherit the stock blue Bootstrap treatment. */
.page-search #products.clyro-search-products .clyro-product-card .product-miniature__title {
  color: #344054 !important;
}

.page-search #products.clyro-search-products .clyro-product-card .product-miniature__add,
.page-search #products.clyro-search-products .clyro-product-card .product-miniature__details {
  background: #0f1318 !important;
  border-color: #0f1318 !important;
  color: #fff !important;
}

/* Keep the current CTA ahead of any cached legacy custom.css copy. */
.page-search #products.clyro-search-products .clyro-product-card .product-miniature__add[data-button-action="add-to-cart"] {
  background: #0f1318 !important;
  border-color: #0f1318 !important;
  color: #fff !important;
}

.page-search #products.clyro-search-products .clyro-product-card--unavailable .product-miniature__details {
  background: transparent !important;
  border-color: #98a2b3 !important;
  color: #101828 !important;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link {
  background: #fff;
  border-color: #d0d5dd;
  color: #344054;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link {
  background: #101828;
  border-color: #101828;
  color: #fff;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link:hover,
:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-link:focus-visible {
  background: #f2f4f7;
  border-color: #98a2b3;
  color: #101828;
  outline: 0;
}

:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link:hover,
:is(.page-category, .page-search, .page-manufacturer) .products__pagination .page-item.active .page-link:focus-visible {
  background: #344054;
  border-color: #344054;
  color: #fff;
}

/* ==========================================================================
   Modern Product Card Hover Effect:
   - Add to cart button reveals on hover, expanding/overlapping downwards
   - Smooth elevation shadow and seamless border transitions
   - On mobile/touch: cleanly positioned without requiring hover
   ========================================================================== */

.clyro-product-card {
  position: relative !important;
  overflow: visible !important;
  z-index: 1;
  transition: z-index 0s ease;
}

.clyro-product-card .product-miniature__inner {
  position: relative !important;
  overflow: visible !important;
  background: #ffffff !important;
  border: 1px solid #e8ebee !important;
  border-radius: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  transition: border-color 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
              box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
              border-radius 0.15s ease !important;
}

.clyro-product-card .product-miniature__top {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 11px 11px 0 0 !important;
  background: #f7f8f9 !important;
}

.clyro-product-card .product-miniature__bottom {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex-grow: 1 !important;
  padding: 14px 16px 16px 16px !important;
  position: relative !important;
}

.clyro-product-card .product-miniature__infos {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.clyro-product-card .product-miniature__title {
  color: #1d2939 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  min-height: 39px !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.clyro-product-card .product-miniature__title:hover {
  color: #000000 !important;
}

.clyro-product-card .product-miniature__price {
  color: #0f1318 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.clyro-product-card .product-miniature__add,
.clyro-product-card .product-miniature__details {
  align-items: center !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  gap: 8px !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  width: 100% !important;
  text-decoration: none !important;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

.clyro-product-card .product-miniature__add {
  background: #0f1318 !important;
  border: 1px solid #0f1318 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 4px rgba(15, 19, 24, 0.08) !important;
}

.clyro-product-card .product-miniature__add:hover,
.clyro-product-card .product-miniature__add:focus-visible {
  background: #27313a !important;
  border-color: #27313a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(15, 19, 24, 0.16) !important;
}

/* Desktop Hover Interaction: Reveal downwards overlapping elements below */
@media (min-width: 992px) and (hover: hover) {
  .clyro-product-card .product-miniature__actions,
  .clyro-featured-slide-item .clyro-product-card-action {
    position: absolute !important;
    top: 100% !important;
    left: -1px !important;
    right: -1px !important;
    background: #ffffff !important;
    padding: 0 16px 16px 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 18px 28px -4px rgba(15, 23, 42, 0.16), 0 8px 12px -2px rgba(15, 23, 42, 0.08) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-6px) !important;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.22s ease !important;
    pointer-events: none !important;
    z-index: 50 !important;
  }

  .clyro-product-card:hover,
  .clyro-product-card:focus-within,
  .clyro-featured-slide-item:hover,
  .clyro-featured-slide-item:focus-within {
    z-index: 50 !important;
  }

  .clyro-product-card:hover .product-miniature__inner,
  .clyro-product-card:focus-within .product-miniature__inner,
  .clyro-featured-slide-item:hover .clyro-product-card-clean,
  .clyro-featured-slide-item:focus-within .clyro-product-card-clean {
    border-color: #cbd5e1 !important;
    border-radius: 12px 12px 0 0 !important;
    box-shadow: 0 18px 28px -4px rgba(15, 23, 42, 0.16), 0 8px 12px -2px rgba(15, 23, 42, 0.08) !important;
  }

  .clyro-product-card:hover .product-miniature__actions,
  .clyro-product-card:focus-within .product-miniature__actions,
  .clyro-featured-slide-item:hover .clyro-product-card-action,
  .clyro-featured-slide-item:focus-within .clyro-product-card-action {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }
}

/* Mobile & Tablets / Touch Devices: Remove Add to Cart button from category & listing cards */
@media (max-width: 1024px), (hover: none) {
  .clyro-product-card .product-miniature__actions,
  .clyro-product-card .clyro-product-card__form,
  .clyro-featured-slide-item .clyro-product-card-action {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }
}
