/* Reset y base */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'TuFuenteLocal', sans-serif; background:#1a1a2e; color:#fff; line-height:1.6; }
a { text-decoration:none; color:inherit; }

/* Selección de texto celeste */
::selection { background:#00d4ff; color:#000; }

/* Carruseles */
.carousel img, .tournament-carousel img { width:100%; position:absolute; top:0; left:0; opacity:0; transition:opacity 1s ease-in-out; object-fit:cover; aspect-ratio:16/9; }
.carousel img.active, .tournament-carousel img.active { opacity:1; }

/* Hero */
.hero { position:relative; text-align:center; overflow:hidden; }
.hero-content { position:relative; z-index:2; padding:2rem; }
.logo { width:200px; margin-bottom:1rem; }
.subtitle, .choose-plan-text, .price-text, .discount-text { margin:0.5rem 0; }

/* Formulario email */
.email-form { margin:1rem 0; }
.email-form input { padding:0.5rem; border:none; border-radius:5px; margin-right:0.5rem; }
.email-form button { padding:0.5rem 1rem; border:none; border-radius:5px; background:#ff4dbd; color:white; cursor:pointer; transition:0.3s; }
.email-form button:hover { background:#ff1aa3; }

/* Login Button */
.login-btn { position:absolute; top:1rem; right:1rem; padding:0.5rem 1rem; background:#00d4ff; border:none; border-radius:5px; cursor:pointer; transition:0.3s; }
.login-btn:hover { background:#00a6cc; }

/* Gallery */
.gallery { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin:2rem 0; }
.gallery img { width:200px; border-radius:10px; transition:transform 0.3s; }
.gallery img:hover { transform:scale(1.05); }

/* Deportes */
.sports-section { text-align:center; padding:2rem; }
.sports-section img { width:80%; border-radius:10px; margin-bottom:1rem; }

/* Carrusel torneos */
.tournaments { padding:2rem; text-align:center; }
.tournament-carousel { display:flex; overflow:hidden; gap:1rem; scroll-behavior:smooth; }
.tournament-carousel img { flex:0 0 auto; width:300px; height:169px; border-radius:10px; transition:transform 0.3s; }
.tournament-carousel img:hover { transform:scale(1.05); }

/* Planes */
.plan-cards { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin:2rem 0; }
.plan { background:#2a2a3d; padding:1rem; border-radius:10px; cursor:pointer; flex:1 1 150px; text-align:center; transition:0.3s; }
.plan:hover, .plan:focus { background:#00d4ff; color:#000; transform:scale(1.05); }
.plan.popular { border:2px solid #ff4dbd; }

/* Carrusel películas */
#moviesCarousel img { width:200px; position:absolute; left:50%; transform:translateX(-50%); opacity:0; transition:opacity 1s; }
#moviesCarousel img.active { opacity:1; }

/* Devices */
.devices { text-align:center; padding:2rem; }

/* FAQ */
.faq { padding:2rem; max-width:800px; margin:0 auto; }
.faq-item { margin-bottom:1rem; }
.faq-question { width:100%; text-align:left; padding:0.5rem; background:#2a2a3d; border:none; border-radius:5px; cursor:pointer; }
.faq-answer { display:none; padding:0.5rem; background:#1a1a2e; border-radius:5px; margin-top:0.3rem; }

/* Top 10 posters verticales */
.top10-list li img { aspect-ratio:2/3; width:120px; object-fit:cover; border-radius:5px; margin-right:0.5rem; vertical-align:middle; }

/* Footer */
footer { background:#111; text-align:center; padding:2rem; font-size:0.8rem; }
.footer-logo { width:100px; margin-bottom:1rem; }

/* Modal login */
.modal { display:none; position:fixed; z-index:100; left:0; top:0; width:100%; height:100%; overflow:auto; background:rgba(0,0,0,0.8); }
.modal-content { background:#1a1a2e; margin:10% auto; padding:2rem; border-radius:10px; width:90%; max-width:400px; position:relative; }
.close { position:absolute; top:10px; right:15px; font-size:1.5rem; cursor:pointer; color:#fff; }
.modal-content input { width:100%; padding:0.5rem; margin:0.5rem 0; border-radius:5px; border:none; }
.modal-content button { width:100%; padding:0.5rem; border:none; border-radius:5px; background:#ff4dbd; color:#fff; cursor:pointer; transition:0.3s; }
.modal-content button:hover { background:#ff1aa3; }