/* =================================================================
  GLOBAL THEME VARIABLES  |  Triad Scheme + Eco-Minimalism
================================================================= */
:root{
    /* Core (triadic) palette */
    --primary-500:#2c7a7b;          /* Teal – naturaleza */
    --secondary-500:#f4a259;        /* Ámbar – energía */
    --tertiary-500:#355070;         /* Indigo – confianza */

    /* Variants */
    --primary-700:#225d5e;
    --secondary-700:#d48836;
    --tertiary-700:#24364c;

    --accent-500:#88b04b;           /* Verde hoja */
    --bg-light:#f8f9fa;
    --text-dark:#222222;
    --text-muted:#555555;

    /* Glassmorphism */
    --glass-bg:rgba(255,255,255,0.25);
    --glass-border:rgba(255,255,255,0.4);
    --blur:12px;

    /* Gradients */
    --grad-primary:linear-gradient(135deg,#2c7a7b 0%,#355070 100%);
    --grad-eco:linear-gradient(135deg,#88b04b 0%,#2c7a7b 100%);

    /* Shadows */
    --shadow-lg:0 20px 40px -10px rgba(0,0,0,0.25);
    --shadow-sm:0 4px 10px rgba(0,0,0,0.1);

    /* Radii & Transitions */
    --radius-lg:22px;
    --radius-md:12px;
    --transition:all .35s ease;
}

/* =================================================================
  RESET & BASE TYPOGRAPHY
================================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
    font-family:'Open Sans',Arial,Helvetica,sans-serif;
    color:var(--text-dark);
    background:var(--bg-light);
    line-height:1.6;
}
h1,h2,h3,h4,h5,h6{
    font-family:'Raleway',Helvetica,sans-serif;
    font-weight:700;
    color:var(--text-dark);
    text-align:center;
    letter-spacing:.5px;
    text-shadow:1px 1px 3px rgba(0,0,0,0.15);
}
p{margin:1rem 0;font-weight:400;}
img{max-width:100%;display:block;height:auto;}
a{color:var(--primary-500);text-decoration:none;transition:color .25s;}
a:hover{color:var(--tertiary-500);text-decoration:underline;}
/* “Leer más” links */
a.read-more{
    font-weight:600;
    position:relative;
}
a.read-more::after{
    content:'→';margin-left:4px;transition:transform .3s;
}
a.read-more:hover::after{transform:translateX(3px);}

/* =================================================================
  LAYOUT UTILITIES
================================================================= */
.container{width:90%;max-width:1200px;margin:0 auto;}
.section{padding:60px 0;position:relative;}
.glass{
    background:var(--glass-bg);
    backdrop-filter:blur(var(--blur));
    border:1px solid var(--glass-border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
}
.parallax{background-attachment:fixed;background-size:cover;background-repeat:no-repeat;}
.is-two-thirds{width:66.666%;margin:0 auto;}

/* =================================================================
  HEADER / NAV
================================================================= */
header.glass-header{
    width:100%;position:fixed;top:0;left:0;z-index:1000;
    backdrop-filter:blur(var(--blur));
    background:var(--glass-bg);
    border-bottom:1px solid var(--glass-border);
}
header .container{display:flex;align-items:center;justify-content:space-between;padding:10px 0;}
.logo{font-size:1.5rem;font-weight:700;color:var(--primary-500);}
nav ul{display:flex;gap:25px;list-style:none; }
nav a{font-weight:600;color:var(--text-dark);}
nav a:hover{color:var(--primary-500);}
#burger{display:none;flex-direction:column;cursor:pointer;gap:5px;}
#burger span{width:26px;height:3px;background:var(--text-dark);transition:var(--transition);}

/* Mobile Nav */
@media(max-width:768px){
    nav{position:fixed;top:70px;right:-100%;background:var(--glass-bg);backdrop-filter:blur(var(--blur));width:200px;height:calc(100vh - 70px);transition:var(--transition);}
    nav.active{right:0;}
    nav ul{flex-direction:column;padding:20px;}
    #burger{display:flex;}
    #burger.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
    #burger.active span:nth-child(2){opacity:0;}
    #burger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
    nav ul{ background-color: #fff;}
}

/* =================================================================
  HERO
================================================================= */
.hero-section{
    display:flex;align-items:center;justify-content:center;
    min-height:80vh;
    color:#ffffff;
    text-shadow:1px 1px 4px rgba(0,0,0,0.7);
}
.hero-section .container{text-align:center;}
.hero-section p{max-width:700px;margin:0 auto 30px auto;}

/* =================================================================
  BUTTONS
================================================================= */
.btn-primary,
button,
input[type='submit']{
    display:inline-block;
    padding:12px 28px;
    font-family:'Raleway',sans-serif;
    font-weight:700;
    letter-spacing:.5px;
    border:none;
    border-radius:var(--radius-md);
    cursor:pointer;
    color:#ffffff;
    background:var(--grad-primary);
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
}
.btn-primary:hover,
button:hover,
input[type='submit']:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}

/* =================================================================
  GLASS FORMS
================================================================= */
.glass-form{
    background:var(--glass-bg);
    backdrop-filter:blur(var(--blur));
    border:1px solid var(--glass-border);
    padding:30px;
    border-radius:var(--radius-lg);
    width:100%;
    max-width:700px;
    margin:0 auto;
}
.form-group{margin-bottom:20px;}
label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-dark);}
input[type='text'],
input[type='email'],
textarea{
    width:100%;
    padding:12px 15px;
    border:1px solid #cccccc;
    border-radius:var(--radius-md);
    font-size:1rem;
    transition:border .25s;
}
input:focus,textarea:focus{outline:none;border-color:var(--primary-500);}

/* =================================================================
  CARDS
================================================================= */
.cards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}
.card{
    background:#ffffff;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
    transition:transform .35s,box-shadow .35s;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.card-image{width:100%;height:200px;overflow:hidden;}
.card-image img{width:100%;height:100%;object-fit:cover;margin:0 auto;}
.card-content{padding:20px;}

/* =================================================================
  AWARDS GALLERY
================================================================= */
.awards-gallery{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;}

/* =================================================================
  EVENTS LIST
================================================================= */
.events-list{list-style:none;margin-top:20px;}
.events-list li{padding:10px 0;font-weight:600;color:var(--text-dark);}
.events-list li strong{color:var(--primary-500);}

/* =================================================================
  TOGGLE SWITCH
================================================================= */
.switch{position:relative;display:inline-block;width:52px;height:28px;margin-right:10px;}
.switch input{opacity:0;width:0;height:0;}
.slider.round{
    position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;
    background:#ccc;transition:var(--transition);border-radius:34px;
}
.slider.round:before{
    position:absolute;content:"";height:22px;width:22px;left:4px;bottom:3px;
    background:white;transition:var(--transition);border-radius:50%;
}
input:checked + .slider.round{background:var(--primary-500);}
input:checked + .slider.round:before{transform:translateX(24px);}

/* =================================================================
  SLIDER RANGE
================================================================= */
.slider-wrapper{margin-top:30px;text-align:center;}
.custom-slider{
    -webkit-appearance:none;width:100%;height:8px;
    background:var(--secondary-500);border-radius:5px;outline:none;
    transition:opacity .2s;
}
.custom-slider::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;width:20px;height:20px;
    border-radius:50%;background:var(--primary-500);cursor:pointer;
}
.custom-slider::-moz-range-thumb{
    width:20px;height:20px;border-radius:50%;background:var(--primary-500);cursor:pointer;
}

