/**
 * VIP Artesanías — phase A shell (homepage-first).
 * Tokens + layout polish on top of Classic / Bootstrap 4.
 * Typography wired through `fonts.css` (self-hosted WOFF2) + `--vip-font-*`.
 * `@import` is a fallback when `shop1.json` does not register `vip-fonts` (see `head.tpl`).
 */
@import url("fonts.css");

:root {
  --vip-terra: #c45c41;
  --vip-terra-dark: #a54a33;
  /* Site canvas — plain white unless a block sets its own background. */
  --vip-page-bg: #ffffff;
  --vip-cream: var(--vip-page-bg);
  --vip-charcoal: #1f1f1f;
  --vip-text: #2b2b2b;
  --vip-muted: rgba(43, 43, 43, 0.72);
  --vip-header-tan: #D5A17D;
  --vip-header-tan-dark: #b88d5f;
  --vip-header-nav: #7a7a7a;
  /* Canonical site-wide content width.
   * `--vip-home-feature-width` is the single source of truth: hero, Novedades,
   * Lo más vendido, and any future block centered on the page must use it via
   * `width + auto margins` (no inner padding) so their edges align exactly.
   * `--vip-shell-max` is kept in sync as the hard cap for blocks that still
   * rely on the `max-width + inner padding` pattern (header, footer). */
  --vip-shell-max: 1526px;
  --vip-shell-gutter: clamp(1rem, 2.25vw, 2.5rem);
  --vip-home-feature-width: min(calc(100vw - clamp(1rem, 4vw, 4rem)), 1526px);
  --vip-header-main-max: 1560px;
  --vip-header-main-gutter: clamp(1.5rem, 3vw, 3.75rem);
  /* Earlgo first for brand display; Raleway/Open Sans unchanged in `fonts.css`. */
  --vip-font-display: "Earlgo", Raleway, "Helvetica Neue", Arial, sans-serif;
  --vip-font-body: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  /* Figma HOME @ 1920 — content ~1357px (70.75%), shared across pages */
  --vip-figma-content-width: min(var(--vip-home-feature-width), 70.75vw);
  --vip-figma-brown: #7e614a;
  --vip-figma-tan: #d5a17d;
  --vip-figma-gold: #e0d041;
  --vip-figma-footer-bg: #f8f8f8;
  --vip-figma-parrafo-size: 15px;
  --vip-figma-parrafo-lh: 22.5px;
  /* Figma overlay cards — wide 890×302, narrow 437×302 @ 1920 content ~1357px. */
  --vip-figma-card-h: 302px;
  --vip-figma-card-row-cqi: 22.25cqi;
  /* Figma H2 on brand/category overlay cards — Fira Sans ExtraBold 25 / 25 (Open Sans hosted). */
  --vip-figma-h2-size: 25px;
  --vip-figma-h2-lh: 25px;
  /* Figma Group 10 @ 1920 — locked in `.vip-home-brand` desktop block. */
  --vip-home-brand-panel-w: 1690px;
  --vip-home-brand-inner-w: 1373px;
  --vip-home-brand-img-w: 700px;
  --vip-home-brand-img-h: 450px;
  --vip-home-brand-copy-w: 508px;
  --vip-home-brand-panel-stroke: 3.5px;
  --vip-home-cta-panel-w: 1690px;
  --vip-home-cta-panel-h: 666px;
  --vip-home-cta-scrim: rgba(213, 161, 125, 0.58);
  --vip-home-cta-pad-x: 115px;
  --vip-home-cta-logo-w: 201px;
  --vip-home-cta-logo-gap: 72px;
  /* Cream gap between Group 10 panel and Group 15 banner (~90px @ 1920). */
  --vip-home-brand-cta-gap: 90px;
  /* Figma Group 16 @ 1920 — full-bleed dark band + star texture (HOME.jpg). */
  --vip-home-magic-panel-w: 1690px;
  --vip-home-magic-surface: #1d1d1d;
  /* TRAMAMISTICA @ 2001px — small tiled stars + blur (Figma diffused sparkle, not sharp/auto). */
  --vip-home-magic-stars-tile: 400px;
  --vip-home-magic-stars-opacity: 0.4;
  --vip-home-magic-stars-blur: 1.35px;
  --vip-home-magic-cta-bg: #9a9a9a;
  --vip-home-magic-cta-bg-hover: #adadad;
}

html,
body {
  font-family: var(--vip-font-body);
  color: var(--vip-text);
  background-color: var(--vip-page-bg);
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3 {
  font-family: var(--vip-font-display);
}

/* VIP FO — no focus ring anywhere (header/footer are outside #wrapper; Classic sets a:focus outline). */
html {
  -webkit-tap-highlight-color: transparent;
}

body :is(
    a,
    button,
    .btn,
    [role="button"],
    input,
    select,
    textarea,
    .form-control,
    .custom-select,
    .page-link,
    summary,
    [tabindex]:not([tabindex="-1"])
  ):focus,
body :is(
    a,
    button,
    .btn,
    [role="button"],
    input,
    select,
    textarea,
    .form-control,
    .custom-select,
    .page-link,
    summary,
    [tabindex]:not([tabindex="-1"])
  ):focus-visible,
body :is(
    a,
    button,
    .btn,
    [role="button"],
    input,
    select,
    textarea,
    .form-control,
    .custom-select,
    .page-link,
    summary,
    [tabindex]:not([tabindex="-1"])
  ):active,
body .btn.focus,
body .btn:focus {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

body a,
body button,
body .btn,
body [role="button"],
body input,
body select,
body textarea,
body .form-control {
  -webkit-tap-highlight-color: transparent;
}

body button::-moz-focus-inner,
body .btn::-moz-focus-inner {
  border: 0;
}

/* Bootstrap 4 default glow on fields — suppressed; VIP forms re-add tan focus where needed. */
body .form-control:focus,
body .custom-select:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* --- Header (designs/HOME.jpg) ------------------------------------------- */

#header {
  background: #fff;
  box-shadow: none;
}

#header .header-top.vip-header-shell {
  background: #fff;
  border-bottom: none;
  padding: 0;
}

#header .vip-header-shell__inner {
  width: 100%;
}

#header .header-nav {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

/* Announcement bar */
.vip-header-announcement {
  background: var(--vip-header-tan);
  color: #fff;
  font-size: 0.74rem;
  line-height: 1.2;
}

.vip-header-announcement__inner {
  width: 100%;
  max-width: var(--vip-shell-max);
  margin: 0 auto;
  padding: 0.65rem 15px;
  padding-left: var(--vip-shell-gutter);
  padding-right: var(--vip-shell-gutter);
}

.vip-header-announcement__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 1.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-header-announcement__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.vip-header-announcement__icon {
  font-size: 1.08rem;
  line-height: 1;
  opacity: 0.95;
}

.vip-header-announcement__text {
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Main row — nav | logo | search + account + cart */
.vip-header-main {
  padding: 0.65rem 0 0.75rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.vip-header-main__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 3vw, 3.25rem);
  width: 100%;
  max-width: var(--vip-header-main-max);
  margin: 0 auto;
  padding-left: var(--vip-header-main-gutter);
  padding-right: var(--vip-header-main-gutter);
}

.vip-header-main__nav {
  grid-column: 1;
  justify-self: start;
  max-width: 100%;
  padding-right: 0.5rem;
}

.vip-header-main__menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0 0.95rem;
  margin: 0;
  padding: 0;
  list-style: none;
  height: 2.6rem;
}

.vip-header-main__menu > li {
  flex: 0 0 auto;
}

#header .vip-header-main__menu > li > a {
  font-family: var(--vip-font-body);
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--vip-header-nav);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}

#header .vip-header-main__menu > li > a:hover {
  color: var(--vip-header-tan-dark);
}

#header .vip-header-main__menu > li > a:focus,
#header .vip-header-main__menu > li > a:focus-visible,
#header .vip-header-main__menu > li > a:active,
#header .vip-header-main__tools a:focus,
#header .vip-header-main__tools a:focus-visible,
#header .vip-header-main__tools a:active,
#header .vip-header-user__link:focus,
#header .vip-header-user__link:focus-visible,
#header .vip-header-user__link:active,
#header .vip-header-cart__link:focus,
#header .vip-header-cart__link:focus-visible,
#header .vip-header-cart__link:active,
#header .vip-header-announcement a:focus,
#header .vip-header-announcement a:focus-visible,
#header .vip-header-announcement a:active {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

#header .vip-header-main__menu a.vip-header-main__menu-link--accent {
  font-weight: 700;
  color: var(--vip-header-tan);
}

.vip-header-main__brand {
  grid-column: 2;
  justify-self: center;
  z-index: 2;
  padding: 0 0.35rem;
}

.vip-header-main__heading {
  margin: 0;
  font-size: inherit;
  font-weight: 400;
  line-height: 1;
}

.vip-header-main__logo-link {
  display: inline-block;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

#header .vip-header-main__logo-link:focus,
#header .vip-header-main__logo-link:focus-visible,
#header .vip-header-main__logo-link:active {
  outline: none !important;
  box-shadow: none !important;
}

#header .vip-header-mobile__logo a {
  -webkit-tap-highlight-color: transparent;
}

#header .vip-header-mobile__logo a:focus,
#header .vip-header-mobile__logo a:focus-visible,
#header .vip-header-mobile__logo a:active {
  outline: none !important;
  box-shadow: none !important;
}

.vip-header-main__logo-img {
  display: block;
  width: auto;
  max-width: min(255px, 30vw);
  height: auto;
  max-height: 42px;
}

.vip-header-main__tools {
  grid-column: 3;
  justify-self: end;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.vip-header-main__search-slot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem 0.85rem;
  flex-wrap: nowrap;
  width: auto;
  max-width: 100%;
  height: 2.6rem;
}

/* Hide classic main menu in displayTop — custom nav is in vip-header-main */
.vip-header-main__search-slot #_desktop_top_menu,
.vip-header-main__search-slot .top-menu {
  display: none !important;
}

.vip-header-main__search-slot > * {
  flex: 0 0 auto;
}

.vip-header-main__search-slot .vip-header-search {
  order: 1;
}

.vip-header-main__search-slot .vip-header-user {
  order: 2;
}

.vip-header-main__search-slot .vip-header-cart {
  order: 3;
}

/* Search pill — reset Classic / search-widgets floats and widths */
#header .vip-header-main #search_widget,
#header .vip-header-main .search-widgets.vip-header-search {
  align-self: center;
  float: none !important;
  position: relative !important;
  width: 17.75rem !important;
  max-width: 17.75rem;
  min-width: 17.75rem;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 17.75rem;
  box-shadow: none;
}

#header .vip-header-main .vip-header-search .search-widget,
#header .vip-header-main .vip-header-search form {
  width: 100%;
  margin: 0 !important;
}

#header .vip-header-main .vip-header-search__form {
  display: flex;
  align-items: center;
  width: 100%;
  height: 2.6rem;
  margin: 0 !important;
  border: 1px solid var(--vip-header-tan);
  border-radius: 12px;
  overflow: hidden;
  background: #f7f7f7;
  box-sizing: border-box;
  box-shadow: none;
}

#header .vip-header-main .vip-header-search__input {
  flex: 1 1 auto;
  min-width: 0;
  width: 1%;
  height: 100%;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0.35rem 0 1.05rem;
  font-family: var(--vip-font-body);
  font-size: 1rem;
  line-height: 1;
  color: var(--vip-text);
  background: transparent !important;
  appearance: none;
}

#header .vip-header-main .vip-header-search__input::placeholder {
  color: rgba(111, 111, 111, 0.85);
}

#header .vip-header-main .vip-header-search__input:focus,
#header .vip-header-main .vip-header-search__input:focus-visible,
#header .vip-header-main .vip-header-search__submit:focus,
#header .vip-header-main .vip-header-search__submit:focus-visible,
#header .vip-header-main .vip-header-search__submit:active {
  outline: none !important;
  box-shadow: none !important;
}

#header .vip-header-main .vip-header-search__submit {
  position: static !important;
  flex: 0 0 2.75rem;
  display: grid;
  place-items: center;
  align-self: stretch !important;
  width: 2.75rem;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--vip-header-nav);
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1;
  transform: none !important;
}

#header .vip-header-main #_desktop_user_info,
#header .vip-header-main #_desktop_cart,
#header .vip-header-main .vip-header-user,
#header .vip-header-main .vip-header-cart,
#header .vip-header-user__dropdown,
#header .vip-header-cart__block,
#header .vip-header-cart__header {
  display: flex;
  align-items: center;
  align-self: center;
  margin: 0 !important;
}

#header .vip-header-main .vip-header-search__submit .material-icons {
  display: block;
  width: auto;
  height: auto;
  font-size: 1.45rem;
  line-height: 1;
}

/* Classic parent theme overrides (bold black header links) */
#header .vip-header-main__tools a,
#header .vip-header-user__link,
#header .vip-header-cart__link {
  color: var(--vip-header-tan);
}

/* Account + cart — icon above label */
.vip-header-user__link,
.vip-header-cart__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  height: 2.6rem;
  text-decoration: none;
  color: var(--vip-header-tan);
  min-width: 3.35rem;
}

.vip-header-user__icon,
.vip-header-cart__icon {
  font-size: 1.65rem;
  line-height: 1;
}

.vip-header-user__label,
.vip-header-cart__label {
  font-family: var(--vip-font-body);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
}

.vip-header-cart {
  position: relative;
}

.vip-header-cart__count {
  position: absolute;
  top: -2px;
  right: 0.15rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.2rem;
  border-radius: 999px;
  background: var(--vip-header-tan-dark);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1rem;
  text-align: center;
}

.vip-header-cart__block .cart-products-count,
.vip-header-cart .header {
  display: none;
}

/* Mobile header */
.vip-header-mobile {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.vip-header-mobile__bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0;
}

.vip-header-mobile__menu-btn {
  border: none;
  background: transparent;
  color: var(--vip-header-tan);
  padding: 0.25rem;
  line-height: 0;
}

.vip-header-mobile__logo {
  text-align: center;
}

.vip-header-mobile__logo img {
  max-height: 34px;
  width: auto;
}

.vip-header-mobile__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

@media (max-width: 1199px) {
  .vip-header-announcement__text {
    font-size: 0.68rem;
  }

  #header .vip-header-main__menu > li > a {
    font-size: 0.8rem;
  }

  .vip-header-main__menu {
    gap: 0 0.65rem;
  }

  #header .vip-header-main #search_widget,
  #header .vip-header-main .search-widgets.vip-header-search {
    width: 14rem !important;
    max-width: 14rem;
    min-width: 14rem;
    flex-basis: 14rem;
  }
}

@media (max-width: 991px) {
  .vip-header-announcement__list {
    gap: 0.35rem 0.85rem;
  }
}

/* --- Homepage ------------------------------------------------------------ */

#wrapper {
  background: var(--vip-page-bg);
}

.page-home {
  padding-top: 1.35rem;
  padding-bottom: 2rem;
}

#index #wrapper > .container {
  max-width: var(--vip-shell-max);
  padding-left: 0;
  padding-right: 0;
}

#index #wrapper > .container > .row {
  margin-left: 0;
  margin-right: 0;
}

#index #content-wrapper {
  padding-left: 0;
  padding-right: 0;
}

.vip-home-modules section {
  margin-bottom: 2rem;
}

/* Hero */

/* Figma HOME hero (~1357×600 @ 1920) — block height = photo only; tan panel matches via absolute inset. */
.vip-hero {
  --vip-hero-copy-w: max(360px, 34%);
  position: relative;
  margin-top: 0;
  margin-right: calc((100% - var(--vip-figma-content-width)) / 2);
  margin-bottom: 0.85rem;
  margin-left: calc((100% - var(--vip-figma-content-width)) / 2);
  width: var(--vip-figma-content-width);
  max-width: none;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: none;
}

.vip-hero__copy {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  bottom: 0;
  box-sizing: border-box;
  width: var(--vip-hero-copy-w);
  background: var(--vip-figma-tan);
  color: #fff;
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}

@media (max-width: 767px) {
  .vip-hero {
    display: flex;
    flex-direction: column;
    border-radius: 0;
    box-shadow: none;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    width: 100%;
    overflow: visible;
  }

  .vip-hero__copy {
    position: static;
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .vip-hero__visual {
    margin-left: 0;
    width: 100%;
  }

  .vip-category-strip__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    padding: 0 0.5rem;
  }

  .vip-hero__photo {
    height: auto;
  }
}

.vip-hero__copy-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.vip-hero__brand-mark {
  flex: 0 0 auto;
  width: 112px;
  height: auto;
  margin: 0 0 1.5rem;
  border-radius: 10px;
}

.vip-hero__display {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 56px;
  line-height: 54px;
  max-width: 430px;
  text-wrap: balance;
}

.vip-hero__lead {
  margin: 1rem 0 0;
  max-width: 430px;
  color: #fff !important;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  opacity: 0.96;
}

.vip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.72rem 1.35rem;
  border-radius: 999px;
  font-family: var(--vip-font-body);
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.vip-hero__copy .vip-btn--outline {
  flex: 0 0 auto;
  margin-top: 1.5rem;
}

.vip-btn--outline {
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 0;
  color: #fff;
  background: transparent;
  align-self: flex-start;
  padding: 0 20px;
  min-width: 268px;
  min-height: 56px;
  font-size: 18px;
  letter-spacing: 0.01em;
}

