LOTERÍA
.lot-wrap{ --lot-bg:#f2dbe6; --lot-black:#150912; --lot-accent:#b81571; --lot-accent-soft:#e8a9cf; --lot-lime:#c6f135; --lot-text-dark:#241220; --lot-muted-dark:#87657a; font-famil y: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif; background: var(--lot-bg); color: var(--lot-text-dark); border-radius: 22px; padding: 26px 18px 30px; max-width: 560px; margin: 0 auto; box-sizing: border-box; } .lot-wrap *{box-sizing:border-box;} @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&display=swap'); /* ---- header ---- */ .lot-eyebrow{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--lot-muted-dark); font-weight:700; margin-bottom:6px; } .lot-title{ font-size:38px; font-weight:700; letter-spacing:-.01em; margin:0 0 6px; color:var(--lot-text-dark); } .lot-sub{ font-size:14px; line-height:1.55; color:var(--lot-muted-dark); margin-bottom:6px; } .lot-sub b{ color:var(--lot-text-dark); } .lot-more{ font-size:13px; font-weight:700; color:var(--lot-text-dark); cursor:pointer; display:inline-flex; align-items:center; gap:4px; -webkit-tap-highlight-color:transparent; } .lot-more-text{ display:none; font-size:14px; line-height:1.55; color:var(--lot-muted-dark); margin:8px 0 0; } .lot-more-toggle{ display:none; } .lot-more-toggle:checked ~ .lot-more-text{ display:block; } .lot-more-toggle:checked ~ .lot-more .lot-more-arrow{ transform:rotate(180deg); } .lot-more-arrow{ transition: transform .2s ease; display:inline-block; } /* ---- nav pills ---- */ .lot-nav{ display:flex; gap:18px; margin:20px 0 6px; border-bottom:1px solid rgba(0,0,0,.1); padding-bottom:2px; overflow-x:auto; } .lot-nav a{ text-decoration:none; color:var(--lot-muted-dark); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; display:flex; align-items:center; gap:6px; padding-bottom:12px; border-bottom:2px solid transparent; white-space:nowrap; } .lot-nav a:first-child{ color:var(--lot-text-dark); border-color:var(--lot-accent); } /* ---- hold button ---- */ .lot-spray{ position:relative; margin-top:20px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; background: var(--lot-black); border:1px solid #2e1626; border-radius:18px; padding:18px 20px; text-align:center; cursor:pointer; user-select:none; -webkit-tap-highlight-color: transparent; touch-action:none; transition: border-color .15s ease; } .lot-spray.lot-holding{ border-color: var(--lot-accent); } .lot-spray.lot-done{ border-color: var(--lot-lime); } .lot-spray-top{ display:flex; align-items:center; gap:10px; } .lot-spray-label{ font-weight:700; font-size:14px; color:#fff; } .lot-mist{ position:relative; width:16px; height:16px; flex:none; } .lot-mist span{ position:absolute; top:50%; left:50%; width:4px; height:4px; border-radius:50%; background:var(--lot-accent); opacity:0; } .lot-holding .lot-mist span{ animation: lot-puff 1s ease-out infinite; } .lot-mist span:nth-child(1){ animation-delay:0s; --dx:-12px; } .lot-mist span:nth-child(2){ animation-delay:.12s; --dx:-4px; } .lot-mist span:nth-child(3){ animation-delay:.24s; --dx:5px; } .lot-mist span:nth-child(4){ animation-delay:.36s; --dx:13px; } @keyframes lot-puff{ 0%{ transform:translate(-50%,-50%) scale(.4); opacity:.9;} 100%{ transform:translate(calc(-50% + var(--dx,10px)), calc(-50% - 20px)) scale(1.5); opacity:0;} } .lot-spray small{ color:#ab8ba0; font-size:11px; } .lot-progress-track{ width:100%; height:7px; border-radius:99px; background:#28131f; margin-top:10px; overflow:hidden; } .lot-progress-fill{ height:100%; width:0%; border-radius:99px; background:linear-gradient(90deg,var(--lot-accent),var(--lot-lime)); } .lot-progress-fill.lot-instant{ transition:width .25s ease; } /* ---- pyramid reveal panel ---- */ .lot-pyramid{ display:none; margin-top:14px; background:var(--lot-black); border-radius:18px; padding:20px 16px 22px; position:relative; overflow:hidden; } .lot-pyramid.lot-show{ display:block; animation: lot-pop .35s ease; } @keyframes lot-pop{ from{opacity:0; transform:scale(.95);} to{opacity:1; transform:scale(1);} } .lot-pyramid h3{ color:var(--lot-accent-soft); font-size:19px; margin:0 0 4px; letter-spacing:.01em; } .lot-pyramid p.lot-py-sub{ color:#ab8ba0; font-size:12.5px; margin:0 0 16px; } .lot-carousel{ margin:0 -16px; padding:4px 16px 6px; display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; } .lot-carousel::-webkit-scrollbar{ display:none; } .lot-slide{ flex:0 0 82%; scroll-snap-align:center; background:#211020; border:1px solid #382034; border-radius:16px; padding:20px 14px; text-align:center; } .lot-slide-eyebrow{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--lot-accent-soft); font-weight:700; margin-bottom:4px; } .lot-slide-title{ font-size:15px; font-weight:700; color:#fff; margin-bottom:14px; } .lot-note-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; } .lot-note-item{ width:72px; } .lot-note-circle{ width:56px; height:56px; border-radius:50%; background:#150912; border:1px solid #382034; display:flex; align-items:center; justify-content:center; font-size:24px; margin:0 auto 6px; } .lot-note-label{ font-size:11px; color:#e0c3d5; line-height:1.25; } .lot-dots{ display:flex; justify-content:center; gap:7px; margin-top:14px; } .lot-dot{ width:7px; height:7px; border-radius:50%; background:#382034; cursor:pointer; transition: background .2s ease, transform .2s ease; } .lot-dot.lot-dot-active{ background:var(--lot-accent); transform:scale(1.3); } .lot-swipe-hint{ text-align:center; font-size:11px; color:#ab8ba0; margin-top:12px; } /* ---- intensidad ---- */ .lot-intensity{ margin-top:16px; background:#faedf3; border:1px solid #eab9d5; border-radius:16px; padding:16px; } .lot-intensity h4{ margin:0 0 2px; font-size:14px; color:var(--lot-text-dark); } .lot-intensity p{ margin:0 0 10px; font-size:12px; color:var(--lot-muted-dark); } .lot-bolts{ display:flex; align-items:center; justify-content:space-between; } .lot-bolt-icons{ font-size:20px; letter-spacing:2px; } .lot-bolt-icons .off{ opacity:.25; } .lot-bolt-num{ font-size:24px; font-weight:700; color:var(--lot-text-dark); } .lot-bolt-num span{ font-size:13px; font-weight:400; color:var(--lot-muted-dark); } /* ---- ambientes ---- */ .lot-where{ margin-top:16px; } .lot-where h4{ margin:0 0 2px; font-size:14px; } .lot-where p{ margin:0 0 10px; font-size:12px; color:var(--lot-muted-dark); } .lot-where-opts{ display:flex; gap:8px; flex-wrap:wrap; } .lot-where input{ display:none; } .lot-where label{ padding:9px 14px; border-radius:999px; border:1px solid var(--lot-accent); color:var(--lot-accent); font-size:12.5px; font-weight:700; cursor:pointer; -webkit-tap-highlight-color:transparent; } .lot-where input:checked + label{ background:var(--lot-accent); color:#fff; } .lot-where-recs{ margin-top:12px; } .lot-rec{ display:none; background:#fff; border:1px dashed var(--lot-accent); border-radius:12px; padding:12px 14px; font-size:12.5px; color:var(--lot-text-dark); line-height:1.5; } .lot-rec b{ color:var(--lot-accent); } .lot-rec.lot-rec-active{ display:block; } /* ---- badges ---- */ .lot-badges{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 4px; } .lot-badge{ display:flex; align-items:center; gap:6px; background:var(--lot-black); color:var(--lot-lime); border:1px solid #2e1626; padding:8px 12px; border-radius:999px; font-size:11.5px; font-weight:700; } /* ---- accordions ---- */ .lot-acc{ background:var(--lot-black); border:1px solid #2e1626; border-radius:14px; margin-top:12px; overflow:hidden; } .lot-acc summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; padding:15px 16px; font-weight:700; font-size:14px; color:#fff; -webkit-tap-highlight-color:transparent; } .lot-acc summary::-webkit-details-marker{ display:none; } .lot-acc summary .lot-ico{ font-size:16px; margin-right:9px; } .lot-acc summary .lot-plus{ width:20px; height:20px; border-radius:50%; border:1px solid var(--lot-accent); display:flex; align-items:center; justify-content:center; color:var(--lot-accent); font-size:14px; flex:none; transition:transform .25s ease; } .lot-acc[open] summary .lot-plus{ transform:rotate(45deg); } .lot-acc-body{ padding:0 16px 16px; font-size:13px; line-height:1.6; color:#ab8ba0; } .lot-legal .lot-warn{ color:var(--lot-accent-soft); font-weight:700; } .lot-footer{ text-align:center; margin-top:20px; padding-top:16px; border-top:1px solid rgba(0,0,0,.1); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--lot-muted-dark); } .lot-footer b{ color:var(--lot-text-dark); } Ardad · Room Perfume · 100ml LOTERÍA Dorado y magnético 🪷 Como abrir la carta ganadora. Ver más ⌄ Misterioso y envolvente: un chorrito y tu casa se llena de un aire dorado, casi como un buen augurio. Bergamota y pimienta rosa al abrir, flor de loto y jojoba en el corazón, y de fondo almizcle blanco y sándalo que se quedan flotando durante horas. 🔥 El aroma 🧴 Uso ⚠️ Legal MANTÉN PULSADO 3 SEGUNDOS PARA DESCUBRIR SU PIRÁMIDE OLFATIVA No sueltes hasta el final ¿A QUÉ HUELE LOTERÍA? Desliza y descubre cada fase. Salida La carta se descubre 🍋 Bergamota 🌶️ Pimienta rosa Corazón El premio 🪷 Flor de loto 🫙 Jojoba Fondo Lo que se queda 🟤 Almizcle blanco 🪵 Sándalo 👉 desliza para ver las 3 fases Intensidad Así de fuerte llega a la habitación. ⚡⚡⚡⚡⚡ 4/5 · misterioso y envolvente ¿Dónde lo usas? Elige tu ambiente y te decimos dónde pulverizar para que dure más. 🛋️ Salón 🚪 Entrada 🛁 Baño 🛏️ Habitación 📍 En el salón: pulveriza sobre las cortinas o los cojines del sofá, lejos de la luz solar directa. El tejido retiene el aroma mucho más tiempo que el aire libre. 📍 En la entrada: un par de pulsaciones en la alfombra de bienvenida o cerca del perchero. Es lo primero que huelen tus visitas al abrir la puerta, como un buen presagio. 📍 En el baño: pulveriza sobre las toallas dobladas o cerca de la cortina de ducha, evitando el contacto directo con el agua para que no pierda fuerza. 📍 En la habitación: rocía la ropa de cama por la mañana (nunca directamente sobre la almohada) o las cortinas: el aroma se va liberando poco a poco durante el día. 🌿 100% Vegano 🚫 Sin Ftalatos 🐰 Cruelty-free 🧴Modo de empleo+ Agita ligeramente antes de usar. Pulveriza 2-3 veces en el aire, en punto medio de la habitación, a una distancia mínima de 20 cm de telas y superficies. Ideal para entradas, baños y salones. Evita pulverizar directamente sobre madera, cuero o pantallas. ⚠️Información legal+ Contiene alcohol desnaturalizado. Producto inflamable: mantener alejado de fuentes de calor, chispas y llamas abiertas. No fumar durante su uso ni pulverizar cerca de velas encendidas. Uso exclusivo para ambientes. No aplicar directamente sobre piel, ropa, mascotas, plantas ni superficies delicadas. Pulverizar a una distancia mínima de 20 cm. Fórmula vegana, no testada en animales, libre de ftalatos y parabenos. Mantener fuera del alcance de los niños. No ingerir. En caso de contacto con los ojos, lavar abundantemente con agua y consultar a un médico si persiste la irritación. Conservar en lugar fresco y seco, protegido de la luz solar directa. Cerrar bien tras cada uso. Hecho para narices exigentes · Ardad (function(){ var btn = document.getElementById('lotSprayBtn'); var fill = document.getElementById('lotProgressFill'); var hint = document.getElementById('lotSprayHint'); var label = document.getElementById('lotSprayLabel'); var pyramid = document.getElementById('lotPyramid'); var DURATION = 3000; var startTime = null, rafId = null, done = false; function frame(ts){ if(startTime === null) startTime = ts; var elapsed = ts - startTime; var pct = Math.min(100, (elapsed/DURATION)*100); fill.style.width = pct + '%'; if(elapsed >= DURATION){ success(); return; } if(elapsed > DURATION*0.5){ label.textContent = 'YA CASI... ¡NO SUELTES!'; } rafId = requestAnimationFrame(frame); } function startHold(e){ if(done) return; if(e.cancelable) e.preventDefault(); btn.classList.add('lot-holding'); startTime = null; fill.classList.remove('lot-instant'); rafId = requestAnimationFrame(frame); } function cancelHold(){ if(done) return; if(rafId){ cancelAnimationFrame(rafId); rafId = null; } btn.classList.remove('lot-holding'); fill.classList.add('lot-instant'); fill.style.width = '0%'; label.textContent = 'MANTÉN PULSADO 3 SEGUNDOS PARA DESCUBRIR SU PIRÁMIDE OLFATIVA'; startTime = null; } function success(){ done = true; if(rafId){ cancelAnimationFrame(rafId); rafId = null; } fill.style.width = '100%'; btn.classList.remove('lot-holding'); btn.classList.add('lot-done'); label.textContent = 'PIRÁMIDE DESBLOQUEADA 🪷'; hint.textContent = 'Ahora demuestra que tienes buena nariz'; pyramid.classList.add('lot-show'); setTimeout(function(){ pyramid.scrollIntoView({behavior:'smooth', block:'center'}); }, 200); } btn.addEventListener('pointerdown', startHold); btn.addEventListener('pointerup', cancelHold); btn.addEventListener('pointerleave', cancelHold); btn.addEventListener('pointercancel', cancelHold); /* ---- carrusel con puntos ---- */ var carousel = document.getElementById('lotCarousel'); var dots = document.querySelectorAll('.lot-dot'); var slides = document.querySelectorAll('.lot-slide'); function setActiveDot(i){ dots.forEach(function(d){ d.classList.remove('lot-dot-active'); }); if(dots[i]) dots[i].classList.add('lot-dot-active'); } carousel.addEventListener('scroll', function(){ var center = carousel.scrollLeft + carousel.clientWidth/2; var closest = 0, closestDist = Infinity; slides.forEach(function(s, i){ var mid = s.offsetLeft + s.offsetWidth/2; var dist = Math.abs(mid - center); if(dist < closestDist){ closestDist = dist; closest = i; } }); setActiveDot(closest); }, { passive:true }); dots.forEach(function(d){ d.addEventListener('click', function(){ var i = parseInt(d.getAttribute('data-i'), 10); var target = slides[i]; if(target){ carousel.scrollTo({ left: target.offsetLeft - (carousel.clientWidth - target.offsetWidth)/2, behavior:'smooth' }); } }); }); /* ---- recomendaciones por estancia ---- */ var whereRadios = document.querySelectorAll('.lot-where input[type="radio"]'); var recs = document.querySelectorAll('.lot-rec'); var recMap = { 'lot-w1':'rec1', 'lot-w2':'rec2', 'lot-w3':'rec3', 'lot-w4':'rec4' }; whereRadios.forEach(function(r){ r.addEventListener('change', function(){ if(!r.checked) return; var target = recMap[r.id]; recs.forEach(function(p){ p.classList.toggle('lot-rec-active', p.classList.contains(target)); }); }); }); })();