:root {
  --premium-cream: #f8f1e7;
  --premium-chocolate: #6a4632;
  --premium-chocolate-dark: #4a3020;
  --premium-pink: #ff72b6;
  --premium-pink-hover: #ff5aa7;
  --premium-text: #3b2a20;
  --premium-soft-gray: #eae5df;
  --premium-white: #fff;
  --premium-radius: 18px;
  --premium-shadow: 0 16px 40px rgba(74, 48, 32, 0.1);
  --bs-primary: #ff72b6;
  --bs-primary-rgb: 255, 114, 182;
  --bs-link-color: #6a4632;
  --bs-link-hover-color: #ff5aa7;
  --bs-body-color: #3b2a20;
  --bs-body-font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bs-border-radius: 0.75rem;
}

body {
  color: var(--premium-text);
  font-family: var(--bs-body-font-family);
  font-weight: 400;
}

html,
body,
.page-index,
.page-index #wrapper,
.page-index #content,
.page-index .page-content--home,
.page-index .premium-home__parent-content,
.page-index .premium-home {
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3 {
  color: var(--premium-chocolate-dark);
  font-family: var(--bs-body-font-family);
  font-weight: 800;
  letter-spacing: -0.025em;
}

.btn {
  font-family: var(--bs-body-font-family);
  font-weight: 600;
}

.btn-primary,
.premium-btn {
  --bs-btn-bg: var(--premium-chocolate);
  --bs-btn-border-color: var(--premium-chocolate);
  --bs-btn-hover-bg: var(--premium-pink);
  --bs-btn-hover-border-color: var(--premium-pink);
  --bs-btn-active-bg: var(--premium-pink);
  --bs-btn-active-border-color: var(--premium-pink);
  --bs-btn-color: var(--premium-white);
  --bs-btn-hover-color: var(--premium-chocolate-dark);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(74, 48, 32, 0.18);
  padding: 0.75rem 1.4rem;
}

.btn-primary,
.btn-primary:visited,
.premium-btn,
.premium-btn:visited {
  background-color: var(--premium-chocolate);
  border-color: var(--premium-chocolate);
}

.premium-btn--outline {
  background: transparent;
  border-color: var(--premium-chocolate);
  box-shadow: none;
  color: var(--premium-chocolate);
}

.premium-btn--outline:hover {
  background: var(--premium-pink);
  border-color: var(--premium-pink);
  color: var(--premium-chocolate-dark);
}

/* Top promo banner */
.header-banner {
  margin: 0;
  padding: 0;
}

.header-banner .customcontent-block-wrapper,
.header-banner .customcontent-block-wrapper > .container,
.header-banner .customcontent-block,
.header-banner .customcontent-block-content,
.header-banner .customcontent-row,
.header-banner .customcontent-column,
.header-banner .customcontent-column-inner,
.header-banner .customcontent-element {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.header-banner .customcontent-row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

.header-banner .customcontent-element > *,
.header-banner .customcontent-element [style] {
  margin-bottom: 0 !important;
}

.premium-top-banner {
  align-items: center;
  background: #f165aa;
  color: var(--premium-white);
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-inline: calc(50% - 50vw);
  max-width: 100vw;
  padding: 0.45rem 1rem;
  text-align: center;
  width: 100vw;
}

.premium-top-banner__text {
  color: inherit;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
}

.premium-top-banner__cta {
  background: var(--premium-white);
  border-radius: 999px;
  color: var(--premium-chocolate-dark);
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 700;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 9.5rem;
  padding: 0.65rem 1.4rem;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.premium-top-banner__cta:hover,
.premium-top-banner__cta:focus {
  box-shadow: 0 10px 24px rgba(74, 48, 32, 0.16);
  color: var(--premium-chocolate-dark);
  text-decoration: none;
  transform: translateY(-1px);
}

/* Header */
.header {
  background: var(--premium-chocolate-dark);
}

.header-top {
  background: var(--premium-chocolate-dark);
  border-bottom-color: rgba(248, 241, 231, 0.12);
  color: var(--premium-cream);
  display: none !important;
  font-size: 0.8125rem;
  height: 0 !important;
  margin: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.header-top__left {
  display: flex;
  flex: 1 1 auto;
  gap: 0;
  margin-top: 0;
  padding: 0;
  width: 100%;
}

.header-top__left > *,
.header-top__left [class*='container'],
.header-top__left [class*='row'],
.header-top__left [class*='col-'] {
  margin-top: 0;
  max-width: none;
  padding-top: 0;
  width: 100%;
}

.header-top__left [class*='container'] {
  padding-left: 0;
  padding-right: 0;
}

.header-top__left [class*='row'] {
  margin-left: 0;
  margin-right: 0;
}

.header-top__left [class*='col-'],
.header-top__left [class^='col-'] {
  padding-left: 0;
  padding-right: 0;
}

.header-top__left,
.header-top__left > * {
  margin-bottom: 0 !important;
  padding-top: 0;
}

.header-top__left > * {
  margin-top: 0 !important;
}

.header-top__left > :first-child,
.header-top__left > :first-child > :first-child,
.header-top__left .premium-top-banner {
  margin-top: 0 !important;
}

.header-bottom {
  background: var(--premium-chocolate-dark);
  border-bottom: 1px solid rgba(248, 241, 231, 0.12);
  padding: 0.1rem 0;
  transition: box-shadow 0.2s ease;
}

.premium-header-scrolled .header-bottom {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}

.header-bottom .navbar-brand .logo {
  max-height: 3.40rem;
  max-width: 119px;
}

.header-bottom .navbar-brand {
  align-items: center;
  display: flex;
  height: 3rem;
  padding: 0;
}

.header-bottom #_desktop_ps_searchbar {
  max-width: 24rem;
}

.header-bottom .ps-searchbar {
  margin-block: 0;
  min-width: min(24rem, 38vw);
  width: 100%;
}

.header-bottom__row {
  align-items: center !important;
  min-height: 3.25rem;
}

.header-bottom .header-block {
  align-items: center;
  display: flex;
  margin: 0;
}

.premium-header-inline-actions > div {
  display: flex;
}

.premium-header-inline-actions .header-block__title {
  display: none !important;
}

.premium-header-inline-actions .header-block__action-btn {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px;
  box-shadow: none !important;
  color: var(--premium-cream);
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  padding: 0.5rem;
  position: relative;
  width: 2.75rem;
}

.premium-header-inline-actions .header-block__action-btn:hover {
  color: var(--premium-pink);
}

.header-top a:not(.dropdown-item),
.header-top .form-select,
.header-bottom a,
.header-bottom .material-icons,
.header-bottom .header-block__action-btn,
.header-nav-full-width a {
  color: var(--premium-cream);
}

.header-bottom .header-block__action-btn,
.header-bottom .header-block,
.ps-searchbar--mobile .header-block__action-btn {
  background: transparent !important;
  box-shadow: none !important;
}

.header-bottom .header-block__action-btn {
  height: 2.5rem;
  padding: 0.35rem;
  width: 2.5rem;
}

.header-bottom .header-block__action-btn,
.header-bottom .header-block__action-btn:visited,
.header-bottom .header-block__action-btn:hover,
.header-bottom .header-block__action-btn:focus,
.header-bottom .header-block__action-btn:active,
.header-bottom .header-block__action-btn:focus-visible,
.ps-searchbar--mobile .header-block__action-btn,
.ps-searchbar--mobile .header-block__action-btn:visited,
.ps-searchbar--mobile .header-block__action-btn:hover,
.ps-searchbar--mobile .header-block__action-btn:focus,
.ps-searchbar--mobile .header-block__action-btn:active,
.ps-searchbar--mobile .header-block__action-btn:focus-visible {
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  outline: 0 !important;
}

.header-top a:not(.dropdown-item):hover,
.header-bottom a:hover,
.header-bottom .header-block__action-btn:hover,
.header-nav-full-width a:hover {
  color: var(--premium-pink);
}

.header-nav-full-width {
  background: var(--premium-chocolate-dark);
}

.header-nav-full-width .ps-mainmenu--desktop,
.header-nav-full-width .ps-mainmenu__desktop,
.header-nav-full-width .ps-mainmenu__tree {
  justify-content: center;
  width: 100%;
}

@media (min-width: 1200px) {
  .header-bottom__row {
    position: relative;
  }

  .header-bottom #_desktop_ps_searchbar {
    left: 50%;
    margin: 0 !important;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(36rem, 42vw);
  }

  .premium-header-inline-actions {
    margin-left: auto;
  }
}

@media (max-width: 1199.98px) {
  .header-bottom__row {
    flex-wrap: nowrap;
    padding-left: 3.5rem;
  }

  .header-nav-full-width {
    border: 0;
    height: 0;
    overflow: visible;
    pointer-events: none;
    position: relative;
    top: -3.45rem;
    z-index: 20;
  }

  .header-nav-full-width > .ps-mainmenu--desktop {
    justify-content: flex-start;
    margin: 0 auto;
    max-width: 960px;
    pointer-events: none;
    padding-inline: 0.75rem;
    width: auto;
  }

  .header-nav-full-width .ps-mainmenu--mobile,
  .header-nav-full-width .ps-mainmenu__mobile-toggle,
  .header-nav-full-width .ps-mainmenu__mobile-toggle *,
  .header-nav-full-width .ps-mainmenu__desktop,
  .header-nav-full-width .ps-mainmenu__desktop *,
  .header-nav-full-width .ps-mainmenu--mobile * {
    pointer-events: auto;
  }
}

@media (max-width: 767.98px) {
  .premium-top-banner {
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.7rem 0.75rem;
  }

  .premium-top-banner__text {
    font-size: 0.95rem;
  }

  .premium-top-banner__cta {
    min-height: 2.25rem;
    min-width: auto;
    padding: 0.55rem 1.2rem;
  }

  .header-bottom__row {
    min-height: 3.75rem;
    padding-left: 3.25rem;
  }

  .header-nav-full-width > .ps-mainmenu--desktop {
    max-width: 100%;
  }
}

.ps-searchbar__input {
  background: rgba(248, 241, 231, 0.08);
  border: 1px solid rgba(248, 241, 231, 0.16);
  border-radius: 999px;
  color: var(--premium-cream);
  font-size: 0.875rem;
}

.ps-searchbar__input:focus {
  background: rgba(248, 241, 231, 0.12);
  border-color: var(--premium-pink);
  box-shadow: 0 0 0 0.2rem rgba(255, 114, 182, 0.16);
}

.ps-searchbar__input::placeholder,
.ps-searchbar__magnifier,
.ps-searchbar__clear {
  color: rgba(248, 241, 231, 0.72);
}

.header-block__badge {
  background: var(--premium-pink);
  color: var(--premium-chocolate-dark);
}

/* Shared home sections */
.page-content--home {
  gap: 0;
}

.premium-home__parent-content,
.premium-home {
  min-width: 0;
  width: 100%;
}

.premium-home {
  overflow: clip;
}

.premium-section {
  padding: 4rem 0;
}

.premium-section__heading {
  margin: 0 auto 2rem;
  max-width: 44rem;
  text-align: center;
}

.premium-section__heading h2,
.premium-service__content h2,
.premium-newsletter h2 {
  font-size: clamp(1.8rem, 5vw, 3rem);
  margin-bottom: 0.8rem;
}

.premium-section__heading p,
.premium-service__content p,
.premium-newsletter__copy p {
  color: rgba(59, 42, 32, 0.76);
  line-height: 1.75;
}

.premium-eyebrow {
  color: var(--premium-pink-hover);
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 0.65rem;
  text-transform: uppercase;
}

/* Categories */
.premium-categories {
  background: var(--premium-cream);
  border-top: 1px solid rgba(74, 48, 32, 0.12);
}

.premium-categories.premium-categories--module {
  background-color: #f8f1e7 !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

.premium-categories .premium-section__heading {
  max-width: 70rem;
}

.premium-category-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
  max-width: 76rem;
}

.premium-category-card {
  align-items: center;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(74, 48, 32, 0.04);
  border-radius: 999px 999px 2rem 2rem;
  color: var(--premium-chocolate-dark);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  overflow: hidden;
  padding: 1rem 1rem 1.35rem;
  text-align: center;
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.premium-category-card:hover {
  box-shadow: var(--premium-shadow);
  color: var(--premium-chocolate);
  transform: translateY(-4px);
}

.premium-category-card__media {
  aspect-ratio: 1;
  background: var(--premium-white);
  display: block;
  overflow: hidden;
  width: 82%;
}

.premium-category-card__media img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  width: 100%;
}

.premium-category-card:hover img {
  transform: scale(1.04);
}

.premium-category-card__title {
  color: var(--premium-chocolate);
  font-size: clamp(0.9rem, 2vw, 1.15rem);
  font-weight: 800;
  line-height: 1.25;
  padding: 1.2rem 0 0;
}

/* Featured products */
.premium-featuredproducts {
  background: var(--premium-cream);
  padding: 4rem 0;
}

.module-products__list .products {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr);
}

.product-miniature {
  min-width: 0;
}

.product-miniature__inner {
  background: var(--premium-white);
  border: 1px solid rgba(74, 48, 32, 0.08);
  border-radius: var(--premium-radius);
  height: 100%;
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.product-miniature__inner:hover {
  box-shadow: var(--premium-shadow);
  transform: translateY(-4px);
}

.product-miniature__top {
  background: var(--premium-white);
  overflow: hidden;
}

.product-miniature__image {
  transition: transform 0.35s ease;
}

.product-miniature__inner:hover .product-miniature__image {
  transform: scale(1.035);
}

.product-miniature__bottom {
  padding: 1rem;
}

.product-miniature__title {
  color: var(--premium-chocolate-dark);
  display: -webkit-box;
  font-weight: 700;
  line-height: 1.18;
  min-height: 2.36em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-miniature__price {
  color: var(--premium-chocolate);
  font-size: 1.125rem;
  font-weight: 800;
}

.product-miniature .product-list-review {
  justify-content: center;
}

.product-miniature .grade-stars.small-stars {
  transform: scale(1.18);
  transform-origin: center;
}

.product-miniature .product-list-comments-number {
  display: none !important;
}

.product-miniature__actions {
  margin-top: 1rem;
}

.product-miniature__form {
  width: 100%;
}

.product-miniature__form .quantity-button {
  display: none;
}

.product-miniature__add.btn.btn-primary,
.product-miniature__add.btn.btn-primary:visited {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  border-radius: 22px !important;
  box-shadow: 0 6px 16px rgba(74, 48, 32, 0.14) !important;
  color: var(--premium-white) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  min-height: 2.75rem !important;
  padding: 0.55rem 1rem !important;
}

.product-miniature__add.btn.btn-primary {
  width: 100%;
}

.product-miniature__add.btn.btn-primary:hover,
.product-miniature__add.btn.btn-primary:focus,
.product-miniature__add.btn.btn-primary:active {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  color: var(--premium-white) !important;
}

.module-products__buttons {
  margin-top: 2rem;
}

.module-products__buttons .btn {
  align-items: center;
  background: transparent;
  border: 1px solid var(--premium-chocolate);
  border-radius: 999px;
  box-shadow: none;
  color: var(--premium-chocolate);
  display: inline-flex;
  font-weight: 700;
  gap: 0.65rem;
  justify-content: center;
  min-width: 0;
  padding: 0.7rem 1.65rem;
  width: 100%;
}

.module-products__buttons .btn:hover {
  background: var(--premium-pink);
  border-color: var(--premium-pink);
  color: var(--premium-chocolate-dark);
}

.product-miniature__details.btn.btn-outline-primary,
.product-miniature__details.btn.btn-outline-primary:visited {
  align-items: center !important;
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 22px rgba(74, 48, 32, 0.18) !important;
  color: var(--premium-white) !important;
  display: inline-flex !important;
  font-weight: 700 !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0.75rem 1.4rem !important;
  text-align: center !important;
  width: 100% !important;
}

.product-miniature__details.btn.btn-outline-primary:hover,
.product-miniature__details.btn.btn-outline-primary:focus,
.product-miniature__details.btn.btn-outline-primary:active {
  background: var(--premium-pink) !important;
  background-color: var(--premium-pink) !important;
  border-color: var(--premium-pink) !important;
  color: var(--premium-chocolate-dark) !important;
}

/* Grooming service */
.premium-service {
  background: var(--premium-white);
}

.premium-service__card {
  background: var(--premium-cream);
  border-radius: clamp(1.25rem, 4vw, 2rem);
  display: grid;
  overflow: hidden;
}

.premium-service__media {
  min-height: 20rem;
}

.premium-service__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.premium-service__content {
  align-self: center;
  padding: 2rem 1.25rem;
}

.premium-service__content p {
  margin-bottom: 1.5rem;
  max-width: 36rem;
}

/* Testimonials */
.premium-testimonials {
  background: var(--premium-chocolate-dark);
}

.premium-testimonials h2 {
  color: var(--premium-cream);
}

.premium-testimonial-grid {
  display: grid;
  gap: 1rem;
}

.premium-testimonial-card {
  background: rgba(248, 241, 231, 0.08);
  border: 1px solid rgba(248, 241, 231, 0.14);
  border-radius: var(--premium-radius);
  color: var(--premium-cream);
  padding: 1.5rem;
}

.premium-testimonial-card blockquote {
  font-size: 1rem;
  line-height: 1.75;
  margin: 1rem 0 1.25rem;
}

.premium-testimonial-card__name {
  font-weight: 700;
  margin: 0;
}

.premium-stars {
  color: var(--premium-pink);
  letter-spacing: 0.16em;
}

/* Journal */
.premium-journal {
  background: var(--premium-white);
}

.premium-journal-grid {
  display: grid;
  gap: 1.25rem;
}

.premium-journal-card {
  background: var(--premium-cream);
  border-radius: var(--premium-radius);
  overflow: hidden;
}

.premium-journal-card > img {
  aspect-ratio: 16 / 11;
  object-fit: cover;
  width: 100%;
}

.premium-journal-card__body {
  padding: 1.35rem;
}

.premium-journal-card h3 {
  font-size: 1.2rem;
}

.premium-journal-card p {
  color: rgba(59, 42, 32, 0.74);
  line-height: 1.65;
}

.premium-journal-card a {
  color: var(--premium-chocolate);
  font-weight: 700;
}

.premium-journal-card a:hover {
  color: var(--premium-pink-hover);
}

/* Newsletter */
.premium-footer-before {
  background: var(--premium-cream);
}

.premium-newsletter {
  background: var(--premium-pink);
  padding: 3rem 0;
}

.premium-newsletter__inner {
  align-items: center;
  display: grid;
  gap: 1.5rem;
}

.premium-newsletter .premium-eyebrow {
  color: var(--premium-chocolate);
}

.premium-newsletter h2 {
  margin-bottom: 0.5rem;
}

.premium-newsletter__copy p {
  color: var(--premium-chocolate-dark);
  margin: 0;
}

.premium-newsletter__fields {
  display: grid;
  gap: 0.75rem;
}

.premium-newsletter__fields .form-control {
  border: 0;
  border-radius: 999px;
  min-height: 3rem;
  padding-inline: 1.2rem;
}

.premium-newsletter__fields .premium-btn {
  background: var(--premium-chocolate-dark);
  border-color: var(--premium-chocolate-dark);
  color: var(--premium-cream);
  box-shadow: none;
}

.premium-newsletter__legal {
  color: rgba(74, 48, 32, 0.8);
  font-size: 0.75rem;
  margin: 0.75rem 0 0;
}

/* Footer */
.premium-footer {
  background: var(--premium-chocolate-dark);
  color: var(--premium-cream);
  padding: 3.5rem 0 1.5rem;
}

.premium-footer__grid {
  display: grid;
  gap: 2rem;
}

.premium-footer h2 {
  color: var(--premium-cream);
  font-size: 1rem;
  letter-spacing: 0;
  margin-bottom: 1rem;
}

.premium-footer__brand h2 {
  font-size: 1.45rem;
}

.premium-footer p {
  color: rgba(248, 241, 231, 0.72);
  line-height: 1.7;
}

.premium-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.premium-footer li {
  color: rgba(248, 241, 231, 0.72);
  margin-bottom: 0.65rem;
}

.premium-footer a {
  color: rgba(248, 241, 231, 0.74);
}

.premium-footer a:hover {
  color: var(--premium-pink);
}

.premium-footer__native {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.premium-footer__native .footer-block__title,
.premium-footer__native .footer-block__title a {
  color: var(--premium-cream);
}

.premium-footer__about-logo {
  margin-bottom: 1rem;
  text-align: center;
}

.premium-footer__about-logo .navbar-brand {
  display: inline-block;
  padding: 0;
}

.premium-footer__about-logo .logo {
  height: auto;
  max-width: 5.75rem;
}

.premium-footer__about h2 {
  font-size: 1.45rem;
  text-align: center;
}

.premium-footer__about p {
  margin-inline: auto;
  max-width: 24rem;
  text-align: center;
}

.premium-footer__after {
  margin-top: 1.5rem;
}

.premium-footer__bottom {
  border-top: 1px solid rgba(248, 241, 231, 0.12);
  color: rgba(248, 241, 231, 0.58);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.75rem;
  gap: 0.5rem 1.5rem;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 1.25rem;
}

/* Catalog and general components */
.breadcrumb a,
.category-tree a {
  color: var(--premium-chocolate);
}

.page-category #products,
.page-search #products,
.page-best-sales #products,
.page-new-products #products,
.page-prices-drop #products,
.page-manufacturer #products,
.page-supplier #products {
  padding: 2rem 0 0;
}

.products__selection,
.active_filters,
.block-categories,
.facets__content {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.products__selection {
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid rgba(74, 48, 32, 0.08);
}

.products__count,
.products__count span {
  color: var(--premium-chocolate);
  font-weight: 700;
}

.products__sort .bootstrap-select,
.products__sort .dropdown.bootstrap-select {
  min-width: 14rem;
}

.products__sort .btn,
.products__filter-button {
  border-radius: 999px;
}

.active_filters {
  margin-bottom: 1.25rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid rgba(74, 48, 32, 0.08);
}

.active_filters .filter-block {
  background: var(--premium-cream);
  border-radius: 999px;
  color: var(--premium-chocolate-dark);
}

.active_filters .filter-block .close {
  color: var(--premium-chocolate);
}

#js-product-list .products,
.page-category .products,
.page-search .products {
  gap: 1.25rem;
}

.products__pagination {
  margin-top: 2rem;
}

.pagination .page-link {
  border-color: rgba(74, 48, 32, 0.12);
  color: var(--premium-chocolate);
}

.pagination .page-item.active .page-link,
.pagination .page-link:hover {
  background: var(--premium-pink);
  border-color: var(--premium-pink);
  color: var(--premium-chocolate-dark);
}

.product-miniature__add.btn.btn-primary:disabled,
.product-miniature__add.btn.btn-primary.disabled {
  background: rgba(255, 114, 182, 0.55);
  border-color: rgba(255, 114, 182, 0.55);
  box-shadow: none;
  color: rgba(74, 48, 32, 0.72);
}

.page-index .product-miniature__add.btn.btn-primary,
.page-index .product-miniature__add.btn.btn-primary:visited {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  box-shadow: 0 8px 22px rgba(74, 48, 32, 0.18) !important;
  color: var(--premium-white) !important;
}

.page-product .product-miniature__add.btn.btn-primary,
.page-product .product-miniature__add.btn.btn-primary:visited {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  box-shadow: 0 8px 22px rgba(74, 48, 32, 0.18) !important;
  color: var(--premium-white) !important;
}

.page-product .js-product-details .accordion-button,
.page-product .js-product-details .accordion-body,
.page-product .js-product-details .details__item,
.page-product .js-product-details .details__left,
.page-product .js-product-details .details__right {
  background: var(--premium-cream);
}

.page-index .product-miniature__add.btn.btn-primary:hover,
.page-index .product-miniature__add.btn.btn-primary:focus,
.page-index .product-miniature__add.btn.btn-primary:active {
  background: var(--premium-pink) !important;
  background-color: var(--premium-pink) !important;
  border-color: var(--premium-pink) !important;
  color: var(--premium-chocolate-dark) !important;
}

.page-product .product-miniature__add.btn.btn-primary:hover,
.page-product .product-miniature__add.btn.btn-primary:focus,
.page-product .product-miniature__add.btn.btn-primary:active {
  background: var(--premium-pink) !important;
  background-color: var(--premium-pink) !important;
  border-color: var(--premium-pink) !important;
  box-shadow: 0 10px 24px rgba(255, 114, 182, 0.22) !important;
  color: var(--premium-chocolate-dark) !important;
}

.page-product .product__add-to-cart-button.btn.btn-primary,
.page-product .product__add-to-cart-button.btn.btn-primary:visited {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  border-radius: 18px !important;
  box-shadow: 0 5px 14px rgba(74, 48, 32, 0.14) !important;
  color: var(--premium-white) !important;
  font-size: 1rem !important;
  line-height: 1.15 !important;
  min-height: 2.85rem !important;
  padding: 0.55rem 1rem !important;
}

.page-product .product__add-to-cart-button.btn.btn-primary:hover,
.page-product .product__add-to-cart-button.btn.btn-primary:focus,
.page-product .product__add-to-cart-button.btn.btn-primary:active {
  background: var(--premium-pink) !important;
  background-color: var(--premium-pink) !important;
  border-color: var(--premium-pink) !important;
  color: var(--premium-chocolate-dark) !important;
}

.page-product .product__actions-qty-add {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

.page-product .product__actions-qty-add .product__quantity {
  flex: 0 0 auto;
}

.page-product .product__actions-qty-add .product__add-to-cart-button {
  flex: 0 1 auto !important;
  width: auto !important;
}

.page-product .product-comments-additional-info .link-comment,
.page-product .product-comments-additional-info .post-product-comment,
.page-product #product-comments-list-btn-group .post-product-comment {
  border-radius: 14px !important;
  font-size: 0.92rem !important;
  line-height: 1.25 !important;
  min-height: 2.6rem !important;
  padding: 0.45rem 0.8rem !important;
  width: auto !important;
}

.page-product .product-comments-additional-info .additional-links {
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.5rem !important;
}

.page-product .product-comments-additional-info .link-comment .material-icons,
.page-product .product-comments-additional-info .post-product-comment .material-icons {
  font-size: 1.05rem;
}

@media (max-width: 1199.98px) and (min-width: 768px) {
  .page-product .product__actions-qty-add {
    align-items: flex-start;
  }

  .page-product .product__actions-qty-add .product__add-to-cart-button {
    max-width: 100%;
    white-space: normal;
  }

  .page-product .product-comments-additional-info {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .page-product .product-comments-additional-info .additional-links {
    flex: 1 0 100%;
  }

  .page-product .product-comments-additional-info .link-comment,
  .page-product .product-comments-additional-info .post-product-comment {
    flex: 0 1 auto;
    max-width: 100%;
    white-space: normal;
  }
}

@media (max-width: 767.98px) {
  .page-product .product-comments-additional-info {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .page-product .product-comments-additional-info > a {
    display: block;
  }

  .page-product .product-comments-additional-info .additional-links {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .page-product .product-comments-additional-info .link-comment,
  .page-product .product-comments-additional-info .post-product-comment {
    justify-content: flex-start !important;
    width: 100% !important;
  }
}

.page-product .product__manufacturer a,
.page-product .product__manufacturer a:visited {
  color: var(--premium-pink);
}

.page-product .product__manufacturer a:hover,
.page-product .product__manufacturer a:focus {
  color: var(--premium-pink-hover);
}

#blockcart-modal .btn.btn-outline-primary,
#blockcart-modal .btn.btn-outline-primary:visited {
  background: transparent;
  border-color: var(--premium-chocolate);
  border-radius: 999px;
  box-shadow: none;
  color: var(--premium-chocolate);
  font-weight: 600;
  padding: 0.75rem 1.4rem;
}

#blockcart-modal .btn.btn-primary,
#blockcart-modal .btn.btn-primary:visited {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  box-shadow: 0 8px 22px rgba(74, 48, 32, 0.18) !important;
  color: var(--premium-white) !important;
}

#blockcart-modal .btn.btn-primary:hover,
#blockcart-modal .btn.btn-primary:focus,
#blockcart-modal .btn.btn-primary:active {
  background: var(--premium-pink) !important;
  background-color: var(--premium-pink) !important;
  border-color: var(--premium-pink) !important;
  color: var(--premium-chocolate-dark) !important;
}

#blockcart-modal .btn.btn-outline-primary:hover,
#blockcart-modal .btn.btn-outline-primary:focus,
#blockcart-modal .btn.btn-outline-primary:active {
  background: var(--premium-pink);
  border-color: var(--premium-pink);
  color: var(--premium-chocolate-dark);
}

.cart__continue-shopping.btn.btn-outline-primary,
.cart__continue-shopping.btn.btn-outline-primary:visited {
  background: transparent;
  border-color: var(--premium-chocolate);
  border-radius: 999px;
  box-shadow: none;
  color: var(--premium-chocolate);
  font-weight: 600;
  padding: 0.75rem 1.4rem;
}

.cart__continue-shopping.btn.btn-outline-primary:hover,
.cart__continue-shopping.btn.btn-outline-primary:focus,
.cart__continue-shopping.btn.btn-outline-primary:active {
  background: var(--premium-pink);
  border-color: var(--premium-pink);
  color: var(--premium-chocolate-dark);
}

.js-remove-from-cart,
.js-remove-from-cart:visited {
  color: var(--premium-chocolate);
}

.js-remove-from-cart:hover,
.js-remove-from-cart:focus {
  color: var(--premium-pink-hover);
}

.cart-summary__actions .btn.btn-primary,
.cart-summary__actions .btn.btn-primary:visited {
  background: var(--premium-chocolate) !important;
  background-color: var(--premium-chocolate) !important;
  border-color: var(--premium-chocolate) !important;
  box-shadow: 0 8px 22px rgba(74, 48, 32, 0.18) !important;
  color: var(--premium-white) !important;
}

.cart-summary__actions .btn.btn-primary:hover,
.cart-summary__actions .btn.btn-primary:focus,
.cart-summary__actions .btn.btn-primary:active {
  background: var(--premium-pink) !important;
  background-color: var(--premium-pink) !important;
  border-color: var(--premium-pink) !important;
  color: var(--premium-chocolate-dark) !important;
}


.page-category .category__cover-image,
.card,
.modal-content,
.dropdown-menu {
  border-radius: var(--premium-radius);
}

:focus-visible {
  outline-color: var(--premium-pink-hover);
}

@media (min-width: 576px) {
  .module-products__list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-testimonial-grid,
  .premium-journal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-newsletter__fields {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .premium-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .page-index .header-bottom__container,
  .page-index .header-bottom__row {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .premium-home__parent-content,
  .premium-home,
  .premium-home__parent-content > *,
  .premium-home > * {
    min-width: 0;
  }

  .premium-categories.premium-categories--module {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .products__selection,
  .active_filters {
    padding: 0;
  }
}

@media (min-width: 768px) {
  .premium-section,
  .premium-featuredproducts {
    padding: 5.5rem 0;
  }

  .premium-category-grid {
    gap: 1.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .premium-service__card {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }

  .premium-service__content {
    padding: 3rem;
  }

  .premium-testimonial-grid,
  .premium-journal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .premium-newsletter__inner {
    grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .product-miniature__bottom {
    padding: 0.9rem;
  }

  .product-miniature__add {
    font-size: 0.95rem;
    line-height: 1.2;
    padding: 0.8rem 1rem;
  }

  .product-miniature__add .material-icons {
    font-size: 1.1rem;
  }
}

@media (min-width: 992px) {
  .module-products__list .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .premium-footer__grid {
    grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.page-product .js-product-details {
  border-radius: 22px;
  overflow: hidden;
}

.page-product .js-product-details .accordion-item {
  border: 0;
  border-radius: 22px;
  overflow: hidden;
}

.page-product .js-product-details .accordion-button {
  padding: 1.25rem 1.5rem;
}

.page-product .js-product-details .accordion-body {
  padding: 0 1rem 1rem;
}

.page-product .js-product-details .details__item {
  border-radius: 0;
  border-bottom: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.page-product .js-product-details .details__item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.page-product .js-product-details .details__item:last-child {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0;
}

.page-product .js-product-details .details__left,
.page-product .js-product-details .details__right {
  padding: 1.25rem 1.25rem;
}

.page-product .js-product-details .details__list {
  background: var(--premium-chocolate-dark);
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.page-product .js-product-details .details__list,
.page-product .js-product-details .details__item,
.page-product .js-product-details .details__left,
.page-product .js-product-details .details__right,
.page-product .js-product-details table,
.page-product .js-product-details tbody,
.page-product .js-product-details tr,
.page-product .js-product-details th,
.page-product .js-product-details td,
.page-product .js-product-details .data-sheet,
.page-product .js-product-details .data-sheet dt,
.page-product .js-product-details .data-sheet dd {
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 991.98px) {
  .page-product .js-product-details .accordion-body {
    padding: 0 0.85rem 0.85rem;
  }

  .page-product .js-product-details .details__item {
    border-bottom: 0 !important;
  }

  .page-product .js-product-details .details__item:last-child {
    border-bottom: 0 !important;
  }

  .page-product .js-product-details .details__left,
  .page-product .js-product-details .details__right {
    border: 0 !important;
    padding: 1rem !important;
  }
}

/* Header final overrides */
#header .header-top {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#header .header-banner,
#header .header-banner > *,
#header .header-banner [class*='container'],
#header .header-banner [class*='row'],
#header .header-banner [class*='col-'] {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

#header .header-bottom {
  padding-block: 0.2rem !important;
}

#header .header-bottom__row {
  align-items: center !important;
  min-height: 3.75rem !important;
}

#header .header-bottom .ps-searchbar {
  margin-block: 0 !important;
}

/* Custom product variant selector (buttons with prices and checkmarks) */
.product-variant__radios-custom {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.product-variant__radio-custom {
  position: relative;
  flex: 1 1 calc(20% - 0.75rem);
  min-width: 90px;
}

.product-variant__radio-input-custom {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  pointer-events: none;
}

.product-variant__radio-label-custom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--premium-white);
  border: 1px solid var(--premium-soft-gray);
  border-radius: 12px;
  padding: 0.85rem 0.5rem;
  cursor: pointer;
  position: relative;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 75px;
  user-select: none;
}

.product-variant__radio-label-custom:hover {
  border-color: var(--premium-chocolate);
  box-shadow: 0 4px 12px rgba(74, 48, 32, 0.08);
}

.product-variant__radio-label-custom.is-selected {
  background-color: var(--premium-cream) !important;
  border: 2px solid var(--premium-chocolate-dark) !important;
  box-shadow: 0 6px 16px rgba(74, 48, 32, 0.12);
}

.product-variant__radio-check-custom {
  position: absolute;
  top: 6px;
  right: 8px;
  font-size: 0.75rem;
  font-weight: 900;
  color: var(--premium-chocolate-dark);
}

.product-variant__radio-name-custom {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--premium-chocolate-dark);
  line-height: 1.2;
}

.product-variant__radio-price-custom {
  font-size: 0.825rem;
  font-weight: 600;
  color: var(--premium-chocolate);
  margin-top: 0.35rem;
  line-height: 1.2;
}

/* Accessibility focus state */
.product-variant__radio-input-custom:focus-visible + .product-variant__radio-label-custom {
  outline: 2px solid var(--premium-pink);
  outline-offset: 2px;
}

/* Disable collapse/accordion behavior for filters on desktop screens */
@media (min-width: 768px) {
  #search-filters .accordion-item {
    border-bottom: 1px solid var(--premium-soft-gray) !important;
    margin-bottom: 1.25rem;
    background: transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
  }
  
  #search-filters .accordion-button {
    pointer-events: none; /* Disable click toggling on desktop */
    cursor: default;
    background: transparent !important;
    padding-inline: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0.75rem !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--premium-chocolate-dark) !important;
    box-shadow: none !important;
  }
  
  #search-filters .accordion-button::after {
    display: none !important; /* Hide the arrow */
  }
  
  #search-filters .accordion-collapse.collapse {
    display: block !important; /* Force open on desktop */
    height: auto !important;
    visibility: visible !important;
  }
  
  #search-filters .accordion-body {
    padding-inline: 0 !important;
    padding-top: 0.25rem !important;
    padding-bottom: 0.75rem !important;
  }
}

/* Tablet category listings: 3 compact columns */
@media (min-width: 768px) and (max-width: 991.98px) {
  .page-category #js-product-list .products,
  .page-category #products .products,
  .page-search #js-product-list .products,
  .page-search #products .products {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-category #js-product-list .products > *,
  .page-category #products .products > *,
  .page-search #js-product-list .products > *,
  .page-search #products .products > *,
  .page-category #js-product-list .products .product-miniature,
  .page-category #products .products .product-miniature,
  .page-search #js-product-list .products .product-miniature,
  .page-search #products .products .product-miniature {
    flex: none !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .page-category #js-product-list .product-miniature__inner,
  .page-category #products .product-miniature__inner,
  .page-search #js-product-list .product-miniature__inner,
  .page-search #products .product-miniature__inner {
    width: 100% !important;
  }
}

