/* ==========================================================================
   Apotea-Style Override for Porto Child Theme
   Colors: Red #c8102e, Green #2d6a2e, White #fff, Light #f5f5f5
   ========================================================================== */

:root {
  --apotea-red: #EB0000;
  --apotea-green: #2d6a2e;
  --apotea-green-hover: #245523;
  --apotea-dark: #222222;
  --apotea-muted: #666666;
  --apotea-light: #f5f5f5;
  --apotea-border: #e0e0e0;
  --apotea-radius: 6px;
  --apotea-accordion: #4f0f22;
  --apotea-accordion-hover: #3d0a1a;
}

/* ==========================================================================
   GLOBAL RESETS
   ========================================================================== */

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--apotea-dark);
  background: var(--apotea-light);
}

a { color: var(--apotea-dark); }
a:hover { color: var(--apotea-red); text-decoration: underline; }

/* ==========================================================================
   BOXED CONTENT — 1280px centered, backgrounds stay full-width
   ========================================================================== */

.container,
.page-main,
.page-main-inner,
.navigation .container,
.nav-sections .container {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* header content (the flex row with logo + right side) also boxed */
.page-header.type25 .header.content {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ==========================================================================
   HEADER — keep Porto type25 two-column layout
   Col 1 (.header-left, 280px): logo
   Col 2 (.header-right, flex:1): [search] [cart] [sign-in]
   ========================================================================== */

.main-panel-top { display: none !important; }

.page-header,
.page-header .header-main,
.page-header .header-row,
.page-header .header.content {
  background: var(--apotea-red) !important;
  border: none !important;
  box-shadow: none !important;
}

/* --- col 1: logo area, matches sidebar width --- */
.page-header.type25 .header-main .header-left,
.page-header.type25 .header-main .header-left[class] {
  background: var(--apotea-red) !important;
  border: none !important;
  border-right: none !important;
  border-left: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
}

.page-header .logo { margin: 0 !important; padding: 0 !important; }

.page-header .logo img {
  filter: brightness(0) invert(1);
  max-height: 34px;
  display: block;
}

.page-header .logo:hover img { opacity: 0.85; }

/* --- col 2: search + cart + sign in, vertically centered --- */
.page-header.type25 .header-main .header-right {
  background: var(--apotea-red) !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 20px !important;
  min-height: 66px !important;
}

.page-header.type25 .header-right > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-left: none !important;
  align-self: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- search: fills remaining space --- */
.page-header.type25 .header-right .search-area {
  order: 1 !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.page-header.type25 .search-area .block.block-search {
  border: none !important;
  box-shadow: none !important;
}

.page-header .block-search .nested,
.page-header .search-category,
.page-header #mpsearch-category {
  display: none !important;
}

.page-header.type25 .block-search input,
.page-header #search {
  height: 42px !important;
  border: none !important;
  border-radius: var(--apotea-radius) !important;
  padding: 0 52px 0 16px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: var(--apotea-dark) !important;
  width: 100% !important;
  box-shadow: none !important;
}

.page-header #search::placeholder { color: #999 !important; }

.page-header.type25 .search-area .minisearch .actions button,
.page-header .block-search .action.search {
  background: var(--apotea-green) !important;
  border: none !important;
  border-radius: 0 var(--apotea-radius) var(--apotea-radius) 0 !important;
  color: #fff !important;
  width: 48px !important;
  height: 42px !important;
  right: 0 !important;
  top: 0 !important;
  position: absolute !important;
  opacity: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.page-header .block-search .action.search::before {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.page-header .block-search .action.search:hover { background: var(--apotea-green-hover) !important; }

/* --- cart: white outline button --- */
.page-header .minicart-wrapper {
  order: 2 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  min-height: auto !important;
  border: none !important;
  border-left: none !important;
  transform: none !important;
  position: static !important;
}

.page-header .minicart-wrapper .action.showcart {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  border: 2px solid #fff !important;
  border-radius: var(--apotea-radius) !important;
  padding: 0 14px !important;
  height: 42px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  min-width: auto !important;
  top: auto !important;
}

.page-header .minicart-wrapper .action.showcart:hover { background: rgba(255,255,255,0.15) !important; }

.page-header .minicart-wrapper .action.showcart i,
.page-header .minicart-wrapper .action.showcart .minicart-icon {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.page-header .minicart-wrapper .action.showcart i::before,
.page-header .minicart-wrapper .action.showcart .minicart-icon::before {
  color: #fff !important;
  font-size: 20px !important;
  position: static !important;
  right: auto !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.page-header.type25 .minicart-wrapper .action.showcart .minicart-icon::after {
  display: none !important;
}

.page-header .minicart-wrapper .action.showcart .text {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  clip: unset !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.page-header .minicart-wrapper .action.showcart .counter.qty {
  background: #fff !important;
  color: var(--apotea-red) !important;
  border-radius: 10px !important;
  min-width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 0 5px !important;
  text-align: center !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  margin-left: 2px !important;
}

/* hide subtotal / "Shopping Cart" text */
.page-header.type25 .minicart-wrapper .action-subtotal,
.page-header .minicart-wrapper .action-subtotal.d-none,
.page-header .minicart-wrapper .action-subtotal,
.page-header .minicart-wrapper a.action-subtotal,
.minicart-wrapper .action-subtotal {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0,0,0,0) !important;
}

/* --- sign in: solid white, black text --- */
.page-header .header-contact {
  order: 3 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
}

.page-header .header-contact > *:not(:first-child) { margin-left: 0 !important; }
.page-header .header-contact .porto-sicon-box-link.wishlist { display: none !important; }

.page-header .header-contact .porto-sicon-box-link.account {
  display: flex !important;
  align-items: center !important;
  background: #fff !important;
  border: none !important;
  border-radius: var(--apotea-radius) !important;
  padding: 0 16px !important;
  height: 42px !important;
  text-decoration: none !important;
  transition: opacity 0.2s !important;
  margin: 0 !important;
}

.page-header .header-contact .porto-sicon-box-link.account:hover {
  opacity: 0.9 !important;
  background: #fff !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-box {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1 !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-default,
.page-header .header-contact .porto-sicon-box-link.account .porto-just-icon-wrapper {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-icon-user-2 {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-icon-user-2::before {
  color: var(--apotea-dark) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-title { display: none !important; }

.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header.d-none,
.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header {
  display: block !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header p {
  font-size: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header p::before {
  content: "Sign In" !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--apotea-dark) !important;
}

/* --- nav-toggle white + spacing from edge --- */
.page-header .action.nav-toggle {
  margin-left: 12px !important;
}
.page-header .action.nav-toggle::before { color: #fff !important; }

/* --- all header links white --- */
.page-header a { color: #fff !important; }
.page-header a:hover { color: rgba(255,255,255,0.8) !important; text-decoration: none !important; }

/* --- navigation bar below header --- */
.navigation,
.nav-sections {
  background: #fff !important;
  border-bottom: 1px solid var(--apotea-border) !important;
  box-shadow: none !important;
}

.navigation .level0 > a,
.nav-sections-item-content .navigation .level0 > a {
  color: var(--apotea-dark) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 10px 15px !important;
  text-transform: none !important;
}

.navigation .level0 > a:hover,
.navigation .level0.active > a {
  color: var(--apotea-red) !important;
  background: transparent !important;
}

/* --- hide "Home" link from sidebar nav (replaced by rx card) --- */
.sidebar-nav .navigation > ul > li.level0:first-child {
  display: none !important;
}

/* --- sidebar rx login card (Apotea-style) --- */
.sidebar-rx-card {
  margin: 0 0 0;
  padding: 16px;
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}

.sidebar-rx-card-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.sidebar-rx-card-text {
  display: flex;
  flex-direction: column;
}

.sidebar-rx-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--apotea-green);
  line-height: 1.2;
}

.sidebar-rx-subtitle {
  font-size: 16px;
  font-weight: 700;
  color: var(--apotea-green);
  line-height: 1.2;
}

.sidebar-rx-icon {
  font-size: 28px;
  line-height: 1;
  color: var(--apotea-green);
  opacity: 0.6;
}

.sidebar-rx-btn {
  display: block;
  text-align: center;
  background: var(--apotea-green) !important;
  color: #fff !important;
  border-radius: var(--apotea-radius);
  padding: 10px 16px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  transition: background 0.2s;
}

.sidebar-rx-btn:hover {
  background: var(--apotea-green-hover) !important;
  color: #fff !important;
}

/* --- sidebar menu: login button with green separator --- */
.sidebar-login-wrapper {
  padding: 0 20px 15px;
}

.sidebar-login-separator {
  height: 2px;
  background: var(--apotea-green);
  margin-bottom: 12px;
}

.sidebar-login-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--apotea-green) !important;
  color: #fff !important;
  border-radius: var(--apotea-radius);
  padding: 12px 20px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  transition: background 0.2s;
}

.sidebar-login-btn:hover {
  background: var(--apotea-green-hover) !important;
  color: #fff !important;
}

.sidebar-login-btn i { font-size: 18px; }

/* --- hide old Porto hardcoded mega menu in sidebar --- */
.sidebar-nav .navigation,
.sidebar-nav .navigation.sw-megamenu,
.pin-wrapper .sticky-sidenav {
  display: none !important;
}

/* --- sidebar column: white background, extends to content --- */
.page-main-inner .sidebar-nav,
.div-sidebar-menu,
#main-left {
  background: #fff !important;
  border-radius: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
}

/* --- sidebar new menu: override Porto link colors --- */
.div-sidebar-menu a,
.div-sidebar-menu .sidebar-section-title,
.div-sidebar-menu ul {
  color: var(--apotea-dark) !important;
}

.div-sidebar-menu a:hover {
  color: var(--apotea-red) !important;
}

.sidebar-section-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--apotea-dark) !important;
  padding: 14px 16px 8px;
  margin: 0;
  letter-spacing: -0.2px;
  border-top: 1px solid #eee;
}

.sidebar-rx-card + .sidebar-section-title,
.div-sidebar-menu > :first-child .sidebar-section-title {
  border-top: none;
}

.sidebar-popular-list {
  list-style: none !important;
  padding: 0 16px !important;
  margin: 0 0 4px !important;
}

.sidebar-popular-list li {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.sidebar-popular-list li::before {
  display: none !important;
}

.sidebar-popular-list li a {
  display: block;
  padding: 5px 0;
  color: var(--apotea-dark) !important;
  font-size: 13px;
  text-decoration: none !important;
  transition: color 0.15s;
}

.sidebar-popular-list li a:hover {
  color: var(--apotea-red) !important;
}

/* --- sidebar: Categories (Apotea-exact) --- */
.sidebar-apotea-categories {
  padding: 0;
}

.sidebar-cat-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sidebar-cat-item {
  margin: 0 !important;
  border: none !important;
  list-style: none !important;
}

.sidebar-cat-item::before {
  display: none !important;
}

.sidebar-cat-row {
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
  cursor: pointer;
}

.sidebar-cat-link {
  display: block !important;
  flex: 1 !important;
  padding: 7px 0 !important;
  color: var(--apotea-dark) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
}

.sidebar-cat-link:hover {
  text-decoration: none !important;
}

.sidebar-cat-toggle {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  cursor: pointer !important;
  color: #999 !important;
  flex-shrink: 0 !important;
  transition: transform 0.15s ease !important;
}

.sidebar-cat-toggle svg {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
}

/* Expanded parent: Apotea teal pill */
.sidebar-cat-item.expanded > .sidebar-cat-row {
  background: #4f0e22 !important;
  border-radius: 6px !important;
  margin: 2px 8px !important;
  padding: 0 10px !important;
}

.sidebar-cat-item.expanded > .sidebar-cat-row .sidebar-cat-link {
  color: #fff !important;
  font-weight: 600 !important;
}

.sidebar-cat-item.expanded > .sidebar-cat-row .sidebar-cat-toggle {
  color: #fff !important;
  transform: rotate(180deg) !important;
}

/* Subcategories */
.sidebar-subcat-list {
  list-style: none !important;
  padding: 2px 0 6px !important;
  margin: 0 !important;
}

.sidebar-subcat-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar-subcat-item::before {
  display: none !important;
}

.sidebar-subcat-item a {
  display: block !important;
  padding: 5px 16px 5px 28px !important;
  color: #444 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
}

.sidebar-subcat-item a:hover {
  background: #f5f5f5 !important;
  color: var(--apotea-dark) !important;
  text-decoration: none !important;
}

.sidebar-subcat-goto a {
  font-style: italic !important;
  color: #4f0e22 !important;
  font-weight: 500 !important;
}

.sidebar-subcat-goto a:hover {
  color: #3b0a19 !important;
}

/* --- sidebar: Brands section --- */
.sidebar-brands-list {
  list-style: none !important;
  padding: 0 16px !important;
  margin: 0 0 16px !important;
}

.sidebar-brands-list li {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.sidebar-brands-list li::before {
  display: none !important;
}

.sidebar-brands-list li a {
  display: block;
  padding: 5px 0;
  color: var(--apotea-dark) !important;
  font-size: 13px;
  text-decoration: none !important;
  transition: color 0.15s;
}

.sidebar-brands-list li a:hover {
  color: var(--apotea-red) !important;
}

/* ==========================================================================
   BUTTONS — Global green
   ========================================================================== */

.action.primary,
.action.tocart.primary,
button.action.primary,
.btn-primary,
#btn-minicart-close {
  background-color: var(--apotea-green) !important;
  border-color: var(--apotea-green) !important;
  color: #fff !important;
  border-radius: var(--apotea-radius) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background-color 0.2s ease !important;
  padding: 10px 20px !important;
}

.action.primary:hover,
.action.tocart.primary:hover,
button.action.primary:hover,
.btn-primary:hover {
  background-color: var(--apotea-green-hover) !important;
  border-color: var(--apotea-green-hover) !important;
  color: #fff !important;
}

.action.tocart.primary {
  width: 100% !important;
  text-align: center !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  border-radius: var(--apotea-radius) !important;
}

/* ==========================================================================
   APOTEA PRODUCT CARDS — pixel-perfect clone
   Used by all child-theme template overrides (.apotea-card)
   ========================================================================== */

/* --- Grid layout: 5 columns on desktop --- */
.apotea-grid-list {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.apotea-grid-list > .item.product-item {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  float: none !important;
}

/* --- Card container --- */
.apotea-card {
  background: #ffffff;
  border-radius: 0;
  overflow: visible;
  border: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* --- Image area --- */
.apotea-card-image {
  position: relative;
  padding: 12px 12px 28px;
  text-align: center;
  background: #ffffff;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.apotea-card-image a {
  display: block;
  line-height: 0;
}

.apotea-card-img {
  max-height: 180px;
  max-width: 100%;
  width: auto !important;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}

/* --- Badge (top-right): Sale / New --- */
.apotea-card-badges {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
}

.apotea-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.apotea-badge-sale {
  background: var(--apotea-red);
}

.apotea-badge-new {
  background: var(--apotea-green);
}

/* --- Price tag (bottom-left, red rectangle with right-arrow shape) --- */
.apotea-card-price-tag {
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--apotea-red);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  line-height: 1;
  padding: 7px 14px 7px 10px;
  border-radius: 0 6px 6px 0;
  white-space: nowrap;
  z-index: 2;
}

/* --- Card details area --- */
.apotea-card-details {
  padding: 8px 8px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1;
  background: #ffffff;
}

/* --- Product name --- */
.apotea-card-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--apotea-dark) !important;
  line-height: 1.35 !important;
  text-align: center !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 36px;
  margin: 0 0 6px !important;
  text-decoration: underline !important;
}

.apotea-card-name:hover {
  color: var(--apotea-red) !important;
}

/* --- Old / previous price --- */
.apotea-card-old-price {
  font-size: 12px;
  color: #888;
  text-align: center;
  margin-bottom: 8px;
  line-height: 1.3;
}

/* --- Buy button --- */
.apotea-card-action {
  margin-top: auto;
  padding-top: 4px;
}

.apotea-card-action form {
  margin: 0;
  padding: 0;
}

.apotea-card-buy {
  display: block !important;
  width: 100% !important;
  background: var(--apotea-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background 0.2s ease !important;
  line-height: 1.2 !important;
}

.apotea-card-buy:hover {
  background: var(--apotea-green-hover) !important;
  color: #fff !important;
}

.apotea-card .stock.unavailable {
  font-size: 13px;
  color: var(--apotea-muted);
  text-align: center;
  padding: 10px 0;
}

/* --- Responsive grid breakpoints --- */
@media (max-width: 1199px) {
  .apotea-grid-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 991px) {
  .apotea-grid-list {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .apotea-grid-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .apotea-card-image {
    padding: 12px 12px 20px;
    height: 160px;
  }

  .apotea-card-img {
    max-height: 140px;
  }

  .apotea-card-name {
    font-size: 12px !important;
    min-height: 30px;
  }

  .apotea-card-price-tag {
    font-size: 13px;
    padding: 5px 10px 5px 8px;
  }

  .apotea-card-buy {
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}

/* --- Neutralize Porto's default product-item styling that leaks through --- */
.apotea-card .product-item-info,
.apotea-card .porto-section,
.apotea-card .product-item-inner,
.apotea-card .product-item-actions,
.apotea-card .product-item-details {
  all: unset !important;
  display: contents !important;
}

/* --- Owl carousel cards: equal height + spacing --- */
.owl-carousel .owl-stage {
  display: flex !important;
}

.owl-carousel .owl-item {
  display: flex !important;
}

.owl-carousel .owl-item > .item.product-item {
  display: flex !important;
  flex: 1;
  width: 100%;
}

.owl-carousel .apotea-card {
  margin: 0 6px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Legacy Porto selectors — keep old product-item-info basic look for any
   page not yet using the child-theme templates (e.g. search results) */
.product-item-info {
  background: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  padding: 0 !important;
  margin-bottom: 15px;
}

.product-item-info:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.product-item-name,
.product-item-name a,
.product-item-link {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--apotea-dark) !important;
  text-align: center !important;
}

.product-item-actions .actions-secondary {
  display: none !important;
}

/* ==========================================================================
   PRODUCT PAGE (Apotea PDP)
   ========================================================================== */

body.apotea-pdp.catalog-product-view .page-main {
  background: var(--apotea-light) !important;
}

/* PDP: 1column + no Porto sidebar-nav — full-width main */
body.apotea-pdp.catalog-product-view .page-main-inner {
  display: block !important;
  box-sizing: border-box !important;
}

body.apotea-pdp.catalog-product-view .page-main-inner > .columns {
  width: 100% !important;
  max-width: 100% !important;
}

body.apotea-pdp.catalog-product-view .page-main-inner > .sidebar-nav {
  display: none !important;
}

body.apotea-pdp.catalog-product-view .columns {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.apotea-pdp.catalog-product-view .column.main {
  padding-top: 16px !important;
  display: flow-root !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Product hero: white card, image left / buy box right */
body.apotea-pdp.catalog-product-view .columns .column.main {
  position: relative;
}

body.apotea-pdp.catalog-product-view .column.main > .product.media,
body.apotea-pdp.catalog-product-view .column.main > .product-info-main {
  background: #fff !important;
  border-radius: var(--apotea-radius) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07) !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  border: 1px solid #ececec !important;
}

@media (min-width: 992px) {
  body.apotea-pdp.catalog-product-view .column.main > .product.media {
    float: left !important;
    width: calc(50% - 10px) !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    border-radius: var(--apotea-radius) 0 0 var(--apotea-radius) !important;
    border-right: none !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07) !important;
  }

  body.apotea-pdp.catalog-product-view .column.main > .product-info-main {
    float: right !important;
    width: calc(50% - 10px) !important;
    box-sizing: border-box !important;
    border-radius: 0 var(--apotea-radius) var(--apotea-radius) 0 !important;
    border-left: none !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07) !important;
  }

  body.apotea-pdp.catalog-product-view .column.main .clearer {
    clear: both !important;
  }

  body.apotea-pdp.catalog-product-view .column.main .product.info.detailed,
  body.apotea-pdp.catalog-product-view .column.main .block.related,
  body.apotea-pdp.catalog-product-view .column.main .block.upsell {
    clear: both !important;
    width: 100% !important;
    float: none !important;
  }
}

body.apotea-pdp.catalog-product-view .breadcrumbs {
  font-size: 12px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body.apotea-pdp.catalog-product-view .breadcrumbs .item,
body.apotea-pdp.catalog-product-view .breadcrumbs a {
  color: var(--apotea-muted) !important;
}

body.apotea-pdp.catalog-product-view .breadcrumbs strong {
  font-weight: 600 !important;
  color: var(--apotea-dark) !important;
}

body.apotea-pdp.catalog-product-view .page-title-wrapper .page-title {
  display: block !important;
}

body.apotea-pdp.catalog-product-view .page-title-wrapper h1,
body.apotea-pdp.catalog-product-view .page-title-wrapper .page-title span {
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: var(--apotea-dark) !important;
  text-transform: none !important;
  margin: 0 0 12px !important;
}

body.apotea-pdp.catalog-product-view .product-info-main .product-reviews-summary {
  margin-bottom: 12px !important;
  margin-top: 4px !important;
}

body.apotea-pdp.catalog-product-view .product-reviews-summary .reviews-actions {
  font-size: 13px !important;
}

body.apotea-pdp.catalog-product-view .product-info-price .price-box .price {
  color: var(--apotea-red) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

body.apotea-pdp.catalog-product-view .product-info-price .old-price .price {
  color: var(--apotea-muted) !important;
  font-size: 16px !important;
  text-decoration: line-through !important;
}

body.apotea-pdp.catalog-product-view .product-info-price .price-label {
  display: none !important;
}

/* Compare-at / unit price line */
body.apotea-pdp.catalog-product-view .product-info-price {
  margin-bottom: 8px !important;
}

/* Stock + SKU row */
body.apotea-pdp.catalog-product-view .product-info-stock-sku {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.apotea-pdp.catalog-product-view .product-info-stock-sku .sku .type,
body.apotea-pdp.catalog-product-view .product-info-stock-sku .sku .value {
  font-size: 13px !important;
  color: var(--apotea-muted) !important;
}

body.apotea-pdp.catalog-product-view .product-info-stock-sku .product.attribute.sku,
body.apotea-pdp.catalog-product-view .product-info-stock-sku .sku {
  display: none !important;
}

.apotea-pdp-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: var(--apotea-green) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin-right: 8px !important;
}

.apotea-pdp-check::before {
  content: "✓" !important;
}

body.apotea-pdp.catalog-product-view .stock.available.apotea-stock-line {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
}

body.apotea-pdp.catalog-product-view .stock.available.apotea-stock-line .label {
  color: var(--apotea-green) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

.apotea-pdp-trust-lines {
  margin: 8px 0 18px !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  background: #f7f7f7 !important;
  border: 1px solid var(--apotea-border) !important;
  border-radius: var(--apotea-radius) !important;
}

.apotea-pdp-trust-line {
  display: flex !important;
  align-items: center !important;
  font-size: 15px !important;
  color: var(--apotea-dark) !important;
}

.apotea-pdp-trust-line + .apotea-pdp-trust-line {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--apotea-border) !important;
}

/* Porto: optional full-width CMS block after .page-main (often a huge “mega” image) */
body.apotea-pdp.catalog-product-view .fullwidth-custom-block {
  display: none !important;
}

/* Porto info-banner strip on PDP (e.g. promo “MEGA SALE” widget) */
.catalog-product-view .porto-ibanner.product-banner {
  display: none !important;
}

/* Porto CMS strip (trust / support line) under buy box */
body.apotea-pdp.catalog-product-view .column.main > .porto-block,
.catalog-product-view .column.main > .porto-block {
  padding-top: 20px !important;
  box-sizing: border-box !important;
}

/* Buy row: qty + primary button full width like Apotea */
body.apotea-pdp.catalog-product-view .box-tocart {
  margin-top: 8px !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .fieldset {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .field.qty {
  margin: 0 !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .field.qty .control {
  display: flex !important;
  align-items: center !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .input-text.qty {
  min-width: 52px !important;
  height: 48px !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: 1px solid var(--apotea-border) !important;
  border-radius: var(--apotea-radius) !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .qty-changer {
  min-height: 48px !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .qty-changer .qty-inc,
body.apotea-pdp.catalog-product-view .box-tocart .qty-changer .qty-dec {
  min-height: 22px !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .field.qty .label {
  display: none !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .actions {
  flex: 1 1 auto !important;
  padding-top: 0 !important;
  display: flex !important;
  align-items: stretch !important;
}

/*
 * Porto .action.tocart: fixed height + line-height:3rem + ::before icon — override with flex (Apotea-style centered CTA).
 */
body.apotea-pdp.catalog-product-view .box-tocart .action.tocart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  box-sizing: border-box !important;
  line-height: 1.25 !important;
  min-height: 48px !important;
  height: auto !important;
  overflow: visible !important;
  background-color: var(--apotea-green) !important;
  border-color: var(--apotea-green) !important;
  color: #fff !important;
  border-radius: var(--apotea-radius) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  padding: 12px 20px !important;
  text-transform: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .action.tocart::before {
  line-height: 1 !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .action.tocart > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.25 !important;
}

body.apotea-pdp.catalog-product-view .box-tocart .action.tocart:hover {
  background-color: var(--apotea-green-hover) !important;
}

body.apotea-pdp.catalog-product-view .product-social-links,
body.apotea-pdp.catalog-product-view .product-addto-links,
body.apotea-pdp.catalog-product-view .product-share {
  display: none !important;
}

/* Tabs → Apotea-style accordion (stacked). Porto forces horizontal tabs on desktop — override. */
body.apotea-pdp.catalog-product-view .product.info.detailed {
  margin-top: 28px !important;
  width: 100% !important;
  clear: both !important;
}

/* Magento tabs mixin uses float:right + margin-left:-100% on panels — reset or content shifts off-screen */
body.apotea-pdp.catalog-product-view .product.data.items > .item.content,
body.apotea-pdp.catalog-product-view .product.info.detailed .product.data.items > .item.content {
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
}

/* Porto: .vertical .product.data.items uses absolute panels (porto _sections.less) — force Apotea accordion flow */
body.apotea-pdp.catalog-product-view .vertical .product.data.items > .item.content,
body.apotea-pdp.catalog-product-view .product.info.detailed.vertical .product.data.items > .item.content,
body.apotea-pdp.catalog-product-view .product.info.detailed.vertical #description,
body.apotea-pdp.catalog-product-view .product.info.detailed.vertical #reviews,
body.apotea-pdp.catalog-product-view .product.info.detailed.vertical #additional,
body.apotea-pdp.catalog-product-view .product.info.detailed.vertical [role="tabpanel"] {
  float: none !important;
  display: block !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  min-height: 0 !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.apotea-pdp.catalog-product-view .vertical .product.data.items,
body.apotea-pdp.catalog-product-view .product.info.detailed.vertical .product.data.items {
  position: relative !important;
  min-height: 0 !important;
}

/* Same tab-panel reset by #description id — applies even when Porto does not add .vertical */
body.apotea-pdp.catalog-product-view .column.main #description,
body.apotea-pdp.catalog-product-view .product.info.detailed #description,
body.apotea-pdp.catalog-product-view .product.data.items > #description.item.content,
body.apotea-pdp.catalog-product-view .product.data.items > .data.item.content#description {
  float: none !important;
  clear: both !important;
  display: block !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.apotea-pdp.catalog-product-view #description .product.attribute.description {
  margin-left: 0 !important;
  max-width: 100% !important;
}

body.apotea-pdp.catalog-product-view #description img,
body.apotea-pdp.catalog-product-view #description table {
  max-width: 100% !important;
  height: auto !important;
}

body.apotea-pdp.catalog-product-view .product.data.items {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--apotea-border) !important;
  border-radius: var(--apotea-radius) !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}

body.apotea-pdp.catalog-product-view .product.data.items::before,
body.apotea-pdp.catalog-product-view .product.data.items::after {
  display: none !important;
  content: none !important;
}

/* Kill Porto / theme horizontal tab bar + icon chevrons on desktop */
@media (min-width: 768px) {
  body.apotea-pdp.catalog-product-view .product.data.items {
    display: block !important;
    border-bottom: 1px solid var(--apotea-border) !important;
  }

  body.apotea-pdp.catalog-product-view .product.data.items > .item.title {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    border: none !important;
    border-top: 1px solid var(--apotea-border) !important;
    border-bottom: none !important;
    background: #fff !important;
    color: var(--apotea-dark) !important;
  }

  body.apotea-pdp.catalog-product-view .product.data.items > .item.title:first-child {
    border-top: none !important;
  }

  body.apotea-pdp.catalog-product-view .product.data.items > .item.title.active {
    border-color: var(--apotea-border) !important;
    color: var(--apotea-dark) !important;
  }

  body.apotea-pdp.catalog-product-view .product.data.items > .item.content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 16px 18px !important;
    border: none !important;
    border-top: 1px solid var(--apotea-border) !important;
    background: #fff !important;
  }

  body.apotea-pdp.catalog-product-view .product.data.items > .item.title > a.data.switch::after,
  body.apotea-pdp.catalog-product-view .product.data.items > .item.title > .switch::after {
    font-family: system-ui, -apple-system, sans-serif !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    margin-left: auto !important;
  }
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-top: 1px solid var(--apotea-border) !important;
  background: #fff !important;
  text-transform: none !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title:first-child {
  border-top: none !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title > .switch {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 14px 16px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--apotea-dark) !important;
  border: none !important;
  border-bottom: none !important;
  background: #fff !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title > .switch::after {
  content: "⌄" !important;
  font-size: 14px !important;
  line-height: 1 !important;
  opacity: 0.85 !important;
  margin-left: 12px !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title.active > .switch::after {
  content: "⌃" !important;
  color: #fff !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title.active > .switch {
  background: var(--apotea-accordion) !important;
  color: #fff !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.title:not(.active) > .switch:hover {
  background: #fafafa !important;
}

body.apotea-pdp.catalog-product-view .product.data.items > .item.content {
  float: none !important;
  margin: 0 !important;
  padding: 16px !important;
  border: none !important;
  border-top: 1px solid var(--apotea-border) !important;
  background: #fff !important;
}

body.apotea-pdp.catalog-product-view .product.info.detailed .product.attribute.description,
body.apotea-pdp.catalog-product-view .product.info.detailed #description,
body.apotea-pdp.catalog-product-view .product.info.detailed .product.attribute.description p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--apotea-dark) !important;
}

body.apotea-pdp.catalog-product-view .product.info.detailed .additional-attributes th,
body.apotea-pdp.catalog-product-view .product.info.detailed .additional-attributes td {
  font-size: 14px !important;
  padding: 8px 12px !important;
}

/* Related products — layout wrapper + block (see apotea.product.related.section in catalog_product_view.xml) */
body.apotea-pdp.catalog-product-view .apotea-product-related-section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

body.apotea-pdp.catalog-product-view .block.related {
  margin-top: 0 !important;
  padding: 20px !important;
  background: #fff !important;
  border-radius: var(--apotea-radius) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
}

body.apotea-pdp.catalog-product-view .apotea-pdp-related-block .apotea-related-grid .apotea-grid-list {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
}

@media (min-width: 992px) {
  body.apotea-pdp.catalog-product-view .apotea-pdp-related-block .apotea-related-grid .apotea-grid-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

body.apotea-pdp.catalog-product-view .block.related .block-title.title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--apotea-dark) !important;
  margin-bottom: 16px !important;
}

/* ==========================================================================
   CATEGORY / LISTING PAGE
   ========================================================================== */

/* --- Toolbar container --- */
.page-products .toolbar-products {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Top section: filter + sort + search --- */
.apotea-toolbar-top {
  display: grid !important;
  grid-template-columns: max-content minmax(220px, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  margin-bottom: 16px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.page-products .toolbar.toolbar-products > .apotea-toolbar-top > * {
  float: none !important;
  margin: 0 !important;
}

.apotea-toolbar-controls {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: max-content !important;
}

.apotea-toolbar-controls > * {
  float: none !important;
  margin: 0 !important;
}

.apotea-toolbar-controls > .apotea-filter-btn,
.apotea-toolbar-controls > .toolbar-sorter.sorter {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.apotea-toolbar-controls > .apotea-filter-btn {
  order: 1 !important;
}

.apotea-toolbar-controls > .toolbar-sorter.sorter {
  order: 2 !important;
}

/* --- Bottom section: centered pager --- */
.apotea-toolbar-bottom {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: transparent !important;
  padding: 24px 0 0 !important;
  width: 100% !important;
}

/* --- Filter toggle button (always visible) --- */
.apotea-filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  background: #4F0F22 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 8px 16px !important;
  height: 42px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease !important;
}

.apotea-filter-btn svg {
  width: 16px !important;
  height: 16px !important;
  color: #fff !important;
}

.apotea-filter-btn:hover {
  background: #3d0a1a !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* --- Sorter --- */
.page-products .toolbar-sorter.sorter {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  float: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  margin-right: 0 !important;
  min-height: 42px !important;
  white-space: nowrap !important;
}

.page-products .sorter-label {
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #333 !important;
  white-space: nowrap !important;
  line-height: 42px !important;
  margin: 0 !important;
}

.page-products .sorter-options {
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  padding: 0 28px 0 12px !important;
  font-size: 14px !important;
  color: #333 !important;
  background: #fff !important;
  cursor: pointer !important;
  height: 42px !important;
  line-height: 42px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  text-align-last: center !important;
}

.page-products .sorter .sorter-action {
  color: #4F0F22 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

/* --- Search in selection --- */
.apotea-toolbar-search {
  display: flex !important;
  align-items: stretch !important;
  flex: 1 1 320px !important;
  max-width: none !important;
  min-width: 220px !important;
  float: none !important;
  margin-left: 0 !important;
  width: 100% !important;
}

.apotea-toolbar-search-input {
  flex: 1 !important;
  border: 1px solid #ccc !important;
  border-right: none !important;
  border-radius: 4px 0 0 4px !important;
  padding: 7px 12px !important;
  height: 42px !important;
  font-size: 14px !important;
  color: #333 !important;
  outline: none !important;
  background: #fff !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  line-height: 42px !important;
  text-align: center !important;
}

.apotea-toolbar-search-input::placeholder {
  color: #999 !important;
}

.apotea-toolbar-search-input:focus {
  border-color: #4F0F22 !important;
}

.apotea-toolbar-search-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #4F0F22 !important;
  border: 1px solid #4F0F22 !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 0 12px !important;
  height: 42px !important;
  cursor: pointer !important;
  color: #fff !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease !important;
}

.apotea-toolbar-search-btn:hover {
  background: #3d0a1a !important;
  border-color: #3d0a1a !important;
}

.apotea-toolbar-search-btn svg {
  width: 16px !important;
  height: 16px !important;
  color: #fff !important;
}

/* --- Toolbar amount --- */
.toolbar-amount {
  font-size: 14px !important;
  color: #666 !important;
}

/* --- Limiter --- */
.limiter .label span,
.limiter .limiter-text {
  font-size: 14px !important;
  color: #333 !important;
}

.limiter-options {
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  padding: 7px 28px 7px 12px !important;
  font-size: 14px !important;
  background: #fff !important;
  height: auto !important;
}

.sidebar .filter-options-title {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--apotea-dark) !important;
}

.sidebar .filter-options-content a {
  color: var(--apotea-dark) !important;
}

.sidebar .filter-options-content a:hover {
  color: var(--apotea-red) !important;
}

/* ==========================================================================
   FOOTER — full-width, Apotea-style
   ========================================================================== */

/* hide the in-page newsletter section (now in footer) */
.apotea-newsletter-section {
  display: none !important;
}

footer.page-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

footer.page-footer,
footer.page-footer .footer,
footer.page-footer .footer-top,
footer.page-footer .footer-middle,
footer.page-footer .footer-bottom,
footer.page-footer .footer .container,
footer.page-footer .footer-middle .container,
footer.page-footer .footer-middle > .container,
footer.page-footer .footer-top .container,
footer.page-footer .footer-bottom .container {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

.footer-middle > .container::before,
.footer-middle > .container::after,
.footer-middle .container::before,
.footer-middle .container::after,
.footer > .container::before,
.footer > .container::after,
.footer-bottom > .container::before,
.footer-bottom > .container::after {
  display: none !important;
  content: none !important;
  border: none !important;
}

.footer,
.footer-top,
.footer-middle,
.footer-bottom {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

footer.page-footer .container,
footer.page-footer .footer .container,
footer.page-footer .footer-middle .container,
footer.page-footer .footer-bottom .container,
footer.page-footer .footer-top .container {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.footer {
  background-color: #fbf6f2 !important;
  border: none !important;
  color: var(--apotea-dark) !important;
}

/* --- footer-top: newsletter --- */
.footer-top {
  background: #fbf6f2 !important;
  border: none !important;
  padding: 28px 0 !important;
  min-height: 0 !important;
}

.footer-top:empty {
  display: none !important;
  padding: 0 !important;
}

/* --- Link columns --- */
.footer-middle {
  background-color: #fbf6f2 !important;
  padding: 32px 0 24px !important;
  border: none !important;
}

.footer-middle h4,
.footer-middle .widget-title,
.footer h4 {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--apotea-dark) !important;
  margin-bottom: 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.footer-middle ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-middle ul li {
  padding: 0 !important;
  margin: 0 0 8px !important;
  list-style: none !important;
}

.footer-middle ul li::before {
  display: none !important;
}

.footer a {
  color: var(--apotea-muted) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.footer a:hover {
  color: var(--apotea-dark) !important;
  text-decoration: underline !important;
}

.apotea-footer-social a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--apotea-border);
  border-radius: 50%;
  margin-right: 8px;
  color: var(--apotea-muted) !important;
  font-size: 16px;
  transition: all 0.2s;
}

.apotea-footer-social a:hover {
  color: var(--apotea-dark) !important;
  border-color: var(--apotea-dark);
  text-decoration: none !important;
}

.apotea-footer-payments span {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--apotea-border);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--apotea-muted);
  margin-right: 6px;
  margin-bottom: 6px;
}

/* --- Copyright bar --- */
.footer-bottom {
  background-color: var(--apotea-light) !important;
  border: none !important;
  padding: 12px 0 !important;
  font-size: 12px !important;
  color: var(--apotea-muted) !important;
  text-align: center !important;
}

.footer-bottom .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.footer-bottom a {
  color: var(--apotea-muted) !important;
}

.footer-bottom a:hover {
  color: var(--apotea-dark) !important;
}

/* --- Footer newsletter row (CMS block with real Magento subscribe form) --- */
.footer-newsletter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 0;
}

.footer-newsletter-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--apotea-dark) !important;
  margin: 0 0 4px !important;
}

.footer-newsletter-desc {
  font-size: 13px;
  color: var(--apotea-muted);
  margin: 0;
}

.footer-newsletter-form-col {
  flex: 0 0 420px;
}

.footer-newsletter-form-col .block.newsletter {
  max-width: 100% !important;
  margin: 0 !important;
}

.footer-newsletter-form-col .block.newsletter .title {
  display: none !important;
}

.footer-newsletter-form-col .block.newsletter .content {
  display: flex !important;
}

.footer-newsletter-form-col .form.subscribe {
  display: flex !important;
  width: 100% !important;
}

.footer-newsletter-form-col .field.newsletter {
  flex: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-newsletter-form-col .field.newsletter .label {
  display: none !important;
}

.footer-newsletter-form-col input[type="email"] {
  width: 100% !important;
  height: 42px !important;
  border: 1px solid var(--apotea-border) !important;
  border-right: none !important;
  border-radius: 4px 0 0 4px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.footer-newsletter-form-col .actions {
  margin: 0 !important;
  padding: 0 !important;
}

.footer-newsletter-form-col .action.subscribe {
  height: 42px !important;
  background: var(--apotea-green) !important;
  border: none !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 0 24px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #fff !important;
  cursor: pointer;
  white-space: nowrap;
}

.footer-newsletter-form-col .action.subscribe:hover {
  background: var(--apotea-green-hover) !important;
}

@media (max-width: 767px) {
  .footer-newsletter-row {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
  .footer-newsletter-form-col {
    flex: 1;
    width: 100%;
  }
}

/* Hide Porto's default round back-to-top button */
#totop {
  display: none !important;
}

/* Apotea-style full-width back-to-top bar */
#apotea-back-to-top {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: #4F0F22;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.02em;
  border-radius: 0;
}

#apotea-back-to-top:hover {
  background: #3b0a19;
}

#apotea-back-to-top span {
  display: inline-block;
}

/* ==========================================================================
   BREADCRUMBS
   ========================================================================== */

.breadcrumbs {
  flex-basis: 100% !important;
  order: -1 !important;
  background: transparent !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  border: none !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.breadcrumbs .breadcrumb-list {
  white-space: nowrap;
}

.breadcrumbs a {
  color: #4F0F22 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.breadcrumbs a:hover {
  text-decoration: underline !important;
}

.breadcrumbs .breadcrumb-sep {
  color: #999 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.breadcrumbs .breadcrumb-current {
  color: #4F0F22 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   TOOLBAR SELECT FIX
   ========================================================================== */

.toolbar select,
.toolbar-sorter select,
.sorter select,
.limiter select,
#narrow-by-list select,
.filter-options select {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* ==========================================================================
   MESSAGES & MISC
   ========================================================================== */

.message.success {
  background-color: #e8f5e9 !important;
  border-color: var(--apotea-green) !important;
  color: var(--apotea-green) !important;
}

.message.error {
  background-color: #fce4ec !important;
  border-color: var(--apotea-red) !important;
  color: var(--apotea-red) !important;
}

/* Loading indicator */
.loading-mask .loader > img { display: none; }

/* ==========================================================================
   HOMEPAGE SPECIFIC
   ========================================================================== */

.cms-index-index .page-main {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.cms-index-index .columns .column.main {
  padding-bottom: 0;
}

/* --- Homepage product section wrapper (used by each CMS block section) --- */
.apotea-homepage-section {
  margin-bottom: 32px;
}

.apotea-homepage-section::after {
  content: "";
  display: table;
  clear: both;
}

/* --- Banner carousel (owl-carousel wrapper for 2 banners side by side) --- */
.apotea-banner-carousel {
  position: relative;
  margin-bottom: 24px;
}

.apotea-banner-carousel,
.apotea-banner-carousel *,
.apotea-banner-carousel .owl-carousel .owl-stage-outer,
.apotea-banner-carousel .owl-item,
.apotea-banner-slide,
.apotea-banner-slide a,
.apotea-banner-slide img {
  border-radius: 0 !important;
}

.apotea-banner-slide {
  display: flex;
  gap: 12px;
}

.apotea-banner-slide a {
  display: block;
  flex: 1;
  overflow: hidden;
}

.apotea-banner-slide img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0 !important;
}

/* Navigation: custom arrow buttons injected into owl-dots by JS */
.apotea-banner-carousel .owl-nav,
.apotea-banner-carousel .owl-prev,
.apotea-banner-carousel .owl-next {
  display: none !important;
}

.apotea-banner-carousel .owl-dots {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

.apotea-banner-carousel .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  border-radius: 50% !important;
  background: #ccc;
  display: block;
  margin: 0;
}

.apotea-banner-carousel .owl-dots .owl-dot.active span {
  background: var(--apotea-red);
}

.apotea-banner-carousel .owl-dots .apotea-nav-prev,
.apotea-banner-carousel .owl-dots .apotea-nav-next {
  background: none !important;
  border: none !important;
  font-size: 20px;
  color: #333;
  cursor: pointer;
  padding: 0 4px !important;
  line-height: 1;
}

.apotea-banner-carousel .owl-dots .apotea-nav-prev:hover,
.apotea-banner-carousel .owl-dots .apotea-nav-next:hover {
  color: var(--apotea-red);
}

/* Center the nav row: arrows - dots - arrows */
.apotea-banner-carousel .owl-carousel .owl-nav.disabled + .owl-dots,
.apotea-banner-carousel .owl-dots {
  text-align: center;
}

.apotea-banner-carousel .apotea-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}

@media (max-width: 767px) {
  .apotea-banner-slide {
    flex-direction: column;
    gap: 8px;
  }
}

/* --- Hero banners (static 2-col row) --- */
.apotea-hero-row {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
}

.apotea-hero-banner {
  flex: 1;
  border-radius: 8px;
  overflow: hidden;
  min-height: 200px;
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  padding: 24px 28px;
}

.apotea-hero-banner h2 {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--apotea-dark);
  margin: 0 0 4px;
}

.apotea-hero-banner h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--apotea-dark);
  margin: 0 0 8px;
}

.apotea-hero-banner p {
  font-size: 14px;
  color: var(--apotea-muted);
  margin: 0;
}

/* --- Section headings (bold, underlined like Apotea) --- */
.apotea-section-heading {
  font-size: 20px;
  font-weight: 800;
  color: var(--apotea-dark);
  margin: 0 0 16px;
  padding-bottom: 0;
  border-bottom: none;
  display: block;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}

.apotea-section-heading a {
  color: var(--apotea-dark) !important;
  text-decoration: none !important;
}

.apotea-section-heading a:hover {
  color: var(--apotea-red) !important;
}

/* --- USP bar with checkmarks --- */
.apotea-usp-bar {
  background: #fff;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}

.apotea-usp-bar ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.apotea-usp-bar li {
  padding: 3px 0;
  font-size: 13px;
  color: var(--apotea-dark);
}

.apotea-usp-bar li::before {
  content: "\2713";
  color: var(--apotea-green);
  font-weight: 700;
  margin-right: 8px;
}

/* --- View All link --- */
.apotea-view-all {
  float: right;
  font-size: 14px;
  font-weight: 700;
  color: var(--apotea-dark) !important;
  margin-top: 36px;
}

.apotea-view-all:hover {
  color: var(--apotea-red) !important;
}

.apotea-view-all i {
  margin-left: 4px;
  font-size: 12px;
}

/* Newsletter section on homepage */
.apotea-newsletter-section {
  background: var(--apotea-light);
  padding: 30px;
  border-radius: var(--apotea-radius);
  margin: 40px 0 20px;
  text-align: center;
}

.apotea-newsletter-section h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 6px;
}

.apotea-newsletter-section p {
  color: var(--apotea-muted);
  font-size: 14px;
  margin-bottom: 16px;
}

/* ==========================================================================
   OWL CAROUSEL OVERRIDES
   ========================================================================== */

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  background: #fff !important;
  border: 1px solid var(--apotea-border) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
  text-align: center !important;
  color: var(--apotea-dark) !important;
  font-size: 18px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
  opacity: 1 !important;
}

.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover {
  background: var(--apotea-light) !important;
  color: var(--apotea-red) !important;
}

.owl-carousel .owl-dots .owl-dot span {
  background: var(--apotea-border) !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
}

.owl-carousel .owl-dots .owl-dot.active span {
  background: var(--apotea-red) !important;
}

/* ==========================================================================
   RESPONSIVE — MOBILE
   ========================================================================== */

@media (max-width: 767px) {
  .page-header .logo img { max-height: 24px; }

  /* hide text labels on mobile, keep icons only */
  .page-header .minicart-wrapper .action.showcart .text { display: none !important; }
  .page-header.type25 .minicart-wrapper .action-subtotal,
  .page-header .minicart-wrapper .action-subtotal.d-none,
  .page-header .minicart-wrapper .action-subtotal { display: none !important; }
  .page-header .minicart-wrapper .action.showcart {
    border-radius: var(--apotea-radius) !important;
    padding: 0 10px !important;
    height: 36px !important;
  }

  .page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header,
  .page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header.d-none {
    display: none !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account {
    padding: 0 10px !important;
    height: 36px !important;
    background: #fff !important;
    border: 2px solid #fff !important;
    border-radius: var(--apotea-radius) !important;
    transition: background 0.2s, border-color 0.2s !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account .porto-icon-user-2::before {
    color: var(--apotea-dark) !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account:hover {
    background: transparent !important;
    border-color: #fff !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account:hover .porto-icon-user-2::before {
    color: #fff !important;
  }

  .page-header.type25 .header-main .header-left { padding: 8px 0 0 10px !important; }
  .page-header.type25 .header-main .header-right { padding: 8px 10px 8px 8px !important; flex-wrap: wrap !important; }

  /* homepage mobile */
  .apotea-hero-row {
    flex-direction: column;
  }

  .apotea-hero-banner {
    min-height: 150px;
    padding: 18px 20px;
  }

  .apotea-hero-banner h2 {
    font-size: 22px;
  }

  .apotea-hero-banner h3 {
    font-size: 15px;
  }

  .apotea-section-heading {
    font-size: 18px;
    margin: 20px 0 12px;
  }

  .catalog-product-view .product-info-price .price-box .price {
    font-size: 26px !important;
  }

  body.apotea-pdp.catalog-product-view .box-tocart .action.tocart,
  .catalog-product-view .box-tocart .action.tocart {
    font-size: 16px !important;
    padding: 12px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    line-height: 1.25 !important;
    min-height: 48px !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.apotea-pdp.catalog-product-view .box-tocart .action.tocart::before {
    line-height: 1 !important;
    flex-shrink: 0 !important;
  }

  body.apotea-pdp.catalog-product-view .box-tocart .action.tocart > span {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1.25 !important;
  }

  .apotea-newsletter-section {
    padding: 20px;
    margin: 20px 0 10px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .page-header .minicart-wrapper .action.showcart .text { display: none !important; }

  .page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header,
  .page-header .header-contact .porto-sicon-box-link.account .porto-sicon-header.d-none {
    display: none !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account {
    padding: 0 10px !important;
    height: 36px !important;
    min-width: auto !important;
    background: #fff !important;
    border: 2px solid #fff !important;
    border-radius: var(--apotea-radius) !important;
    transition: background 0.2s, border-color 0.2s !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account .porto-icon-user-2::before {
    color: var(--apotea-dark) !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account:hover {
    background: transparent !important;
    border-color: #fff !important;
  }
  .page-header .header-contact .porto-sicon-box-link.account:hover .porto-icon-user-2::before {
    color: #fff !important;
  }
}

@media (max-width: 479px) {
  .apotea-hero-banner h2 {
    font-size: 18px;
  }

  .apotea-hero-banner {
    min-height: 120px;
    padding: 14px 16px;
  }
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .apotea-hero-banner h2 {
    font-size: 24px;
  }
}

/* ==========================================================================
   MINICART
   ========================================================================== */

.block-minicart {
  border-radius: var(--apotea-radius) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
}

.block-minicart .action.primary.checkout {
  background: var(--apotea-green) !important;
  border-color: var(--apotea-green) !important;
  border-radius: var(--apotea-radius) !important;
}

.block-minicart .action.primary.checkout:hover {
  background: var(--apotea-green-hover) !important;
}

/* ==========================================================================
   FORMS (login, register, contact)
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select {
  border: 2px solid var(--apotea-border) !important;
  border-radius: var(--apotea-radius) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  transition: border-color 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  border-color: var(--apotea-green) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45,106,46,0.1) !important;
}

/* ==========================================================================
   PAGINATION (Apotea-style centered pager)
   ========================================================================== */

.apotea-pager {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 24px 0 !important;
  background: transparent !important;
}

.apotea-pager-count {
  font-size: 14px !important;
  color: #4F0F22 !important;
  font-weight: 600 !important;
  margin: 0 0 14px !important;
  text-align: center !important;
}

.apotea-show-all {
  display: inline-block !important;
  background: #4F0F22 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 10px 36px !important;
  border-radius: 4px !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  margin-bottom: 16px !important;
  transition: background-color 0.2s ease !important;
}

.apotea-show-all:hover {
  background: #3d0a1a !important;
  color: #fff !important;
  text-decoration: none !important;
}

.apotea-pager .pages {
  text-align: center !important;
  margin: 0 !important;
  width: 100% !important;
}

.page-layout-1column #layered-filter-block-container,
.page-layout-1column .layered-filter-block-container {
  display: none !important;
}

body.filter-active,
html.sidebar-opened,
html.filter-sidebar-opened {
  overflow: hidden !important;
}

body.filter-active #layered-filter-block-container,
html.sidebar-opened .page-layout-1column #layered-filter-block-container,
html.filter-sidebar-opened .page-layout-1column #layered-filter-block-container,
body.filter-active .layered-filter-block-container,
html.sidebar-opened .page-layout-1column .layered-filter-block-container,
html.filter-sidebar-opened .page-layout-1column .layered-filter-block-container {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: 0 !important;
  width: min(412px, 100vw) !important;
  max-width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  overflow: hidden !important;
  z-index: 2147483646 !important;
  box-shadow: -14px 0 40px rgba(0, 0, 0, 0.16) !important;
}

body.filter-active #layered-filter-block,
html.sidebar-opened .page-layout-1column #layered-filter-block,
html.filter-sidebar-opened .page-layout-1column #layered-filter-block {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  max-height: 100% !important;
  background: #fff !important;
  z-index: 2147483647 !important;
  overflow: hidden !important;
}

body.filter-active #ln_overlay,
html.sidebar-opened .page-layout-1column #ln_overlay,
html.filter-sidebar-opened .page-layout-1column #ln_overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 10062 !important;
}

body.filter-active .sidebar-overlay,
html.sidebar-opened .sidebar-overlay,
html.filter-sidebar-opened .sidebar-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.48) !important;
  z-index: 2147483644 !important;
}

.page-header,
.page-header.sticky-header {
  z-index: 10030 !important;
}

body.filter-active .page-header,
html.sidebar-opened .page-header,
html.filter-sidebar-opened .page-header {
  opacity: 0.58 !important;
  pointer-events: none !important;
}

body.filter-active .page-header *,
html.sidebar-opened .page-header *,
html.filter-sidebar-opened .page-header * {
  pointer-events: none !important;
}

body.filter-active #layered-filter-block .filter-title,
html.sidebar-opened #layered-filter-block .filter-title,
html.filter-sidebar-opened #layered-filter-block .filter-title {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 24px 24px 10px !important;
  margin: 0 !important;
  border: 0 !important;
  background: linear-gradient(180deg, #fff8f4 0%, #ffffff 100%) !important;
  box-sizing: border-box !important;
}

body.filter-active #layered-filter-block .filter-title strong,
html.sidebar-opened #layered-filter-block .filter-title strong,
html.filter-sidebar-opened #layered-filter-block .filter-title strong,
.apotea-filter-drawer-title-trigger {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  z-index: auto !important;
}

.apotea-filter-drawer-title-wrap {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.apotea-filter-drawer-title-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.apotea-filter-drawer-title-trigger {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.apotea-filter-drawer-title-text {
  display: block !important;
  margin: 0 !important;
  color: #231f20 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

.apotea-filter-drawer-title-meta {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #f1ded5 !important;
  border-radius: 999px !important;
  background: rgba(255, 245, 240, 0.96) !important;
  color: #7b5060 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
}

body.filter-active #layered-filter-block .filter-title strong::after,
body.filter-active #layered-filter-block .filter-title::before,
body.filter-active #layered-filter-block .filter-title::after,
html.sidebar-opened #layered-filter-block .filter-title strong::after,
html.sidebar-opened #layered-filter-block .filter-title::before,
html.sidebar-opened #layered-filter-block .filter-title::after,
html.filter-sidebar-opened #layered-filter-block .filter-title strong::after,
html.filter-sidebar-opened #layered-filter-block .filter-title::before,
html.filter-sidebar-opened #layered-filter-block .filter-title::after {
  display: none !important;
}

.apotea-filter-drawer-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border: 1px solid #f0e1d8 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #5c5557 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(35, 31, 32, 0.06) !important;
}

.apotea-filter-drawer-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.page-layout-1column .apotea-filter-drawer-header,
.page-layout-1column .apotea-filter-drawer-content,
.page-layout-1column .apotea-filter-drawer-intro,
.page-layout-1column .apotea-filter-drawer-body,
.page-layout-1column .apotea-filter-drawer-footer,
.page-layout-1column .apotea-filter-drawer-close,
.page-layout-1column .apotea-filter-drawer-clear,
.page-layout-1column .apotea-filter-drawer-apply {
  display: none !important;
}

body.filter-active .apotea-filter-drawer-header,
body.filter-active .apotea-filter-drawer-content,
body.filter-active .apotea-filter-drawer-body,
body.filter-active .apotea-filter-drawer-footer,
body.filter-active .apotea-filter-drawer-close,
body.filter-active .apotea-filter-drawer-clear,
body.filter-active .apotea-filter-drawer-apply,
html.sidebar-opened .apotea-filter-drawer-header,
html.sidebar-opened .apotea-filter-drawer-content,
html.sidebar-opened .apotea-filter-drawer-body,
html.sidebar-opened .apotea-filter-drawer-footer,
html.sidebar-opened .apotea-filter-drawer-close,
html.sidebar-opened .apotea-filter-drawer-clear,
html.sidebar-opened .apotea-filter-drawer-apply {
  display: flex !important;
}

body.filter-active .apotea-filter-drawer-intro,
html.sidebar-opened .apotea-filter-drawer-intro {
  display: block !important;
}

.apotea-filter-drawer-intro {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 24px 18px !important;
  padding: 14px 16px !important;
  border: 1px solid #f2e7df !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #fffaf7 0%, #fff 100%) !important;
  box-shadow: 0 8px 26px rgba(79, 15, 34, 0.05) !important;
}

.apotea-filter-drawer-intro-label {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: rgba(79, 15, 34, 0.08) !important;
  color: #6c1832 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.apotea-filter-drawer-intro-text {
  margin: 0 !important;
  color: #554a4d !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.apotea-filter-drawer-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 0 24px 18px !important;
  background: linear-gradient(180deg, #fffdfc 0%, #ffffff 100%) !important;
}

.apotea-filter-drawer-body > #narrow-by-list,
.apotea-filter-drawer-body .filter-options {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.apotea-filter-drawer-body > #narrow-by-list > .filter-options-item,
.apotea-filter-drawer-body .filter-options-item {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
}

.apotea-filter-drawer-body > #narrow-by-list > .filter-options-item > .filter-options-title,
.apotea-filter-drawer-body .filter-options-item > .filter-options-title,
.apotea-filter-drawer-body > #narrow-by-list > .filter-options-item > .filter-options-content,
.apotea-filter-drawer-body .filter-options-item > .filter-options-content {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.filter-active #layered-filter-block .filter-subtitle,
body.filter-active #layered-filter-block .filter-current,
body.filter-active #layered-filter-block .block-actions.filter-actions {
  display: none !important;
}

body.filter-active #layered-filter-block .filter-subtitle,
body.filter-active #layered-filter-block .filter-actions {
  display: none !important;
}

body.filter-active #layered-filter-block .filter-current {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.filter-active #layered-filter-block .filter-current .items {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.filter-active #layered-filter-block .filter-current .item {
  margin: 0 !important;
}

body.filter-active #layered-filter-block .filter-current .action.remove {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid #eadfd8 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf7f4 100%) !important;
  color: #231f20 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(35, 31, 32, 0.05) !important;
}

body.filter-active #layered-filter-block .filter-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
}

body.filter-active #layered-filter-block .filter-options-item,
html.sidebar-opened #layered-filter-block .filter-options-item,
html.filter-sidebar-opened #layered-filter-block .filter-options-item {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  border: 1px solid #efe6e0 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fffaf7 0%, #fff 100%) !important;
  box-shadow:
    0 1px 2px rgba(35, 31, 32, 0.02),
    0 12px 28px rgba(35, 31, 32, 0.05) !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

body.filter-active #layered-filter-block .filter-options-item:hover,
html.sidebar-opened #layered-filter-block .filter-options-item:hover,
html.filter-sidebar-opened #layered-filter-block .filter-options-item:hover {
  border-color: #e4d4ca !important;
  box-shadow:
    0 2px 6px rgba(35, 31, 32, 0.04),
    0 14px 32px rgba(79, 15, 34, 0.07) !important;
}

body.filter-active #layered-filter-block .filter-options-title,
html.sidebar-opened #layered-filter-block .filter-options-title,
html.filter-sidebar-opened #layered-filter-block .filter-options-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #211d1e !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  letter-spacing: -0.01em !important;
}

body.filter-active #layered-filter-block .filter-options-item.active,
html.sidebar-opened #layered-filter-block .filter-options-item.active,
html.filter-sidebar-opened #layered-filter-block .filter-options-item.active {
  border-color: #ead7ce !important;
  box-shadow:
    0 2px 8px rgba(35, 31, 32, 0.05),
    0 18px 36px rgba(79, 15, 34, 0.08) !important;
}

body.filter-active #layered-filter-block .filter-options-item.active .filter-options-title,
html.sidebar-opened #layered-filter-block .filter-options-item.active .filter-options-title,
html.filter-sidebar-opened #layered-filter-block .filter-options-item.active .filter-options-title {
  color: #4F0F22 !important;
}

body.filter-active #layered-filter-block .filter-options-title .toggle {
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  margin-left: 12px !important;
  border-right: 2px solid #7e7074 !important;
  border-bottom: 2px solid #7e7074 !important;
  transform: rotate(45deg) translateY(-3px) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}

body.filter-active #layered-filter-block .filter-options-item.active .filter-options-title .toggle,
html.sidebar-opened #layered-filter-block .filter-options-item.active .filter-options-title .toggle,
html.filter-sidebar-opened #layered-filter-block .filter-options-item.active .filter-options-title .toggle {
  border-right-color: #4F0F22 !important;
  border-bottom-color: #4F0F22 !important;
  transform: rotate(-135deg) translateY(-1px) !important;
}

body.filter-active #layered-filter-block .filter-options-content,
html.sidebar-opened #layered-filter-block .filter-options-content,
html.filter-sidebar-opened #layered-filter-block .filter-options-content {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 18px 18px !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.filter-active #layered-filter-block .filter-options-item:not(.active) > .filter-options-content,
html.sidebar-opened #layered-filter-block .filter-options-item:not(.active) > .filter-options-content,
html.filter-sidebar-opened #layered-filter-block .filter-options-item:not(.active) > .filter-options-content {
  display: none !important;
}

body.filter-active #layered-filter-block .filter-options-item.active > .filter-options-content,
html.sidebar-opened #layered-filter-block .filter-options-item.active > .filter-options-content,
html.filter-sidebar-opened #layered-filter-block .filter-options-item.active > .filter-options-content {
  display: block !important;
}

body.filter-active #layered-filter-block .filter-options-content .items {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.filter-active #layered-filter-block .filter-options-content .item {
  margin: 0 0 10px !important;
}

body.filter-active #layered-filter-block .filter-options-content .item-slider,
html.sidebar-opened #layered-filter-block .filter-options-content .item-slider,
html.filter-sidebar-opened #layered-filter-block .filter-options-content .item-slider {
  margin: 0 !important;
}

body.filter-active #layered-filter-block .filter-options-item[attribute="price"] .filter-options-content,
html.sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] .filter-options-content,
html.filter-sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] .filter-options-content {
  padding: 8px 14px 10px !important;
  border: 0 !important;
  background: #fff !important;
}

body.filter-active #layered-filter-block .filter-options-item[attribute="price"],
html.sidebar-opened #layered-filter-block .filter-options-item[attribute="price"],
html.filter-sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 10px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.filter-active #layered-filter-block .filter-options-item[attribute="price"].active,
html.sidebar-opened #layered-filter-block .filter-options-item[attribute="price"].active,
html.filter-sidebar-opened #layered-filter-block .filter-options-item[attribute="price"].active {
  border-top: 1px solid #efe8e1 !important;
  border-bottom: 1px solid #efe8e1 !important;
  background:
    linear-gradient(180deg, rgba(250, 247, 244, 0.95) 0%, rgba(255, 255, 255, 1) 88%) !important;
}

