/* ═══════════════════════════════════════════════════════
   home-contest.css — bribool Capital v2 (dark premium gold)
   Ganadores del concurso — dark gold
═══════════════════════════════════════════════════════ */

.ad-contest-section {
    position: relative; overflow: hidden; padding: 82px 0 86px;
    background:
        linear-gradient(rgba(14,3,33,.82), rgba(14,3,33,.82)),
        url('../images/fondovideo.png') center/cover fixed;
}
.ad-contest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr);
    align-items: center;
    gap: clamp(52px, 6vw, 108px);
}
.ad-contest__copy { max-width: 720px; }
.ad-contest__eyebrow {
    display: inline-flex; margin-bottom: 18px; color: #d4a020;
    font-size: 15px; font-weight: var(--ad-section-eyebrow-weight);
    letter-spacing: .2px; text-transform: uppercase;
}
.ad-contest__copy h2 {
    margin: 0; color: #ffffff;
    font-size: clamp(38px, 2.8vw, 48px); font-weight: 600;
    letter-spacing: 0; line-height: 1.14; text-transform: none;
}
.ad-contest__copy p {
    max-width: 620px; margin: 20px 0 0;
    color: rgba(255,255,255,.58); font-size: 16px; font-weight: 500; line-height: 1.78;
}
.ad-contest__btn {
    position: relative;
    width: fit-content; min-width: 188px; min-height: 50px;
    margin-top: 34px; padding: 0 30px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px;
    background: linear-gradient(160deg, #e8b840 0%, #c8902a 50%, #9a6c10 100%);
    color: #1c0e00 !important; font-size: 14px; font-weight: 800;
    letter-spacing: .5px; text-transform: uppercase;
    border: 1px solid rgba(232,184,64,.40);
    transition: transform .22s ease;
}
.ad-contest__btn::after {
    content: "";
    position: absolute; inset: -10px;
    border: 2px solid rgba(232,184,64,.72);
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
.ad-contest__btn:hover,
.ad-contest__btn:focus-visible {
    transform: translateY(-2px);
}
.ad-contest__btn:hover::after,
.ad-contest__btn:focus-visible::after {
    opacity: 1;
    animation: ad-hero-btn-ring-pulse 2s infinite;
}
.ad-contest__visual {
    position: relative; min-height: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
/* Blob decorativo — oculto en v2, se mantiene el elemento por compatibilidad con el v1 partial */
.ad-contest__blob { display: none; }
.ad-contest-slider {
    position: relative; z-index: 1;
    width: min(386px, 86vw); aspect-ratio: 1254 / 1354;
}
.ad-contest-slide {
    position: absolute; inset: 0;
    display: grid; place-items: stretch;
    opacity: 0; pointer-events: none; transition: opacity .28s ease;
}
.ad-contest-slide.active { opacity: 1; pointer-events: auto; }
.ad-contest-slide__image {
    position: relative; display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%;
}
.ad-contest-slide__image img {
    position: relative; width: 100%; max-width: none; height: auto; object-fit: contain;
}
.ad-contest-slide__meta {
    position: absolute; z-index: 4; left: 50%; bottom: 26px; width: 100%;
    display: flex; flex-direction: column; align-items: center;
    transform: translateX(-50%); text-align: center;
}
.ad-contest-slide__meta strong {
    color: #e8b840; font-size: clamp(24px, 2.4vw, 31px);
    font-weight: 700; letter-spacing: .4px; line-height: 1.05;
}
.ad-contest-slide__meta span {
    margin-top: 6px; color: rgba(255,255,255,.85);
    font-size: 13px; font-weight: 700; line-height: 1; text-transform: uppercase;
}
.ad-contest-dots {
    position: relative; z-index: 2;
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 10px; padding: 7px 9px;
    border: 1px solid rgba(210,155,25,.20); border-radius: 999px;
    background: rgba(255,255,255,.06);
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
.ad-contest-dots button {
    width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px;
    background: rgba(210,155,25,.25); cursor: pointer;
    transition: width .2s ease, background .2s ease;
}
.ad-contest-dots button.active { width: 28px; background: #d4a020; }

@media (max-width: 1100px) {
    .ad-contest { grid-template-columns: 1fr; gap: 42px; }
    .ad-contest__copy { max-width: 720px; margin: 0 auto; text-align: center; }
    .ad-contest__copy p { margin-left: auto; margin-right: auto; }
    .ad-contest__btn { margin-left: auto; margin-right: auto; }
}
@media (max-width: 640px) {
    .ad-contest-section { padding: 58px 0 68px; }
    .ad-contest-slider { width: min(310px, 88vw); }
    .ad-contest-slide__meta { bottom: 22px; }
}