.vip-btn--outline:hover,
.vip-btn--outline:focus {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* In-flow column: only the <img> sets .vip-hero height (no grid max() with copy). */
.vip-hero__visual {
  margin-left: var(--vip-hero-copy-w);
  width: calc(100% - var(--vip-hero-copy-w));
  line-height: 0;
}

.vip-hero__visual-inner--photo {
  padding: 0;
}

.vip-hero__photo {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* Category strip */

.vip-category-strip {
  margin-top: 0;
  margin-right: calc((100% - var(--vip-figma-content-width)) / 2);
  margin-bottom: 2.25rem;
  margin-left: calc((100% - var(--vip-figma-content-width)) / 2);
  width: var(--vip-figma-content-width);
  max-width: none;
}

@media (max-width: 767px) {
  .vip-category-strip {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    width: 100%;
  }
}

.vip-category-strip__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.vip-category-strip__list {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: clamp(0.85rem, 2vw, 1.55rem);
  overflow: visible;
  padding: 0;
  margin: 0;
  list-style: none;
  scrollbar-width: thin;
}

.vip-category-strip__hit {
  display: block;
  text-decoration: none;
  color: inherit;
}

.vip-category-strip__hit:hover .vip-category-strip__thumb,
.vip-category-strip__hit:focus .vip-category-strip__thumb {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

.vip-category-strip__thumb {
  width: 100%;
  aspect-ratio: 1;
  height: auto;
  border-radius: 10px;
  margin: 0 auto 0.7rem;
  background: #d8a17b;
  border: none;
  display: grid;
  place-items: center;
  box-shadow: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  overflow: hidden;
}

.vip-category-strip__thumb img {
  width: 76%;
  height: 76%;
  object-fit: contain;
}

.vip-category-strip__label {
  display: block;
  font-family: var(--vip-font-display);
  font-size: 20px;
  line-height: 22.5px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: center;
  color: var(--vip-figma-tan);
  max-width: none;
  margin: 0 auto;
}

/* Homepage — stacked marketing (HOME.jpg comp) ---------------------------- */

.vip-home-section-title {
  text-align: center;
  margin: 0 0 1.25rem;
  font-family: var(--vip-font-display);
  font-weight: 600;
  font-size: clamp(1.45rem, 2.6vw, 1.95rem);
  color: var(--vip-charcoal);
}

.vip-home-section-title--light {
  color: #fff;
}

.vip-home-novedades {
  /* Match the hero block's width contract exactly so the grid edges line up
   * with the hero edges. No inner padding — the centering math handles the
   * side gutters identically to `.vip-hero`. */
  width: var(--vip-figma-content-width);
  max-width: none;
  margin-top: 0;
  margin-right: calc((100% - var(--vip-figma-content-width)) / 2);
  margin-bottom: 3rem;
  margin-left: calc((100% - var(--vip-figma-content-width)) / 2);
  padding-left: 0;
  padding-right: 0;
}

.vip-home-novedades {
  /* Generous breathing room around the Novedades block; top intentionally
   * larger than bottom to separate it cleanly from the dense category strip
   * above and keep the rhythm tighter on the way down. */
  margin-top: clamp(3.5rem, 6vw, 5.5rem);
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

@media (max-width: 767px) {
  .vip-home-novedades {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }
}

.vip-home-section-title--novedades {
  margin-bottom: clamp(1.5rem, 2.8vw, 2.25rem);
  font-family: var(--vip-font-display);
  font-weight: 700;
  font-size: 54px;
  line-height: 54px;
  color: #7e614a;
}

.vip-home-novedades__grid {
  width: 100%;
}

.vip-home-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.2vw, 2rem) clamp(0.85rem, 1.6vw, 1.35rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-home-product-grid__item {
  min-width: 0;
}

.vip-product-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  height: 100%;
}

.vip-product-card__media {
  position: relative;
}

.vip-product-card__thumb {
  display: block;
  overflow: hidden;
  border-radius: 14px;
  aspect-ratio: 4 / 5;
  background: #fff;
}

.vip-product-card__thumb picture,
.vip-product-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
}

.vip-product-card__thumb img {
  object-fit: cover;
}

.vip-product-card__badge {
  position: absolute;
  top: 0.65rem;
  left: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.35rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: #e8ddd4;
  color: #7e614a;
  font-family: var(--vip-font-body);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}

.vip-product-card__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.vip-product-card__copy {
  flex: 1 1 auto;
  min-width: 0;
}

.vip-product-card__category {
  margin: 0 0 0.2rem;
  font-family: var(--vip-font-body);
  font-size: 0.72rem;
  line-height: 1.2;
  font-weight: 400;
  color: #b8937a;
  text-transform: capitalize;
}

.vip-product-card__name {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: clamp(0.92rem, 1.05vw, 1rem);
  line-height: 1.25;
  font-weight: 700;
}

.vip-product-card__name a {
  color: #563927;
  text-decoration: none;
}

.vip-product-card__name a:hover,
.vip-product-card__name a:focus-visible {
  color: var(--vip-terra-dark);
}

.vip-product-card__pricing {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
  text-align: right;
  white-space: nowrap;
}

.vip-product-card__price {
  font-family: var(--vip-font-body);
  font-size: clamp(0.92rem, 1.05vw, 1rem);
  line-height: 1.25;
  font-weight: 700;
  color: #563927;
}

.vip-product-card__regular {
  font-family: var(--vip-font-body);
  font-size: 0.72rem;
  line-height: 1.2;
  font-weight: 400;
  color: #b8937a;
  text-decoration: line-through;
}

@media (max-width: 1199px) {
  .vip-home-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

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

@media (max-width: 575px) {
  .vip-home-product-grid {
    gap: 1rem 0.75rem;
  }

  .vip-product-card__body {
    flex-direction: column;
    gap: 0.35rem;
  }

  .vip-product-card__pricing {
    align-items: flex-start;
    text-align: left;
  }
}

.vip-home-texture-soft {
  background: linear-gradient(145deg, #f7f4ef 0%, #f3e3d8 55%, #e8cfa8 120%);
}

.vip-home-curated__inner {
  padding: clamp(2rem, 5vw, 3rem);
  border-radius: 18px;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.06);
}

.vip-home-curated {
  /* Same width contract as the hero block (see `.vip-hero`) so the visible
   * card edges align with the Novedades / category strip edges above. */
  width: var(--vip-home-feature-width);
  max-width: none;
  margin-top: 0;
  margin-right: calc((100% - var(--vip-home-feature-width)) / 2);
  margin-bottom: 3rem;
  margin-left: calc((100% - var(--vip-home-feature-width)) / 2);
}

/* Featured brands ("Mejores marcas") title sits on cream above the design band.
 * `.vip-home-brands-band` is the Figma gradient + texture (brands grid only).
 * `.vip-home-band` wraps the 6 category tiles only; Lo más vendido sits on cream above it. */

.vip-home-section-title--brands {
  width: var(--vip-figma-content-width);
  max-width: none;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  margin-right: calc((100% - var(--vip-figma-content-width)) / 2);
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  margin-left: calc((100% - var(--vip-figma-content-width)) / 2);
  font-family: var(--vip-font-display);
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.12;
  color: #7e614a;
  text-align: center;
  text-wrap: balance;
}

/* Featured brands — full-bleed Figma export (`assets/img/home/brands-section-bg.svg`). */
.vip-home-brands-band {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 0;
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  overflow: hidden;
  background-color: var(--vip-header-tan);
  background-image: url("../img/home/brands-section-bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.vip-home-brands-band__inner {
  width: var(--vip-figma-content-width);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.vip-home-brands-band .vip-home-brands {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Continuous tan band — Lo más vendido + category tiles (`designs/HOME.jpg`).
 * Same Figma topographic background as Mejores marcas — not TRAMAMISTICA sparkles. */
.vip-home-band {
  position: relative;
  margin-bottom: 3rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  overflow: hidden;
  background-color: #d8a780;
  background-image: url("../img/home/brands-section-bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.vip-home-band__inner {
  width: var(--vip-figma-content-width);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 3.5vw, 2.75rem);
}

/* Sections inside the band drop the hero-contract sizing they get elsewhere — the
 * `.vip-home-band__inner` already constrains width and gap handles spacing. */
.vip-home-band > .vip-home-band__inner > section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Mejores marcas — Figma wide 890×302, narrow 437×302, gap 30px (same grid math as Group 14). */
.vip-home-brands__grid {
  container-type: inline-size;
  container-name: vip-brands;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  align-items: stretch;
}

/* Wide + narrow tiles share a row: same height, different width (matches `designs/HOME.jpg`).
 * Per-tile `aspect-ratio` would make 2-column tiles ~2× taller than 1-column neighbours. */
@media (min-width: 992px) {
  .vip-home-brands__grid {
    grid-template-rows: repeat(3, var(--vip-figma-card-h));
  }

  .vip-home-brands__grid .vip-brand-tile {
    aspect-ratio: unset;
    width: 100%;
    height: 100%;
    min-height: 100%;
  }
}

/* Lo más vendido — full-bleed #fff band (HOME.jpg), square bordered block, not cream. */
.vip-home-bestsellers {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  background: #fff;
}

.vip-home-bestsellers__panel {
  --vip-best-ink: #7e614a;
  --vip-best-category: #d5a17d;
  --vip-best-muted: #d5a17d;
  --vip-best-strike: #d5a17d;
  width: var(--vip-figma-content-width);
  max-width: none;
  margin: 0 auto;
  padding: clamp(1.5rem, 3.5vw, 2.5rem) clamp(1.25rem, 2.5vw, 2.25rem);
  background: #fff;
  border: 2px solid var(--vip-best-muted);
  border-radius: 0;
}

@media (max-width: 767px) {
  .vip-home-bestsellers__panel {
    width: 100%;
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }
}

/* Featured products must only render inside home-marketing (not displayHome tail). */
#vip-home-products [data-vip-bestsellers-carousel] {
  display: none !important;
}

/* HOME.jpg — Lo más vendido heading: Earlgo display, brown (comp). */
.vip-home-bestsellers h2.vip-home-section-title--bestsellers,
.vip-home-bestsellers__panel .vip-home-section-title {
  margin: 0 0 2rem;
  font-family: var(--vip-font-display);
  font-weight: 400;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 0.02em;
  color: #7e614a;
  text-align: center;
  text-wrap: balance;
}

/* Carousel layout: left arrow — scrolling viewport — right arrow */
.vip-bestsellers-carousel {
  --vip-bestsellers-gap: clamp(0.85rem, 1.6vw, 1.35rem);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1.25rem, 2.75vw, 2.25rem);
  margin: 0;
}

.vip-bestsellers-carousel__viewport {
  container-type: inline-size;
  container-name: vip-bestsellers;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.vip-bestsellers-carousel__viewport::-webkit-scrollbar {
  display: none;
}

.vip-bestsellers-carousel__viewport > .vip-bestsellers-carousel__list {
  display: flex;
  gap: var(--vip-bestsellers-gap);
  margin: 0;
  padding: 0;
  width: max-content;
  min-width: 100%;
  list-style: none;
}

/* % flex-basis against `min-width: max-content` was sizing cards to ~½ the
 * scroll track — use the viewport container width (4 / 2 / 1 visible). */
.vip-bestsellers-carousel__item {
  flex: 0 0 calc((100cqi - 3 * var(--vip-bestsellers-gap)) / 4);
  width: calc((100cqi - 3 * var(--vip-bestsellers-gap)) / 4);
  min-width: 0;
  scroll-snap-align: start;
}

.vip-bestsellers-carousel__item .vip-product-card {
  width: 100%;
  height: 100%;
  gap: 0.5rem;
}

/* Lo más vendido cards — layout: category, then [name ··· price] (HOME.jpg). */
.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__thumb {
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  background: #fff;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__thumb img {
  object-fit: contain;
  padding: 0.25rem;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.15rem;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__row--detail {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  width: 100%;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__copy {
  flex: 1 1 auto;
  min-width: 0;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__category {
  margin: 0 0 0.2rem;
  font-family: var(--vip-font-body);
  font-style: italic;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: var(--vip-best-category, #d5a17d);
  text-transform: capitalize;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__name {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__name a {
  color: var(--vip-best-ink, #7e614a);
  font-weight: 700;
  text-decoration: none;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__name a:hover,
.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__name a:focus-visible {
  color: var(--vip-best-ink, #7e614a);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__pricing {
  flex: 0 0 auto;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.1rem;
  margin: 0;
  padding: 0;
  text-align: right;
  white-space: nowrap;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__price {
  font-family: var(--vip-font-body);
  font-size: 16px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--vip-best-ink, #7e614a);
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__price .price,
.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__price .product-price,
.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__price span,
.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__price * {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__row--detail:not(:has(.vip-product-card__category)) .vip-product-card__pricing {
  padding-top: 0;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__regular {
  font-family: var(--vip-font-body);
  font-size: 11px;
  line-height: 1.15;
  font-weight: 400;
  font-style: italic;
  color: var(--vip-best-category, #d5a17d);
  text-decoration: line-through;
}

.vip-bestsellers-carousel .vip-product-card--bestsellers .vip-product-card__badge--sale {
  top: 0;
  left: 0;
}

.vip-bestsellers-carousel .js-product.product,
.vip-bestsellers-carousel .product-miniature {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Design export: 40×40 arrow SVG files (carousel-arrow-*.svg). Bootstrap squishes inline
 * SVG via max-width:100% in narrow grid tracks — use <img> + fixed 40px box. */
.vip-bestsellers-carousel__nav {
  flex: 0 0 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: opacity 0.15s ease;
}

.vip-bestsellers-carousel__nav:hover:not(:disabled),
.vip-bestsellers-carousel__nav:focus:not(:disabled),
.vip-bestsellers-carousel__nav:focus-visible:not(:disabled),
.vip-bestsellers-carousel__nav:active:not(:disabled) {
  background: transparent;
  opacity: 0.75;
  outline: none !important;
  box-shadow: none !important;
}

.vip-bestsellers-carousel__nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.vip-bestsellers-carousel__arrow {
  display: block;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  min-height: 40px;
  max-width: none !important;
  flex-shrink: 0;
  object-fit: contain;
}

@container vip-bestsellers (max-width: 1023px) {
  .vip-bestsellers-carousel__item {
    flex-basis: calc((100cqi - var(--vip-bestsellers-gap)) / 2);
    width: calc((100cqi - var(--vip-bestsellers-gap)) / 2);
  }
}

@container vip-bestsellers (max-width: 575px) {
  .vip-bestsellers-carousel__item {
    flex-basis: 100cqi;
    width: 100cqi;
  }
}

/* Category tiles sit directly on the tan band in the comp — no cream card wrapper. */
.vip-home-band .vip-home-curated--alt {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.vip-home-band .vip-home-curated--alt .vip-home-curated__inner {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.vip-brand-tile {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background: #2a221b;
  isolation: isolate;
  transition: box-shadow 0.2s ease;
}

.vip-brand-tile:hover,
.vip-brand-tile:focus-visible {
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

.vip-brand-tile--wide { grid-column: span 2; }
.vip-brand-tile--narrow { grid-column: span 1; }

.vip-brand-tile__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  transition: transform 0.4s ease;
}

.vip-brand-tile:hover .vip-brand-tile__bg,
.vip-brand-tile:focus-visible .vip-brand-tile__bg {
  transform: scale(1.04);
}

.vip-brand-tile__shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(120deg,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.42) 50%,
    rgba(0, 0, 0, 0.15) 100%);
}

.vip-brand-tile__body {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  box-sizing: border-box;
  padding: clamp(1rem, 2.2vw, 1.25rem) clamp(1.25rem, 2.2vw, 1.85rem) clamp(1.25rem, 2.2vw, 1.85rem);
  color: #fff;
  text-decoration: none;
}

/* Figma text style H2 — 25 / 25, ExtraBold (800), white (brand name on card). */
.vip-brand-tile .vip-brand-tile__name {
  margin: auto 0 0;
  font-family: var(--vip-font-body);
  font-weight: 800;
  font-size: var(--vip-figma-h2-size);
  line-height: var(--vip-figma-h2-lh);
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fff;
}

/* Figma text style PARRAFO — 15 / 22.5, Regular (400), white solid (card body copy). */
.vip-brand-tile .vip-brand-tile__desc {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
  color: #fff;
  opacity: 1;
  text-align: left;
  text-wrap: pretty;
}

/* Figma Component 3 — 124×38, label 15/22.5 white on tan. */
.vip-brand-tile .vip-btn--pill-peach {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  flex-shrink: 0;
  min-width: 124px;
  min-height: 38px;
  margin-top: 0.5rem;
  padding: 0.45rem 1.65rem;
  border-radius: 999px;
  border: none;
  background: #d5a17d;
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 400;
  font-size: 15px;
  line-height: 22.5px;
  letter-spacing: 0;
  text-decoration: none;
  box-shadow: none;
  transition: background 0.15s ease;
}

.vip-brand-tile .vip-btn--pill-peach::after {
  content: ">";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.vip-brand-tile:hover .vip-btn--pill-peach,
.vip-brand-tile:focus-visible .vip-btn--pill-peach {
  background: #c8926a;
  color: #fff;
}

@media (max-width: 991px) {
  .vip-home-brands__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(12.5rem, 42cqi));
  }

  .vip-brand-tile--wide,
  .vip-brand-tile--narrow {
    grid-column: span 1;
  }

  .vip-home-brands__grid .vip-brand-tile {
    aspect-ratio: unset;
    width: 100%;
    height: 100%;
    min-height: 100%;
  }
}

@media (max-width: 575px) {
  .vip-home-brands__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(6, minmax(13rem, 52cqi));
  }
}

@media (max-width: 767px) {
  .vip-home-section-title--brands {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }
  .vip-home-brands-band__inner,
  .vip-home-band__inner {
    width: 100%;
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }
}

@media (max-width: 767px) {
  .vip-home-curated {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }
}

.vip-curated-grid {
  display: grid;
  gap: clamp(0.55rem, 1.8vw, 0.95rem);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

@media (min-width: 992px) {
  .vip-curated-grid:not(.vip-curated-grid--cats) .vip-curated-tile:nth-child(1),
  .vip-curated-grid:not(.vip-curated-grid--cats) .vip-curated-tile:nth-child(2) {
    grid-column: span 6;
  }

  .vip-curated-grid:not(.vip-curated-grid--cats) .vip-curated-tile:nth-child(n + 3) {
    grid-column: span 4;
  }
}

@media (max-width: 991px) {
  .vip-curated-grid:not(.vip-curated-grid--cats) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .vip-curated-grid:not(.vip-curated-grid--cats) .vip-curated-tile {
    grid-column: span 3;
    min-height: 180px;
  }
}

@media (max-width: 575px) {
  .vip-curated-grid:not(.vip-curated-grid--cats) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vip-curated-grid:not(.vip-curated-grid--cats) .vip-curated-tile {
    grid-column: span 1;
  }
}

/* Category band — Figma HOME Group 14 (file sXGo3dsS4r8lfnFBOjCyRJ).
 * Cards: wide 890×302, narrow 437×302, gap 30px, radius 12px @ 1920px frame. */
.vip-curated-grid--cats {
  container-type: inline-size;
  container-name: vip-home-cats;
  --vip-cats-gap: 30px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--vip-cats-gap);
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}

@media (min-width: 992px) {
  .vip-curated-grid--cats {
    grid-template-rows: repeat(3, var(--vip-figma-card-h));
  }

  .vip-curated-grid--cats .vip-curated-tile--wide {
    grid-column: span 2;
  }

  .vip-curated-grid--cats .vip-curated-tile--narrow {
    grid-column: span 1;
  }

  .vip-curated-grid--cats .vip-curated-tile--cat {
    aspect-ratio: unset;
    width: 100%;
    height: 100%;
    min-height: 100%;
  }
}

@media (max-width: 991px) {
  .vip-curated-grid--cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(12.5rem, 42cqi));
  }

  .vip-curated-grid--cats .vip-curated-tile--wide,
  .vip-curated-grid--cats .vip-curated-tile--narrow {
    grid-column: span 1 !important;
  }
}

@media (max-width: 575px) {
  .vip-curated-grid--cats {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(6, minmax(13rem, 52cqi));
  }
}

.vip-curated-tile--cat {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: 12px;
  box-shadow: none;
  isolation: isolate;
}

.vip-curated-tile__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.35s ease;
}

.vip-curated-tile--cat:hover .vip-curated-tile__bg,
.vip-curated-tile--cat:focus-visible .vip-curated-tile__bg {
  transform: scale(1.045);
}

.vip-curated-tile--cat .vip-curated-tile__shade {
  z-index: 2;
  background: linear-gradient(
    118deg,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.42) 42%,
    rgba(0, 0, 0, 0.12) 100%
  );
}

.vip-curated-tile--cat .vip-curated-tile__bg {
  z-index: 1;
}

/* Figma Group 14 — copy anchored to card bottom (insets via padding). */
.vip-home-band .vip-curated-tile--cat .vip-curated-tile__body {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(0.5rem, 1.1cqi, 0.65rem);
  height: 100%;
  box-sizing: border-box;
  padding: clamp(1rem, 2.3cqi, 1.9375rem) clamp(1rem, 2.3cqi, 1.9375rem) clamp(1rem, 2.7cqi, 2.3125rem)
    clamp(1rem, 2.3cqi, 1.9375rem);
  text-decoration: none;
}

.vip-home-band .vip-curated-tile--cat .vip-curated-tile__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(0.35rem, 0.75cqi, 0.65rem);
  width: 100%;
  max-width: 71.5%;
  margin-top: auto;
}

.vip-home-band .vip-curated-tile--cat.vip-curated-tile--narrow .vip-curated-tile__content {
  max-width: 85%;
}

/* Figma — Earlgo 37 / 36, extrabold (800). */
.vip-home-band .vip-curated-tile--cat .vip-curated-tile__title {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 37px;
  line-height: 36px;
  letter-spacing: 0;
  color: #fff;
  text-transform: none;
}

/* Figma PARRAFO — Fira Sans 15 / 22.5 (self-hosted Open Sans substitute). */
.vip-home-band .vip-curated-tile--cat .vip-curated-tile__desc {
  margin: 0;
  max-width: none;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 400;
  color: #fff;
  text-align: left;
  text-wrap: pretty;
}

/* Figma Component 3 — 124×38, fill #d5a17d, label 15/22.5 white. */
.vip-home-band .vip-curated-tile--cat .vip-btn--explore-tan {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  flex-shrink: 0;
  min-width: 124px;
  min-height: 38px;
  margin-top: clamp(0.15rem, 0.5cqi, 0.35rem);
  padding: 0.45rem 1.65rem;
  border: none;
  border-radius: 999px;
  background: #d5a17d;
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 400;
  font-size: 15px;
  line-height: 22.5px;
  letter-spacing: 0;
  text-decoration: none;
  box-shadow: none;
  transition: background 0.15s ease;
}

.vip-home-band .vip-curated-tile--cat .vip-btn--explore-tan::after {
  content: ">";
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.vip-home-band .vip-curated-tile--cat:hover .vip-btn--explore-tan,
.vip-home-band .vip-curated-tile--cat:focus-visible .vip-btn--explore-tan {
  background: #c8926a;
  color: #fff;
}

.vip-curated-tile {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  min-height: 220px;
  display: block;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.1);
  color: #fff;
  text-decoration: none;
}

.vip-home-band .vip-curated-tile--cat {
  min-height: 0;
  box-shadow: none;
}

.vip-curated-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.35s ease;
}

.vip-curated-tile:hover img,
.vip-curated-tile:focus-visible img {
  transform: scale(1.045);
}

.vip-curated-tile__shade {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: linear-gradient(165deg, rgba(20, 20, 20, 0.15) 0%, rgba(20, 20, 20, 0.55) 100%);
}

.vip-curated-tile__body {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: clamp(1.1rem, 3vw, 1.6rem);
  text-decoration: none;
}

.vip-curated-tile__title {
  color: #fff;
  font-family: var(--vip-font-display);
  font-weight: 600;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  line-height: 1.2;
}

.vip-btn--pill-light {
  border-radius: 999px;
  padding: 0.45rem 1rem;
  font-size: 0.82rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.94);
  color: var(--vip-terra-dark);
  border: none;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
}

.vip-btn--terra-solid {
  border-radius: 999px;
  padding: 0.55rem 1.35rem;
  font-weight: 700;
  background: var(--vip-terra);
  color: #fff;
  border: 2px solid var(--vip-terra);
  text-decoration: none;
}

.vip-btn--terra-solid:hover {
  filter: brightness(1.06);
  color: #fff;
  text-decoration: none;
}

/* ==========================================================================
   Figma HOME Group 10 — “Descubre el universo” (pixel spec @ 1920)
   Panel 1690×3329 · inner editorial 1373 · images 700×450
   ========================================================================== */

.vip-home-brand {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: clamp(48px, 4.7vw, var(--vip-home-brand-cta-gap));
  padding-left: max(var(--vip-shell-gutter), calc(50vw - var(--vip-home-brand-panel-w) / 2));
  padding-right: max(var(--vip-shell-gutter), calc(50vw - var(--vip-home-brand-panel-w) / 2));
  box-sizing: border-box;
}

.vip-home-brand__card {
  width: var(--vip-home-brand-panel-w);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  border: var(--vip-home-brand-panel-stroke) solid var(--vip-figma-tan);
  border-radius: 12px;
  padding: 50px 161.3px 135px 155.5px;
  box-shadow: none;
  box-sizing: border-box;
}

.vip-home-brand__inner {
  width: var(--vip-home-brand-inner-w);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.vip-home-brand__intro {
  margin: 0 auto;
  max-width: 1003px;
  text-align: center;
}

.vip-home-brand__logo-mark {
  display: block;
  width: 144px;
  height: 144px;
  margin: 0 auto 43px;
  object-fit: contain;
}

.vip-home-brand__title {
  margin: 0 auto 23px;
  max-width: 429px;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 48px;
  line-height: 45px;
  letter-spacing: 0;
  color: var(--vip-figma-brown);
  text-wrap: balance;
  white-space: pre-line;
}

.vip-home-brand__lead {
  margin: 0 auto 107px;
  max-width: 1003px;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--vip-figma-brown);
  text-align: center;
  text-wrap: pretty;
}

/* Editorial rows — no `.vip-zigzag` (global flex would break flip rows). */
.vip-home-brand__row {
  display: grid;
  grid-template-columns: 700px 101px 572px;
  align-items: start;
  width: var(--vip-home-brand-inner-w);
  max-width: 100%;
  margin: 0;
}

.vip-home-brand__row--media-end {
  grid-template-columns: 559px 91px 700px 23px;
}

.vip-home-brand__media {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  width: 700px;
  max-width: 100%;
}

.vip-home-brand__row--media-end .vip-home-brand__media {
  grid-column: 3;
}

/* min-height = image (450px): extra space → space-between widens title/body/CTA gaps;
 * when copy is taller than the image, the column grows and only the fixed margins apply. */
.vip-home-brand__copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: var(--vip-home-brand-img-h);
  grid-column: 3;
  grid-row: 1;
  width: 572px;
  max-width: 100%;
  box-sizing: border-box;
}

.vip-home-brand__row--media-end .vip-home-brand__copy {
  grid-column: 1;
  width: 559px;
  padding-left: 51px;
}

.vip-home-brand__row--1 {
  --vip-brand-title-gap: 22px;
  --vip-brand-body-gap: 18px;
  margin-bottom: 96px;
}

.vip-home-brand__row--2 {
  --vip-brand-title-gap: 18px;
  --vip-brand-body-gap: 16px;
  margin-bottom: 137px;
}

.vip-home-brand__row--3 {
  --vip-brand-title-gap: 22px;
  --vip-brand-body-gap: 20px;
  margin-bottom: 83px;
}

.vip-home-brand__row--4 {
  --vip-brand-title-gap: 18px;
  --vip-brand-body-gap: 18px;
  margin-bottom: 108px;
}

.vip-home-brand__row--5 {
  --vip-brand-title-gap: 20px;
  --vip-brand-body-gap: 18px;
  margin-bottom: 0;
}

.vip-home-brand__media img {
  display: block;
  width: 700px;
  max-width: 100%;
  height: 450px;
  border-radius: 12px;
  object-fit: cover;
  object-position: center;
}

.vip-home-brand__heading {
  margin: 0 0 var(--vip-brand-title-gap, 20px);
  max-width: var(--vip-home-brand-copy-w);
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 45px;
  line-height: 45px;
  letter-spacing: 0;
  color: var(--vip-figma-tan);
  text-wrap: balance;
}

.vip-home-brand__row--5 .vip-home-brand__heading {
  max-width: 572px;
}

.vip-home-brand__copy p {
  margin: 0 0 var(--vip-brand-body-gap, 18px);
  max-width: var(--vip-home-brand-copy-w);
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--vip-figma-brown);
  text-wrap: pretty;
}

/* Figma Component 3 — 124×53, “Explorar >” */
.vip-home-brand__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 124px;
  height: 53px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: var(--vip-figma-tan);
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 400;
  font-size: 15px;
  line-height: 22.5px;
  letter-spacing: 0;
  text-decoration: none;
}

.vip-home-brand__cta::after {
  content: " >";
  margin-left: 2px;
}

.vip-home-brand__cta:hover,
.vip-home-brand__cta:focus-visible {
  background: #c8926a;
  color: #fff;
}

@media (max-width: 1199px) {
  .vip-home-brand__card {
    width: 100%;
    max-width: min(var(--vip-home-brand-panel-w), 100%);
    padding: clamp(32px, 4vw, 50px) clamp(20px, 5vw, 161px) clamp(48px, 8vw, 135px) clamp(20px, 5vw, 156px);
  }

  .vip-home-brand__inner,
  .vip-home-brand__row {
    width: 100%;
  }

  .vip-home-brand__row {
    grid-template-columns: minmax(0, 700fr) minmax(0, 101fr) minmax(0, 572fr);
  }

  .vip-home-brand__row--media-end {
    grid-template-columns: minmax(0, 559fr) minmax(0, 91fr) minmax(0, 700fr) minmax(0, 23fr);
  }

  .vip-home-brand__row--media-end .vip-home-brand__copy {
    width: auto;
    padding-left: clamp(0px, 4vw, 51px);
  }

  .vip-home-brand__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 700 / 450;
  }
}

@media (max-width: 991px) {
  .vip-home-brand {
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }

  .vip-home-brand__card {
    width: 100%;
    border-radius: 12px;
  }

  .vip-home-brand__row,
  .vip-home-brand__row--media-end {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .vip-home-brand__row--media-end .vip-home-brand__media {
    order: 1;
  }

  .vip-home-brand__row--media-end .vip-home-brand__copy {
    order: 2;
    padding-left: 0;
    width: 100%;
  }

  .vip-home-brand__media,
  .vip-home-brand__copy {
    width: 100%;
    max-width: none;
  }

  .vip-home-brand__copy {
    display: block;
    min-height: 0;
    justify-content: flex-start;
  }

  .vip-home-brand__row--1,
  .vip-home-brand__row--2,
  .vip-home-brand__row--3,
  .vip-home-brand__row--4 {
    margin-bottom: 4rem;
  }

  .vip-home-brand__title {
    max-width: none;
    font-size: clamp(32px, 6vw, 48px);
  }

  .vip-home-brand__heading {
    font-size: clamp(28px, 5vw, 45px);
    margin-bottom: 1rem;
  }

  .vip-home-brand__copy p {
    margin-bottom: 1.25rem;
  }
}

/* Generic zigzag (magic section, etc.) — flex fallback. */
.vip-zigzag {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.15rem, 2.4vw, 2rem);
  align-items: center;
  justify-content: space-between;
  margin-bottom: clamp(1.25rem, 2.5vw, 1.85rem);
}

.vip-zigzag--flip {
  flex-direction: row-reverse;
}

.vip-zigzag__visual,
.vip-zigzag__copy {
  flex: 1 1 280px;
  min-width: 0;
}

.vip-zigzag__visual img {
  border-radius: 14px;
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.1);
}

.vip-zigzag__copy h3 {
  margin: 0 0 0.5rem;
  font-family: var(--vip-font-display);
  font-size: clamp(1.25rem, 2.6vw, 1.65rem);
}

.vip-zigzag__copy p {
  margin: 0 0 1rem;
  color: var(--vip-muted);
}

/* ==========================================================================
   Figma HOME Group 15 — “Importación con alma” (1690×666 @ 1920, parallax)
   ========================================================================== */

.vip-home-cta {
  position: relative;
  margin: 0 calc(50% - 50vw) clamp(48px, 4.7vw, var(--vip-home-brand-cta-gap));
  width: 100vw;
  max-width: none;
  height: clamp(360px, 34.7vw, var(--vip-home-cta-panel-h));
  min-height: clamp(360px, 34.7vw, var(--vip-home-cta-panel-h));
  overflow: hidden;
  border-radius: 0;
  box-sizing: border-box;
}

.vip-home-cta__parallax {
  position: absolute;
  left: 0;
  right: 0;
  top: -14%;
  height: 128%;
  z-index: 0;
  overflow: hidden;
  transform: translate3d(0, var(--vip-cta-parallax-y, 0), 0);
  will-change: transform;
}

/* Fill parallax layer edge-to-edge (no cream gaps under the scrim). */
.vip-home-cta__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.vip-home-cta__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--vip-home-cta-scrim);
  pointer-events: none;
}

/* Full banner box — grid centres the logo+text block with equal space above/below. */
.vip-home-cta__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding-inline: clamp(1.25rem, 6vw, var(--vip-home-cta-pad-x));
  color: #fff;
}

.vip-home-cta__content {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: clamp(1.25rem, 3.75vw, var(--vip-home-cta-logo-gap));
  box-sizing: border-box;
  width: min(var(--vip-home-cta-panel-w), 100%);
  max-width: 100%;
  margin: 0;
  text-align: left;
}

/* Figma 89:1642 — white tile + mark baked into SVG (201×200). */
.vip-home-cta__mark {
  flex: 0 0 auto;
  display: block;
  width: clamp(100px, 10.4vw, var(--vip-home-cta-logo-w));
  height: auto;
}

.vip-home-cta__tagline {
  display: flex;
  flex-direction: column;
  gap: 0.12em;
  flex: 0 1 auto;
  margin: 0;
  width: max-content;
  max-width: min(1180px, calc(100% - var(--vip-home-cta-logo-w) - var(--vip-home-cta-logo-gap)));
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(1.75rem, 2.8125vw, 54px);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
}

.vip-home-cta__line {
  display: block;
}

@media (min-width: 768px) {
  .vip-home-cta__line {
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vip-home-cta__parallax {
    top: 0;
    height: 100%;
    transform: none;
    will-change: auto;
  }
}

@media (max-width: 575px) {
  .vip-home-cta__content {
    flex-direction: column;
    text-align: center;
    gap: 1.25rem;
  }

  .vip-home-cta__mark {
    width: clamp(88px, 22vw, 160px);
  }

  .vip-home-cta__tagline {
    width: auto;
    max-width: 100%;
  }
}

/* ==========================================================================
   Figma HOME Group 16 — “El rincón de la magia” (designs/HOME.jpg @ 1920)
   Centered 1690px dark panel + TRAMAMISTICA · inner 1373 · images 700×450
   ========================================================================== */

/* Centered panel on cream (HOME.jpg) — dark + stars on __shell, not 100vw bleed. */
.vip-home-magic {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: clamp(48px, 4.7vw, var(--vip-home-brand-cta-gap));
  margin-bottom: 3rem;
  padding-left: max(var(--vip-shell-gutter), calc(50vw - var(--vip-home-magic-panel-w) / 2));
  padding-right: max(var(--vip-shell-gutter), calc(50vw - var(--vip-home-magic-panel-w) / 2));
  box-sizing: border-box;
}

.vip-home-magic__shell {
  position: relative;
  width: var(--vip-home-magic-panel-w);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--vip-home-magic-surface);
  padding: 50.4px 161.3px 135px 155.5px;
}

.vip-home-magic__shell::before {
  content: "";
  position: absolute;
  inset: -4%;
  background-image: url("../img/textures/TRAMAMISTICA.webp");
  background-repeat: repeat;
  background-size: var(--vip-home-magic-stars-tile);
  opacity: var(--vip-home-magic-stars-opacity);
  filter: blur(var(--vip-home-magic-stars-blur));
  transform: scale(1.06);
  transform-origin: center;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .vip-home-magic__shell::before {
    filter: none;
    transform: none;
    inset: 0;
  }
}

.vip-home-magic__inner {
  position: relative;
  z-index: 1;
  width: var(--vip-home-brand-inner-w);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.vip-home-magic__intro {
  margin: 0 auto;
  max-width: 1003px;
  text-align: center;
}

.vip-home-magic__logo-tile {
  width: 144px;
  height: 144px;
  margin: 0 auto 43px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
}

.vip-home-magic__logo-mark {
  display: block;
  width: 144px;
  height: 144px;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  object-fit: cover;
  object-position: center;
}

.vip-home-magic__title {
  margin: 0 auto 23px;
  max-width: 429px;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 48px;
  line-height: 45px;
  letter-spacing: 0;
  color: #fff;
  text-wrap: balance;
}

.vip-home-magic__lead {
  margin: 0 auto 107px;
  max-width: 1003px;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 400;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  text-wrap: pretty;
}

.vip-home-magic__row {
  display: grid;
  grid-template-columns: 700px 101px 572px;
  align-items: start;
  width: var(--vip-home-brand-inner-w);
  max-width: 100%;
  margin: 0;
}

.vip-home-magic__row--media-end {
  grid-template-columns: 559px 91px 700px 23px;
}

.vip-home-magic__media {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  width: 700px;
  max-width: 100%;
}

.vip-home-magic__row--media-end .vip-home-magic__media {
  grid-column: 3;
}

.vip-home-magic__copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: var(--vip-home-brand-img-h);
  grid-column: 3;
  grid-row: 1;
  width: 572px;
  max-width: 100%;
  box-sizing: border-box;
}

.vip-home-magic__row--media-end .vip-home-magic__copy {
  grid-column: 1;
  width: 559px;
  padding-left: 51px;
}

.vip-home-magic__row--1 {
  --vip-magic-title-gap: 22px;
  --vip-magic-body-gap: 18px;
  margin-bottom: 96px;
}

.vip-home-magic__row--2 {
  --vip-magic-title-gap: 18px;
  --vip-magic-body-gap: 16px;
  margin-bottom: 137px;
}

.vip-home-magic__row--3 {
  --vip-magic-title-gap: 22px;
  --vip-magic-body-gap: 20px;
  margin-bottom: 83px;
}

.vip-home-magic__row--4 {
  --vip-magic-title-gap: 18px;
  --vip-magic-body-gap: 18px;
  margin-bottom: 108px;
}

.vip-home-magic__row--5 {
  --vip-magic-title-gap: 20px;
  --vip-magic-body-gap: 18px;
  margin-bottom: 0;
}

.vip-home-magic__media img {
  display: block;
  width: 700px;
  max-width: 100%;
  height: 450px;
  border-radius: 12px;
  object-fit: cover;
  object-position: center;
}

.vip-home-magic__heading {
  margin: 0 0 var(--vip-magic-title-gap, 20px);
  max-width: var(--vip-home-brand-copy-w);
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 45px;
  line-height: 45px;
  letter-spacing: 0;
  color: #fff;
  text-wrap: balance;
}

.vip-home-magic__row--5 .vip-home-magic__heading {
  max-width: 572px;
}

.vip-home-magic__copy p {
  margin: 0 0 var(--vip-magic-body-gap, 18px);
  max-width: var(--vip-home-brand-copy-w);
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 400;
  letter-spacing: 0;
  color: #fff;
  text-wrap: pretty;
}

.vip-home-magic__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 124px;
  height: 53px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: var(--vip-home-magic-cta-bg);
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 400;
  font-size: 15px;
  line-height: 22.5px;
  letter-spacing: 0;
  text-decoration: none;
}

.vip-home-magic__cta::after {
  content: " >";
  margin-left: 2px;
}

.vip-home-magic__cta:hover,
.vip-home-magic__cta:focus-visible {
  background: var(--vip-home-magic-cta-bg-hover);
  color: #fff;
}

@media (max-width: 1199px) {
  .vip-home-magic__shell {
    width: 100%;
    max-width: min(var(--vip-home-magic-panel-w), 100%);
    border-radius: 12px;
    padding: clamp(32px, 4vw, 50.4px) clamp(20px, 5vw, 161px) clamp(48px, 8vw, 135px) clamp(20px, 5vw, 156px);
  }

  .vip-home-magic__inner,
  .vip-home-magic__row {
    width: 100%;
  }

  .vip-home-magic__row {
    grid-template-columns: minmax(0, 700fr) minmax(0, 101fr) minmax(0, 572fr);
  }

  .vip-home-magic__row--media-end {
    grid-template-columns: minmax(0, 559fr) minmax(0, 91fr) minmax(0, 700fr) minmax(0, 23fr);
  }

  .vip-home-magic__row--media-end .vip-home-magic__copy {
    width: auto;
    padding-left: clamp(0px, 4vw, 51px);
  }

  .vip-home-magic__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 700 / 450;
  }
}

@media (max-width: 991px) {
  .vip-home-magic {
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }

  .vip-home-magic__shell {
    width: 100%;
  }

  .vip-home-magic__row,
  .vip-home-magic__row--media-end {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .vip-home-magic__row--media-end .vip-home-magic__media {
    order: 1;
  }

  .vip-home-magic__row--media-end .vip-home-magic__copy {
    order: 2;
    padding-left: 0;
    width: 100%;
  }

  .vip-home-magic__media,
  .vip-home-magic__copy {
    width: 100%;
    max-width: none;
  }

  .vip-home-magic__copy {
    display: block;
    min-height: 0;
    justify-content: flex-start;
  }

  .vip-home-magic__row--1,
  .vip-home-magic__row--2,
  .vip-home-magic__row--3,
  .vip-home-magic__row--4 {
    margin-bottom: 4rem;
  }

  .vip-home-magic__title {
    max-width: none;
    font-size: clamp(32px, 6vw, 48px);
  }

  .vip-home-magic__heading {
    font-size: clamp(28px, 5vw, 45px);
    margin-bottom: 1rem;
  }

  .vip-home-magic__copy p {
    margin-bottom: 1.25rem;
  }
}

.vip-btn--outline-inverse {
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.92);
  color: #fff;
  background: transparent;
  padding: 0.5rem 1.25rem;
  font-weight: 700;
  text-decoration: none;
}

.vip-btn--outline-inverse:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  text-decoration: none;
}

