[data-theme="light"]{
  --bg:#f4f4fb;--bg-2:#eeeef8;--surface:#ffffff;--surface-2:#f8f8fd;--surface-3:#ececf8;
  --border:rgba(0,0,0,.07);--border-hover:rgba(0,0,0,.15);--text:#0d0d2b;--text-2:#404070;
  --muted:#6060a0;--faint:#c0c0e0;--accent:#6644ee;--accent-2:#8866ff;--accent-3:#a480ff;
  --accent-glow:rgba(102,68,238,.18);--accent-dim:rgba(102,68,238,.08);
  --teal:#0d9488;--teal-dim:rgba(13,148,136,.1);--green:#059669;--green-dim:rgba(5,150,105,.1);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);
  --shadow:0 4px 20px rgba(0,0,0,.08);--shadow-lg:0 12px 50px rgba(0,0,0,.14);
  --shadow-accent:0 8px 32px rgba(102,68,238,.2);
}
.card-strikethrough{color:rgba(255,255,255,0.5)}
[data-theme="light"] .card-name{color:#0d0d2b!important}
[data-theme="light"] .card-desc{color:rgba(0,0,0,0.65)!important}
[data-theme="light"] .card-price{color:#0d0d2b!important}
[data-theme="light"] .card-price-label{color:rgba(0,0,0,0.6)!important}
[data-theme="light"] .results-count{color:#1a1a2e!important}
[data-theme="light"] .results-count strong{color:#0d0d2b!important}
[data-theme="dark"] .results-count{color:rgba(255,255,255,.7)!important}
[data-theme="dark"] .results-count strong{color:#fff!important}
[data-theme="light"] .card-price-cur{color:rgba(0,0,0,0.5)!important}
[data-theme="light"] .card-strikethrough{color:#1a1a2e!important}
[data-theme="light"] .hero-sub{color:rgba(0,0,0,0.65)!important}
[data-theme="light"] .filter-chip{color:rgba(0,0,0,0.65)!important;border-color:rgba(0,0,0,0.2)!important}
[data-theme="light"] .filter-chip svg{opacity:.65!important}
[data-theme="light"] .search-box{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(244,244,251,.88))!important;border-color:rgba(102,68,238,.2)!important;box-shadow:0 12px 30px rgba(102,68,238,.08),inset 0 1px 0 rgba(255,255,255,.75)!important}
[data-theme="light"] .search-box svg{color:#6644ee!important}
[data-theme="light"] .search-box input{color:#0d0d2b!important}
[data-theme="light"] .search-box input::placeholder{color:rgba(64,64,112,.62)!important}
[data-theme="light"] .search-box:focus-within{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(238,238,248,.96))!important;border-color:rgba(102,68,238,.48)!important;box-shadow:0 16px 34px rgba(102,68,238,.14),0 0 0 4px rgba(102,68,238,.08)!important}
[data-theme="light"] .modal{background:rgba(250,250,255,.8)!important;border-color:rgba(0,0,0,0.08)!important;box-shadow:0 28px 90px rgba(0,0,0,.15)!important}
[data-theme="light"] .modal::before{background:linear-gradient(155deg,rgba(255,255,255,.7),rgba(248,248,255,.76) 46%,rgba(242,245,255,.8)),radial-gradient(circle at 85% 0%,rgba(102,68,238,.1),transparent 38%)!important}
[data-theme="light"] .modal::after{opacity:.55!important;filter:brightness(1.6) blur(30px) saturate(1.2)!important}
[data-theme="light"] .modal-body{background:transparent!important}
[data-theme="light"] .modal-brand-tag{color:var(--accent-2)!important}
[data-theme="light"] .modal-title{color:#0d0d2b!important}
[data-theme="light"] .modal-sub-text{color:rgba(0,0,0,0.65)!important}
[data-theme="light"] .modal-banner .modal-title{color:#ffffff!important;text-shadow:0 8px 24px rgba(0,0,0,.55)!important}
[data-theme="light"] .modal-banner .modal-sub-text{color:rgba(255,255,255,.84)!important;text-shadow:0 6px 18px rgba(0,0,0,.42)!important}
[data-theme="light"] .modal-price-hero{background:rgba(255,255,255,.55)!important;border-color:rgba(0,0,0,.08)!important;backdrop-filter:blur(16px) saturate(1.1)!important;-webkit-backdrop-filter:blur(16px) saturate(1.1)!important}
[data-theme="light"] .modal-banner{box-shadow:0 8px 32px rgba(0,0,0,.1),0 0 0 1px rgba(255,255,255,.04) inset!important}
[data-theme="light"] .modal-whatsapp-sticky{box-shadow:0 4px 16px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.03) inset!important}
[data-theme="light"] .modal-price-big,
[data-theme="light"] .modal-price-period,
[data-theme="light"] .modal-price-cur{color:#0d0d2b!important}
[data-theme="light"] .modal-type-badge{color:#1f1f3a!important;background:rgba(255,255,255,.5)!important;border-color:rgba(0,0,0,.1)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
[data-theme="light"] .modal-price-was{color:#1a1a2e!important}
[data-theme="light"] .info-cell{background:rgba(255,255,255,.5)!important;border-color:rgba(0,0,0,0.08)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
[data-theme="light"] .info-cell-label{color:rgba(0,0,0,0.55)!important}
[data-theme="light"] .info-cell-val{color:#0d0d2b!important}
[data-theme="light"] .feature-item{color:#0d0d2b!important;border-color:rgba(0,0,0,0.1)!important}
[data-theme="light"] .modal-features-title{color:rgba(0,0,0,0.45)!important}
[data-theme="light"] .modal-features-title::before,
[data-theme="light"] .modal-features-title::after{background:linear-gradient(90deg,transparent,rgba(0,0,0,0.12),transparent)!important}
[data-theme="light"] .modal-note-box{background:rgba(255,255,255,.5)!important;border-color:rgba(0,0,0,.08)!important;color:#1a1a2e!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
[data-theme="light"] .modal-note-box strong{color:#1a1a2e!important}
[data-theme="light"] .modal-note-text{color:#1a1a2e!important}
[data-theme="light"] .modal-note-text strong{color:#1a1a2e!important}
[data-theme="light"] .btn-whatsapp{background:linear-gradient(135deg,#25d366,#16a34a 58%,#0f8f3b)!important;color:#fff!important}
[data-theme="light"] .modal-whatsapp-sticky{background:linear-gradient(135deg,rgba(230,255,241,.55),rgba(255,255,255,.55))!important;border-color:rgba(37,211,102,.24)!important;backdrop-filter:blur(16px) saturate(1.18)!important;-webkit-backdrop-filter:blur(16px) saturate(1.18)!important}
[data-theme="light"] .modal-cta-copy{color:rgba(12,120,61,.82)!important}
[data-theme="light"] .card{border-color:rgba(0,0,0,0.12)!important}
[data-theme="light"] .card-footer{border-color:rgba(0,0,0,0.1)!important}
[data-theme="light"] .card-outofstock-overlay{background:linear-gradient(135deg,rgba(255,255,255,.92) 0%,rgba(245,245,250,.95) 100%)!important}
[data-theme="light"] .card-outofstock-badge{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.35)!important;color:#dc2626!important}
[data-theme="light"] .outofstock-modal{background:#ffffff!important;border-color:rgba(0,0,0,.15)!important}
[data-theme="light"] .outofstock-modal-backdrop{background:rgba(0,0,0,.5)!important}
[data-theme="dark"] .btn-icon{color:#ffffff!important}
[data-theme="light"] .info-cell-label{color:rgba(0,0,0,0.7)!important}
[data-theme="light"] .modal-price-period{color:rgba(0,0,0,0.75)!important}
.maintenance-screen {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--bg);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
}

/* ── REDISEÑO CODEGHY · catálogo premium ── */
:root {
  --bg:#070711;
  --bg-2:#0d0d20;
  --surface:rgba(18,17,42,.76);
  --surface-2:rgba(26,24,58,.78);
  --border:rgba(169,143,255,.16);
  --border-hover:rgba(174,151,255,.42);
  --text:#f7f4ff;
  --text-2:#b7afd4;
  --muted:#8982aa;
  --accent:#8b5cf6;
  --accent-2:#b993ff;
  --accent-3:#d946ef;
  --teal:#2dd4bf;
  --accent-glow:rgba(139,92,246,.24);
  --accent-dim:rgba(139,92,246,.13);
  --r-xl:24px;
  --shadow-lg:0 24px 70px rgba(0,0,0,.42);
}
body{background:radial-gradient(ellipse at 50% -10%,rgba(96,64,192,.22),transparent 42%),linear-gradient(180deg,#070711 0%,#0b0b1b 58%,#060610 100%);}
body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(255,255,255,.18) .6px,transparent .6px);background-size:26px 26px;mask-image:linear-gradient(to bottom,black,transparent 78%);z-index:-1}
.header{background:rgba(7,7,17,.74);border-bottom-color:rgba(185,160,255,.12);box-shadow:0 16px 40px rgba(0,0,0,.16)}
.header-inner{height:76px}.logo-mark{width:164px;height:58px}.logo-mark img{width:164px;height:58px}
.hero{padding-block:clamp(34px,5vw,62px) 28px;overflow:hidden}
.hero::before{content:'';position:absolute;width:min(760px,90vw);height:430px;left:50%;top:8px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(112,75,220,.32),transparent 67%);filter:blur(10px);pointer-events:none}
.logo-scene{position:relative;z-index:1;margin-bottom:10px}.logo-scene .hero-logo-text{width:clamp(240px,34vw,390px);height:auto;filter:drop-shadow(0 18px 26px rgba(75,34,175,.4))}
.hero-copy{position:relative;z-index:2}.hero-eyebrow{margin-bottom:16px;background:rgba(139,92,246,.1);border-color:rgba(185,153,255,.26);color:#c8b6ff}
.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;margin:0 0 14px;letter-spacing:-.065em}.hero-gradient{background:linear-gradient(100deg,#fff 8%,#c3a5ff 48%,#4de3cf 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{max-width:52ch;margin-bottom:18px;color:#bdb6d5;line-height:1.5}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:0 auto 22px}.hero-cta,.hero-ghost{font-family:var(--font-display);font-weight:800;text-decoration:none;border-radius:13px;padding:12px 17px;transition:transform .2s,box-shadow .2s,background .2s}.hero-cta{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6942df);box-shadow:0 10px 26px rgba(111,70,235,.34)}.hero-ghost{color:#d5cbf6;border:1px solid rgba(185,153,255,.22);background:rgba(255,255,255,.035)}.hero-cta:hover,.hero-ghost:hover{transform:translateY(-2px)}.hero-cta:hover{box-shadow:0 14px 34px rgba(111,70,235,.5)}
.trust-strip{margin-top:6px;max-width:760px;background:rgba(16,15,39,.66);border-color:rgba(183,158,255,.15);box-shadow:0 18px 44px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)}.social-proof{margin-top:18px}
.controls-wrap{position:relative;z-index:3}.search-row{margin-bottom:20px}.search-box{max-width:560px;height:48px;border-radius:15px;background:rgba(18,17,42,.84);border-color:rgba(185,153,255,.2);box-shadow:0 15px 36px rgba(0,0,0,.23)}.search-box:focus-within{border-color:rgba(185,153,255,.55);box-shadow:0 15px 38px rgba(73,41,170,.25),0 0 0 4px rgba(139,92,246,.1)}
.filters-section{margin-bottom:24px}.filters-scroll{gap:12px;padding:4px 2px 10px}.filter-chip{background:rgba(18,17,42,.62);border-color:rgba(169,143,255,.16);border-radius:14px;padding:8px 12px}.filter-chip.active{background:linear-gradient(135deg,rgba(139,92,246,.26),rgba(45,212,191,.1));border-color:rgba(185,153,255,.52);box-shadow:0 8px 24px rgba(101,66,208,.2)}
.results-count{font-size:.86rem;color:#a9a1c4;margin-bottom:12px}.results-count strong{color:#f8f6ff;font-size:1.05rem}.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;padding-bottom:90px}.card{border-radius:22px;background:linear-gradient(150deg,rgba(26,24,58,.88),rgba(10,10,24,.92));border-color:rgba(169,143,255,.16);box-shadow:0 14px 36px rgba(0,0,0,.2)}.card:hover{border-color:rgba(185,153,255,.48);box-shadow:0 22px 58px rgba(0,0,0,.36),0 0 0 1px rgba(185,153,255,.12)}.card-banner{height:162px}.card-body{padding:17px 17px 19px}.card-name{font-size:1.08rem}.card-btn{border-radius:11px}.wa-float{box-shadow:0 8px 26px rgba(37,211,102,.5),0 0 0 8px rgba(37,211,102,.08)}
@media(max-width:600px){.header-inner{height:66px}.logo-mark,.logo-mark img{width:142px;height:50px}.hero{padding-top:28px}.logo-scene .hero-logo-text{width:240px}.hero h1{font-size:clamp(2.1rem,11vw,3.2rem)}.hero-actions{margin-bottom:18px}.trust-strip{border-radius:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card-banner{height:118px}.card-body{padding:12px}.card-name{font-size:.9rem}.card-desc{font-size:.68rem}.card-price{font-size:1.15rem}.card-btn{padding:7px 9px;font-size:.68rem}}
.maintenance-screen.show { display: flex; }
.maintenance-icon {
  width: 72px; height: 72px;
  border-radius: var(--r-2xl);
  background: var(--amber-dim, rgba(251,191,36,.1));
  border: 1px solid rgba(251,191,36,.25);
  display: grid; place-items: center;
  margin-bottom: 24px;
  color: #fbbf24;
}
.maintenance-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.6rem, 5vw, 2.4rem);
  letter-spacing: -.04em;
  color: var(--text);
  margin-bottom: 12px;
}
.maintenance-sub {
  color: var(--text-2);
  font-size: clamp(.88rem, 2vw, 1rem);
  max-width: 36ch;
  line-height: 1.75;
  margin-bottom: 32px;
}
.maintenance-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(251,191,36,.1);
  border: 1px solid rgba(251,191,36,.25);
  color: #fbbf24;
  font-size: .8rem;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: var(--r-full);
  letter-spacing: .04em;
}
.maintenance-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #fbbf24;
  animation: pulse-dot 1.5s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .4; transform: scale(.7); }
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100dvh;font-size:15px;line-height:1.6;transition:background .3s,color .3s}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
.skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:12px 24px;border-radius:var(--r-lg);font-weight:700;z-index:9999;transition:top .3s ease}
.skip-link:focus{top:16px;outline:3px solid #fff;outline-offset:4px}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:var(--r-sm);box-shadow:0 0 0 6px var(--accent-dim)}
.btn-icon:focus-visible,.filter-chip:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px;box-shadow:0 0 0 8px var(--accent-dim)}
.card:focus-visible{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 8px var(--accent-glow),var(--shadow-lg);transform:translateY(-3px)}
.btn-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px rgba(255,255,255,.3)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:10px}
.wrap{max-width:1280px;width:100%;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;box-sizing:border-box}

/* BG */
.bg-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bg-ambient::before{content:'';position:absolute;top:-20%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(124,90,243,.18) 0%,transparent 70%);animation:drift1 18s ease-in-out infinite alternate}
.bg-ambient::after{content:'';position:absolute;bottom:-10%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(45,212,191,.1) 0%,transparent 70%);animation:drift2 22s ease-in-out infinite alternate}
@keyframes drift1{from{transform:translate(0,0)}to{transform:translate(60px,40px)}}
@keyframes drift2{from{transform:translate(0,0)}to{transform:translate(-40px,-60px)}}

.filter-chip.active svg {
  stroke: #fff !important;
}

/* HEADER */
.header{position:sticky;top:0;z-index:200;background:color-mix(in srgb,var(--bg) 75%,transparent);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:94px}
.logo{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:800;font-size:1.55rem;letter-spacing:-.03em;color:var(--text)}
.logo-mark{width:220px;height:78px;display:flex;align-items:center;text-decoration:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:filter .28s ease,transform .28s ease}
.logo-mark img{width:220px;height:78px;display:block;object-fit:contain;mix-blend-mode:screen;transition:filter .28s ease,transform .28s ease;-webkit-touch-callout:none}
.logo-mark:focus-visible img{transform:translateY(-1px) scale(1.015);filter:drop-shadow(0 0 5px rgba(136,102,255,.92)) drop-shadow(0 0 14px rgba(136,102,255,.72)) drop-shadow(0 0 28px rgba(136,102,255,.38))}
@media (hover: hover) {
  .logo-mark:hover img{transform:translateY(-1px) scale(1.015);filter:drop-shadow(0 0 5px rgba(136,102,255,.92)) drop-shadow(0 0 14px rgba(136,102,255,.72)) drop-shadow(0 0 28px rgba(136,102,255,.38))}
}
.logo-mark:focus-visible{outline:none}
[data-theme="light"] .logo-mark img{mix-blend-mode:multiply}
.logo-text{display:flex;align-items:baseline;gap:1px}
.logo-code{color:var(--text)}
.logo-ghy{background:linear-gradient(135deg,var(--accent-2),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.header-right{display:flex;align-items:center;gap:10px}
.btn-icon{width:38px;height:38px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--muted);transition:var(--t)}
.btn-icon:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-hover)}

/* HERO */
.hero{padding-block:clamp(40px,6vw,72px) clamp(28px,4vw,44px);text-align:center;position:relative}
.hero h1{font-family:var(--font-display);font-size:clamp(2.2rem,5.5vw,4rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:var(--text);margin-bottom:16px}
.hero h1 .hi{background:linear-gradient(135deg,var(--accent-2) 0%,var(--teal) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{color:rgba(255,255,255,0.75);max-width:46ch;margin-inline:auto;font-size:clamp(.9rem,2vw,1.05rem);line-height:1.75;margin-bottom:32px}

/* CONTROLS */
.controls-wrap {
  padding-top: 8px;
}

.search-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 28px;
}
.search-box {
  display: flex;
  align-items: center;
  gap: 11px;
  background: linear-gradient(135deg, rgba(22,22,40,.72), rgba(10,10,24,.82));
  border: 1px solid rgba(167,139,250,.22);
  border-radius: 999px;
  padding: 0 18px;
  height: 48px;
  flex: 0 1 420px;
  min-width: 240px;
  max-width: 420px;
  backdrop-filter: blur(18px) saturate(1.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
  box-shadow: 0 12px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
  transition: border-color var(--t), box-shadow var(--t), background var(--t), transform var(--t);
  position: relative;
}

.search-box svg {
  color: #c4b5fd;
  flex-shrink: 0;
  opacity: .78;
  transition: color var(--t), opacity var(--t), transform var(--t);
}

.search-box input {
  background: none;
  border: none;
  outline: none;
  font: inherit;
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 600;
  color: var(--text);
  width: 100%;
  letter-spacing: .01em;
}

.search-box input::placeholder {
  color: rgba(221,214,254,.66);
  font-weight: 500;
}

.search-box:hover {
  border-color: rgba(196,181,253,.38);
  transform: translateY(-1px);
}

.search-box:focus-within {
  background: linear-gradient(135deg, rgba(29,26,54,.82), rgba(12,12,28,.9));
  border-color: rgba(196,181,253,.7);
  box-shadow: 0 16px 40px rgba(0,0,0,.28), 0 0 0 4px rgba(124,90,243,.16), 0 0 28px rgba(124,90,243,.18), inset 0 1px 0 rgba(255,255,255,.08);
}

.search-box:focus-within svg {
  color: #fff;
  opacity: 1;
  transform: scale(1.06);
}

.filters-section {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  position: relative;
}

.filters-scroll {
  display: flex;
  gap: 18px;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  min-width: 0;
  padding: 6px 2px 10px;
}

.filters-scroll::-webkit-scrollbar { display: none; }

.filter-chip {
  width: 88px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-2);
  font-size: .72rem;
  font-weight: 800;
  transition: var(--t);
  white-space: normal;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  letter-spacing: .01em;
  font-family: var(--font-display);
  flex: 0 0 auto;
  text-align: center;
}

.filter-chip-media {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  padding: 3px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  transition: transform var(--t), box-shadow var(--t), background var(--t), border-color var(--t);
}

.filter-chip-img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
  object-fit: cover;
  background: var(--surface-2);
}

.filter-chip-label {
  max-width: 100%;
  line-height: 1.15;
  text-wrap: balance;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.filter-chip:hover {
  color: var(--text);
  transform: translateY(-2px);
}

.filter-chip:hover .filter-chip-media {
  border-color: rgba(196,181,253,.55);
  box-shadow: 0 12px 30px rgba(124,90,243,.24), 0 0 0 1px rgba(255,255,255,.1) inset;
}

.filter-chip.active {
  color: #fff;
}

.filter-chip.active .filter-chip-media {
  background: linear-gradient(145deg, #ddd6fe, #a78bfa 48%, #7c5af3);
  border-color: rgba(255,255,255,.42);
  box-shadow: 0 12px 34px rgba(124,90,243,.42), 0 0 0 4px rgba(124,90,243,.18);
}

.results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0 20px;
  border-top: 1px solid var(--border);
  margin-top: 6px;
}

.results-count {
  font-size: .78rem;
  color: var(--muted);
  font-family: var(--font-display);
  display: flex;
  align-items: center;
  gap: 8px;
}

.results-count strong {
  color: var(--text);
  font-weight: 800;
  font-size: .9rem;
}

.results-count::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  display: inline-block;
  animation: pulse-dot 2s ease-in-out infinite;
}

/* GRID */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;padding-bottom:80px}

/* CARD */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform var(--t),box-shadow var(--t),border-color var(--t);position:relative;will-change:transform;contain:layout style}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-hover);border-color:var(--border-hover)}
.card:active{transform:translateY(-2px)}
.card-banner{height:140px;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:0 16px 14px;overflow:hidden}
.card-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.card-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);background-size:200% 100%;opacity:0;transition:opacity .3s}
.card:hover .card-banner::after{opacity:1;animation:shimmer .7s ease forwards}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.card-body{padding:16px 16px 18px;flex:1;display:flex;flex-direction:column;gap:6px}
.card-name{font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:-.02em;color:#ffffff;line-height:1.2}
.card-desc{font-size:.75rem;color:rgba(255,255,255,0.75);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.card-desc-sep{color:rgba(255,255,255,0.3)}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:auto;border-top:1px solid var(--border)}
.card-price-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,0.9);font-weight:600}
.card-price{font-family:var(--font-display);font-size:1.4rem;font-weight:900;letter-spacing:-.035em;color:#ffffff;line-height:1}
.card-price-cur{font-size:.82rem;font-weight:600;color:rgba(255,255,255,0.5);vertical-align:super}
.card-btn{padding:8px 14px;border-radius:var(--r-lg);background:var(--accent-dim);border:1px solid rgba(124,90,243,.2);color:var(--accent-2);font-size:.78rem;font-weight:700;font-family:var(--font-display);letter-spacing:.02em;transition:var(--t);white-space:nowrap;display:flex;align-items:center;justify-content:center}
.card:hover .card-btn{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 18px var(--accent-glow)}
.card-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.card-body.disabled{opacity:.7}

/* OUT OF STOCK OVERLAY */
.card-outofstock-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.85) 0%,rgba(30,30,35,.9) 100%);display:grid;place-items:center;z-index:10}
.card-outofstock-overlay::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.02) 10px,rgba(255,255,255,.02) 20px)}
.card-outofstock-badge{display:flex;align-items:center;gap:10px;background:rgba(239,68,68,.15);border:2px solid rgba(239,68,68,.4);border-radius:var(--r-lg);padding:12px 20px;font-family:var(--font-display);font-weight:800;font-size:.95rem;letter-spacing:.02em;color:#ef4444;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(239,68,68,.3),inset 0 1px 0 rgba(255,255,255,.1);position:relative;overflow:hidden}
.card-outofstock-badge::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer-outofstock 3s infinite}
.card-outofstock-badge svg{flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}
@keyframes shimmer-outofstock{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}
.card:has(.card-outofstock-overlay){opacity:.75;filter:grayscale(1);border-color:rgba(239,68,68,.3);cursor:not-allowed}
.card:has(.card-outofstock-overlay):hover{transform:translateY(-2px);filter:grayscale(1)}

/* OUT OF STOCK MODAL */
.outofstock-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .25s ease}
.outofstock-modal-backdrop.open{display:flex}
.outofstock-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:36px 32px 32px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4);animation:slideUp .3s cubic-bezier(.16,1,.3,1);position:relative}
.outofstock-icon{width:80px;height:80px;border-radius:50%;background:rgba(239,68,68,.12);border:3px solid rgba(239,68,68,.3);display:grid;place-items:center;margin:0 auto 20px;color:#ef4444;animation:pulse-danger 2s ease-in-out infinite}
.outofstock-title{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;color:var(--text);margin-bottom:12px}
.outofstock-text{color:var(--text-2);font-size:.9rem;line-height:1.6;margin-bottom:24px}
.outofstock-btn{width:100%;padding:12px;border-radius:var(--r-lg);background:var(--accent);border:1px solid var(--accent);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.9rem;letter-spacing:.02em;cursor:pointer;transition:var(--t)}
.outofstock-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px var(--accent-glow)}
.outofstock-btn:active{transform:none}
@keyframes pulse-danger{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,68,68,.3)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(239,68,68,0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px){.outofstock-modal{padding:28px 24px 24px}.outofstock-icon{width:64px;height:64px}.outofstock-title{font-size:1.25rem}}

