@media (min-width: 61rem) {
  .product-detail__visual { position: sticky; top: clamp(1.5rem, 3vw, 2.5rem); align-self: start; }
}

@media (max-width: 60rem) {
  .product-detail__layout { grid-template-columns: minmax(0, 1.02fr) minmax(20rem, .98fr); gap: clamp(2.5rem, 5vw, 3.5rem); }
  .product-detail__information h1 { font-size: clamp(3rem, 5.5vw, 3.75rem); }
  .hero__layout { height: auto; overflow: visible; }
  .hero__layout::after { display: none; }
  .hero__content { width: min(calc(100% - 3rem), 34rem); grid-row: 1; margin-inline: auto; padding-block: 4.75rem 3.5rem; transform: none; }
  .hero__content h1 { font-size: clamp(3.5rem, 7vw, 4.5rem); line-height: 1.03; }
  .hero__visual { position: relative; grid-row: 2; aspect-ratio: 16 / 9; }
  .visual-placeholder { min-height: 31rem; }
  .story__layout { gap: 4rem; }
  .visual-placeholder--story { min-height: 36rem; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wholesale-teaser__layout { gap: 3rem; }
  .wholesale-teaser__botanical { width: 5rem; opacity: .15; }
  .wholesale-visual { min-height: 29rem; }

  .brand-benefits__grid { grid-template-columns: repeat(2, 1fr); gap: 4.5rem 3rem; }
  .shop-by-need__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 48rem) {
  :root { --space-section: 5rem; }
  .container { width: min(calc(100% - 2.5rem), var(--content-width)); }
  .site-header__content { min-height: 6.75rem; }
  .site-logo { width: 10.5rem; align-items: flex-start; }
  .menu-toggle { display: flex; padding: .75rem 0 .75rem .75rem; align-items: center; gap: .75rem; cursor: pointer; }
  .menu-toggle__label { font-size: var(--text-xs); font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
  .menu-toggle__lines, .menu-toggle__lines::before { display: block; width: 1.4rem; height: 1px; background: var(--color-text); content: ""; transition: transform .25s ease; }
  .menu-toggle__lines::before { transform: translateY(-.35rem); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__lines { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__lines::before { transform: rotate(-90deg); }
  .site-nav { position: absolute; top: 100%; right: 0; left: 0; max-height: 0; overflow: hidden; background: var(--color-cream); visibility: hidden; transition: max-height .3s ease, visibility .3s; }
  .site-nav.is-open { max-height: calc(100dvh - 6.75rem); overflow-y: auto; visibility: visible; border-top: 1px solid var(--color-border); }
  .site-nav__list { flex-direction: column; gap: 0; padding: 1.5rem 1.25rem 2rem; }
  .site-nav a { display: block; padding: .8rem 0; font-family: var(--font-serif); font-size: 1.6rem; letter-spacing: 0; text-transform: none; }
  .site-nav a::after { display: none; }
  .hero__layout { height: auto; overflow: visible; }
  .hero__content { width: min(calc(100% - 2.5rem), var(--content-width)); max-width: none; grid-row: 1; margin-inline: auto; padding-block: 4rem 3rem; }
  .hero__content .eyebrow { margin-bottom: 1.35rem; }
  .hero__content h1 { margin-bottom: 1.65rem; font-size: clamp(3.2rem, 15vw, 4.75rem); line-height: 1.02; }
  .hero__text { max-width: 23rem; margin-bottom: 2.25rem; line-height: 1.75; }
  h1 { font-size: clamp(3.35rem, 16vw, 5.2rem); line-height: 1; }
  h2 { font-size: clamp(2.55rem, 12vw, 3.5rem); line-height: 1.08; }
  .hero__visual { position: relative; grid-row: 2; width: 100%; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; }
  .hero__visual img { object-position: center; transform: none; }

  /* Home mobile: separar visualmente los bloques largos sin alterar desktop. */
  body.home .categories { background: #fffdfb; box-shadow: inset 0 1px 0 rgba(113,84,127,.06); }
  body.home .brand-benefits { background: #f1eaf4; box-shadow: inset 0 1px 0 rgba(113,84,127,.07), inset 0 -1px 0 rgba(113,84,127,.07); }
  body.home .shop-by-need { background: #fbf8fc; }
  body.home .featured { background: #f5edf6; box-shadow: inset 0 1px 0 rgba(113,84,127,.07), inset 0 -1px 0 rgba(113,84,127,.07); }
  body.home .story { background: #fffafc; box-shadow: inset 0 1px 0 rgba(113,84,127,.10); }
  body.home .wholesale-teaser { margin-top: 1.75rem; background: #f3ecf5; box-shadow: inset 0 1px 0 rgba(113,84,127,.06), inset 0 -1px 0 rgba(113,84,127,.06); }
  body.home .instagram { border-top-color: rgba(113,84,127,.10); background: #f8f3f9; }
  .category-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .section-heading--split { display: block; }
  .section-heading--split .text-link { margin-top: 1rem; }
  .product-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .product-detail { padding-block: 0 5rem; }
  .product-detail__layout { width: 100%; grid-template-columns: 1fr; gap: 0; }
  .product-detail__visual { aspect-ratio: 4 / 5; }
  .product-detail__information { max-width: none; padding: 2.75rem 1.25rem 0; }
  .product-detail__information h1 { font-size: clamp(2.8rem, 13vw, 4.1rem); }
  .product-detail__ingredients { grid-template-columns: 1fr; row-gap: .5rem; }
  .product-detail__cta { width: 100%; text-align: center; }
  .shop-catalog { padding-top: 4.5rem; padding-bottom: 7rem; }
  .shop-heading { margin-bottom: 3.25rem; }
  .shop-heading h1 { font-size: clamp(3.5rem, 17vw, 5rem); }
  .shop-filters { width: calc(100% + 1.25rem); margin-bottom: 5rem; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .shop-filters::-webkit-scrollbar { display: none; }
  .shop-filters__list { width: max-content; gap: 2rem; padding-right: 1.25rem; }
  .shop-page .product-grid { gap: 4.5rem; }
  .shop-collection + .shop-collection { margin-top: 7rem; }
  .shop-collection__heading { margin-bottom: 2.5rem; }
  .shop-collection__heading h2 { font-size: clamp(2.55rem, 12vw, 3.5rem); }
  .shop-page .product-card__visual { aspect-ratio: 4 / 5; }
  .shop-page .product-card__overlay { display: none; }
  .shop-page .product-card h3 { min-height: 0; }
  .shop-page .product-card__add { width: 100%; min-height: 3.1rem; }
  .shop-by-need__grid { gap: 3rem 1rem; }
  .need-card__content { grid-template-columns: 1fr; padding-top: 1rem; }
  .need-card__title { font-size: clamp(1.45rem, 5vw, 1.85rem); }
  .need-card__link { width: max-content; margin-top: .25rem; }
  .need-context { align-items: flex-start; flex-direction: column; gap: 1.25rem; margin-top: -1.25rem; }
  .wholesale-teaser__layout { grid-template-columns: 1fr; }
  .wholesale-teaser__layout { gap: 3rem; }
  .wholesale-teaser::before { inset: 45% -25% 4% 25%; background: radial-gradient(ellipse at center, rgba(226,211,231,.1), transparent 70%); }
  .wholesale-teaser__botanical { right: .45rem; bottom: .35rem; width: 3.75rem; opacity: .12; }
  .wholesale-teaser__content { padding-block: 0; }
  .wholesale-visual { min-height: min(112vw, 32rem); }
  .wholesale-teaser__visual { min-height: 0; aspect-ratio: 4 / 3; }

  .story__layout { grid-template-columns: 1fr; gap: 0; }
  .story__content { order: 1; padding-block: 4rem 3rem; }
  .story__visual { order: 2; }
  .visual-placeholder--story { min-height: min(110vw, 32rem); }
  .instagram { padding-block: 3rem; }
  .instagram__layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .instagram__button { width: fit-content; }

  .site-footer { padding-top: 2.75rem; border-top: 1px solid rgba(113,84,127,.10); background: #ece2f1; }
  .site-footer__main { align-items: flex-start; flex-direction: column; gap: 2.25rem; padding-bottom: 2.5rem; }
  .site-logo--footer { width: 11.75rem; }
  .footer-nav { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 2rem; }
  .footer-nav a { font-size: .75rem; }
  .site-footer__bottom { flex-direction: column; gap: .2rem; padding-block: 1.1rem 1.6rem; }
}

@media (max-width: 36rem) {
  .brand-benefits { padding-block: 4.5rem; }
  .brand-benefits__grid { grid-template-columns: 1fr; gap: 3.75rem; }
  .brand-benefit__icon { width: 2.625rem; height: 2.625rem; margin-bottom: 1.5rem; }
  .brand-benefit p { max-width: 17rem; }
}

@media (max-width: 67rem) {
  .site-header__content { gap: 1.5rem; }
  .site-nav__list { gap: 1.35rem; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { max-width: 32rem; }
}

@media (max-width: 48rem) {
  .site-header__content { gap: .65rem; }
  .site-logo { margin-right: auto; }
  .site-cart { order: 2; margin-inline: .25rem; }
  .menu-toggle { order: 3; }
  .site-nav { order: 4; }
  .cart-page { padding-block: 4rem 5rem; }
  .cart-heading { margin-bottom: 2.5rem; }
  .cart-item { grid-template-columns: 6.75rem 1fr auto; gap: 1rem 1.25rem; padding-block: 1.5rem; }
  .cart-item__image { grid-row: 1 / 3; }
  .cart-item__detail { grid-column: 2 / 4; }
  .cart-quantity { grid-column: 2; }
  .cart-item__price { grid-column: 3; }
  .cart-summary { max-width: none; }
}

@media (max-width: 25rem) {
  .shop-by-need__grid { grid-template-columns: 1fr; }
}

@media (max-width: 24rem) {
  .product-detail__information h1 { font-size: clamp(2.7rem, 12.5vw, 3.25rem); overflow-wrap: break-word; }
  .product-detail__description { font-size: 1rem; }
  .product-detail__cta { min-height: 3.5rem; }
  .site-logo { width: 8.5rem; }
  .menu-toggle__label { display: none; }
  .cart-item { grid-template-columns: 5.5rem 1fr; }
  .cart-item__detail { grid-column: 2; }
  .cart-quantity { grid-column: 2; justify-self: start; }
  .cart-item__price { grid-column: 2; text-align: left; }
  .cart-item__promotion { margin-left: 0; }
}

@media (max-width: 67rem) {
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-summary { position: static; }
}

@media (max-width: 48rem) {
  .checkout-page { padding-block: 4rem 5rem; }
  .checkout-heading { margin-bottom: 2.5rem; }
  .checkout-fields { grid-template-columns: 1fr; }
  .form-field--wide { grid-column: auto; }
  .form-field input { min-height: 3.25rem; }
  .checkout-confirm, .cart-summary__checkout { width: 100%; }
  .checkout-product { grid-template-columns: 3.5rem minmax(0, 1fr) auto; gap: .75rem; }
  .checkout-product img { width: 3.5rem; }
}

/* Mayoristas v4: una única adaptación por breakpoint. */
@media (max-width: 64rem) {
  .wholesale-v4-hero__grid { gap: 2rem; }
  .wholesale-v4 h1 { font-size: clamp(3rem, 5.5vw, 4rem); }
  .wholesale-v4-hero__art > img { height: 29rem; }
  .wholesale-v4-mode, .wholesale-v4-pack__body { padding: 1.75rem; }
  .wholesale-v4-free { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  .wholesale-v4-free > .wholesale-v4-button { grid-column: 1 / -1; justify-self: start; }
  .wholesale-v4-support__grid, .wholesale-v4-cta__grid { gap: 2.5rem; }
}

@media (max-width: 48rem) {
  .wholesale-v4-section { padding-block: 3.5rem; }
  .wholesale-v4 .container { width: min(calc(100% - 2.5rem), var(--content-width)); }
  .wholesale-v4 h1 { font-size: clamp(2.75rem, 8.5vw, 3.75rem); }
  .wholesale-v4 h2 { font-size: clamp(2.375rem, 7vw, 3rem); }
  .wholesale-v4 h3 { font-size: 2rem; }
  .wholesale-v4-hero__grid, .wholesale-v4-pair, .wholesale-v4-heading--split, .wholesale-v4-support__grid, .wholesale-v4-cta__grid { grid-template-columns: minmax(0, 1fr); }
  .wholesale-v4-hero__grid { gap: 2.5rem; }
  .wholesale-v4-hero__art { width: min(100%, 30rem); justify-self: center; }
  .wholesale-v4-hero__art > img { height: auto; aspect-ratio: 4 / 5; }
  .wholesale-v4-heading { margin-bottom: 2rem; }
  .wholesale-v4-heading--split { gap: 1rem; }
  .wholesale-v4-heading--split > p { max-width: 36rem; }
  .wholesale-v4-mode { padding: 2rem; }
  .wholesale-v4-mode > .wholesale-v4-link { margin-top: 1rem; }
  .wholesale-v4-pack__cover { padding: 1.5rem 2rem; }
  .wholesale-v4-pack__body { padding: 2rem; }
  .wholesale-v4-support__image { width: min(100%, 30rem); justify-self: center; }
  .wholesale-v4-support__grid { gap: 2rem; }
  .wholesale-v4-cta__grid { gap: 1.75rem; }
}

@media (max-width: 36rem) {
  .wholesale-v4-actions { align-items: stretch; flex-direction: column; gap: .75rem; }
  .wholesale-v4-actions .wholesale-v4-link { justify-content: center; align-self: center; }
  .wholesale-v4-facts { gap: .5rem; }
  .wholesale-v4-facts li + li { padding-left: .5rem; }
  .wholesale-v4-facts strong { font-size: clamp(1.2rem, 5.4vw, 1.7rem); }
  .wholesale-v4-facts span { font-size: .5rem; letter-spacing: .04em; }
  .wholesale-v4-mode, .wholesale-v4-pack__body { padding: 1.5rem; }
  .wholesale-v4-pack__cover { padding-inline: 1.5rem; }
  .wholesale-v4-pack__discount strong { font-size: 5.75rem; }
  .wholesale-v4-pack__botanical { right: 1.25rem; }
  .wholesale-v4-levels { gap: .75rem; }
  .wholesale-v4-levels dd { font-size: 1.75rem; }
  .wholesale-v4-free { grid-template-columns: minmax(0, 1fr); padding: 1.75rem 1.5rem; }
  .wholesale-v4-free > .wholesale-v4-button { width: 100%; }
  .wholesale-v4-cta__action > .wholesale-v4-button { width: 100%; }
  .wholesale-v4-audience { font-size: .6875rem; }
}


/* Contacto v2 */
@media (max-width: 64rem) {
  .contact-v2-hero__grid { grid-template-columns: minmax(0,.85fr) minmax(27rem,1.15fr); gap: 2.5rem; }
  .contact-v2-form-panel { padding: 2rem; }
}

@media (max-width: 48rem) {
  .contact-v2-hero { padding-block: 3.75rem; }
  .contact-v2-hero__grid { grid-template-columns: 1fr; gap: 3rem; }
  .contact-v2-intro { padding-top: 0; }
  .contact-v2-intro h1 { font-size: clamp(3.5rem,16vw,5rem); }
  .contact-v2-form-panel { padding: 2rem 1.35rem; }
  .contact-v2-form__row { grid-template-columns: 1fr; gap: 0; }
  .contact-v2-form__footer { align-items: stretch; flex-direction: column; }
  .contact-v2-form__submit { width: 100%; }
  .contact-v2-note__grid { grid-template-columns: repeat(3,1fr); gap: .75rem; text-align: center; }
  .contact-v2-note__grid > strong { grid-column: 1 / -1; justify-self: center; margin-top: .25rem; }
}

@media (max-width: 30rem) {
  .contact-v2-channel { grid-template-columns: 1.5rem 1fr auto; gap: .75rem; }
  .contact-v2-channel strong { font-size: 1.35rem; }
  .contact-v2-note__grid { grid-template-columns: 1fr; }
  .contact-v2-note__grid > strong { grid-column: auto; }
}

/* Nosotros v3: desktop, tablet y mobile sin afectar elementos compartidos. */
@media (max-width: 64rem) {
  .about-v3-hero__grid { gap: 2rem; }
  .about-v3-hero__art { min-height: 24rem; padding: 2rem 1.5rem; }
  .about-v3-history__card { padding: 1.5rem; }
  .about-v3-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .about-v3-roots__grid, .about-v3-closing__grid { gap: 2.5rem; }
}

@media (max-width: 48rem) {
  .about-v3-section { padding-block: 3.5rem; }
  .about-v3-main h1 { font-size: clamp(2.625rem, 8vw, 3.75rem); }
  .about-v3-main h2 { font-size: clamp(2.375rem, 7vw, 3rem); }
  .about-v3-hero__grid, .about-v3-history__grid, .about-v3-roots__grid, .about-v3-closing__grid { grid-template-columns: minmax(0, 1fr); }
  .about-v3-hero__grid { gap: 2rem; }
  .about-v3-hero__art { width: min(100%, 26rem); min-height: 21rem; justify-self: center; gap: .75rem; }
  .about-v3-hero__number { font-size: 6rem; }
  .about-v3-heading { margin-bottom: 2rem; }
  .about-v3-history__card { padding: 1.75rem; }
  .about-v3-history__number { margin-bottom: 1.25rem; font-size: 4rem; }
  .about-v3-history__card h3 { min-height: 0; }
  .about-v3-roots__grid { gap: 2rem; }
  .about-v3-roots__badge { width: min(100%, 17rem); }
  .about-v3-roots__badge strong { font-size: 3rem; }
  .about-v3-closing__grid { gap: 1.5rem; }
  .about-v3-closing__copy > p { max-width: 36rem; }
}

@media (max-width: 36rem) {
  .about-v3-values__grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .about-v3-value h3 { min-height: 0; }
  .about-v3-value__number { margin-bottom: .75rem; }
  .about-v3-actions { align-items: stretch; flex-direction: column; }
  .about-v3-button { width: 100%; }
  .about-v3-link { align-self: center; }
}

@media (max-width: 36rem) {
  .instagram__button { width: 100%; }
}


/* Campaña Día de la Madre */
@media (max-width: 48rem) {
  .promo-bar__content { min-height: 2.9rem; flex-wrap: wrap; gap: .1rem .45rem; padding-block: .45rem; font-size: .56rem; }
  .promo-bar__separator { display: none; }
  .promo-bar__content strong { flex-basis: 100%; }
  .mother-campaign { padding-block: 3.25rem; }
  .mother-campaign__layout { grid-template-columns: 1fr; align-items: start; gap: 1.5rem; }
  .mother-campaign__offer { justify-self: start; }
  .mother-campaign__offer p { font-size: 1rem; }
  .product-card__pricing { gap: .4rem; }
  .product-detail__pricing { margin-bottom: .35rem; }
}


/* Carrito y checkout v2 */
@media (max-width: 48rem) {
  .site-cart__text { display: none; }
  .mobile-cart-bar { position: fixed; z-index: 80; right: 1rem; bottom: 1rem; left: 1rem; display: flex; min-height: 3.65rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.22); background: var(--color-primary-deep); box-shadow: 0 .8rem 2.2rem rgba(72,49,82,.22); color: white; text-decoration: none; }
  .mobile-cart-bar[hidden] { display: none; }
  .mobile-cart-bar span { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .mobile-cart-bar strong { font-size: .72rem; font-weight: 500; }
  body.has-mobile-cart-bar { padding-bottom: 5rem; }

  .checkout-step { padding: 1.35rem; }
  .checkout-step__heading { gap: .8rem; margin-bottom: 1.4rem; }
  .checkout-step__number { width: 1.9rem; height: 1.9rem; font-size: 1.1rem; }
  .checkout-step__heading h2 { font-size: clamp(2rem, 9vw, 2.65rem); }
  .payment-options.checkout-step legend { font-size: 1.55rem; }
  .payment-option--checkout { min-height: 5.3rem; padding: .9rem; }
  .checkout-submit { position: sticky; bottom: 0; z-index: 15; margin-inline: -1.25rem; padding: 1rem 1.25rem 1.15rem; border-top: 1px solid var(--color-border); background: rgba(251,248,252,.96); backdrop-filter: blur(10px); }
  .checkout-submit__note { display: none; }
}
