      html {
        scroll-behavior: smooth;
        background: #ffffff;
      }

      * {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        background: #ffffff;
        color: var(--text);
        font-family: "Inter", "SF Pro Display", -apple-system,
          BlinkMacSystemFont, "Segoe UI", sans-serif;
        line-height: 1.5;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
      }

      a {
        text-decoration: none;
        color: inherit;
      }

      /* Scroll Reveal Animations */
      .scroll-reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      }

      .scroll-reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
      }

      .scroll-reveal-delay-1 {
        transition-delay: 0.1s;
      }

      .scroll-reveal-delay-2 {
        transition-delay: 0.2s;
      }

      .scroll-reveal-delay-3 {
        transition-delay: 0.3s;
      }

      /* Indicador de Progreso de Scroll */
      .scroll-progress-bar {
        position: fixed;
        top: 0;
        left: 0;
        width: 0%;
        height: 3px;
        background: linear-gradient(90deg, #1d1d1f 0%, #6e6e73 100%);
        z-index: 9999;
        transition: width 0.1s ease-out;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
      }


      header {
        position: sticky;
        top: 0;
        z-index: var(--z-header);
        background: #ffffff;
        padding: 10px 0;
        /* Padding compacto fijo */
        transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
        /* Solo animar color/blur si cambia */
      }

      /* Efecto premium cuando se hace scroll */
      header.header-scrolled {
        background: #ffffff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
        border-bottom: none;
        padding: clamp(4px, 0.8vh, 8px) 0;
      }

      header.header-scrolled .nav {
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        transform: translateY(0);
      }

      .container {
        width: min(1100px, 92vw);
        margin: 0 auto;
      }

      .nav {
        display: flex;
        align-items: center;
        gap: clamp(12px, 4vw, 28px);
        padding: clamp(10px, 2vw, 14px) clamp(20px, 4.4vw, 28px);
        background: #0f1115;
        border-radius: 40px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        box-shadow: 0 6px 25px rgba(0, 0, 0, 0.25);
        transition: background 0.6s ease, border-color 0.6s ease,
          box-shadow 0.6s ease, transform 0.6s ease, width 0.6s ease,
          border-radius 0.6s ease, padding 0.6s ease;
        width: min(980px, 95vw);
        margin: 0 auto;
      }

      .nav-alt {
        width: min(980px, 95vw);
        /* mismo ancho que .nav: sin salto brusco */
        border-radius: clamp(28px, 9vw, 38px);
        padding: clamp(10px, 2.2vw, 14px) clamp(20px, 4.4vw, 32px);
        background: rgba(12, 16, 24, 0.96);
        /* color un poco más intenso */
        border-color: rgba(255, 255, 255, 0.12);
        box-shadow: 0 18px 44px rgba(6, 9, 18, 0.38);
        /* resalta la píldora, no el header */
      }

      .logo {
        display: inline-flex;
        align-items: center;
        font-weight: 700;
        font-size: clamp(1rem, 2.3vw, 1.3rem);
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.86);
      }

      .menu {
        display: inline-flex;
        justify-content: center;
        gap: clamp(18px, 4vw, 36px);
        font-size: 0.95rem;
        letter-spacing: 0.02em;
        color: rgba(255, 255, 255, 0.64);
      }

      .menu a {
        position: relative;
        padding-top: 2px;
        padding-bottom: 4px;
      }

      .menu a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 2px;
        background: #ffffff;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.25s ease;
      }

      .menu a:hover {
        color: #ffffff;
      }

      .menu a:hover::after {
        transform: scaleX(1);
      }

      .nav-actions {
        display: inline-flex;
        align-items: center;
        gap: clamp(12px, 3.2vw, 18px);
      }



      .product-action {
        display: inline-block;
        margin-top: 8px;
        padding: 8px 16px;
        font-size: 0.9375rem;
        font-weight: 400;
        color: #0071e3;
        text-decoration: none;
        border-radius: 980px;
        transition: background-color 0.2s ease, color 0.2s ease;
      }

      .product-action:hover {
        background-color: rgba(0, 113, 227, 0.08);
        color: #0077ed;
      }

      /* Hero Entry Animations */
      @keyframes fadeInUp {
        from {
          opacity: 0;
          transform: translateY(30px);
        }

        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes fadeIn {
        from {
          opacity: 0;
        }

        to {
          opacity: 1;
        }
      }

      .btn-whatsapp {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 8px 18px;
        border-radius: 999px;
        font-size: 14px;
        background: #25d366;
        color: #0f1115;
        font-weight: 600;
        letter-spacing: 0.04em;
        border: none;
        box-shadow: 0 16px 32px rgba(37, 211, 102, 0.34);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }

      .btn-whatsapp svg {
        width: 18px;
        height: 18px;
      }

      .btn-whatsapp:hover {
        transform: translateY(-2px);
        box-shadow: 0 20px 40px rgba(37, 211, 102, 0.42);
      }

      /* Hero Entry Animations */
      @keyframes fadeInUp {
        from {
          opacity: 0;
          transform: translateY(30px);
        }

        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes fadeIn {
        from {
          opacity: 0;
        }

        to {
          opacity: 1;
        }
      }

      .hero {
        position: relative;
        padding: clamp(88px, 20vh, 140px) 0 clamp(60px, 14vh, 110px);
        background: #ffffff;
        overflow: hidden;
      }

      /* Parallax Background */
      .hero::before {
        content: '';
        position: absolute;
        top: -20%;
        left: -10%;
        width: 120%;
        height: 140%;
        background:
          radial-gradient(circle at 85% 30%, rgba(0, 113, 227, 0.04) 0%, transparent 50%),
          radial-gradient(circle at 10% 60%, rgba(52, 199, 89, 0.04) 0%, transparent 50%),
          linear-gradient(180deg, #ffffff 0%, #f5f5f7 100%);
        z-index: -1;
        will-change: transform;
        filter: blur(60px);
      }

      .hero-container {
        display: grid;
        gap: clamp(28px, 6vw, 36px);
      }


      .hero-content {
        display: grid;
        gap: clamp(18px, 4vw, 24px);
        max-width: 680px;
      }

      .hero-eyebrow {
        margin: 0;
        font-size: 0.82rem;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: rgba(17, 18, 23, 0.5);
        animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.1s both;
      }

      .hero-title {
        margin: 0;
        font-size: clamp(2.8rem, 6.4vw, 4.6rem);
        letter-spacing: -0.03em;
        line-height: 0.95;
        animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s both;
      }

      .hero-subtitle {
        margin: 0;
        color: var(--text-soft);
        font-size: clamp(1rem, 2.6vw, 1.2rem);
        max-width: 52ch;
        animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.5s both;
      }

      .hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.7s both;
      }

      .hero-trust-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 32px;
        animation: fadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.9s both;
      }

      .hero-trust-badges span {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: rgba(0, 0, 0, 0.04);
        border-radius: 999px;
        font-size: 0.92rem;
        color: var(--text);
        font-weight: 500;
        border: 1px solid rgba(0, 0, 0, 0.06);
      }

      /* Scroll Indicator */
      .scroll-indicator {
        position: absolute;
        bottom: 40px;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        opacity: 0.6;
        transition: opacity 0.3s ease;
        animation: bounce 2s infinite;
      }

      .scroll-indicator:hover {
        opacity: 1;
      }

      .scroll-indicator svg {
        width: 24px;
        height: 24px;
        color: #1d1d1f;
      }

      @keyframes bounce {

        0%,
        20%,
        50%,
        80%,
        100% {
          transform: translateX(-50%) translateY(0);
        }

        40% {
          transform: translateX(-50%) translateY(-10px);
        }

        60% {
          transform: translateX(-50%) translateY(-5px);
        }
      }

      .scroll-indicator.hidden {
        opacity: 0;
        pointer-events: none;
      }

      @media (max-width: 768px) {
        .scroll-indicator {
          bottom: 20px;
        }
      }



      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 12px 24px;
        border-radius: 999px;
        font-size: 0.95rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        border: 1px solid rgba(17, 18, 23, 0.12);
        background: #ffffff;
        color: var(--text);
        transition: transform 0.25s ease, box-shadow 0.25s ease,
          border-color 0.25s ease;
        position: relative;
        overflow: hidden;
      }

      /* Efecto de brillo sutil en botones */
      .btn::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.3);
        transform: translate(-50%, -50%);
        transition: width 0.6s ease, height 0.6s ease;
      }

      .btn:hover::before {
        width: 300px;
        height: 300px;
      }

      .btn:hover {
        transform: translateY(-2px) scale(1.02);
        box-shadow: var(--shadow-sm);
        border-color: rgba(17, 18, 23, 0.28);
      }

      .btn:active {
        transform: translateY(0) scale(0.98);
      }

      .btn-primary {
        background: var(--text);
        color: #ffffff;
        border-color: transparent;
        box-shadow: 0 18px 36px rgba(17, 18, 23, 0.24);
      }

      .btn-primary:hover {
        box-shadow: 0 22px 44px rgba(17, 18, 23, 0.28);
        transform: translateY(-3px) scale(1.02);
      }

      .btn-primary:active {
        transform: translateY(-1px) scale(0.98);
      }

      .btn-outline {
        background: rgba(255, 255, 255, 0.9);
        border-color: rgba(17, 18, 23, 0.16);
        color: var(--text);
      }

      /* Mobile: Larger touch targets */
      @media (max-width: 768px) {
        .btn {
          padding: 14px 28px;
          font-size: 1rem;
          min-height: 48px;
        }
      }


      section {
        padding: clamp(72px, 16vh, 110px) 0;
      }

      .highlights {
        padding-top: 0;
        background: rgba(255, 255, 255, 0.78);
      }

      .section-heading {
        display: grid;
        gap: 12px;
        margin-bottom: clamp(32px, 7vw, 48px);
        text-align: left;
      }

      .section-heading h2 {
        margin: 0;
        font-size: clamp(2rem, 4.8vw, 2.6rem);
        letter-spacing: -0.02em;
      }

      .section-heading p {
        margin: 0;
        color: var(--text-soft);
        max-width: 60ch;
      }

      .highlight-grid {
        display: grid;
        gap: clamp(18px, 4vw, 24px);
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      }

      .highlight-card {
        background: linear-gradient(145deg, #ffffff, #eef2f7);
        border-radius: var(--radius-md);
        padding: clamp(24px, 5.4vw, 30px);
        box-shadow: var(--shadow-md);
        border: 1px solid rgba(255, 255, 255, 0.6);
        display: grid;
        gap: 10px;
        min-height: 160px;
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        cursor: default;
      }

      .highlight-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
      }

      .highlight-icon {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, rgba(17, 18, 23, 0.06), rgba(17, 18, 23, 0.04));
        border-radius: 12px;
        margin-bottom: 8px;
        transition: all 0.4s ease;
      }

      .highlight-icon svg {
        width: 24px;
        height: 24px;
        color: var(--text);
        transition: all 0.4s ease;
      }

      .highlight-card:hover .highlight-icon {
        transform: scale(1.1);
        background: linear-gradient(135deg, rgba(17, 18, 23, 0.1), rgba(17, 18, 23, 0.06));
      }

      .highlight-card:hover .highlight-icon svg {
        transform: rotate(5deg);
      }

      .highlight-card h3 {
        margin: 0;
        font-size: 1rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(17, 18, 23, 0.58);
      }

      .highlight-card p {
        margin: 0;
        color: var(--text);
        font-weight: 600;
        font-size: 1.05rem;
      }

      .catalogo {
        background: radial-gradient(circle at center top,
            rgba(255, 255, 255, 0.9),
            rgba(242, 243, 247, 0.2));
      }

      .catalogo-intro {
        display: grid;
        gap: 12px;
        margin-bottom: clamp(28px, 6vw, 36px);
      }

      .catalogo-intro h2 {
        margin: 0;
        font-size: clamp(2rem, 4.8vw, 2.6rem);
        letter-spacing: -0.02em;
      }

      .catalogo-intro p {
        margin: 0;
        color: var(--text-soft);
        max-width: 60ch;
      }

      /* Hero del catálogo estilo Apple */
      .catalog-hero {
        padding: clamp(60px, 12vh, 100px) clamp(24px, 4vw, 48px);
        background: #ffffff;
        text-align: center;
        margin-bottom: 0;
        border-radius: 0;
        box-shadow: none;
        border: none;
        display: block;
      }

      .catalog-hero-header {
        max-width: 700px;
        margin: 0 auto;
        display: grid;
        gap: 16px;
      }

      .catalog-hero-header .eyebrow {
        font-size: 0.875rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-weight: 600;
        color: #6e6e73;
        margin: 0;
      }

      .catalog-hero-header h1 {
        font-size: clamp(2.5rem, 5vw, 3.5rem);
        line-height: 1.07;
        margin: 0;
        letter-spacing: -0.01em;
        font-weight: 600;
        color: #1d1d1f;
      }

      .catalog-hero-header p {
        font-size: clamp(1rem, 2.2vw, 1.25rem);
        line-height: 1.4;
        margin: 0;
        color: #6e6e73;
        font-weight: 400;
      }

      .catalog-hero-categories {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
      }

      .catalog-hero-label {
        font-size: 0.78rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        font-weight: 600;
        color: rgba(19, 20, 26, 0.55);
        margin: 0;
      }

      .filter-pill-group {
        display: flex;
        flex-wrap: wrap;
        /* desktop puede seguir envolviendo */
        gap: 10px;
      }

      /* Bloque separado de categorías */
      .catalog-categories-strip {
        margin-bottom: clamp(24px, 6vw, 32px);
      }

      /* En móvil: carrusel horizontal de categorías */
      @media (max-width: 900px) {
        .catalog-categories-strip .filter-pill-group {
          flex-wrap: nowrap;
          overflow-x: auto;
          padding-bottom: 4px;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: none;
        }

        .catalog-categories-strip .filter-pill-group::-webkit-scrollbar {
          display: none;
        }

        .catalog-categories-strip .filter-pill {
          flex: 0 0 auto;
          /* que no se encojan, chips uno tras otro */
        }
      }

      .filter-pill {
        border: none;
        border-radius: 980px;
        padding: 8px 16px;
        font-size: 0.875rem;
        letter-spacing: 0.01em;
        text-transform: none;
        background: rgba(0, 0, 0, 0.04);
        color: #1d1d1f;
        box-shadow: none;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-weight: 400;
      }

      .filter-pill:hover,
      .filter-pill:focus-visible {
        background: rgba(0, 0, 0, 0.08);
        color: #1d1d1f;
        outline: none;
      }

      .filter-pill.is-active {
        background: #1d1d1f;
        color: #ffffff;
      }

      .catalog-layout {
        gap: 3.5rem;
      }

      /* Que las secciones paren un poco más abajo del header fijo */
      .category-section,
      .category-block {
        scroll-margin-top: 120px;
      }

      .filter-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: clamp(28px, 6vw, 40px);
      }

      .chip {
        border: none;
        border-radius: 999px;
        padding: 10px 18px;
        font-size: 0.9rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        background: rgba(255, 255, 255, 0.82);
        color: var(--text-soft);
        box-shadow: var(--shadow-sm);
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease,
          background 0.2s ease, color 0.2s ease;
      }

      .chip:hover,
      .chip:focus-visible {
        transform: translateY(-2px);
        box-shadow: var(--shadow-md);
        outline: none;
      }

      .chip.is-active {
        background: var(--text);
        color: #ffffff;
        box-shadow: 0 18px 34px rgba(17, 18, 23, 0.24);
      }

      .catalogo-list {
        display: grid;
        gap: clamp(36px, 8vw, 48px);
        margin-top: 2rem;
      }

      .category-block {
        display: grid;
        gap: clamp(20px, 5vw, 28px);
      }

      .category-header {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 14px;
      }

      .category-header h3 {
        margin: 0;
        font-size: clamp(1.6rem, 4vw, 2.1rem);
        letter-spacing: -0.02em;
      }

      .category-header p {
        margin: 0;
        color: var(--text-soft);
        font-size: 0.95rem;
      }

      .product-grid {
        display: grid;
        gap: clamp(12px, 2.5vw, 20px);
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      }

      .product-card {
        position: relative;
        background: #ffffff;
        border-radius: 18px;
        padding: clamp(32px, 5vw, 40px) clamp(20px, 3vw, 24px);
        display: grid;
        gap: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
        border: 1px solid rgba(0, 0, 0, 0.04);
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
          box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        overflow: visible;
        text-align: center;
      }

      .product-card::before {
        content: none;
      }

      .product-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08),
          0 0 0 1px rgba(0, 0, 0, 0.04);
      }

      .product-card:hover::before {
        opacity: 0;
      }

      .product-card>* {
        position: relative;
        z-index: 1;
      }

      .product-card__icon {
        width: clamp(64px, 18vw, 92px);
        height: clamp(64px, 18vw, 92px);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: clamp(18px, 5vw, 26px);
        background: rgba(255, 255, 255, 0.92);
        box-shadow:
          10px 10px 24px rgba(17, 21, 28, 0.12),
          -6px -6px 18px rgba(255, 255, 255, 0.86);
        margin-bottom: clamp(14px, 4vw, 20px);
        justify-self: center;
        overflow: hidden;
        font-weight: 700;
        color: rgba(17, 21, 28, 0.64);
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-size: clamp(0.9rem, 2.6vw, 1.05rem);
      }

      .product-logo-badge {
        width: clamp(80px, 18vw, 120px);
        height: clamp(80px, 18vw, 120px);
        border-radius: 22px;
        background: #f5f5f7;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        box-shadow: none;
        flex-shrink: 0;
        margin-bottom: clamp(16px, 3vw, 20px);
        justify-self: center;
        border: 1px solid rgba(0, 0, 0, 0.04);
      }

      .product-logo-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
      }

      .product-logo-initials {
        font-weight: 600;
        font-size: 14px;
        color: #111827;
      }

      .product-card h4 {
        margin: 0;
        font-size: clamp(1.15rem, 2.8vw, 1.35rem);
        font-weight: 600;
        color: #1d1d1f;
        letter-spacing: 0.004em;
        line-height: 1.2;
      }

      .product-card p {
        margin: 0;
        color: #6e6e73;
        font-size: clamp(0.875rem, 2.2vw, 1rem);
        font-weight: 400;
        line-height: 1.4;
        max-width: 30ch;
        margin-left: auto;
        margin-right: auto;
      }

      .product-price {
        font-size: 1rem;
        font-weight: 400;
        letter-spacing: 0;
        text-transform: none;
        color: #1d1d1f;
        margin-top: 4px;
      }

      /* --- Tabla de planes OTW (inicio) --- */
      .plan-meta {
        display: grid;
        gap: clamp(8px, 2vw, 12px);
        padding: clamp(6px, 2vw, 10px) 0;
      }

      .plan-meta:empty {
        display: none;
      }

      .plan-meta-row {
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(6px, 2vw, 12px);
        align-items: center;
        padding: clamp(10px, 3vw, 14px);
        border-radius: clamp(12px, 3vw, 18px);
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(237, 241, 248, 0.82));
        box-shadow:
          10px 10px 24px rgba(17, 21, 28, 0.08),
          -8px -8px 20px rgba(255, 255, 255, 0.88);
      }

      .plan-meta-plan {
        font-weight: 600;
        color: var(--text);
        font-size: clamp(0.88rem, 2.4vw, 0.95rem);
      }

      .plan-meta-duration {
        color: rgba(18, 19, 25, 0.6);
        font-weight: 500;
        font-size: clamp(0.85rem, 2.2vw, 0.92rem);
      }

      .plan-meta-price {
        justify-self: end;
        font-weight: 700;
        color: var(--text);
        letter-spacing: 0.02em;
        font-size: clamp(0.88rem, 2.4vw, 0.95rem);
      }

      .plan-meta-more {
        margin: 0;
        padding-top: clamp(4px, 1.2vw, 6px);
        font-size: 0.85rem;
        color: rgba(18, 19, 25, 0.56);
      }

      @media (max-width: 720px) {
        .plan-meta-row {
          grid-template-columns: repeat(1, minmax(0, 1fr));
          text-align: left;
        }

        .plan-meta-price {
          justify-self: start;
        }
      }

      /* --- Tabla de planes OTW (fin) --- */

      /* --- Componente de variantes de producto (inicio) --- */
      .product-variants-container {
        display: grid;
        gap: clamp(24px, 6vw, 32px);
        margin-bottom: clamp(24px, 6vw, 32px);
      }

      .product-variant-card,
      .music-product-card {
        background: linear-gradient(145deg, #ffffff, #eef2f7);
        border-radius: clamp(24px, 6vw, 32px);
        padding: clamp(20px, 4.8vw, 28px);
        box-shadow: var(--shadow-md);
        border: 1px solid rgba(255, 255, 255, 0.6);
        margin-bottom: clamp(24px, 6vw, 32px);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
      }

      .product-variant-card:hover,
      .music-product-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-lg);
      }

      .product-variant-header {
        display: flex;
        gap: clamp(16px, 4vw, 20px);
        align-items: center;
        margin-bottom: clamp(16px, 4vw, 20px);
      }

      .product-variant-icon {
        width: clamp(56px, 14vw, 64px);
        height: clamp(56px, 14vw, 64px);
        border-radius: clamp(14px, 3.6vw, 16px);
        object-fit: cover;
        background: rgba(255, 255, 255, 0.92);
        box-shadow:
          10px 10px 24px rgba(17, 21, 28, 0.12),
          -6px -6px 18px rgba(255, 255, 255, 0.86);
      }

      .catalog-logo {
        width: clamp(48px, 12vw, 56px);
        height: clamp(48px, 12vw, 56px);
        border-radius: clamp(12px, 3vw, 14px);
        object-fit: cover;
        background: #ffffff;
        padding: 4px;
        box-shadow:
          0 0 8px rgba(0, 0, 0, 0.1),
          4px 4px 12px rgba(17, 21, 28, 0.08),
          -2px -2px 8px rgba(255, 255, 255, 0.9);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }

      .catalog-logo:hover {
        transform: translateY(-1px);
        box-shadow:
          0 0 12px rgba(0, 0, 0, 0.15),
          6px 6px 16px rgba(17, 21, 28, 0.12),
          -3px -3px 10px rgba(255, 255, 255, 0.95);
      }

      .card-header {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 16px;
      }

      .product-logo-wrapper {
        position: relative;
        width: 56px;
        height: 56px;
        flex-shrink: 0;
      }

      .product-logo {
        width: 100%;
        height: 100%;
        border-radius: 20px;
        object-fit: cover;
        display: block;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
        background-color: #000;
      }

      .product-logo-initials {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 20px;
        background: linear-gradient(145deg, #f5f5f7, #e2e3e6);
        color: #111;
        font-weight: 600;
        font-size: 14px;
      }

      /* Mantener estilos legacy para compatibilidad */
      .service-logo {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        object-fit: cover;
        background: #ffffff;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
        flex-shrink: 0;
      }

      .card-title {
        margin: 0;
        font-size: clamp(1.4rem, 3.5vw, 1.8rem);
        font-weight: 700;
        color: var(--text);
        line-height: 1.2;
      }

      .product-variant-title-block {
        flex: 1;
      }

      .product-variant-title {
        font-size: clamp(1.4rem, 3.6vw, 1.8rem);
        font-weight: 700;
        margin: 0 0 clamp(4px, 1.2vw, 6px);
        letter-spacing: -0.02em;
        color: var(--text);
      }

      .product-variant-title-accent {
        font-weight: 500;
        color: rgba(18, 19, 25, 0.7);
      }

      .product-variant-meta {
        display: flex;
        flex-wrap: wrap;
        gap: clamp(8px, 2vw, 12px) clamp(16px, 4vw, 24px);
        font-size: clamp(0.8rem, 2vw, 0.85rem);
        margin-bottom: 10px;
      }

      .meta-item {
        display: inline-flex;
        align-items: center;
        gap: 4px;
      }

      .meta-label {
        font-weight: 600;
        color: rgba(18, 19, 25, 0.55);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        font-size: 0.75rem;
      }

      .meta-value {
        color: rgba(18, 19, 25, 0.75);
        font-weight: 500;
      }

      .product-variant-description {
        margin-top: 6px;
        margin-bottom: 16px;
        color: rgba(18, 19, 25, 0.7);
        font-size: 0.9rem;
        line-height: 1.5;
      }

      .product-variant-body {
        display: grid;
        gap: clamp(16px, 4vw, 20px);
      }

      .variant-group {
        display: grid;
        gap: clamp(6px, 1.6vw, 8px);
      }

      .variant-group-label {
        font-size: clamp(0.8rem, 2vw, 0.85rem);
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: rgba(18, 19, 25, 0.55);
      }

      .variant-chips {
        display: flex;
        flex-wrap: wrap;
        gap: clamp(6px, 1.6vw, 8px);
      }

      .variant-chip,
      .pill {
        border: none;
        border-radius: 999px;
        padding: clamp(6px, 1.6vw, 8px) clamp(12px, 3.2vw, 14px);
        font-size: clamp(0.8rem, 2vw, 0.85rem);
        font-weight: 500;
        background: rgba(255, 255, 255, 0.92);
        color: rgba(18, 19, 25, 0.75);
        box-shadow:
          6px 6px 12px rgba(17, 21, 28, 0.08),
          -4px -4px 12px rgba(255, 255, 255, 0.82);
        cursor: pointer;
        transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
        letter-spacing: 0.02em;
      }

      .variant-chip:hover,
      .pill:hover {
        transform: translateY(-1px);
        box-shadow:
          8px 8px 14px rgba(17, 21, 28, 0.12),
          -6px -6px 14px rgba(255, 255, 255, 0.86);
      }

      .variant-chip.is-active,
      .pill.pill--active {
        background: var(--text);
        color: #ffffff;
        box-shadow:
          10px 10px 28px rgba(12, 15, 22, 0.22),
          -6px -6px 14px rgba(255, 255, 255, 0.4);
        transform: translateY(-1px);
      }

      .variant-price-row,
      .product-price {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: clamp(8px, 2vw, 12px);
        padding-top: clamp(8px, 2vw, 12px);
        border-top: 1px solid rgba(17, 18, 23, 0.06);
        gap: 12px;
      }

      .variant-price-label,
      .product-price-label {
        font-size: clamp(0.85rem, 2.2vw, 0.9rem);
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: rgba(18, 19, 25, 0.55);
      }

      .variant-price-value,
      .product-price-value {
        font-size: clamp(1rem, 2.6vw, 1.1rem);
        font-weight: 700;
        color: var(--text);
        letter-spacing: 0.02em;
      }

      .product-whatsapp-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: clamp(12px, 3vw, 16px);
        padding: clamp(10px, 2.5vw, 12px) clamp(20px, 5vw, 24px);
        background: var(--text);
        color: #ffffff;
        text-decoration: none;
        border-radius: clamp(20px, 5vw, 24px);
        font-weight: 600;
        font-size: clamp(0.85rem, 2.2vw, 0.9rem);
        box-shadow:
          8px 8px 16px rgba(12, 15, 22, 0.15),
          -4px -4px 12px rgba(255, 255, 255, 0.3);
        transition: transform 0.15s ease, box-shadow 0.15s ease;
      }

      .product-whatsapp-btn:hover {
        transform: translateY(-2px);
        box-shadow:
          10px 10px 20px rgba(12, 15, 22, 0.2),
          -6px -6px 14px rgba(255, 255, 255, 0.35);
      }

      @media (max-width: 768px) {
        .product-variant-header {
          align-items: flex-start;
        }

        .variant-price-row,
        .product-price {
          flex-direction: column;
          align-items: flex-start;
          gap: 4px;
        }
      }

      /* --- Componente de variantes de producto (fin) --- */

      .product-action {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        padding: 12px 18px;
        border-radius: 999px;
        background: #0f1115;
        color: #ffffff;
        font-size: 0.9rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        box-shadow: 0 18px 36px rgba(8, 13, 24, 0.24);
      }

      .product-action:hover {
        transform: translateY(-3px);
        box-shadow: 0 22px 44px rgba(8, 13, 24, 0.28);
      }

      .catalogo-placeholder,
      .catalogo-empty {
        text-align: center;
        color: var(--text-soft);
        font-size: 0.95rem;
        padding: 24px;
        border-radius: var(--radius-md);
        background: rgba(255, 255, 255, 0.7);
        box-shadow: var(--shadow-sm);
      }

      .catalogo-empty {
        display: none;
      }

      .catalogo-empty.is-visible {
        display: block;
      }

      /* --- SECCIÓN CÓMO FUNCIONA (APPLE STYLE) --- */
      .how-it-works {
        background: #fbfbfd;
        /* Fondo muy sutil Apple */
        padding: clamp(80px, 12vh, 120px) 0;
      }

      .how-it-works-header {
        text-align: center;
        max-width: 600px;
        margin: 0 auto clamp(48px, 8vw, 64px);
      }

      .how-it-works-title {
        font-size: clamp(2.2rem, 5vw, 3rem);
        font-weight: 700;
        letter-spacing: -0.02em;
        margin-bottom: 16px;
        background: linear-gradient(135deg, #111, #555);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }

      .how-it-works-subtitle {
        font-size: clamp(1.1rem, 2.5vw, 1.25rem);
        color: var(--text-soft);
        line-height: 1.5;
      }

      .how-grid,
      .how-cards {
        display: grid;
        gap: clamp(24px, 4vw, 32px);
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      }

      .how-card {
        background: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-radius: 24px;
        padding: 48px 36px;
        box-shadow:
          0 4px 6px -1px rgba(0, 0, 0, 0.02),
          0 10px 15px -3px rgba(0, 0, 0, 0.04),
          0 0 0 1px rgba(0, 0, 0, 0.04);
        text-align: center;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);

        /* Estado inicial para animación */
        opacity: 0;
        transform: translateY(30px);
      }

      .how-card.is-visible {
        opacity: 1;
        transform: translateY(0);
      }

      .how-card:hover {
        transform: translateY(-8px) scale(1.01);
        box-shadow:
          0 20px 25px -5px rgba(0, 0, 0, 0.06),
          0 10px 10px -5px rgba(0, 0, 0, 0.02),
          0 0 0 1px rgba(0, 113, 227, 0.1);
        background: #ffffff;
      }

      .how-step-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        background: linear-gradient(135deg, #f5f5f7 0%, #ffffff 100%);
        border-radius: 16px;
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--primary);
        margin-bottom: 24px;
        box-shadow:
          0 4px 6px -1px rgba(0, 0, 0, 0.05),
          0 2px 4px -1px rgba(0, 0, 0, 0.03),
          inset 0 1px 0 rgba(255, 255, 255, 1);
        border: 1px solid rgba(0, 0, 0, 0.04);
      }

      .how-card-title {
        font-size: 1.4rem;
        font-weight: 600;
        margin: 0 0 12px;
        letter-spacing: -0.01em;
        color: var(--text);
      }

      .how-card-text {
        font-size: 1rem;
        line-height: 1.6;
        color: var(--text-soft);
        color: var(--text);
      }

      /* --- SECCIÓN DE ESTADÍSTICAS --- */
      .stats-section {
        padding: clamp(60px, 10vh, 80px) 0;
        background: linear-gradient(180deg, #fafafa 0%, #ffffff 100%);
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
      }

      .stats-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 40px;
        max-width: 1000px;
        margin: 0 auto;
      }

      .stat-item {
        text-align: center;
      }

      .stat-number {
        font-size: clamp(2.5rem, 5vw, 3.5rem);
        font-weight: 700;
        color: #0071e3;
        line-height: 1;
        margin-bottom: 12px;
        font-variant-numeric: tabular-nums;
      }

      .stat-label {
        font-size: 1rem;
        color: #6e6e73;
        font-weight: 500;
      }

      @media (max-width: 768px) {
        .stats-grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 32px;
        }
      }

      /* --- SECCIÓN DE GARANTÍA/CONFIANZA --- */
      .trust-section {
        padding: clamp(60px, 10vh, 80px) 0;
        background: #ffffff;
      }

      .trust-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 24px;
        max-width: 1200px;
        margin: 0 auto;
      }

      .trust-badge {
        text-align: center;
        padding: 32px 24px;
        background: #fafafa;
        border-radius: 16px;
        border: 1px solid rgba(0, 0, 0, 0.04);
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        cursor: default;
        position: relative;
        overflow: hidden;
      }

      /* Efecto de brillo sutil al hover */
      .trust-badge::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
        transition: left 0.6s ease;
      }

      .trust-badge:hover::before {
        left: 100%;
      }

      .trust-badge:hover {
        transform: translateY(-6px) scale(1.02);
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
        border-color: rgba(0, 113, 227, 0.2);
        background: #ffffff;
      }

      .trust-icon {
        width: 48px;
        height: 48px;
        color: #0071e3;
        margin: 0 auto 20px;
        display: block;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .trust-badge:hover .trust-icon {
        transform: scale(1.15) rotate(5deg);
        color: #0077ed;
      }

      .trust-badge h3 {
        font-size: 1.15rem;
        font-weight: 600;
        color: #1d1d1f;
        margin: 0 0 8px;
        transition: color 0.3s ease;
      }

      .trust-badge:hover h3 {
        color: #0071e3;
      }

      .trust-badge p {
        font-size: 0.95rem;
        color: #6e6e73;
        margin: 0;
        line-height: 1.5;
      }

      /* Mobile optimizations */
      @media (max-width: 900px) {
        .trust-grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 16px;
        }

        .trust-badge {
          padding: 24px 16px;
        }

        .trust-icon {
          width: 40px;
          height: 40px;
          margin-bottom: 16px;
        }

        .trust-badge h3 {
          font-size: 1rem;
        }

        .trust-badge p {
          font-size: 0.875rem;
        }
      }

      @media (max-width: 480px) {
        .trust-grid {
          grid-template-columns: 1fr;
          gap: 12px;
        }

        .trust-badge {
          padding: 20px 16px;
        }
      }


      /* --- SECCIÓN DE TESTIMONIOS (APPLE STYLE) --- */
      .testimonials-section {
        padding: clamp(80px, 12vh, 100px) 0;
        background: #ffffff;
      }

      .testimonials-header {
        text-align: center;
        max-width: 640px;
        margin: 0 auto clamp(48px, 8vw, 64px);
      }

      .testimonials-title {
        font-size: clamp(1.8rem, 4vw, 2.4rem);
        font-weight: 600;
        letter-spacing: -0.025em;
        margin: 0 0 16px;
        color: #1d1d1f;
      }

      .testimonials-subtitle {
        font-size: clamp(1rem, 2vw, 1.1rem);
        color: #6e6e73;
        margin: 0;
        line-height: 1.6;
        font-weight: 400;
      }


      .testimonials-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 24px;
        max-width: 1100px;
        margin: 0 auto;
        min-height: 400px;
        align-items: start;
        transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1),
          transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: opacity, transform;
      }

      .testimonial-card {
        background: #fafafa;
        border-radius: 20px;
        padding: 32px 28px;
        display: flex;
        flex-direction: column;
        gap: 20px;
        border: 1px solid rgba(0, 0, 0, 0.04);
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      }

      .testimonial-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
      }

      .testimonial-rating {
        display: flex;
        gap: 4px;
      }

      .testimonial-rating svg {
        width: 16px;
        height: 16px;
        color: #FFB800;
      }

      .testimonial-text {
        font-size: 1rem;
        line-height: 1.7;
        color: #1d1d1f;
        margin: 0;
        font-weight: 400;
      }

      .testimonial-author {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: auto;
      }

      .author-avatar {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: linear-gradient(135deg, #e8e8ed, #d1d1d6);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        color: #1d1d1f;
        font-size: 1.1rem;
      }

      .author-info {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }

      .author-name {
        font-size: 0.95rem;
        font-weight: 600;
        color: #1d1d1f;
      }

      .author-service {
        font-size: 0.85rem;
        color: #86868b;
      }

      /* Carousel Navigation */
      .testimonials-carousel-wrapper {
        position: relative;
        margin: 0 auto;
        max-width: 1200px;
      }

      .testimonial-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.95);
        border: 1px solid rgba(0, 0, 0, 0.06);
        display: none;
        /* Oculto por defecto en móvil */
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 10;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
      }

      .testimonial-nav:hover {
        background: #ffffff;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
        transform: translateY(-50%) scale(1.05);
      }

      .testimonial-nav:active {
        transform: translateY(-50%) scale(0.95);
      }

      .testimonial-nav svg {
        width: 20px;
        height: 20px;
        color: #1d1d1f;
      }

      .testimonial-nav-prev {
        left: -60px;
      }

      .testimonial-nav-next {
        right: -60px;
      }

      /* Mostrar botones solo en desktop */
      @media (min-width: 1024px) {
        .testimonial-nav {
          display: flex;
        }
      }

      /* Indicators */
      .testimonials-indicators {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 32px;
      }

      .testimonial-indicator {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.15);
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        border: none;
        padding: 0;
      }

      .testimonial-indicator:hover {
        background: rgba(0, 0, 0, 0.3);
        transform: scale(1.2);
      }

      .testimonial-indicator.active {
        background: #1d1d1f;
        width: 24px;
        border-radius: 4px;
      }


      /* --- BOTÓN FLOTANTE DE WHATSAPP --- */
      .whatsapp-float {
        position: fixed;
        bottom: 24px;
        right: 24px;
        width: 60px;
        height: 60px;
        background: linear-gradient(135deg, #25D366, #128C7E);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
        z-index: 1000;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        cursor: pointer;
        overflow: hidden;
        animation: whatsapp-pulse 3s infinite;
      }

      /* Animación de pulso más pronunciada */
      @keyframes whatsapp-pulse {

        0%,
        100% {
          box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
          transform: scale(1);
        }

        50% {
          box-shadow: 0 4px 35px rgba(37, 211, 102, 0.7), 0 0 0 8px rgba(37, 211, 102, 0.1);
          transform: scale(1.05);
        }
      }

      /* Efecto de bounce al hover */
      @keyframes whatsapp-bounce {

        0%,
        100% {
          transform: translateY(0) scale(1.1);
        }

        50% {
          transform: translateY(-8px) scale(1.1);
        }
      }

      .whatsapp-float:hover {
        animation: whatsapp-bounce 0.6s ease;
        box-shadow: 0 8px 32px rgba(37, 211, 102, 0.6);
        width: auto;
        padding: 0 20px;
        border-radius: 30px;
      }

      .whatsapp-float:active {
        transform: scale(0.95);
      }

      .whatsapp-float svg {
        width: 32px;
        height: 32px;
        color: white;
        flex-shrink: 0;
        transition: transform 0.3s ease;
      }

      .whatsapp-float:hover svg {
        transform: rotate(15deg);
      }

      .whatsapp-float-text {
        color: white;
        font-weight: 600;
        font-size: 0.95rem;
        white-space: nowrap;
        max-width: 0;
        overflow: hidden;
        opacity: 0;
        margin-left: 0;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .whatsapp-float:hover .whatsapp-float-text {
        max-width: 200px;
        opacity: 1;
        margin-left: 10px;
      }

      @media (max-width: 768px) {
        .whatsapp-float {
          bottom: 20px;
          right: 20px;
          width: 56px;
          height: 56px;
        }

        .whatsapp-float svg {
          width: 28px;
          height: 28px;
        }

        /* En móvil, mantener circular al hover */
        .whatsapp-float:hover {
          width: 56px;
          padding: 0;
          border-radius: 50%;
        }

        .whatsapp-float-text {
          display: none;
        }

        /* Pulso más sutil en móvil */
        @keyframes whatsapp-pulse {

          0%,
          100% {
            box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
          }

          50% {
            box-shadow: 0 4px 24px rgba(37, 211, 102, 0.6);
          }
        }
      }


      /* --- SECCIÓN DE FAQ (ACCORDION) --- */
      .faq-section {
        padding: clamp(80px, 12vh, 100px) 0;
        background: #ffffff;
      }

      .faq-header {
        text-align: center;
        max-width: 640px;
        margin: 0 auto clamp(48px, 8vw, 64px);
      }

      .faq-title {
        font-size: clamp(1.8rem, 4vw, 2.4rem);
        font-weight: 600;
        letter-spacing: -0.025em;
        margin: 0 0 16px;
        color: #1d1d1f;
      }

      .faq-subtitle {
        font-size: clamp(1rem, 2vw, 1.1rem);
        color: #6e6e73;
        margin: 0;
        line-height: 1.6;
        font-weight: 400;
      }

      .faq-list {
        max-width: 800px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .faq-item {
        background: #fafafa;
        border-radius: 12px;
        border: 1px solid rgba(0, 0, 0, 0.04);
        overflow: hidden;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .faq-item:hover {
        border-color: rgba(0, 0, 0, 0.08);
      }

      .faq-question {
        width: 100%;
        padding: 20px 24px;
        background: none;
        border: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        text-align: left;
        font-size: 1.05rem;
        font-weight: 600;
        color: #1d1d1f;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .faq-question:hover {
        color: #0071e3;
      }

      .faq-question span {
        flex: 1;
        padding-right: 16px;
      }

      .faq-icon {
        width: 20px;
        height: 20px;
        color: #86868b;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        flex-shrink: 0;
      }

      .faq-question[aria-expanded="true"] .faq-icon {
        transform: rotate(180deg);
        color: #0071e3;
      }

      .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
          padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .faq-answer p {
        padding: 0 24px 20px;
        margin: 0;
        color: #6e6e73;
        line-height: 1.7;
        font-size: 1rem;
      }

      .faq-item.active .faq-answer {
        max-height: 500px;
      }

      @media (max-width: 768px) {
        .faq-question {
          padding: 18px 20px;
          font-size: 1rem;
        }

        .faq-answer p {
          padding: 0 20px 18px;
          font-size: 0.95rem;
        }
      }

      /* --- SECCIÓN DE REDES SOCIALES (APPLE STYLE REFINADO) --- */
      .social-section {
        padding: clamp(80px, 12vh, 100px) 0;
        background: #fafafa;
      }

      .social-header {
        text-align: center;
        max-width: 640px;
        margin: 0 auto clamp(48px, 8vw, 64px);
      }

      .social-title {
        font-size: clamp(1.8rem, 4vw, 2.4rem);
        font-weight: 600;
        letter-spacing: -0.025em;
        margin: 0 0 16px;
        color: #1d1d1f;
      }

      .social-subtitle {
        font-size: clamp(1rem, 2vw, 1.1rem);
        color: #6e6e73;
        margin: 0;
        line-height: 1.6;
        font-weight: 400;
      }

      .social-cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 16px;
        max-width: 720px;
        margin: 0 auto;
      }

      .social-card {
        display: flex;
        align-items: center;
        gap: 20px;
        padding: 28px 32px;
        background: #ffffff;
        border-radius: 18px;
        border: 1px solid rgba(0, 0, 0, 0.04);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        position: relative;
        overflow: hidden;
      }

      .social-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(135deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.01) 100%);
        opacity: 0;
        transition: opacity 0.4s ease;
      }

      .social-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        border-color: rgba(0, 0, 0, 0.08);
      }

      .social-card:hover::before {
        opacity: 1;
      }

      .social-card-icon {
        flex-shrink: 0;
        width: 52px;
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 14px;
        background: #f5f5f7;
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      }

      .social-card-instagram .social-card-icon {
        background: linear-gradient(135deg, #f5f5f7, #ebebed);
      }

      .social-card-tiktok .social-card-icon {
        background: linear-gradient(135deg, #f5f5f7, #ebebed);
      }

      .social-card-icon svg {
        width: 26px;
        height: 26px;
        color: #1d1d1f;
        transition: all 0.4s ease;
      }

      .social-card:hover .social-card-icon {
        transform: scale(1.05);
        background: #e8e8ed;
      }

      .social-card-instagram:hover .social-card-icon svg {
        color: #E1306C;
      }

      .social-card-tiktok:hover .social-card-icon svg {
        color: #000000;
      }

      .social-card-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
      }

      .social-card-label {
        font-size: 1.05rem;
        font-weight: 600;
        color: #1d1d1f;
        letter-spacing: -0.015em;
      }

      .social-card-handle {
        font-size: 0.9rem;
        color: #86868b;
        font-weight: 400;
      }

      .social-card-arrow {
        flex-shrink: 0;
        width: 20px;
        height: 20px;
        color: #86868b;
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        opacity: 0.6;
      }

      .social-card-arrow svg {
        width: 100%;
        height: 100%;
      }

      .social-card:hover .social-card-arrow {
        transform: translateX(3px);
        color: #1d1d1f;
        opacity: 1;
      }

      @media (max-width: 640px) {
        .social-cards {
          grid-template-columns: 1fr;
        }

        .social-card {
          padding: 24px 28px;
        }

        .social-card-icon {
          width: 48px;
          height: 48px;
        }

        .social-card-icon svg {
          width: 24px;
          height: 24px;
        }
      }

      /* --- FOOTER REDISEÑADO (APPLE STYLE) --- */
      footer {
        padding: clamp(32px, 6vw, 48px) 0 24px;
        background: #fbfbfd;
        border-top: 1px solid rgba(0, 0, 0, 0.06);
      }

      .footer-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
      }

      .footer-content {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        gap: 32px;
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
      }

      .footer-section {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .footer-brand {
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--text);
        margin: 0;
        letter-spacing: -0.02em;
      }

      .footer-tagline {
        font-size: 0.875rem;
        color: var(--text-soft);
        margin: 0;
        opacity: 0.8;
      }

      .footer-title {
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--text);
        margin: 0 0 8px 0;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        opacity: 0.9;
      }

      .footer-links {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }

      .footer-links a {
        color: var(--text-soft);
        font-size: 0.875rem;
        transition: all 0.2s ease;
        opacity: 0.8;
      }

      .footer-links a:hover {
        color: var(--text);
        opacity: 1;
        transform: translateX(2px);
      }

      .footer-bottom {
        padding-top: 16px;
        text-align: center;
      }

      .footer-copyright {
        font-size: 0.8125rem;
        color: var(--text-soft);
        margin: 0;
        opacity: 0.7;
      }

      /* Responsive Footer */
      @media (max-width: 768px) {
        footer {
          padding: 20px 0 12px;
        }

        .footer-content {
          grid-template-columns: 1fr;
          gap: 16px;
          text-align: center;
          padding-bottom: 12px;
        }

        .footer-section {
          align-items: center;
          gap: 6px;
        }

        .footer-brand {
          font-size: 1rem;
        }

        .footer-tagline {
          font-size: 0.75rem;
        }

        .footer-title {
          font-size: 0.75rem;
          margin: 0 0 4px 0;
        }

        .footer-links {
          align-items: center;
          gap: 4px;
        }

        .footer-links a {
          font-size: 0.75rem;
        }

        .footer-links a:hover {
          transform: translateX(0);
        }

        .footer-bottom {
          padding-top: 10px;
        }

        .footer-copyright {
          font-size: 0.6875rem;
        }
      }

      .payment-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: center;
        align-items: center;
        margin-top: 8px;
        opacity: 0.7;
        transition: opacity 0.3s ease;
      }

      .payment-badges:hover {
        opacity: 1;
      }

      /* Corrección de distorsión de imágenes */
      .payment-badges img {
        height: 20px;
        width: auto;
        object-fit: contain;
        filter: grayscale(100%);
        transition: filter 0.3s ease;
      }

      .payment-badges:hover img {
        filter: grayscale(0%);
      }

      .footer-social {
        display: flex;
        gap: 20px;
        margin-top: 8px;
      }

      .footer-social a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.04);
        transition: all 0.2s ease;
      }

      .footer-social a:hover {
        background: rgba(0, 0, 0, 0.08);
        transform: scale(1.05);
      }

      .footer-social img {
        width: 18px;
        height: 18px;
        object-fit: contain;
        opacity: 0.7;
      }

      .footer-social a:hover img {
        opacity: 1;
      }

      @media (max-width: 768px) {
        header {
          padding: 0;
        }

        header.header-scrolled {
          padding: 0;
        }

        .nav {
          padding: 6px 18px;
          border-radius: 26px;
          gap: 8px;
          align-items: center;
        }

        .logo,
        .menu,
        .nav-actions {
          display: flex;
          align-items: center;
        }

        .btn-whatsapp {
          padding: 6px 16px;
          font-size: 13px;
          box-shadow: 0 14px 28px rgba(37, 211, 102, 0.32);
        }
      }

      @media (max-width: 920px) {
        .menu {
          padding-top: 6px;
          font-size: 0.9rem;
        }
      }

      @media (max-width: 640px) {
        :root {
          font-size: 15px;
        }

        header {
          padding: 0;
        }

        header.header-scrolled {
          padding: 0;
        }

        .nav {
          gap: 6px;
          padding: 4px 12px;
          border-radius: 22px;
          align-items: center;
        }

        .logo,
        .menu,
        .nav-actions {
          display: flex;
          align-items: center;
        }

        .nav-alt {
          width: min(90vw, 620px);
        }

        .btn-whatsapp {
          padding: 5px 12px;
          font-size: 13px;
        }

        .category-header {
          flex-direction: column;
          align-items: flex-start;
        }
      }

      @media (prefers-reduced-motion: reduce) {

        *,
        *::before,
        *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.01ms !important;
          scroll-behavior: auto !important;
        }
      }

      /* LOGO OFICIAL OTW - tamaño perfecto para barra premium */
      .logo-img {
        height: 32px;
        /* desktop */
        width: auto;
        display: block;
      }

      @media (max-width: 640px) {
        .logo-img {
          height: 26px;
          /* móvil */
        }
      }

      /* Convertir navbar a flex (una sola línea siempre) */
      .nav {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        column-gap: clamp(16px, 4vw, 32px);
      }

      /* Alinear todos los elementos verticalmente */
      .logo,
      .menu,
      .nav-actions {
        display: flex;
        align-items: center;
      }

      /* Menú centrado */
      .menu {
        justify-content: center;
        flex: 1;
        gap: clamp(18px, 4vw, 36px);
      }

      /* Asegurar orden correcto en móvil */
      @media (max-width: 920px) {
        .nav {
          flex-wrap: nowrap;
          align-items: center;
        }

        .logo {
          order: 1;
        }

        .menu {
          order: 2;
          flex: 1;
          justify-content: center;
        }

        .nav-actions {
          order: 3;
        }
      }

      /* Compactar espacios en la cabecera y categorías (móvil) */
      @media (max-width: 768px) {

        /* Menos aire debajo del hero principal */
        .catalog-hero {
          padding: 1.6rem 1.4rem 1.2rem;
          margin-bottom: 1rem;
          gap: 0.9rem;
        }

        /* Bloque de categorías casi pegado al hero, pero con aire mínimo */
        .catalog-categories-strip {
          margin-top: 0.4rem;
          margin-bottom: 0.8rem;
        }

        /* Label "CATEGORÍAS" un poco más compacto */
        .catalog-hero-label {
          margin-bottom: 4px;
        }

        /* Reducir el espacio antes del primer bloque de categoría ("Música") */
        .category-block:first-of-type {
          margin-top: 0.4rem;
        }
      }

      /* Separación suave debajo del header */
      main {
        padding-top: clamp(12px, 2vh, 18px);
      }

      /* Ajuste del bloque principal del catálogo (héroe del catálogo) */
      .catalog-hero {
        padding: 2.4rem clamp(1.5rem, 4vw, 3rem);
        border-radius: 28px;
        background: radial-gradient(circle at top left, #ffffff, #f3f4f6);
        box-shadow:
          0 22px 45px rgba(0, 0, 0, 0.08),
          0 0 0 1px rgba(255, 255, 255, 0.6);
        display: grid;
        grid-template-columns: minmax(0, 1.4fr);
        gap: 1.6rem;
        /* antes: 2.25rem */
        margin-bottom: 1.8rem;
        /* antes: 3rem */
        border: 1px solid rgba(5, 6, 10, 0.04);
      }

      /* Compactar espacio antes de la primera categoría */
      .catalogo-list {
        display: grid;
        gap: clamp(28px, 6vw, 36px);
        /* antes: 36px–48px */
      }

      .catalogo-list .category-block:first-child {
        margin-top: 0;
      }

      /* --- ELIMINAR AIRE ARRIBA Y ABAJO DE CATEGORÍAS --- */

      .catalog-categories-strip {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
      }

      /* Ajustar el contenedor interno para evitar espacios verticales */
      .catalog-categories-strip .container {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
      }

      /* Ajustar "CATEGORÍAS" label */
      .catalog-hero-label {
        margin-top: 0 !important;
        margin-bottom: 2px !important;
        /* lo mínimo para que respire */
      }

      /* Ajuste directo del wrapper de las pills */
      .catalog-categories-strip .catalog-hero-categories {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }

      /* Ajuste de espacio entre categorías y la primera sección */
      .category-block:first-of-type {
        margin-top: 6px !important;
        /* antes tenía ~40px */
      }

      /* Ajuste fino de espacios en la vista de catálogo */
      .catalog-hero {
        /* Solo tocamos la separación hacia abajo */
        margin-bottom: 1.2rem;
        /* antes: 1.8rem */
      }

      /* Reducir un poco el espacio entre categorías y la primera sección */
      .catalogo-list {
        display: grid;
        gap: clamp(18px, 4vw, 26px);
        /* antes: 28px–36px */
      }

      /* Evitar margen extra antes de "Música" */
      .catalogo-list .category-block:first-child {
        margin-top: 0;
      }

      /* --- AJUSTES FINOS DE ESPACIADO EN LA PÁGINA DE CATÁLOGO --- */

      /* Más aire debajo de la barra hacia el héroe */
      main {
        padding-top: clamp(20px, 3vh, 28px);
        /* antes: 12–18px */
      }

      /* Reducir aún más el espacio entre CATEGORÍAS y MÚSICA */
      .catalogo-list {
        display: grid;
        gap: clamp(14px, 3vw, 20px);
        /* antes: 18–26px */
      }

      /* Asegurar que MÚSICA no baje más de lo necesario */
      .catalogo-list .category-block:first-child {
        margin-top: 0 !important;
      }

      /* Compactar el bloque de categorías aún más */
      .catalog-categories-strip {
        margin-bottom: 0.4rem !important;
        /* antes: 0.8rem / 1rem */
      }

      .catalog-hero-label {
        margin-bottom: 0px !important;
        /* antes: 2px */
      }

      /* --- ESPACIADO CORREGIDO ENTRE HERO, CATEGORÍAS Y MÚSICA --- */

      /* (A) DAR MÁS AIRE ENTRE HERO → CATEGORÍAS */
      .catalog-categories-strip {
        margin-top: 1.8rem !important;
        /* antes: 0.4rem */
        margin-bottom: 0.2rem !important;
        /* casi pegado a Música */
      }

      /* (B) ELIMINAR aire sobrante dentro del label y contenedor */
      .catalog-hero-label {
        margin-top: 0 !important;
        margin-bottom: 4px !important;
      }

      .catalog-categories-strip .catalog-hero-categories {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }

      /* (C) REDUCIR AÚN MÁS EL ESPACIO ENTRE CATEGORÍAS → MÚSICA */
      .catalogo-list {
        display: grid;
        gap: clamp(10px, 2vw, 16px);
        /* antes: 14px–20px */
      }

      /* Asegurar que Música quede lo más cerca posible */
      .catalogo-list .category-block:first-child {
        margin-top: 0 !important;
      }

      /* --- AJUSTE FINAL DE ESPACIOS ENTRE HERO, CATEGORÍAS Y MÚSICA --- */

      /* Subir un poco CATEGORÍAS (más cerca de Catálogo disponible) */
      .catalog-categories-strip {
        margin-top: 1.2rem !important;
        /* antes: 1.8rem */
      }

      /* Subir 6px la primera sección (Música) */
      .catalogo-list .category-block:first-child {
        margin-top: -6px !important;
      }

      /* Reducir aún más el gap entre categorías y secciones */
      .catalogo-list {
        gap: clamp(10px, 1.8vw, 14px) !important;
        /* antes: 14–20px */
      }

      /* --- AJUSTE MILIMÉTRICO FINAL DE ESPACIADO --- */

      /* (A) Bajar CATEGORÍAS 2px desde el hero */
      .catalog-categories-strip {
        margin-top: 1.4rem !important;
        /* antes: 1.2rem */
      }

      /* (B) Subir la primera sección (Música) 4px */
      .catalogo-list .category-block:first-child {
        margin-top: -4px !important;
        /* antes: -6px */
      }

      /* Ajustar gap general para acompañar los cambios */
      .catalogo-list {
        gap: clamp(12px, 2vw, 18px) !important;
      }

      /* --- BAJAR LA SECCIÓN CATEGORÍAS 8px --- */
      .catalog-categories-strip {
        margin-top: calc(1.4rem + 8px) !important;
        /* antes: 1.4rem */
      }

      /* --- ESTILO TIPO APP STORE PARA LA TIRA DE CATEGORÍAS --- */

      /* Franja de fondo suave detrás de los chips */
      .catalog-categories-strip {
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0.02),
            rgba(15, 23, 42, 0.03));
      }

      /* Contenedor de chips: carrusel compacto */
      .catalog-categories-strip .filter-pill-group {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 6px 0 10px;
        gap: 8px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }

      .catalog-categories-strip .filter-pill-group::-webkit-scrollbar {
        display: none;
      }

      /* Chips tipo iOS */
      .catalog-categories-strip .filter-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 18px;
        height: 40px;
        border-radius: 999px;
        background: #ffffff;
        border: 0;
        font-size: 0.85rem;
        font-weight: 500;
        letter-spacing: 0.01em;
        box-shadow:
          0 8px 20px rgba(15, 23, 42, 0.10),
          0 0 0 1px rgba(148, 163, 184, 0.14);
        white-space: nowrap;
      }

      /* Estado activo tipo ficha negra (como ya tienes, pero más iOS) */
      .catalog-categories-strip .filter-pill.is-active,
      .catalog-categories-strip .filter-pill.active,
      .catalog-categories-strip .filter-pill[data-active="true"] {
        background: #050608;
        color: #ffffff;
        box-shadow:
          0 10px 24px rgba(15, 23, 42, 0.35),
          0 0 0 1px rgba(15, 23, 42, 0.7);
      }

      /* Pequeño ajuste en móvil: un poco más compactos */
      @media (max-width: 768px) {
        .catalog-categories-strip .filter-pill {
          height: 36px;
          padding: 0 16px;
          font-size: 0.83rem;
        }
      }

      /* --- AJUSTE VISUAL DE LA BANDA DE CATEGORÍAS (TIPO APP STORE) --- */

      .catalog-categories-strip {
        position: relative;
        /* mantenemos el fondo suave pero hacemos la banda un poco más delgada */
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0.015),
            rgba(15, 23, 42, 0.03));
        padding-top: 2px;
        padding-bottom: 4px;
      }

      /* Fade lateral para sugerir que hay más categorías a los lados */
      .catalog-categories-strip::before,
      .catalog-categories-strip::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 24px;
        pointer-events: none;
        z-index: 2;
      }

      /* Ajusta el color de fondo (#f3f4f6) al gris de la página si fuera distinto */
      .catalog-categories-strip::before {
        left: 0;
        background: linear-gradient(to right, #f3f4f6, transparent);
      }

      .catalog-categories-strip::after {
        right: 0;
        background: linear-gradient(to left, #f3f4f6, transparent);
      }

      /* El carrusel interno se hace un poco más compacto */
      .catalog-categories-strip .filter-pill-group {
        padding: 4px 8px 8px;
        gap: 8px;
      }

      /* --- MICRO-ANIMACIONES EN CHIPS (HOVER / TAP) --- */

      .catalog-categories-strip .filter-pill {
        transition:
          transform 0.16s ease-out,
          box-shadow 0.16s ease-out,
          background-color 0.16s ease-out,
          color 0.16s ease-out;
      }

      /* Solo en dispositivos con hover (desktop, trackpad) */
      @media (hover: hover) and (pointer: fine) {
        .catalog-categories-strip .filter-pill:hover {
          transform: translateY(-1px);
          box-shadow:
            0 10px 24px rgba(15, 23, 42, 0.16),
            0 0 0 1px rgba(148, 163, 184, 0.20);
        }
      }

      /* Feedback al hacer tap/click */
      .catalog-categories-strip .filter-pill:active {
        transform: translateY(0);
        box-shadow:
          0 6px 16px rgba(15, 23, 42, 0.18),
          0 0 0 1px rgba(148, 163, 184, 0.24);
      }

      /* --- 1) SUBIR 12px LA SECCIÓN "MÚSICA" --- */
      .catalogo-list .category-block:first-child {
        margin-top: -12px !important;
        /* antes: -4px o -6px */
      }

      /* --- 2) ELIMINAR LA FRASE "Planes esenciales..." EN TODAS LAS CATEGORÍAS --- */
      .category-block p.category-description {
        display: none !important;
      }

      /* --- 3) DAR AIRE A LA BANDA DE CATEGORÍAS PARA QUE LA SOMBRA NO SE CORTE --- */
      .catalog-categories-strip {
        padding-top: 10px !important;
        /* antes: 2–8px */
        padding-bottom: 14px !important;
        /* antes: 4–10px */
      }

      .catalog-categories-strip .filter-pill-group {
        padding-top: 6px !important;
        padding-bottom: 8px !important;
      }

      /* --- AJUSTE DE SOMBRAS PARA QUE NO SE VEAN CORTADAS --- */

      /* Aire mínimo para permitir sombra sin abrir hueco gigante */
      .catalog-categories-strip {
        padding-top: 8px !important;
        padding-bottom: 10px !important;
      }

      /* Grupo de chips un poco más compacto */
      .catalog-categories-strip .filter-pill-group {
        padding-top: 4px !important;
        padding-bottom: 6px !important;
      }

      /* Sombras más cortas y suaves (tipo iOS, no se cortan visualmente) */
      .catalog-categories-strip .filter-pill {
        box-shadow:
          0 4px 10px rgba(15, 23, 42, 0.14),
          0 0 0 1px rgba(148, 163, 184, 0.16);
      }

      /* Estado activo también más compacto */
      .catalog-categories-strip .filter-pill.is-active,
      .catalog-categories-strip .filter-pill.active,
      .catalog-categories-strip .filter-pill[data-active="true"] {
        box-shadow:
          0 5px 14px rgba(15, 23, 42, 0.32),
          0 0 0 1px rgba(15, 23, 42, 0.85);
      }

      /* --- AIRE ADICIONAL PARA QUE LAS SOMBRAS DE CHIPS NO SE CORTEN --- */

      .catalog-categories-strip {
        padding-top: 12px !important;
        /* antes: 8px */
        padding-bottom: 16px !important;
        /* antes: 10px */
      }

      /* El carrusel también respira un poco más */
      .catalog-categories-strip .filter-pill-group {
        padding-top: 6px !important;
        /* antes: 4px */
        padding-bottom: 10px !important;
        /* antes: 6px */
      }

      /* Sombras ya compactas, no se ajustan más */
      .catalog-categories-strip .filter-pill {
        box-shadow:
          0 4px 10px rgba(15, 23, 42, 0.14),
          0 0 0 1px rgba(148, 163, 184, 0.16);
      }

      /* --- NAVBAR STICKY ANIMADO (SHRINK + BLUR + SOMBRA) --- */

      /* Estado base del header */
      header {
        position: sticky;
        top: 0;
        z-index: 40;
        background: transparent;
        /* sin barra gris */
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
        transition:
          background-color 220ms ease,
          backdrop-filter 220ms ease,
          -webkit-backdrop-filter 220ms ease,
          box-shadow 220ms ease,
          padding 220ms ease,
          transform 220ms ease;
      }

      /* Contenedor del navbar (pastilla negra) */
      header .nav {
        transition:
          transform 220ms ease,
          padding 220ms ease,
          border-radius 220ms ease,
          box-shadow 220ms ease;
      }

      /* Estado al hacer scroll: header más compacto y con más contraste */
      header.header-scrolled {
        background: transparent;
        /* sin barra a todo lo ancho */
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
        transform: translateY(-2px);
        /* ligero "pegado" hacia arriba */
      }

      /* Shrink suave del "píldora" de navegación al hacer scroll */
      header.header-scrolled .nav {
        transform: scale(0.97);
        padding-top: 6px;
        padding-bottom: 6px;
        border-radius: 26px;
        box-shadow:
          0 18px 40px rgba(0, 0, 0, 0.55),
          0 0 0 1px rgba(15, 23, 42, 0.8);
      }

      /* En móvil, el efecto es más sutil para no comer espacio útil */
      @media (max-width: 768px) {
        header.header-scrolled {
          background: transparent;
          backdrop-filter: none;
          -webkit-backdrop-filter: none;
          box-shadow: none;
          transform: translateY(-1px);
        }

        header.header-scrolled .nav {
          transform: scale(0.985);
          padding-top: 5px;
          padding-bottom: 5px;
          border-radius: 24px;
        }
      }

      /* --- ICONOS EN LOS CHIPS DE CATEGORÍAS --- */

      .filter-pill-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-right: 6px;
        font-size: 1rem;
        line-height: 1;
      }

      .filter-pill-label {
        display: inline-block;
      }

      @media (max-width: 768px) {
        .filter-pill-icon {
          margin-right: 4px;
          font-size: 0.95rem;
        }
      }

      /* --- 6. MICRO-ANIMACIONES EN TARJETAS --- */

      /* Contenedor principal de cada tarjeta de producto */
      .product-card {
        position: relative;
        transform-origin: center center;
        transition:
          transform 160ms ease-out,
          box-shadow 160ms ease-out,
          border-color 160ms ease-out,
          background-color 160ms ease-out;
      }

      /* Sombra base un poco más suave y corta */
      .product-card {
        box-shadow:
          0 14px 36px rgba(15, 23, 42, 0.12),
          0 0 0 1px rgba(148, 163, 184, 0.18);
      }

      /* Hover en desktop / trackpad */
      @media (hover: hover) and (pointer: fine) {
        .product-card:hover {
          transform: translateY(-4px);
          box-shadow:
            0 18px 46px rgba(15, 23, 42, 0.22),
            0 0 0 1px rgba(15, 23, 42, 0.28);
        }
      }

      /* Tap / click (feedback corto) */
      .product-card:active {
        transform: translateY(-1px);
        box-shadow:
          0 12px 30px rgba(15, 23, 42, 0.22),
          0 0 0 1px rgba(15, 23, 42, 0.30);
      }

      /* --- 8. AJUSTE DE PADDING EN TARJETAS --- */

      /* Compactar ligeramente el contenido interno de las tarjetas */
      .product-card-inner,
      .product-card-content,
      .product-card-body {
        padding-top: 18px !important;
        padding-bottom: 20px !important;
      }

      /* Asegurar padding horizontal cómodo */
      .product-card-inner,
      .product-card-content,
      .product-card-body {
        padding-left: 20px !important;
        padding-right: 20px !important;
      }

      /* En pantallas grandes podemos dar un pelín más de aire lateral */
      @media (min-width: 1024px) {

        .product-card-inner,
        .product-card-content,
        .product-card-body {
          padding-left: 24px !important;
          padding-right: 24px !important;
        }
      }

      /* Separación más consistente entre bloques internos (header/meta/variantes) */
      .product-card-header,
      .product-card-meta,
      .product-card-variants,
      .product-card-footer {
        margin-bottom: 10px;
      }

      /* --- 7. MICROTIPOGRAFÍA PREMIUM --- */

      /* Títulos de producto: un poco más compactos en espacio vertical */
      .product-card-title {
        margin-bottom: 6px;
        letter-spacing: -0.01em;
      }

      /* Label tipo PLATFORM / CATEGORY */
      .product-card-meta-label,
      .product-meta-label,
      .product-attribute-label {
        font-size: 0.72rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgba(15, 23, 42, 0.55);
        font-weight: 600;
      }

      /* Valor de meta (Android, iOS, etc.) */
      .product-card-meta-value,
      .product-meta-value,
      .product-attribute-value {
        font-size: 0.82rem;
        line-height: 1.45;
        color: rgba(15, 23, 42, 0.86);
      }

      /* Ajustar un poco el interlineado del párrafo de descripción */
      .product-variant-description,
      .product-card-description {
        font-size: 0.88rem;
        line-height: 1.55;
      }

      /* Pequeño ajuste en mobile: texto un pelín más compacto */
      @media (max-width: 768px) {

        .product-card-meta-label,
        .product-meta-label,
        .product-attribute-label {
          font-size: 0.7rem;
          letter-spacing: 0.12em;
        }

        .product-card-meta-value,
        .product-meta-value,
        .product-attribute-value {
          font-size: 0.84rem;
        }

        .product-variant-description,
        .product-card-description {
          font-size: 0.87rem;
        }
      }

      /* --- MICRO-ANIMACIÓN EN LOGOS DE LAS TARJETAS --- */

      /* Aseguramos que el wrapper del logo sea un bloque independiente */
      .product-logo-wrapper,
      .product-logo-badge,
      .product-logo-container {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition:
          transform 160ms ease-out,
          box-shadow 160ms ease-out,
          background-color 160ms ease-out;
      }

      /* El propio logo (img o svg) también con transición suave */
      .product-logo,
      .product-logo img {
        display: block;
        transition:
          transform 160ms ease-out,
          filter 160ms ease-out;
      }

      /* Efecto al pasar el mouse por la tarjeta (desktop) */
      @media (hover: hover) and (pointer: fine) {

        .product-card:hover .product-logo-wrapper,
        .product-card:hover .product-logo-badge,
        .product-card:hover .product-logo-container {
          transform: translateY(-2px) scale(1.03);
          box-shadow:
            0 14px 28px rgba(15, 23, 42, 0.35),
            0 0 0 1px rgba(15, 23, 42, 0.6);
        }

        .product-card:hover .product-logo,
        .product-card:hover .product-logo img {
          transform: scale(1.04);
        }
      }

      /* Feedback en tap/click (mobile y desktop) */
      .product-card:active .product-logo-wrapper,
      .product-card:active .product-logo-badge,
      .product-card:active .product-logo-container {
        transform: translateY(-1px) scale(1.01);
        box-shadow:
          0 10px 22px rgba(15, 23, 42, 0.32),
          0 0 0 1px rgba(15, 23, 42, 0.55);
      }

      /* --- TRANSICIÓN SUAVE DEL LISTADO DE CATEGORÍAS (FADE + SLIDE) --- */

      .catalogo-list {
        opacity: 1;
        transform: translateY(0);
        transition:
          opacity 180ms ease-out,
          transform 180ms ease-out;
      }

      .catalogo-list.is-filtering {
        opacity: 0;
        transform: translateY(8px);
        pointer-events: none;
      }

      /* --- AJUSTE DE SPACING ENTRE TARJETAS EN MOBILE --- */

      @media (max-width: 768px) {

        /* Menos aire vertical entre secciones de categoría */
        .category-block {
          gap: 16px;
        }

        /* Grid de tarjetas más compacto y en una sola columna clara */
        .product-grid {
          gap: 14px;
          grid-template-columns: minmax(0, 1fr);
        }
      }

      /* Centrar el mensaje de disponibilidad */
      .product-availability-note {
        margin: 8px auto 0;
        font-size: 0.78rem;
        line-height: 1.4;
        color: rgba(18, 19, 25, 0.6);
        text-align: center;
        width: 100%;
      }

      /* --- FADE-IN + STAGGER PARA TARJETAS --- */

      @keyframes productCardFadeIn {
        from {
          opacity: 0;
          transform: translateY(12px) scale(0.99);
        }

        to {
          opacity: 1;
          transform: translateY(0) scale(1);
        }
      }

      /* Estado inicial y animación de entrada */
      .product-card,
      .music-product-card {
        opacity: 0;
        transform: translateY(12px);
        animation-name: productCardFadeIn;
        animation-duration: 360ms;
        animation-timing-function: ease-out;
        animation-fill-mode: forwards;
        animation-delay: calc(var(--card-index, 0) * 60ms);
      }

      /* Mientras se está filtrando (ya tienes .is-filtering), ocultamos */
      .catalogo-list.is-filtering .product-card,
      .catalogo-list.is-filtering .music-product-card {
        opacity: 0;
        animation: none;
      }

      /* --- EFECTO GLASS SUAVE EN LA BANDA DE CATEGORÍAS --- */

      .catalog-categories-strip {
        position: relative;
        background: linear-gradient(to bottom,
            rgba(255, 255, 255, 0.96),
            rgba(243, 244, 246, 0.94));
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        box-shadow:
          0 12px 32px rgba(15, 23, 42, 0.16),
          0 0 0 1px rgba(148, 163, 184, 0.12);
        border-top: 1px solid rgba(255, 255, 255, 0.7);
        border-bottom: 1px solid rgba(148, 163, 184, 0.18);
      }

      /* Ajuste fino para que no se vea pesado en mobile */
      @media (max-width: 768px) {
        .catalog-categories-strip {
          box-shadow:
            0 10px 26px rgba(15, 23, 42, 0.18),
            0 0 0 1px rgba(148, 163, 184, 0.14);
          backdrop-filter: blur(16px);
          -webkit-backdrop-filter: blur(16px);
        }
      }

      /* --- 3) MICRODETALLES DE LAS TARJETAS --- */

      /* Tarjeta principal (music-product-card) más refinada */
      .music-product-card {
        margin-bottom: clamp(18px, 4.2vw, 26px);
        border-radius: clamp(22px, 5.2vw, 30px);
        box-shadow:
          0 18px 40px rgba(15, 23, 42, 0.14),
          0 0 0 1px rgba(148, 163, 184, 0.18);
      }

      /* Header de la tarjeta un poco más compacto */
      .music-product-card .card-header {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 8px;
      }

      /* Meta (PLATFORM / CATEGORY) con separación justa */
      .music-product-card .meta {
        margin-bottom: 8px;
      }

      /* Descripción con espacio controlado respecto a meta y chips */
      .music-product-card .product-variant-body>p {
        margin-top: 4px;
        margin-bottom: 10px;
      }

      /* --- BOTÓN WHATSAPP NEGRO PREMIUM --- */

      .product-whatsapp-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;

        width: 100%;
        padding: 14px 22px;
        border-radius: 999px;

        background: linear-gradient(180deg, #181818 0%, #0f0f0f 100%);
        color: white;
        text-decoration: none;

        font-weight: 600;
        font-size: 0.86rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;

        box-shadow:
          0 14px 30px rgba(0, 0, 0, 0.25),
          0 0 0 1px rgba(255, 255, 255, 0.06);

        transform: translateY(0);
        transition:
          transform 150ms ease-out,
          box-shadow 150ms ease-out,
          background 150ms ease-out,
          filter 150ms ease-out;
      }

      /* Hover (solo desktop) */
      @media (hover: hover) and (pointer: fine) {
        .product-whatsapp-btn:hover {
          transform: translateY(-2px);
          box-shadow:
            0 18px 36px rgba(0, 0, 0, 0.30),
            0 0 0 1px rgba(255, 255, 255, 0.1);
          filter: brightness(1.05);
        }
      }

      /* Tap / click */
      .product-whatsapp-btn:active {
        transform: translateY(-1px) scale(0.995);
        box-shadow:
          0 10px 24px rgba(0, 0, 0, 0.28),
          0 0 0 1px rgba(255, 255, 255, 0.1);
      }

      /* Mobile: ancho completo y un poco menos de sombra */
      @media (max-width: 768px) {
        .product-whatsapp-btn {
          box-shadow:
            0 12px 28px rgba(0, 0, 0, 0.22),
            0 0 0 1px rgba(255, 255, 255, 0.06);
        }
      }

      /* --- 5) SCROLL AÚN MÁS FINO (GLOBAL + SECCIONES) --- */

      /* Fallback global de scroll suave para navegadores que lo soportan */
      html {
        scroll-behavior: smooth;
      }

      /* Cuando se hace scroll a una categoría, respetar espacio bajo el header */
      .category-block {
        scroll-margin-top: 110px;
      }

      /* También para el hero principal del catálogo */
      .catalog-hero {
        scroll-margin-top: 110px;
      }

      /* ----------------------------------------------------------- */
      /* 1) FADE-IN SUAVE PARA TÍTULOS DE CADA CATEGORÍA             */
      /* ----------------------------------------------------------- */

      @keyframes sectionTitleFade {
        from {
          opacity: 0;
          transform: translateY(10px);
          letter-spacing: 0.2px;
        }

        to {
          opacity: 1;
          transform: translateY(0);
          letter-spacing: 0;
        }
      }

      /* Aplicar animación a títulos h2/h3 de cada bloque */
      .category-block .category-title,
      .category-block>h2,
      .category-block>h3 {
        opacity: 0;
        animation: sectionTitleFade 420ms ease-out forwards;
        animation-delay: 120ms;
      }

      .category-block .category-description,
      .category-block p {
        opacity: 0;
        animation: sectionTitleFade 420ms ease-out forwards;
        animation-delay: 180ms;
      }

      /* ----------------------------------------------------------- */
      /* 2) MEJORA DE SOMBRAS GLOBALES (AMBIENTE MÁS SUAVE)          */
      /* ----------------------------------------------------------- */

      /* Ajuste del fondo general para integración más suave */
      body {
        background: linear-gradient(to bottom,
            #f5f6f7 0%,
            #f2f3f5 40%,
            #f3f4f6 100%);
      }

      /* Sombras de tarjetas más homogéneas y naturales */
      .music-product-card {
        box-shadow:
          0 16px 36px rgba(0, 0, 0, 0.12),
          0 0 0 1px rgba(0, 0, 0, 0.06);
      }

      /* Suavizar sombras debajo de secciones grandes (hero, categorias) */
      .catalog-hero,
      .catalog-categories-strip {
        box-shadow:
          0 10px 26px rgba(0, 0, 0, 0.08),
          0 0 0 1px rgba(0, 0, 0, 0.04) !important;
      }

      /* Las tarjetas no deben tener sombras muy largas en mobile */
      @media (max-width: 768px) {
        .music-product-card {
          box-shadow:
            0 12px 28px rgba(0, 0, 0, 0.10),
            0 0 0 1px rgba(0, 0, 0, 0.05);
        }
      }

      /* --- REFINO APPLE-LIKE PARA PLATFORM / CATEGORY --- */

      /* Contenedor de meta (PLATFORM / CATEGORY) más ordenado */
      .product-card-meta,
      .product-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        column-gap: 24px;
        row-gap: 2px;
      }

      /* Label: PLATFORM, CATEGORY */
      .product-card-meta-label,
      .product-meta-label,
      .product-attribute-label {
        font-size: 0.70rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        font-weight: 600;
        color: rgba(17, 24, 39, 0.58);
        margin-right: 4px;
      }

      /* Valor: Android, iOS... / Entretenimiento, Música... */
      .product-card-meta-value,
      .product-meta-value,
      .product-attribute-value {
        font-size: 0.82rem;
        line-height: 1.45;
        color: rgba(15, 23, 42, 0.88);
        margin-right: 10px;
      }

      /* Separador sutil tipo · entre PLATFORM y CATEGORY (solo desktop) */
      @media (min-width: 769px) {

        .product-card-meta-value:not(:last-child)::after,
        .product-meta-value:not(:last-child)::after {
          content: "•";
          margin-left: 10px;
          opacity: 0.35;
        }
      }

      /* En mobile, que no se sienta apretado */
      @media (max-width: 768px) {

        .product-card-meta,
        .product-meta {
          column-gap: 16px;
        }

        .product-card-meta-value,
        .product-meta-value {
          font-size: 0.8rem;
        }
      }

      /* --- PRESS ANIMATION EN TARJETAS (SOLO MOBILE) --- */
      @media (max-width: 768px) {

        .product-card:active,
        .music-product-card:active {
          transform: translateY(-2px) scale(0.985);
          box-shadow:
            0 16px 34px rgba(0, 0, 0, 0.22),
            0 0 0 1px rgba(0, 0, 0, 0.16);
        }
      }

      /* --- ANIMACIÓN DE ENTRADA PARA LOS CHIPS DE CATEGORÍA --- */

      @keyframes categoryPillIn {
        from {
          opacity: 0;
          transform: translateY(10px) scale(0.96);
        }

        to {
          opacity: 1;
          transform: translateY(0) scale(1);
        }
      }

      .catalog-categories-nav .filter-pill {
        opacity: 0;
        transform: translateY(10px) scale(0.96);
        animation-name: categoryPillIn;
        animation-duration: 320ms;
        animation-timing-function: ease-out;
        animation-fill-mode: forwards;
        animation-delay: calc(var(--pill-index, 0) * 60ms);
      }

      @media (max-width: 768px) {
        .catalog-categories-nav .filter-pill {
          animation-duration: 280ms;
          animation-delay: calc(var(--pill-index, 0) * 50ms);
        }
      }

      /* --- SEPARADOR SUAVE ENTRE SECCIONES DE CATEGORÍA --- */

      .category-block {
        position: relative;
        margin-top: 28px;
        padding-top: 28px;
      }

      .category-block::before {
        content: "";
        position: absolute;
        top: 0;
        left: 24px;
        right: 24px;
        height: 1px;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0.0),
            rgba(15, 23, 42, 0.08),
            rgba(15, 23, 42, 0.0));
        opacity: 0.55;
      }

      .category-block:first-child {
        margin-top: 0;
        padding-top: 0;
      }

      .category-block:first-child::before {
        content: none;
      }

      @media (max-width: 768px) {
        .category-block::before {
          left: 16px;
          right: 16px;
          opacity: 0.45;
        }
      }

      /* --- POP SUAVE EN LOS CHIPS DE CATEGORÍA ACTIVOS --- */

      /* Transiciones suaves para los chips */
      .catalog-categories-nav .filter-pill {
        transition:
          transform 140ms ease-out,
          box-shadow 140ms ease-out,
          background-color 140ms ease-out,
          color 140ms ease-out;
      }

      /* Estado activo con "pop" sutil */
      .catalog-categories-nav .filter-pill.is-active,
      .catalog-categories-nav .filter-pill.active {
        transform: translateY(-1px) scale(1.03);
        box-shadow:
          0 10px 24px rgba(15, 23, 42, 0.26),
          0 0 0 1px rgba(15, 23, 42, 0.80);
      }

      /* En mobile el efecto es un poco más discreto */
      @media (max-width: 768px) {

        .catalog-categories-nav .filter-pill.is-active,
        .catalog-categories-nav .filter-pill.active {
          transform: translateY(-0.5px) scale(1.02);
          box-shadow:
            0 8px 20px rgba(15, 23, 42, 0.24),
            0 0 0 1px rgba(15, 23, 42, 0.78);
        }
      }

      /* --- FADE-OUT SUAVE EN EL HERO DEL CATÁLOGO --- */

      .catalog-hero {
        position: relative;
        overflow: hidden;
      }

      /* Degradado al final del hero para fundirse con el fondo */
      .catalog-hero::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        height: 80px;
        pointer-events: none;
        background: linear-gradient(to bottom,
            rgba(243, 244, 246, 0) 0%,
            rgba(243, 244, 246, 0.85) 40%,
            rgba(243, 244, 246, 1) 100%);
      }

      /* En mobile, fade un poco más corto para no comer espacio */
      @media (max-width: 768px) {
        .catalog-hero::after {
          height: 60px;
          background: linear-gradient(to bottom,
              rgba(243, 244, 246, 0) 0%,
              rgba(243, 244, 246, 0.9) 45%,
              rgba(243, 244, 246, 1) 100%);
        }
      }

      /* Microajuste de espacio entre la banda de categorías y la primera sección */
      .catalog-categories-strip {
        padding-bottom: 10px;
        /* antes era algo mayor, lo compactamos */
      }

      .category-block {
        margin-top: 20px;
        padding-top: 24px;
      }

      .category-block:first-child {
        margin-top: 14px;
        padding-top: 0;
      }

      /* Suavizar color de las etiquetas PLATFORM / CATEGORY */
      .product-card-meta-label,
      .product-meta-label,
      .product-attribute-label {
        color: rgba(17, 24, 39, 0.50);
      }

      /* Microajuste de spacing en la descripción dentro de la tarjeta */
      .music-product-card .product-variant-body>p,
      .product-card-description,
      .product-variant-description {
        margin-top: 2px;
        margin-bottom: 10px;
      }

      /* --- MICRO-RITMO ENTRE CATEGORÍAS Y SECCIONES --- */

      /* Separación vertical entre la banda de chips y el título "Música" */
      .category-block {
        position: relative;
        margin-top: 26px;
        /* antes era menor, lo subimos un poco */
        padding-top: 22px;
        /* pequeño respiro antes del contenido */
      }

      /* En la primera sección ("Música") queremos un poco más de aire */
      .category-block:first-child {
        margin-top: 28px;
        padding-top: 0;
      }

      /* Separador suave se mantiene, pero ajustamos la línea para no hacer ruido */
      .category-block::before {
        top: 0;
        left: 24px;
        right: 24px;
        height: 1px;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0.0),
            rgba(15, 23, 42, 0.06),
            rgba(15, 23, 42, 0.0));
        opacity: 0.50;
      }

      /* En mobile, un poco menos intenso */
      @media (max-width: 768px) {
        .category-block::before {
          left: 16px;
          right: 16px;
          opacity: 0.40;
        }
      }

      /* Título de cada sección ("Música", etc.) un poco más pegado al contenido */
      .category-block .category-title,
      .category-block>h2,
      .category-block>h3 {
        margin-bottom: 6px;
      }

      /* ========================================================= */
      /*   1. MÁS AIRE PARA QUE LAS SOMBRAS DE LOS CHIPS NO CORTEN */
      /* ========================================================= */

      .catalog-categories-strip {
        padding-top: 22px !important;
        /* antes era menor → subimos espacio */
        padding-bottom: 18px !important;
        overflow: visible !important;
        /* permite sombras completas */
      }

      /* ========================================================= */
      /*   2. ESPACIO ENTRE "CATEGORÍAS" Y LOS CHIPS                */
      /* ========================================================= */

      .catalog-categories-strip .catalog-hero-label,
      .catalog-categories-strip h3,
      .catalog-categories-strip .section-title {
        margin-bottom: 12px !important;
        /* antes estaba muy pegado */
        line-height: 1.35 !important;
      }

      /* ========================================================= */
      /*   3. BAJAR LIGERAMENTE EL TÍTULO "MÚSICA"                 */
      /* ========================================================= */

      .category-block {
        margin-top: 38px !important;
        /* antes ~26 — ahora respira más */
        padding-top: 22px !important;
      }

      .category-block:first-child {
        margin-top: 30px !important;
        padding-top: 0 !important;
      }

      /* ========================================================= */
      /*   4. SEPARADOR SUAVE (REAJUSTADO)                         */
      /* ========================================================= */

      .category-block::before {
        top: 0;
        left: 22px;
        right: 22px;
        height: 1px;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0),
            rgba(15, 23, 42, 0.05),
            rgba(15, 23, 42, 0));
        opacity: 0.45;
      }

      @media (max-width: 768px) {
        .category-block::before {
          left: 14px;
          right: 14px;
          opacity: 0.38;
        }
      }

      /* ============================================= */
      /* 1) DAR ESPACIO REAL ARRIBA DE LA BANDA DE CHIPS */
      /* ============================================= */

      /* El contenedor completo de categorías (el que está en gris claro) */
      .catalog-categories-container,
      .catalog-categories-strip {
        padding-top: 28px !important;
        /* antes insuficiente → ahora sí respira */
        overflow: visible !important;
        /* permite sombras completas */
      }

      /* ============================================= */
      /* 2) BAJAR EL TÍTULO "CATEGORÍAS"                */
      /* ============================================= */

      .catalog-categories-strip .catalog-hero-label,
      .catalog-categories-strip h3,
      .catalog-categories-strip .section-title {
        margin-top: 0 !important;
        margin-bottom: 16px !important;
        /* antes era 8–12 → subimos */
        line-height: 1.35 !important;
      }

      /* ============================================= */
      /* 3) SEPARAR "MÚSICA" DE LOS CHIPS               */
      /* ============================================= */

      .category-block {
        margin-top: 42px !important;
        /* antes ~26–30 → ahora correcto */
        padding-top: 24px !important;
      }

      .category-block:first-child {
        margin-top: 36px !important;
        /* ajuste especial para la primera sección */
        padding-top: 0 !important;
      }

      /* Separador suave ajustado */
      .category-block::before {
        top: 0;
        left: 22px;
        right: 22px;
        height: 1px;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0),
            rgba(15, 23, 42, 0.05),
            rgba(15, 23, 42, 0));
        opacity: 0.40;
      }

      /* --- AJUSTE FINAL DE LA BANDA DE CATEGORÍAS Y MÚSICA --- */

      /* Más aire arriba y abajo para que el chip no quede pegado al corte */
      .catalog-categories-strip {
        padding-top: 20px !important;
        padding-bottom: 30px !important;
        overflow: visible !important;

        /* Suavizamos la base para que no se note tanto el corte */
        box-shadow:
          0 10px 26px rgba(15, 23, 42, 0.10),
          0 0 0 1px rgba(148, 163, 184, 0.08);
      }

      /* Título "CATEGORÍAS" separado del borde superior y de los chips */
      .catalog-categories-strip .catalog-hero-label,
      .catalog-categories-strip h3,
      .catalog-categories-strip .section-title {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        /* antes era menos */
        line-height: 1.4 !important;
      }

      /* El bloque "Música" (y demás secciones) un poco más abajo */
      .category-block {
        margin-top: 34px !important;
        padding-top: 20px !important;
      }

      /* Primera sección ("Música") con ajuste especial */
      .category-block:first-child {
        margin-top: 30px !important;
        padding-top: 0 !important;
      }

      /* Separador muy sutil entre secciones */
      .category-block::before {
        top: 0;
        left: 24px;
        right: 24px;
        height: 1px;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0),
            rgba(15, 23, 42, 0.04),
            rgba(15, 23, 42, 0));
        opacity: 0.35;
      }

      @media (max-width: 768px) {
        .category-block::before {
          left: 16px;
          right: 16px;
          opacity: 0.30;
        }
      }

      /* ===== FIX DEFINITIVO HERO → CATEGORÍAS → MÚSICA ===== */

      /* 1) Separación real entre HERO y la banda de categorías */
      .catalog-categories-container {
        margin-top: 1.8rem !important;
      }

      /* 2) Banda de categorías con aire suficiente para sombras */
      .catalog-categories-strip {
        position: relative;
        padding-top: 22px !important;
        padding-bottom: 24px !important;
        overflow: visible !important;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0.015),
            rgba(15, 23, 42, 0.03));
        box-shadow:
          0 14px 32px rgba(15, 23, 42, 0.10),
          0 0 0 1px rgba(148, 163, 184, 0.08);
      }

      /* 3) Título "CATEGORÍAS" con espacio correcto */
      .catalog-categories-strip .catalog-hero-label,
      .catalog-categories-strip h3,
      .catalog-categories-strip .section-title {
        margin-top: 0 !important;
        margin-bottom: 18px !important;
        line-height: 1.35 !important;
      }

      /* 4) Espacio ideal antes del primer bloque (Música) */
      .category-block {
        position: relative;
        margin-top: 32px !important;
        padding-top: 22px !important;
      }

      .category-block:first-child {
        margin-top: 28px !important;
        padding-top: 0 !important;
      }

      /* 5) Separador suave entre secciones */
      .category-block::before {
        content: "";
        position: absolute;
        top: 0;
        left: 24px;
        right: 24px;
        height: 1px;
        background: linear-gradient(to right,
            rgba(15, 23, 42, 0),
            rgba(15, 23, 42, 0.06),
            rgba(15, 23, 42, 0));
        opacity: 0.36;
        pointer-events: none;
      }

      /* Ajuste limpio para mobile */
      @media (max-width: 768px) {
        .catalog-categories-strip {
          padding-top: 18px !important;
          padding-bottom: 22px !important;
        }

        .category-block {
          margin-top: 28px !important;
        }

        .category-block::before {
          left: 16px;
          right: 16px;
          opacity: 0.32;
        }
      }

      .catalog-categories-nav {
        margin-bottom: 0.75rem;
        overflow: visible !important;
        padding-bottom: 0.75rem;
        /* aire directo bajo los chips */
      }

      .catalog-categories-section {
        overflow: visible !important;
        padding-bottom: 1rem;
        /* más aire para que la sombra no se corte */
      }

      .filter-pill-group {
        overflow: visible !important;
        /* asegura que el blur no se recorte */
      }

      /* --- FIX SCROLL HORIZONTAL + SOMBRAS EN CHIPS --- */

      /* Contenedor que hace scroll horizontal de las categorías */
      .catalog-categories-nav,
      .filter-pill-group {
        overflow-x: auto !important;
        /* vuelve el scroll horizontal */
        overflow-y: visible !important;
        /* deja que las sombras se vean completas */
        -webkit-overflow-scrolling: touch;
        /* scroll suave en iOS */
      }

      /* Evita que el contenido se desborde más allá del ancho de la página */
      .catalog-categories-nav::-webkit-scrollbar,
      .filter-pill-group::-webkit-scrollbar {
        height: 6px;
      }

      /* Opcional: scrollbar muy discreto */
      .catalog-categories-nav::-webkit-scrollbar-thumb,
      .filter-pill-group::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.12);
        border-radius: 999px;
      }

      /* El contenedor de la sección puede seguir mostrando sombras verticales,
         pero no controla el scroll horizontal */
      .catalog-categories-section {
        overflow-y: visible !important;
        overflow-x: hidden;
        /* asegura que el ancho no se dispare si algo se sale */
      }

      /* --- BOTONES ICONO MINIMALISTAS --- */
      .icon-btn {
        background: transparent;
        border: none;
        color: rgba(255, 255, 255, 0.9);
        cursor: pointer;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        opacity: 0.6;
      }

      .icon-btn:hover {
        opacity: 0.95;
        transform: scale(1.05);
      }

      .icon-btn svg {
        stroke-width: 2;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }