/* ===========================
   PREMIUM UPGRADE - ProLutas
   =========================== */

/* Custom Scrollbar */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg-dark)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--red),var(--red-dark));border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--red-light)}

/* Navbar glassmorphism default */
.navbar-wg{background:rgba(10,10,10,.4)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.03)}
.navbar-wg.scrolled{background:rgba(10,10,10,.92)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(204,0,0,.2);box-shadow:0 8px 32px rgba(0,0,0,.6)}

/* Hero V2 — Cinematic */
.hero-section{
    min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;
    background:linear-gradient(135deg,rgba(5,5,5,.92) 0%,rgba(10,10,10,.78) 40%,rgba(15,15,15,.72) 70%,rgba(5,5,5,.92) 100%),
    url('/assets/img/hero-fighter.png') center/cover no-repeat;
    background-attachment:fixed;
}
.hero-section::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 20% 50%,rgba(204,0,0,.12) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 30%,rgba(204,0,0,.06) 0%,transparent 50%);
    animation:heroShimmer 18s ease-in-out infinite;pointer-events:none;
}
.hero-section::after{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 50% 100%,rgba(0,0,0,.8) 0%,transparent 60%);
    pointer-events:none;
}

/* Hero particles */
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.hero-particles span{
    position:absolute;width:3px;height:3px;border-radius:50%;
    background:var(--red);opacity:0;
    animation:particleFloat 8s linear infinite;
}
.hero-particles span:nth-child(1){left:10%;animation-delay:0s;animation-duration:7s}
.hero-particles span:nth-child(2){left:25%;animation-delay:1.5s;animation-duration:9s}
.hero-particles span:nth-child(3){left:40%;animation-delay:3s;animation-duration:6s}
.hero-particles span:nth-child(4){left:55%;animation-delay:0.5s;animation-duration:10s}
.hero-particles span:nth-child(5){left:70%;animation-delay:2s;animation-duration:8s}
.hero-particles span:nth-child(6){left:85%;animation-delay:4s;animation-duration:7.5s}
.hero-particles span:nth-child(7){left:15%;animation-delay:1s;animation-duration:11s}
.hero-particles span:nth-child(8){left:60%;animation-delay:3.5s;animation-duration:6.5s}
.hero-particles span:nth-child(9){left:35%;animation-delay:2.5s;animation-duration:9.5s}
.hero-particles span:nth-child(10){left:90%;animation-delay:0.8s;animation-duration:8.5s}
.hero-particles span:nth-child(even){background:var(--gold);width:2px;height:2px}

@keyframes particleFloat{
    0%{transform:translateY(100vh) scale(0);opacity:0}
    10%{opacity:.6}
    90%{opacity:.6}
    100%{transform:translateY(-100px) scale(1.2);opacity:0}
}

/* Hero badge glow */
.hero-badge{animation:badgePulse 3s ease-in-out infinite}
@keyframes badgePulse{
    0%,100%{box-shadow:0 0 0 0 rgba(204,0,0,.3)}
    50%{box-shadow:0 0 20px 4px rgba(204,0,0,.15)}
}

/* Hero stat bar */
.hero-stats{
    display:flex;gap:40px;margin-top:48px;padding-top:32px;
    border-top:1px solid rgba(255,255,255,.06);
}
.hero-stat-item{text-align:center}
.hero-stat-number{
    font-family:'Oswald',sans-serif;font-size:2rem;font-weight:700;
    background:linear-gradient(135deg,var(--red-light),var(--red));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    line-height:1.2;
}
.hero-stat-label{font-size:.8rem;color:var(--text-muted);margin-top:2px;font-weight:300;letter-spacing:1px;text-transform:uppercase}

/* Section divider */
.section-divider{
    width:60px;height:3px;margin:0 auto 24px;
    background:linear-gradient(90deg,var(--red),var(--gold));border-radius:10px;
}

/* Recursos section — dark override */
.section-recursos{
    background:linear-gradient(180deg,var(--bg-mid) 0%,var(--bg-dark) 100%);
    position:relative;
}
.section-recursos::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(204,0,0,.15),transparent);
}