.vip-home-blog-placeholder {
  /* Hero/Novedades width contract. */
  width: var(--vip-home-feature-width);
  max-width: none;
  margin-top: 0;
  margin-right: calc((100% - var(--vip-home-feature-width)) / 2);
  margin-bottom: 3rem;
  margin-left: calc((100% - var(--vip-home-feature-width)) / 2);
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 767px) {
  .vip-home-blog-placeholder {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    padding-left: var(--vip-shell-gutter);
    padding-right: var(--vip-shell-gutter);
  }
}

/* "Síguenos para conocer / todas nuestras novedades" — two-line display title
 * over a large grey placeholder block (matches `designs/HOME.jpg`). */
.vip-home-section-title--blog {
  font-family: var(--vip-font-display);
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.12;
  color: #7e614a;
  text-align: center;
  text-wrap: balance;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.vip-home-section-title--blog .vip-home-section-title__line {
  display: block;
}

.vip-home-blog-placeholder__box {
  border-radius: 14px;
  background: var(--vip-page-bg);
  border: 1px dashed rgba(213, 161, 125, 0.45);
  color: rgba(43, 43, 43, 0.55);
  text-align: center;
  padding: clamp(3.5rem, 9vw, 6rem) clamp(1.5rem, 4vw, 3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(200px, 22vw, 320px);
}

.vip-home-blog-placeholder__copy {
  margin: 0;
  max-width: 32ch;
  font-family: var(--vip-font-display);
  font-weight: 700;
  font-size: clamp(1.1rem, 2.4vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: inherit;
  text-wrap: balance;
}

/* --- Footer (comp) --------------------------------------------------------- */

:root {
  --vip-footer-tan: #c89673;
  --vip-footer-tan-dark: #a87852;
}

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

#footer.vip-footer-shell {
  margin-top: 0;
  padding: 0;
  background: transparent;
}

.vip-footer-newsletter {
  background: var(--vip-footer-tan);
  color: #fff;
  padding: clamp(2rem, 5vw, 2.75rem) 0;
  text-align: center;
}

.vip-footer-newsletter__title {
  margin: 0 0 1.15rem;
  font-family: var(--vip-font-display);
  font-weight: 600;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  color: #fff;
}

.vip-footer-newsletter__form {
  max-width: 640px;
  margin: 0 auto;
}

.vip-footer-newsletter__field {
  display: flex;
  align-items: stretch;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.vip-footer-newsletter__input {
  flex: 1 1 auto;
  border: none;
  padding: 0.85rem 1rem;
  font-size: 0.95rem;
  min-width: 0;
}

.vip-footer-newsletter__input:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--vip-terra);
}

.vip-footer-newsletter__submit {
  flex: 0 0 52px;
  border: none;
  background: var(--vip-charcoal);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.vip-footer-newsletter__submit:hover {
  background: #000;
}

.vip-footer-newsletter__legal {
  margin: 0.85rem auto 0;
  max-width: 52ch;
  font-size: 0.78rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.92);
}

.vip-footer-newsletter__legal-link {
  color: #fff;
  text-decoration: underline;
}

.vip-footer-main {
  background: #fff;
  color: var(--vip-text);
  padding: clamp(2rem, 5vw, 3rem) 0;
}

.vip-footer-main__grid {
  row-gap: 2rem;
}

.vip-footer-col__title {
  margin: 0 0 0.85rem;
  font-family: var(--vip-font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--vip-footer-tan);
  text-transform: none;
}

.vip-footer-brand__logo {
  max-width: min(280px, 100%);
  height: auto;
  margin-bottom: 0.65rem;
}

.vip-footer-brand__tagline {
  margin: 0 0 0.75rem;
  font-family: var(--vip-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--vip-footer-tan);
  line-height: 1.35;
}

.vip-footer-brand__about {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--vip-muted);
  max-width: 36ch;
}

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

.vip-footer-links li + li,
.vip-footer-contact li + li {
  margin-top: 0.45rem;
}

.vip-footer-links a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  color: var(--vip-muted);
  font-size: 0.88rem;
  text-decoration: none;
}

.vip-footer-links a::before {
  content: "›";
  color: var(--vip-footer-tan);
  font-weight: 700;
}

.vip-footer-links a:hover {
  color: var(--vip-terra-dark);
}

.vip-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.88rem;
  color: var(--vip-muted);
}

.vip-footer-contact a {
  color: var(--vip-muted);
  text-decoration: none;
}

.vip-footer-contact a:hover {
  color: var(--vip-terra-dark);
}

.vip-footer-contact__icon {
  font-size: 1.1rem;
  color: var(--vip-footer-tan);
  line-height: 1.35;
}

.vip-footer-col--contact .vip-payment-strip {
  margin-top: 1.15rem;
}

.vip-footer-col--contact .vip-payment-strip__inner {
  justify-content: flex-start;
  gap: 0.5rem 0.85rem;
}

.vip-footer-col--contact .vip-payment-strip__mark {
  height: 26px;
  max-width: 48px;
}

.vip-footer-social {
  background: var(--vip-footer-tan-dark);
  padding: 0.65rem 0;
}

.vip-footer-social__list {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.vip-footer-social__link {
  color: #fff;
  display: grid;
  place-items: center;
  opacity: 0.95;
}

.vip-footer-social__link:hover {
  opacity: 1;
  color: #fff;
}

/* CMS legal / content pages */

#cms #wrapper .container {
  max-width: var(--vip-figma-content-width);
}

#cms .breadcrumb {
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-size: 12px;
  line-height: 14.4px;
}

#cms .breadcrumb a {
  color: #878787;
  text-decoration: none;
}

#cms .breadcrumb li:last-child span {
  color: var(--vip-figma-tan);
}

.vip-cms-page .page-header {
  text-align: left;
  margin: 0 0 1.25rem;
}

.vip-cms-page .page-header h1 {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 37px;
  line-height: 36px;
  color: var(--vip-figma-brown);
}

.vip-cms-page.page-content {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.vip-cms-page__inner {
  max-width: none;
  margin: 0;
  padding: clamp(1.35rem, 2.5vw, 2.25rem);
  background: #fff;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
}

.vip-cms-page .vip-cms-title {
  display: none;
}

.vip-cms {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-text);
}

.vip-cms-lead {
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
  margin: 0 0 1.5rem;
}

.vip-cms-heading {
  font-family: var(--vip-font-display);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--vip-figma-brown);
  margin: 1.5rem 0 0.75rem;
}

.vip-cms-subheading {
  font-size: var(--vip-figma-parrafo-size);
  font-weight: 700;
  color: var(--vip-figma-brown);
  margin: 1.15rem 0 0.45rem;
}

.vip-cms-divider {
  border: 0;
  border-top: 1px solid rgba(213, 161, 125, 0.35);
  margin: 1.5rem 0;
}

.vip-cms-card {
  background: var(--vip-cream);
  border: 1px solid rgba(213, 161, 125, 0.25);
  border-radius: 4px;
  padding: 1.15rem 1.35rem;
  margin: 1rem 0 1.5rem;
}

.vip-cms-facts {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vip-cms-facts li {
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.vip-cms-facts li:last-child {
  border-bottom: none;
}

.vip-cms-note {
  font-size: 12px;
  line-height: 1.45;
  color: #878787;
  font-style: italic;
  margin: 1.25rem 0 0;
}

.vip-cms p {
  margin: 0 0 0.85rem;
}

.vip-cms p:last-child {
  margin-bottom: 0;
}

.vip-cms ul,
.vip-cms ol {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
  list-style-position: outside;
}

.vip-cms ul {
  list-style-type: disc;
}

.vip-cms ol {
  list-style-type: decimal;
}

.vip-cms li {
  display: list-item;
  margin-bottom: 0.65rem;
}

.vip-cms li:last-child {
  margin-bottom: 0;
}

.vip-cms li > p {
  margin: 0;
  display: inline;
}

.vip-cms blockquote {
  margin: 0.5rem 0 1rem;
  padding: 0.65rem 1rem;
  border-left: 3px solid var(--vip-figma-tan);
  background: var(--vip-page-bg);
  font-size: var(--vip-figma-parrafo-size);
}

.vip-cms a {
  color: var(--vip-figma-brown);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.vip-cms a:hover {
  color: var(--vip-figma-tan);
}

.vip-cms--legal .vip-cms-heading {
  margin-top: 2rem;
}

/* --------------------------------------------------------------------------
 * Figma inner pages — TIENDA, FICHA PRODUCTO, REGISTRO (file sXGo3dsS4r8lfnFBOjCyRJ)
 * -------------------------------------------------------------------------- */

#category #wrapper .container,
#search #wrapper .container,
#manufacturer #wrapper .container,
#supplier #wrapper .container,
#new-products #wrapper .container,
#prices-drop #wrapper .container,
#best-sales #wrapper .container,
#category #wrapper .container,
#search #wrapper .container,
#manufacturer #wrapper .container,
#supplier #wrapper .container,
#new-products #wrapper .container,
#prices-drop #wrapper .container,
#best-sales #wrapper .container,
#product #wrapper .container,
#registration #wrapper .container,
#authentication #wrapper .container {
  max-width: var(--vip-figma-content-width);
}

#category #main,
#search #main,
#manufacturer #main,
#supplier #main,
#new-products #main,
#prices-drop #main,
#best-sales #main {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-text);
}

#search h1,
#manufacturer h1,
#supplier h1 {
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(2rem, 4.5vw, 57px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
  margin-bottom: 1.25rem;
}

body#search.vip-tienda-page .vip-tienda__search-title,
body#search.vip-tienda-page #js-product-list-header.vip-tienda__title {
  color: var(--vip-figma-tan) !important;
}

/* --------------------------------------------------------------------------
 * Figma TIENDA — catalog listing (layout-vip-tienda.tpl)
 * -------------------------------------------------------------------------- */

.vip-tienda-page #wrapper {
  background: var(--vip-page-bg);
}

.vip-tienda__container {
  width: var(--vip-figma-content-width);
  max-width: none;
}

.vip-tienda-page .breadcrumb {
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1.4;
}

.vip-tienda-page .breadcrumb a {
  color: #878787;
  text-decoration: none;
}

.vip-tienda-page .breadcrumb li:last-child span {
  color: var(--vip-figma-brown);
}

.vip-tienda__intro {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.vip-tienda__title {
  margin: 0 0 0.75rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(2rem, 4.5vw, 57px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
}

.vip-tienda__lead {
  max-width: 52rem;
  margin: 0 0 1.25rem;
  font-family: var(--vip-font-body);
  font-size: 20px;
  line-height: var(--vip-figma-parrafo-lh);
  color: #7E614A;
}

/* Nested BO paragraphs only — do not set color:inherit on p.vip-tienda__lead (the tpl uses that class on the <p> itself). */
.vip-tienda__lead p {
  margin: 0;
  color: inherit;
}

/* Beat #category #main { font-size; color } — same element carries both selectors. */
#category.vip-tienda-page #vip-tienda-intro .vip-tienda__lead,
#prices-drop.vip-tienda-page #vip-tienda-intro .vip-tienda__lead {
  font-family: var(--vip-font-body);
  font-size: 20px;
  line-height: var(--vip-figma-parrafo-lh);
  color: #7E614A;
}

.vip-tienda__hero {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  aspect-ratio: 1357 / 360;
  max-height: min(42vw, 360px);
}

.vip-tienda__hero-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Shift crop down to show more of the foreground (incense/table base). */
  object-position: center 88%;
}

.vip-tienda__hero-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.22) 45%, rgba(0, 0, 0, 0.12) 100%);
}

.vip-tienda__hero-label {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%);
  width: max-content;
  max-width: calc(100% - 2.5rem);
  text-align: center;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 1;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.vip-tienda__layout {
  align-items: flex-start;
  gap: 30px 0;
}

.vip-tienda__sidebar {
  padding-right: 0.5rem;
}

/* Sidebar panels — bordered boxes (Figma TIENDA filters comp). */
.vip-tienda__sidebar-panel {
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  background: #fff;
  padding: 1.2rem 1.1rem;
  margin-bottom: 1.15rem;
}

.vip-tienda__panel-title {
  margin: 0 0 0.85rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 20px;
  line-height: 1.15;
  color: var(--vip-figma-brown);
}

/* Category tree */
.vip-tienda__tree-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-tienda__tree-list--sub {
  margin: 0.15rem 0 0.35rem 0.85rem;
  padding-left: 0.35rem;
  border-left: 1px solid rgba(213, 161, 125, 0.25);
}

.vip-tienda__tree-item {
  margin: 0;
  padding: 0;
}

.vip-tienda__tree-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.vip-tienda__tree-link {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
  padding: 0.22rem 0;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
}

.vip-tienda__tree-link::before {
  content: ">";
  display: inline-block;
  margin-right: 0.4rem;
  color: #c8c8c8;
  font-size: 12px;
  font-weight: 700;
  transform: translateY(-1px);
}

.vip-tienda__tree-link:hover,
.vip-tienda__tree-link:focus-visible,
.vip-tienda__tree-link.is-active {
  color: var(--vip-figma-tan);
}

.vip-tienda__tree-link.is-active::before,
.vip-tienda__tree-link:hover::before,
.vip-tienda__tree-link:focus-visible::before {
  color: var(--vip-figma-tan);
}

.vip-tienda__tree-toggle {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.vip-tienda__tree-chevron {
  display: block;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid #c8c8c8;
  border-bottom: 1.5px solid #c8c8c8;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.15s ease;
}

.vip-tienda__tree-toggle:not(.collapsed) .vip-tienda__tree-chevron {
  transform: rotate(-135deg) translateY(1px);
}

.vip-tienda__tree-toggle:hover .vip-tienda__tree-chevron,
.vip-tienda__tree-toggle:focus-visible .vip-tienda__tree-chevron {
  border-color: var(--vip-figma-tan);
}

/* Sidebar + facets — #left-column is OUTSIDE #main; scope on body.vip-tienda-page */
body.vip-tienda-page #left-column {
  background: transparent;
  border: none;
  padding: 0 0.5rem 0 0;
}

body.vip-tienda-page #left-column #search_filters,
body.vip-tienda-page #left-column #search_filters.vip-tienda__facets,
body.vip-tienda-page #left-column .vip-tienda__sidebar-panel {
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  background: #fff;
  padding: 1.2rem 1.1rem;
  margin-bottom: 1.15rem;
  box-shadow: none;
}

body.vip-tienda-page #left-column #search_filters > .text-uppercase.h6,
body.vip-tienda-page #left-column #search_filters > p.h6 {
  display: none;
}

body.vip-tienda-page #left-column #search_filters .facet {
  border: none;
  padding: 0;
  margin: 0 0 1.1rem;
  background: transparent;
}

body.vip-tienda-page #left-column #search_filters .facet:last-child {
  margin-bottom: 0;
}

body.vip-tienda-page #search_filters_suppliers {
  display: none !important;
}

body.vip-tienda-page #search_filters_brands {
  display: none !important;
}

body.vip-tienda-page #left-column .block-categories,
body.vip-tienda-page #left-column .block-categories a,
body.vip-tienda-page #left-column .vip-tienda__tree-link {
  text-transform: none !important;
  letter-spacing: normal;
}
body.vip-tienda-page #left-column #search_filters .h6.facet-title,
body.vip-tienda-page #left-column #search_filters .vip-tienda__facet-title {
  margin: 0 0 0.55rem;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 700;
  color: var(--vip-figma-tan);
  text-transform: none;
}

body.vip-tienda-page #left-column #search_filters .facet-label {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  padding: 0.18rem 0;
}

body.vip-tienda-page #left-column #search_filters .facet-label a,
body.vip-tienda-page #left-column #search_filters .vip-tienda__facet-link {
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
  text-decoration: none;
}

body.vip-tienda-page #left-column #search_filters .facet-label a:hover,
body.vip-tienda-page #left-column #search_filters .facet-label.active a,
body.vip-tienda-page #left-column #search_filters .vip-tienda__facet-link:hover,
body.vip-tienda-page #left-column #search_filters .vip-tienda__facet-label.is-active .vip-tienda__facet-link {
  color: var(--vip-figma-tan);
}

body.vip-tienda-page #left-column #search_filters .custom-checkbox input[type="checkbox"] + span,
body.vip-tienda-page #left-column #search_filters .custom-radio input[type="radio"] + span {
  width: 14px;
  height: 14px;
  min-width: 14px;
  border: 1px solid #c8c8c8;
  border-radius: 2px;
  background: #fff;
}

body.vip-tienda-page #left-column #search_filters ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.vip-tienda-page #left-column .block:not(.vip-tienda__sidebar-panel):not(.vip-tienda__categories),
body.vip-tienda-page #left-column .block-categories > .h6:not(.vip-tienda__panel-title),
body.vip-tienda-page #left-column .text-uppercase.h6:not(.vip-tienda__panel-title) {
  display: none;
}

.vip-tienda__facets .facet {
  border: none;
  padding: 0;
  margin: 0 0 1.1rem;
}

.vip-tienda__facets .facet:last-child {
  margin-bottom: 0;
}

.vip-tienda__facet-title {
  margin: 0 0 0.55rem;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 700;
  color: var(--vip-figma-tan);
  text-transform: none;
}

.vip-tienda__facet-title--link {
  display: inline-block;
  text-decoration: none;
}

.vip-tienda__facet-title--link:hover,
.vip-tienda__facet-title--link:focus-visible {
  color: var(--vip-figma-brown);
}

.vip-tienda__facet-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  margin: 0 0 0.55rem;
  padding: 0;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.vip-tienda__facet-toggle .vip-tienda__facet-title {
  margin: 0;
}

