/* =============================================
   SMILEY HERO GALLERY v5.4
   ============================================= */
:root { --smiley-red: #ff0000; --smiley-green: #33cc33; }
.smiley-hero-gallery { position:relative; width:100%; max-width:1400px; margin:0 auto; padding:24px; }
.smiley-hero-container { position:relative; width:100%; background:#000; border:24px solid #fff; border-radius:20px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,.15); display:flex; flex-direction:column; }
.smiley-hero-main { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:#000; }
.smiley-hero-video-wrap { position:absolute; top:50%; left:50%; width:110%; height:110%; transform:translate(-50%,-50%); pointer-events:none; }
.smiley-hero-video-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
.smiley-hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,0) 35%,rgba(0,0,0,.65) 100%); pointer-events:none; z-index:2; }
.smiley-hero-textos { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding:0 40px 50px; pointer-events:none; text-align:center; gap:10px; }
.smiley-titulos-wrap { position:relative; width:100%; min-height:2em; }
.smiley-titulo { position:absolute; width:100%; left:0; font-size:clamp(16px,2.6vw,36px); font-weight:800; color:#fff; line-height:1.2; margin:0; text-shadow:0 2px 12px rgba(0,0,0,.9); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; opacity:0; transform:translateY(10px); transition:opacity .6s ease,transform .6s ease; }
.smiley-titulo.activo { opacity:1; transform:translateY(0); }
.smiley-subtitulo { font-size:clamp(13px,1.8vw,24px); font-weight:500; color:rgba(255,255,255,.9); line-height:1.4; margin:0; text-shadow:0 1px 8px rgba(0,0,0,.9); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.smiley-hero-dots { display:flex; gap:10px; justify-content:center; }
.smiley-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.4); transition:background .3s ease,transform .3s ease; }
.smiley-dot.activo { background:#fff; transform:scale(1.3); }
.smiley-hero-no-video { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#f3f4f6; color:#4a5568; font-size:18px; text-align:center; padding:20px; }
.smiley-hero-cta-container { flex:0 0 auto; height:70px; display:flex; align-items:center; justify-content:center; background:#fff; padding:12px 20px; }
.smiley-hero-cta { display:inline-flex; align-items:center; gap:10px; padding:12px 32px; background:var(--smiley-red); color:white!important; font-size:16px; font-weight:700; text-decoration:none; border-radius:50px; transition:all .3s ease; box-shadow:0 2px 8px rgba(255,0,0,.3); white-space:nowrap; }
.smiley-hero-cta:hover { background:var(--smiley-green); transform:translateY(-2px); box-shadow:0 4px 12px rgba(51,204,51,.4); color:white!important; }
.smiley-hero-cta svg { transition:transform .3s ease; flex-shrink:0; }
.smiley-hero-cta:hover svg { transform:translateX(5px); }
@media(max-width:768px){ .smiley-hero-gallery{padding:16px} .smiley-hero-container{border-width:16px;border-radius:16px} .smiley-hero-textos{padding:0 20px 40px} .smiley-hero-cta-container{height:60px} .smiley-hero-cta{font-size:14px;padding:10px 24px} }
@media(max-width:480px){ .smiley-hero-gallery{padding:10px} .smiley-hero-container{border-width:12px;border-radius:12px} .smiley-hero-textos{padding:0 15px 30px} .smiley-hero-cta-container{height:55px} .smiley-hero-cta{font-size:13px;padding:9px 20px} }