/* Mobile adjustments for product miniatures: layout optimization and button style */
@media (max-width: 767.98px) {
  .page-category #js-product-list .products,
  .page-category #products .products,
  .page-search #js-product-list .products,
  .page-search #products .products {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-category #js-product-list .products > *,
  .page-category #products .products > *,
  .page-search #js-product-list .products > *,
  .page-search #products .products > * {
    flex: none !important;
    margin-bottom: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
  }

  /* Optimize grid spacing for flexbox layouts (category listings) */
  #products .products,
  .product_list {
    margin-left: -5px !important;
    margin-right: -5px !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }
  
  #products .products .product-miniature,
  .product_list .product-miniature {
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-bottom: 1.5rem !important;
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }

  .page-category #js-product-list .products .product-miniature,
  .page-category #products .products .product-miniature,
  .page-search #js-product-list .products .product-miniature,
  .page-search #products .products .product-miniature {
    display: block !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .page-category #js-product-list .product-miniature__inner,
  .page-category #products .product-miniature__inner,
  .page-search #js-product-list .product-miniature__inner,
  .page-search #products .product-miniature__inner {
    width: 100% !important;
  }

  /* Optimize grid layout for CSS Grid layouts (homepage featured products) */
  .module-products__list .products,
  .ps-featuredproducts .products,
  .premium-featuredproducts .products,
  .featured-products .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .module-products__list .products .product-miniature,
  .ps-featuredproducts .products .product-miniature,
  .premium-featuredproducts .products .product-miniature,
  .featured-products .products .product-miniature {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }



  /* Keep the white card background and shadow on mobile, but with tighter padding */
  .product-miniature__inner {
    padding: 6px !important;
    background: var(--premium-white) !important;
    border: 1px solid rgba(74, 48, 32, 0.08) !important;
    border-radius: var(--premium-radius) !important;
  }

  /* Ensure the image fills the card to look larger */
  .product-miniature__image {
    margin-bottom: 0.5rem !important;
    border-radius: 8px !important;
    overflow: hidden;
  }

  .product-miniature__image img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain;
  }
  
  .product-miniature__bottom {
    padding: 4px 4px 0 4px !important; /* Small padding inside the white card */
  }

  /* Font sizes: smaller text for mobile */
  .product-miniature__category {
    font-size: 0.7rem !important;
    margin-bottom: 0.2rem !important;
  }

  .product-miniature__title {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    min-height: auto !important;
    margin-bottom: 0.25rem !important;
  }

  .product-miniature__title a {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }

  /* Scale down review stars */
  .product-miniature .grade-stars.small-stars {
    transform: scale(0.9) !important;
    margin-bottom: 0.25rem !important;
  }

  .product-miniature__price {
    font-size: 0.9rem !important;
    margin-bottom: 0.05rem !important;
  }

  /* Keep the button style of the theme (brown) but make it compact and full width */
  .product-miniature__add.btn.btn-primary,
  .product-miniature__add.btn.btn-primary:visited,
  .product-miniature__details.btn.btn-outline-primary,
  .product-miniature__details.btn.btn-outline-primary:visited {
    min-height: 0 !important;
    padding: 0.42rem 0.7rem !important;
    font-size: 0.72rem !important;
    border-radius: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.3rem !important;
    width: 100% !important; /* Full width for the button */
    margin-top: 0.25rem !important;
    /* Do NOT override background-color, border or color here to keep the original theme colors */
  }

  /* Ensure the cart icon is visible */
  .product-miniature__add .material-icons {
    display: inline-block !important;
    font-size: 1rem !important;
    flex-shrink: 0 !important;
  }

  .product-miniature__add-text {
    font-size: 0 !important; /* Hide "Add to cart" */
    line-height: normal !important;
  }

  .product-miniature__add-text::after {
    content: "AÑADIR" !important; /* Short text in uppercase */
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    display: inline-block !important;
  }

  /* Make product flags ("Nuevo") smaller */
  .product-miniature .product-flags,
  .product-miniature__top .product-flags {
    top: 0.25rem !important;
    left: 0.25rem !important;
  }

  .product-miniature .product-flags .product-flag,
  .product-miniature .product-flag,
  .product-miniature .new,
  .product-miniature [class*="flag"],
  .product-miniature [class*="badge"],
  .product-miniature__top .product-flag,
  .product-miniature__top .new {
    font-size: 0.65rem !important;
    padding: 0.15rem 0.4rem !important;
    min-height: auto !important;
    line-height: 1 !important;
  }

  /* If the home page uses a carousel (Swiper) on mobile, force it to display as a 2-column grid */
  .ps-featuredproducts .swiper,
  .premium-featuredproducts .swiper,
  .ps-featuredproducts .swiper-container,
  .premium-featuredproducts .swiper-container {
    overflow: visible !important;
  }

  .ps-featuredproducts .swiper-wrapper,
  .premium-featuredproducts .swiper-wrapper {
    transform: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }

  .ps-featuredproducts .swiper-slide,
  .premium-featuredproducts .swiper-slide {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    margin-right: 0 !important;
  }

  /* Reduce distance between price and add to cart button */
  .product-miniature__actions {
    margin-top: 0.05rem !important;
  }

  /* Make module footer buttons ("Ver todos los productos", "Todas las novedades") smaller and reduce their vertical margins */
  .module-products__buttons {
    margin-top: 1rem !important;
    display: flex !important;
    justify-content: center !important;
  }

  .module-products__buttons .btn {
    padding: 0.45rem 1.25rem !important;
    font-size: 0.8rem !important;
    width: auto !important;
  }

  /* Reduce top/bottom padding of featured products sections on mobile */
  .premium-featuredproducts {
    padding: 2.5rem 0 !important;
  }
}