.vip-tienda__facet-chevron {
  flex: 0 0 auto;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--vip-figma-tan);
  border-bottom: 2px solid var(--vip-figma-tan);
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.15s ease;
}

.vip-tienda__facet-toggle[aria-expanded="true"] .vip-tienda__facet-chevron,
.vip-tienda__facet-mobile[aria-expanded="true"] .vip-tienda__facet-mobile-icon {
  transform: rotate(-135deg) translateY(1px);
}

body.vip-tienda-page #left-column .vip-tienda__facet--collapsible .collapse:not(.in):not(.show) {
  display: none;
}

body.vip-tienda-page #left-column .vip-tienda__facet--collapsible .collapse.in,
body.vip-tienda-page #left-column .vip-tienda__facet--collapsible .collapse.show {
  display: block;
}

body.vip-tienda-page #left-column .vip-tienda__facet--manufacturer .vip-tienda__facet-list--manufacturer {
  max-height: 220px;
  overflow-y: auto;
  padding-right: 0.15rem;
  margin: 0;
}

body.vip-tienda-page #left-column .vip-tienda__facet--manufacturer .vip-tienda__facet-item[hidden] {
  display: none !important;
}

.vip-tienda__brand-search {
  display: block;
  margin-bottom: 0.55rem;
}

.vip-tienda__brand-search-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 4px;
  background: #fff;
  font-family: var(--vip-font-body);
  font-size: 14px;
  line-height: 1.35;
  color: #878787;
}

.vip-tienda__brand-search-input::placeholder {
  color: #b8b8b8;
}

.vip-tienda__brand-search-input:focus {
  outline: none;
  border-color: var(--vip-figma-tan);
  color: #5a5a5a;
}

.vip-tienda__brand-search-empty {
  margin: 0 0 0.35rem;
  font-family: var(--vip-font-body);
  font-size: 13px;
  line-height: 1.35;
  color: #878787;
}

body.vip-tienda-page #left-column #search_filters .vip-tienda__facet--manufacturer .vip-tienda__facet-link,
body.vip-tienda-page #left-column #search_filters .vip-tienda__facet--manufacturer .facet-label a {
  text-transform: none !important;
  letter-spacing: normal;
}

.vip-tienda__facets-clear {
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(213, 161, 125, 0.25);
}

.vip-tienda__clear-btn {
  border: none;
  background: transparent;
  padding: 0;
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 600;
  color: #878787;
  text-decoration: underline;
  cursor: pointer;
}

.vip-tienda__clear-btn:hover,
.vip-tienda__clear-btn:focus-visible {
  color: var(--vip-figma-tan);
}

.vip-tienda__facet-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-tienda__facet-item {
  margin: 0;
  padding: 0;
}

.vip-tienda__facet-label {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  padding: 0.18rem 0;
  cursor: pointer;
}

.vip-tienda__facet-label .vip-tienda__checkbox,
.vip-tienda__facet-label .vip-tienda__radio {
  flex: 0 0 auto;
  margin-top: 0.15rem;
}

.vip-tienda__facet-label .custom-checkbox input[type="checkbox"] + span,
.vip-tienda__facet-label .custom-radio input[type="radio"] + span {
  width: 14px;
  height: 14px;
  min-width: 14px;
  border: 1px solid #c8c8c8;
  border-radius: 2px;
  background: #fff;
}

.vip-tienda__facet-label .custom-checkbox input[type="checkbox"]:checked + span,
.vip-tienda__facet-label .custom-radio input[type="radio"]:checked + span {
  border-color: var(--vip-figma-tan);
  background: var(--vip-figma-tan);
}

.vip-tienda__facet-label .custom-checkbox .checkbox-checked {
  font-size: 12px;
  color: #fff;
}

.vip-tienda__facet-link {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
  text-decoration: none;
}

.vip-tienda__facet-link:hover,
.vip-tienda__facet-link:focus-visible,
.vip-tienda__facet-label.is-active .vip-tienda__facet-link {
  color: var(--vip-figma-tan);
}

.vip-tienda__facet-link .magnitude {
  color: inherit;
}

.vip-tienda__facet-dropdown {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 4px;
  font-size: 14px;
  color: #878787;
  text-decoration: none;
}

/* Color swatch row */
.vip-tienda__color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-tienda__color-item {
  margin: 0;
  padding: 0;
}

.vip-tienda__color-label {
  display: block;
  margin: 0;
  cursor: pointer;
}

.vip-tienda__color-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.vip-tienda__color-swatch {
  display: block;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 2px;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.vip-tienda__color-swatch--fallback {
  background: #f0f0f0;
}

.vip-tienda__color-label.is-active .vip-tienda__color-swatch,
.vip-tienda__color-input:checked + .vip-tienda__color-swatch {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--vip-figma-tan);
}

.vip-tienda__color-label:hover .vip-tienda__color-swatch,
.vip-tienda__color-label:focus-within .vip-tienda__color-swatch {
  transform: scale(1.05);
}

/* Price / range slider (jQuery UI from ps_facetedsearch) */
.vip-tienda__slider {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-tienda__slider-label {
  margin: 0 0 0.65rem;
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
}

.vip-tienda__slider-track {
  margin: 0.15rem 0 0.35rem;
}

.vip-tienda__facets .ui-widget.ui-widget-content {
  border: none;
  background: transparent;
}

.vip-tienda__facets .ui-slider-horizontal {
  height: 3px;
  border: none;
  border-radius: 999px;
  background: rgba(213, 161, 125, 0.35);
}

.vip-tienda__facets .ui-slider-horizontal .ui-slider-range {
  background: var(--vip-figma-tan);
  border-radius: 999px;
}

.vip-tienda__facets .ui-slider .ui-slider-handle {
  top: 50%;
  width: 4px;
  height: 14px;
  margin-top: -7px;
  margin-left: -2px;
  border: none;
  border-radius: 1px;
  background: var(--vip-figma-tan);
  cursor: ew-resize;
}

.vip-tienda__facets .ui-slider .ui-slider-handle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(213, 161, 125, 0.35);
}

.vip-tienda__suppliers .vip-tienda__facet-empty {
  margin: 0;
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
}

.vip-tienda__suppliers ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-tienda__suppliers .facet-label {
  margin: 0;
  padding: 0.18rem 0;
}

.vip-tienda__suppliers .facet-label a {
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
  text-decoration: none;
}

.vip-tienda__suppliers .facet-label a:hover,
.vip-tienda__suppliers .facet-label a:focus-visible {
  color: var(--vip-figma-tan);
}

.vip-tienda__facet-mobile {
  display: none;
}

.vip-tienda-page #left-column .block:not(.vip-tienda__sidebar-panel):not(.vip-tienda__categories),
.vip-tienda-page #left-column .block-categories > .h6:not(.vip-tienda__panel-title),
.vip-tienda-page #left-column .text-uppercase.h6:not(.vip-tienda__panel-title),
.vip-tienda-wrapper #left-column .block:not(.vip-tienda__sidebar-panel):not(.vip-tienda__categories) {
  display: none;
}

.vip-tienda__toolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 1.25rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(126, 97, 74, 0.12);
  border-bottom: 1px solid rgba(126, 97, 74, 0.15);
}

.vip-tienda__toolbar-start {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.vip-tienda__view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.vip-tienda__view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.15rem;
  border: none;
  background: transparent;
  color: #c8c8c8;
  cursor: pointer;
  line-height: 0;
  transition: color 0.15s ease;
}

.vip-tienda__view-btn:hover,
.vip-tienda__view-btn:focus-visible {
  color: var(--vip-figma-tan);
}

.vip-tienda__view-btn.is-active {
  color: var(--vip-figma-brown);
}

.vip-tienda__count {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  color: #878787;
  text-align: center;
}

.vip-tienda__count--figma {
  justify-self: center;
}

.vip-tienda__toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-left: 0;
}

.vip-tienda__select-wrap {
  position: relative;
  margin: 0;
}

.vip-tienda__select {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  min-width: 7.5rem;
  padding: 0.45rem 0.75rem;
  border: none;
  border-radius: 6px;
  background: var(--vip-figma-tan);
  color: #fff;
  font-family: var(--vip-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.vip-tienda__select--compact {
  min-width: 3.25rem;
  justify-content: center;
}

.vip-tienda__select-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vip-tienda__select-chevron {
  flex: 0 0 auto;
}

.vip-tienda__select-menu {
  min-width: 100%;
  margin-top: 0.25rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 6px;
  padding: 0.25rem 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.vip-tienda__select-menu .dropdown-item {
  font-size: 12px;
  font-weight: 600;
  color: #878787;
}

.vip-tienda__select-menu .dropdown-item.current,
.vip-tienda__select-menu .dropdown-item:hover,
.vip-tienda__select-menu .dropdown-item:focus-visible {
  color: var(--vip-figma-brown);
  background: rgba(213, 161, 125, 0.12);
}

.vip-tienda__toolbar .products-sort-order {
  margin: 0;
}

.vip-tienda__toolbar .select-title {
  border-radius: 8px;
  border: 1px solid #d5a17d;
  font-size: 12px;
  font-weight: 600;
  color: var(--vip-figma-brown);
}

/* Classic `#products .products { display:flex }` beats a single class — anchor grid here. */
#main.vip-tienda #products .products.vip-tienda__products,
.vip-tienda-page #products .products.vip-tienda__products,
.vip-tienda__products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.75rem) clamp(0.85rem, 1.5vw, 1.35rem);
  margin: 0;
  padding: 0;
}

#main.vip-tienda #products .products.vip-tienda__products > .vip-product-card,
.vip-tienda-page #products .products.vip-tienda__products > .vip-product-card {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  float: none;
}

/* Tienda cards — same portrait grid as homepage Novedades (Figma TIENDA comp). */
.vip-product-card--tienda .vip-product-card__thumb {
  border-radius: 20px;
  aspect-ratio: 4 / 5;
}

.vip-product-card--tienda .vip-product-card__thumb img {
  object-fit: cover;
  padding: 0;
}

.vip-product-card--tienda .vip-product-card__category {
  font-style: italic;
}

/* Tienda list view — horizontal row (Figma TIENDA list toggle). */
.vip-tienda__products--list {
  grid-template-columns: 1fr !important;
  gap: 1.15rem !important;
}

.vip-tienda__products--list > .vip-product-card--tienda {
  display: grid;
  grid-template-columns: clamp(4.5rem, 10vw, 6.5rem) minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 1.25rem;
  padding: 0.35rem 0;
  border-bottom: none;
}

.vip-tienda__products--list .vip-product-card__media {
  width: 100%;
}

.vip-tienda__products--list .vip-product-card--tienda .vip-product-card__thumb {
  aspect-ratio: 1 / 1;
  border-radius: 12px;
}

.vip-tienda__products--list .vip-product-card__body {
  display: contents;
}

.vip-tienda__products--list .vip-product-card__copy {
  min-width: 0;
}

.vip-tienda__products--list .vip-product-card__pricing {
  align-items: flex-end;
  padding-right: 0.15rem;
}

@media (max-width: 575px) {
  .vip-tienda__toolbar {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .vip-tienda__toolbar-start {
    justify-content: flex-start;
  }

  .vip-tienda__count--figma {
    justify-self: start;
    text-align: left;
  }

  .vip-tienda__toolbar-actions {
    justify-content: flex-start;
  }

  .vip-tienda__products--list {
    gap: 1.35rem !important;
  }

  .vip-tienda__products--list > .vip-product-card--tienda {
    grid-template-columns: clamp(4rem, 18vw, 5.5rem) minmax(0, 1fr);
    grid-template-areas:
      "media copy"
      "media price";
    row-gap: 0.5rem;
    padding: 0.25rem 0;
  }

  .vip-tienda__products--list .vip-product-card__media {
    grid-area: media;
  }

  .vip-tienda__products--list .vip-product-card__copy {
    grid-area: copy;
  }

  .vip-tienda__products--list .vip-product-card__pricing {
    grid-area: price;
    align-items: flex-start;
    text-align: left;
    padding-left: calc(clamp(4rem, 18vw, 5.5rem) + 1rem);
  }
}

.vip-product-card__badge--sale {
  top: 0;
  left: 0;
  min-width: 0;
  padding: 0.32rem 0.55rem 0.28rem 0.5rem;
  border-radius: 8px 0 8px 0;
  background: #ff0004;
  color: #fff;
  font-family: var(--vip-font-body);
  font-size: 0.8125rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.1;
  letter-spacing: 0;
}

.vip-tienda__fallback {
  margin-top: 0.5rem;
}

.vip-tienda__fallback-title {
  margin: 0 0 1.25rem;
  font-family: var(--vip-font-display, "Earlgo", serif);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--vip-figma-brown, #8b5a3c);
}

/* Tienda pagination — cream bar + white nav pill (replaces Classic teal). */
.vip-tienda-page #js-product-list .vip-tienda-pagination,
#main.vip-tienda #js-product-list .vip-tienda-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
  padding: 0;
  background: transparent;
  border: none;
}

.vip-tienda-pagination__summary {
  margin: 0;
  flex: 1 1 auto;
  min-width: 12rem;
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  color: #878787;
}

.vip-tienda-pagination__nav {
  flex: 0 1 auto;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(213, 161, 125, 0.4);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(126, 97, 74, 0.04);
}

.vip-tienda-pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-tienda-pagination__item {
  margin: 0;
  padding: 0;
}

.vip-tienda-pagination__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.15rem 0.25rem;
  font-family: var(--vip-font-body);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--vip-figma-brown);
  text-decoration: none;
  transition: color 0.15s ease;
}

.vip-tienda-pagination__link:hover,
.vip-tienda-pagination__link:focus-visible {
  color: var(--vip-figma-tan);
}

.vip-tienda-pagination__link.is-current {
  color: var(--vip-figma-tan);
  font-weight: 800;
  pointer-events: none;
}

.vip-tienda-pagination__link.disabled,
.vip-tienda-pagination__link.is-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.vip-tienda-pagination__link--prev,
.vip-tienda-pagination__link--next {
  font-weight: 700;
}

.vip-tienda-pagination__chevron {
  font-size: 1.05em;
  line-height: 1;
  font-weight: 700;
}

.vip-tienda-pagination__spacer {
  display: inline-block;
  padding: 0 0.15rem;
  font-family: var(--vip-font-body);
  font-size: 13px;
  font-weight: 600;
  color: #878787;
  letter-spacing: 0.08em;
}

/* Kill Classic pagination chrome inside Tienda listing. */
.vip-tienda-page #js-product-list > .pagination:not(.vip-tienda-pagination),
#main.vip-tienda #js-product-list > .pagination:not(.vip-tienda-pagination) {
  display: none;
}

@media (max-width: 575px) {
  .vip-tienda-page #js-product-list .vip-tienda-pagination,
  #main.vip-tienda #js-product-list .vip-tienda-pagination {
    flex-direction: column;
    align-items: stretch;
  }

  .vip-tienda-pagination__nav {
    width: 100%;
  }

  .vip-tienda-pagination__list {
    justify-content: center;
  }
}

@media (max-width: 1199px) {
  #main.vip-tienda #products .products.vip-tienda__products:not(.vip-tienda__products--list),
  .vip-tienda-page #products .products.vip-tienda__products:not(.vip-tienda__products--list),
  .vip-tienda__products:not(.vip-tienda__products--list) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .vip-tienda__hero {
    aspect-ratio: 16 / 9;
    max-height: none;
  }

  .vip-tienda__layout {
    gap: 1.5rem 0;
  }

  .vip-tienda__facet-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    cursor: pointer;
  }

  .vip-tienda__facet-mobile .vip-tienda__facet-title {
    margin: 0;
  }

  .vip-tienda__facet-mobile-icon {
    width: 0.45rem;
    height: 0.45rem;
    border-right: 1.5px solid #c8c8c8;
    border-bottom: 1.5px solid #c8c8c8;
    transform: rotate(45deg);
    transition: transform 0.15s ease;
  }

  .vip-tienda__facet-mobile[aria-expanded="true"] .vip-tienda__facet-mobile-icon {
    transform: rotate(-135deg);
  }
}

@media (max-width: 575px) {
  #main.vip-tienda #products .products.vip-tienda__products:not(.vip-tienda__products--list),
  .vip-tienda-page #products .products.vip-tienda__products:not(.vip-tienda__products--list),
  .vip-tienda__products:not(.vip-tienda__products--list) {
    grid-template-columns: 1fr;
  }
}

/* Tienda — mobile filter drawer (Figma TIENDA · sidebar off-canvas) */
.vip-tienda__filter-btn {
  border-radius: 8px;
  border: 1px solid var(--vip-figma-tan);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  color: var(--vip-figma-brown);
  padding: 0.45rem 0.85rem;
}

.vip-tienda__filter-btn:hover,
.vip-tienda__filter-btn:focus-visible {
  border-color: var(--vip-figma-brown);
  color: var(--vip-figma-brown);
  background: #fff;
}

.vip-tienda__filters-close {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(213, 161, 125, 0.25);
}

.vip-tienda__filters-ok {
  border-radius: 8px;
  border: 1px solid var(--vip-figma-tan);
  font-size: 12px;
  font-weight: 700;
  color: var(--vip-figma-brown);
}

@media (max-width: 991px) {
  body.vip-tienda-page #left-column {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: min(20rem, 88vw);
    max-width: 20rem;
    height: 100%;
    margin: 0;
    padding: 1rem 0.85rem 1.25rem;
    overflow-y: auto;
    background: var(--vip-cream);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
    transform: translateX(-105%);
    transition: transform 0.22s ease;
    visibility: hidden;
  }

  body.vip-tienda-page.vip-tienda-filters-open #left-column {
    transform: translateX(0);
    visibility: visible;
  }

  body.vip-tienda-page.vip-tienda-filters-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1035;
    background: rgba(0, 0, 0, 0.35);
  }

  body.vip-tienda-page #left-column .vip-tienda__facet-title.hidden-sm-down {
    display: block !important;
  }

  body.vip-tienda-page #left-column .facet .collapse:not(.in) {
    display: none;
  }

  body.vip-tienda-page #left-column .facet .collapse.in {
    display: block;
  }
}

@media (min-width: 992px) {
  body.vip-tienda-page #left-column {
    position: static;
    transform: none;
    visibility: visible;
    height: auto;
    box-shadow: none;
    overflow: visible;
  }

  .vip-tienda__filters-close {
    display: none !important;
  }
}

/* FICHA PRODUCTO — Figma `51:2971` · ref `designs/FICHA PRODUCTO.pdf` */
#product {
  background: #fff;
}

#product #wrapper {
  background: #fff;
}

#product #footer {
  background: #fff;
}

#product #wrapper > .container {
  padding-top: 0.5rem;
}

/* Classic product sheet resets (parent theme fights `.vip-product__main` grid). */
#product .product-container.vip-product__main {
  display: grid !important;
  grid-template-columns: minmax(0, 805fr) minmax(0, 552fr) !important;
  gap: 0 !important;
  align-items: start;
  float: none !important;
  width: 100% !important;
  max-width: var(--vip-figma-content-width);
  margin-inline: auto;
}

#product .product-information.vip-product__buybox,
#product .vip-product__gallery {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#product .images-container.vip-product__images {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#product .product-container .product-cover,
#product .product-container .images-container .product-cover {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

#product #content.page-content,
#product .page-content.card,
#product .page-content.card-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#product .product-actions {
  margin: 0;
}

#product .product-prices,
#product .vip-product__prices {
  margin: 0;
  padding: 0;
}

#product .product-price.h5 {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}

#product .product-quantity,
#product .product-add-to-cart .add,
#product .vip-product__purchase-row > * {
  float: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#product .product-add-to-cart .product-quantity.vip-product__purchase-row {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: 0.65rem;
  width: 100%;
}

#product .vip-product__qty .bootstrap-touchspin,
#product .product-quantity .bootstrap-touchspin {
  display: contents !important;
  width: auto !important;
  max-width: none !important;
  border: none !important;
  box-shadow: none !important;
}

#product .bootstrap-touchspin .input-group-btn,
#product .bootstrap-touchspin .input-group-addon,
#product .btn-touchspin,
#product .bootstrap-touchspin-up,
#product .bootstrap-touchspin-down {
  display: none !important;
}

#product .vip-product__qty .bootstrap-touchspin-input,
#product .vip-product__qty input.form-control,
#product .vip-product__qty input#quantity_wanted {
  background: var(--vip-figma-footer-bg) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--vip-figma-tan) !important;
}

#product .vip-product__availability:not(.ajax-error),
#product #product-availability:not(.ajax-error) {
  display: none !important;
}

#product .product-add-to-cart .ajax-error {
  display: block !important;
  width: 100%;
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(180, 60, 60, 0.25);
  border-radius: 4px;
  background: #fdecee;
  color: #8b2e2e;
  font-size: 0.875rem;
  line-height: 1.4;
}

#product .vip-product__stock-notice {
  display: block;
  width: 100%;
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(180, 60, 60, 0.25);
  border-radius: 4px;
  background: #fdecee;
  color: #8b2e2e;
  font-family: var(--vip-font-body);
  font-size: 0.875rem;
  line-height: 1.4;
}

#product .product-minimal-quantity {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  color: var(--vip-figma-tan, #b8956a);
}

#product .vip-product__purchase-row.clearfix::before,
#product .vip-product__purchase-row.clearfix::after {
  display: none;
}

#product .vip-product__buybox .nav-tabs,
#product .vip-product__accordion.tabs > .nav-tabs {
  display: none !important;
}

#product .product-additional-info .social-sharing,
#product .product-additional-info .tabs .social-sharing,
#product #main .social-sharing {
  display: none !important;
}

/* FICHA PRODUCTO comp — no mail alert or review CTA in buy box. */
#product .vip-product__buybox .js-mailalert,
#product .vip-product__buybox .product-additional-info,
#product .vip-product__buybox .product-comments-additional-info,
#product .vip-product__buybox .post-product-comment,
#product .vip-product__buybox .link-comment-post-product,
#product .vip-product__buybox .product-comment-additional-info,
#product .vip-product__payments ~ .js-mailalert,
#product .vip-product__payments ~ .product-additional-info,
#product .vip-product__payments ~ .product-comments-additional-info,
#product .vip-product__payments ~ [class*="mailalert"],
#product .vip-product__payments ~ [class*="product-comment"] {
  display: none !important;
}

/* FICHA PRODUCTO comp — no product reviews block on product sheet. */
#product #product-comments-list-header,
#product #product-comments-list,
#product #product-comments-list-footer,
#product .product-comment-list-item,
#product .product-comments,
#product .product-comment-container,
#product .comments-note,
#product .post-product-comment,
#product .link-comment-post-product,
#product .product-comment-additional-info,
#product .product-comments-additional-info,
#product #empty-product-comment,
#product [id^="product-comment"] {
  display: none !important;
}

#product .vip-product__buybox .btn-primary.vip-product__add-btn,
#product .vip-product__buybox .vip-product__add-btn {
  background: var(--vip-figma-tan) !important;
  border: none !important;
  box-shadow: none !important;
  color: #fff !important;
  text-transform: none !important;
}

#product .vip-product__buybox .btn-primary.vip-product__add-btn:hover,
#product .vip-product__buybox .btn-primary.vip-product__add-btn:focus,
#product .vip-product__buybox .vip-product__add-btn:hover,
#product .vip-product__buybox .vip-product__add-btn:focus {
  background: #c8926a !important;
  color: #fff !important;
}

#product .vip-product__buybox .btn-primary.vip-product__add-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Breadcrumb moved into `.vip-product__breadcrumb` (Figma Nav). */
#product #wrapper > .container > nav.breadcrumb {
  display: none;
}

#product .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
}

#product .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 11px;
  line-height: 22.5px;
}

/* Classic `#wrapper .breadcrumb li::after` already inserts "/"; do not duplicate with ::before. */
#product .breadcrumb li + li::before {
  content: none;
}

#product .breadcrumb li::after {
  margin: 0 0.35rem;
  color: #2e2323;
}

#product .breadcrumb a {
  color: #a9a9a9;
  text-decoration: none;
}

#product .breadcrumb li:last-child span {
  color: var(--vip-figma-tan);
}

.vip-product {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-text);
}

.vip-product__breadcrumb {
  margin-bottom: 1.25rem;
}

.vip-product__main {
  display: grid;
  grid-template-columns: minmax(0, 805fr) minmax(0, 552fr);
  gap: 0;
  align-items: start;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.vip-product__buybox {
  padding-top: 2.5rem;
}

.vip-product__gallery .page-content,
.vip-product__gallery #content {
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.vip-product__images {
  display: block;
}

.vip-product__gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 21px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-product__gallery-grid:has(> .vip-product__gallery-cell:only-child) {
  grid-template-columns: minmax(0, 1fr);
}

.vip-product__gallery-grid:has(> .vip-product__gallery-cell:only-child) .vip-product__gallery-cell .product-cover img,
.vip-product__gallery-grid:has(> .vip-product__gallery-cell:only-child) .vip-product__gallery-cell .js-qv-product-cover {
  aspect-ratio: 805 / 959;
}

.vip-product__gallery-cell {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #f8f8f8;
}

.vip-product__gallery-cell .product-cover {
  margin: 0;
}

.vip-product__gallery-cell .product-cover img,
.vip-product__gallery-cell .js-qv-product-cover,
.vip-product__gallery-cell .thumb,
.vip-product__gallery-cell .js-thumb {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  object-fit: cover;
  aspect-ratio: 361 / 467;
}

.vip-product__gallery-cell .thumb.selected,
.vip-product__gallery-cell .js-thumb-selected {
  outline: 2px solid var(--vip-figma-tan);
  outline-offset: -2px;
}

.vip-product__gallery-cell .product-flags {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-product__gallery-cell .product-flag.out_of_stock,
.vip-product__gallery-cell .product-flag.unavailable {
  display: none;
}

.vip-product__gallery-cell .product-flag {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0.15rem 0.55rem;
  border-radius: 2px;
  background: #e8ddd4;
  color: #7e614a;
  font-family: var(--vip-font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.vip-product__gallery-expand {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--vip-figma-tan);
  cursor: pointer;
}

.vip-product__gallery-expand-icon {
  display: block;
  width: 0.95rem;
  height: 0.95rem;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23D5A17D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E");
}

.vip-product__gallery-cell .layer {
  display: none;
}

.vip-product__title {
  margin: 0 0 0.85rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 38px;
  line-height: 45.6px;
  color: #2e2323;
}

.vip-product__short-desc,
.vip-product__short-desc p {
  margin: 0 0 1.35rem;
  max-width: none;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-style: italic;
  font-weight: 400;
  color: #878787;
}

#product .vip-product__short-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

#product .vip-product__short-desc hr,
#product .vip-product__short-desc img {
  display: none;
}

#product .vip-product__short-desc strong,
#product .vip-product__short-desc b {
  font-weight: 400;
}

.vip-product .product-prices {
  margin: 0;
}

.vip-product__price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin: 0.25rem 0 1.15rem;
}

