.header-top__block--menu-toggle .header-top__link {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
}

/* Keep the brand readable when all mobile header actions share one row. */
@media (max-width: 767.98px) {
  .header-top__row > .header-top__block {
    padding-left: 5px;
    padding-right: 5px;
  }

  .header-top__block--logo {
    flex: 1 1 auto;
    min-width: 0;
  }

  .header-top__block--logo > a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
  }

  .header-top__block--logo .logo {
    display: block;
    height: auto;
    max-height: 44px;
    max-width: 100%;
    object-fit: contain;
    width: clamp(7rem, 30vw, 10.5rem);
  }
}

.db-mobile-menu-close {
  align-items: center;
  border: 1px solid #dee2e6;
  border-radius: .4rem;
  color: #212529;
  display: inline-flex;
  font-size: .875rem;
  font-weight: 700;
  min-height: 44px;
  padding: .5rem .75rem;
  text-decoration: none;
}

.db-mobile-menu-close:focus,
.db-mobile-menu-close:hover {
  background: #fafafa;
  border-color: #de22ac;
  color: #9c1779;
  text-decoration: none;
}

.db-mobile-menu-close .material-icons {
  font-size: 1.5rem;
  margin-right: .25rem;
}

.db-404 {
  background: #fff;
  border: 1px solid #eee5ec;
  border-radius: 1rem;
  box-shadow: 0 .625rem 2.125rem rgba(51, 51, 51, .07);
  margin: 0 auto 4rem;
  max-width: 56rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  text-align: center;
}

.db-404__intro {
  margin: 0 auto 2rem;
  max-width: 40rem;
}

.db-404__icon {
  color: #de22ac;
  font-size: 3.5rem;
  margin-bottom: .75rem;
}

.db-404__intro h2,
.db-404__categories h2 {
  color: #212529;
}

.db-404__intro p {
  color: #6c757d;
  font-size: 1rem;
  line-height: 1.6;
}

.db-404__search {
  margin: 0 auto 2.25rem;
  max-width: 38rem;
  text-align: left;
}

.db-404__search label {
  color: #212529;
  font-weight: 700;
}

.db-404__search-row {
  display: flex;
  gap: .625rem;
}

.db-404__search-row .form-control,
.db-404__search-row .btn {
  min-height: 46px;
}

.db-404__search-row .btn,
.db-404__home {
  align-items: center;
  display: inline-flex;
  gap: .35rem;
  justify-content: center;
}

.db-404__categories {
  border-top: 1px solid #eee5ec;
  margin: 0 auto 1.75rem;
  padding-top: 1.75rem;
}

.db-404__categories h2 {
  font-size: 1.25rem;
}

.db-404__category-links {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem;
  justify-content: center;
}

.db-404__category-links a {
  background: #fff8fd;
  border: 1px solid #eadde7;
  border-radius: 99rem;
  color: #333;
  font-weight: 700;
  padding: .625rem 1rem;
}

.db-404__category-links a:focus,
.db-404__category-links a:hover {
  border-color: #de22ac;
  color: #9c1779;
  text-decoration: none;
}

@media (max-width: 575.98px) {
  .db-404__search-row {
    flex-direction: column;
  }

  .db-404__search-row .btn {
    width: 100%;
  }
}

/* Keep crawlable page links as a fallback, but show only AmazzingFilter's loader when active. */
#products .pagination {
  display: flex !important;
}

html.db-af-load-more-active #products .pagination {
  display: none !important;
}

/* Clear, current product sharing actions. */
.db-product-review-summary {
  margin: -.45rem 0 .75rem;
}

.db-product-review-summary .product-comments-additional-info {
  margin: 0;
}

.db-product-delivery-summary {
  align-items: center;
  color: #343a40;
  display: flex;
  font-size: .875rem;
  font-weight: 600;
  gap: .45rem;
  margin: .75rem 0 .5rem;
}

.db-product-delivery-summary .material-icons {
  font-size: 1.25rem;
}

.db-product-share {
  display: inline-block;
  margin: .5rem 0 0 !important;
  position: relative;
}

.db-product-share__trigger {
  align-items: center;
  background: transparent;
  border: 0;
  color: #6c757d;
  display: inline-flex;
  font-size: .8rem;
  font-weight: 600;
  gap: .35rem;
  min-height: 2.25rem;
  padding: .25rem 0;
}

.db-product-share__trigger:focus,
.db-product-share__trigger:hover {
  color: #b1178a;
}

.db-product-share__trigger:focus-visible {
  border-radius: .25rem;
  box-shadow: 0 0 0 .2rem rgba(222, 34, 172, .2);
  outline: 0;
}

.db-product-share__menu {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: .65rem;
  bottom: calc(100% + .35rem);
  box-shadow: 0 .65rem 1.75rem rgba(0, 0, 0, .14);
  left: 0;
  min-width: 13.5rem;
  padding: .65rem;
  position: absolute;
  z-index: 20;
}

.db-product-share__menu-title {
  color: #343a40;
  font-size: .78rem;
  font-weight: 700;
  margin: 0 0 .35rem;
  padding: .2rem .35rem;
}

.db-product-share__menu-actions {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}

.db-product-share__button {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: .4rem;
  color: #212529;
  display: inline-flex;
  font-size: .8rem;
  font-weight: 600;
  gap: .4rem;
  justify-content: flex-start;
  min-height: 2.4rem;
  padding: .45rem .55rem;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
  width: 100%;
}

.db-product-share__button:focus,
.db-product-share__button:hover {
  background: #fff7fd;
  color: #b1178a;
  outline: 0;
  text-decoration: none;
}

.db-product-share__button:focus-visible {
  box-shadow: 0 0 0 .2rem rgba(222, 34, 172, .2);
}