body.filter-active #layered-filter-block .filter-options-item[attribute="price"] .filter-options-title,
html.sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] .filter-options-title,
html.filter-sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] .filter-options-title {
  min-height: 52px !important;
  padding: 0 18px !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #241f20 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  overflow: visible !important;
}

body.filter-active #layered-filter-block .filter-options-item[attribute="price"] .filter-options-title .toggle,
html.sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] .filter-options-title .toggle,
html.filter-sidebar-opened #layered-filter-block .filter-options-item[attribute="price"] .filter-options-title .toggle {
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  margin-left: 16px !important;
}

body.filter-active #layered-filter-block .filter-options-item[attribute="price"].active .filter-options-title,
html.sidebar-opened #layered-filter-block .filter-options-item[attribute="price"].active .filter-options-title,
html.filter-sidebar-opened #layered-filter-block .filter-options-item[attribute="price"].active .filter-options-title {
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 14px !important;
}

body.filter-active #layered-filter-block .ln_slider_container,
html.sidebar-opened #layered-filter-block .ln_slider_container,
html.filter-sidebar-opened #layered-filter-block .ln_slider_container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.filter-active #layered-filter-block .ln_slider_text,
html.sidebar-opened #layered-filter-block .ln_slider_text,
html.filter-sidebar-opened #layered-filter-block .ln_slider_text {
  position: static !important;
  float: none !important;
  clear: both !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 48px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid #e6ddd6 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf7f4 100%) !important;
  color: #231f20 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: normal !important;
  box-sizing: border-box !important;
  box-shadow:
    0 1px 2px rgba(31, 24, 26, 0.04),
    0 10px 24px rgba(79, 15, 34, 0.06) !important;
}