.vip-product__price-row .product-prices,
.vip-product__price-row .vip-product__prices {
  flex: 0 1 auto;
  margin-right: 0;
}

.vip-product__favorites {
  flex: 0 0 auto;
  margin: 0 0 0 auto;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--vip-figma-tan);
  font-family: var(--vip-font-display);
  font-size: 28px;
  line-height: 28px;
  font-style: italic;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
}

.vip-product__favorites:hover,
.vip-product__favorites:focus {
  color: var(--vip-figma-brown);
}

#product .product-prices .tax-shipping-delivery-label,
#product .product-prices .product-unit-price,
#product .product-prices .product-without-taxes,
#product .product-prices .product-pack-price,
#product .product-prices .price-ecotax,
#product .product-prices .discount {
  display: none;
}

#product .product-minimal-quantity:not(:empty),
#product #product-availability:not(:empty):not(.ajax-error) {
  display: block;
}

.vip-product .product-price.h5 {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

.vip-product .current-price,
.vip-product .current-price-value {
  font-family: var(--vip-font-body);
  font-weight: 800;
  font-size: 28px;
  line-height: 28px;
  color: var(--vip-figma-tan);
}

.vip-product .regular-price {
  font-size: 15px;
  line-height: 22.5px;
  color: #878787;
}

.vip-product .product-variants .control-label,
.vip-product .vip-product__purchase .control-label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-tan);
}

.vip-product .product-variants {
  margin-bottom: 1.15rem;
}

.vip-product__variant {
  margin-bottom: 1rem;
}

.vip-product__variant-select {
  width: auto;
  min-width: 4.75rem;
  max-width: 100%;
  min-height: 40px;
  padding: 0.45rem 2rem 0.45rem 0.75rem;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23D5A17D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.65rem center;
  appearance: none;
  color: #878787;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

.vip-product .product-variants ul[id^="group_"],
.vip-product .product-variants .vip-product__variant-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-product .product-variants .input-container {
  margin: 0;
  float: none;
}

.vip-product .product-variants .input-container label {
  position: relative;
  display: inline-block;
  margin: 0;
  cursor: pointer;
}

.vip-product .product-variants .input-color + span.color,
.vip-product .product-variants .input-color + span.color.texture {
  display: block;
  width: 2rem;
  height: 2rem;
  margin: 0;
  border: 1px solid rgba(213, 161, 125, 0.35);
  border-radius: 4px;
  box-shadow: none;
}

.vip-product .product-variants .input-color:checked + span.color,
.vip-product .product-variants .input-color:focus + span.color {
  outline: 2px solid var(--vip-figma-tan);
  outline-offset: 2px;
}

.vip-product .product-variants .input-color {
  position: absolute;
  opacity: 0;
}

.vip-product .product-variants .input-radio + .radio-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 4px;
  background: #fff;
  color: #878787;
  font-size: var(--vip-figma-parrafo-size);
  line-height: 1.2;
}

.vip-product .product-variants .input-radio {
  position: absolute;
  opacity: 0;
}

.vip-product .product-variants .input-radio:checked + .radio-label {
  border-color: var(--vip-figma-tan);
  color: var(--vip-figma-tan);
  font-weight: 700;
}

.vip-product .product-variants .input-container label {
  position: relative;
  display: inline-block;
  margin: 0;
  cursor: pointer;
}

.vip-product__purchase-row {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: 0.65rem;
  margin-top: 0;
  width: 100%;
}

.vip-product__qty {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  width: 4.85rem;
  min-width: 4.85rem;
  min-height: 52px;
  max-height: 52px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: var(--vip-figma-footer-bg);
  overflow: hidden;
}

#product .vip-product__qty,
#product .vip-product__qty-input,
#product .vip-product__qty-arrow {
  background-color: var(--vip-figma-footer-bg) !important;
}

.vip-product__qty-input {
  flex: 1 1 auto;
  width: 2.75rem;
  min-width: 0;
  min-height: 52px;
  padding: 0.35rem 0.25rem 0.35rem 0.55rem;
  border: none;
  border-radius: 0;
  background: var(--vip-figma-footer-bg);
  font-family: var(--vip-font-body);
  font-size: 15px;
  line-height: 18px;
  font-weight: 400;
  color: var(--vip-figma-tan);
  text-align: left;
  appearance: textfield;
  -moz-appearance: textfield;
}

#product .vip-product__qty-input {
  color: var(--vip-figma-tan) !important;
  -webkit-text-fill-color: var(--vip-figma-tan);
}

.vip-product__qty-arrows {
  display: flex;
  flex-direction: column;
  flex: 0 0 1.45rem;
  border-left: 1px solid #e8e8e8;
}

.vip-product__qty-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 50%;
  width: 100%;
  padding: 0;
  border: none;
  background: var(--vip-figma-footer-bg);
  cursor: pointer;
}

.vip-product__qty-arrow:focus,
.vip-product__qty-arrow:focus-visible,
.vip-product__qty-arrow:active {
  outline: none !important;
  box-shadow: none !important;
}

.vip-product__qty-arrow + .vip-product__qty-arrow {
  border-top: 1px solid #e8e8e8;
}

.vip-product__qty-arrow::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border: none;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
}

.vip-product__qty-arrow[data-vip-qty-plus]::before {
  border-left: 1.5px solid var(--vip-figma-tan);
  border-top: 1.5px solid var(--vip-figma-tan);
  transform: rotate(45deg);
  margin-top: 2px;
}

.vip-product__qty-arrow[data-vip-qty-minus]::before {
  border-right: 1.5px solid var(--vip-figma-tan);
  border-bottom: 1.5px solid var(--vip-figma-tan);
  transform: rotate(45deg);
  margin-bottom: 2px;
}

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

.vip-product__add {
  flex: 1 1 auto;
  min-width: 0;
}

.vip-product__add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0.65rem 1.25rem;
  border: none;
  border-radius: 4px;
  background: var(--vip-figma-tan);
  color: #fff;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none !important;
  white-space: nowrap;
}

.vip-product__add-btn-icon {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}

.vip-product__add-btn:hover,
.vip-product__add-btn:focus {
  background: #c8926a;
  color: #fff;
}

.vip-product__secondary-actions {
  display: flex;
  align-items: stretch;
  gap: 0.65rem;
  flex: 0 0 auto;
}

.vip-product__icon-btn,
.vip-product__secondary-actions .btn,
.vip-product__secondary-actions a,
.vip-product__secondary-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: var(--vip-figma-footer-bg);
  color: var(--vip-figma-tan);
  cursor: pointer;
}

.vip-product__icon-btn-glyph {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  background: center / contain no-repeat;
}

.vip-product__icon-btn-glyph--heart {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23D5A17D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}

.vip-product__secondary-actions .material-icons {
  font-size: 1.35rem;
  line-height: 1;
}

.vip-product__icon-btn-glyph--compare {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23D5A17D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3h5v5'/%3E%3Cpath d='M4 20L21 3'/%3E%3Cpath d='M21 16v5h-5'/%3E%3Cpath d='M4 4l5 5'/%3E%3C/svg%3E");
}

#product .vip-product__secondary-actions > :not(.vip-product__icon-btn) {
  display: none !important;
}

#product .vip-product__secondary-actions .wishlist-button-add,
#product .vip-product__secondary-actions [data-link-action="add-to-wishlist"],
#product .vip-product__secondary-actions .compare-button,
#product .vip-product__secondary-actions [data-link-action="add-to-compare"],
#product .vip-product__secondary-actions .product-add-to-cart .compare {
  display: none !important;
}

.vip-product__payments {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  margin: 1.35rem 0 0;
  padding: 1.1rem 0 0;
  padding-left: 0;
  border-top: 1px solid rgba(126, 97, 74, 0.12);
  list-style: none;
}

.vip-product__payments-item {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

/* SVG assets already include the white card + border (54×37). */
.vip-product__payments-item img {
  display: block;
  width: 54px;
  height: 37px;
  max-width: none;
  object-fit: contain;
}

.vip-product__accordion {
  margin-top: 1.75rem;
  border-top: 1px solid rgba(126, 97, 74, 0.12);
}

.vip-product__accordion-item {
  border-bottom: 1px solid rgba(126, 97, 74, 0.12);
}

.vip-product__accordion-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 20px;
  line-height: 22.5px;
  color: var(--vip-figma-tan);
  cursor: pointer;
  list-style: none;
}

.vip-product__accordion-head::-webkit-details-marker {
  display: none;
}

.vip-product__accordion-head::after {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid var(--vip-figma-tan);
  border-bottom: 1.5px solid var(--vip-figma-tan);
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}

.vip-product__accordion-item[open] .vip-product__accordion-head::after {
  transform: rotate(-135deg);
}

.vip-product__accordion-panel {
  padding: 0 0 1rem;
  color: #878787;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-style: italic;
}

.vip-product__accordion-panel .product-description,
.vip-product__accordion-panel .product-description p,
.vip-product__accordion-panel .product-manufacturer-description,
.vip-product__accordion-panel .product-manufacturer-description p {
  font-style: italic;
}

.vip-product__accordion-panel .product-description p {
  margin-bottom: 0.75rem;
}

#product #main.vip-product {
  width: 100%;
  max-width: none;
}

/* Related band — same white canvas as FICHA comp (page bg is #fff on #product). */
.vip-product__related {
  width: 100%;
  max-width: var(--vip-figma-content-width);
  margin-top: clamp(2.5rem, 5vw, 4rem);
  margin-inline: auto;
  margin-bottom: 0;
  padding: clamp(2.75rem, 5vw, 4.5rem) 0 clamp(3.25rem, 6vw, 5.5rem);
}

.vip-product__related-inner {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.vip-product__related-title {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(1.75rem, 2.4vw, 37px);
  line-height: 1.05;
  color: var(--vip-figma-tan);
}

#product .vip-product__related .vip-home-product-grid--related {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.2vw, 2rem) clamp(0.85rem, 1.6vw, 1.35rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

#product .vip-product__related.product-accessories .products,
#product .vip-product__related .vip-home-product-grid {
  display: grid !important;
  float: none !important;
  width: 100% !important;
}

#product .vip-product__related .product-miniature,
#product .vip-product__related .js-product,
#product .vip-product__related .vip-product-card {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#product .vip-product__related.product-accessories {
  float: none;
  width: 100%;
}

/* FICHA comp: native PS footer modules must not appear (see product.tpl — no displayFooterProduct hook). */
#product .featured-products,
#product #product-comments-list-header,
#product #empty-product-comment,
#product #product-comments-list,
#product #product-comments-list-footer {
  display: none !important;
}

@media (max-width: 991px) {
  #product .product-container.vip-product__main,
  .vip-product__main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem !important;
  }

  .vip-product__buybox {
    padding-top: 0;
  }

  .vip-product__title {
    font-size: clamp(1.75rem, 5vw, 38px);
    line-height: 1.15;
  }

  #product .vip-product__related .vip-home-product-grid--related {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

@media (max-width: 575px) {
  .vip-product__gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .vip-product__purchase-row {
    flex-wrap: wrap;
  }

  .vip-product__add {
    flex: 1 1 100%;
  }

  .vip-product__add-btn {
    width: 100%;
  }

  #product .vip-product__related .vip-home-product-grid--related {
    grid-template-columns: minmax(0, 1fr);
  }

  .vip-product__related {
    padding-inline: var(--vip-shell-gutter);
  }

  .vip-product__related-title {
    font-size: clamp(1.5rem, 6vw, 37px);
    line-height: 1.2;
  }
}

/* --------------------------------------------------------------------------
 * Figma REGISTRO (`51:4630`) — account forms (#registration, #authentication)
 * Spec: designs/FIGMA-registration-specs.md
 * -------------------------------------------------------------------------- */

#registration #main,
#authentication #main {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-text);
}

#registration .breadcrumb,
#authentication .breadcrumb,
body.page-customer-account .breadcrumb
{
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-size: 12px;
  line-height: 14.4px;
}

#registration .breadcrumb a,
#authentication .breadcrumb a,
body.page-customer-account .breadcrumb a
{
  color: #878787;
  text-decoration: none;
}

#registration .breadcrumb li:last-child span,
#authentication .breadcrumb li:last-child span,
body.page-customer-account .breadcrumb li:last-child span
{
  color: var(--vip-figma-tan);
}

#registration #main .page-content,
#authentication #main .page-content,
body.page-customer-account #main .page-content
{
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.vip-account__header {
  margin: 0 0 1.5rem;
}

.vip-account__title {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 37px;
  line-height: 36px;
  color: var(--vip-figma-brown);
  text-align: left;
}

.vip-account__card {
  background: #fff;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  padding: clamp(1.35rem, 2.5vw, 2.25rem) clamp(1.25rem, 3vw, 2.5rem);
}

.vip-account__signin {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0 0 1.75rem;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
}

.vip-account__signin-icon {
  display: block;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.vip-account__signin-link {
  color: var(--vip-figma-tan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.vip-account__signin-link:hover,
.vip-account__signin-link:focus {
  color: var(--vip-figma-tan);
}

#registration .vip-account__fields,
body.page-customer-account .vip-account__fields
{
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

#registration .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal),
body.page-customer-account .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal)
{
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  row-gap: 0.35rem;
  align-items: start;
}

#authentication .vip-account__fields,
body.page-customer-account .vip-account__fields
{
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

#authentication .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal),
body.page-customer-account .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal)
{
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  row-gap: 0.35rem;
  align-items: start;
}

#authentication .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) > [class*="col-"],
body.page-customer-account .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) > [class*="col-"]
{
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

#registration .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) > [class*="col-"],
body.page-customer-account .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) > [class*="col-"]
{
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

#registration .vip-account__field,
#authentication .vip-account__field,
body.page-customer-account .vip-account__field
{
  margin: 0;
  align-items: flex-start;
}

#registration .vip-account__field .vip-account__label,
#authentication .vip-account__field .vip-account__label,
body.page-customer-account .vip-account__field .vip-account__label
{
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  font-weight: 400;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
  text-align: left;
}

#registration .vip-account__field .form-control,
#registration .vip-account__field .vip-account__input,
#authentication .vip-account__field .form-control,
#authentication .vip-account__field .vip-account__input,
body.page-customer-account .vip-account__field .form-control,
body.page-customer-account .vip-account__field .vip-account__input
{
  min-height: 44px;
  border: none;
  border-radius: 22px;
  background-color: var(--vip-figma-tan);
  color: #fff;
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  padding: 0.55rem 1.15rem;
  box-shadow: none;
}

#registration .vip-account__field .form-control:focus,
#registration .vip-account__field .vip-account__input:focus,
#authentication .vip-account__field .form-control:focus,
#authentication .vip-account__field .vip-account__input:focus,
body.page-customer-account .vip-account__field .form-control:focus,
body.page-customer-account .vip-account__field .vip-account__input:focus
{
  background-color: var(--vip-figma-tan);
  color: #fff;
  -webkit-text-fill-color: #fff;
  box-shadow: 0 0 0 2px rgba(126, 97, 74, 0.35);
}

#registration .vip-account__field .form-control:-webkit-autofill,
#registration .vip-account__field .form-control:-webkit-autofill:hover,
#registration .vip-account__field .form-control:-webkit-autofill:focus,
#registration .vip-account__field .vip-account__input:-webkit-autofill,
#registration .vip-account__field .vip-account__input:-webkit-autofill:hover,
#registration .vip-account__field .vip-account__input:-webkit-autofill:focus,
#authentication .vip-account__field .form-control:-webkit-autofill,
#authentication .vip-account__field .form-control:-webkit-autofill:hover,
#authentication .vip-account__field .form-control:-webkit-autofill:focus,
#authentication .vip-account__field .vip-account__input:-webkit-autofill,
#authentication .vip-account__field .vip-account__input:-webkit-autofill:hover,
#authentication .vip-account__field .vip-account__input:-webkit-autofill:focus,
body.page-customer-account .vip-account__field .form-control:-webkit-autofill,
body.page-customer-account .vip-account__field .form-control:-webkit-autofill:hover,
body.page-customer-account .vip-account__field .form-control:-webkit-autofill:focus,
body.page-customer-account .vip-account__field .vip-account__input:-webkit-autofill,
body.page-customer-account .vip-account__field .vip-account__input:-webkit-autofill:hover,
body.page-customer-account .vip-account__field .vip-account__input:-webkit-autofill:focus
{
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px var(--vip-figma-tan) inset;
  transition: background-color 99999s ease-out 0s;
}

#registration .vip-account__field .form-control::placeholder,
#registration .vip-account__field .vip-account__input::placeholder,
#authentication .vip-account__field .form-control::placeholder,
#authentication .vip-account__field .vip-account__input::placeholder,
body.page-customer-account .vip-account__field .form-control::placeholder,
body.page-customer-account .vip-account__field .vip-account__input::placeholder
{
  color: #fff;
  opacity: 1;
}

#registration .vip-account__field select.form-control,
#authentication .vip-account__field select.form-control,
body.page-customer-account .vip-account__field select.form-control
{
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.25rem;
}

#registration .vip-account__field--birthday .js-parent-focus,
#authentication .vip-account__field--birthday .js-parent-focus,
body.page-customer-account .vip-account__field--birthday .js-parent-focus
{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

#registration .vip-account__field--birthday select.form-control,
#authentication .vip-account__field--birthday select.form-control,
body.page-customer-account .vip-account__field--birthday select.form-control
{
  flex: 1 1 5.5rem;
  min-width: 0;
}

#registration .vip-account__field .vip-account__control > .form-control-comment,
#registration .vip-account__field .vip-account__control > .vip-account__hint,
#authentication .vip-account__field .vip-account__control > .form-control-comment,
#authentication .vip-account__field .vip-account__control > .vip-account__hint,
body.page-customer-account .vip-account__field .vip-account__control > .form-control-comment,
body.page-customer-account .vip-account__field .vip-account__control > .vip-account__hint
{
  display: block;
  margin-top: 0.35rem;
  font-size: 12px;
  line-height: 1.45;
  font-style: italic;
  font-weight: 400;
  color: #878787;
}

#registration .vip-account__optional,
#authentication .vip-account__optional,
body.page-customer-account .vip-account__optional
{
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  font-size: 12px;
  line-height: 22.5px;
  color: #878787;
  text-align: right;
}

#registration .vip-account__password-row,
#authentication .vip-account__password-row,
body.page-customer-account .vip-account__password-row
{
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  width: 100%;
}

#registration .vip-account__password-row .vip-account__input,
#authentication .vip-account__password-row .vip-account__input,
body.page-customer-account .vip-account__password-row .vip-account__input
{
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

#registration .vip-account__password-toggle,
#authentication .vip-account__password-toggle,
body.page-customer-account .vip-account__password-toggle
{
  position: static;
  transform: none;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  border-radius: 10px;
  background: #fff;
  color: #878787;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
  pointer-events: auto;
  overflow: hidden;
}

#registration .vip-account__password-toggle-label,
#authentication .vip-account__password-toggle-label,
body.page-customer-account .vip-account__password-toggle-label
{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#registration .vip-account__password-toggle::before,
#authentication .vip-account__password-toggle::before,
body.page-customer-account .vip-account__password-toggle::before
{
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23878787' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

#registration .vip-account__password-row:has(.js-visible-password[type="text"]) .vip-account__password-toggle::before,
#authentication .vip-account__password-row:has(.js-visible-password[type="text"]) .vip-account__password-toggle::before,
body.page-customer-account .vip-account__password-row:has(.js-visible-password[type="text"]) .vip-account__password-toggle::before
{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23878787' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19'/%3E%3Cpath d='M1 1l22 22'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3C/svg%3E");
}

#registration .vip-account__customer-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#registration .vip-account__customer-form select.form-control,
body.page-customer-account .vip-account__customer-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.page-customer-account .vip-account__customer-form select.form-control,
#authentication .vip-account__login-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#authentication .vip-account__login-form select.form-control,
body.page-customer-account .vip-account__login-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.page-customer-account .vip-account__login-form select.form-control
{
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

#registration .vip-account__optional,
body.page-customer-account .vip-account__optional
{
  font-style: normal;
}

#registration .field-password-policy .password-strength-feedback,
#registration .vip-account__password-wrap .password-strength-feedback,
body.page-customer-account .field-password-policy .password-strength-feedback,
body.page-customer-account .vip-account__password-wrap .password-strength-feedback
{
  display: none !important;
}

#registration .vip-account__field--checkbox,
#authentication .vip-account__field--checkbox,
#registration .vip-account__field--legal,
#authentication .vip-account__field--legal,
body.page-customer-account .vip-account__field--checkbox,
body.page-customer-account .vip-account__field--legal
{
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  row-gap: 0.35rem;
  align-items: center;
  margin-top: 0;
}

#registration .vip-account__field--checkbox,
body.page-customer-account .vip-account__field--checkbox
{
  margin-bottom: -0.9rem;
}

#registration .vip-account__field--legal,
body.page-customer-account .vip-account__field--legal
{
  margin-bottom: 0;
}

#registration .vip-account__field--checkbox .vip-account__label,
#authentication .vip-account__field--checkbox .vip-account__label,
#registration .vip-account__field--legal .vip-account__label,
#authentication .vip-account__field--legal .vip-account__label,
body.page-customer-account .vip-account__field--checkbox .vip-account__label,
body.page-customer-account .vip-account__field--legal .vip-account__label
{
  display: none;
}

#registration .vip-account__field--checkbox .vip-account__control,
#authentication .vip-account__field--checkbox .vip-account__control,
#registration .vip-account__field--legal .vip-account__control,
#authentication .vip-account__field--legal .vip-account__control,
body.page-customer-account .vip-account__field--checkbox .vip-account__control,
body.page-customer-account .vip-account__field--legal .vip-account__control
{
  grid-column: 2;
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
}

#registration .vip-account__field--checkbox .custom-checkbox,
#authentication .vip-account__field--checkbox .custom-checkbox,
#registration .vip-account__field--legal .custom-checkbox,
#authentication .vip-account__field--legal .custom-checkbox,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox,
body.page-customer-account .vip-account__field--legal .custom-checkbox
{
  display: block;
  line-height: 1.4;
}

#registration .vip-account__field--checkbox .custom-checkbox label,
#authentication .vip-account__field--checkbox .custom-checkbox label,
#registration .vip-account__field--legal .custom-checkbox label,
#authentication .vip-account__field--legal .custom-checkbox label,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox label,
body.page-customer-account .vip-account__field--legal .custom-checkbox label
{
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-tan);
  font-weight: 400;
}

#registration .vip-account__field--checkbox .custom-checkbox label,
#registration .vip-account__field--legal .custom-checkbox label,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox label,
body.page-customer-account .vip-account__field--legal .custom-checkbox label
{
  font-size: 13px;
  line-height: 1.4;
}

#registration .vip-account__field--legal .custom-checkbox label em,
body.page-customer-account .vip-account__field--legal .custom-checkbox label em
{
  font-style: italic;
  font-size: inherit;
  line-height: inherit;
}

#registration .vip-account__field--legal .custom-checkbox label .checkbox-checked,
body.page-customer-account .vip-account__field--legal .custom-checkbox label .checkbox-checked
{
  font-style: normal;
}

#registration .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span,
#authentication .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span,
#registration .vip-account__field--legal .custom-checkbox input[type=checkbox] + span,
#authentication .vip-account__field--legal .custom-checkbox input[type=checkbox] + span,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span,
body.page-customer-account .vip-account__field--legal .custom-checkbox input[type=checkbox] + span
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  min-width: 15px;
  margin-right: 0;
  margin-top: 0;
  vertical-align: middle;
  overflow: hidden;
  line-height: 1;
  position: relative;
}

#registration .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span,
#registration .vip-account__field--legal .custom-checkbox input[type=checkbox] + span,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span,
body.page-customer-account .vip-account__field--legal .custom-checkbox input[type=checkbox] + span
{
  width: 14px;
  height: 14px;
  min-width: 14px;
}

#registration .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span .checkbox-checked,
#authentication .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span .checkbox-checked,
#registration .vip-account__field--legal .custom-checkbox input[type=checkbox] + span .checkbox-checked,
#authentication .vip-account__field--legal .custom-checkbox input[type=checkbox] + span .checkbox-checked,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span .checkbox-checked,
body.page-customer-account .vip-account__field--legal .custom-checkbox input[type=checkbox] + span .checkbox-checked
{
  display: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1;
  color: #232323;
}

#registration .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span .checkbox-checked,
#registration .vip-account__field--legal .custom-checkbox input[type=checkbox] + span .checkbox-checked,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox input[type=checkbox] + span .checkbox-checked,
body.page-customer-account .vip-account__field--legal .custom-checkbox input[type=checkbox] + span .checkbox-checked
{
  font-size: 11px;
}

#registration .vip-account__field--checkbox .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked,
#authentication .vip-account__field--checkbox .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked,
#registration .vip-account__field--legal .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked,
#authentication .vip-account__field--legal .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked,
body.page-customer-account .vip-account__field--checkbox .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked,
body.page-customer-account .vip-account__field--legal .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked
{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#registration .vip-account__field--checkbox .vip-account__optional,
#authentication .vip-account__field--checkbox .vip-account__optional,
#registration .vip-account__field--legal .vip-account__optional,
#authentication .vip-account__field--legal .vip-account__optional,
body.page-customer-account .vip-account__field--checkbox .vip-account__optional,
body.page-customer-account .vip-account__field--legal .vip-account__optional
{
  display: none;
}

#registration .vip-account__footer,
#authentication .vip-account__footer,
body.page-customer-account .vip-account__footer
{
  margin-top: 2rem;
  text-align: center;
}

#registration .vip-account__submit,
#authentication .vip-account__submit,
body.page-customer-account .vip-account__submit
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(344px, 100%);
  min-height: 44px;
  padding: 0.65rem 2rem;
  border: none;
  border-radius: 22px;
  background: var(--vip-figma-brown);
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 800;
  font-size: 16px;
  line-height: 19.2px;
  text-transform: none;
  letter-spacing: normal;
}

#registration .vip-account__submit:hover,
#registration .vip-account__submit:focus,
#authentication .vip-account__submit:hover,
#authentication .vip-account__submit:focus,
body.page-customer-account .vip-account__submit:hover,
body.page-customer-account .vip-account__submit:focus
{
  background: var(--vip-figma-brown);
  border-color: var(--vip-figma-brown);
  color: #fff;
  opacity: 0.92;
}

#registration .vip-account__submit:disabled,
#registration .vip-account__submit[aria-disabled="true"],
body.page-customer-account .vip-account__submit:disabled,
body.page-customer-account .vip-account__submit[aria-disabled="true"]
{
  opacity: 0.45;
  cursor: not-allowed;
}

#registration .vip-account__submit:disabled:hover,
#registration .vip-account__submit:disabled:focus,
#registration .vip-account__submit[aria-disabled="true"]:hover,
#registration .vip-account__submit[aria-disabled="true"]:focus,
body.page-customer-account .vip-account__submit:disabled:hover,
body.page-customer-account .vip-account__submit:disabled:focus,
body.page-customer-account .vip-account__submit[aria-disabled="true"]:hover,
body.page-customer-account .vip-account__submit[aria-disabled="true"]:focus
{
  opacity: 0.45;
}

#authentication .vip-account__forgot,
body.page-customer-account .vip-account__forgot
{
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  margin: -0.35rem 0 0;
}

#authentication .vip-account__forgot a,
body.page-customer-account .vip-account__forgot a
{
  grid-column: 2;
  font-size: 13px;
  line-height: 1.4;
}

#authentication .vip-account__card > *:not(.vip-account__signin):not(.vip-account__form),
body.page-customer-account .vip-account__card > *:not(.vip-account__signin):not(.vip-account__form)
{
  margin-top: 1.25rem;
}

@media (max-width: 767.98px) {
  #registration .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal),
  #authentication .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) {
    grid-template-columns: 1fr;
  }

  #registration .vip-account__field .vip-account__label,
  #authentication .vip-account__field .vip-account__label {
    display: block;
    min-height: 0;
    padding-top: 0;
    margin-bottom: 0.35rem;
  }

  #registration .vip-account__optional,
  #authentication .vip-account__optional {
    display: block;
    min-height: 0;
    padding-top: 0.35rem;
    text-align: left;
    grid-column: 1;
  }

  #registration .vip-account__field--checkbox .vip-account__control,
  #registration .vip-account__field--legal .vip-account__control,
  #authentication .vip-account__field--checkbox .vip-account__control,
  #authentication .vip-account__field--legal .vip-account__control {
    grid-column: 1;
  }

  #authentication .vip-account__forgot {
    grid-template-columns: 1fr;
  }

  #authentication .vip-account__forgot a {
    grid-column: 1;
  }
}

/* --------------------------------------------------------------------------
 * Customer account area (Mi cuenta + subpages) — VIP dashboard + tokens
 * -------------------------------------------------------------------------- */

body.page-customer-account #wrapper {
  background: var(--vip-page-bg);
}

