/* ════════════════════════════════ HOME / WELCOME — OnAPB Construido sobre kinetic-arena.css ════════════════════════════════ */ /* ── Contenedor base ── */ .index-container { max-width: 1100px; margin: 40px auto; padding: 0 15px; } .index-container h2 { font-size: 2.2rem; color: var(--primary); margin-bottom: 25px; } /* ── Hero / Carousel principal ── */ .hero-img { object-fit: cover; height: 70vh; filter: brightness(70%); } .hero-caption h1 { font-size: clamp(2.5rem, 7vw, 5rem); text-shadow: 0 2px 12px rgba(0,0,0,0.5); font-family: var(--font-display) !important; } .hero-caption p { font-size: 1.1rem; text-shadow: 0 2px 8px rgba(0,0,0,0.4); } .btn-hero { background: var(--primary); color: #fff; padding: 12px 28px; border-radius: 0; text-decoration: none; font-family: var(--font-display) !important; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: background-color 0.25s, transform 0.2s; } .btn-hero:hover { background: var(--primary-deep); color: white; transform: translateY(-1px); } /* ── Cards de eventos / promos ── */ .index-container .card { border-radius: var(--radius); border: 1px solid var(--outline-variant); overflow: hidden; transition: transform 0.22s ease, box-shadow 0.22s ease; background: var(--surface-container-lowest); } .index-container .card img { width: 100%; height: 200px; object-fit: cover; } .index-container .card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .index-container .card-body { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; } .index-container .card-title { font-size: 1rem; font-weight: 700; color: var(--on-surface); margin-bottom: 8px; font-family: var(--font-display) !important; letter-spacing: 0.02em; text-transform: uppercase; } .index-container .card-text { font-size: 0.9rem; color: var(--on-surface-muted); } .index-container .badge { font-size: 0.75rem; padding: 5px 10px; border-radius: var(--radius-sm); } .card-text i.bi { color: var(--primary); font-size: 1rem; } /* ── Carousel de eventos (controles) ── */ #eventosCarousel { position: relative; padding: 0 60px; } #eventosCarousel .carousel-item { transition: transform 0.8s ease, opacity 0.5s ease-out; } #eventosCarousel .carousel-control-prev, #eventosCarousel .carousel-control-next { width: 44px; height: 44px; top: 50%; transform: translateY(-50%); background: rgba(26, 18, 8, 0.25); border-radius: 50%; transition: background 0.25s; z-index: 10; } #eventosCarousel .carousel-control-prev:hover, #eventosCarousel .carousel-control-next:hover { background: var(--primary); } #eventosCarousel .carousel-control-prev { left: -52px; } #eventosCarousel .carousel-control-next { right: -52px; } /* ── Standings Widget ── */ #standingsCarousel { min-height: 380px; } .standings-header { border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 10px; } #standingsCarousel .table td { border-color: rgba(255,255,255,0.06); } #standingsCarousel .btn-outline-light:hover { background: var(--primary); border-color: var(--primary); color: white; } /* ── Responsive ── */ @media (max-width: 768px) { #eventosCarousel { padding: 0 16px; overflow: hidden; } #eventosCarousel .carousel-control-prev { left: 6px; } #eventosCarousel .carousel-control-next { right: 6px; } .index-container .card img { height: 160px; } .hero-caption h1 { font-size: 2rem; } .hero-caption p { font-size: 0.95rem; } .index-container h2 { font-size: 1.6rem; } #standingsCarousel { min-height: auto; } #promosCarousel .col-md-4, #eventosCarousel .col-md-4 { flex: 0 0 100%; max-width: 100%; } } @media (max-width: 576px) { .hero-img { height: 45vh; } .index-container .card img { height: 140px; } .index-container h2 { font-size: 1.4rem; } .index-container .card-body { padding: 10px; } #eventosCarousel .carousel-control-prev, #eventosCarousel .carousel-control-next { display: none; } }