/* Hide scrollbars specifically for the brand logo slider on this theme */
.slider-marca,
.slider-marcas,
[class*="slider-marca"],
[class*="slider-marcas"] {
  -ms-overflow-style: none !important;  /* IE/Edge */
  scrollbar-width: none !important;  /* Firefox */
}

.slider-marca::-webkit-scrollbar,
.slider-marcas::-webkit-scrollbar,
[class*="slider-marca"]::-webkit-scrollbar,
[class*="slider-marcas"]::-webkit-scrollbar {
  display: none !important; /* Chrome/Safari/Opera */
}

/* Final product details cleanup: remove Hummingbird table-like separators */
.page-product .product__accordion .js-product-details,
.page-product .product__accordion .js-product-details .accordion-item,
.page-product .product__accordion .js-product-details .accordion-collapse,
.page-product .product__accordion .js-product-details .accordion-body,
.page-product .product__accordion .js-product-details .details__list,
.page-product .product__accordion .js-product-details .details__item,
.page-product .product__accordion .js-product-details .details__left,
.page-product .product__accordion .js-product-details .details__right {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.page-product .product__accordion .js-product-details .accordion-body,
.page-product .product__accordion .js-product-details .details__list,
.page-product .product__accordion .js-product-details .details__item,
.page-product .product__accordion .js-product-details .details__left,
.page-product .product__accordion .js-product-details .details__right {
  background: var(--premium-cream) !important;
  background-color: var(--premium-cream) !important;
}

.page-product .product__accordion .js-product-details .details__list {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-product .product__accordion .js-product-details .details__item {
  border-bottom: 0 !important;
  border-top: 0 !important;
  margin: 0 !important;
}

.page-product .product__accordion .js-product-details .details__item::before,
.page-product .product__accordion .js-product-details .details__item::after,
.page-product .product__accordion .js-product-details .details__left::before,
.page-product .product__accordion .js-product-details .details__left::after,
.page-product .product__accordion .js-product-details .details__right::before,
.page-product .product__accordion .js-product-details .details__right::after {
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
}

#menu-icon i, .header-nav .menu-icon {
    color: #ffffff !important;
}

/* Final tablet override: category grids use 3 columns from small tablets upward */
@media (min-width: 600px) and (max-width: 991.98px) {
  .page-category .columns-container > .container,
  .page-search .columns-container > .container,
  .page-category .wrapper > .container,
  .page-search .wrapper > .container,
  .page-category main > .container,
  .page-search main > .container {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: 100% !important;
  }

  .page-category #products,
  .page-search #products,
  .page-category #js-product-list,
  .page-search #js-product-list {
    max-width: none !important;
    width: 100% !important;
  }

  .page-category #js-product-list .products,
  .page-category #products .products,
  .page-search #js-product-list .products,
  .page-search #products .products {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-category #js-product-list .products > *,
  .page-category #products .products > *,
  .page-search #js-product-list .products > *,
  .page-search #products .products > *,
  .page-category #js-product-list .products .product-miniature,
  .page-category #products .products .product-miniature,
  .page-search #js-product-list .products .product-miniature,
  .page-search #products .products .product-miniature {
    flex: none !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
}