/* Feature card glow on hover */
.feature-card-dark{
    background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid var(--glass-border);border-radius:20px;
    padding:40px 28px;text-align:center;height:100%;
    transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;
}
.feature-card-dark::before{
    content:'';position:absolute;inset:0;border-radius:20px;
    background:radial-gradient(circle at 50% 0%,rgba(204,0,0,.08),transparent 60%);
    opacity:0;transition:opacity .4s ease;
}
.feature-card-dark:hover{transform:translateY(-8px);border-color:rgba(204,0,0,.25);box-shadow:0 24px 64px rgba(0,0,0,.5),0 0 48px rgba(204,0,0,.06)}
.feature-card-dark:hover::before{opacity:1}
.feature-card-dark h5{color:#fff;font-size:1.1rem;margin-bottom:10px}
.feature-card-dark p{color:var(--text-muted);font-size:.88rem;line-height:1.6;margin:0}

.feature-icon-wrap-dark{
    width:80px;height:80px;border-radius:24px;
    background:linear-gradient(135deg,rgba(204,0,0,.15),rgba(204,0,0,.04));
    display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;
    transition:all .4s ease;
}
.feature-icon-wrap-dark i{font-size:2rem;color:var(--red);transition:all .4s ease}
.feature-card-dark:hover .feature-icon-wrap-dark{background:linear-gradient(135deg,rgba(204,0,0,.25),rgba(212,175,55,.1));transform:scale(1.08)}
.feature-card-dark:hover .feature-icon-wrap-dark i{color:var(--gold)}

/* Timeline steps */
.steps-timeline{position:relative}
.steps-timeline::before{
    content:'';position:absolute;top:50%;left:16.66%;right:16.66%;height:2px;
    background:linear-gradient(90deg,rgba(204,0,0,.1),rgba(204,0,0,.3),rgba(204,0,0,.1));
    transform:translateY(-50%);z-index:0;
}
.step-card{position:relative;z-index:1}
.step-number{position:relative;z-index:2;box-shadow:0 0 24px rgba(204,0,0,.2)}
.step-number::after{animation:stepPulse 3s ease-in-out infinite}
@keyframes stepPulse{
    0%,100%{border-color:rgba(204,0,0,.2);transform:translate(-50%,-50%) scale(1)}
    50%{border-color:rgba(204,0,0,.4);transform:translate(-50%,-50%) scale(1.1)}
}

/* Pricing aurora border */
.pricing-popular{position:relative;border:2px solid transparent!important;background-clip:padding-box}
.pricing-popular::before{
    content:'';position:absolute;inset:-2px;border-radius:22px;
    background:linear-gradient(var(--rotation,0deg),var(--red),var(--gold),var(--red-dark),var(--gold-dark));
    z-index:-1;animation:auroraRotate 4s linear infinite;
}
@keyframes auroraRotate{
    0%{--rotation:0deg}
    100%{--rotation:360deg}
}
/* Fallback for browsers without @property */
@property --rotation{syntax:'<angle>';initial-value:0deg;inherits:false}

.pricing-popular::after{
    content:'';position:absolute;inset:2px;border-radius:18px;
    background:var(--bg-card);z-index:-1;
}

/* Stats / Social Proof section */
.stats-section{
    background:linear-gradient(135deg,rgba(10,10,10,.88) 0%,rgba(15,15,15,.82) 50%,rgba(10,10,10,.88) 100%),
    url('/assets/img/hero-fighter.png') center/cover no-repeat fixed;
    position:relative;
}
.stats-section::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 50%,rgba(204,0,0,.06) 0%,transparent 60%);
    pointer-events:none;
}
.stat-card-v2{
    background:rgba(255,255,255,.03);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
    border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:40px 24px;
    text-align:center;transition:all .4s ease;
}
.stat-card-v2:hover{border-color:rgba(204,0,0,.2);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4)}
.stat-number-v2{
    font-family:'Oswald',sans-serif;font-size:3rem;font-weight:700;
    background:linear-gradient(135deg,var(--red-light),var(--red));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    line-height:1.2;margin-bottom:4px;
}
.stat-label-v2{font-size:.85rem;color:var(--text-muted);font-weight:300;letter-spacing:1px;text-transform:uppercase}
.stat-icon-v2{font-size:1.5rem;color:rgba(204,0,0,.3);margin-bottom:12px}

/* CTA final glow */
.cta-final-section{
    background:linear-gradient(135deg,rgba(10,10,10,.92) 0%,rgba(15,15,15,.85) 50%,rgba(10,10,10,.92) 100%),
    url('/assets/img/hero-fighter.png') center/cover no-repeat fixed;
    position:relative;overflow:hidden;
}
.cta-glow-text{
    background:linear-gradient(135deg,var(--red-light),#fff,var(--red),#fff);
    background-size:300% 300%;
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    animation:gradientShift 6s ease-in-out infinite;
}
@keyframes gradientShift{
    0%,100%{background-position:0% 50%}
    50%{background-position:100% 50%}
}

/* Form inputs dark theme */
.form-control-dark{
    background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important;
    color:#fff!important;border-radius:12px;padding:12px 16px;transition:all .3s ease;
}
.form-control-dark:focus{border-color:rgba(204,0,0,.4)!important;box-shadow:0 0 0 3px rgba(204,0,0,.1)!important;background:rgba(255,255,255,.06)!important}
.form-control-dark::placeholder{color:rgba(255,255,255,.3)}

/* AOS custom durations */
[data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}

/* ===========================
   ABOUT PAGE — Premium Styles
   =========================== */

/* About Hero — shorter, centered */
.about-hero-section{
    min-height:70vh;display:flex;align-items:center;position:relative;overflow:hidden;
    padding:140px 0 80px;
    background:linear-gradient(135deg,rgba(5,5,5,.94) 0%,rgba(10,10,10,.82) 40%,rgba(15,15,15,.76) 70%,rgba(5,5,5,.94) 100%),
    url('/assets/img/hero-fighter.png') center/cover no-repeat;
    background-attachment:fixed;
}
.about-hero-section::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 40%,rgba(204,0,0,.10) 0%,transparent 55%),
    radial-gradient(ellipse at 20% 80%,rgba(212,175,55,.05) 0%,transparent 50%);
    animation:heroShimmer 18s ease-in-out infinite;pointer-events:none;
}
.about-hero-section::after{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 50% 100%,rgba(0,0,0,.7) 0%,transparent 60%);
    pointer-events:none;
}