body.page-customer-account #wrapper > .container {
  width: var(--vip-figma-content-width);
  max-width: none;
}

body.page-customer-account .breadcrumb {
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.4;
}

body.page-customer-account .breadcrumb a {
  color: #878787;
  text-decoration: none;
}

body.page-customer-account .breadcrumb li:last-child span {
  color: var(--vip-figma-brown);
}

body.page-customer-account #main {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

body.page-customer-account #main .page-content {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* Account hub + subpages — tan uppercase title (Tienda / categorías chrome). */
body.page-customer-account .vip-account__title {
  font-size: clamp(2rem, 4.5vw, 57px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
  text-wrap: balance;
}

body.page-customer-account .vip-account__lead {
  margin: 0 0 1.25rem;
  max-width: 42rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

body.page-customer-account button[data-action="show-password"] {
  display: none !important;
}

body.page-customer-account .password-requirements,
body.page-customer-account .password-strength-text,
body.page-customer-account .progress-container {
  display: none !important;
}

#registration .vip-account__field--radio .vip-account__control,
#authentication .vip-account__field--radio .vip-account__control,
#identity .vip-account__field--radio .vip-account__control,
body.page-customer-account .vip-account__field--radio .vip-account__control {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  min-height: 44px;
}

/* Tratamiento — pill toggles (no Classic double-ring radios). */
#registration .vip-account__field--radio .radio-inline,
#authentication .vip-account__field--radio .radio-inline,
#identity .vip-account__field--radio .radio-inline,
body.page-customer-account .vip-account__field--radio .radio-inline {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  min-height: 38px;
  margin: 0;
  padding: 0.4rem 1.15rem;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#registration .vip-account__field--radio .radio-inline:has(input:checked),
#authentication .vip-account__field--radio .radio-inline:has(input:checked),
#identity .vip-account__field--radio .radio-inline:has(input:checked),
body.page-customer-account .vip-account__field--radio .radio-inline:has(input:checked) {
  background: var(--vip-figma-tan);
  border-color: var(--vip-figma-tan);
  color: #fff !important;
}

#registration .vip-account__field--radio .custom-radio,
#authentication .vip-account__field--radio .custom-radio,
#identity .vip-account__field--radio .custom-radio,
body.page-customer-account .vip-account__field--radio .custom-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#registration .vip-account__field--radio .custom-radio input[type="radio"],
#authentication .vip-account__field--radio .custom-radio input[type="radio"],
#identity .vip-account__field--radio .custom-radio input[type="radio"],
body.page-customer-account .vip-account__field--radio .custom-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

#registration .vip-account__field--radio .custom-radio input[type="radio"] + span,
#authentication .vip-account__field--radio .custom-radio input[type="radio"] + span,
#identity .vip-account__field--radio .custom-radio input[type="radio"] + span,
body.page-customer-account .vip-account__field--radio .custom-radio input[type="radio"] + span {
  display: none !important;
}

#registration .vip-account__field--radio .radio-inline:has(input:focus-visible),
#authentication .vip-account__field--radio .radio-inline:has(input:focus-visible),
#identity .vip-account__field--radio .radio-inline:has(input:focus-visible),
body.page-customer-account .vip-account__field--radio .radio-inline:has(input:focus-visible) {
  outline: 2px solid rgba(126, 97, 74, 0.35);
  outline-offset: 2px;
}

body.page-customer-account .vip-account-addresses__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.6vw, 1.15rem);
  margin-bottom: 1.5rem;
}

body.page-customer-account .vip-account-address {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(1.1rem, 2vw, 1.35rem);
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 12px;
  background: #fff;
}

body.page-customer-account .vip-account-address__alias {
  margin: 0 0 0.65rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-brown);
}

body.page-customer-account .vip-account-address__formatted {
  flex: 1 1 auto;
  margin: 0 0 1rem;
  font-style: normal;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

body.page-customer-account .vip-address-lines {
  flex: 1 1 auto;
  margin: 0 0 1rem;
}

body.page-customer-account .vip-address-lines__row {
  display: grid;
  grid-template-columns: minmax(6.5rem, 38%) minmax(0, 1fr);
  column-gap: 0.75rem;
  row-gap: 0.15rem;
  margin: 0 0 0.35rem;
}

body.page-customer-account .vip-address-lines__label {
  margin: 0;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  color: #878787;
}

body.page-customer-account .vip-address-lines__value {
  margin: 0;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

body.page-customer-account .vip-account-address__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(213, 161, 125, 0.22);
}

body.page-customer-account .vip-account-address__action {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--vip-font-body);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--vip-figma-tan) !important;
  text-decoration: none;
}

body.page-customer-account .vip-account-address__action:hover {
  color: #c8926a !important;
  text-decoration: underline;
}

body.page-customer-account .vip-account-addresses__add {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-tan) !important;
  text-decoration: none;
}

body.page-customer-account .vip-account-addresses__add:hover {
  color: #c8926a !important;
  text-decoration: underline;
}

body.page-customer-account .order-actions a,
body.page-customer-account .view-order-details-link,
body.page-customer-account .reorder-link {
  color: var(--vip-figma-tan) !important;
  font-weight: 700;
  text-decoration: none;
}

body.page-customer-account .order-actions a:hover,
body.page-customer-account .view-order-details-link:hover,
body.page-customer-account .reorder-link:hover {
  color: #c8926a !important;
  text-decoration: underline;
}

@media (max-width: 991px) {
  body.page-customer-account .vip-account-addresses__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  body.page-customer-account .vip-account-addresses__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.page-customer-account .alert {
  border-radius: 4px;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

body.page-customer-account .alert-success {
  border-color: rgba(213, 161, 125, 0.55);
  background: rgba(213, 161, 125, 0.14);
  color: var(--vip-figma-brown);
}

body.page-customer-account .alert-warning,
body.page-customer-account .alert-danger,
body.page-customer-account .alert-info {
  border-color: rgba(213, 161, 125, 0.45);
  background: rgba(213, 161, 125, 0.1);
  color: var(--vip-figma-brown);
}

/* blockwishlist — lists + product view (Mi cuenta + module page ids; kill Classic cyan .text-primary). */
body.page-customer-account .vip-wishlist .wishlist-container-header > h1,
body#module-blockwishlist-lists .vip-wishlist .wishlist-container-header > h1,
body#module-blockwishlist-view .vip-wishlist .wishlist-products-container-header > h1 {
  display: none;
}

body.page-customer-account .vip-wishlist .wishlist-container-header,
body#module-blockwishlist-lists .vip-wishlist .wishlist-container-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0 0 1rem;
}

body.page-customer-account .vip-wishlist .wishlist-add-to-new,
body.page-customer-account .vip-wishlist .wishlist-add-to-new.text-primary,
body#module-blockwishlist-lists .wishlist-add-to-new,
body#module-blockwishlist-lists .wishlist-add-to-new.text-primary,
body#module-blockwishlist-lists .vip-wishlist .wishlist-add-to-new,
body#module-blockwishlist-lists .vip-wishlist .wishlist-add-to-new.text-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-tan) !important;
  text-decoration: none;
}

body.page-customer-account .vip-wishlist .wishlist-add-to-new .material-icons,
body#module-blockwishlist-lists .wishlist-add-to-new .material-icons,
body#module-blockwishlist-lists .vip-wishlist .wishlist-add-to-new .material-icons {
  color: inherit !important;
}

body.page-customer-account .vip-wishlist .wishlist-add-to-new:hover,
body#module-blockwishlist-lists .wishlist-add-to-new:hover,
body#module-blockwishlist-lists .vip-wishlist .wishlist-add-to-new:hover {
  color: #c8926a !important;
  opacity: 1;
}

body.page-customer-account .vip-wishlist .wishlist-container .page-content.card,
body.page-customer-account .vip-wishlist .wishlist-products-container .page-content.card,
body#module-blockwishlist-lists .vip-wishlist .page-content.card,
body#module-blockwishlist-view .vip-wishlist .page-content.card {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-customer-account .vip-wishlist .wishlist-list,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.page-customer-account .vip-wishlist .wishlist-list-item,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item {
  margin: 0 0 0.65rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

body.page-customer-account .vip-wishlist .wishlist-list-item-default,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item-default {
  border-color: var(--vip-figma-tan);
}

body.page-customer-account .vip-wishlist .wishlist-list-item-link,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item-link {
  display: block;
  padding: 0.95rem 1.1rem;
  color: var(--vip-figma-brown) !important;
  text-decoration: none;
}

body.page-customer-account .vip-wishlist .wishlist-list-item-title,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item-title {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-brown);
}

body.page-customer-account .vip-wishlist .wishlist-list-item-title span,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item-title span {
  color: #878787;
  font-weight: 400;
}

body.page-customer-account .vip-wishlist .wishlist-list-item-actions button,
body.page-customer-account .vip-wishlist .wishlist-list-item-actions a,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item-actions button,
body#module-blockwishlist-lists .vip-wishlist .wishlist-list-item-actions a {
  color: var(--vip-figma-tan) !important;
}

body.page-customer-account .vip-wishlist__back,
body#module-blockwishlist-view .vip-wishlist__back {
  margin: 0 0 1rem;
}

body.page-customer-account .vip-wishlist .text-primary,
body#module-blockwishlist-lists .text-primary,
body#module-blockwishlist-lists .vip-wishlist .text-primary,
body#module-blockwishlist-view .vip-wishlist .text-primary {
  color: var(--vip-figma-tan) !important;
}

body#module-blockwishlist-lists #main a:not(.wishlist-list-item-link):not(.vip-account__subnav-link),
body#module-blockwishlist-view #main a:not(.wishlist-list-item-link):not(.vip-account__subnav-link) {
  color: var(--vip-figma-tan) !important;
}

body.page-customer-account .vip-wishlist .btn-primary,
body#module-blockwishlist-lists .vip-wishlist .btn-primary,
body#module-blockwishlist-view .vip-wishlist .btn-primary {
  background: var(--vip-figma-brown) !important;
  border-color: var(--vip-figma-brown) !important;
  font-family: var(--vip-font-body);
  font-weight: 800;
}

body.page-customer-account .vip-wishlist .btn-primary:hover,
body#module-blockwishlist-lists .vip-wishlist .btn-primary:hover,
body#module-blockwishlist-view .vip-wishlist .btn-primary:hover {
  background: #6a523f !important;
  border-color: #6a523f !important;
}

body.page-customer-account .vip-wishlist .btn-secondary,
body.page-customer-account .vip-wishlist .modal-cancel,
body#module-blockwishlist-lists .vip-wishlist .btn-secondary,
body#module-blockwishlist-lists .vip-wishlist .modal-cancel,
body#module-blockwishlist-view .vip-wishlist .btn-secondary,
body#module-blockwishlist-view .vip-wishlist .modal-cancel {
  border-color: rgba(213, 161, 125, 0.55);
  color: var(--vip-figma-brown) !important;
}

body#module-blockwishlist-lists .wishlist-list-empty,
body#module-blockwishlist-lists .wishlist-list-empty p,
body.page-customer-account .vip-wishlist .wishlist-list-empty,
body.page-customer-account .vip-wishlist .wishlist-list-empty p {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown) !important;
}

/* psgdpr — grey boxes sized to VIP card (no Bootstrap bleed, no float/margin overflow). */
body.page-customer-account .vip-account__card:has(.vip-account-gdpr),
body#module-psgdpr-gdpr .vip-account__card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.page-customer-account .vip-account__card .container,
body.page-customer-account .vip-account__card .page_content,
body#module-psgdpr-gdpr .vip-account__card .container,
body#module-psgdpr-gdpr .vip-account__card .page_content {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

body.page-customer-account .vip-account-gdpr,
body#module-psgdpr-gdpr .vip-account-gdpr {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.page-customer-account .vip-account__card .row,
body.page-customer-account .vip-account-gdpr .row,
body#module-psgdpr-gdpr .vip-account__card .row,
body#module-psgdpr-gdpr .vip-account-gdpr .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-customer-account .vip-account__card [class*="col-"]:not(.psgdprinfo17):not(.vip-account-gdpr__box),
body.page-customer-account .vip-account-gdpr [class*="col-"]:not(.psgdprinfo17):not(.vip-account-gdpr__box),
body#module-psgdpr-gdpr .vip-account__card [class*="col-"]:not(.psgdprinfo17):not(.vip-account-gdpr__box),
body#module-psgdpr-gdpr .vip-account-gdpr [class*="col-"]:not(.psgdprinfo17):not(.vip-account-gdpr__box) {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-customer-account .vip-account-gdpr__box,
body.page-customer-account .vip-account-gdpr .psgdprinfo17,
body.page-customer-account .vip-account__card .psgdprinfo17,
body#module-psgdpr-gdpr .vip-account-gdpr__box,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprinfo17,
body#module-psgdpr-gdpr .vip-account__card .psgdprinfo17 {
  display: flow-root;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0 0 1.5rem !important;
  padding-top: clamp(1.5rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.5rem, 2.5vw, 2rem) !important;
  padding-left: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  padding-right: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  box-sizing: border-box !important;
  background: #f1f1f1;
  border-radius: 4px;
  float: none !important;
}

body.page-customer-account .vip-account-gdpr__box:last-child,
body.page-customer-account .vip-account-gdpr .psgdprinfo17:last-child,
body#module-psgdpr-gdpr .vip-account-gdpr__box:last-child,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprinfo17:last-child {
  margin-bottom: 0 !important;
}

body.page-customer-account .vip-account-gdpr__title,
body.page-customer-account .vip-account-gdpr .psgdprinfo17 h2,
body#module-psgdpr-gdpr .vip-account-gdpr__title,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprinfo17 h2 {
  margin: 0 0 0.75rem;
  font-family: var(--vip-font-body);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.35;
  color: var(--vip-figma-brown);
}

body.page-customer-account .vip-account-gdpr__text,
body.page-customer-account .vip-account-gdpr__box p,
body.page-customer-account .vip-account-gdpr .psgdprinfo17 p,
body#module-psgdpr-gdpr .vip-account-gdpr__text,
body#module-psgdpr-gdpr .vip-account-gdpr__box p,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprinfo17 p {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
  overflow-wrap: break-word;
}

body.page-customer-account .vip-account-gdpr__link,
body.page-customer-account .vip-account-gdpr__box a:not(.btn):not(.vip-account-gdpr__btn),
body.page-customer-account .vip-account-gdpr .psgdprinfo17 a:not(.btn):not(.vip-account-gdpr__btn),
body#module-psgdpr-gdpr .vip-account-gdpr__link,
body#module-psgdpr-gdpr .vip-account-gdpr__box a:not(.btn):not(.vip-account-gdpr__btn),
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprinfo17 a:not(.btn):not(.vip-account-gdpr__btn) {
  color: var(--vip-figma-tan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page-customer-account .vip-account-gdpr__link:hover,
body.page-customer-account .vip-account-gdpr__link:focus,
body.page-customer-account .vip-account-gdpr__box a:not(.btn):not(.vip-account-gdpr__btn):hover,
body.page-customer-account .vip-account-gdpr__box a:not(.btn):not(.vip-account-gdpr__btn):focus,
body#module-psgdpr-gdpr .vip-account-gdpr__link:hover,
body#module-psgdpr-gdpr .vip-account-gdpr__link:focus,
body#module-psgdpr-gdpr .vip-account-gdpr__box a:not(.btn):not(.vip-account-gdpr__btn):hover,
body#module-psgdpr-gdpr .vip-account-gdpr__box a:not(.btn):not(.vip-account-gdpr__btn):focus {
  color: var(--vip-figma-brown);
}

body.page-customer-account .vip-account-gdpr__btns,
body#module-psgdpr-gdpr .vip-account-gdpr__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 1.25rem;
  clear: both;
}

body.page-customer-account .vip-account-gdpr__btn,
body.page-customer-account .vip-account-gdpr .psgdprgetdatabtn17,
body.page-customer-account .vip-account-gdpr #exportDataToCsv,
body.page-customer-account .vip-account-gdpr #exportDataToPdf,
body#module-psgdpr-gdpr .vip-account-gdpr__btn,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprgetdatabtn17,
body#module-psgdpr-gdpr .vip-account-gdpr #exportDataToCsv,
body#module-psgdpr-gdpr .vip-account-gdpr #exportDataToPdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: none !important;
  margin: 0 !important;
  min-height: 44px;
  padding: 0.55rem 1.35rem;
  border: none !important;
  border-radius: 22px;
  background: var(--vip-figma-brown) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: var(--vip-font-body);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: normal;
  max-width: 100%;
  min-width: 0;
  white-space: normal !important;
  text-align: center;
}

body.page-customer-account .vip-account-gdpr__btn:hover,
body.page-customer-account .vip-account-gdpr__btn:focus,
body.page-customer-account .vip-account-gdpr .psgdprgetdatabtn17:hover,
body.page-customer-account .vip-account-gdpr .psgdprgetdatabtn17:focus,
body#module-psgdpr-gdpr .vip-account-gdpr__btn:hover,
body#module-psgdpr-gdpr .vip-account-gdpr__btn:focus,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprgetdatabtn17:hover,
body#module-psgdpr-gdpr .vip-account-gdpr .psgdprgetdatabtn17:focus {
  background: var(--vip-figma-brown) !important;
  color: #fff !important;
  opacity: 0.92;
}

.vip-account-dashboard__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(0.85rem, 1.6vw, 1.15rem);
  margin: 0;
  flex-wrap: unset;
}

/* Grid row height — anchor + .link-item fill cell so icon/label center vertically. */
.vip-account-dashboard__grid > a {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 10rem;
  padding: 0;
  text-decoration: none;
  color: inherit;
}

/* Classic theme.css uses flex + #232323 on .page-my-account .links — neutralize on VIP hub. */
body#my-account.page-customer-account .vip-account-dashboard__grid > a,
body#my-account.page-customer-account .vip-account-dashboard__grid > a:hover,
body#my-account.page-customer-account .vip-account-dashboard__grid > a:focus-visible {
  color: inherit !important;
}

body#my-account.page-customer-account .vip-account-dashboard__grid > a:hover i,
body#my-account.page-customer-account .vip-account-dashboard__grid > a:focus-visible i,
body#my-account.page-customer-account .vip-account-dashboard__grid > a:hover .material-icons,
body#my-account.page-customer-account .vip-account-dashboard__grid > a:focus-visible .material-icons {
  color: var(--vip-figma-tan) !important;
}

.vip-account-dashboard__tile .link-item,
body#my-account.page-customer-account .vip-account-dashboard__grid > a .link-item {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 10rem;
  margin: 0;
  padding: clamp(1.25rem, 2vw, 1.65rem) clamp(0.85rem, 1.5vw, 1.15rem);
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  text-align: center;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.vip-account-dashboard__grid > a:hover .link-item,
.vip-account-dashboard__tile:hover .link-item {
  border-color: var(--vip-figma-tan);
  background: rgba(213, 161, 125, 0.1);
  transform: translateY(-2px);
}

.vip-account-dashboard__grid > a:focus,
.vip-account-dashboard__grid > a:focus-visible,
.vip-account-dashboard__grid > a:active,
.vip-account-dashboard__tile:focus,
.vip-account-dashboard__tile:focus-visible,
.vip-account-dashboard__tile:active {
  outline: none !important;
  box-shadow: none !important;
}

.vip-account-dashboard__grid > a:focus .link-item,
.vip-account-dashboard__grid > a:focus-visible .link-item,
.vip-account-dashboard__grid > a:active .link-item,
.vip-account-dashboard__tile:focus .link-item,
.vip-account-dashboard__tile:focus-visible .link-item,
.vip-account-dashboard__tile:active .link-item {
  outline: none !important;
  box-shadow: none !important;
}

.vip-account-dashboard__grid > a .material-icons {
  font-size: clamp(2.25rem, 4vw, 2.75rem);
  line-height: 1;
  color: var(--vip-figma-tan) !important;
}

.vip-account-dashboard__label,
.vip-account-dashboard__grid > a .link-item > span:not(.material-icons) {
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--vip-figma-brown) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.vip-account-dashboard__tile .link-item > .material-icons {
  text-transform: none;
}

body.page-customer-account .vip-account-dashboard__grid > a:not(.vip-account-dashboard__tile) .material-icons,
body.page-customer-account .vip-account-dashboard__grid > a:not(.vip-account-dashboard__tile) .link-item i {
  font-size: clamp(2.25rem, 4vw, 2.75rem);
  line-height: 1;
  color: var(--vip-figma-tan) !important;
}

body.page-customer-account .vip-account-dashboard__grid > a:not(.vip-account-dashboard__tile) .link-item > span:not(.material-icons):not(.vip-account-dashboard__label),
body.page-customer-account .vip-account-dashboard__grid > a:not(.vip-account-dashboard__tile) .link-item {
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--vip-figma-brown) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Legacy hook markup: Bootstrap cols on <a>, stray wishlist images. */
body.page-customer-account .vip-account-dashboard__grid > a[class*="col-"] {
  position: static;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

body.page-customer-account .vip-account-dashboard__grid > a img {
  display: none !important;
}

.vip-account__signout {
  margin-top: clamp(2rem, 4vw, 2.75rem);
  text-align: center;
}

.vip-account__signout-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 1.75rem;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 22px;
  background: #fff;
  color: var(--vip-figma-tan) !important;
  font-family: var(--vip-font-body);
  font-weight: 700;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.vip-account__signout-link:hover {
  background: rgba(213, 161, 125, 0.12);
  border-color: var(--vip-figma-tan);
  color: #c8926a !important;
}

.vip-account__signout-link:focus,
.vip-account__signout-link:focus-visible,
.vip-account__signout-link:active {
  outline: none !important;
  box-shadow: none !important;
}

.vip-account__subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.75rem;
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.vip-account__subnav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-tan) !important;
  text-decoration: none;
}

