/* ═══════════════════════════════════════════════════════════════════
   IVANA DESIGN — Sistema CSS Unificado
   Consolida los 8 archivos ivana-*.css en uno solo.
   Orden de capas (de menor a mayor prioridad):
   1. Refresh (base/legacy)  2. Base  3. Header  4. Cards
   5. Producto  6. Categoría  7. Responsive  8. Fluid System
   ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════
   1. REFRESH — Estilos base y páginas (versión legacy)
   ═══════════════════════════════════════════════════════════════════ */
.ivana-page-hero {
  background:
    radial-gradient(
      circle at top left,
      rgba(255, 20, 147, 0.1),
      transparent 34%
    ),
    linear-gradient(135deg, #ffffff 0%, #fff6fb 100%) !important;
  border: 1px solid rgba(17, 17, 17, 0.08) !important;
  border-radius: 28px !important;
  padding: clamp(1.5rem, 4vw, 3rem) !important;
  margin-bottom: clamp(1.5rem, 4vw, 3rem) !important;
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.06) !important;
}

.ivana-page-header-copy {
  max-width: 860px;
}

.ivana-page-title,
.ivana-category-header h1,
.ivana-cart-shell h1,
.ivana-product-shell .js-product-name {
  font-size: clamp(2rem, 4vw, 3.4rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 0.75rem !important;
  text-align: left !important;
}

.ivana-breadcrumbs,
.ivana-breadcrumbs a,
.ivana-kicker {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
}

.ivana-category-shell,
.ivana-cart-shell,
.ivana-page-shell,
.ivana-contact-shell,
.ivana-product-shell {
  padding-bottom: clamp(2rem, 5vw, 4rem);
}

.ivana-category-heading {
  display: grid;
  gap: 1rem;
  align-items: end;
}

.ivana-category-heading .ivana-category-meta {
  max-width: 42rem;
  color: #52525b;
  font-size: 0.96rem;
}

.ivana-sort-box {
  display: inline-flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(17, 17, 17, 0.08);
  min-width: 220px;
}

.ivana-category-grid {
  align-items: start;
}

.ivana-category-grid .js-product-list > li,
.ivana-category-grid .product-list > li {
  margin-bottom: 1.5rem;
}

.ivana-product-shell .container,
.ivana-cart-shell .container,
.ivana-page-shell .container,
.ivana-contact-shell .container {
  max-width: 1440px !important;
}

.ivana-product-shell .product-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.ivana-product-shell .product-images,
.ivana-product-shell .product-info {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: clamp(1rem, 2.5vw, 2rem);
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.06);
}

.ivana-product-shell .product-images {
  position: sticky;
  top: 110px;
}

.ivana-product-shell .js-product-price-container,
.ivana-product-shell .js-price-display,
.ivana-product-shell [data-component="price.value"] {
  font-size: clamp(1.7rem, 3vw, 2.5rem) !important;
  font-weight: 800 !important;
  color: #111 !important;
}

.ivana-product-shell .price-compare,
.ivana-product-shell [data-component="compare-price.value"] {
  font-size: 1rem !important;
  color: #71717a !important;
  text-decoration-thickness: 1px !important;
}

.ivana-product-shell .js-prod-submit-form,
.ivana-product-shell .btn-primary,
.ivana-cart-shell .btn-primary,
.ivana-contact-shell input[type="submit"] {
  background: linear-gradient(135deg, #111111 0%, #2b2b2b 100%) !important;
  border-color: #111111 !important;
  color: #fff !important;
  border-radius: 999px !important;
  min-height: 52px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.18) !important;
}

.ivana-product-shell .form-control,
.ivana-product-shell .form-select,
.ivana-cart-shell .form-control,
.ivana-contact-shell input:not([type="submit"]),
.ivana-contact-shell textarea {
  border-radius: 16px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  background: #fff !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

.ivana-product-shell [class*="shipping"],
.ivana-product-shell [class*="pickup"],
.ivana-product-shell [data-store*="shipping"] {
  border-radius: 22px !important;
  border: 1px solid rgba(17, 17, 17, 0.08) !important;
  padding: 1rem !important;
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%) !important;
}

.ivana-product-shell .js-product-description,
.ivana-product-shell .product-description {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.04);
}

.ivana-product-related {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.ivana-cart-shell #shoppingCartPage {
  padding-top: clamp(1rem, 3vw, 2rem);
  padding-bottom: clamp(1rem, 3vw, 2rem);
}

.ivana-cart-shell .cart-page-content {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.ivana-cart-shell .cart-page-products,
.ivana-cart-shell .cart-page-summary {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: clamp(1rem, 3vw, 2rem);
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.05);
}

.ivana-cart-shell .cart-item {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  margin-bottom: 0 !important;
}

.ivana-cart-shell .cart-item:last-child {
  border-bottom: 0;
}

.ivana-cart-shell .cart-item-name,
.ivana-cart-shell .js-cart-item-subtotal,
.ivana-cart-shell .js-cart-item-unit-price {
  font-weight: 800 !important;
  color: #111 !important;
}

.ivana-cart-shell .cart-item-variant,
.ivana-cart-shell .cart-page-table-header {
  color: #71717a !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
}

.ivana-cart-shell #cart-sticky-summary {
  top: 110px;
}

.ivana-empty-state {
  text-align: center;
  padding: clamp(2rem, 6vw, 5rem) 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #fff7fb 100%);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.05);
}

.ivana-rich-content {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: clamp(1.5rem, 4vw, 3rem);
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.05);
}

.ivana-rich-content h2,
.ivana-rich-content h3 {
  text-align: left !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}

.ivana-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.ivana-contact-card,
.ivana-contact-form-card {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.05);
}

.ivana-contact-card p,
.ivana-contact-form-card p {
  color: #52525b;
}

@media (max-width: 991px) {
  .ivana-cart-shell .cart-page-content,
  .ivana-product-shell .product-columns,
  .ivana-contact-grid {
    grid-template-columns: 1fr;
  }

  .ivana-product-shell .product-images {
    position: static;
  }
}

@media (max-width: 767px) {
  .ivana-page-hero,
  .ivana-product-shell .product-images,
  .ivana-product-shell .product-info,
  .ivana-cart-shell .cart-page-products,
  .ivana-cart-shell .cart-page-summary,
  .ivana-rich-content,
  .ivana-contact-card,
  .ivana-contact-form-card {
    border-radius: 22px !important;
  }

  .ivana-sort-box {
    width: 100%;
  }

  .ivana-category-heading {
    grid-template-columns: 1fr;
  }
}

.ivana-home-shell {
  display: block;
}

.ivana-home-hero {
  padding: clamp(1rem, 3vw, 2rem) 0 0;
}

.ivana-home-hero .js-home-main-slider,
.ivana-home-hero .js-home-mobile-slider {
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(17, 17, 17, 0.12);
}

.ivana-home-hero .swiper-slide,
.ivana-home-hero .gallery-image-container,
.ivana-home-hero .slider-image {
  min-height: min(82vh, 900px);
}

.ivana-home-hero .slider-image {
  object-fit: cover !important;
  filter: saturate(0.98) contrast(1.02);
}

.ivana-home-hero-copy {
  max-width: 640px;
  padding: clamp(1.5rem, 4vw, 3rem) !important;
  margin: clamp(1rem, 4vw, 2.5rem) !important;
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0.5),
    rgba(17, 17, 17, 0.22)
  );
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 28px;
}