/* Mission / Vision / Values cards */
.mvv-card{
    padding:48px 32px;position:relative;overflow:hidden;
    min-height:280px;display:flex;flex-direction:column;align-items:center;
}
.mvv-card::before{
    content:'';position:absolute;inset:0;border-radius:16px;
    background:radial-gradient(circle at 50% 0%,rgba(204,0,0,.06),transparent 60%);
    opacity:0;transition:opacity .4s ease;
}
.mvv-card:hover::before{opacity:1}
.mvv-card h4{
    font-family:'Oswald',sans-serif;color:#fff;font-size:1.3rem;
    margin-bottom:14px;text-transform:uppercase;letter-spacing:1px;
}
.mvv-card p{
    color:var(--text-muted);font-size:.92rem;line-height:1.7;margin:0;
}
.mvv-icon-wrap{
    width:80px;height:80px;border-radius:50%;
    background:linear-gradient(135deg,rgba(204,0,0,.18),rgba(204,0,0,.05));
    display:inline-flex;align-items:center;justify-content:center;
    margin-bottom:24px;transition:all .4s ease;
    border:1px solid rgba(204,0,0,.15);
}
.mvv-icon-wrap i{font-size:2rem;color:var(--red);transition:all .4s ease}
.mvv-icon-gold{
    background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(212,175,55,.05));
    border-color:rgba(212,175,55,.15);
}
.mvv-icon-gold i{color:var(--gold)}
.mvv-card:hover .mvv-icon-wrap{
    transform:scale(1.1) rotate(5deg);
    box-shadow:0 0 32px rgba(204,0,0,.15);
}
.mvv-card:hover .mvv-icon-gold{
    box-shadow:0 0 32px rgba(212,175,55,.15);
}

/* Timeline */
.about-timeline{
    position:relative;max-width:800px;margin:0 auto;
    padding:20px 0;
}
.about-timeline::before{
    content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;
    background:linear-gradient(180deg,rgba(204,0,0,.05),rgba(204,0,0,.3),rgba(212,175,55,.3),rgba(204,0,0,.05));
    transform:translateX(-50%);
}
.timeline-item{
    position:relative;width:50%;padding:0 40px 48px;
}
.timeline-item:nth-child(odd){left:0;text-align:right}
.timeline-item:nth-child(even){left:50%;text-align:left}
.timeline-dot{
    position:absolute;top:20px;width:16px;height:16px;border-radius:50%;
    background:linear-gradient(135deg,var(--red),var(--red-dark));
    border:3px solid var(--bg-dark);z-index:2;
    box-shadow:0 0 16px rgba(204,0,0,.3);
}
.timeline-item:nth-child(odd) .timeline-dot{right:-8px}
.timeline-item:nth-child(even) .timeline-dot{left:-8px}
.timeline-content{
    padding:28px 24px;text-align:left;
}
.timeline-content h5{
    color:#fff;font-family:'Oswald',sans-serif;font-size:1.15rem;
    margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;
}
.timeline-content p{
    color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0;
}
.timeline-year{
    display:inline-block;
    background:linear-gradient(135deg,var(--red),var(--red-dark));
    color:#fff;padding:4px 16px;border-radius:50px;
    font-family:'Oswald',sans-serif;font-size:.85rem;font-weight:600;
    letter-spacing:1px;margin-bottom:14px;
}

/* ===========================
   LEGAL PAGES — Terms & Privacy
   =========================== */

