/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family: "Poppins", sans-serif;
}

body{
    background:#0c0c0c;
    color:white;
}

/* CONTENEDOR */
.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* NAVBAR */

.navbar{
    position:fixed;
    top:0;
    width:100%;
    background:rgba(0,0,0,0.45);
    backdrop-filter: blur(6px);
    z-index:1000;
}

.navbar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
}

.logo img{
    height:45px;
}

nav ul{
    display:flex;
    gap:25px;
    list-style:none;
}

nav a{
    color:white;
    text-decoration:none;
    font-size:14px;
    opacity:.85;
}

nav a:hover{
    opacity:1;
}

/* BOTON NAV */

.btn-donar{
    background:#ff2d2d;
    padding:10px 18px;
    border-radius:25px;
    font-size:14px;
    cursor:pointer;
}

/* HERO */

.hero-grid{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.hero{
    height:100vh;

    background:
    linear-gradient(
        rgba(100,0,0,0.75),
        rgba(0,0,0,0.95)
    ),
    url('/img/hero.jpg');

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
}

.hero-content{
    max-width:650px;
}

.hero h1{
    font-size:80px;
    font-weight:800;
    letter-spacing:2px;
}

.hero h2{
    font-size:50px;
    font-weight:300;
    color:#ff4d4d;
    margin-bottom:20px;
}

.hero p{
    font-size:18px;
    color:#ddd;
    line-height:1.6;
}

/* BOTONES HERO */

.hero-buttons{
    margin-top:30px;
    display:flex;
    gap:15px;
}

.btn-primary{
    background:#ff2d2d;
    padding:14px 22px;
    border-radius:30px;
    font-size:14px;
    cursor:pointer;
}

.btn-secondary{
    border:1px solid white;
    padding:14px 22px;
    border-radius:30px;
    font-size:14px;
}

/* SECCION CAMPAÑA */

.campania{
    padding:100px 0;
    background:#111;
}

.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}

.campania-text h2{
    font-size:36px;
    margin-bottom:20px;
}

.campania-text p{
    color:#ccc;
    margin-bottom:20px;
}

.campania-text ul{
    list-style:none;
}

.campania-text li{
    margin-bottom:10px;
}

/* FORM REGISTRO */

.registro{
    background:#1b1b1b;
    padding:35px;
    border-radius:10px;
}

.registro h3{
    margin-bottom:20px;
}

.registro form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.registro input{
    padding:12px;
    border:none;
    border-radius:6px;
    background:#111;
    color:white;
}

.registro button{
    margin-top:10px;
    padding:12px;
    border:none;
    border-radius:6px;
    background:#ff2d2d;
    color:white;
    cursor:pointer;
}

/* QUIEN ES */

.quien-es{
    padding:100px 0;
    background:#0e0e0e;
    text-align:center;
}

.quien-es h2{
    font-size:38px;
    margin-bottom:10px;
}

.quien-es p{
    color:#bbb;
}

.timeline{
    margin-top:50px;
    display:flex;
    gap:30px;
    justify-content:center;
}

.timeline-item{
    background:#1b1b1b;
    padding:30px;
    border-radius:10px;
    width:260px;
}

/* BIBLIOTECA */

.biblioteca{
    padding:100px 0;
    background:#111;
    text-align:center;
}

.docs-grid{
    margin-top:50px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.doc{
    background:#1b1b1b;
    padding:30px;
    border-radius:10px;
    cursor:pointer;
}

.doc:hover{
    background:#ff2d2d;
}

/* CONTACTO */

.contacto{
    padding:100px 0;
    background:#0c0c0c;
    text-align:center;
}

.contact-grid{
    margin-top:50px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.contact-card{
    background:#1b1b1b;
    padding:25px;
    border-radius:10px;
}

.form-contacto{
    margin-top:60px;
}

.form-contacto form{
    max-width:500px;
    margin:auto;
    display:flex;
    flex-direction:column;
    gap:15px;
}

.form-contacto input,
.form-contacto textarea{
    padding:12px;
    border:none;
    border-radius:6px;
    background:#1b1b1b;
    color:white;
}

.form-contacto textarea{
    height:120px;
}

.form-contacto button{
    padding:12px;
    border:none;
    border-radius:6px;
    background:#ff2d2d;
    color:white;
}

/* FOOTER */

.footer{
    background:#070707;
    padding:60px 0;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;
}

.footer h4{
    margin-bottom:10px;
}

.footer ul{
    list-style:none;
}

.footer li{
    margin-bottom:6px;
    color:#bbb;
}

/* PERSONEROS SECTION */
.personeros {
    padding: 80px 20px;
    text-align: center;
}

/* center the form */
.personeros .form-personeros {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.form-personeros{
    margin-top:60px;
}

.form-personeros form{
    max-width:500px;
    margin:auto;
    display:flex;
    flex-direction:column;
    gap:15px;
}

.form-personeros input,
.form-personeros textarea{
    padding:12px;
    border:none;
    border-radius:6px;
    background:#1b1b1b;
    color:white;
}

.form-personeros textarea{
    height:120px;
}

.form-personeros button{
    padding:12px;
    border:none;
    border-radius:6px;
    background:#ff2d2d;
    color:white;
}

/* PERSONEROS SECTION */
.personeros{
    min-height: 100vh;              /* fill screen */
    display: flex;
    align-items: center;            /* vertical center */
    justify-content: center;        /* horizontal center */
    text-align: center;
    padding: 40px 20px;
}

/* container width */
.personeros .container{
    max-width: 500px;
    width: 100%;
}

/* form layout */
.personeros form{
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 25px;
}

/* inputs */
.personeros input{
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

/* button */
.personeros button{
    padding: 12px;
    background: #c60000;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.personeros button:hover{
    background: #a50000;
}

/* form styling */
.personeros form {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* inputs */
.personeros input {
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

/* button */
.personeros button {
    padding: 12px;
    background: #c60000;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.personeros button:hover {
    background: #a40000;
}

/* RESPONSIVE */

@media(max-width:900px){

.grid-2{
    grid-template-columns:1fr;
}

.docs-grid{
    grid-template-columns:1fr 1fr;
}

.contact-grid{
    grid-template-columns:1fr 1fr;
}

.hero h1{
    font-size:50px;
}

.hero h2{
    font-size:30px;
}

}