body.filter-active #layered-filter-block .ln_slider,
html.sidebar-opened #layered-filter-block .ln_slider,
html.filter-sidebar-opened #layered-filter-block .ln_slider {
  width: 100% !important;
  height: 8px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #e8ddd6 0%, #ddd1ca 100%) !important;
  box-shadow: inset 0 1px 2px rgba(35, 31, 32, 0.08) !important;
}

body.filter-active #layered-filter-block .ln_slider .ui-slider-range,
html.sidebar-opened #layered-filter-block .ln_slider .ui-slider-range,
html.filter-sidebar-opened #layered-filter-block .ln_slider .ui-slider-range {
  height: 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #6c1832 0%, #4F0F22 100%) !important;
}

body.filter-active #layered-filter-block .ln_slider .ui-slider-handle,
html.sidebar-opened #layered-filter-block .ln_slider .ui-slider-handle,
html.filter-sidebar-opened #layered-filter-block .ln_slider .ui-slider-handle {
  top: 50% !important;
  width: 22px !important;
  height: 22px !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: #4F0F22 !important;
  box-shadow:
    0 8px 18px rgba(79, 15, 34, 0.24),
    0 1px 3px rgba(35, 31, 32, 0.18) !important;
  transform: translateY(-50%) !important;
  margin-left: -11px !important;
  cursor: pointer !important;
}