/* Legal Hero — compact */
.legal-hero-section{
    min-height:50vh;display:flex;align-items:center;position:relative;overflow:hidden;
    padding:140px 0 60px;
    background:linear-gradient(135deg,rgba(5,5,5,.95) 0%,rgba(10,10,10,.85) 40%,rgba(15,15,15,.80) 70%,rgba(5,5,5,.95) 100%),
    url('/assets/img/hero-fighter.png') center/cover no-repeat;
    background-attachment:fixed;
}
.legal-hero-section::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 40%,rgba(204,0,0,.08) 0%,transparent 55%);
    animation:heroShimmer 18s ease-in-out infinite;pointer-events:none;
}
.legal-hero-section::after{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 50% 100%,rgba(0,0,0,.7) 0%,transparent 60%);
    pointer-events:none;
}

/* Legal content card — stronger background */
.glass-card.legal-content{
    padding:48px 48px 32px;
    background:rgba(255,255,255,.06)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px;
}

/* Legal section block */
.legal-section{
    padding-bottom:32px;margin-bottom:32px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.legal-section-header{
    display:flex!important;flex-direction:row!important;
    align-items:center!important;gap:16px;margin-bottom:20px;
}
span.legal-number{
    width:44px;height:44px;min-width:44px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--red),var(--red-dark))!important;
    color:#fff!important;font-family:'Oswald',sans-serif;font-weight:700;font-size:1.15rem;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    box-shadow:0 0 20px rgba(204,0,0,.25);
    line-height:1;
}
.legal-section-header h3{
    font-family:'Oswald',sans-serif!important;color:#fff!important;font-size:1.3rem!important;
    margin:0!important;padding:0!important;text-transform:uppercase;letter-spacing:.5px;
    line-height:1.3!important;
}
.legal-section p{
    color:rgba(255,255,255,.72)!important;font-size:.93rem;line-height:1.85;
    margin-bottom:12px;font-family:'Inter',sans-serif;
}
.legal-section p:last-child{margin-bottom:0}

/* Legal list — override Bootstrap */
ul.legal-list{
    list-style:none!important;padding:0!important;margin:16px 0 0!important;
}
ul.legal-list li{
    padding:10px 0;color:rgba(255,255,255,.72)!important;font-size:.9rem;
    display:flex!important;align-items:flex-start!important;gap:12px;line-height:1.7;
    border-bottom:1px solid rgba(255,255,255,.03);
}
ul.legal-list li:last-child{border-bottom:none}
ul.legal-list li i{
    color:var(--red)!important;font-size:.8rem;flex-shrink:0;margin-top:6px;
}
ul.legal-list li strong{color:rgba(255,255,255,.92)!important}

/* Legal link */
a.legal-link{
    color:var(--red)!important;text-decoration:none!important;font-weight:600;
    border-bottom:1px solid rgba(204,0,0,.4);transition:all .3s ease;
    padding-bottom:1px;
}
a.legal-link:hover{
    color:var(--gold)!important;border-bottom-color:var(--gold);
}

/* Legal updated badge */
.legal-updated{
    margin-top:36px;padding-top:24px;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.4);font-size:.84rem;
    text-align:center;letter-spacing:.5px;
}
.legal-updated i{color:var(--red);opacity:.5}

/* Security badge cards (Privacy page) */
.security-badge-card{
    display:flex!important;align-items:center!important;gap:16px;
    background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important;
    border-radius:14px;padding:20px 18px;
    transition:all .3s ease;
}
.security-badge-card:hover{
    border-color:rgba(204,0,0,.25)!important;transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(0,0,0,.4);
    background:rgba(255,255,255,.06)!important;
}
.security-badge-card > i{
    font-size:1.3rem;color:var(--red)!important;flex-shrink:0;
    width:48px;height:48px;min-width:48px;border-radius:14px;
    background:linear-gradient(135deg,rgba(204,0,0,.15),rgba(204,0,0,.05))!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
}
.security-badge-card strong{
    display:block!important;color:#fff!important;font-size:.9rem;margin-bottom:3px;
}
.security-badge-card span{
    display:block!important;color:var(--text-muted)!important;font-size:.8rem;line-height:1.4;
}

/* Responsive tweaks */
@media(max-width:767.98px){
    .hero-stats{gap:20px;flex-wrap:wrap;justify-content:center}
    .hero-stat-number{font-size:1.5rem}
    .steps-timeline::before{display:none}
    .stat-number-v2{font-size:2.2rem}
    .about-hero-section{min-height:auto;padding:120px 0 60px}
    .about-timeline::before{left:20px}
    .timeline-item{width:100%;left:0!important;padding-left:56px;padding-right:16px;text-align:left!important}
    .timeline-item:nth-child(odd) .timeline-dot,
    .timeline-item:nth-child(even) .timeline-dot{left:12px;right:auto}
    .mvv-card{min-height:auto}
    .legal-hero-section{min-height:auto;padding:120px 0 40px}
    .legal-content{padding:28px 20px 20px}
    .legal-section-header h3{font-size:1.1rem}
    .security-badge-card{padding:16px 14px}
}