.vip-account__subnav-link .material-icons {
  font-size: 1.15rem;
  line-height: 1;
  color: var(--vip-figma-tan) !important;
}

.vip-account__subnav-link:hover {
  color: #c8926a !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.vip-account__subnav-link:focus,
.vip-account__subnav-link:focus-visible,
.vip-account__subnav-link:active {
  outline: none !important;
  box-shadow: none !important;
}

body.page-customer-account .page-footer a:not(.vip-account__subnav-link) {
  color: var(--vip-figma-tan) !important;
}

body.page-customer-account .table {
  border-color: rgba(213, 161, 125, 0.45);
  color: var(--vip-figma-brown);
}

body.page-customer-account .table thead th {
  border-color: rgba(213, 161, 125, 0.45);
  font-family: var(--vip-font-body);
  font-weight: 700;
  color: var(--vip-figma-brown);
  background: rgba(213, 161, 125, 0.08);
}

body.page-customer-account .table td,
body.page-customer-account .table th {
  border-color: rgba(213, 161, 125, 0.35);
}

body.page-customer-account .btn-primary,
body.page-customer-account .btn-secondary {
  border-radius: 4px;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

body.page-customer-account .btn-primary {
  border: none;
  background: var(--vip-figma-tan);
  color: #fff;
}

body.page-customer-account .btn-primary:hover,
body.page-customer-account .btn-primary:focus-visible {
  background: #c8926a;
  color: #fff;
}

body.page-customer-account .btn-secondary {
  border: 1px solid rgba(213, 161, 125, 0.55);
  background: #fff;
  color: var(--vip-figma-brown);
}

body.page-customer-account h6,
body.page-customer-account p,
body.page-customer-account .page-content label {
  color: var(--vip-figma-brown);
}

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

@media (max-width: 575px) {
  .vip-account-dashboard__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --------------------------------------------------------------------------
 * Contact page — no Figma comp; aligned with CMS + account pages
 * -------------------------------------------------------------------------- */

#contact #wrapper .container {
  max-width: var(--vip-figma-content-width);
}

#contact #main {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-text);
}

#contact .breadcrumb {
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-size: 12px;
  line-height: 14.4px;
}

#contact .breadcrumb a {
  color: #878787;
  text-decoration: none;
}

#contact .breadcrumb li:last-child span {
  color: var(--vip-figma-tan);
}

#contact #main .page-content {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.vip-contact__header {
  margin: 0 0 1.25rem;
}

.vip-contact__title {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 37px;
  line-height: 36px;
  color: var(--vip-figma-brown);
  text-align: left;
}

.vip-contact__aside {
  background: #fff;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  margin-bottom: 1.25rem;
}

.vip-contact-aside__title {
  margin: 0 0 0.85rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: var(--vip-figma-brown);
}

.vip-contact-aside__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vip-contact-aside__item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 13px;
  line-height: 1.45;
  color: #878787;
}

.vip-contact-aside__item--address {
  align-items: flex-start;
}

.vip-contact-aside__item + .vip-contact-aside__item {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(213, 161, 125, 0.28);
}

.vip-contact-aside__icon {
  flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(213, 161, 125, 0.16);
  color: var(--vip-figma-brown);
  font-size: 1rem;
  line-height: 1;
}

.vip-contact-aside__item--address .vip-contact-aside__icon {
  margin-top: 0.1rem;
}

.vip-contact-aside__text {
  flex: 1 1 auto;
  min-width: 0;
}

.vip-contact-aside__text--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}

.vip-contact-aside__line {
  display: block;
}

.vip-contact-aside__line + .vip-contact-aside__line {
  margin-top: 0.1rem;
}

.vip-contact-aside__line--primary {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--vip-text);
}

.vip-contact-aside__text a {
  color: var(--vip-figma-brown);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  border-bottom: 1px solid rgba(126, 97, 74, 0.28);
  transition: color 0.15s ease, border-color 0.15s ease;
}

.vip-contact-aside__text a:hover,
.vip-contact-aside__text a:focus {
  color: var(--vip-figma-tan);
  border-bottom-color: rgba(213, 161, 125, 0.65);
}

.vip-contact-aside__sep {
  color: #878787;
  font-weight: 400;
}

.vip-contact__card {
  background: #fff;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  padding: clamp(1.35rem, 2.5vw, 2.25rem) clamp(1.25rem, 3vw, 2.5rem);
}

.vip-contact__form {
  margin: 0;
}

.vip-contact__fields {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.vip-contact__alert {
  margin: 0 0 1.25rem;
  border-radius: 4px;
  border: 1px solid transparent;
  padding: 0.85rem 1rem;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

.vip-contact__alert.alert-success {
  background: rgba(247, 244, 239, 0.95);
  border-color: rgba(213, 161, 125, 0.45);
  color: var(--vip-figma-brown);
}

.vip-contact__alert.alert-danger {
  background: #fff5f5;
  border-color: rgba(198, 40, 40, 0.25);
  color: #8b2e2e;
}

.vip-contact__alert-list {
  margin: 0;
  padding-left: 1.15rem;
}

.vip-contact__alert-list li {
  margin-bottom: 0.35rem;
}

.vip-contact__alert-list li:last-child {
  margin-bottom: 0;
}

#contact .vip-account__field {
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  row-gap: 0.35rem;
  align-items: start;
  margin: 0;
}

#contact .vip-account__field > [class*="col-"] {
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

#contact .vip-contact__field--message {
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr);
  align-items: center;
}

#contact .vip-contact__field--message .vip-account__label {
  min-height: 0;
  align-self: center;
}

#contact .vip-account__field--legal {
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  row-gap: 0.35rem;
  align-items: center;
}

#contact .vip-account__field--legal .vip-account__control {
  grid-column: 2;
  width: auto;
  max-width: none;
  padding: 0;
}

#contact .vip-account__field--legal .custom-checkbox label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-tan);
}

#contact .vip-account__field--legal .custom-checkbox input[type=checkbox] + span {
  display: inline-block;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-right: 0;
  margin-top: 0;
  vertical-align: middle;
}

#contact .vip-account__field--legal .custom-checkbox input[type=checkbox] + span .checkbox-checked {
  display: none;
  margin: 0;
  font-size: 13px;
  line-height: 1;
  color: #232323;
}

#contact .vip-account__field--legal .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked {
  display: block;
}

#contact .vip-account__label {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  font-weight: 400;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
  text-align: left;
}

#contact .vip-contact__field--message .vip-account__label {
  min-height: 0;
}

#contact .vip-account__field .form-control,
#contact .vip-account__field .vip-account__input {
  min-height: 44px;
  border: none;
  border-radius: 22px;
  background-color: var(--vip-figma-tan);
  color: #fff;
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  padding: 0.55rem 1.15rem;
  box-shadow: none;
}

#contact .vip-contact__textarea {
  min-height: 9rem;
  border-radius: 18px;
  resize: vertical;
}

#contact .vip-account__field .form-control:focus,
#contact .vip-account__field .vip-account__input:focus {
  background-color: var(--vip-figma-tan);
  color: #fff;
  -webkit-text-fill-color: #fff;
  box-shadow: 0 0 0 2px rgba(126, 97, 74, 0.35);
}

#contact .vip-account__field .form-control::placeholder,
#contact .vip-account__field .vip-account__input::placeholder {
  color: #fff;
  opacity: 1;
}

#contact .vip-account__field select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.25rem;
}

#contact .vip-contact__file-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.45rem 1rem;
  background: var(--vip-cream);
  border: 1px dashed rgba(213, 161, 125, 0.55);
  border-radius: 18px;
}

#contact .vip-contact__file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

#contact .vip-contact__file-ui {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  pointer-events: none;
}

#contact .vip-contact__file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.35rem 0.85rem;
  border-radius: 14px;
  background: var(--vip-figma-brown);
  color: #fff;
  font-family: var(--vip-font-body);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

#contact .vip-contact__file-name {
  min-width: 0;
  font-size: 13px;
  line-height: 1.35;
  color: #878787;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#contact .vip-account__optional {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  font-size: 12px;
  line-height: 22.5px;
  color: #878787;
  text-align: right;
}

.vip-contact__footer {
  margin-top: 2rem;
  text-align: center;
}

.vip-contact__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

#contact .vip-account__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(344px, 100%);
  min-height: 44px;
  padding: 0.65rem 2rem;
  border: none;
  border-radius: 22px;
  background: var(--vip-figma-brown);
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 800;
  font-size: 16px;
  line-height: 19.2px;
}

#contact .vip-account__submit:hover,
#contact .vip-account__submit:focus {
  background: var(--vip-figma-brown);
  color: #fff;
  opacity: 0.92;
}

@media (min-width: 768px) {
  #contact #left-column {
    padding-right: 1rem;
  }

  #contact #content-wrapper.left-column {
    padding-left: 0.5rem;
  }
}

@media (max-width: 767.98px) {
  #contact .vip-account__field,
  #contact .vip-contact__field--message {
    grid-template-columns: 1fr;
    align-items: start;
  }

  #contact .vip-account__label {
    display: block;
    min-height: 0;
    padding-top: 0;
    margin-bottom: 0.35rem;
  }

  #contact .vip-account__optional {
    display: block;
    min-height: 0;
    padding-top: 0.35rem;
    text-align: left;
    grid-column: 1;
  }

  #contact .vip-account__field--legal .vip-account__control {
    grid-column: 1;
  }
}

/* --------------------------------------------------------------------------
 * Shopping cart (#cart) — Figma TIENDA chrome + VIP tokens
 * -------------------------------------------------------------------------- */

#cart #wrapper {
  background: var(--vip-page-bg);
}

#cart #wrapper .container {
  width: var(--vip-figma-content-width);
  max-width: none;
}

#cart .breadcrumb {
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.4;
}

#cart .breadcrumb a {
  color: #878787;
  text-decoration: none;
}

#cart .breadcrumb li:last-child span {
  color: var(--vip-figma-brown);
}

#cart #main.vip-cart {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

#cart .vip-cart__grid {
  align-items: flex-start;
  gap: clamp(1.5rem, 3vw, 2.5rem) 0;
}

#cart .vip-cart__panel,
#cart .vip-cart__summary {
  background: #fff;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  box-shadow: none;
}

#cart .vip-cart__panel .card-block,
#cart .vip-cart__summary .card-block {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

#cart .vip-cart__title {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(2rem, 4.5vw, 57px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
}

#cart .vip-cart__separator {
  margin: 0;
  border: none;
  border-top: 1px solid rgba(213, 161, 125, 0.45);
  opacity: 1;
}

#cart .vip-cart__empty-msg,
#cart .cart-overview .no-items {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
}

/* Beat Classic `a.label` (near-black) on checkout links — VIP tan only. */
#cart a.vip-cart__continue,
#cart .cart-grid-body > a.vip-cart__continue {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  margin-top: 1.25rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-tan) !important;
  text-decoration: none;
  white-space: nowrap;
}

#cart a.vip-cart__continue .material-icons,
#cart .cart-grid-body > a.vip-cart__continue .material-icons {
  font-size: 1.15rem;
  line-height: 1;
  color: var(--vip-figma-tan) !important;
}

#cart a.vip-cart__continue:hover,
#cart a.vip-cart__continue:focus-visible,
#cart .cart-grid-body > a.vip-cart__continue:hover,
#cart .cart-grid-body > a.vip-cart__continue:focus-visible {
  color: #c8926a !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#cart a.vip-cart__continue:hover .material-icons,
#cart a.vip-cart__continue:focus-visible .material-icons {
  color: #c8926a !important;
}

#cart .cart-summary-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 1rem;
  row-gap: 0.25rem;
  margin: 0 0 0.65rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

#cart .cart-summary-line > div {
  grid-column: 1 / -1;
}

#cart .cart-summary-line .label {
  color: #878787;
  font-weight: 400;
  justify-self: start;
}

#cart .cart-summary-line .value {
  color: var(--vip-figma-brown);
  font-weight: 600;
  float: none !important;
  justify-self: end;
  text-align: right;
  white-space: nowrap;
}

#cart .cart-detailed-subtotals.card-block {
  padding-bottom: 0.35rem;
}

#cart .cart-summary-totals.card-block {
  padding-top: 0;
}

#cart .cart-summary-totals .cart-summary-line:first-child {
  margin-top: 0.5rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(213, 161, 125, 0.45);
}

#cart .cart-summary-line.cart-total {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(213, 161, 125, 0.45);
}

#cart .cart-summary-line.cart-total .label,
#cart .cart-summary-line.cart-total .value {
  font-weight: 800;
  color: var(--vip-figma-brown);
}

#cart .vip-cart__checkout,
#cart .cart-detailed-actions .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 0.5rem;
  padding: 0.65rem 1.5rem;
  border: none;
  border-radius: 4px;
  background: var(--vip-figma-tan);
  color: #fff;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease;
}

#cart .vip-cart__checkout:hover,
#cart .vip-cart__checkout:focus-visible,
#cart .cart-detailed-actions .btn-primary:hover:not(:disabled) {
  background: #c8926a;
  color: #fff;
}

#cart .vip-cart__checkout.disabled,
#cart .vip-cart__checkout:disabled,
#cart .cart-detailed-actions .btn-primary.disabled,
#cart .cart-detailed-actions .btn-primary:disabled {
  background: var(--vip-figma-tan);
  color: #fff;
  opacity: 0.45;
  cursor: not-allowed;
}

#cart .cart-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

#cart .cart-item + .cart-item {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(213, 161, 125, 0.35);
}

#cart .product-line-grid {
  align-items: center;
}

#cart .product-line-info a.label {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-figma-brown);
  text-decoration: none;
}

#cart .product-line-info a.label:hover,
#cart .product-line-info a.label:focus-visible {
  color: var(--vip-figma-tan);
}

#cart .product-line-info.product-price .price,
#cart .product-line-info.product-price .current-price {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  font-weight: 700;
  color: var(--vip-figma-brown);
}

#cart .product-line-grid-right .product-price strong {
  font-weight: 800;
  color: var(--vip-figma-brown);
}

#cart .js-cart-line-product-quantity {
  max-width: 4.5rem;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  color: var(--vip-figma-tan);
  text-align: center;
}

#cart .cart-line-product-actions .remove-from-cart {
  color: #878787;
  text-decoration: none;
}

#cart .cart-line-product-actions .remove-from-cart:hover,
#cart .cart-line-product-actions .remove-from-cart:focus-visible {
  color: var(--vip-figma-tan);
}

#cart .block-promo .promo-code form,
#cart .block-promo .promo-code .form-control {
  border-color: rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  font-family: var(--vip-font-body);
}

#cart .alert-warning {
  border-color: rgba(213, 161, 125, 0.55);
  background: rgba(213, 161, 125, 0.12);
  color: var(--vip-figma-brown);
  font-size: var(--vip-figma-parrafo-size);
}

.vip-minimum-purchase,
#cart .vip-minimum-purchase,
#checkout .vip-minimum-purchase,
body.page-order .vip-minimum-purchase,
#blockcart-modal .vip-minimum-purchase {
  margin: 0 0 1rem;
  border-color: rgba(213, 161, 125, 0.55);
  background: rgba(213, 161, 125, 0.12);
  color: var(--vip-figma-brown);
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

#blockcart-modal .vip-blockcart-modal__view-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0.65rem 1.25rem;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  background: #fff;
  color: var(--vip-figma-tan) !important;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  text-decoration: none;
}

#blockcart-modal .vip-blockcart-modal__view-cart:hover,
#blockcart-modal .vip-blockcart-modal__view-cart:focus-visible {
  background: rgba(213, 161, 125, 0.12);
  color: #c8926a !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#blockcart-modal .vip-blockcart-modal__checkout.disabled,
#blockcart-modal .vip-blockcart-modal__checkout:disabled {
  background: var(--vip-figma-tan);
  color: #fff;
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 991px) {
  #cart .vip-cart__aside {
    margin-top: 0.5rem;
  }
}

/* --------------------------------------------------------------------------
 * Add-to-cart modal (ps_shoppingcart #blockcart-modal)
 * Brand palette only: --vip-figma-brown, --vip-figma-tan, --vip-figma-footer-bg
 * -------------------------------------------------------------------------- */

#blockcart-modal {
  --vip-modal-ink: var(--vip-figma-brown);
  --vip-modal-accent: var(--vip-figma-tan);
  --vip-modal-muted: #878787;
  --vip-modal-border: rgba(213, 161, 125, 0.55);
  --vip-modal-hover: var(--vip-header-tan-dark);
}

#blockcart-modal .modal-content,
#blockcart-modal .vip-blockcart-modal__content {
  border: 1px solid var(--vip-modal-border);
  border-radius: 4px;
  box-shadow: 0 16px 48px rgba(46, 35, 35, 0.14);
  overflow: hidden;
}

#blockcart-modal .modal-dialog,
#blockcart-modal .vip-blockcart-modal__dialog {
  max-width: min(920px, calc(100vw - 2rem));
  margin: 1.75rem auto;
}

#blockcart-modal .modal-header,
#blockcart-modal .vip-blockcart-modal__header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 1.1rem 2.75rem 1rem;
  border-bottom: 1px solid rgba(213, 161, 125, 0.35);
  background: #fff;
}

#blockcart-modal .modal-title,
#blockcart-modal .vip-blockcart-modal__title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin: 0;
  width: 100%;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  color: var(--vip-modal-accent);
  text-align: center;
}

#blockcart-modal .vip-blockcart-modal__title .material-icons {
  display: none;
}

#blockcart-modal .vip-blockcart-modal__title-icon {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23D5A17D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}

#blockcart-modal .close,
#blockcart-modal .vip-blockcart-modal__close {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  margin: 0;
  padding: 0.25rem;
  opacity: 1;
  color: var(--vip-modal-muted);
  text-shadow: none;
}

#blockcart-modal .close:hover,
#blockcart-modal .close:focus,
#blockcart-modal .vip-blockcart-modal__close:hover,
#blockcart-modal .vip-blockcart-modal__close:focus {
  color: var(--vip-modal-accent);
  opacity: 1;
}

#blockcart-modal .modal-body,
#blockcart-modal .vip-blockcart-modal__body {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  background: #fff;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-modal-ink);
}

#blockcart-modal .cart-content,
#blockcart-modal .cart-content p,
#blockcart-modal .cart-products-count,
#blockcart-modal .product-name,
#blockcart-modal .product-tax,
#blockcart-modal .vip-blockcart-modal__name {
  color: var(--vip-modal-ink);
}

#blockcart-modal .divide-right,
#blockcart-modal .vip-blockcart-modal__product-col {
  border-right: 1px solid rgba(213, 161, 125, 0.35);
}

#blockcart-modal .vip-blockcart-modal__image,
#blockcart-modal .product-image {
  display: block;
  width: 100%;
  max-width: 140px;
  height: auto;
  margin: 0 auto;
  border: 1px solid rgba(213, 161, 125, 0.25);
  border-radius: 4px;
  object-fit: contain;
  background: #fff;
}

#blockcart-modal .product-name,
#blockcart-modal .vip-blockcart-modal__name {
  margin: 0 0 0.5rem;
  font-family: var(--vip-font-body);
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--vip-modal-ink);
}

#blockcart-modal .product-price,
#blockcart-modal .vip-blockcart-modal__price {
  margin: 0 0 0.65rem;
  font-family: var(--vip-font-body);
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--vip-modal-accent);
}

#blockcart-modal .vip-blockcart-modal__attr,
#blockcart-modal .product-quantity,
#blockcart-modal .vip-blockcart-modal__qty {
  display: inline-block;
  margin-top: 0.15rem;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-modal-muted);
}

#blockcart-modal .vip-blockcart-modal__attr strong,
#blockcart-modal .product-quantity strong,
#blockcart-modal .vip-blockcart-modal__qty strong {
  color: var(--vip-modal-ink);
  font-weight: 700;
}

#blockcart-modal .vip-blockcart-modal__line,
#blockcart-modal .cart-content > p:not(.cart-products-count) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 1rem;
  row-gap: 0.25rem;
  margin: 0 0 0.55rem;
}

#blockcart-modal .cart-products-count,
#blockcart-modal .vip-blockcart-modal__count {
  display: block;
  margin: 0 0 1rem;
  font-weight: 700;
  color: var(--vip-modal-ink) !important;
}

#blockcart-modal .vip-blockcart-modal__line .label,
#blockcart-modal .cart-content .label,
#blockcart-modal .cart-content > p:not(.cart-products-count) > span:first-child {
  color: var(--vip-modal-muted);
  font-weight: 400;
  justify-self: start;
}

#blockcart-modal .vip-blockcart-modal__line .value,
#blockcart-modal .cart-content .value,
#blockcart-modal .cart-content > p:not(.cart-products-count) > span:last-child {
  color: var(--vip-modal-ink);
  font-weight: 600;
  float: none !important;
  justify-self: end;
  text-align: right;
  white-space: nowrap;
}

#blockcart-modal .vip-blockcart-modal__line--total,
#blockcart-modal .product-total {
  margin-top: 0.85rem;
  padding: 0.65rem 0;
  border-top: none;
  border-radius: 4px;
  background: var(--vip-figma-footer-bg);
}

#blockcart-modal .vip-blockcart-modal__line--total .label,
#blockcart-modal .vip-blockcart-modal__line--total .value,
#blockcart-modal .product-total .label,
#blockcart-modal .product-total .value {
  font-weight: 800;
  color: var(--vip-modal-ink);
}

#blockcart-modal .cart-content-btn,
#blockcart-modal .vip-blockcart-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.35rem;
}

#blockcart-modal .btn-secondary,
#blockcart-modal .vip-blockcart-modal__continue {
  flex: 1 1 12rem;
  min-height: 52px;
  padding: 0.65rem 1.25rem;
  border: 1px solid var(--vip-modal-border) !important;
  border-radius: 4px;
  background: #fff !important;
  color: var(--vip-modal-ink) !important;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  box-shadow: none !important;
}

#blockcart-modal .btn-secondary:hover,
#blockcart-modal .btn-secondary:focus,
#blockcart-modal .vip-blockcart-modal__continue:hover,
#blockcart-modal .vip-blockcart-modal__continue:focus {
  border-color: var(--vip-modal-accent) !important;
  background: rgba(213, 161, 125, 0.08) !important;
  color: var(--vip-modal-accent) !important;
}

#blockcart-modal .btn-primary,
#blockcart-modal .vip-blockcart-modal__checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex: 1 1 12rem;
  min-height: 52px;
  padding: 0.65rem 1.25rem;
  border: none !important;
  border-radius: 4px;
  background: var(--vip-modal-accent) !important;
  color: #fff !important;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  box-shadow: none !important;
}

#blockcart-modal .btn-primary:hover,
#blockcart-modal .btn-primary:focus,
#blockcart-modal .vip-blockcart-modal__checkout:hover,
#blockcart-modal .vip-blockcart-modal__checkout:focus {
  background: var(--vip-modal-hover) !important;
  color: #fff !important;
}

#blockcart-modal .btn-primary .material-icons,
#blockcart-modal .vip-blockcart-modal__checkout .material-icons {
  display: none;
}

#blockcart-modal .vip-blockcart-modal__checkout-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}

@media (max-width: 767.98px) {
  #blockcart-modal .divide-right,
  #blockcart-modal .vip-blockcart-modal__product-col {
    border-right: none;
    border-bottom: 1px solid rgba(213, 161, 125, 0.35);
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
  }

  #blockcart-modal .vip-blockcart-modal__actions {
    flex-direction: column;
  }

  #blockcart-modal .btn-secondary,
  #blockcart-modal .btn-primary,
  #blockcart-modal .vip-blockcart-modal__continue,
  #blockcart-modal .vip-blockcart-modal__checkout {
    width: 100%;
    flex-basis: auto;
  }
}

#footer {
  background-color: var(--vip-page-bg);
}

/* --------------------------------------------------------------------------
 * /categorias — category overview (bento mosaic; typography = Figma TIENDA)
 * Page chrome: .vip-tienda__title / __lead; tiles: .vip-tienda__hero-label on photo.
 * -------------------------------------------------------------------------- */

body.vip-categorias-page #wrapper,
body.vip-marcas-page #wrapper {
  background: var(--vip-page-bg);
}

body.vip-categorias-page #wrapper .container,
body.vip-marcas-page #wrapper .container {
  width: var(--vip-figma-content-width);
  max-width: none;
}

body.vip-categorias-page .breadcrumb,
body.vip-marcas-page .breadcrumb {
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  font-family: var(--vip-font-body);
  font-size: 12px;
  line-height: 1.4;
}

body.vip-categorias-page .breadcrumb a,
body.vip-marcas-page .breadcrumb a {
  color: #878787;
  text-decoration: none;
}

body.vip-categorias-page .breadcrumb li:last-child span,
body.vip-marcas-page .breadcrumb li:last-child span {
  color: var(--vip-figma-brown);
}

#module-viptienda-categorias #main,
body.vip-categorias-page #main,
body.vip-marcas-page #main {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

body.vip-categorias-page #main .page-content.card,
body.vip-marcas-page #main .page-content.card {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(2.5rem, 5vw, 4rem);
}

body.vip-categorias-page #main .page-header,
body.vip-marcas-page #main .page-header {
  max-width: var(--vip-figma-content-width);
  margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
  padding: 0;
  border: none;
  text-align: left;
}

/* Same as .vip-tienda__title (category pages e.g. /tienda/palo-santo). */
#module-viptienda-categorias #main .page-header h1,
body.vip-categorias-page #main .page-header h1,
body.vip-marcas-page #main .page-header h1 {
  margin: 0 0 0.75rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(2rem, 4.5vw, 57px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
  text-align: left;
  text-wrap: balance;
}

.vip-categorias__mosaic {
  max-width: var(--vip-figma-content-width);
  margin: 0 auto;
}