body.filter-active #layered-filter-block .ln_slider .ui-slider-handle:focus,
body.filter-active #layered-filter-block .ln_slider .ui-slider-handle:hover,
html.sidebar-opened #layered-filter-block .ln_slider .ui-slider-handle:focus,
html.sidebar-opened #layered-filter-block .ln_slider .ui-slider-handle:hover,
html.filter-sidebar-opened #layered-filter-block .ln_slider .ui-slider-handle:focus,
html.filter-sidebar-opened #layered-filter-block .ln_slider .ui-slider-handle:hover {
  box-shadow:
    0 0 0 6px rgba(79, 15, 34, 0.12),
    0 8px 18px rgba(79, 15, 34, 0.24),
    0 1px 3px rgba(35, 31, 32, 0.18) !important;
}

body.filter-active #layered-filter-block .filter-options-content a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid #f1e9e4 !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #2a2426 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease !important;
}

body.filter-active #layered-filter-block .filter-options-content a:hover,
html.sidebar-opened #layered-filter-block .filter-options-content a:hover,
html.filter-sidebar-opened #layered-filter-block .filter-options-content a:hover {
  border-color: #dcc9bf !important;
  background: #fffaf7 !important;
  color: #4F0F22 !important;
}

body.filter-active #layered-filter-block .filter-options-content .count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  height: 28px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: rgba(79, 15, 34, 0.08) !important;
  color: #6c1832 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.filter-active #layered-filter-block .filter-options-content input[type="checkbox"],
