/* ============================================
   LUAN SANTANA — ALÉM DO REGISTRO | Divinópolis
   Identidade visual: teal/cyan + vermelho rubi + fogo dourado
   ============================================ */

:root{
    --teal-deep:   #00323d;
    --teal:        #004b5c;
    --teal-bright: #02788e;
    --cyan:        #2fd3e3;
    --red:         #bc1b1b;
    --red-bright:  #e1262b;
    --fire:        #e06d3b;
    --gold:        #fbc687;
    --white:       #ffffff;
    --ink:         #03191e;

    --font-display: 'Oswald', sans-serif;
    --font-script:  'Dancing Script', cursive;
    --font-body:    'Inter', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    font-family:var(--font-body);
    background:var(--teal-deep);
    color:var(--white);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}

/* ===== Barra de urgência ===== */
.urgency-bar{
    background:linear-gradient(90deg,var(--red),var(--fire),var(--red));
    background-size:200% auto;
    animation:flow 6s linear infinite;
    color:#fff;
    text-align:center;
    font-family:var(--font-display);
    font-weight:600;
    letter-spacing:.06em;
    font-size:.78rem;
    padding:9px 12px;
    display:flex;align-items:center;justify-content:center;gap:10px;
    position:relative;z-index:50;
}
@keyframes flow{to{background-position:200% center;}}

/* ===== HERO ===== */
.hero{
    position:relative;
    min-height:100vh;
    display:flex;align-items:center;justify-content:center;
    text-align:center;
    background:
        radial-gradient(ellipse at 50% 20%, rgba(2,120,142,.55), transparent 60%),
        radial-gradient(ellipse at 50% 100%, rgba(224,109,59,.35), transparent 55%),
        linear-gradient(180deg, #00161c 0%, var(--teal) 55%, #001a20 100%);
    overflow:hidden;
    padding:60px 20px;
}
.hero::before{
    content:"";position:absolute;inset:0;
    background:
        conic-gradient(from 200deg at 30% 0%, transparent 0deg, rgba(47,211,227,.18) 20deg, transparent 40deg),
        conic-gradient(from 160deg at 70% 0%, transparent 0deg, rgba(47,211,227,.14) 25deg, transparent 45deg);
    pointer-events:none;
}
.hero-overlay{
    position:absolute;bottom:0;left:0;right:0;height:40%;
    background:radial-gradient(ellipse at 50% 100%, rgba(224,109,59,.45), transparent 70%);
    filter:blur(8px);
}
.hero-content{position:relative;z-index:5;max-width:760px;}

.hero-brand{margin-bottom:42px;}
.brand-name{
    font-family:var(--font-display);
    font-weight:600;
    letter-spacing:.45em;
    font-size:clamp(1.5rem,5vw,2.6rem);
    text-indent:.45em;
    text-shadow:0 2px 18px rgba(0,0,0,.6);
}
.brand-script{
    font-family:var(--font-script);
    font-weight:600;
    font-size:clamp(3.2rem,13vw,6.5rem);
    line-height:.85;
    margin:6px 0 -8px;
    color:#fff;
    text-shadow:0 4px 30px rgba(47,211,227,.5);
    transform:rotate(-3deg);
}
.brand-registro{
    font-family:var(--font-display);
    font-weight:500;
    letter-spacing:.5em;
    font-size:clamp(1.3rem,5vw,2.4rem);
    text-indent:.5em;
}
.o-cut{position:relative;display:inline-block;}
.o-cut::after{
    content:"";position:absolute;top:50%;left:-6%;right:-6%;height:2px;
    background:#fff;transform:translateY(-50%);
}

.hero-event-info{margin-bottom:38px;}
.event-city{
    font-family:var(--font-display);font-weight:600;letter-spacing:.25em;
    font-size:clamp(1rem,3.5vw,1.5rem);
}
.event-city i{color:var(--cyan);}
.event-date{
    font-family:var(--font-display);font-weight:700;
    font-size:clamp(3rem,12vw,5.5rem);
    line-height:1;
    color:var(--gold);
    text-shadow:0 4px 24px rgba(224,109,59,.6);
}
.event-status{
    display:inline-block;
    margin-top:6px;
    font-family:var(--font-display);font-weight:600;letter-spacing:.3em;
    font-size:clamp(.85rem,3vw,1.1rem);
    color:#fff;
    border:1px solid rgba(255,255,255,.4);
    padding:7px 22px;border-radius:40px;
    backdrop-filter:blur(4px);
}

/* CTA hero */
.cta-scroll{
    display:inline-flex;flex-direction:column;align-items:center;gap:8px;
    text-decoration:none;
    background:linear-gradient(90deg,var(--red),var(--red-bright));
    color:#fff;
    font-family:var(--font-display);font-weight:600;letter-spacing:.12em;
    font-size:clamp(.85rem,3vw,1.05rem);
    padding:18px 40px;border-radius:50px;
    box-shadow:0 10px 40px rgba(225,38,43,.5);
    transition:transform .25s, box-shadow .25s;
    animation:pulse 2.2s ease-in-out infinite;
}
.cta-scroll:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 50px rgba(225,38,43,.7);}
.cta-scroll i{font-size:.8rem;opacity:.85;}
@keyframes pulse{
    0%,100%{box-shadow:0 10px 40px rgba(225,38,43,.5);}
    50%{box-shadow:0 10px 60px rgba(225,38,43,.85);}
}