.vip-categorias__stripes {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vip-categorias__lazy-wrap {
  margin-top: 10px;
}

.vip-categorias__quad {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (min-width: 992px) {
  .vip-categorias__quad {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(12rem, 1fr));
    gap: 10px;
    min-height: clamp(22rem, 36vw, 32rem);
  }

  .vip-categorias__quad--hero-left .vip-categorias__quad-hero {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .vip-categorias__quad--hero-left .vip-categorias__quad-rail-top {
    grid-column: 2;
    grid-row: 1;
  }

  .vip-categorias__quad--hero-left .vip-categorias__quad-rail-bottom {
    grid-column: 2;
    grid-row: 2;
  }

  .vip-categorias__quad--hero-right .vip-categorias__quad-hero {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .vip-categorias__quad--hero-right .vip-categorias__quad-rail-top {
    grid-column: 1;
    grid-row: 1;
  }

  .vip-categorias__quad--hero-right .vip-categorias__quad-rail-bottom {
    grid-column: 1;
    grid-row: 2;
  }
}

.vip-categorias__quad-rail-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vip-categorias__quad-fallback {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 575px) {
  .vip-categorias__quad-fallback {
    grid-template-columns: minmax(0, 1fr);
  }
}

.vip-categorias__tile {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 12rem;
  border-radius: 12px;
  border: 1px solid rgba(126, 97, 74, 0.18);
  background: #f4ebe8;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vip-categorias__tile:hover,
.vip-categorias__tile:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

@media (min-width: 992px) {
  .vip-categorias__quad-hero .vip-categorias__tile,
  .vip-categorias__quad-rail-top .vip-categorias__tile,
  .vip-categorias__quad-rail-bottom .vip-categorias__tile {
    min-height: 100%;
    height: 100%;
  }
}

.vip-categorias__tile-media {
  position: absolute;
  inset: 0;
  display: block;
}

.vip-categorias__tile-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.35s ease;
}

.vip-categorias__tile:hover .vip-categorias__tile-img,
.vip-categorias__tile:focus-visible .vip-categorias__tile-img {
  transform: scale(1.04);
}

.vip-categorias__tile-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.22) 45%, rgba(0, 0, 0, 0.12) 100%);
}

.vip-categorias__tile-body {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: clamp(1rem, 2.3cqi, 1.75rem);
  box-sizing: border-box;
}

/* Same ink as .vip-tienda__hero-label on category hero banners. */
.vip-categorias__tile-name {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(1.15rem, 2.6vw, 1.75rem);
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
  text-wrap: balance;
}

.vip-categorias__tile--hero .vip-categorias__tile-name {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  line-height: 1.05;
}

/* PARRAFO on photo cards — white (titles stay tan like .vip-tienda__hero-label). */
.vip-categorias__tile-desc {
  margin: 0;
  max-width: 36rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  color: #fff;
  text-align: left;
  text-wrap: pretty;
}

.vip-categorias__toolbar {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 4vw, 2.75rem);
}

/* `.vip-btn--pill-peach` / `--explore-tan` are scoped on homepage tiles only — mirror here. */
#vip-categorias-load-more.vip-btn--explore-tan,
.vip-categorias__toolbar .vip-btn--explore-tan {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-width: 124px;
  min-height: 38px;
  padding: 0.45rem 1.65rem;
  border: none;
  border-radius: 999px;
  background: var(--vip-figma-tan);
  color: #fff;
  font-family: var(--vip-font-body);
  font-weight: 400;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  letter-spacing: 0;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease;
}

#vip-categorias-load-more.vip-btn--explore-tan:focus,
#vip-categorias-load-more.vip-btn--explore-tan:focus-visible,
#vip-categorias-load-more.vip-btn--explore-tan:active,
.vip-categorias__toolbar .vip-btn--explore-tan:focus,
.vip-categorias__toolbar .vip-btn--explore-tan:focus-visible,
.vip-categorias__toolbar .vip-btn--explore-tan:active {
  outline: none !important;
  box-shadow: none !important;
}

#vip-categorias-load-more.vip-btn--explore-tan:hover,
#vip-categorias-load-more.vip-btn--explore-tan:focus-visible,
.vip-categorias__toolbar .vip-btn--explore-tan:hover,
.vip-categorias__toolbar .vip-btn--explore-tan:focus-visible {
  background: #c8926a;
  color: #fff;
}

.vip-categorias__empty {
  text-align: center;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

/* /marcas — manufacturer logos inside categorias bento tiles */
body.vip-marcas-page .vip-categorias__tile-img {
  object-fit: contain;
  padding: clamp(1rem, 3cqi, 2rem);
  background: #f4ebe8;
}

body.vip-marcas-page .vip-categorias__tile-scrim {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.14) 55%, rgba(0, 0, 0, 0.22) 100%);
}

/* --------------------------------------------------------------------------
 * Checkout /pedido — VIP header + cart-style grid + account form fields
 * -------------------------------------------------------------------------- */
#checkout .breadcrumb li:last-child span,
body.page-order .breadcrumb li:last-child span {
  color: var(--vip-figma-brown);
}

#checkout #main.vip-checkout,
body.page-order #main.vip-checkout {
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: var(--vip-figma-brown);
}

#checkout .vip-checkout__header,
body.page-order .vip-checkout__header {
  margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
}

#checkout .vip-checkout__title,
body.page-order .vip-checkout__title {
  margin: 0;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(2rem, 4.5vw, 57px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-tan);
}

#checkout .vip-checkout__grid,
body.page-order .vip-checkout__grid {
  align-items: flex-start;
  gap: clamp(1.5rem, 3vw, 2.5rem) 0;
}

#checkout .vip-checkout__panel,
#checkout .vip-cart__summary,
#checkout .vip-checkout__summary,
body.page-order .vip-checkout__panel,
body.page-order .vip-cart__summary,
body.page-order .vip-checkout__summary {
  background: #fff;
  border: 1px solid rgba(213, 161, 125, 0.55);
  border-radius: 4px;
  box-shadow: none;
}

#checkout .vip-checkout__panel,
body.page-order .vip-checkout__panel {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

#checkout .vip-cart__summary .card-block,
#checkout .vip-checkout__summary .card-block,
body.page-order .vip-cart__summary .card-block,
body.page-order .vip-checkout__summary .card-block {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

#checkout .vip-checkout__step + .vip-checkout__step,
body.page-order .vip-checkout__step + .vip-checkout__step {
  margin-top: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(213, 161, 125, 0.35);
}

#checkout .vip-checkout__step-title,
body.page-order .vip-checkout__step-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin: 0 0 1rem;
  padding: 0;
  border: none;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--vip-figma-brown);
  cursor: default;
}

#checkout .checkout-step.-reachable:not(.-complete) .vip-checkout__step-title,
body.page-order .checkout-step.-reachable:not(.-complete) .vip-checkout__step-title {
  cursor: pointer;
}

#checkout .vip-checkout__step-badge,
body.page-order .vip-checkout__step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(213, 161, 125, 0.2);
  color: var(--vip-figma-tan);
  font-family: var(--vip-font-body);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
}

#checkout .checkout-step.-current .vip-checkout__step-badge,
body.page-order .checkout-step.-current .vip-checkout__step-badge {
  background: var(--vip-figma-tan);
  color: #fff;
}

#checkout .checkout-step.-complete .vip-checkout__step-badge,
body.page-order .checkout-step.-complete .vip-checkout__step-badge {
  background: var(--vip-figma-tan);
  color: #fff;
}

#checkout .vip-checkout__step-badge-done,
body.page-order .vip-checkout__step-badge-done {
  font-size: 1.15rem;
  line-height: 1;
}

#checkout .checkout-step .step-title .done,
#checkout .checkout-step .step-title > .step-number,
body.page-order .checkout-step .step-title .done,
body.page-order .checkout-step .step-title > .step-number {
  display: none;
}

#checkout .vip-checkout__step-label,
body.page-order .vip-checkout__step-label {
  flex: 1 1 auto;
  min-width: 0;
}

#checkout .vip-checkout__step-edit,
body.page-order .vip-checkout__step-edit {
  margin-left: auto;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--vip-figma-tan) !important;
}

#checkout .checkout-step:not(.-complete) .vip-checkout__step-edit,
body.page-order .checkout-step:not(.-complete) .vip-checkout__step-edit {
  display: none;
}

#checkout .vip-checkout__step-edit .material-icons,
body.page-order .vip-checkout__step-edit .material-icons {
  font-size: 1rem;
  vertical-align: middle;
  color: var(--vip-figma-tan);
}

#checkout .checkout-step:not(.-current):not(.-reachable) .content,
body.page-order .checkout-step:not(.-current):not(.-reachable) .content {
  display: none;
}

#checkout .vip-checkout__step-body,
body.page-order .vip-checkout__step-body {
  padding: 0;
}

#checkout .vip-checkout__step-body > p,
#checkout .vip-checkout__step-body .identity,
body.page-order .vip-checkout__step-body > p,
body.page-order .vip-checkout__step-body .identity {
  margin: 0 0 0.75rem;
  color: #878787;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

#checkout .vip-checkout__step-body a,
body.page-order .vip-checkout__step-body a {
  color: var(--vip-figma-tan);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#checkout .vip-checkout__fields,
#checkout .vip-account__fields,
body.page-order .vip-checkout__fields,
body.page-order .vip-account__fields {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

#checkout .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal),
body.page-order .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) {
  display: grid;
  grid-template-columns: minmax(7.5rem, 22%) minmax(0, 1fr) minmax(4.5rem, 12%);
  column-gap: clamp(1rem, 2vw, 1.75rem);
  row-gap: 0.35rem;
  align-items: start;
  margin: 0;
}

#checkout .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) > [class*="col-"],
body.page-order .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) > [class*="col-"] {
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

#checkout .vip-account__field .vip-account__label,
body.page-order .vip-account__field .vip-account__label {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  font-weight: 400;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
  text-align: left;
}

#checkout .vip-account__field .form-control,
#checkout .vip-account__field .vip-account__input,
body.page-order .vip-account__field .form-control,
body.page-order .vip-account__field .vip-account__input {
  min-height: 44px;
  border: none;
  border-radius: 22px;
  background-color: var(--vip-figma-tan);
  color: #fff;
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  padding: 0.55rem 1.15rem;
  box-shadow: none;
}

#checkout .vip-account__field .form-control:focus,
#checkout .vip-account__field .vip-account__input:focus,
body.page-order .vip-account__field .form-control:focus,
body.page-order .vip-account__field .vip-account__input:focus {
  background-color: var(--vip-figma-tan);
  color: #fff;
  -webkit-text-fill-color: #fff;
  box-shadow: 0 0 0 2px rgba(126, 97, 74, 0.35);
}

#checkout .vip-account__field .form-control::placeholder,
#checkout .vip-account__field .vip-account__input::placeholder,
body.page-order .vip-account__field .form-control::placeholder,
body.page-order .vip-account__field .vip-account__input::placeholder {
  color: #fff;
  opacity: 1;
}

#checkout .vip-account__field select.form-control,
body.page-order .vip-account__field select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.25rem;
}

#checkout .vip-account__optional,
body.page-order .vip-account__optional {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  font-size: 12px;
  line-height: 22.5px;
  color: #878787;
  text-align: right;
  font-style: normal;
}

#checkout .vip-account__customer-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#checkout .vip-account__customer-form select.form-control,
body.page-order .vip-account__customer-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.page-order .vip-account__customer-form select.form-control {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

#checkout .vip-checkout__same-address,
body.page-order .vip-checkout__same-address {
  display: block;
  margin-top: 0.5rem;
}

#checkout .vip-checkout__same-address .vip-account__control,
body.page-order .vip-checkout__same-address .vip-account__control {
  grid-column: 1 / -1;
}

#checkout .vip-checkout__actions,
#checkout .form-footer,
body.page-order .vip-checkout__actions,
body.page-order .form-footer {
  margin-top: 1.25rem;
}

#checkout .vip-account__submit,
#checkout .btn-primary.continue,
#checkout .form-control-submit,
body.page-order .vip-account__submit,
body.page-order .btn-primary.continue,
body.page-order .form-control-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 9rem;
  min-height: 52px;
  padding: 0.65rem 1.5rem;
  border: none;
  border-radius: 4px;
  background: var(--vip-figma-tan);
  color: #fff;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  box-shadow: none;
}

#checkout .vip-account__submit:hover,
#checkout .vip-account__submit:focus-visible,
#checkout .btn-primary.continue:hover,
#checkout .btn-primary.continue:focus-visible,
body.page-order .vip-account__submit:hover,
body.page-order .vip-account__submit:focus-visible,
body.page-order .btn-primary.continue:hover,
body.page-order .btn-primary.continue:focus-visible {
  background: #c8926a;
  color: #fff;
}

#checkout .vip-checkout__link-cancel,
#checkout a.cancel-address,
body.page-order .vip-checkout__link-cancel,
body.page-order a.cancel-address {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  margin-right: 1rem;
  color: #878787 !important;
  font-weight: 400;
  text-decoration: none;
}

#checkout .vip-checkout__link-cancel:hover,
#checkout a.cancel-address:hover,
body.page-order .vip-checkout__link-cancel:hover,
body.page-order a.cancel-address:hover {
  color: var(--vip-figma-tan) !important;
  text-decoration: underline;
}

#checkout .nav-inline .nav-link,
body.page-order .nav-inline .nav-link {
  color: #878787;
  font-weight: 400;
  text-transform: none;
  border: none;
  border-radius: 0;
  padding: 0.35rem 0;
}

#checkout .nav-inline .nav-link.active,
body.page-order .nav-inline .nav-link.active {
  color: var(--vip-figma-brown);
  font-weight: 700;
  border-bottom: 2px solid var(--vip-figma-tan);
  background: transparent;
}

#checkout .nav-inline .nav-separator,
body.page-order .nav-inline .nav-separator {
  color: rgba(213, 161, 125, 0.55);
}

#checkout .address-item,
body.page-order .address-item,
body#order .vip-checkout-address {
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 12px;
  background: #fff;
}

#checkout .address-item.selected,
body.page-order .address-item.selected,
body#order .vip-checkout-address.selected {
  border-color: var(--vip-figma-tan) !important;
  box-shadow: 0 0 0 1px rgba(213, 161, 125, 0.25) !important;
}

#checkout .address-item hr,
body.page-order .address-item hr {
  display: none;
}

#checkout .vip-checkout-addresses,
body.page-order .vip-checkout-addresses {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

#checkout .vip-checkout-address__select,
body.page-order .vip-checkout-address__select {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin: 0;
  cursor: pointer;
}

#checkout .vip-checkout-address__content,
body.page-order .vip-checkout-address__content {
  flex: 1 1 auto;
  min-width: 0;
}

#checkout .vip-checkout-address__alias,
body.page-order .vip-checkout-address__alias {
  display: block;
  margin: 0 0 0.45rem;
  font-family: var(--vip-font-display);
  font-weight: 800;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--vip-figma-brown);
}

#checkout .vip-checkout-address__formatted,
body.page-order .vip-checkout-address__formatted {
  margin: 0;
  font-style: normal;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  color: #878787;
}

#checkout .vip-address-lines,
body.page-order .vip-address-lines {
  margin: 0;
}

#checkout .vip-address-lines__row,
body.page-order .vip-address-lines__row {
  display: grid;
  grid-template-columns: minmax(6.5rem, 42%) minmax(0, 1fr);
  column-gap: 0.75rem;
  row-gap: 0.15rem;
  margin: 0 0 0.35rem;
}

#checkout .vip-address-lines__label,
body.page-order .vip-address-lines__label {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  color: #878787;
}

#checkout .vip-address-lines__value,
body.page-order .vip-address-lines__value {
  margin: 0;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  font-weight: 400;
  color: var(--vip-figma-brown);
}

#checkout .vip-address-lines--fallback,
body.page-order .vip-address-lines--fallback {
  color: #878787;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

#checkout .vip-checkout-address__footer,
body.page-order .vip-checkout-address__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(213, 161, 125, 0.22);
}

#checkout .vip-checkout-address__action,
body.page-order .vip-checkout-address__action {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--vip-figma-tan) !important;
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
  text-decoration: none;
}

#checkout .vip-checkout-address__action:hover,
body.page-order .vip-checkout-address__action:hover {
  color: #c8926a !important;
  text-decoration: underline;
}

#checkout .vip-checkout-address__action .material-icons,
body.page-order .vip-checkout-address__action .material-icons {
  font-size: 1.05rem;
  color: inherit !important;
}

/* Checkout radios — kill Classic wrapper ring; one input-drawn circle only */
#checkout .custom-radio,
#checkout .vip-checkout-radio,
body.page-order .custom-radio,
body.page-order .vip-checkout-radio,
body#checkout section.checkout-step .custom-radio {
  display: inline-flex;
  flex-shrink: 0;
  align-items: flex-start;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 0.15rem;
  margin-right: 0;
  padding: 0;
  vertical-align: top;
  cursor: pointer;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#checkout .custom-radio input[type="radio"],
#checkout .vip-checkout-radio__input,
body.page-order .custom-radio input[type="radio"],
body#checkout section.checkout-step .custom-radio input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: static;
  display: block;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  margin: 0;
  padding: 0;
  border: 2px solid rgba(213, 161, 125, 0.55);
  border-radius: 50%;
  background: #fff;
  background-image: none;
  cursor: pointer;
  opacity: 1 !important;
  flex-shrink: 0;
  float: none;
  box-shadow: none;
}

#checkout .custom-radio input[type="radio"]:checked,
#checkout .vip-checkout-radio__input:checked,
body.page-order .custom-radio input[type="radio"]:checked,
body#checkout section.checkout-step .custom-radio input[type="radio"]:checked {
  border-color: var(--vip-figma-tan);
  background-color: #fff;
  background-image: radial-gradient(
    circle,
    var(--vip-figma-tan) 0,
    var(--vip-figma-tan) 4px,
    transparent 4.5px
  );
  box-shadow: none;
}

#checkout .custom-radio input[type="radio"]:focus,
body.page-order .custom-radio input[type="radio"]:focus,
#checkout .custom-radio input[type="radio"]:focus-visible,
body.page-order .custom-radio input[type="radio"]:focus-visible,
body#checkout section.checkout-step .custom-radio input[type="radio"]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(126, 97, 74, 0.35);
}

#checkout .custom-radio input[type="radio"]:checked:focus,
#checkout .custom-radio input[type="radio"]:checked:focus-visible,
body.page-order .custom-radio input[type="radio"]:checked:focus,
body.page-order .custom-radio input[type="radio"]:checked:focus-visible,
body#checkout section.checkout-step .custom-radio input[type="radio"]:checked:focus {
  border-color: var(--vip-figma-tan);
  background-color: #fff;
  background-image: radial-gradient(
    circle,
    var(--vip-figma-tan) 0,
    var(--vip-figma-tan) 4px,
    transparent 4.5px
  );
  box-shadow: 0 0 0 2px rgba(126, 97, 74, 0.35);
}

#checkout .custom-radio input[type="radio"] + span,
body.page-order .custom-radio input[type="radio"] + span,
body#checkout section.checkout-step .custom-radio input[type="radio"] + span {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
}

#checkout .custom-checkbox input[type="checkbox"] + span,
body.page-order .custom-checkbox input[type="checkbox"] + span {
  border-color: rgba(213, 161, 125, 0.55) !important;
}

#checkout .custom-checkbox input[type="checkbox"]:checked + span,
body.page-order .custom-checkbox input[type="checkbox"]:checked + span {
  border-color: var(--vip-figma-tan) !important;
  background: var(--vip-figma-tan) !important;
}

#checkout .custom-checkbox .checkbox-checked,
body.page-order .custom-checkbox .checkbox-checked {
  color: #fff !important;
}

#checkout .address-footer a,
#checkout .add-address a,
body.page-order .address-footer a,
body.page-order .add-address a {
  color: var(--vip-figma-tan) !important;
  text-decoration: none;
}

#checkout .address-footer a:hover,
#checkout .add-address a:hover,
body.page-order .address-footer a:hover,
body.page-order .add-address a:hover {
  text-decoration: underline;
}

#checkout .delivery-option,
#checkout .payment-option,
body.page-order .delivery-option,
body.page-order .payment-option {
  margin-bottom: 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(213, 161, 125, 0.45);
  border-radius: 4px;
}

#checkout .cart-summary-line,
body.page-order .cart-summary-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 1rem;
  row-gap: 0.25rem;
  margin: 0 0 0.65rem;
  font-family: var(--vip-font-body);
  font-size: var(--vip-figma-parrafo-size);
  line-height: var(--vip-figma-parrafo-lh);
}

#checkout .cart-summary-line .label,
body.page-order .cart-summary-line .label {
  color: #878787;
  font-weight: 400;
  justify-self: start;
}

#checkout .cart-summary-line .value,
body.page-order .cart-summary-line .value {
  color: var(--vip-figma-brown);
  font-weight: 600;
  float: none !important;
  justify-self: end;
  text-align: right;
  white-space: nowrap;
}

#checkout .cart-summary-line.cart-total,
body.page-order .cart-summary-line.cart-total {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(213, 161, 125, 0.45);
}

#checkout .cart-summary-line.cart-total .label,
#checkout .cart-summary-line.cart-total .value,
body.page-order .cart-summary-line.cart-total .label,
body.page-order .cart-summary-line.cart-total .value {
  font-weight: 800;
  color: var(--vip-figma-brown);
}

#checkout .alert-danger,
body.page-order .alert-danger {
  border-color: rgba(180, 60, 60, 0.35);
  background: rgba(180, 60, 60, 0.08);
  color: var(--vip-figma-brown);
}

/* Checkout summary — no Classic cyan on toggles / links */
#checkout .js-show-details,
#checkout .vip-checkout__show-details,
#checkout #js-checkout-summary a:not(.btn),
#checkout .vip-checkout__summary a:not(.btn),
body.page-order .js-show-details,
body.page-order .vip-checkout__show-details,
body.page-order #js-checkout-summary a:not(.btn),
body.page-order .vip-checkout__summary a:not(.btn) {
  color: var(--vip-figma-tan) !important;
  font-weight: 700;
  text-decoration: none;
}

#checkout .js-show-details:hover,
#checkout .js-show-details:focus-visible,
#checkout .vip-checkout__show-details:hover,
#checkout .vip-checkout__show-details:focus-visible,
#checkout #js-checkout-summary a:not(.btn):hover,
#checkout #js-checkout-summary a:not(.btn):focus-visible,
body.page-order .js-show-details:hover,
body.page-order .js-show-details:focus-visible,
body.page-order .vip-checkout__show-details:hover,
body.page-order .vip-checkout__show-details:focus-visible,
body.page-order #js-checkout-summary a:not(.btn):hover,
body.page-order #js-checkout-summary a:not(.btn):focus-visible {
  color: #c8926a !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#checkout .js-show-details .material-icons,
#checkout .vip-checkout__show-details .material-icons,
body.page-order .js-show-details .material-icons,
body.page-order .vip-checkout__show-details .material-icons {
  color: var(--vip-figma-tan) !important;
  font-size: 1.15rem;
  line-height: 1;
  vertical-align: middle;
}

#checkout .block-promo .promo-code button.btn-primary,
#checkout .cart-voucher .promo-code button.btn-primary,
body.page-order .block-promo .promo-code button.btn-primary,
body.page-order .cart-voucher .promo-code button.btn-primary {
  background: var(--vip-figma-tan);
  border-color: var(--vip-figma-tan);
  color: #fff;
}

@media (max-width: 991px) {
  #checkout .vip-checkout__aside,
  body.page-order .vip-checkout__aside {
    margin-top: 0.5rem;
  }

  #checkout .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal),
  body.page-order .vip-account__field:not(.vip-account__field--checkbox):not(.vip-account__field--legal) {
    grid-template-columns: 1fr;
  }

  #checkout .vip-account__optional,
  body.page-order .vip-account__optional {
    justify-content: flex-start;
    text-align: left;
  }
}

/* =============================================================================
 * Focus ring — last in file (wins over Classic theme.css `a:focus { outline: 5px… }`).
 * ============================================================================= */
body a:focus,
body a:focus-visible,
body a:active {
  outline: none !important;
  outline-offset: 0 !important;
}

#footer a:focus,
#footer a:focus-visible,
#footer a:active,
#footer button:focus,
#footer button:focus-visible,
#footer button:active {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* Checkout radios — final cascade win over Classic theme.css */
body#order #checkout .custom-radio,
body.page-order #checkout .custom-radio,
body#order #main.vip-checkout .custom-radio,
body#checkout section.checkout-step .custom-radio {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body#order #checkout .custom-radio input[type="radio"],
body.page-order #checkout .custom-radio input[type="radio"],
body#order #main.vip-checkout .custom-radio input[type="radio"],
body#checkout section.checkout-step .custom-radio input[type="radio"],
body#order #checkout .vip-checkout-radio__input,
body.page-order #checkout .vip-checkout-radio__input {
  appearance: none !important;
  -webkit-appearance: none !important;
  opacity: 1 !important;
  position: static !important;
  width: 18px !important;
  height: 18px !important;
}

body#order #checkout .custom-radio input[type="radio"]:checked,
body.page-order #checkout .custom-radio input[type="radio"]:checked,
body#order #main.vip-checkout .custom-radio input[type="radio"]:checked,
body#checkout section.checkout-step .custom-radio input[type="radio"]:checked,
body#order #checkout .vip-checkout-radio__input:checked,
body.page-order #checkout .vip-checkout-radio__input:checked {
  background-color: #fff !important;
  background-image: radial-gradient(
    circle,
    var(--vip-figma-tan) 0,
    var(--vip-figma-tan) 4px,
    transparent 4.5px
  ) !important;
  box-shadow: none !important;
}

body#order #checkout .custom-radio input[type="radio"] + span,
body.page-order #checkout .custom-radio input[type="radio"] + span,
body#order #main.vip-checkout .custom-radio input[type="radio"] + span,
body#checkout section.checkout-step .custom-radio input[type="radio"] + span {
  display: none !important;
}