body.filter-active #layered-filter-block .filter-options-content input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 10px 0 0 !important;
  accent-color: #4F0F22 !important;
}

.apotea-filter-drawer-footer {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 24px 20px !important;
  border-top: 1px solid #f2e7df !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 -10px 30px rgba(35, 31, 32, 0.05) !important;
}

.apotea-filter-drawer-clear,
.apotea-filter-drawer-apply {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.apotea-filter-drawer-clear {
  border: 1px solid #e3d7cf !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf7f4 100%) !important;
  color: #2a2426 !important;
  min-width: 128px !important;
  box-shadow: 0 8px 18px rgba(35, 31, 32, 0.04) !important;
}

.apotea-filter-drawer-clear.is-disabled {
  opacity: 0.45 !important;
  cursor: default !important;
}

.apotea-filter-drawer-apply {
  flex: 1 1 auto !important;
  border: 1px solid #4F0F22 !important;
  background: linear-gradient(180deg, #6b1731 0%, #4F0F22 100%) !important;
  color: #fff !important;
  cursor: pointer !important;
  min-width: 0 !important;
  box-shadow: 0 12px 26px rgba(79, 15, 34, 0.22) !important;
}

body.filter-active #layered-filter-block .filter-options-content .swatch-attribute-options,
body.filter-active #layered-filter-block .filter-options-content .items {
  padding-top: 2px !important;
}

@media (max-width: 767px) {
  .apotea-toolbar-top {
    grid-template-columns: 1fr !important;
  }

  .apotea-toolbar-controls {
    width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }

  .apotea-toolbar-search {
    min-width: 0 !important;
  }
}

.apotea-pager .pages .pages-label {
  display: none !important;
}

.apotea-pager .pages .items {
  display: inline-flex !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.apotea-pager .pages .items .item a,
.apotea-pager .pages .items .item strong.page {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  border-radius: 4px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: 1px solid #ccc !important;
  color: #333 !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 8px !important;
}

.apotea-pager .pages .items .item a .label,
.apotea-pager .pages .items .item strong .label {
  display: none !important;
}

.apotea-pager .pages .items .item.current strong.page {
  background: #4F0F22 !important;
  color: #fff !important;
  border-color: #4F0F22 !important;
  font-weight: 600 !important;
}

.apotea-pager .pages .items .item a:hover {
  background: #f0f0f0 !important;
  border-color: #4F0F22 !important;
  color: #4F0F22 !important;
}

.apotea-pager .pages .items .item .action.next,
.apotea-pager .pages .items .item .action.previous {
  font-size: 18px !important;
  font-weight: 400 !important;
}

/* ==========================================================================
   PORTO POPUP DISABLE
   ========================================================================== */

.porto-newsletter-popup-wrapper {
  display: none !important;
}

/* ==========================================================================
   PDP — final cascade wins (load after Porto theme CSS)
   ========================================================================== */

html body.apotea-pdp.catalog-product-view .product-info-stock-sku .product.attribute.sku,
html body.apotea-pdp.catalog-product-view .product-info-stock-sku div[class*="attribute"][class*="sku"] {
  display: none !important;
}

@media (min-width: 768px) {
  html body.apotea-pdp.catalog-product-view .product.info.detailed .product.data.items,
  html body.apotea-pdp.catalog-product-view .product.data.items {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-collapse: separate !important;
    table-layout: auto !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    border: none !important;
    border-bottom: none !important;
    border-top: 1px solid var(--apotea-border) !important;
    background: #fff !important;
    color: var(--apotea-dark) !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title:first-child {
    border-top: none !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title > .switch,
  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title > a.data.switch {
    float: none !important;
    display: flex !important;
    width: 100% !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    border: none !important;
    border-bottom: none !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    background: #fff !important;
    color: var(--apotea-dark) !important;
    box-sizing: border-box !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title.active > .switch,
  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title.active > a.data.switch {
    background: var(--apotea-accordion) !important;
    color: #fff !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.content {
    float: none !important;
    width: 100% !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--apotea-border) !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title > a.data.switch::after {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    content: "⌄" !important;
    margin-left: auto !important;
  }

  html body.apotea-pdp.catalog-product-view .product.data.items > .item.title.active > a.data.switch::after {
    content: "⌃" !important;
    color: #fff !important;
  }
}