/* =================================================================
  RESOURCES LIST
================================================================= */
.resources-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px;}
.resources-list a{
    background:#ffffff;border-left:6px solid var(--primary-500);
    padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);
    transition:var(--transition);display:block;
}
.resources-list a:hover{transform:translateY(-4px);border-color:var(--secondary-500);}

/* =================================================================
  FOOTER
================================================================= */
footer.glass-footer{
    background:var(--glass-bg);
    backdrop-filter:blur(var(--blur));
    border-top:1px solid var(--glass-border);
    padding:40px 0;
    text-align:center;
}
.footer-nav a,
.social-links a{
    color:var(--text-dark);
    margin:0 6px;
    font-weight:600;
}
.footer-nav a:hover,
.social-links a:hover{color:var(--primary-500);}

/* =================================================================
  SUCCESS PAGE & DEFAULT PAGES
================================================================= */
.page-success{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
}
.page-default{padding-top:100px;}

/* =================================================================
  MORPHING ANIMATION (Decorative blobs)
================================================================= */
@keyframes morph{
    0%{border-radius:42% 58% 70% 30% / 30% 30% 70% 70%;}
    50%{border-radius:58% 42% 30% 70% / 60% 30% 70% 40%;}
    100%{border-radius:42% 58% 70% 30% / 30% 30% 70% 70%;}
}
.morph{
    animation:morph 8s ease-in-out infinite alternate;
}

/* =================================================================
  HELPER CLASSES
================================================================= */
.text-center{text-align:center!important;}
.shadow-lg{box-shadow:var(--shadow-lg)!important;}
.mt-0{margin-top:0!important;}
.mt-1{margin-top:10px!important;}
.mb-1{margin-bottom:10px!important;}
.pt-100{padding-top:100px!important;}

/* =================================================================
  PARALLAX FALLBACK FOR iOS SAFARI (no attachment:fixed)
================================================================= */
@supports (-webkit-overflow-scrolling: touch){
    .parallax{background-attachment:scroll;}
}

html,body{
  overflow-x: hidden;
}