/* ------------------------------------------------------------------
    style.css  |  BizTrain – Formación & Consultoría Empresarial
    Arquitectura: CSS Variables  •  Neumorfismo + 3D UI  •  Grid/Flex
------------------------------------------------------------------- */

/* ===== Root Tokens ================================================= */
:root{
    /* Base Colors – Analogic Scheme (Indigo–Blue–Cyan) */
    --clr-bg-main:#e6e9ff;
    --clr-surface:#f3f5ff;
    --clr-primary:#4361ee;
    --clr-primary-light:#4895ef;
    --clr-primary-dark:#3a0ca3;
    --clr-accent:#4cc9f0;

    /* Neumorphism Shadows */
    --shadow-up: -6px -6px 16px rgba(255,255,255,0.7),
                 6px 6px 12px rgba(0,0,0,0.1);
    --shadow-down: inset -4px -4px 10px rgba(255,255,255,0.6),
                   inset 4px 4px 10px rgba(0,0,0,0.08);

    /* Typography */
    --ff-heading:'Raleway', sans-serif;
    --ff-body:'Open Sans', sans-serif;
    --fs-base:1rem;
    --fs-lg:clamp(2.2rem, 4vw, 3rem);
    --fs-h2:clamp(1.8rem,3vw,2.5rem);

    /* Radius & Durations */
    --radius:18px;
    --transition: .35s ease;

    /* Gradients & Opacity Layer */
    --gradient-primary:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-primary-light) 100%);
    --glass:rgba(255,255,255,0.4);

    /* Progress */
    --progress-bg:#d1d5ff;
}

/* ===== Reset Extensions ============================================ */
html{scroll-behavior:smooth;}
body{
    font-family:var(--ff-body);
    font-size:var(--fs-base);
    line-height:1.6;
    color:#222;
    background:var(--clr-bg-main);
    overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a{color:var(--clr-primary-dark);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--clr-primary);}
ul,ol{list-style:none;padding:0;margin:0;}

/* ===== Utility & Layout ============================================ */
.container{width:90%;max-width:1200px;margin-inline:auto;}
.flex-space{display:flex;justify-content:space-between;align-items:center;}
.flex-wrap{display:flex;flex-wrap:wrap;gap:2rem;}
.section{padding:4rem 0;}
.alt-bg{background:var(--clr-surface);}
.section-title{
    font-family:var(--ff-heading);
    font-size:var(--fs-h2);
    font-weight:800;
    text-align:center;
    margin-bottom:2rem;
    text-shadow:1px 1px 3px rgba(0,0,0,0.3);
}

/* ===== Buttons & Links ============================================= */
.btn,button,input[type='submit']{
    display:inline-block;cursor:pointer;
    background:var(--gradient-primary);
    color:#fff;
    padding:.8rem 2.2rem;
    border:none;border-radius:var(--radius);
    box-shadow:var(--shadow-up);
    font-family:var(--ff-heading);
    font-weight:700;
    transition:transform var(--transition), box-shadow var(--transition);
}
.btn:hover,button:hover,input[type='submit']:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,0.15);
}
.btn:active{transform:scale(.96);}

/* ===== Header & Navigation ========================================= */
.header{
    position:fixed;top:0;left:0;width:100%;
    background:var(--clr-surface);
    box-shadow:0 3px 10px rgba(0,0,0,0.05);
    z-index:5000;
}
.logo{font-family:var(--ff-heading);font-weight:800;font-size:1.6rem;color:var(--clr-primary-dark);}
.nav{display:flex;}
.nav-list{display:flex;gap:1.5rem;}
.nav-list a{font-weight:600;position:relative;padding:.5rem 0;}
.nav-list a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--clr-accent);transition:width var(--transition);}
.nav-list a:hover::after{width:100%;}
/* Burger */
.burger{display:none;flex-direction:column;gap:4px;background:none;border:none;}
.burger-line{width:24px;height:2px;background:#222;}
@media(max-width:768px){
    .nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--clr-surface);}
    .nav-list{flex-direction:column;padding:1rem;}
    .burger{display:flex;}
    .nav.open{display:block;}
}

/* ===== Hero ======================================================== */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;color:#fff;text-align:center;}
.hero-overlay{
    position:absolute;inset:0;
    background-size:cover;background-repeat:no-repeat;background-position:center;
}
.hero-content{position:relative;z-index:2;max-width:720px;margin-inline:auto;}
.hero-title{font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:800;margin-bottom:1rem;line-height:1.2;text-transform:uppercase;}
.hero-text{font-size:1.2rem;margin-bottom:2rem;}

/* ===== Neumorphic Container Class ================================== */
.neuromorph{
    background:var(--clr-surface);
    border-radius:var(--radius);
    box-shadow:var(--shadow-up);
    padding:2rem;
}

/* ===== Stats Widgets =============================================== */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-top:2.5rem;}
.stat-widget{text-align:center;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-up);background:var(--clr-bg-main);}
.stat-number{display:block;font-family:var(--ff-heading);font-size:2.5rem;color:var(--clr-primary-dark);}
.stat-label{font-weight:600;}