/* SKELETON LOADER */
.skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden}
.skeleton-banner{height:140px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton-shine 1.4s infinite}
.skeleton-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px}
.skeleton-line{height:12px;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton-shine 1.4s infinite}
.skeleton-line.short{width:60%}
.skeleton-line.med{width:80%}
@keyframes skeleton-shine{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* EMPTY */
.empty{grid-column:1/-1;text-align:center;padding:80px 20px;display:none}
.empty.show{display:block}
.empty-icon{font-size:3rem;margin-bottom:16px}
.empty h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin-bottom:8px}
.empty p{color:var(--muted);font-size:.875rem}

/* MODAL */
.backdrop{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);align-items:flex-end;justify-content:center;overflow:hidden;will-change:opacity;isolation:isolate}
.backdrop.open{display:flex;animation:fade-in .2s ease both}
.backdrop.open.is-opening{backdrop-filter:none;-webkit-backdrop-filter:none}
.backdrop.open.is-opening .modal::after{opacity:0}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(min-width:600px){.backdrop{align-items:center;padding:20px}}
.modal{background:linear-gradient(155deg,#101021 0%,#0d0d1b 52%,#11182b 100%);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-2xl) var(--r-2xl) 0 0;width:100%;max-width:580px;max-height:93dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;animation:slide-up .32s var(--ease) both;overflow-x:hidden; padding-bottom: env(safe-area-inset-bottom, 0px);box-shadow:0 28px 90px rgba(0,0,0,.48);position:relative;will-change:transform,opacity;transform:translateZ(0)}
@media(min-width:600px){.modal{border-radius:var(--r-2xl);animation-name:pop-in}}
@keyframes slide-up{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes pop-in{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:none}}

.modal::after{content:'';position:absolute;inset:-34px -34px -200px -34px;background-image:var(--modal-bg-image);background-size:cover;background-position:center center;filter:blur(30px) saturate(1.24);opacity:.42;transform:scale(1.04);transform-origin:center center;pointer-events:none;z-index:0}
.modal.is-scrolling::after{filter:none;opacity:.18}
.modal.is-scrolling .modal-price-hero,
.modal.is-scrolling .modal-type-badge,
.modal.is-scrolling .info-cell,
.modal.is-scrolling .modal-whatsapp-sticky,
.modal.is-scrolling .modal-note-box{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.modal.is-scrolling .btn-whatsapp{animation:none}
.modal::before{content:'';position:absolute;inset:-34px -34px -200px -34px;background:linear-gradient(155deg,rgba(10,10,22,.82),rgba(12,12,28,.88) 46%,rgba(10,13,24,.94)),radial-gradient(circle at 85% 0%,rgba(124,90,243,.22),transparent 38%);pointer-events:none;z-index:0}
.modal > *{position:relative;z-index:1}
.modal-hero-shell{position:relative;padding:16px 16px 0}
.modal-banner{width:100%;height:238px;position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(196,181,253,.22);box-shadow:0 20px 48px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.05) inset;background-size:cover!important;background-position:center!important}
.modal-banner::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);pointer-events:none}
.modal-close{position:absolute;top:14px;right:14px;z-index:5;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:rgba(255,255,255,.88);font-size:.95rem;transition:var(--t)}
.modal-close:hover{background:rgba(255,255,255,.18);color:#fff}

.modal-header-row{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;max-width:78%}
.modal-banner-bottom{position:relative;z-index:1}
.modal-brand-tag{display:flex;align-items:center;gap:7px;font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a78bfa;margin-bottom:8px}
.modal-brand-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:#a78bfa;flex-shrink:0}
.modal-title{font-family:var(--font-display);font-weight:900;font-size:2rem;letter-spacing:-.04em;color:#fff;line-height:1.02;text-wrap:balance;text-shadow:0 8px 24px rgba(0,0,0,.45)}
.modal-sub-text{font-size:.9rem;color:rgba(255,255,255,.78);margin-top:8px;font-weight:700;line-height:1.45}

.modal-body{padding:14px 18px 8px;display:flex;flex-direction:column;gap:14px;background:transparent}

.modal-buy-panel{display:grid;grid-template-columns:1fr minmax(210px,.72fr);gap:12px;align-items:stretch;background:transparent;border:none;box-shadow:none;padding:0;border-radius:0}
.modal-price-hero{background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.modal-price-left{flex:1}
.modal-savings-tag{display:inline-flex;align-items:center;gap:4px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.22);border-radius:var(--r-full);padding:3px 10px;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:#6ee7b7;margin-bottom:4px}
.modal-price-was{font-size:.78rem;color:rgba(255,255,255,.5);text-decoration:line-through;margin-bottom:2px}
.modal-price-now{display:flex;align-items:flex-end;gap:3px}
.modal-price-cur{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.45);line-height:1;margin-bottom:7px}
.modal-price-big{font-family:var(--font-display);font-size:2.8rem;font-weight:900;letter-spacing:-.04em;color:#fff;line-height:1}
.modal-price-dec{font-size:1.3rem;font-weight:700;color:rgba(255,255,255,.45);line-height:1;margin-bottom:5px}
.modal-price-period{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:5px;font-weight:500}
.modal-price-divider{width:1px;background:rgba(124,90,243,.2);align-self:stretch}
.modal-price-right{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:80px}
.modal-badge-type-icon{width:36px;height:36px;border-radius:10px;background:rgba(124,90,243,.18);border:1px solid rgba(124,90,243,.28);display:grid;place-items:center;color:#a78bfa;font-size:1.1rem}
.modal-badge-type{font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#a78bfa;text-align:center;line-height:1.3}

.modal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.info-cell{background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:12px 14px;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.info-cell-icon-label{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.info-cell-icon{width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:rgba(167,139,250,.65);flex-shrink:0}
.info-cell-icon svg{width:13px;height:13px}
.info-cell-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55);font-weight:700}
.info-cell-val{font-family:var(--font-display);font-weight:700;font-size:1rem;color:#ffffff;letter-spacing:-.01em}

.modal-features-title{display:flex;align-items:center;gap:10px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.34);font-weight:800;margin-bottom:12px}
.modal-features-title::before,.modal-features-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}
.feature-list{display:flex;flex-direction:column;gap:0}
.feature-item{display:flex;align-items:center;gap:11px;font-size:.88rem;color:rgba(255,255,255,.85);padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);font-weight:500}
.feature-item:last-child{border-bottom:none}
.feature-check{width:20px;height:20px;flex-shrink:0;border-radius:50%;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28);display:grid;place-items:center}
[data-theme="light"] .feature-check{background:#fff;border-color:rgba(52,211,153,.5)}
.feature-check svg{width:10px;height:10px;color:var(--green)}

.modal-note-box{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.13);border-radius:var(--r-lg);padding:12px 15px;display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.88);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}
.modal-note-icon{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:rgba(124,90,243,.14);border:1px solid rgba(124,90,243,.22);display:grid;place-items:center;color:#a78bfa;font-size:.85rem;margin-top:1px}
.modal-note-text{font-size:.78rem;line-height:1.65;color:rgba(255,255,255,.86)}
.modal-note-text strong,.modal-note-box strong{color:#fff;font-weight:800}

.modal-whatsapp-sticky{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.035));padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:20px;z-index:2;box-shadow:0 16px 34px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.04) inset;backdrop-filter:blur(16px) saturate(1.18);-webkit-backdrop-filter:blur(16px) saturate(1.18);display:flex;flex-direction:column;justify-content:center}
.modal-cta-copy{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;font-size:.74rem;font-weight:800;color:rgba(209,250,229,.86);text-align:center}
.modal-cta-copy::before{content:'';width:8px;height:8px;border-radius:50%;background:#25d366;box-shadow:0 0 12px rgba(37,211,102,.9);flex-shrink:0}
.btn-whatsapp{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0 auto;padding:0 16px;min-height:62px;flex-shrink:0;border-radius:18px;background:linear-gradient(135deg,#25d366,#18b85a 58%,#0f8f3b);color:#fff;font-family:var(--font-display);font-weight:900;font-size:.98rem;letter-spacing:.01em;border:1px solid rgba(255,255,255,.26);cursor:pointer;text-decoration:none;transition:filter var(--t),transform var(--t),box-shadow var(--t);position:relative;overflow:hidden;box-shadow:0 12px 28px rgba(37,211,102,.26),0 0 0 4px rgba(255,255,255,.035),inset 0 1px 0 rgba(255,255,255,.3);animation:buy-pulse 2.8s ease-in-out infinite}
.btn-whatsapp::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:translateX(-100%)}
.btn-whatsapp:hover::before{animation:btn-shine .6s ease}
.btn-whatsapp:hover{filter:brightness(1.07);transform:translateY(-2px);box-shadow:0 20px 42px rgba(37,211,102,.42),inset 0 1px 0 rgba(255,255,255,.3);animation:none}
.btn-whatsapp:active{transform:scale(.98)}
.btn-whatsapp svg{transition:transform var(--t)}
.btn-whatsapp:hover svg{transform:scale(1.1) rotate(10deg)}
@keyframes buy-pulse{
  0%,100%{box-shadow:0 12px 28px rgba(37,211,102,.24),0 0 0 0 rgba(37,211,102,.2),0 0 0 4px rgba(255,255,255,.035),inset 0 1px 0 rgba(255,255,255,.3)}
  50%{box-shadow:0 16px 34px rgba(37,211,102,.34),0 0 0 7px rgba(37,211,102,0),0 0 0 4px rgba(255,255,255,.045),inset 0 1px 0 rgba(255,255,255,.3)}
}
@keyframes btn-shine{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(200%)}
}

@media(max-width:600px){
  .modal-hero-shell{padding:12px 12px 0}
  .modal-banner{height:210px;border-radius:24px}
  .modal-header-row{left:14px;right:14px;bottom:14px;max-width:88%}
  .modal-buy-panel{grid-template-columns:1fr;gap:10px;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none}
  .modal-price-big{font-size:2.2rem}
  .modal-body{padding:16px 16px 8px;gap:12px}
  .modal-title{font-size:1.55rem}
  .modal-whatsapp-sticky{padding:10px;border-radius:18px}
  .btn-whatsapp{min-height:60px;font-size:.96rem;border-radius:16px}
  .btn-whatsapp::after{display:none}
}
@media(max-width:360px){
  .modal-banner{height:190px}
  .modal-title{font-size:1.38rem}
  .modal-price-big{font-size:1.9rem}
  .modal-info-grid{grid-template-columns:1fr}
}

/* FOOTER */
.footer{border-top:1px solid var(--border);padding-block:36px;text-align:center; padding-bottom: 100px;}
.footer-logo{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:-.02em;margin-bottom:8px}
.footer-text{color:rgba(255,255,255,0.7);font-size:.78rem}
[data-theme="light"] .footer-text{color:rgba(0,0,0,0.6)}

/* RESPONSIVE */
@media(max-width:768px){
  .wrap{padding-left:18px;padding-right:18px}
  .hero{padding-block:36px 28px}
  .hero h1{font-size:clamp(1.8rem,7vw,2.6rem)}
}
@media(max-width:600px){
  .wrap{padding-left:14px;padding-right:14px}
  .header-inner{height:78px}
  .logo{font-size:1.3rem}
  .logo-mark{width:150px;height:54px}
  .logo-mark img{width:150px;height:54px;object-fit:contain;mix-blend-mode:screen}
  .hero{padding-block:18px 18px}
  .hero h1{font-size:1.85rem;letter-spacing:-.035em}
  .hero-sub{font-size:.88rem;max-width:34ch}
  .search-row{flex-direction:column;align-items:stretch;gap:8px}
  .search-box{max-width:100%;min-width:unset;width:100%;height:46px;padding:0 14px;flex:1}
  .filters-section.can-scroll-right::after{content:'›';position:absolute;right:0;top:7px;width:38px;height:64px;display:grid;place-items:center;color:rgba(245,243,255,.82);font-size:1.75rem;font-family:var(--font-display);font-weight:900;line-height:1;background:linear-gradient(90deg,rgba(6,6,15,0),rgba(18,14,39,.34) 58%,rgba(18,14,39,.52));text-shadow:0 0 14px rgba(167,139,250,.72);pointer-events:none;animation:scrollHint 1.7s ease-in-out infinite;border-radius:0 18px 18px 0}
  [data-theme="light"] .filters-section.can-scroll-right::after{color:rgba(102,68,238,.72);background:linear-gradient(90deg,rgba(244,244,251,0),rgba(255,255,255,.58) 58%,rgba(255,255,255,.82));text-shadow:0 0 12px rgba(102,68,238,.22)}
  .filters-scroll{justify-content:flex-start;gap:14px;padding-right:12px;padding-bottom:12px}
  .filter-chip{width:76px;font-size:.66rem}
  .filter-chip-media{width:64px;height:64px}
  .results-bar{padding:10px 0 14px}
  .results-count{font-size:.76rem}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;overflow-x:hidden}
  .card-banner{height:clamp(88px,26vw,108px);padding:0 8px 8px}
  .card-body{padding:10px 10px 12px;gap:4px}
  .card-name{font-size:.88rem}
  .card-desc{font-size:.68rem}
  .card-footer{padding-top:8px;flex-direction:column;align-items:flex-start;gap:7px}
  .card-price{font-size:1.15rem}
  .card-price-cur{font-size:.72rem}
  .card-price-label{font-size:.58rem}
  .card-btn{width:100%;text-align:center;padding:7px 10px;font-size:.72rem;justify-content:center}
  .modal-info-grid{grid-template-columns:1fr 1fr}
  .modal-price-big{font-size:2rem}
  .modal-body{padding:18px 18px 8px;gap:14px}
  .modal-title{font-size:1.25rem}
}
@media(max-width:360px){
  .hero h1{font-size:1.6rem}
  .grid{gap:8px}
  .card-name{font-size:.82rem}
  .modal-price-big{font-size:1.75rem}
  .modal-info-grid{grid-template-columns:1fr}
}
@keyframes card-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@keyframes scrollHint{0%,100%{transform:translateX(0);opacity:.42}50%{transform:translateX(4px);opacity:.74}}
.card{opacity:0}
@media(min-width:769px){
  .logo-mark{width:230px;height:82px}
  .logo-mark img{width:230px;height:82px;object-fit:contain;mix-blend-mode:screen}
[data-theme="light"] .logo-mark img{mix-blend-mode:multiply}
}
#app{width:100%;overflow-x:clip}
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:900;
  width:58px;height:58px;border-radius:50%;
  background:linear-gradient(135deg,#25D366,#16a34a);
  color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);
  box-shadow:0 8px 28px rgba(37,211,102,.46);
  transition:transform .2s,box-shadow .2s;
  animation:wa-pulse 2s ease-in-out infinite;
}
.wa-float:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 12px 36px rgba(37,211,102,.58);animation:none}
@keyframes wa-pulse{
  0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45)}
  50%{box-shadow:0 6px 24px rgba(37,211,102,.45),0 0 0 8px rgba(37,211,102,.2)}
}
@media(max-width:600px){
  .wa-float{right:16px;bottom:18px}
}