/* Fix mobile hamburger menu color */
#menu-icon,
#menu-icon i,
#menu-icon .material-icons,
.header-nav .menu-icon i,
.ps-mainmenu__mobile-toggle,
.ps-mainmenu__mobile-toggle i,
.ps-mainmenu__mobile-toggle .material-icons,
.header-bottom .ps-mainmenu__mobile-toggle,
.header-nav-full-width .ps-mainmenu__mobile-toggle,
.header-nav-full-width .ps-mainmenu__mobile-toggle i,
.header-nav-full-width .ps-mainmenu__mobile-toggle .material-icons,
.header-bottom .navbar-toggler,
.header-bottom .navbar-toggler i,
.header-bottom .navbar-toggler .material-icons,
button[data-bs-toggle="offcanvas"] i,
.offcanvas-toggler i {
    color: var(--premium-cream) !important;
}

/* Mobile lateral menu — Premium theme style */
.offcanvas,
.offcanvas-body,
.ps-mainmenu--mobile .offcanvas,
.ps-mainmenu--mobile .offcanvas-body {
    background: var(--premium-cream);
}

.offcanvas-header {
    background: var(--premium-chocolate-dark);
    padding: 1rem 1.25rem;
}

.offcanvas-header .btn-close,
.offcanvas .btn-close {
    background: none;
    color: var(--premium-cream) !important;
    filter: invert(1) brightness(2);
    opacity: 1;
}