.ivana-home-hero-title,
.ivana-home-hero .swiper-text .h1,
.ivana-home-hero .swiper-text h1 {
  font-size: clamp(2.6rem, 6vw, 5.4rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.05em !important;
  color: #fff !important;
  text-transform: uppercase !important;
  text-align: left !important;
  margin-bottom: 1rem !important;
}

.ivana-home-hero-description,
.ivana-home-hero .swiper-text p {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  line-height: 1.6 !important;
  max-width: 36rem;
  text-align: left !important;
}

.ivana-home-hero-button {
  background: #fff !important;
  color: #111 !important;
  border-color: #fff !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18) !important;
}

.ivana-home-hero-button:hover {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

.ivana-home-section-head {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.ivana-home-section-kicker {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6b7280;
}

.ivana-home-section-title {
  font-size: clamp(1.9rem, 4vw, 3rem) !important;
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin-bottom: 0.5rem !important;
}

.ivana-home-section-divider {
  width: 64px;
  height: 4px;
  margin: 0 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, #111 0%, #ff1493 100%);
}

.ivana-home-categories {
  padding-top: clamp(2rem, 5vw, 4rem) !important;
  padding-bottom: clamp(1.5rem, 4vw, 3rem) !important;
}

.ivana-home-categories-row {
  min-width: max-content;
}

.ivana-home-category-circle {
  width: 102px !important;
  height: 102px !important;
  border: 2px solid rgba(17, 17, 17, 0.08) !important;
  box-shadow: 0 12px 32px rgba(17, 17, 17, 0.06);
  background: #fff;
}

.ivana-home-category-name {
  font-size: 0.72rem !important;
  color: #111 !important;
}

.ivana-home-products {
  padding-top: clamp(2rem, 5vw, 4rem) !important;
  padding-bottom: clamp(2rem, 5vw, 4rem) !important;
}

.ivana-home-products-sale {
  background: linear-gradient(180deg, #fffafb 0%, #ffffff 100%);
  border-top: 1px solid rgba(17, 17, 17, 0.05);
  border-bottom: 1px solid rgba(17, 17, 17, 0.05);
}

.ivana-home-products .js-products-sale-grid,
.ivana-home-products .js-products-featured-grid,
.ivana-home-products .js-products-new-grid {
  gap: clamp(1rem, 2vw, 2rem);
}

.ivana-home-products-link {
  border-radius: 999px !important;
  border: 2px solid #111 !important;
  background: transparent !important;
  color: #111 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 800 !important;
}

.ivana-home-products-link:hover {
  background: #111 !important;
  color: #fff !important;
}

.ivana-home-infos {
  padding: clamp(1rem, 3vw, 2rem) 0 clamp(2rem, 4vw, 3.5rem);
  border-top: 1px solid rgba(17, 17, 17, 0.05);
}

.ivana-home-infos .js-informative-banners-container {
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 32px;
  box-shadow: 0 20px 60px rgba(17, 17, 17, 0.05);
}

.ivana-home-infos .js-informative-banner-container {
  padding: 1rem;
}

.ivana-home-infos .js-informative-banner-container a,
.ivana-home-infos .js-informative-banner-container {
  color: #111;
  text-decoration: none;
}

.ivana-home-infos .premium-banner-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f4f5;
  border: 1px solid rgba(17, 17, 17, 0.08);
}

.ivana-home-infos .premium-banner-icon svg {
  width: 24px;
  height: 24px;
}

.ivana-home-infos .h6 {
  font-size: 1rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

@media (max-width: 767px) {
  .ivana-home-hero .swiper-slide,
  .ivana-home-hero .gallery-image-container,
  .ivana-home-hero .slider-image {
    min-height: 68vh;
  }

  .ivana-home-hero .js-home-main-slider,
  .ivana-home-hero .js-home-mobile-slider,
  .ivana-home-infos .js-informative-banners-container {
    border-radius: 24px;
  }

  .ivana-home-hero-copy {
    margin: 1rem !important;
    padding: 1.25rem !important;
  }

  .ivana-home-category-circle {
    width: 88px !important;
    height: 88px !important;
  }
}

.js-nav-desktop-color-container
  .js-nav-desktop-container.nav-desktop-grid[data-desktop-nav-secondary="false"][data-desktop-main-categories="true"] {
  grid-template-columns: auto auto !important;
  justify-content: center !important;
  column-gap: clamp(1rem, 2vw, 2.25rem) !important;
}

.js-nav-desktop-color-container .js-desktop-main-categories-col,
.js-nav-desktop-color-container .js-desktop-nav-col {
  width: auto !important;
  min-width: 0 !important;
}

.js-nav-desktop-color-container .js-desktop-nav-col {
  justify-self: center !important;
}

.js-nav-desktop-color-container .js-desktop-nav-col .js-nav-desktop,
.js-nav-desktop-color-container .js-desktop-nav-col .nav-desktop {
  width: auto !important;
}

.js-nav-desktop-color-container .js-nav-desktop-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 0.15rem !important;
}

.js-nav-desktop-color-container .js-nav-desktop-list > .js-desktop-nav-item,
.js-nav-desktop-color-container .js-nav-desktop-list > .nav-item,
.js-nav-desktop-color-container
  .js-desktop-main-categories-col
  > .js-desktop-nav-item,
.js-nav-desktop-color-container .js-desktop-main-categories-col > .nav-item {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.js-nav-desktop-color-container
  .js-desktop-main-categories-col
  .nav-item-container,
.js-nav-desktop-color-container .js-nav-desktop-list .nav-item-container {
  margin-right: 0 !important;
}

.js-nav-desktop-color-container .desktop-dropdown {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.js-nav-desktop-color-container .desktop-dropdown-container {
  justify-content: center !important;
}

@media (max-width: 1199px) {
  .js-nav-desktop-color-container
    .js-nav-desktop-container.nav-desktop-grid[data-desktop-nav-secondary="false"][data-desktop-main-categories="true"] {
    column-gap: 0.75rem !important;
  }

  .js-nav-desktop-color-container .js-nav-desktop-list {
    gap: 0 !important;
  }
}

.js-head-row {
  display: grid !important;
  grid-template-columns: auto minmax(320px, 1fr) auto !important;
  align-items: center !important;
  column-gap: clamp(1rem, 2.2vw, 2.5rem) !important;
}

.logo-container,
.search-container,
.utilities-container {
  align-self: center !important;
}

.search-container {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.utilities-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(0.75rem, 1.5vw, 1.5rem) !important;
  min-width: max-content;
}

.utilities-container a,
.utilities-container button,
.utilities-container .header-utility {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
}

.ivana-home-categories .container {
  overflow-x: visible !important;
}

.ivana-home-categories-row {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: clamp(1.5rem, 2.5vw, 3rem) clamp(1.25rem, 2vw, 2.25rem) !important;
  min-width: 0 !important;
  padding-bottom: 0 !important;
}

.ivana-home-categories .js-home-category {
  flex: 0 0 clamp(108px, 11vw, 160px) !important;
  max-width: clamp(108px, 11vw, 160px) !important;
}

.ivana-home-category-name {
  display: block !important;
  width: 100% !important;
  min-height: 2.8em;
  line-height: 1.35 !important;
  text-wrap: balance;
}

@media (max-width: 991px) {
  .js-head-row {
    grid-template-columns: auto 1fr auto !important;
    column-gap: 1rem !important;
  }

  .search-container {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .ivana-home-categories .container {
    overflow-x: auto !important;
  }

  .ivana-home-categories-row {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    min-width: max-content !important;
    padding-bottom: 0.5rem !important;
  }

  .ivana-home-categories .js-home-category {
    flex: 0 0 96px !important;
    max-width: 96px !important;
  }

  .ivana-home-category-name {
    min-height: 3.2em;
    font-size: 0.68rem !important;
  }
}

.js-head-main .js-head-row.head-row {
  grid-template-columns: minmax(150px, 1fr) minmax(420px, 640px) minmax(
      240px,
      1fr
    ) !important;
  min-height: 92px;
}

.js-head-main .logo-container {
  display: flex !important;
  align-items: center !important;
  justify-self: start !important;
}

.js-head-main .logo-container h1,
.js-head-main .logo-container a {
  display: flex !important;
  align-items: center !important;
}

.js-head-main .search-container {
  justify-self: center !important;
}

.js-head-main .utilities-container {
  justify-self: end !important;
}

.js-head-main .utilities-container > * {
  display: flex;
  align-items: center;
}

.js-head-main .header-utility {
  min-height: 44px;
  padding: 0.25rem 0.1rem;
}

.js-head-main .utility-text {
  line-height: 1.15 !important;
}

.js-head-main .js-header-utility-text-cart {
  row-gap: 0.1rem !important;
  align-items: flex-start !important;
}

.js-head-main .js-header-utility-text-cart .font-weight-bold,
.js-head-main .js-header-utility-text-cart .js-cart-widget-total {
  white-space: nowrap;
}

.js-nav-desktop-color-container .js-nav-desktop-container.nav-desktop-grid {
  align-items: center !important;
}

.js-nav-desktop-color-container .js-desktop-main-categories-col,
.js-nav-desktop-color-container .js-desktop-nav-col,
.js-nav-desktop-color-container .js-desktop-secondary-nav-col {
  display: flex !important;
  align-items: center !important;
}

.js-nav-desktop-color-container .js-desktop-nav-col {
  justify-content: center !important;
}

.js-nav-desktop-color-container .js-desktop-main-categories-col {
  justify-content: flex-end !important;
}

@media (max-width: 1199px) {
  .js-head-main .js-head-row.head-row {
    grid-template-columns: minmax(132px, 1fr) minmax(320px, 1fr) minmax(
        220px,
        1fr
      ) !important;
    min-height: 82px;
  }
}

@media (max-width: 991px) {
  .js-head-main .js-head-row.head-row {
    grid-template-columns: auto minmax(220px, 1fr) auto !important;
    min-height: 72px;
  }
}

.ivana-footer {
  background: var(--brand) !important;
  color: #fff !important;
  padding-top: clamp(3rem, 6vw, 5rem) !important;
}

.ivana-footer .container {
  max-width: 1440px !important;
}

.ivana-footer-main {
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}

.ivana-footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) repeat(2, minmax(160px, 0.8fr));
  gap: clamp(2rem, 4vw, 4rem);
}

.ivana-footer-grid.ivana-footer-grid-news {
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 0.7fr) minmax(
      160px,
      0.7fr
    ) minmax(280px, 1.2fr);
}

.ivana-footer-col {
  min-width: 0;
}

.ivana-footer-logo {
  max-width: 180px;
}

.ivana-footer-brand {
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.ivana-footer-title {
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.5rem !important;
}

.ivana-footer a,
.ivana-footer p,
.ivana-footer li,
.ivana-footer span,
.ivana-footer div {
  color: rgba(255, 255, 255, 0.88);
}

.ivana-footer a:hover {
  color: #fff !important;
}

.ivana-footer-social a {
  margin-right: 1rem !important;
  margin-bottom: 0 !important;
}

.ivana-footer-social svg {
  width: 20px;
  height: 20px;
}

.ivana-footer-about,
.ivana-footer-news-description {
  font-size: 0.92rem;
  line-height: 1.7;
}

.ivana-footer-contact-links .list,
.ivana-footer-col-nav .list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ivana-footer-contact-links li,
.ivana-footer-col-nav li {
  margin-bottom: 0.85rem !important;
}

.ivana-footer-col-nav a,
.ivana-footer-contact-links a,
.ivana-footer-contact-links li {
  font-size: 0.9rem;
  font-weight: 500;
}

.ivana-footer-newsletter-form .input-append {
  display: flex;
  max-width: 480px;
  align-items: stretch;
}

.ivana-footer-newsletter-form .form-group {
  flex: 1 1 auto;
}

.ivana-footer-newsletter-form .ivana-footer-newsletter-input,
.ivana-footer-newsletter-form input[type="email"] {
  min-height: 48px !important;
  border-radius: 12px 0 0 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  background: transparent !important;
  color: #fff !important;
  padding: 0 1rem !important;
}

.ivana-footer-newsletter-form input::placeholder {
  color: rgba(255, 255, 255, 0.72) !important;
}

.ivana-footer-newsletter-form .ivana-footer-newsletter-submit,
.ivana-footer-newsletter-form input[type="submit"] {
  min-height: 48px !important;
  border-radius: 0 12px 12px 0 !important;
  background: #fff !important;
  color: var(--brand) !important;
  border: 0 !important;
  padding: 0 1.5rem !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

.ivana-footer-payments-row {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
  background: rgba(255, 255, 255, 0.05);
}

.ivana-footer .footer-payments-shipping-container {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-bottom: 1.5rem;
}

.ivana-footer .footer-payments-shipping-container img,
.ivana-footer .footer-payments-shipping-container svg {
  filter: grayscale(1);
  opacity: 0.95;
}

.ivana-footer .footer-payments-shipping-container span,
.ivana-footer .footer-legal-container,
.ivana-footer .footer-legal-container a {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.72rem !important;
}

.ivana-footer .footer-legal-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ivana-footer .btn-link {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.ivana-home-products .js-products-sale-grid,
.ivana-home-products .js-products-featured-grid,
.ivana-home-products .js-products-new-grid {
  row-gap: 1.25rem !important;
}

@media (min-width: 1200px) {
  .ivana-home-products .js-products-sale-grid.grid,
  .ivana-home-products .js-products-featured-grid.grid,
  .ivana-home-products .js-products-new-grid.grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  .ivana-footer-grid,
  .ivana-footer-grid.ivana-footer-grid-news {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ivana-footer-col-newsletter {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .ivana-footer-grid,
  .ivana-footer-grid.ivana-footer-grid-news {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .ivana-footer-newsletter-form .input-append {
    flex-direction: column;
    gap: 0.75rem;
  }

  .ivana-footer-newsletter-form .ivana-footer-newsletter-input,
  .ivana-footer-newsletter-form input[type="email"],
  .ivana-footer-newsletter-form .ivana-footer-newsletter-submit,
  .ivana-footer-newsletter-form input[type="submit"] {
    border-radius: 12px !important;
    width: 100%;
  }
}

.ivana-category-header {
  margin-bottom: clamp(1.5rem, 4vw, 3rem) !important;
}

.ivana-category-heading {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: end;
}

.ivana-category-copy {
  max-width: 46rem;
}

.ivana-category-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
}

.ivana-category-toolbar-label {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6b7280;
  white-space: nowrap;
}

.ivana-category-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

.ivana-category-layout.ivana-category-layout-filters {
  grid-template-columns: minmax(230px, 260px) minmax(0, 1fr);
}

.ivana-category-sidebar {
  position: sticky;
  top: 110px;
  align-self: start;
}

.ivana-category-filter-card,
.ivana-category-products {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.05);
}

.ivana-category-filter-card {
  padding: clamp(1.1rem, 2vw, 1.5rem);
}

.ivana-category-products {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.ivana-category-filter-card .h6,
.ivana-category-filter-card h2,
.ivana-category-filter-card h3 {
  text-align: left !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.25rem !important;
}

.ivana-category-filter-card .bottom-line {
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
}

.ivana-category-filter-card .list-unstyled {
  margin: 0;
  padding: 0;
}

.ivana-category-filter-card .list-unstyled li {
  margin-bottom: 0.75rem !important;
}

.ivana-category-filter-card a,
.ivana-category-filter-card label,
.ivana-category-filter-card .font-small {
  color: #374151 !important;
}

.ivana-category-filter-card a:hover {
  color: var(--brand) !important;
}

.ivana-category-filter-card .chip {
  background: rgba(255, 20, 147, 0.08) !important;
  border: 1px solid rgba(255, 20, 147, 0.18) !important;
  color: var(--brand) !important;
  border-radius: 999px !important;
  padding: 0.45rem 0.8rem !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
}

.ivana-category-filter-card .chip-remove-icon {
  color: currentColor !important;
}

.ivana-category-filter-card .btn-link {
  color: #111827 !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.ivana-category-filter-card .price-filter-container {
  padding-top: 0.25rem !important;
}

.ivana-category-filter-card input:not([type="checkbox"]):not([type="radio"]),
.ivana-category-filter-card select {
  min-height: 44px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.ivana-category-filter-card .price-filter-btn,
.ivana-category-filter-card .btn-default {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
  background: #111827 !important;
  color: #fff !important;
}

.ivana-category-content {
  min-width: 0;
}

.ivana-category-products .js-product-table {
  gap: clamp(1rem, 1.7vw, 1.5rem) !important;
}

.ivana-category-products [data-component="filter.message"] {
  padding: clamp(3rem, 6vw, 5rem) 1rem !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff7fb 100%);
  border: 1px solid rgba(17, 17, 17, 0.06);
  border-radius: 22px;
  color: #6b7280 !important;
  font-size: 1rem !important;
}

.ivana-category-shell .category-controls {
  margin: 0 0 1.25rem !important;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(17, 17, 17, 0.06);
  overflow: hidden;
}

.ivana-category-shell .category-controls.top-line,
.ivana-category-shell .category-controls.bottom-line {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.ivana-category-shell .category-controls button {
  min-height: 54px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: transparent;
}

.ivana-category-shell .category-controls .right-line {
  border-right: 1px solid rgba(17, 17, 17, 0.08) !important;
}

.ivana-category-products
  .d-flex.justify-content-center.align-items-center.my-4 {
  margin: 2rem 0 0 !important;
  padding-top: 1rem;
}

.ivana-category-products .d-inline-block.mx-2.px-1.font-big {
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
  letter-spacing: 0.08em;
}

.ivana-category-products .js-load-more .btn {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #fff !important;
  border-radius: 999px !important;
  min-height: 52px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0 1.75rem !important;
}

@media (max-width: 991px) {
  .ivana-category-heading {
    grid-template-columns: 1fr;
  }

  .ivana-category-toolbar {
    justify-content: flex-start;
  }

  .ivana-category-layout.ivana-category-layout-filters {
    grid-template-columns: 1fr;
  }

  .ivana-category-sidebar {
    position: static;
  }
}

@media (max-width: 767px) {
  .ivana-category-products,
  .ivana-category-filter-card {
    border-radius: 22px;
    padding: 1rem;
  }

  .ivana-category-shell .category-controls button {
    font-size: 0.68rem;
  }

  .ivana-category-toolbar-label {
    display: none;
  }
}

.ivana-product-form {
  display: block;
}

.ivana-product-shell .product-columns {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  gap: clamp(1.5rem, 3vw, 3rem);
}

.ivana-product-shell .product-images,
.ivana-product-shell .product-info {
  padding: clamp(1.25rem, 2.6vw, 2rem);
  min-width: 0;
}

.ivana-product-gallery .js-swiper-product {
  border-radius: 24px;
  overflow: hidden;
  background: #f7f7f8;
}

.ivana-product-gallery .slider-slide,
.ivana-product-gallery .js-product-slide-link {
  background: #f7f7f8;
}

.ivana-product-gallery .product-slider-image,
.ivana-product-gallery .js-product-slide-img {
  object-fit: cover !important;
  object-position: center top !important;
}

.ivana-product-gallery .swiper-fractions {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.ivana-product-thumbs {
  margin-top: 1rem;
}

.ivana-product-thumbs .product-thumb {
  display: block;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.1);
  background: #f7f7f8;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ivana-product-thumbs .product-thumb.selected {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.12);
}

.ivana-product-thumbs .product-thumb:hover {
  border-color: rgba(17, 17, 17, 0.22);
  transform: translateY(-1px);
}

.ivana-product-shell .js-product-name {
  margin-bottom: 1rem !important;
}

.ivana-product-shell .ivana-product-price-block {
  margin-bottom: 1.5rem !important;
}

.ivana-product-shell .ivana-product-price-block .price-compare {
  display: block !important;
  margin-bottom: 0.35rem !important;
  font-size: 0.92rem !important;
}

.ivana-product-shell .ivana-product-price-block .js-price-display {
  color: var(--brand) !important;
  font-size: clamp(2rem, 3.6vw, 3rem) !important;
  line-height: 1 !important;
}

.ivana-product-shell .ivana-product-price-block .text-accent,
.ivana-product-shell .ivana-product-discount-note,
.ivana-product-shell .ivana-product-payments-box {
  color: #16a34a !important;
}

.ivana-product-shell .ivana-product-payments-box {
  padding: 1rem 1.1rem !important;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.ivana-product-shell #btn-installments {
  display: inline-block;
  margin-top: 0.35rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.ivana-product-shell .ivana-product-purchase-form {
  margin-top: 1.5rem !important;
}

.ivana-product-shell .ivana-product-purchase-form .grid.grid-auto-1 {
  grid-template-columns: clamp(104px, 18vw, 132px) minmax(0, 1fr);
  gap: 0.9rem;
  align-items: end;
}

.ivana-product-shell .js-product-variants {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.25rem;
  margin-bottom: 1.75rem !important;
}

.ivana-product-shell .js-product-variants-group {
  min-width: 0;
  max-width: 100%;
}

.ivana-product-shell .js-product-variants .form-label,
.ivana-product-shell .js-product-variants label {
  display: block;
  margin-bottom: 0.75rem !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #111827 !important;
}

.ivana-product-shell .btn-variant {
  margin: 0 0.45rem 0.5rem 0 !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #374151 !important;
  min-width: 50px;
  min-height: 46px;
  padding: 0.15rem !important;
  max-width: 100%;
}

.ivana-product-shell .btn-variant .btn-variant-content {
  min-width: 44px;
  min-height: 42px;
  border-radius: 10px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.85rem;
  font-size: 0.9rem;
  font-weight: 700;
}

.ivana-product-shell .btn-variant.selected {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.12);
}

.ivana-product-shell .btn-variant.selected .btn-variant-content {
  color: var(--brand) !important;
}

.ivana-product-shell .btn-variant-color .btn-variant-content,
.ivana-product-shell .btn-variant-content-square {
  padding: 0 !important;
  min-width: 46px;
  width: 46px;
  min-height: 46px;
}

.ivana-product-shell .form-quantity-container .form-label {
  display: none !important;
}

.ivana-product-shell .form-quantity {
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 16px !important;
  overflow: hidden;
  background: #fff;
  min-height: 52px;
}

.ivana-product-shell .form-quantity-icon {
  width: 44px !important;
  min-height: 52px !important;
  background: transparent !important;
  color: #6b7280 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ivana-product-shell .js-quantity-input {
  min-height: 52px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

.ivana-product-shell .form-quantity-container .font-small.py-2.text-center {
  display: none;
}

.ivana-product-shell .free-shipping-message,
.ivana-product-shell .ivana-product-support-cards .grid.grid-auto-1,
.ivana-product-shell .ivana-product-fulfillment .list,
.ivana-product-shell .ivana-product-fulfillment .js-shipping-calculator,
.ivana-product-shell .ivana-product-fulfillment [class*="branch"] {
  border-radius: 20px !important;
  border: 1px solid rgba(17, 17, 17, 0.08) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%) !important;
  padding: 1rem !important;
  box-shadow: none !important;
}

.ivana-product-shell .free-shipping-message {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap;
}

.ivana-product-shell .ivana-product-support-cards .icon-banner,
.ivana-product-shell .ivana-product-fulfillment .icon-banner {
  width: 40px;
}

.ivana-product-shell .ivana-product-support-cards .icon-text,
.ivana-product-shell .ivana-product-fulfillment .icon-text {
  color: #4b5563;
}

.ivana-product-shell .ivana-product-description-card {
  margin-top: clamp(2rem, 4vw, 3rem) !important;
}

.ivana-product-shell .ivana-product-description-title {
  text-align: left !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 1.25rem !important;
}

.ivana-product-shell .ivana-product-description-card .user-content,
.ivana-product-shell .ivana-product-description-card .user-content p,
.ivana-product-shell .ivana-product-description-card .user-content li {
  color: #4b5563;
  line-height: 1.8;
}

.ivana-product-description-social {
  padding-top: 1rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.ivana-product-description-social .social-share {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ivana-product-description-social .social-share-button {
  margin-right: 0 !important;
  color: #6b7280 !important;
}

.ivana-product-related .container {
  max-width: 1440px !important;
}

.ivana-product-related .h5,
.ivana-product-related h2,
.ivana-product-related h3 {
  text-align: center !important;
  font-size: clamp(1.2rem, 2.2vw, 1.8rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 2rem !important;
}

@media (max-width: 991px) {
  .ivana-product-shell .product-columns {
    grid-template-columns: 1fr;
  }

  .ivana-product-shell .product-images {
    position: static;
  }

  .ivana-product-shell .product-images,
  .ivana-product-shell .product-info {
    padding: 1.25rem;
  }

  .ivana-product-shell .ivana-product-purchase-form .grid.grid-auto-1 {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .ivana-product-shell .js-product-variants {
    gap: 0.85rem 1rem;
  }

  .ivana-product-shell .btn-variant {
    margin-right: 0.35rem !important;
    margin-bottom: 0.35rem !important;
  }

  .ivana-product-shell .form-quantity {
    min-height: 48px;
  }

  .ivana-product-shell .form-quantity-icon,
  .ivana-product-shell .js-quantity-input {
    min-height: 48px !important;
  }
}

@media (max-width: 767px) {
  .ivana-product-shell .product-images,
  .ivana-product-shell .product-info,
  .ivana-product-shell .js-product-description,
  .ivana-product-shell .product-description {
    padding: 1rem !important;
  }

  .ivana-product-shell .ivana-product-purchase-form .grid.grid-auto-1 {
    grid-template-columns: 1fr;
  }

  .ivana-product-shell .js-product-name {
    font-size: clamp(1.6rem, 8vw, 2.3rem) !important;
  }

  .ivana-product-shell .ivana-product-price-block .js-price-display {
    font-size: clamp(1.65rem, 8vw, 2.2rem) !important;
  }

  .ivana-product-gallery .swiper-fractions {
    right: 12px;
    bottom: 12px;
    font-size: 0.66rem;
  }

  .ivana-product-thumbs .product-thumb {
    border-radius: 14px;
  }

  .ivana-product-shell .btn-variant .btn-variant-content {
    min-width: 40px;
    min-height: 40px;
    font-size: 0.82rem;
  }

  .ivana-product-shell .btn-variant {
    min-width: 44px;
    min-height: 42px;
    margin-right: 0.3rem !important;
  }

  .ivana-product-shell .btn-variant-color .btn-variant-content,
  .ivana-product-shell .btn-variant-content-square {
    min-width: 40px;
    width: 40px;
    min-height: 40px;
  }

  .ivana-product-shell .form-quantity {
    min-height: 46px;
  }

  .ivana-product-shell .form-quantity-icon {
    width: 38px !important;
    min-height: 46px !important;
  }

  .ivana-product-shell .js-quantity-input {
    min-height: 46px !important;
    font-size: 0.9rem !important;
  }

  .ivana-product-shell .free-shipping-message,
  .ivana-product-shell .ivana-product-support-cards .grid.grid-auto-1,
  .ivana-product-shell .ivana-product-fulfillment .list,
  .ivana-product-shell .ivana-product-fulfillment .js-shipping-calculator,
  .ivana-product-shell .ivana-product-fulfillment [class*="branch"] {
    padding: 0.85rem !important;
  }
}
.ivana-cart-intro {
  max-width: 42rem;
  color: #52525b;
  font-size: 1rem;
  line-height: 1.7;
}

.ivana-cart-shell .page-header.ivana-page-hero {
  margin-bottom: 1rem !important;
}

.ivana-cart-shell .cart-page-products,
.ivana-cart-shell .cart-page-summary {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.ivana-cart-shell .ivana-cart-table-header {
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
}

.ivana-cart-shell .cart-page-table-header-totals {
  display: grid;
  grid-template-columns: 118px 92px 118px;
  gap: 1rem;
  justify-items: end;
}

.ivana-cart-shell .ivana-cart-list {
  margin-bottom: 0 !important;
}

.ivana-cart-shell .cart-page-item {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  padding: 1.5rem 0;
  margin-bottom: 0 !important;
}

.ivana-cart-shell .cart-item-image-container {
  width: 100%;
  max-width: 104px;
}

.ivana-cart-shell .cart-item-image {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: #f7f7f8;
}

.ivana-cart-shell .cart-item-info-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1rem 1.5rem;
  align-items: center;
}

.ivana-cart-shell .cart-item-product-info {
  min-width: 0;
}

.ivana-cart-shell .cart-item-name {
  display: inline-block;
  font-size: 0.96rem !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.ivana-cart-shell .cart-item-variant {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.72rem !important;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ivana-cart-shell .cart-item-label,
.ivana-cart-shell .cart-item-small-label {
  font-size: 0.68rem !important;
}

.ivana-cart-shell .cart-item-totals-container {
  display: grid;
  grid-template-columns: 118px 92px 118px;
  gap: 1rem;
  align-items: center;
}

.ivana-cart-shell .cart-item-quantity,
.ivana-cart-shell .cart-item-unit-price,
.ivana-cart-shell .cart-item-subtotal {
  min-width: 0;
}

.ivana-cart-shell .cart-item-unit-price,
.ivana-cart-shell .cart-item-subtotal {
  text-align: right;
}

.ivana-cart-shell .cart-item-subtotal.text-md-left,
.ivana-cart-shell .cart-item-unit-price.d-none.d-md-block {
  text-align: right !important;
}

.ivana-cart-shell .cart-item-delete.text-right {
  text-align: right !important;
}

.ivana-cart-shell .js-cart-item-unit-price,
.ivana-cart-shell .js-cart-item-subtotal {
  font-size: 1rem;
  font-weight: 800 !important;
  color: #111827 !important;
}

.ivana-cart-shell .cart-item-delete .btn-link,
.ivana-cart-shell .cart-item-delete-button {
  color: #6b7280 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ivana-cart-shell .cart-item-delete .btn-link:hover,
.ivana-cart-shell .cart-item-delete-button:hover {
  color: var(--brand) !important;
}

.ivana-cart-shell .cart-item-quantity .form-quantity.small {
  min-height: 46px;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff;
}

.ivana-cart-shell .cart-item-quantity .icon-30px {
  width: 36px !important;
  min-height: 46px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ivana-cart-shell .cart-quantity-input {
  min-height: 46px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.ivana-cart-shell .cart-page-fulfillment {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.ivana-cart-shell .cart-fulfillment-info,
.ivana-cart-shell #cart-shipping-container,
.ivana-cart-shell .js-shipping-method-unavailable {
  border-radius: 20px !important;
}

.ivana-cart-shell .cart-page-summary {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ivana-cart-summary-sticky {
  background: linear-gradient(180deg, #fafafa 0%, #ffffff 100%);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 24px 80px rgba(17, 17, 17, 0.05);
}

.ivana-cart-summary-head {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.ivana-cart-summary-title {
  text-align: left !important;
  font-size: 1.4rem !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 0.5rem !important;
}

.ivana-cart-summary-copy {
  color: #6b7280;
  font-size: 0.92rem;
  line-height: 1.6;
}

.ivana-cart-summary-lines {
  padding-top: 0.75rem;
}

.ivana-cart-summary-sticky .shipping-rest {
  margin-bottom: 1rem !important;
}

.ivana-cart-total-row {
  padding: 0.3rem 0;
  font-size: 0.96rem;
  align-items: start;
}

.ivana-cart-total-row > span:first-child {
  color: #6b7280;
}

.ivana-cart-total-row > span:last-child {
  font-weight: 700;
  color: #111827;
}

.ivana-cart-grand-total {
  margin-top: 1rem !important;
  padding-top: 1rem;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.ivana-cart-grand-total > span:first-child {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #111827;
  font-weight: 800;
}

.ivana-cart-grand-total .js-cart-total {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1;
  color: var(--brand);
  font-weight: 800;
}

.ivana-cart-checkout-btn {
  min-height: 56px !important;
  letter-spacing: 0.16em !important;
}

.ivana-cart-continue-wrap {
  margin-top: 0.5rem;
}

.ivana-cart-continue-link {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6b7280 !important;
}

.ivana-cart-continue-link:hover {
  color: var(--brand) !important;
}

@media (max-width: 991px) {
  .ivana-cart-shell .ivana-cart-table-header,
  .ivana-cart-shell .cart-page-item,
  .ivana-cart-shell .cart-item-info-container,
  .ivana-cart-shell .cart-item-totals-container {
    grid-template-columns: 1fr;
  }

  .ivana-cart-shell .cart-page-item {
    gap: 1rem;
  }

  .ivana-cart-shell .cart-item-image-container {
    max-width: 88px;
  }

  .ivana-cart-shell .cart-item-totals-container {
    gap: 0.85rem;
  }

  .ivana-cart-shell .cart-item-quantity,
  .ivana-cart-shell .cart-item-unit-price,
  .ivana-cart-shell .cart-item-subtotal,
  .ivana-cart-shell .cart-item-delete.text-right {
    text-align: left !important;
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .ivana-cart-summary-sticky,
  .ivana-cart-shell .cart-page-products {
    border-radius: 22px !important;
    padding: 1rem !important;
  }

  .ivana-cart-intro {
    font-size: 0.92rem;
  }

  .ivana-cart-shell .cart-item-name {
    font-size: 0.9rem !important;
  }
}

/* =============================================
   PRODUCT CARD — Estilo MercadoLibre
   ============================================= */

div.js-product-item-private.product-item.ivana-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

div.js-product-item-private.product-item.ivana-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

/* Imagen */
div.js-product-item-private.product-item.ivana-card
  .js-product-item-image-container-private.product-item-image-container {
  border-radius: 0 !important;
  overflow: hidden;
  background: #f5f5f5;
}

div.js-product-item-private.product-item.ivana-card
  .js-product-item-image-private.product-item-image {
  object-fit: cover !important;
  object-position: center top !important;
}

/* Ocultar overlays residuales */
div.js-product-item-private.product-item.ivana-card .product-discount-overlay,
div.js-product-item-private.product-item.ivana-card .product-ver-overlay {
  display: none !important;
}

/* Zona de información */
div.js-product-item-private.product-item.ivana-card
  .product-item-information.ivana-card-info.d-flex.flex-column.pt-3.pb-2 {
  padding: 20px !important;
  gap: 0 !important;
}

/* Nombre del producto */
div.js-product-item-private.product-item.ivana-card
  .js-item-name.product-item-name.ivana-card-name {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: #333 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 8px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Contenedor de precios */
div.js-product-item-private.product-item.ivana-card
  .product-item-price-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 0 !important;
  margin-bottom: 2px !important;
}

/* Precio tachado (compare) */
div.js-product-item-private.product-item.ivana-card
  span.js-compare-price-display.product-item-price-compare {
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  color: #999 !important;
  text-decoration: line-through !important;
  order: -1 !important;
  display: inline !important;
  margin-bottom: 0 !important;
  margin-right: 6px !important;
}

/* Precio principal */
div.js-product-item-private.product-item.ivana-card
  span.js-price-display.product-item-price {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: #333 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

/* Badge de descuento inline */
div.js-product-item-private.product-item.ivana-card span.product-item-discount {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #00a650 !important;
  margin-left: 8px !important;
  white-space: nowrap;
}

/* Cuotas — estilo ML verde */
div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments,
div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments
  span,
div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments
  div,
div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments
  .js-max-installments,
div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments
  .js-installment-price,
div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments
  .js-installment-amount {
  color: #00a650 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
}

div.js-product-item-private.product-item.ivana-card
  .js-max-installments-container.ivana-card-installments {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

/* Precio con descuento por transferencia */
div.js-product-item-private.product-item.ivana-card
  .js-payment-discount-price-product-container.payment-discount-price-product-container {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #00a650 !important;
  margin-top: 4px !important;
  display: block !important;
  white-space: normal !important;
  word-spacing: 0.15em !important;
}

div.js-product-item-private.product-item.ivana-card
  .js-payment-discount-price-product-container.payment-discount-price-product-container
  span {
  color: #00a650 !important;
  font-weight: 600 !important;
  display: inline !important;
  white-space: normal !important;
}

/* Stock y últimas unidades */
div.js-product-item-private.product-item.ivana-card div.text-stock {
  font-size: 0.75rem !important;
  color: #f73 !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
}

/* Ocultar botón quick shop para look limpio ML */
div.js-product-item-private.product-item.ivana-card
  .product-item-quick-shop-container {
  display: none !important;
}

/* Labels (envío gratis, sin stock) */
div.js-product-item-private.product-item.ivana-card .labels.product-labels {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
}

div.js-product-item-private.product-item.ivana-card
  .labels.product-labels
  .shipping-label {
  background: #00a650 !important;
  color: #fff !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* Color variants */
div.js-product-item-private.product-item.ivana-card
  .product-item-colors-container {
  margin-bottom: 4px !important;
}

/* Labels de oferta/promoción en la info */
div.js-product-item-private.product-item.ivana-card .labels.order-first {
  margin-bottom: 0 !important;
}

div.js-product-item-private.product-item.ivana-card .label-accent {
  display: none !important;
}

/* Responsive mobile */
@media (max-width: 767px) {
  div.js-product-item-private.product-item.ivana-card
    span.js-price-display.product-item-price {
    font-size: 1.25rem !important;
  }

  div.js-product-item-private.product-item.ivana-card
    .product-item-information.ivana-card-info.d-flex.flex-column.pt-3.pb-2 {
    padding: 12px 16px 14px !important;
  }

  div.js-product-item-private.product-item.ivana-card
    .js-item-name.product-item-name.ivana-card-name {
    font-size: 0.8125rem !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   2. BASE — Fundaciones visuales compartidas
   ═══════════════════════════════════════════════════════════════════ */
/* Shared visual foundations for the active Ivana theme. */
/* Nota: variables :root definidas en style-tokens.tpl */

body,
button,
input,
select,
textarea {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: var(--ivana-text) !important;
}

body {
  background: #ffffff !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: var(--ivana-text) !important;
  letter-spacing: -0.045em !important;
  font-weight: 600 !important;
}

p,
li,
label,
small,
.font-small,
.font-medium {
  color: inherit;
}

.container {
  max-width: min(100%, var(--ivana-content-max-width)) !important;
  padding-left: clamp(1rem, 3vw, 2.5rem) !important;
  padding-right: clamp(1rem, 3vw, 2.5rem) !important;
}

.section-home {
  padding-top: clamp(1.5rem, 3vw, 3rem) !important;
  padding-bottom: clamp(1.5rem, 3vw, 3rem) !important;
}

.ivana-home-shell,
.ivana-category-content,
.ivana-category-products,
.ivana-product-shell .product-images,
.ivana-product-shell .product-info,
.ivana-header-layout .head-slot {
  min-width: 0;
}

.ivana-page-hero,
.ivana-category-products,
.ivana-category-filter-card,
.ivana-product-shell .product-images,
.ivana-product-shell .product-info,
.ivana-product-shell .js-product-description,
.ivana-product-shell .product-description,
.ivana-cart-shell .cart-page-products,
.ivana-cart-shell .cart-page-summary,
.ivana-contact-card,
.ivana-contact-form-card,
.ivana-empty-state {
  border-radius: var(--ivana-shell-radius);
}

.ivana-home-slot-promotional,
.ivana-home-slot-news_banners,
.ivana-home-slot-sale {
  opacity: 0.92;
}

.ivana-home-section-head {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

.ivana-home-section-kicker,
.ivana-kicker,
.ivana-category-kicker {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: var(--ivana-text-soft) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

.ivana-home-section-title,
.ivana-page-title,
.ivana-category-title,
.ivana-product-title,
.ivana-cart-shell h1,
.ivana-contact-shell h1 {
  font-size: clamp(2.4rem, 5vw, 4.3rem) !important;
  line-height: 0.92 !important;
  text-align: left !important;
  margin-bottom: 0 !important;
}

.ivana-home-section-divider {
  width: 72px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(244, 37, 106, 0), rgba(244, 37, 106, 0.95), rgba(244, 37, 106, 0));
  margin: 0.85rem auto 0;
}

.ivana-home-hero {
  padding-top: 0.5rem !important;
}

.ivana-home-hero .swiper-container,
.ivana-home-hero .swiper-slide {
  border-radius: var(--ivana-shell-radius) !important;
  overflow: hidden;
}

.ivana-home-hero-copy {
  max-width: min(100%, 36rem);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.76));
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 28px;
  box-shadow: var(--ivana-shadow-soft);
  backdrop-filter: blur(16px);
  padding: clamp(1.4rem, 4vw, 2.8rem) !important;
  margin: clamp(1rem, 4vw, 2.5rem) !important;
}

.ivana-home-hero-title {
  font-size: clamp(2.9rem, 6vw, 5.2rem) !important;
  line-height: 0.9 !important;
  text-align: left !important;
  margin-bottom: 0.8rem !important;
}

.ivana-home-hero-description {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--ivana-text-soft) !important;
  max-width: 32rem;
}

.ivana-home-hero-button,
.ivana-home-products-link,
.ivana-home-newsletter-copy .btn-primary,
.ivana-contact-form-card input[type="submit"],
.ivana-cart-shell .btn-primary,
.ivana-product-shell .btn-primary {
  border-radius: 999px !important;
  min-height: 52px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.ivana-home-products-link {
  background: transparent !important;
  border: 1px solid #111111 !important;
  color: #111111 !important;
}

.ivana-home-products-link:hover {
  background: #111111 !important;
  color: #ffffff !important;
}

.ivana-home-categories {
  padding-top: clamp(0.75rem, 2vw, 1.25rem) !important;
}

.ivana-home-categories-row {
  gap: clamp(1rem, 2.2vw, 1.5rem) !important;
}

.js-home-category {
  min-width: 106px;
}

.ivana-home-category-circle,
.home-category-image-border {
  background: linear-gradient(180deg, #ffffff, #fff5f8) !important;
  border: 1px solid var(--ivana-border) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

.ivana-home-category-name {
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  line-height: 1.5 !important;
  color: var(--ivana-text) !important;
}

.ivana-home-infos .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ivana-home-info-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid var(--ivana-border);
  border-radius: var(--ivana-card-radius);
  box-shadow: var(--ivana-shadow-card);
  padding: 1.35rem;
  text-align: left !important;
}

.ivana-home-info-link {
  color: inherit !important;
  display: block;
  height: 100%;
  text-decoration: none !important;
}

.ivana-home-info-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(244, 37, 106, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.ivana-home-info-title {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.ivana-home-info-description {
  color: var(--ivana-text-soft) !important;
  line-height: 1.65 !important;
}

.ivana-home-newsletter-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.96fr);
  align-items: stretch;
  background: linear-gradient(135deg, #fff6fa 0%, #ffffff 58%);
  border: 1px solid var(--ivana-border);
  border-radius: var(--ivana-shell-radius);
  overflow: hidden;
  box-shadow: var(--ivana-shadow-soft);
}

.ivana-home-newsletter-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ivana-home-newsletter-copy h2 {
  text-align: left !important;
  margin-bottom: 0.65rem !important;
}

.ivana-home-newsletter-copy p {
  color: var(--ivana-text-soft) !important;
  line-height: 1.7 !important;
}

.ivana-page-shell,
.ivana-contact-shell,
.ivana-cart-shell,
.ivana-product-shell,
.ivana-category-shell {
  padding-bottom: clamp(2rem, 4vw, 4.5rem);
}

.ivana-page-hero {
  background: linear-gradient(135deg, rgba(255, 244, 248, 0.96), #ffffff 62%);
  border: 1px solid var(--ivana-border);
  box-shadow: var(--ivana-shadow-soft);
  padding: clamp(1.5rem, 4vw, 3rem) !important;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.ivana-page-header-copy {
  max-width: 52rem;
}

.ivana-contact-grid,
.ivana-cart-shell .cart-page-content {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.ivana-contact-grid {
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  align-items: start;
}

.ivana-contact-card,
.ivana-contact-form-card,
.ivana-empty-state,
.ivana-cart-shell .cart-page-products,
.ivana-cart-shell .cart-page-summary {
  background: #ffffff;
  border: 1px solid var(--ivana-border);
  box-shadow: var(--ivana-shadow-card);
  padding: clamp(1.2rem, 3vw, 2rem);
}

.ivana-contact-form-card .form-control,
.ivana-contact-form-card textarea,
.ivana-footer-newsletter-input,
.ivana-home-newsletter-copy .form-control,
.ivana-home-newsletter-copy input[type="email"] {
  border-radius: 18px !important;
  border: 1px solid var(--ivana-border) !important;
  background: #ffffff !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

.ivana-empty-state p,
.ivana-contact-card p,
.ivana-contact-form-card p,
.ivana-page-shell .user-content,
.ivana-cart-intro {
  color: var(--ivana-text-soft) !important;
  line-height: 1.75 !important;
}

.ivana-footer {
  margin-top: clamp(3rem, 6vw, 6rem);
  background: #151417 !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

.ivana-footer-main {
  padding-top: clamp(3rem, 5vw, 5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.ivana-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 0.7fr)) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
}

.ivana-footer-title {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 1rem;
}

.ivana-footer-brand {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #ffffff !important;
  font-size: 2.1rem !important;
  line-height: 0.95 !important;
}

.ivana-footer a,
.ivana-footer p,
.ivana-footer li,
.footer-legal-container,
.footer-payments-shipping-container {
  color: rgba(255, 255, 255, 0.75) !important;
}

.ivana-footer a:hover {
  color: #ffffff !important;
}

.ivana-footer-payments-row {
  padding-bottom: 2.25rem;
}

.footer-legal-container {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 1.5rem;
}

@media (max-width: 767px) {
  .ivana-page-hero,
  .ivana-category-products,
  .ivana-category-filter-card,
  .ivana-product-shell .product-images,
  .ivana-product-shell .product-info,
  .ivana-product-shell .js-product-description,
  .ivana-product-shell .product-description,
  .ivana-cart-shell .cart-page-products,
  .ivana-cart-shell .cart-page-summary,
  .ivana-contact-card,
  .ivana-contact-form-card,
  .ivana-empty-state {
    border-radius: var(--ivana-card-radius-mobile);
  }
}


/* ═══════════════════════════════════════════════════════════════════
   3. HEADER — Barra de navegación y buscador
   ═══════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════
   IVANA HEADER — Diseño Fluido v4
   Usa variables de ivana-fluid-system.css. Sin breakpoints fijos
   para logo ni iconos — todo escala con clamp().
   ═══════════════════════════════════════════════════════════════════ */

/* ─── BARRA PROMO ─── */
.ivana-promo-bar {
  background: #111111 !important;
  color: #ffffff !important;
  text-align: center;
  padding: var(--fluid-space-xs, 0.5rem) var(--fluid-space-sm, 1rem) !important;
  font-size: var(--fluid-caption, 0.68rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
  white-space: normal;
  word-break: keep-all;
}

/* ─── HEADER PRINCIPAL ─── */
.js-head-main {
  background: rgba(255, 255, 255, 0.95) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.js-head-main .head-row,
.head-row {
  padding-top: var(--fluid-space-sm, 0.75rem) !important;
  padding-bottom: var(--fluid-space-sm, 0.75rem) !important;
  align-items: center !important;
}

/* ─── GRID DEL HEADER ─── */
.ivana-header-layout {
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(200px, 1fr) minmax(0, auto) !important;
  align-items: center !important;
  column-gap: clamp(0.75rem, 2vw, 2rem) !important;
  row-gap: var(--fluid-space-sm, 0.75rem) !important;
  width: 100% !important;
}

.ivana-header-layout .head-slot {
  min-width: 0 !important;
  max-width: 100%;
}

/* ─── LOGO FLUIDO (solución al bug de superposición) ─── */
.ivana-header-layout .head-slot-logo {
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

.ivana-logo-wrap {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ivana-logo-link {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* LOGO: Una sola regla fluida, sin media queries */
.logo-container img {
  max-height: var(--logo-height, clamp(40px, 3.5vw + 20px, 78px)) !important;
  max-width: var(--logo-max-width, clamp(120px, 15vw + 60px, 280px)) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.logo-container a:hover img {
  transform: scale(1.02);
}

/* ─── BUSCADOR FLUIDO ─── */
.ivana-header-layout .head-slot-search {
  width: 100% !important;
  justify-self: center !important;
}

.search-container {
  max-width: clamp(200px, 38vw, 680px) !important;
  width: 100% !important;
}

[class*="search-form"] input,
.search-container input {
  border-radius: 999px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  background: #ffffff !important;
  min-height: var(--search-height, clamp(40px, 2vw + 22px, 50px)) !important;
  font-size: var(--fluid-small, 0.85rem) !important;
  padding: 0 3.25rem 0 1.15rem !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

[class*="search-form"] input:focus,
.search-container input:focus {
  border-color: var(--brand, #FF1493) !important;
  box-shadow: 0 0 0 4px var(--brand-10, rgba(255,20,147,0.1)) !important;
}

[class*="search-form"] button {
  width: calc(var(--search-height, 40px) - 10px) !important;
  height: calc(var(--search-height, 40px) - 10px) !important;
  right: 6px !important;
  border-radius: 999px !important;
  background: var(--brand-10, rgba(255,20,147,0.1)) !important;
  color: #111111 !important;
  border: none !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

[class*="search-form"] button svg,
[class*="search-form"] button:before {
  width: var(--search-icon, 16px) !important;
  height: var(--search-icon, 16px) !important;
  opacity: 1 !important;
}

/* ─── UTILIDADES FLUIDAS ─── */
.ivana-header-layout .head-slot-utilities {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(0.3rem, 1vw, 0.75rem) !important;
}

.header-utility {
  align-items: center !important;
  gap: clamp(0.3rem, 0.5vw, 0.65rem) !important;
  color: #111111 !important;
  text-decoration: none !important;
}

.menu-container .header-utility,
.head-slot-utilities > .header-utility:not(.d-none),
.head-slot-utilities > span.header-utility,
.head-slot-utilities > span > .header-utility:not(.d-none) {
  display: inline-flex !important;
}

/* Iconos de utilidad: tamaño fluido */
.header-utility .js-header-utility-icon {
  width: var(--utility-size, clamp(34px, 2vw + 16px, 44px)) !important;
  height: var(--utility-size, clamp(34px, 2vw + 16px, 44px)) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(17, 17, 17, 0.1) !important;
  background: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.header-utility:hover .js-header-utility-icon {
  border-color: rgba(244, 37, 106, 0.45) !important;
  transform: translateY(-1px);
}

.utility-icon {
  width: var(--utility-icon, clamp(16px, 0.6vw + 12px, 20px)) !important;
  height: var(--utility-icon, clamp(16px, 0.6vw + 12px, 20px)) !important;
}

.utility-text {
  font-size: var(--fluid-caption, 0.7rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

.js-cart-widget-total {
  color: rgba(17, 17, 17, 0.62) !important;
  font-size: var(--fluid-small, 0.8rem) !important;
}

.js-cart-widget-amount.badge {
  background: var(--brand, #FF1493) !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  font-size: 0.62rem !important;
  min-width: 22px !important;
}

/* ─── OCULTAR CATEGORÍAS NAV ─── */
.js-desktop-main-categories-col,
.js-main-categories-container {
  display: none !important;
}

/* ─── NAVEGACIÓN FLUIDA ─── */
.nav-desktop-container {
  border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
  padding: 0.9rem 0 1rem !important;
}

.js-nav-desktop-list,
.nav-desktop-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(0.45rem, 2vw, 1.4rem) !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nav-desktop-list > .nav-item {
  padding: 0 !important;
}

.js-main-menu a,
[class*="nav-link"],
[class*="desktop-nav"] a {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  font-size: var(--fluid-caption, 0.72rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(17, 17, 17, 0.72) !important;
  padding: 0.2rem 0 !important;
  position: relative;
  transition: color 0.2s ease !important;
}

.js-main-menu a:hover,
[class*="nav-link"]:hover,
[class*="desktop-nav"] a:hover {
  color: #111111 !important;
}

.js-main-menu a:after,
[class*="nav-link"]:after,
[class*="desktop-nav"] a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.3rem;
  height: 1px;
  background: rgba(244, 37, 106, 0.85);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.js-main-menu a:hover:after,
[class*="nav-link"]:hover:after,
[class*="desktop-nav"] a:hover:after {
  transform: scaleX(1);
}

/* ─── MOBILE: Solo layout grid, NO tamaños fijos ─── */
@media (max-width: 767px) {
  .ivana-header-layout {
    grid-template-columns: auto 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: var(--fluid-space-sm, 0.75rem) !important;
  }

  .ivana-header-layout .head-slot-menu {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
  }

  .ivana-header-layout .head-slot-logo {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    justify-self: center !important;
  }

  .ivana-header-layout .head-slot-utilities {
    grid-column: 3 / 4 !important;
    grid-row: 1 / 2 !important;
  }

  .head-slot-utilities > a.header-utility.d-none,
  .head-slot-utilities > a.header-utility.d-md-flex,
  .head-slot-utilities > span > a.header-utility.d-none,
  .head-slot-utilities > span > a.header-utility.d-md-flex {
    display: none !important;
  }

  .ivana-header-layout .head-slot-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 / 3 !important;
  }

  .search-container {
    max-width: 100% !important;
    margin-top: 0 !important;
  }

  /* Textos de utilidad ocultos en mobile (paradigma app: solo iconos) */
  .utility-text,
  .js-header-utility-text-cart,
  .js-cart-widget-total {
    display: none !important;
  }

  .head-row.container {
    padding-left: var(--fluid-gutter, 12px) !important;
    padding-right: var(--fluid-gutter, 12px) !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   4. CARDS — Grilla de productos y tarjetas
   ═══════════════════════════════════════════════════════════════════ */
/* Product card and product grid refinements. */

.ivana-category-grid,
.ivana-category-products .js-product-table,
.js-products-featured-grid,
.js-products-new-grid,
.js-products-sale-grid {
  gap: clamp(1rem, 2vw, 1.45rem) !important;
}

.js-product-list > li,
.product-list > li,
.js-product-table > li {
  display: flex !important;
  flex-direction: column !important;
}

div.js-product-item-private.product-item.ivana-card,
.js-item-product.ivana-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.09) !important;
  border-radius: var(--ivana-card-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--ivana-shadow-card) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

div.js-product-item-private.product-item.ivana-card:hover,
.js-item-product.ivana-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(17, 17, 17, 0.1) !important;
}

.js-item-product .product-item-image-container,
.js-item-product .js-product-item-image-container {
  aspect-ratio: 0.78;
  background: #f7f4f5 !important;
  overflow: hidden !important;
}

.js-item-product .product-item-image-container img,
.js-item-product .js-product-item-image-container img,
.js-item-product .js-product-item-image,
.js-item-product .product-item-image,
.js-item-product .img-absolute,
.js-item-product .img-absolute-centered-vertically {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.ivana-card-info,
.js-item-product .information {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
  padding: 1rem 1.05rem 1.15rem !important;
}

.ivana-card-name,
.js-item-product .item-name,
.js-item-product a[class*="name"],
.js-item-product [class*="item-name"] {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: #151417 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

div.js-product-item-private.product-item.ivana-card .product-item-price-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 0.35rem 0.55rem !important;
  margin-bottom: 0 !important;
}

div.js-product-item-private.product-item.ivana-card span.js-compare-price-display.product-item-price-compare,
.ivana-card .price-compare {
  order: 1 !important;
  flex-basis: 100% !important;
  margin: 0 !important;
  color: rgba(21, 20, 23, 0.46) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-decoration-thickness: 1px !important;
}

div.js-product-item-private.product-item.ivana-card span.js-price-display.product-item-price,
.ivana-card [class*="price"]:not([class*="compare"]) {
  color: #151417 !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

div.js-product-item-private.product-item.ivana-card .product-item-discount,
.ivana-card [class*="discount-rate"] {
  order: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: rgba(244, 37, 106, 0.1) !important;
  color: var(--accent-color) !important;
  font-size: 0.66rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  padding: 0.22rem 0.55rem !important;
  text-transform: uppercase !important;
}

.ivana-card-installments,
.ivana-card .custom-installments,
.ivana-card [class*="installments"] {
  color: var(--ivana-text-soft) !important;
  font-size: 0.73rem !important;
  line-height: 1.5 !important;
  margin-top: 0 !important;
}

.ivana-card .text-accent {
  color: var(--ivana-text-soft) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

.product-labels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem !important;
  margin-bottom: 0 !important;
}

.product-labels .label-accent,
.shipping-label,
.ivana-card [class*="label-no-stock"],
.ivana-card [class*="no-stock"] {
  border-radius: 999px !important;
  background: rgba(17, 17, 17, 0.06) !important;
  color: #151417 !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  padding: 0.28rem 0.55rem !important;
  text-transform: uppercase !important;
}

.ivana-card .text-stock,
.ivana-card .js-last-product,
.ivana-card .js-latest-products-available {
  color: var(--ivana-text-soft) !important;
  font-size: 0.72rem !important;
  font-style: normal !important;
}

.js-item-submit-container {
  margin-top: auto !important;
}

.ivana-card-secondary-action {
  background: transparent !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  border-radius: 999px !important;
  color: #151417 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.ivana-card-secondary-action:hover {
  background: #151417 !important;
  color: #ffffff !important;
}

.ivana-no-discount span.js-compare-price-display.product-item-price-compare {
  display: none !important;
}

@media (max-width: 767px) {
  div.js-product-item-private.product-item.ivana-card,
  .js-item-product.ivana-card {
    border-radius: var(--ivana-card-radius-mobile) !important;
  }

  .ivana-card-info,
  .js-item-product .information {
    padding: 0.9rem !important;
  }

  .ivana-card-name,
  .js-item-product .item-name,
  .js-item-product a[class*="name"],
  .js-item-product [class*="item-name"] {
    font-size: 0.86rem !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   5. PRODUCTO — Página de detalle de producto
   ═══════════════════════════════════════════════════════════════════ */
/* Product page system. */

.ivana-product-shell .container {
  max-width: min(100%, var(--ivana-content-max-width)) !important;
}

.ivana-product-shell .product-columns,
.ivana-product-shell .product-images,
.ivana-product-shell .product-info,
.ivana-product-shell .ivana-product-purchase-form {
  min-width: 0;
}

.ivana-product-shell .product-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: start;
}

.ivana-product-shell .product-images,
.ivana-product-shell .product-info {
  background: #ffffff;
  border: 1px solid var(--ivana-border);
  box-shadow: var(--ivana-shadow-soft);
  padding: clamp(1rem, 2.4vw, 2rem);
}

.ivana-product-shell .product-images {
  position: sticky;
  top: 130px;
}

.ivana-product-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0.25rem 0 1rem;
}

.ivana-product-meta-pill {
  background: var(--ivana-surface-soft);
  border: 1px solid var(--ivana-border);
  border-radius: 999px;
  color: var(--ivana-text-soft);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  padding: 0.4rem 0.7rem;
  text-transform: uppercase;
}

.ivana-product-title {
  text-align: left !important;
}

.ivana-product-price-block {
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  padding-bottom: 0.75rem;
}

.ivana-product-price-row {
  gap: 0.65rem 1rem;
}

.ivana-product-shell .js-price-display,
.ivana-product-shell [data-component="price.value"] {
  color: #151417 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 800 !important;
}

.ivana-product-shell .price-compare,
.ivana-product-shell [data-component="compare-price.value"] {
  color: rgba(21, 20, 23, 0.48) !important;
  font-size: 0.95rem !important;
}

.ivana-product-price-badge {
  background: rgba(244, 37, 106, 0.1) !important;
  border-radius: 999px !important;
  color: var(--accent-color) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  padding: 0.3rem 0.65rem !important;
  text-transform: uppercase !important;
}

.ivana-product-payments-box {
  border: 1px solid var(--ivana-border) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff, #fbf7f8) !important;
  padding: 1rem 1.1rem 1.15rem !important;
}

.ivana-product-selection-note {
  color: var(--ivana-text-soft) !important;
  font-size: 0.94rem !important;
  line-height: 1.7 !important;
  max-width: 34rem;
}

.ivana-variation-group {
  margin-bottom: 1.2rem !important;
}

.ivana-variation-label {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: var(--ivana-text-soft) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  margin-bottom: 0.65rem !important;
  text-transform: uppercase !important;
}

.ivana-variation-chip {
  border-radius: 999px !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  background: #ffffff !important;
  color: #151417 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  margin-right: 0.4rem !important;
  margin-bottom: 0.4rem !important;
  min-height: 40px !important;
  padding: 0.5rem 0.9rem !important;
}

.ivana-variation-chip.selected,
.ivana-variation-chip:hover {
  border-color: var(--accent-color) !important;
  background: rgba(244, 37, 106, 0.08) !important;
  color: var(--accent-color) !important;
}

.ivana-size-guide-link .btn-link {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.ivana-product-stock-note {
  background: var(--ivana-surface-soft);
  border: 1px solid var(--ivana-border);
  border-radius: 18px;
  color: var(--ivana-text-soft) !important;
  font-size: 0.8rem !important;
  line-height: 1.55 !important;
  padding: 0.75rem 0.9rem;
}

.ivana-product-shell .js-prod-submit-form,
.ivana-product-shell .btn-primary {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(17, 17, 17, 0.16) !important;
}

.ivana-product-shell .form-control,
.ivana-product-shell .form-select {
  border-radius: 18px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  background: #ffffff !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

.ivana-product-shell .free-shipping-message,
.ivana-product-shell .ivana-product-fulfillment .list,
.ivana-product-shell .ivana-product-fulfillment .js-shipping-calculator,
.ivana-product-shell .ivana-product-fulfillment [class*="branch"] {
  max-width: 100%;
}

.ivana-product-support-cards {
  display: grid;
  gap: 1rem;
}

.ivana-product-support-card {
  background: linear-gradient(180deg, #ffffff, #fbf7f8);
  border: 1px solid var(--ivana-border);
  border-radius: 22px;
  box-shadow: var(--ivana-shadow-card);
  padding: 1rem 1.1rem;
}

.ivana-product-support-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(244, 37, 106, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ivana-product-support-title {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: #151417 !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.ivana-product-support-description {
  color: var(--ivana-text-soft) !important;
  line-height: 1.6 !important;
}

.ivana-product-description-card {
  background: #ffffff;
  border: 1px solid var(--ivana-border);
  box-shadow: var(--ivana-shadow-card);
  padding: clamp(1.2rem, 3vw, 2rem);
}

.ivana-product-description-title {
  text-align: left !important;
  margin-bottom: 0 !important;
}

.ivana-product-description-summary {
  color: var(--ivana-text-soft) !important;
  line-height: 1.7 !important;
  max-width: 36rem;
}

.ivana-product-description-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, 0.8fr);
  gap: 1.5rem;
  align-items: start;
}

.ivana-product-description-copy {
  color: #151417 !important;
  line-height: 1.8 !important;
}

.ivana-product-description-aside {
  display: grid;
  gap: 1rem;
}

.ivana-product-detail-note {
  background: var(--ivana-surface-soft);
  border: 1px solid var(--ivana-border);
  border-radius: 22px;
  padding: 1rem 1.1rem;
}

.ivana-product-detail-note-title {
  font-family: "Manrope", var(--body-font), sans-serif !important;
  color: #151417 !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.ivana-product-detail-note p {
  color: var(--ivana-text-soft) !important;
  line-height: 1.65 !important;
}

.ivana-product-fulfillment .list,
.product-shipping-calculator,
.ivana-product-payment-details {
  background: #ffffff;
  border: 1px solid var(--ivana-border);
  border-radius: 22px;
  padding: 1rem !important;
}

@media (max-width: 991px) {
  .ivana-product-shell .product-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .ivana-product-shell .product-images {
    position: static;
  }

  .ivana-product-description-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .ivana-product-shell .product-images,
  .ivana-product-shell .product-info {
    padding: 1rem;
  }

  .ivana-product-selection-note {
    font-size: 0.88rem !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   6. CATEGORÍA — Listado y filtros de categoría
   ═══════════════════════════════════════════════════════════════════ */
/* Category and listing page layout. */

.ivana-category-shell .container {
  max-width: min(100%, var(--ivana-content-max-width)) !important;
}

.category-banner {
  border-radius: var(--ivana-shell-radius);
  overflow: hidden;
  box-shadow: var(--ivana-shadow-soft);
  margin-bottom: 1.75rem;
}

.category-banner img {
  width: 100%;
  aspect-ratio: 18 / 6;
  object-fit: cover;
}

.ivana-category-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
}

.ivana-category-copy {
  max-width: 54rem;
}

.ivana-category-title {
  text-align: left !important;
}

.ivana-category-meta {
  color: var(--ivana-text-soft) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  max-width: 38rem;
}

.ivana-category-count {
  color: var(--ivana-text-soft) !important;
  white-space: nowrap;
  align-self: end;
}

.ivana-category-toolbar {
  flex-wrap: wrap;
}

.ivana-sort-box {
  display: inline-flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 220px;
  padding: 0.95rem 1rem;
  border-radius: 18px;
  border: 1px solid var(--ivana-border);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: none;
}

.ivana-category-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.ivana-category-sidebar {
  min-width: 0;
}

.ivana-category-filter-card {
  position: sticky;
  top: 142px;
  background: linear-gradient(180deg, #ffffff, #fbf7f8);
  border: 1px solid var(--ivana-border);
  box-shadow: var(--ivana-shadow-card);
  padding: 1.2rem;
}

.ivana-category-content,
.ivana-category-products,
.ivana-category-grid {
  min-width: 0;
}

.ivana-category-products {
  background: #ffffff;
  border: 1px solid var(--ivana-border);
  box-shadow: var(--ivana-shadow-soft);
  padding: 1.15rem;
}

.ivana-category-products .js-product-table {
  min-width: 0;
}

@media (max-width: 991px) {
  .ivana-category-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .ivana-category-filter-card {
    position: static;
  }
}

@media (max-width: 767px) {
  .category-banner img {
    aspect-ratio: 4 / 5;
  }

  .ivana-category-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem;
  }

  .ivana-category-count {
    text-align: left !important;
  }

  .ivana-category-products {
    padding: 1rem;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   7. RESPONSIVE — Ajustes de layout para distintas resoluciones
   ═══════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════
   IVANA RESPONSIVE — Diseño Fluido v4
   Solo ajustes de layout grid que requieren media queries.
   Tamaños, tipografía y espaciado usan clamp() del fluid system.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── TABLET (≤991px): Columnas a stack ─── */
@media (max-width: 991px) {
  .ivana-page-hero,
  .ivana-category-header,
  .ivana-product-related .container,
  .ivana-footer .container,
  .ivana-home-newsletter-panel {
    max-width: 100%;
  }

  .ivana-home-newsletter-panel,
  .ivana-contact-grid,
  .ivana-footer-grid,
  .ivana-cart-shell .cart-page-content {
    grid-template-columns: minmax(0, 1fr);
  }

  .ivana-footer-col-newsletter {
    max-width: 34rem;
  }
}

/* ─── MOBILE (≤767px): Full-width y stack completo ─── */
@media (max-width: 767px) {
  /* Formularios y cajas full-width */
  .ivana-sort-box,
  .ivana-product-shell .ivana-product-payments-box,
  .ivana-footer-newsletter-form .input-append,
  .ivana-home-newsletter-copy .input-append {
    width: 100%;
  }

  .ivana-home-section-head,
  .ivana-page-header-copy {
    max-width: 100%;
  }

  /* Hero mobile: márgenes compactos */
  .ivana-home-hero-copy {
    margin: var(--fluid-space-sm, 0.85rem) !important;
    padding: var(--fluid-space-md, 1.2rem) !important;
  }

  /* Categorías: sin padding extra */
  .ivana-home-categories-row {
    padding-bottom: 0.25rem !important;
  }

  /* Info cards: padding compacto */
  .ivana-home-info-card {
    padding: var(--fluid-space-md, 1.1rem);
  }

  /* Contenedores internos: padding reducido */
  .ivana-cart-shell .cart-page-products,
  .ivana-cart-shell .cart-page-summary,
  .ivana-contact-card,
  .ivana-contact-form-card,
  .ivana-empty-state {
    padding: var(--fluid-space-md, 1rem);
  }

  /* Header mobile: grid reorganización */
  .js-head-main .head-row,
  .head-row {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: var(--fluid-space-xs, 8px) !important;
    width: 100% !important;
  }

  .menu-container {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
  }

  .logo-container,
  .logo-center .logo-container,
  .logo-md-left .logo-container {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    justify-self: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .utilities-container {
    grid-column: 3 / 4 !important;
    grid-row: 1 / 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(4px, 1vw, 10px) !important;
  }

  .search-container {
    grid-column: 1 / span 3 !important;
    grid-row: 2 / 3 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .js-search-form,
  [class*="search-form"] {
    width: 100% !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   8. FLUID SYSTEM — Tokens fluidos y overrides finales (máx. prioridad)
   Los tokens :root se definen en style-tokens.tpl
   ═══════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════
   LOGO FLUIDO — Solución definitiva al bug de superposición
   Un solo set de reglas con clamp(), sin media queries conflictivas.
   ═══════════════════════════════════════════════════════════════════ */
.logo-container img {
  max-height: var(--logo-height) !important;
  max-width: var(--logo-max-width) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}
.logo-container a:hover img {
  transform: scale(1.02) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   HEADER FLUIDO — Una sola fuente de verdad
   ═══════════════════════════════════════════════════════════════════ */
.js-head-main {
  background: rgba(255, 255, 255, 0.95) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.js-head-main .head-row,
.head-row {
  padding-top: var(--fluid-space-sm) !important;
  padding-bottom: var(--fluid-space-sm) !important;
  align-items: center !important;
}

/* ═══════════════════════════════════════════════════════════════════
   ICONOS DE UTILIDAD — Tamaño fluido tipo app
   ═══════════════════════════════════════════════════════════════════ */
.header-utility .js-header-utility-icon,
.header-icon {
  width: var(--utility-size) !important;
  height: var(--utility-size) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(17, 17, 17, 0.1) !important;
  background: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease !important;
}
.header-utility:hover .js-header-utility-icon,
.header-utility:hover .header-icon {
  border-color: rgba(244, 37, 106, 0.45) !important;
  transform: translateY(-1px) !important;
}

.utility-icon,
.header-icon svg {
  width: var(--utility-icon) !important;
  height: var(--utility-icon) !important;
  fill: #111 !important;
  transition: all 0.2s ease !important;
}

/* ═══════════════════════════════════════════════════════════════════
   BUSCADOR FLUIDO
   ═══════════════════════════════════════════════════════════════════ */
.search-container {
  max-width: clamp(240px, 38vw, 680px) !important;
  width: 100% !important;
}

[class*="search-form"] input,
.search-container input {
  border-radius: 999px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  background: #ffffff !important;
  min-height: var(--search-height) !important;
  font-size: var(--fluid-small) !important;
  padding: 0 3.25rem 0 1.15rem !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}

[class*="search-form"] input:focus,
.search-container input:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 4px var(--brand-10) !important;
}

[class*="search-form"] button {
  width: calc(var(--search-height) - 10px) !important;
  height: calc(var(--search-height) - 10px) !important;
  right: 6px !important;
  border-radius: 999px !important;
  background: var(--brand-10) !important;
  border: none !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

[class*="search-form"] button svg,
[class*="search-form"] button:before {
  width: var(--search-icon) !important;
  height: var(--search-icon) !important;
  opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   CATEGORÍAS HOME — Círculos fluidos
   ═══════════════════════════════════════════════════════════════════ */
.home-category-image-border {
  border-radius: 50% !important;
  border: 2px solid #efefef !important;
  padding: 4px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  width: var(--cat-circle) !important;
  height: var(--cat-circle) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #ffffff, #fff5f8) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.home-category-image-border > div {
  border-radius: 50% !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
}
.home-category-image-border img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  transform: none !important;
  transition: none !important;
  display: block !important;
}
.js-home-category:hover .home-category-image-border {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-20) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   TÍTULOS FLUIDOS — Sin media queries, solo clamp()
   ═══════════════════════════════════════════════════════════════════ */
.ivana-home-section-title,
.js-products-sale-title,
.js-products-featured-title,
.js-products-new-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: var(--fluid-h1) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.04em !important;
  color: #111827 !important;
  text-transform: none !important;
  margin-bottom: 0 !important;
  display: block !important;
}

.js-products-sale-title::after,
.ivana-home-section-divider {
  display: none !important;
}

h1, .h1 { font-size: var(--fluid-h1) !important; }
h2, .h2 { font-size: var(--fluid-h2) !important; }
h3, .h3 { font-size: var(--fluid-h3) !important; }

/* ═══════════════════════════════════════════════════════════════════
   SECCIONES HOME — Espaciado fluido
   ═══════════════════════════════════════════════════════════════════ */
.section-home {
  padding-top: var(--fluid-space-md) !important;
  padding-bottom: var(--fluid-space-md) !important;
}

.ivana-home-categories {
  padding-top: var(--fluid-space-lg) !important;
  padding-bottom: var(--fluid-space-md) !important;
}

.ivana-home-categories-row {
  gap: clamp(1rem, 2.2vw, 2.6rem) !important;
}

.ivana-home-products {
  padding-top: var(--fluid-space-md) !important;
  padding-bottom: var(--fluid-space-lg) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   NAVEGACIÓN FLUIDA
   ═══════════════════════════════════════════════════════════════════ */
.nav-desktop-container {
  border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
  padding: 0.9rem 0 1rem !important;
}

.js-nav-desktop-list,
.nav-desktop-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(0.45rem, 2vw, 1.4rem) !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nav-desktop-list > .nav-item {
  padding: 0 !important;
}

.js-main-menu a,
[class*="nav-link"],
[class*="desktop-nav"] a {
  font-family: 'Manrope', var(--body-font), sans-serif !important;
  font-size: var(--fluid-caption) !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(17, 17, 17, 0.72) !important;
  padding: 0.2rem 0 !important;
  position: relative;
  transition: color 0.2s ease !important;
}

.js-main-menu a:hover,
[class*="nav-link"]:hover,
[class*="desktop-nav"] a:hover {
  color: #111111 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   BARRA PROMO FLUIDA
   ═══════════════════════════════════════════════════════════════════ */
.ivana-promo-bar {
  background: #111111 !important;
  color: #fff !important;
  text-align: center;
  padding: var(--fluid-space-xs) var(--fluid-space-sm) !important;
  font-size: var(--fluid-caption) !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-family: 'Manrope', sans-serif;
  line-height: 1.6;
  white-space: normal;
  word-break: keep-all;
}

/* ═══════════════════════════════════════════════════════════════════
   CONTENEDOR FLUIDO
   ═══════════════════════════════════════════════════════════════════ */
.container {
  max-width: min(100%, 1440px) !important;
  padding-left: var(--fluid-gutter) !important;
  padding-right: var(--fluid-gutter) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   CARRITO BADGE
   ═══════════════════════════════════════════════════════════════════ */
.js-cart-widget-amount.badge {
  background: var(--brand) !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  font-size: 0.62rem !important;
  min-width: 22px !important;
}