.scroll-top{
  position:fixed;bottom:28px;right:96px;z-index:900;
  width:44px;height:44px;border-radius:50%;
  background:var(--surface-2);border:1px solid var(--border);
  color:var(--text-2);display:grid;place-items:center;
  box-shadow:var(--shadow);transition:opacity .3s,transform .2s;
  opacity:0;pointer-events:none;cursor:pointer;
}
.scroll-top.show{opacity:1;pointer-events:auto}
.scroll-top:hover{transform:translateY(-2px);color:var(--text)}

.card-discount-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #ff4444;
  color: #fff;
  font-family: var(--font-display);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .03em;
  padding: 3px 8px;
  border-radius: var(--r-full);
  box-shadow: 0 2px 8px rgba(255,68,68,.4);
  z-index: 2;
  line-height: 1.4;
}

@media(max-width:600px) {
  .card-discount-badge {
    font-size: .62rem;
    padding: 2px 6px;
  }
}

/* ── HERO ANIMADO ── */
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(124,90,243,.1);
  border: 1px solid rgba(124,90,243,.25);
  border-radius: 999px;
  padding: 5px 14px;
  font-family: var(--font-display);
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #a78bfa;
  margin-bottom: 28px;
  opacity: 0;
  animation: fade-up .5s .1s cubic-bezier(.16,1,.3,1) forwards;
}
.eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%; background: #7c5af3;
  animation: pulse-d 2s ease-in-out infinite;
}
@keyframes pulse-d {
  0%,100% { opacity:1; transform:scale(1) }
  50%      { opacity:.4; transform:scale(.65) }
}
.h1-line  { display: block; overflow: hidden }
.h1-inner {
  display: block;
  transform: translateY(110%);
  animation: reveal .7s cubic-bezier(.16,1,.3,1) forwards;
}
.h1-line:nth-child(1) .h1-inner { animation-delay: .22s }
.h1-line:nth-child(2) .h1-inner { animation-delay: .34s }
@keyframes reveal { to { transform: translateY(0) } }
.hero-sub {
  opacity: 0;
  animation: fade-up .6s .55s cubic-bezier(.16,1,.3,1) forwards;
}
.pills-label {
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700;
  color: var(--text-2);
  opacity: 0;
  margin-bottom: 14px;
  animation: fade-up .5s .72s cubic-bezier(.16,1,.3,1) forwards;
}
.pills-row {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  max-width: 560px; margin: 0 auto;
}
.pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 14px; border-radius: 999px; border: 1px solid;
  font-family: var(--font-display);
  font-size: 13px; font-weight: 700;
  opacity: 0; transform: translateY(12px) scale(.96);
  animation: pill-in .45s cubic-bezier(.16,1,.3,1) forwards;
  transition: transform .2s, box-shadow .2s;
  cursor: default;
}
.pill:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 6px 20px rgba(0,0,0,.15) }
.pill-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0 }
@keyframes pill-in { to { opacity:1; transform:none } }
@keyframes fade-up { from { opacity:0; transform:translateY(18px) } to { opacity:1; transform:none } }