.offcanvas-body {
    padding: 0;
}

/* Menu items */
.offcanvas a,
.offcanvas .ps-mainmenu__item a,
.offcanvas .ps-mainmenu__link,
.offcanvas .category-tree a,
.offcanvas li a,
.offcanvas .nav-link,
.ps-mainmenu--mobile a,
.ps-mainmenu--mobile .ps-mainmenu__item a,
.ps-mainmenu--mobile .ps-mainmenu__link {
    border-bottom: 1px solid rgba(74, 48, 32, 0.08);
    color: var(--premium-chocolate-dark) !important;
    display: block;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.9rem 1.25rem;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.offcanvas a:hover,
.offcanvas .ps-mainmenu__item a:hover,
.offcanvas .ps-mainmenu__link:hover,
.offcanvas li a:hover,
.ps-mainmenu--mobile a:hover,
.ps-mainmenu--mobile .ps-mainmenu__link:hover {
    background: rgba(255, 114, 182, 0.08);
    color: var(--premium-pink) !important;
}

.offcanvas a:active,
.offcanvas .ps-mainmenu__link:active,
.ps-mainmenu--mobile a:active {
    background: rgba(255, 114, 182, 0.14);
}

/* Icons and arrows */
.offcanvas .material-icons,
.offcanvas .ps-mainmenu__arrow,
.offcanvas .ps-mainmenu__item .material-icons,
.offcanvas .category-tree .material-icons {
    color: var(--premium-chocolate) !important;
    font-size: 1.25rem;
}

/* Close button inside body fallback */
.offcanvas .close,
.offcanvas-body .btn-close {
    color: var(--premium-chocolate-dark) !important;
    filter: none;
}

/* Submenu styling */
.offcanvas .ps-mainmenu__submenu,
.offcanvas .ps-mainmenu__children {
    background: var(--premium-white);
    border-left: 3px solid var(--premium-pink);
    margin: 0;
    padding: 0;
}

.offcanvas .ps-mainmenu__submenu a,
.offcanvas .ps-mainmenu__children a {
    font-size: 0.92rem;
    font-weight: 500;
    padding-left: 1.75rem;
}

/* Back button "Todas" in dark header of offcanvas submenu */
.offcanvas-header a,
.offcanvas-header .ps-mainmenu__back,
.offcanvas-header .ps-mainmenu__back a,
.offcanvas-header button,
.offcanvas-header .material-icons,
.offcanvas .ps-mainmenu__header a,
.offcanvas .ps-mainmenu__header .material-icons,
.offcanvas .ps-mainmenu__back,
.offcanvas .ps-mainmenu__back a,
.offcanvas .ps-mainmenu__back .material-icons {
    align-items: center;
    border-bottom: none !important;
    color: var(--premium-cream) !important;
    display: inline-flex;
    font-weight: 700;
    gap: 0.35rem;
    padding: 0.75rem 1.25rem;
    vertical-align: middle;
}

.offcanvas-header,
.offcanvas .ps-mainmenu__header,
.offcanvas .ps-mainmenu__back {
    align-items: center;
    display: flex;
    min-height: 3.25rem;
}

.offcanvas-header a:hover,
.offcanvas-header .ps-mainmenu__back a:hover,
.offcanvas .ps-mainmenu__header a:hover,
.offcanvas .ps-mainmenu__back a:hover {
    background: rgba(248, 241, 231, 0.1) !important;
    color: var(--premium-white) !important;
}

/* Fix submenu text visibility in desktop view */
.ps-mainmenu__desktop .submenu a,
.ps-mainmenu__desktop .submenu .submenu__left-item,
.ps-mainmenu__desktop .submenu .menu-item,
.ps-mainmenu__desktop .submenu .menu-item__group-main-item {
  color: var(--premium-text) !important;
}

.ps-mainmenu__desktop .submenu a:hover,
.ps-mainmenu__desktop .submenu .submenu__left-item:hover,
.ps-mainmenu__desktop .submenu .menu-item:hover,
.ps-mainmenu__desktop .submenu .menu-item__group-main-item:hover {
  color: var(--premium-pink-hover) !important;
}

.ps-mainmenu__desktop .submenu .submenu__left-item.active {
  background-color: rgba(255, 114, 182, 0.08) !important;
  color: var(--premium-pink) !important;
  font-weight: 600;
}

.ps-mainmenu__desktop .submenu .submenu__left-item:hover {
  background-color: rgba(255, 114, 182, 0.04) !important;
}

/* Make submenu appear as a single-column dropdown below each menu item */
@media (min-width: 1200px) {
  /* Set positioning context to the list item so the dropdown aligns below it */
  .ps-mainmenu__desktop .ps-mainmenu__tree-item {
    position: relative !important;
  }

  /* Style the submenu dropdown container */
  .ps-mainmenu__desktop .submenu {
    left: 0 !important;
    right: auto !important;
    top: calc(100% - 14px) !important;
    width: 240px !important;
    min-width: 200px !important;
    padding: 0.5rem !important;
    border-radius: var(--premium-radius) !important;
    border: 1px solid var(--premium-soft-gray) !important;
    box-shadow: var(--premium-shadow) !important;
  }

  /* Reset the container and row */
  .ps-mainmenu__desktop .submenu .container {
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .ps-mainmenu__desktop .submenu__row {
    margin: 0 !important;
    width: 100% !important;
  }

  /* Hide the right-side products/sub-items */
  .ps-mainmenu__desktop .submenu__right {
    display: none !important;
  }

  /* Expand the left-side items list to take full width of the dropdown */
  .ps-mainmenu__desktop .submenu__left {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    border-right: none !important;
    padding-block: 0.25rem !important;
    gap: 0.15rem !important;
  }

  .ps-mainmenu__desktop .submenu__left-item {
    padding-block: 0.5rem !important;
    padding-inline: 0.75rem !important;
    border-radius: 8px !important;
    border-bottom: none !important;
  }
}