/* ===== Countdown ===== */
.countdown-section{
    text-align:center;
    padding:60px 20px;
    background:linear-gradient(180deg,#001a20,#00262f);
}
.section-eyebrow{
    font-family:var(--font-display);font-weight:600;letter-spacing:.28em;
    color:var(--cyan);font-size:clamp(.9rem,3vw,1.2rem);
    text-indent:.28em;
}
.section-eyebrow.center{text-align:center;}
.countdown-subtitle{color:rgba(255,255,255,.7);margin-top:8px;font-size:.95rem;}
.countdown{display:flex;justify-content:center;gap:14px;margin-top:30px;flex-wrap:wrap;}
.count-box{
    background:rgba(2,120,142,.25);
    border:1px solid rgba(47,211,227,.3);
    border-radius:14px;
    min-width:78px;padding:16px 10px;
    backdrop-filter:blur(6px);
}
.count-box span{
    display:block;font-family:var(--font-display);font-weight:700;
    font-size:clamp(1.8rem,7vw,2.6rem);color:var(--gold);line-height:1;
}
.count-box small{font-size:.65rem;letter-spacing:.2em;color:rgba(255,255,255,.75);}

/* ===== Signup ===== */
.signup-section{
    padding:70px 20px;
    background:
        radial-gradient(ellipse at 80% 0%, rgba(2,120,142,.4), transparent 60%),
        linear-gradient(180deg,#00262f,#001318);
}
.signup-grid{
    max-width:1080px;margin:0 auto;
    display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;
}
.signup-art img{
    border-radius:18px;
    box-shadow:0 25px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(47,211,227,.2);
}
.signup-form-wrap{}
.signup-title{
    font-family:var(--font-display);font-weight:700;
    font-size:clamp(1.8rem,6vw,2.8rem);letter-spacing:.04em;line-height:1.1;
}
.signup-title span{color:var(--gold);}
.signup-desc{color:rgba(255,255,255,.78);margin:14px 0 26px;font-size:1rem;line-height:1.55;}
.signup-desc strong{color:var(--cyan);}

.lead-form .field{margin-bottom:16px;}
.lead-form label{
    display:block;font-family:var(--font-display);font-weight:500;
    letter-spacing:.08em;font-size:.82rem;margin-bottom:6px;color:rgba(255,255,255,.85);
}
.input-wrap{position:relative;}
.input-wrap i{
    position:absolute;left:16px;top:50%;transform:translateY(-50%);
    color:var(--teal-bright);font-size:.95rem;
}
.lead-form input[type=text],
.lead-form input[type=tel],
.lead-form input[type=email]{
    width:100%;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(47,211,227,.25);
    border-radius:12px;
    padding:14px 14px 14px 44px;
    color:#fff;font-size:1rem;font-family:var(--font-body);
    transition:border-color .2s, box-shadow .2s;
}
.lead-form input::placeholder{color:rgba(255,255,255,.4);}
.lead-form input:focus{
    outline:none;border-color:var(--cyan);
    box-shadow:0 0 0 3px rgba(47,211,227,.18);
}
.lead-form input.invalid{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(225,38,43,.2);}

.lgpd{
    display:flex;align-items:flex-start;gap:10px;
    font-size:.8rem;color:rgba(255,255,255,.65);margin:6px 0 20px;cursor:pointer;
    line-height:1.4;
}
.lgpd input{margin-top:3px;accent-color:var(--cyan);width:16px;height:16px;flex-shrink:0;}

.submit-btn{
    width:100%;
    background:linear-gradient(90deg,var(--red),var(--fire));
    color:#fff;border:none;cursor:pointer;
    font-family:var(--font-display);font-weight:600;letter-spacing:.1em;
    font-size:1.05rem;
    padding:17px;border-radius:50px;
    box-shadow:0 12px 40px rgba(225,38,43,.45);
    transition:transform .2s, box-shadow .2s, opacity .2s;
    position:relative;
}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 16px 50px rgba(225,38,43,.65);}
.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.submit-btn .btn-loader{display:none;}
.submit-btn.loading .btn-text{display:none;}
.submit-btn.loading .btn-loader{display:inline;}

.form-note{text-align:center;margin-top:14px;font-size:.78rem;color:rgba(255,255,255,.5);}
.form-note i{color:var(--cyan);}

/* ===== Why ===== */
.why-section{padding:70px 20px;background:linear-gradient(180deg,#001318,#00262f);text-align:center;}
.why-grid{
    max-width:1000px;margin:36px auto 0;
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.why-card{
    background:rgba(2,120,142,.18);
    border:1px solid rgba(47,211,227,.22);
    border-radius:16px;padding:32px 22px;
    transition:transform .25s, border-color .25s;
}
.why-card:hover{transform:translateY(-6px);border-color:var(--cyan);}
.why-card i{font-size:2rem;color:var(--gold);margin-bottom:14px;}
.why-card h4{font-family:var(--font-display);font-weight:600;letter-spacing:.04em;font-size:1.15rem;margin-bottom:8px;}
.why-card p{color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.5;}

/* ===== Info ===== */
.info-section{
    padding:70px 20px;text-align:center;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(224,109,59,.18), transparent 55%),
        linear-gradient(180deg,#00262f,#001a20);
}
.info-grid{
    max-width:1000px;margin:36px auto 0;
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.info-item{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(47,211,227,.2);
    border-radius:16px;padding:28px 16px;
}
.info-item i{font-size:1.8rem;color:var(--cyan);margin-bottom:12px;}
.info-item h4{font-family:var(--font-display);letter-spacing:.18em;font-size:.85rem;color:var(--gold);margin-bottom:10px;}
.info-item p{font-family:var(--font-display);font-weight:600;font-size:1.15rem;line-height:1.3;}
.info-item p span{display:block;font-family:var(--font-body);font-weight:400;font-size:.82rem;color:rgba(255,255,255,.6);margin-top:4px;}

.info-cta{margin-top:46px;}
.info-cta p{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.04em;margin-bottom:16px;}
.cta-secondary{
    display:inline-block;text-decoration:none;
    background:transparent;color:#fff;
    border:2px solid var(--cyan);
    font-family:var(--font-display);font-weight:600;letter-spacing:.12em;
    padding:15px 38px;border-radius:50px;
    transition:background .25s, transform .2s;
}
.cta-secondary:hover{background:var(--cyan);color:var(--ink);transform:translateY(-2px);}

/* ===== FAQ ===== */
.faq-section{padding:70px 20px;background:linear-gradient(180deg,#001a20,#001318);}
.faq-list{max-width:760px;margin:30px auto 0;}
.faq-item{
    background:rgba(2,120,142,.15);
    border:1px solid rgba(47,211,227,.2);
    border-radius:12px;margin-bottom:12px;padding:0 20px;overflow:hidden;
}
.faq-item summary{
    cursor:pointer;list-style:none;padding:18px 0;
    font-family:var(--font-display);font-weight:500;letter-spacing:.03em;font-size:1.05rem;
    display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--cyan);font-size:1.5rem;font-weight:300;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{color:rgba(255,255,255,.7);padding:0 0 18px;font-size:.92rem;line-height:1.55;}

/* ===== Footer ===== */
.footer{
    text-align:center;padding:60px 20px 90px;
    background:linear-gradient(180deg,#001318,#000a0d);
}
.footer-script{font-family:var(--font-script);font-size:2.6rem;line-height:.8;transform:rotate(-3deg);}
.footer-registro{font-family:var(--font-display);font-weight:500;letter-spacing:.45em;font-size:1.1rem;text-indent:.45em;margin-bottom:24px;}
.footer-sponsors{font-family:var(--font-display);letter-spacing:.3em;font-size:.7rem;color:rgba(255,255,255,.45);}
.footer-brands{font-family:var(--font-display);font-weight:600;letter-spacing:.25em;font-size:1rem;margin:8px 0 30px;color:var(--gold);}
.footer-copy{font-size:.78rem;color:rgba(255,255,255,.4);}
.footer-site{font-family:var(--font-display);letter-spacing:.1em;color:var(--cyan);font-size:.85rem;margin-top:6px;}

/* ===== Modal ===== */
.modal{
    position:fixed;inset:0;z-index:100;
    background:rgba(0,10,13,.85);
    backdrop-filter:blur(6px);
    display:none;align-items:center;justify-content:center;padding:20px;
}
.modal.open{display:flex;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal-box{
    position:relative;
    background:linear-gradient(160deg,#013a47,#002129);
    border:1px solid rgba(47,211,227,.35);
    border-radius:22px;padding:46px 32px 36px;
    max-width:440px;width:100%;text-align:center;
    box-shadow:0 30px 90px rgba(0,0,0,.6), 0 0 50px rgba(224,109,59,.2);
    animation:popIn .4s cubic-bezier(.18,.89,.32,1.28);
}
@keyframes popIn{from{transform:scale(.85);opacity:0;}to{transform:scale(1);opacity:1;}}
.modal-close{
    position:absolute;top:14px;right:16px;background:none;border:none;color:rgba(255,255,255,.6);
    font-size:1.4rem;cursor:pointer;
}
.modal-icon{font-size:3.6rem;color:var(--gold);margin-bottom:10px;animation:pop 0.6s ease;}
@keyframes pop{0%{transform:scale(0);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.modal-box h3{font-family:var(--font-display);font-weight:700;letter-spacing:.2em;font-size:2rem;}
.modal-big{font-family:var(--font-display);font-size:1.4rem;margin:6px 0 14px;}
.modal-big strong{color:var(--cyan);}
.modal-text{color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.55;}
.modal-ok{
    margin-top:24px;background:linear-gradient(90deg,var(--red),var(--fire));color:#fff;border:none;cursor:pointer;
    font-family:var(--font-display);font-weight:600;letter-spacing:.1em;
    padding:14px 40px;border-radius:50px;font-size:1rem;
    transition:transform .2s;
}
.modal-ok:hover{transform:translateY(-2px);}

/* ===== Sticky CTA mobile ===== */
.sticky-cta{
    display:none;
    position:fixed;left:16px;right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom)); /* respeita notch/gestos iOS */
    z-index:60;
    text-align:center;text-decoration:none;
    background:linear-gradient(90deg,var(--red),var(--fire));
    color:#fff;font-family:var(--font-display);font-weight:600;letter-spacing:.08em;
    padding:16px;border-radius:50px;
    box-shadow:0 10px 35px rgba(225,38,43,.6);
    animation:pulse 2.2s ease-in-out infinite;
}

/* ============================================
   RESPONSIVO — MOBILE FIRST (98% acessos mobile)
   ============================================ */

/* Garantias globais de toque e overflow */
*{-webkit-tap-highlight-color:rgba(47,211,227,.25);}
input,button,a,summary{touch-action:manipulation;}
/* Áreas de toque mínimas confortáveis (>=44px Apple HIG) */
.cta-scroll,.submit-btn,.cta-secondary,.modal-ok,.sticky-cta{min-height:52px;}

/* ===== Tablet / telas médias ===== */
@media (max-width:860px){
    .signup-grid{grid-template-columns:1fr;gap:34px;}
    .signup-art{max-width:340px;margin:0 auto;}
    .why-grid{grid-template-columns:1fr;}
    .info-grid{grid-template-columns:repeat(2,1fr);}
}

/* ===== Celular padrão (<=600px) ===== */
@media (max-width:600px){
    .urgency-bar{font-size:.68rem;padding:8px 10px;gap:7px;letter-spacing:.03em;}
    .urgency-bar span{font-size:.68rem;}

    .sticky-cta{display:block;}
    /* espaço pro sticky não cobrir o footer */
    .footer{padding-bottom:120px;}

    .hero{min-height:auto;padding:46px 18px 54px;}
    .hero-brand{margin-bottom:32px;}
    .hero-event-info{margin-bottom:30px;}
    .cta-scroll{padding:16px 28px;width:100%;max-width:340px;}

    .countdown-section,
    .signup-section,
    .why-section,
    .info-section,
    .faq-section{padding:50px 16px;}

    .countdown{gap:10px;}
    .count-box{min-width:64px;padding:13px 8px;border-radius:12px;}

    /* inputs maiores e fonte 16px (evita zoom automático no iOS) */
    .lead-form input[type=text],
    .lead-form input[type=tel],
    .lead-form input[type=email]{
        font-size:16px;padding:15px 15px 15px 44px;
    }
    .signup-desc{font-size:.95rem;}

    .why-card{padding:26px 20px;}
    .info-grid{gap:14px;}
    .info-item{padding:22px 12px;}
    .info-item p{font-size:1.05rem;}

    .faq-item summary{font-size:1rem;padding:16px 0;}

    .footer-script{font-size:2.2rem;}
}

/* ===== Celular pequeno (<=380px: iPhone SE, Androids antigos) ===== */
@media (max-width:380px){
    .count-box{min-width:0;flex:1 1 calc(50% - 8px);}
    .countdown{gap:8px;}
    .cta-scroll{padding:15px 18px;font-size:.8rem;letter-spacing:.06em;}
    .sticky-cta{font-size:.9rem;padding:15px;}
    .info-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
    .modal-box{padding:40px 22px 30px;}
    .modal-box h3{font-size:1.7rem;}
}

/* ===== Paisagem em celular (landscape baixo) ===== */
@media (max-height:500px) and (orientation:landscape){
    .hero{min-height:auto;padding:40px 18px;}
    .brand-script{font-size:3rem;}
    .event-date{font-size:3rem;}
}

/* ===== Acessibilidade: respeitar quem desativa animações ===== */
@media (prefers-reduced-motion:reduce){
    *{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}