.p-netflix  { color:#e50914; border-color:rgba(229,9,20,.3);   background:rgba(229,9,20,.07)   } .p-netflix  .pill-dot { background:#e50914 }
.p-spotify  { color:#1db954; border-color:rgba(29,185,84,.3);  background:rgba(29,185,84,.07)  } .p-spotify  .pill-dot { background:#1db954 }
.p-disney   { color:#5b8def; border-color:rgba(91,141,239,.3); background:rgba(91,141,239,.07) } .p-disney   .pill-dot { background:#5b8def }
.p-youtube  { color:#ff2020; border-color:rgba(255,32,32,.28); background:rgba(255,32,32,.07)  } .p-youtube  .pill-dot { background:#ff2020 }
.p-canva    { color:#0ac4cc; border-color:rgba(10,196,204,.3); background:rgba(10,196,204,.07) } .p-canva    .pill-dot { background:#0ac4cc }
.p-office   { color:#e04a10; border-color:rgba(224,74,16,.3);  background:rgba(224,74,16,.07)  } .p-office   .pill-dot { background:#e04a10 }
.p-hbo      { color:#a855f7; border-color:rgba(168,85,247,.3); background:rgba(168,85,247,.07) } .p-hbo      .pill-dot { background:#a855f7 }
.p-adobe    { color:#f87171; border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.07)} .p-adobe    .pill-dot { background:#f87171 }
.p-more     { color:var(--text-2); border-color:var(--border);  background:transparent }

/* ── TICKER ── */
.ticker-wrap {
  overflow: hidden;
  padding: 8px 0 0;
  mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}
.ticker-track {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: ticker-scroll 32s linear infinite;
}
.ticker-track:hover { animation-play-state: paused }
@keyframes ticker-scroll {
  from { transform: translateX(0) }
  to   { transform: translateX(-50%) }
}
.t-card {
  display: flex; align-items: center; gap: 9px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid;
  white-space: nowrap;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
  transition: transform .2s, box-shadow .2s;
}
.t-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.2) }
.t-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0 }
.t-price {
  font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 999px;
  background: rgba(255,255,255,.1);
  margin-left: 4px;
}
.tc-netflix   { color:#e50914; border-color:rgba(229,9,20,.3);    background:rgba(229,9,20,.07)    } .tc-netflix   .t-dot { background:#e50914 }
.tc-spotify   { color:#1db954; border-color:rgba(29,185,84,.3);   background:rgba(29,185,84,.07)   } .tc-spotify   .t-dot { background:#1db954 }
.tc-disney    { color:#5b8def; border-color:rgba(91,141,239,.3);  background:rgba(91,141,239,.07)  } .tc-disney    .t-dot { background:#5b8def }
.tc-youtube   { color:#ff2020; border-color:rgba(255,32,32,.28);  background:rgba(255,32,32,.07)   } .tc-youtube   .t-dot { background:#ff2020 }
.tc-canva     { color:#0ac4cc; border-color:rgba(10,196,204,.3);  background:rgba(10,196,204,.07)  } .tc-canva     .t-dot { background:#0ac4cc }
.tc-office    { color:#e04a10; border-color:rgba(224,74,16,.3);   background:rgba(224,74,16,.07)   } .tc-office    .t-dot { background:#e04a10 }
.tc-hbo       { color:#a855f7; border-color:rgba(168,85,247,.3);  background:rgba(168,85,247,.07)  } .tc-hbo       .t-dot { background:#a855f7 }
.tc-adobe     { color:#f87171; border-color:rgba(248,113,113,.3); background:rgba(248,113,113,.07) } .tc-adobe     .t-dot { background:#f87171 }
.tc-prime     { color:#38bdf8; border-color:rgba(56,189,248,.3);  background:rgba(56,189,248,.07)  } .tc-prime     .t-dot { background:#38bdf8 }
.tc-crunchyroll { color:#f47521; border-color:rgba(244,117,33,.3); background:rgba(244,117,33,.07) } .tc-crunchyroll .t-dot { background:#f47521 }
.tc-paramount { color:#1070ff; border-color:rgba(16,112,255,.3);  background:rgba(16,112,255,.07)  } .tc-paramount .t-dot { background:#1070ff }
.tc-deezer    { color:#a238ff; border-color:rgba(162,56,255,.3);  background:rgba(162,56,255,.07)  } .tc-deezer    .t-dot { background:#a238ff }

/* Ajustes finales del rediseño: se mantienen al final para ganar a estilos heredados. */
body{background:radial-gradient(ellipse at 50% -10%,rgba(96,64,192,.22),transparent 42%),linear-gradient(180deg,#070711 0%,#0b0b1b 58%,#060610 100%)}
.header{background:rgba(7,7,17,.74);border-bottom-color:rgba(185,160,255,.12)}
.header-inner{height:76px}.logo-mark,.logo-mark img{width:164px;height:58px}
.hero{padding-block:clamp(34px,5vw,62px) 28px}.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;margin:0 0 14px;letter-spacing:-.065em}.hero-gradient{background:linear-gradient(100deg,#fff 8%,#c3a5ff 48%,#4de3cf 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{max-width:52ch;margin-bottom:18px;color:#bdb6d5;line-height:1.5}.hero-copy{position:relative;z-index:2}.hero-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:0 auto 22px}.hero-cta,.hero-ghost{font-family:var(--font-display);font-weight:800;text-decoration:none;border-radius:13px;padding:12px 17px;transition:transform .2s,box-shadow .2s,background .2s}.hero-cta{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6942df);box-shadow:0 10px 26px rgba(111,70,235,.34)}.hero-ghost{color:#d5cbf6;border:1px solid rgba(185,153,255,.22);background:rgba(255,255,255,.035)}.hero-cta:hover,.hero-ghost:hover{transform:translateY(-2px)}
.trust-strip{margin-top:6px;max-width:760px;background:rgba(16,15,39,.66);border-color:rgba(183,158,255,.15)}.controls-wrap{position:relative;z-index:3}.search-box{max-width:560px;height:48px;border-radius:15px;background:rgba(18,17,42,.84);border-color:rgba(185,153,255,.2)}.filter-chip{background:rgba(18,17,42,.62);border-color:rgba(169,143,255,.16);border-radius:14px}.filter-chip.active{background:linear-gradient(135deg,rgba(139,92,246,.26),rgba(45,212,191,.1));border-color:rgba(185,153,255,.52)}.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.card{border-radius:22px;background:linear-gradient(150deg,rgba(26,24,58,.88),rgba(10,10,24,.92));border-color:rgba(169,143,255,.16);box-shadow:0 14px 36px rgba(0,0,0,.2)}.card:hover{border-color:rgba(185,153,255,.48);box-shadow:0 22px 58px rgba(0,0,0,.36),0 0 0 1px rgba(185,153,255,.12)}
@media(max-width:600px){.header-inner{height:66px}.logo-mark,.logo-mark img{width:142px;height:50px}.hero{padding-top:28px}.hero h1{font-size:clamp(2.1rem,11vw,3.2rem)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card-banner{height:118px}.card-body{padding:12px}.card-name{font-size:.9rem}}

/* ── WORLD 02: CODEGHY NIGHT CATALOG ── */
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:#070812;color:#f7f4ff}
body::after{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 82% 12%,rgba(103,51,255,.19),transparent 34%),radial-gradient(ellipse at 8% 48%,rgba(35,108,255,.1),transparent 36%)}
.header{position:sticky;height:78px;background:rgba(7,8,18,.78);border-bottom:1px solid rgba(147,125,255,.16);z-index:200}.header-inner{height:78px;max-width:1440px}.logo-mark,.logo-mark img{width:184px;height:62px}.site-nav{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;margin:0 22px}.site-nav-link{padding:10px 14px;border:1px solid transparent;border-radius:999px;color:#aaa6c9;text-decoration:none;font-family:var(--font-display);font-size:.88rem;font-weight:650;transition:background .2s,color .2s,border-color .2s}.site-nav-link:hover,.site-nav-link.active{color:#fff;background:rgba(111,74,236,.15);border-color:rgba(158,125,255,.42)}.header-right{gap:10px}.header-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;color:#fff;text-decoration:none;font-family:var(--font-display);font-size:.78rem;font-weight:800;white-space:nowrap;background:linear-gradient(135deg,#1ed760,#00a95a);box-shadow:0 8px 24px rgba(22,213,103,.28)}.header-whatsapp-icon{display:block;flex:0 0 auto}.header-whatsapp-label{font-weight:800}.header-whatsapp-number{font-weight:600;opacity:.82}.btn-icon{border-color:rgba(169,143,255,.22);background:rgba(255,255,255,.04)}
.hero{min-height:720px;padding:58px 0 34px;position:relative;overflow:hidden;text-align:left;background:radial-gradient(ellipse at 76% 55%,rgba(72,35,205,.24),transparent 38%)}.hero>.wrap{max-width:1440px;min-height:620px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);grid-template-rows:auto auto;align-items:center;gap:0 24px;position:relative}.hero>.wrap::before{content:'';position:absolute;width:760px;height:520px;right:-180px;top:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(65,33,191,.26),transparent 68%);filter:blur(18px);pointer-events:none}.hero-copy{grid-column:1;grid-row:1;align-self:center;max-width:680px;padding:20px 0 8px;z-index:3}.hero-eyebrow{display:inline-flex;margin:0 0 22px;color:#d2bcff;background:rgba(115,74,255,.08);border-color:rgba(161,126,255,.58);letter-spacing:.16em;font-size:.7rem}.hero h1{font-size:clamp(3.2rem,6vw,6rem);line-height:.92;letter-spacing:-.06em;margin:0 0 24px;color:#fff}.hero-gradient{color:#ce8aff;background:none;-webkit-text-fill-color:initial}.hero-sub{max-width:45ch;font-size:1.18rem;line-height:1.45;color:#bdb8d5;margin:0 0 26px}.hero-actions{justify-content:flex-start;margin:0 0 28px}.hero-cta,.hero-ghost{border-radius:14px;padding:14px 20px}.hero-cta{background:#8b5cf6;box-shadow:0 12px 30px rgba(112,71,226,.32)}.trust-strip{grid-column:1/-1;grid-row:2;width:min(100%,860px);margin:28px 0 0;justify-content:space-around;border-radius:18px;background:rgba(14,15,37,.62);border-color:rgba(155,129,255,.32);box-shadow:0 18px 48px rgba(0,0,0,.22)}.trust-item{padding:18px 22px;min-width:0}.social-proof{display:none}
.logo-scene{grid-column:2;grid-row:1;justify-self:end;width:min(100%,570px);height:470px;margin:0;position:relative;display:grid;place-items:center;z-index:2}.logo-scene::before{content:'';position:absolute;width:330px;height:90px;bottom:50px;border-radius:50%;background:rgba(74,21,255,.32);box-shadow:0 0 60px rgba(116,74,255,.64),0 0 0 3px rgba(144,100,255,.75);transform:rotate(-4deg)}.logo-scene::after{content:'';position:absolute;inset:32px 2px 60px;border:1px solid rgba(132,93,255,.28);border-radius:50% 46% 52% 48%;transform:rotate(9deg);box-shadow:inset 0 0 40px rgba(97,59,255,.18)}.logo-scene .ring{opacity:.72}.logo-scene .hero-logo-text{width:clamp(260px,30vw,410px);position:relative;z-index:4;filter:drop-shadow(0 22px 22px rgba(75,34,175,.48))}.hero-product-rail{position:absolute;right:-6px;top:130px;width:230px;z-index:5;display:flex;flex-direction:column;gap:12px;transform:rotate(7deg)}.hero-product-card{height:82px;display:flex;align-items:flex-end;overflow:hidden;position:relative;border:1px solid rgba(178,148,255,.66);border-radius:14px;background:#13132b;box-shadow:0 14px 30px rgba(0,0,0,.4)}.hero-product-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}.hero-product-card::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,7,20,.05),rgba(6,7,20,.75))}.hero-product-card span{position:relative;z-index:2;padding:0 12px 10px;color:#fff;font-family:var(--font-display);font-weight:800;font-size:.78rem;text-shadow:0 2px 12px #000}.hero-product-netflix{transform:translateX(-38px) rotate(-5deg)}.hero-product-chatgpt{transform:translateX(10px)}.hero-product-spotify{transform:translateX(-16px) rotate(4deg)}
.catalog-section{position:relative;padding:72px 30px 94px;background:linear-gradient(180deg,rgba(9,10,24,.8),#080914 72%)}.catalog-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px}.catalog-sidebar{position:sticky;top:104px;align-self:start;padding:20px 14px;border:1px solid rgba(144,116,255,.2);border-radius:20px;background:rgba(12,13,31,.68);box-shadow:0 18px 48px rgba(0,0,0,.2)}.sidebar-label,.catalog-kicker{color:#9f90d0;font-size:.66rem;letter-spacing:.16em;font-weight:800;text-transform:uppercase}.sidebar-label{padding:0 12px 14px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:13px 12px;margin:3px 0;border-radius:12px;color:#aaa7c8;text-decoration:none;font-family:var(--font-display);font-size:.87rem;font-weight:650;transition:color .2s,background .2s,transform .2s}.sidebar-item span:last-child{margin-left:auto;font-size:1.3rem;line-height:.7;opacity:.65}.sidebar-item:hover,.sidebar-item.active{color:#fff;background:linear-gradient(100deg,rgba(124,75,255,.32),rgba(78,81,210,.08));box-shadow:inset 0 0 0 1px rgba(157,122,255,.55)}.sidebar-icon{width:20px;color:#cbb5ff;font-size:1rem;text-align:center}.sidebar-callout{margin:20px 0 0;padding:18px 14px;border-top:1px solid rgba(152,128,255,.18);background:radial-gradient(circle at 20% 0%,rgba(135,86,255,.23),transparent 54%);border-radius:14px;color:#d4cbf1}.sidebar-callout strong{display:block;font-size:2.4rem;line-height:1;color:#cf9aff}.sidebar-callout span{display:block;margin:3px 0 10px;font-weight:800}.sidebar-callout small{display:block;color:#8c87ad;line-height:1.45}.catalog-content{min-width:0}.catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.catalog-heading h2,.how-section h2{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4.1rem);letter-spacing:-.055em;line-height:.98;margin:8px 0 8px;color:#fff}.catalog-heading h2 em,.how-section h2 em{font-style:normal;color:#d68bff}.catalog-heading p{margin:0;color:#9893b5;font-size:1rem}.catalog-count-pill{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(153,124,255,.25);border-radius:14px;background:rgba(23,20,52,.64);color:#aaa3c9;font-size:.7rem;line-height:1.15}.catalog-count-pill strong{font-size:2rem;line-height:1;color:#c69bff}.catalog-count-pill span{font-weight:700}.controls-wrap{width:100%;padding:0;margin:0}.search-row{margin-bottom:16px}.search-box{max-width:100%;height:54px;border-radius:16px;background:rgba(17,17,39,.75);border-color:rgba(158,129,255,.3);box-shadow:0 12px 32px rgba(0,0,0,.18)}.search-box input{font-size:.95rem}.filters-scroll{padding:3px 0 12px;gap:8px}.filter-chip{border-radius:999px;background:rgba(20,18,45,.68);padding:8px 12px}.results-bar{margin-top:8px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:0}.card{border-radius:16px;background:linear-gradient(155deg,rgba(27,25,61,.82),rgba(11,12,27,.96));border-color:rgba(155,129,255,.24);box-shadow:0 12px 28px rgba(0,0,0,.22)}.card-banner{height:164px}.card-body{padding:15px 16px 16px}.card-btn{border-radius:999px;background:rgba(125,76,255,.16);border-color:rgba(157,122,255,.48)}
.how-section{padding:90px 30px 110px;background:radial-gradient(ellipse at 50% 0%,rgba(84,48,184,.2),transparent 46%);border-top:1px solid rgba(155,129,255,.12)}.how-inner{max-width:1080px;margin:0 auto}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:38px;border-top:1px solid rgba(160,133,255,.25);border-bottom:1px solid rgba(160,133,255,.25)}.how-steps>div{padding:28px 26px 24px;border-right:1px solid rgba(160,133,255,.18)}.how-steps>div:last-child{border-right:0}.how-steps b{display:block;color:#a57cff;font-size:.72rem;letter-spacing:.12em}.how-steps strong{display:block;color:#fff;font-size:1.15rem;margin:14px 0 7px}.how-steps span{display:block;color:#8f8ba9;line-height:1.5;font-size:.9rem}
@media(max-width:1050px){.site-nav{gap:0;margin:0 8px}.site-nav-link{padding-inline:9px;font-size:.8rem}.header-whatsapp-number{display:none}.catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-product-rail{right:-16px;width:200px}}
@media(max-width:760px){.header{height:68px}.header-inner{height:68px;padding-left:14px;padding-right:14px}.logo-mark,.logo-mark img{width:142px;height:50px}.site-nav{display:none}.header-whatsapp{padding:9px 11px;font-size:.72rem}.header-whatsapp-label{display:inline}.header-whatsapp-number{display:none}.hero{min-height:0;padding:34px 16px 28px;text-align:center}.hero>.wrap{display:flex;flex-direction:column;min-height:0;gap:0}.hero-copy{order:1;padding:12px 0 0}.hero-eyebrow{font-size:.59rem;letter-spacing:.1em}.hero h1{font-size:clamp(2.65rem,12vw,4rem);line-height:.94}.hero-sub{font-size:.98rem;margin-inline:auto}.hero-actions{justify-content:center}.hero-cta,.hero-ghost{padding:12px 15px;font-size:.82rem}.logo-scene{order:2;width:100%;height:320px;margin:8px auto 0}.logo-scene .hero-logo-text{width:250px}.hero-product-rail{top:58px;right:0;width:150px;gap:8px}.hero-product-card{height:62px;border-radius:10px}.hero-product-card span{font-size:.61rem;padding:0 8px 7px}.hero-product-netflix{transform:translateX(-14px) rotate(-5deg)}.hero-product-chatgpt{transform:translateX(14px)}.hero-product-spotify{transform:translateX(-2px) rotate(4deg)}.trust-strip{order:3;width:100%;margin-top:24px;display:grid;grid-template-columns:1fr}.trust-item{justify-content:flex-start;padding:11px 14px;font-size:.76rem;border-bottom:1px solid rgba(159,129,255,.12)}.trust-item:last-child{border-bottom:0}.catalog-section{padding:52px 14px 70px}.catalog-layout{display:block}.catalog-sidebar{position:static;padding:12px;margin-bottom:22px;display:flex;align-items:center;gap:6px;overflow-x:auto;border-radius:14px}.sidebar-label,.sidebar-callout{display:none}.sidebar-item{flex:0 0 auto;margin:0;padding:9px 12px;font-size:.76rem;white-space:nowrap}.sidebar-item span:last-child{display:none}.sidebar-icon{width:auto}.catalog-heading{align-items:flex-start;margin-bottom:18px}.catalog-heading h2{font-size:2.4rem}.catalog-count-pill{display:none}.search-box{height:48px}.filters-section{overflow:hidden}.filters-scroll{overflow-x:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-banner{height:112px}.card-body{padding:11px}.card-name{font-size:.86rem}.card-desc{font-size:.64rem}.card-price{font-size:1.12rem}.card-btn{padding:7px 9px;font-size:.66rem}.how-section{padding:64px 22px 82px}.how-section h2{font-size:2.5rem}.how-steps{grid-template-columns:1fr;margin-top:26px}.how-steps>div{border-right:0;border-bottom:1px solid rgba(160,133,255,.18);padding:20px 0}.how-steps>div:last-child{border-bottom:0}.footer{padding-bottom:90px}}
@media(max-width:420px){.header-whatsapp{font-size:0;width:38px;height:38px;justify-content:center;padding:0}.header-whatsapp::before{content:'↗';font-size:1.1rem}.hero h1{font-size:2.45rem}.hero-product-rail{right:-18px;width:132px}.grid{gap:8px}.card-banner{height:100px}.card-body{padding:9px}.card-name{font-size:.78rem}.card-btn{padding:6px 7px;font-size:.6rem}}

/* Prueba social del hero: acompaña el titular sin competir con el CTA. */
.hero-proof{margin:0 0 26px;color:#ded6f4;font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:-.02em}.hero-proof strong{color:#ce8aff;font-size:1.18rem}
[data-theme="light"] .hero-proof{color:#514d6b!important}
[data-theme="light"] .hero-proof strong{color:#673ab7!important}
@media(max-width:760px){.hero-proof{margin-bottom:20px;font-size:.92rem}.hero-proof strong{font-size:1.08rem}}
/* Mobile catalog: prioritize readable cards over a cramped desktop-style grid. */
@media(max-width:560px){
  body{overflow-x:hidden}
  .wrap{padding-inline:14px}
  .catalog-section{padding-inline:14px}
  .catalog-content{width:100%;min-width:0}
  .catalog-heading h2{font-size:clamp(2.15rem,10vw,2.75rem);max-width:12ch}
  .catalog-heading p{font-size:.9rem;line-height:1.5}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card-banner{height:clamp(100px,26vw,122px)}
  .card-body{padding:11px}
  .card-name{font-size:.86rem}
  .card-desc{font-size:.68rem}
  .card-price{font-size:1.15rem}
  .card-btn{padding:7px 9px;font-size:.66rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-product-card,.card,.site-nav-link,.hero-cta,.hero-ghost{transition:none!important}.logo-scene .ring{animation:none!important}}
.logo-mark{opacity:1!important;transform:none!important;pointer-events:auto!important}
.logo-scene .hero-logo-text{transform:translateX(-128px)}
@media(max-width:760px){.logo-scene .hero-logo-text{transform:none}}

/* ── LIGHT MODE: same design system, with real light surfaces and contrast ── */
html[data-theme="light"] body{background:#f4f5fb;color:#17152b}
html[data-theme="light"] body::after{background:radial-gradient(ellipse at 82% 10%,rgba(142,105,255,.13),transparent 34%),radial-gradient(ellipse at 8% 48%,rgba(45,175,190,.1),transparent 36%)}
html[data-theme="light"] .header{background:rgba(255,255,255,.9);border-bottom-color:rgba(52,37,117,.14);box-shadow:0 8px 24px rgba(37,28,92,.06)}
html[data-theme="light"] .site-nav-link{color:#625b7d}
html[data-theme="light"] .site-nav-link:hover,html[data-theme="light"] .site-nav-link.active{color:#3c246e;background:rgba(125,83,239,.1);border-color:rgba(112,77,224,.34)}
html[data-theme="light"] .btn-icon{color:#35265f;background:#fff;border-color:rgba(76,51,145,.2)}
html[data-theme="light"] .hero{background:radial-gradient(ellipse at 76% 55%,rgba(118,83,229,.13),transparent 38%),linear-gradient(135deg,#f9f8ff,#edf3fb)}
html[data-theme="light"] .hero>.wrap::before{background:radial-gradient(ellipse,rgba(112,77,224,.14),transparent 68%)}
html[data-theme="light"] .hero h1,html[data-theme="light"] .catalog-heading h2,html[data-theme="light"] .how-section h2{color:#17142c}
html[data-theme="light"] .hero-gradient,html[data-theme="light"] .catalog-heading h2 em,html[data-theme="light"] .how-section h2 em{color:#7540c7}
html[data-theme="light"] .hero-eyebrow{color:#6239a4;background:rgba(129,83,226,.08);border-color:rgba(112,77,224,.35)}
html[data-theme="light"] .hero-sub,html[data-theme="light"] .catalog-heading p{color:#655f7d}
html[data-theme="light"] .hero-ghost{color:#4d3d72;background:rgba(255,255,255,.78);border-color:rgba(98,70,166,.24)}
html[data-theme="light"] .trust-strip{background:rgba(255,255,255,.84);border-color:rgba(104,76,171,.22);box-shadow:0 14px 30px rgba(61,42,126,.08)}
html[data-theme="light"] .trust-item{color:#4f486b}
html[data-theme="light"] .logo-scene::before{background:rgba(123,72,226,.14);box-shadow:0 0 46px rgba(123,72,226,.24),0 0 0 3px rgba(127,87,220,.4)}
html[data-theme="light"] .logo-scene::after{border-color:rgba(112,77,224,.22);box-shadow:inset 0 0 40px rgba(97,59,255,.08)}
html[data-theme="light"] .hero-product-card{background:#fff;border-color:rgba(99,70,177,.28);box-shadow:0 12px 26px rgba(47,34,106,.16)}
html[data-theme="light"] .hero-product-card::after{background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(16,12,42,.62))}
html[data-theme="light"] .catalog-section{background:linear-gradient(180deg,#f7f7fc,#eef1f9 72%)}
html[data-theme="light"] .catalog-sidebar{background:rgba(255,255,255,.84);border-color:rgba(102,75,174,.18);box-shadow:0 14px 34px rgba(47,34,106,.08)}
html[data-theme="light"] .sidebar-label,html[data-theme="light"] .catalog-kicker{color:#756b99}
html[data-theme="light"] .sidebar-item{color:#625c7d}
html[data-theme="light"] .sidebar-item:hover,html[data-theme="light"] .sidebar-item.active{color:#3c246e;background:linear-gradient(100deg,rgba(124,75,255,.14),rgba(78,81,210,.04));box-shadow:inset 0 0 0 1px rgba(125,88,221,.35)}
html[data-theme="light"] .sidebar-callout{color:#50476f;background:radial-gradient(circle at 20% 0%,rgba(135,86,255,.13),transparent 54%)}
html[data-theme="light"] .sidebar-callout strong{color:#7848c5}html[data-theme="light"] .sidebar-callout small{color:#79718f}
html[data-theme="light"] .catalog-count-pill{background:rgba(255,255,255,.82);border-color:rgba(102,75,174,.2);color:#665d80}html[data-theme="light"] .catalog-count-pill strong{color:#7848c5}
html[data-theme="light"] .search-box{background:#fff;border-color:rgba(102,75,174,.24);box-shadow:0 10px 24px rgba(47,34,106,.07)}
html[data-theme="light"] .search-box input{color:#29243e}html[data-theme="light"] .filter-chip{background:rgba(255,255,255,.82);border-color:rgba(102,75,174,.18);color:#665d80}html[data-theme="light"] .filter-chip.active{background:rgba(124,75,255,.12);border-color:rgba(112,77,224,.4);color:#4d2a91}
html[data-theme="light"] .card{background:rgba(255,255,255,.94);border-color:rgba(102,75,174,.18);box-shadow:0 12px 28px rgba(47,34,106,.09)}
html[data-theme="light"] .card:hover{border-color:rgba(112,77,224,.42);box-shadow:0 18px 38px rgba(47,34,106,.14)}
html[data-theme="light"] .card-name,html[data-theme="light"] .card-price{color:#242039}html[data-theme="light"] .card-desc{color:#766e8d}html[data-theme="light"] .card-footer{border-top-color:rgba(102,75,174,.15)}
html[data-theme="light"] .card-btn{background:rgba(124,75,255,.1);border-color:rgba(112,77,224,.35);color:#5a319f}
html[data-theme="light"] .how-section{background:linear-gradient(180deg,#eef1f9,#f7f7fc);border-top-color:rgba(102,75,174,.14)}html[data-theme="light"] .how-steps{border-color:rgba(102,75,174,.2)}html[data-theme="light"] .how-steps>div{border-color:rgba(102,75,174,.14)}html[data-theme="light"] .how-steps strong{color:#2c2447}html[data-theme="light"] .how-steps span{color:#716a87}
html[data-theme="light"] .footer{background:#f4f5fb;color:#625b7d;border-top-color:rgba(102,75,174,.14)}
html[data-theme="light"] .logo-mark{padding:2px 8px;border-radius:14px;background:#111126;box-shadow:0 8px 20px rgba(35,25,88,.16)}
html[data-theme="light"] .logo-mark img{mix-blend-mode:normal}

/* Brand lockup: CodeGhy + Streaming */
.brand-lockup{flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important}
.brand-subtitle{display:block;color:#bda9f7;font-family:var(--font-display);font-size:.68rem;font-weight:800;letter-spacing:.14em;line-height:1;text-align:center}
.brand-lockup .brand-subtitle{width:100%;margin-top:-2px}
.logo-scene .logo-tap{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:6}
.logo-scene .logo-tap .brand-subtitle{margin-top:-22px;color:#d6c5ff;font-size:.8rem;text-shadow:0 3px 16px rgba(115,73,239,.7)}
.footer-logo.brand-lockup{align-items:center!important}
html[data-theme="light"] .brand-subtitle{color:#6940a5}
html[data-theme="light"] .logo-scene .logo-tap .brand-subtitle{color:#68419d;text-shadow:none}
@media(max-width:760px){.brand-subtitle{font-size:.56rem;letter-spacing:.19em}.logo-scene .logo-tap .brand-subtitle{margin-top:-14px;font-size:.68rem}.brand-lockup .logo-mark{width:142px;height:46px}.brand-lockup .logo-mark img{width:142px;height:46px}}

/* ── WORLD 03: NEON PLATFORM HERO ── */
body{background:#040512;color:#f8f6ff}
body::after{background:radial-gradient(ellipse at 72% 22%,rgba(70,31,235,.3),transparent 34%),radial-gradient(ellipse at 18% 58%,rgba(17,102,255,.16),transparent 38%),radial-gradient(ellipse at 52% 86%,rgba(160,37,255,.12),transparent 40%)}
.header{background:rgba(4,5,18,.82);border-bottom-color:rgba(132,96,255,.28);box-shadow:0 12px 36px rgba(0,0,0,.24)}
.site-nav-link{color:#bdb5e6}.site-nav-link:hover,.site-nav-link.active{color:#fff;background:rgba(104,56,255,.2);border-color:#7447ff;box-shadow:0 0 18px rgba(112,65,255,.28)}
.hero{min-height:780px;padding:54px 0 34px;background:radial-gradient(ellipse at 70% 44%,rgba(49,17,200,.34),transparent 44%),radial-gradient(ellipse at 34% 80%,rgba(24,110,213,.13),transparent 42%)}
.hero>.wrap{min-height:680px;grid-template-columns:minmax(0,1fr) minmax(500px,.96fr);max-width:1500px}
.hero>.wrap::before{width:760px;height:620px;right:-110px;top:10px;background:radial-gradient(ellipse,rgba(55,23,230,.36),transparent 67%);filter:blur(12px)}
.hero-copy{max-width:720px;padding-top:18px}
.hero-eyebrow{color:#eadfff;background:rgba(112,54,255,.13);border-color:#874dff;box-shadow:0 0 22px rgba(107,53,255,.18);text-transform:uppercase}
.hero h1{font-size:clamp(3.4rem,6vw,6.4rem);text-transform:uppercase;letter-spacing:-.055em;line-height:.9;text-shadow:0 6px 30px rgba(21,10,72,.6)}
.hero-gradient{background:linear-gradient(100deg,#df83ff 0%,#b85dff 45%,#6bdbff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:1.28rem;color:#ddd6f5;max-width:31ch}
.hero-cta{background:linear-gradient(135deg,#8753ff,#4f34d8);border:1px solid #a477ff;box-shadow:0 12px 36px rgba(103,54,255,.45)}
.hero-ghost{color:#eee9ff;border-color:rgba(155,116,255,.45);background:rgba(21,17,65,.52)}
.logo-scene{height:620px;width:min(100%,660px);justify-self:end;margin-top:-4px}
.logo-scene .ring,.logo-scene .logo-tap,.hero-product-rail{display:none}
.logo-scene::before{width:520px;height:130px;bottom:42px;background:rgba(48,19,215,.42);box-shadow:0 0 70px rgba(88,46,255,.88),0 0 0 4px rgba(102,69,255,.92)}
.logo-scene::after{inset:48px -12px 62px;border-color:rgba(103,78,255,.4);box-shadow:inset 0 0 70px rgba(48,32,212,.3)}
.hero-capybara{display:block;position:relative;z-index:5;width:min(100%,650px);height:650px;object-fit:contain;filter:drop-shadow(0 22px 30px rgba(37,11,143,.52));animation:hero-float 6s ease-in-out infinite}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-search-preview{display:flex;align-items:center;gap:15px;width:min(100%,700px);height:68px;margin:18px 0 14px;padding:0 18px;border:2px solid #7650ff;border-radius:999px;color:#b9b3d9;text-decoration:none;background:rgba(10,9,39,.7);box-shadow:0 0 22px rgba(102,53,255,.42),inset 0 0 18px rgba(68,40,179,.18);font-size:1rem}
.hero-search-preview span{flex:1}.hero-search-preview b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:#7045ff;font-size:1.55rem;box-shadow:0 0 20px rgba(134,77,255,.8)}
.hero-category-pills{display:flex;gap:9px;flex-wrap:wrap;max-width:760px}.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid rgba(113,82,255,.43);border-radius:999px;color:#bdb4e5;text-decoration:none;background:rgba(8,8,31,.55);font-weight:700;font-size:.8rem;transition:.2s}.hero-pill:hover,.hero-pill.active{color:#fff;border-color:#8b60ff;background:rgba(104,55,255,.22);box-shadow:0 0 18px rgba(104,55,255,.35)}
.trust-strip{width:min(100%,900px);margin-top:32px;background:rgba(8,8,32,.72);border-color:rgba(113,82,255,.38);box-shadow:0 0 26px rgba(60,34,193,.18)}
.trust-item{color:#ddd8f3}.catalog-section{background:linear-gradient(180deg,#060719 0%,#050611 78%)}
@media(max-width:1050px){.hero>.wrap{grid-template-columns:minmax(0,.9fr) minmax(390px,.9fr)}.logo-scene{height:560px}.hero-capybara{height:570px}.hero h1{font-size:clamp(3rem,6vw,5rem)}}
@media(max-width:760px){.hero{min-height:0;padding:30px 14px 26px}.hero>.wrap{min-height:0;display:flex}.hero-copy{order:1}.hero h1{font-size:clamp(2.35rem,11vw,3.7rem)}.hero-sub{font-size:1rem}.hero-search-preview{height:56px;font-size:.78rem;margin-top:12px}.hero-search-preview b{width:34px;height:34px;font-size:1.2rem}.hero-category-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.hero-pill{flex:0 0 auto;padding:9px 12px;font-size:.7rem}.logo-scene{order:2;width:100%;height:420px;margin:4px auto 0}.hero-capybara{width:100%;height:430px}.logo-scene::before{width:320px;height:78px;bottom:26px}.logo-scene::after{inset:40px 0 34px}.trust-strip{order:3;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.hero-capybara{animation:none}}

/* Logo final: the word Streaming is already part of the transparent PNG. */
.header{height:92px}.header-inner{height:92px}.logo-mark,.logo-mark img{width:238px;height:88px}
.footer-logo img{width:226px!important;height:90px!important}
@media(max-width:760px){.header,.header-inner{height:78px}.logo-mark,.logo-mark img{width:178px;height:70px}.footer-logo img{width:210px!important;height:84px!important}}

/* Distilled catalog: one filter system, no duplicate sidebar. */
.catalog-section{padding-top:78px}.catalog-layout{display:block;max-width:1280px}.catalog-sidebar{display:none}.catalog-content{max-width:1280px;margin:0 auto}.catalog-heading{margin-bottom:28px}.catalog-heading h2{font-size:clamp(2.4rem,4.2vw,4.4rem)}.catalog-heading p{max-width:54ch}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.search-box{max-width:760px}.hero-gradient,.catalog-heading h2 em,.how-section h2 em{background:none;color:#c78dff;-webkit-text-fill-color:initial}
@media(max-width:1180px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.catalog-section{padding:54px 14px 70px}.catalog-heading h2{font-size:2.5rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Professional ambient motion: restrained aurora instead of repetitive waves. */
#bgWave{display:none!important}
body::after{background:radial-gradient(ellipse at 18% 28%,rgba(101,66,255,.25),transparent 34%),radial-gradient(ellipse at 78% 38%,rgba(18,124,255,.17),transparent 32%),radial-gradient(ellipse at 54% 88%,rgba(184,69,255,.14),transparent 38%);background-size:140% 140%,160% 160%,125% 125%;animation:ambient-aurora 24s cubic-bezier(.45,0,.2,1) infinite alternate;will-change:background-position}
@keyframes ambient-aurora{0%{background-position:0% 0%,100% 15%,42% 100%}50%{background-position:28% 14%,72% 0%,70% 78%}100%{background-position:58% 4%,36% 22%,18% 92%}}
.how-section{background:linear-gradient(180deg,rgba(9,10,24,.64),rgba(5,6,17,.94));border-top-color:rgba(155,129,255,.18)}
.how-section h2{font-size:clamp(2.5rem,5vw,4.4rem);margin-bottom:42px}.how-steps{position:relative;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0;border-top:1px solid rgba(160,133,255,.3);border-bottom:1px solid rgba(160,133,255,.3)}
.how-steps>div{position:relative;min-height:218px;padding:30px 32px 28px;border-right:1px solid rgba(160,133,255,.2);background:linear-gradient(180deg,rgba(28,24,67,.24),transparent 74%)}
.how-steps>div:last-child{border-right:0}.how-steps>div:not(:last-child)::after{content:'';position:absolute;right:-5px;top:44px;width:8px;height:8px;border-top:1px solid #a678ff;border-right:1px solid #a678ff;transform:rotate(45deg);background:#0b0a20;z-index:2}
.how-steps b{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(178,137,255,.8);border-radius:12px;color:#d09bff;background:rgba(114,70,240,.2);font-size:.74rem;letter-spacing:.08em;box-shadow:0 0 18px rgba(107,57,255,.22)}
.how-steps strong{margin:22px 0 8px;color:#fff;font-size:1.18rem;letter-spacing:-.02em}.how-steps span{max-width:30ch;color:#b7b0d0;font-size:.9rem;line-height:1.45}.how-steps small{display:block;margin-top:12px;color:#a979ed;font-size:.72rem;font-weight:700;letter-spacing:.02em}
@media(prefers-reduced-motion:reduce){body::after{animation:none;will-change:auto}}
@media(max-width:760px){body::after{animation-duration:34s}.how-section{padding:56px 22px 68px}.how-section h2{font-size:2.45rem;margin-bottom:22px}.how-steps{grid-template-columns:1fr}.how-steps>div{min-height:0;border-right:0;border-bottom:1px solid rgba(160,133,255,.18);padding:18px 0 20px;background:none}.how-steps>div:last-child{border-bottom:0}.how-steps>div:not(:last-child)::after{right:auto;left:20px;top:auto;bottom:-5px;transform:rotate(135deg)}.how-steps strong{margin:13px 0 5px;font-size:1.08rem}.how-steps span{font-size:.84rem;line-height:1.45}.how-steps small{margin-top:8px;font-size:.68rem}}

/* Light-mode contrast corrections: the logo itself is transparent; the old
   dark tile belonged to the previous light-mode treatment. */
html[data-theme="light"] .logo-mark{padding:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
html[data-theme="light"] .logo-mark img{mix-blend-mode:normal!important}
html[data-theme="light"] .how-section{background:linear-gradient(180deg,#f4f5fc 0%,#fbfbff 100%)!important}
html[data-theme="light"] .how-steps{background:transparent;border-color:rgba(86,62,150,.2)!important}
html[data-theme="light"] .how-steps>div{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.48))!important;border-color:rgba(86,62,150,.14)!important}
html[data-theme="light"] .how-steps>div:not(:last-child)::after{background:#f7f7fd;border-color:#7650d8}
html[data-theme="light"] .how-steps b{color:#6940bd;background:#eee8ff;border-color:rgba(105,64,189,.42);box-shadow:0 5px 16px rgba(105,64,189,.14)}
html[data-theme="light"] .how-steps strong{color:#241b3d!important}
html[data-theme="light"] .how-steps span{color:#5e5875!important}
html[data-theme="light"] .how-steps small{color:#7043c7!important}
html[data-theme="light"] .outofstock-modal{color:#241b3d!important}
html[data-theme="light"] .outofstock-title{color:#241b3d!important}
html[data-theme="light"] .outofstock-text{color:#5e5875!important}

/* Compact mobile header: keep the real WhatsApp label instead of the old arrow. */
@media(max-width:760px){
  .logo-mark,.logo-mark img{width:clamp(198px,60vw,232px);height:auto;max-height:78px}
}
@media(max-width:420px){
  .header-whatsapp{font-size:.68rem!important;width:auto!important;height:38px!important;padding:9px 11px!important;justify-content:center;gap:6px}
  .header-whatsapp::before{content:none!important;display:none!important}
  .header-whatsapp-icon{width:17px;height:17px}
  .header-whatsapp-number{display:none!important}
  .header-whatsapp-label{display:inline!important}
}

/* The product dialog should wrap its content on mobile. The previous
   max-height treatment made short product descriptions look like a blank
   white panel after the note. */
.modal{height:auto!important;min-height:0!important}
.modal-body{height:auto!important;min-height:0!important;flex:0 0 auto}
.modal::before,.modal::after{inset:0!important}
@media(max-width:600px){
  .modal{max-height:calc(100dvh - 10px)!important;overflow-y:auto}
  .modal-body{padding-bottom:18px}
}

/* Mobile hero orbit: keep the capybara's halo circular instead of stretching
   it with the full-width hero box. The floor ring remains elliptical on
   purpose, like a perspective platform. */
@media(max-width:760px){
  .logo-scene::after{
    inset:auto;
    width:min(78vw,320px);
    height:min(78vw,320px);
    left:50%;
    top:50%;
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(9deg);
  }
}

/* Mobile catalog search: preserve the desktop control's proportions and
   rounded-rectangle treatment instead of collapsing into a thin pill. */
@media(max-width:760px){
  .catalog-section .controls-wrap .search-row{
    width:100%;
    margin:0 auto 20px;
    align-items:stretch;
  }
  .catalog-section .controls-wrap .search-box{
    box-sizing:border-box;
    width:100%;
    max-width:none;
    min-width:0;
    height:54px!important;
    flex:0 0 54px;
    padding:0 18px!important;
    gap:12px;
    border-radius:16px!important;
  }
  .catalog-section .controls-wrap .search-box svg{
    width:18px;
    height:18px;
  }
  .catalog-section .controls-wrap .search-box input{
    min-width:0;
    font-size:.95rem!important;
    line-height:1.2;
  }
}
@media(max-width:420px){
  .catalog-section .controls-wrap .search-box{
    height:52px!important;
    flex-basis:52px;
    padding-inline:16px!important;
  }
}