.db-product-share__icon {
  font-size: 1.05rem;
  line-height: 1;
}

@media (max-width: 575.98px) {
  .db-product-share__menu {
    bottom: auto;
    top: calc(100% + .35rem);
  }
}

/* Top-level menu headings with children are controls, not destination pages. */
.db-desktop-submenu-trigger,
.db-mobile-submenu-toggle {
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
}

.db-desktop-submenu-trigger {
  color: #212529;
}

.db-mobile-submenu-toggle .material-icons {
  transition: transform .2s ease;
}

.db-mobile-submenu-toggle[aria-expanded="true"] .material-icons {
  transform: rotate(180deg);
}

@media (min-width: 768px) {
  .main-menu__item:focus-within > .main-menu__sub {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
}

/* Keep PrestaShop's real product action visible on mobile. */
@media (max-width: 767.98px) {
  body#product {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  body#product #add-to-cart-or-refresh .js-product-add-to-cart > .product-quantity {
    align-items: center;
    background: rgba(255, 255, 255, .98);
    border-top: 1px solid #e3e3e3;
    bottom: 0;
    box-shadow: 0 -.35rem 1.25rem rgba(0, 0, 0, .12);
    display: flex;
    left: 0;
    margin: 0 !important;
    padding: .65rem max(.9rem, env(safe-area-inset-left))
      calc(.65rem + env(safe-area-inset-bottom))
      max(.9rem, env(safe-area-inset-right));
    position: fixed;
    right: 0;
    z-index: 1030;
  }

  body#product #add-to-cart-or-refresh .js-product-add-to-cart .add-to-cart {
    display: flex !important;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 auto;
    max-width: 42rem;
    min-height: 48px;
    width: 100%;
  }
}

/* Free-shipping progress in the mini-cart and full cart. */
.db-free-shipping {
  background: #fff5fc;
  border: 1px solid #f4c8e8;
  border-radius: .5rem;
  margin-top: .875rem;
  padding: .75rem;
}

.db-free-shipping--cart {
  margin: 0 0 1.25rem;
}

.db-free-shipping--modal {
  margin: 1rem 0 0;
}

.db-free-shipping__message {
  align-items: center;
  color: #333;
  display: flex;
  font-size: .8125rem;
  gap: .45rem;
  line-height: 1.35;
  margin: 0 0 .55rem;
}

.db-free-shipping__message .material-icons {
  color: #de22ac;
  flex: 0 0 auto;
  font-size: 1.25rem;
}

.db-free-shipping__message--complete {
  color: #177245;
}

.db-free-shipping__message--complete .material-icons {
  color: #24945c;
}

.db-free-shipping__track {
  background: #ecdfe9;
  border-radius: 99rem;
  height: .45rem;
  overflow: hidden;
}

.db-free-shipping__bar {
  background: #de22ac;
  border-radius: inherit;
  display: block;
  height: 100%;
  min-width: .15rem;
  transition: width .25s ease;
}

.db-free-shipping__message--complete + .db-free-shipping__track .db-free-shipping__bar {
  background: #24945c;
}

/* Payment reassurance using Svea's official wordmark. */
.db-payment-badges {
  align-items: center;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  justify-content: center;
  margin-bottom: 2rem;
  padding: 1.25rem 0;
}

.db-payment-badges__provider {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  font-size: .875rem;
  font-weight: 700;
  gap: .65rem;
}

.db-payment-badges__svea {
  display: block;
  height: auto;
  width: 5.7rem;
}

.db-payment-badges__methods {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.db-payment-mark {
  align-items: center;
  background: #fff;
  border: 1px solid #d8dde3;
  border-radius: .3rem;
  box-sizing: border-box;
  color: #25282b;
  display: inline-flex;
  flex: 0 0 auto;
  height: 2rem;
  justify-content: center;
  min-width: 3.35rem;
  padding: .2rem .48rem;
}

.db-payment-mark--visa {
  color: #1434cb;
  font-size: 1rem;
  font-style: italic;
  font-weight: 900;
  letter-spacing: -.06em;
}

.db-payment-mark--mastercard {
  flex-direction: column;
  gap: 0;
  padding: .1rem .3rem;
}

.db-payment-mark__mastercard-symbol {
  height: .8rem;
  position: relative;
  width: 1.45rem;
}

.db-payment-mark__mastercard-symbol::before,
.db-payment-mark__mastercard-symbol::after {
  border-radius: 50%;
  content: '';
  height: .8rem;
  position: absolute;
  top: 0;
  width: .8rem;
}

.db-payment-mark__mastercard-symbol::before {
  background: #eb001b;
  left: 0;
}

.db-payment-mark__mastercard-symbol::after {
  background: #f79e1b;
  right: 0;
}

.db-payment-mark__mastercard-name {
  font-size: .43rem;
  font-weight: 700;
  line-height: 1;
}

.db-payment-mark--amex {
  background: #006fcf;
  border-color: #006fcf;
  color: #fff;
  font-size: .43rem;
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: .8;
  text-align: center;
}

.db-payment-mark--text {
  background: rgba(255, 255, 255, .92);
  font-size: .72rem;
  font-weight: 700;
  min-width: auto;
}

.db-payment-badges--compact {
  align-items: center;
  border: 0;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: .45rem;
  justify-content: flex-start;
  margin: .7rem 0 .5rem;
  padding: 0;
}

.db-payment-badges__compact-label {
  color: #495057;
  font-size: .78rem;
  font-weight: 600;
  white-space: nowrap;
}

.db-payment-badges--compact .db-payment-badges__svea {
  width: 4.1rem;
}

@media (max-width: 575.98px) {
  .db-payment-badges {
    align-items: center;
    flex-direction: column;
  }

  .db-payment-badges--compact {
    align-items: center;
    flex-direction: row;
  }
}