/* ===== Cards ======================================================= */
.card{
    display:flex;flex-direction:column;align-items:center;
    text-align:center;background:var(--clr-surface);
    border-radius:var(--radius);box-shadow:var(--shadow-up);padding:1.5rem;
    transition:transform var(--transition);
}
.card:hover{transform:translateY(-6px);}
.card-image{width:100%;height:220px;overflow:hidden;border-radius:calc(var(--radius) - 4px);}
.card-image img{width:100%;height:100%;object-fit:cover;margin:0 auto;}
.card-content{padding-top:1rem;}

/* ===== External Links Grid ========================================= */
.external-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;}

/* ===== Client Logos ================================================= */
.client-logos img{filter:grayscale(1) brightness(0.6);transition:filter var(--transition);}
.client-logos img:hover{filter:none;}

/* ===== Events Calendar ============================================= */
.events-calendar{margin-top:2rem;}
.event-row{
    display:grid;grid-template-columns:120px 1fr 120px;align-items:center;
    background:var(--clr-surface);border-radius:var(--radius);
    padding:.8rem 1rem;margin-bottom:1rem;box-shadow:var(--shadow-up);
}
.event-date{font-family:var(--ff-heading);font-weight:700;color:var(--clr-primary-dark);}
.event-title{font-weight:600;}
.event-location{text-align:right;color:#444;}

/* ===== Progress Bars ============================================== */
.progress-group{display:grid;gap:1.5rem;margin-top:2.5rem;}
.progress-item{display:flex;align-items:center;gap:1rem;}
.progress-label{flex:0 0 160px;font-weight:600;}
.progress-bar{flex:1;height:14px;background:var(--progress-bg);border-radius:8px;overflow:hidden;box-shadow:inset 2px 2px 4px rgba(0,0,0,0.08);}
.progress-fill{display:block;height:100%;background:var(--gradient-primary);border-radius:8px;}

/* ===== Forms ======================================================= */
.contact-form .form-row{display:flex;flex-direction:column;margin-bottom:1.2rem;}
.contact-form label{font-weight:600;margin-bottom:.4rem;}
.contact-form input,
.contact-form textarea{
    padding:.8rem 1rem;border:none;border-radius:var(--radius);
    background:var(--clr-bg-main);box-shadow:var(--shadow-down);
    font-family:var(--ff-body);resize:vertical;
}
.contact-form input:focus,
.contact-form textarea:focus{outline:none;box-shadow:0 0 0 3px var(--clr-accent);}

/* ===== Footer ====================================================== */
.footer{background:var(--clr-surface);padding:3rem 0 2rem;box-shadow:0 -3px 10px rgba(0,0,0,0.07);}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem;}
.footer-title{font-family:var(--ff-heading);font-weight:700;margin-bottom:1rem;}
.footer a{color:var(--clr-primary-dark);font-weight:600;}
.footer a:hover{color:var(--clr-primary);}
.copy{text-align:center;font-size:.875rem;color:#555;}
/* Social Icons (text links styled) */
.footer ul li{margin-bottom:.5rem;}
.footer ul li a::before{
    content:'► ';color:var(--clr-accent);font-weight:900;
}

/* ===== Success Page =============================================== */
.page-success{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    text-align:center;padding:2rem;
}
.page-success h1{font-size:var(--fs-lg);font-family:var(--ff-heading);margin-bottom:1rem;}
.page-success p{font-size:1.2rem;}

/* ===== Privacy / Terms Padding ==================================== */
.page-legal{padding-top:100px;padding-bottom:4rem;}

/* ===== Modals & Cookie Bar ======================================== */
.modal-overlay{
    position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(0,0,0,0.6);z-index:8000;
}
.modal-content{max-width:500px;text-align:center;padding:2.5rem;}
#cookiePopup .flex-space{gap:1rem;}
#cookiePopup button:hover{background:var(--clr-primary-dark);}

/* ===== Read More Links ============================================ */
.read-more{display:inline-block;font-weight:700;color:var(--clr-accent);position:relative;transition:color var(--transition);}
.read-more::after{content:'›';margin-left:6px;transition:margin-left var(--transition);}
.read-more:hover{color:var(--clr-primary-dark);}
.read-more:hover::after{margin-left:10px;}

/* ===== Animations ================================================== */
@keyframes blob{
    0%{border-radius:42% 58% 63% 37% / 46% 33% 67% 54%;}
    50%{border-radius:58% 42% 33% 67% / 43% 62% 38% 57%;}
    100%{border-radius:42% 58% 63% 37% / 46% 33% 67% 54%;}
}
.morphing{
    animation:blob 12s infinite ease-in-out;
}

/* ===== Parallax (simple) ========================================== */
[data-parallax]{background-attachment:fixed;}

/* ===== Responsive Tweaks ========================================== */
@media(max-width:600px){
    .hero-title{font-size:2rem;}
    .event-row{grid-template-columns:1fr;}
    .event-location{text-align:left;margin-top:.3rem;}
}