/* ==============================
   style.css – YPF Argentina
   Diseño “Modern + Hyperrealist Textures”
   ============================== */

/* ---------- Google Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Merriweather:wght@300;400;700&display=swap');

/* ---------- CSS Variables ---------- */
:root{
    /* Pastel Palette */
    --clr-primary-100:#d1e8ff;
    --clr-primary-500:#5ba8ff;
    --clr-primary-700:#2674d9;

    --clr-accent-100:#ffe4d6;
    --clr-accent-500:#ffb088;
    --clr-accent-700:#ff7336;

    --clr-neutral-100:#ffffff;
    --clr-neutral-300:#f5f5f7;
    --clr-neutral-500:#b7b7c2;
    --clr-neutral-700:#444444;
    --clr-neutral-900:#222222;

    --radius-sm:.375rem;
    --radius-lg:1rem;

    --transition-fast:all .2s ease-in-out;
    --transition-slow:all .4s cubic-bezier(.4,0,.2,1);

    /* Section-specific gradients */
    --grad-hero:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55));
    --grad-card:linear-gradient(145deg,var(--clr-primary-100) 0%,var(--clr-accent-100) 100%);
}

/* ---------- Base Elements ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:'Merriweather',serif;
    color:var(--clr-neutral-700);
    background:var(--clr-neutral-100);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Montserrat',sans-serif;
    color:var(--clr-neutral-900);
    line-height:1.25;
    text-align:center;
}

.section-title{
    margin-bottom:3rem;
    position:relative;
}

.section-title::after{
    content:'';
    width:60px;
    height:4px;
    background:var(--clr-primary-500);
    display:block;
    margin:1rem auto 0;
    border-radius:2px;
}

/* ---------- Navbar ---------- */
.navbar{
    backdrop-filter:blur(6px);
    background:rgba(255,255,255,.9)!important;
}
.navbar-brand{font-weight:700;}
.nav-link{
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    transition:var(--transition-fast);
}
.nav-link:hover,
.nav-link:focus{color:var(--clr-primary-700)!important;}

/* ---------- Hero Section ---------- */
#hero{
    position:relative;
    color:#fff;
}
#hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--grad-hero);
}
#hero .container{
    position:relative;
    z-index:2;
}
#hero p{max-width:720px;margin:0 auto 2rem;}
#hero .btn{
    margin:.25rem;
}

/* ---------- Buttons (Global) ---------- */
.btn,button,
input[type='submit']{
    font-family:'Montserrat',sans-serif;
    border:none;
    transition:var(--transition-fast);
    padding:.75rem 1.5rem;
    border-radius:var(--radius-sm);
    font-weight:600;
}
.btn-primary{
    background:var(--clr-primary-500);
    color:var(--clr-neutral-100);
}
.btn-primary:hover,
.btn-primary:focus{
    background:var(--clr-primary-700);
    color:var(--clr-neutral-100);
}
.btn-outline-light{
    background:transparent;
    color:var(--clr-neutral-100);
    border:2px solid var(--clr-neutral-100);
}
.btn-outline-light:hover{background:var(--clr-neutral-100);color:var(--clr-primary-700);}
.btn-link.read-more{
    color:var(--clr-primary-700);
    font-weight:600;
    text-decoration:none;
    position:relative;
}
.btn-link.read-more::after{
    content:'→';
    margin-left:.35rem;
    transition:var(--transition-fast);
}
.btn-link.read-more:hover::after{transform:translateX(4px);}

/* ---------- Cards (Universal) ---------- */
.card{
    border:none;
    border-radius:var(--radius-lg);
    background:var(--grad-card);
    box-shadow:0 6px 18px rgba(0,0,0,.07);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    transition:transform .3s ease;
}
.card:hover{transform:translateY(-8px);}
.card-image{
    width:100%;
    height:240px;
    overflow:hidden;
    border-top-left-radius:var(--radius-lg);
    border-top-right-radius:var(--radius-lg);
    display:flex;
    align-items:center;
    justify-content:center;
}
.card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    margin:0 auto;
}
.card-content{padding:1.75rem;}

/* ---------- Timeline ---------- */
.timeline li{
    position:relative;
    padding-left:2rem;
}
.timeline li::before{
    content:'';
    position:absolute;
    left:0;
    top:.4rem;
    width:.75rem;
    height:.75rem;
    background:var(--clr-primary-500);
    border-radius:50%;
}
.timeline li + li{margin-top:1.5rem;}
.timeline p{margin-bottom:0;}

/* ---------- Statistics Widget (Stats) ---------- */
#stats .card{
    background:#fff;
}
#stats h3{color:var(--clr-primary-700);}
#stats p{margin:0;font-weight:600;}

/* ---------- Switch / Toggle ---------- */
.form-switch .form-check-input{
    width:3rem;
    height:1.5rem;
    background:var(--clr-neutral-500);
    border:none;
    transition:var(--transition-fast);
}
.form-switch .form-check-input:checked{
    background:var(--clr-primary-500);
}

/* ---------- Carousel Overrides ---------- */
.carousel-item{padding:1rem 0;}
.carousel-control-prev-icon,
.carousel-control-next-icon{
    filter:invert(1);
}

/* ---------- Testimonials ---------- */
blockquote{
    font-style:italic;
    position:relative;
}
blockquote::before{
    content:'“';
    font-family:serif;
    font-size:4rem;
    position:absolute;
    left:-1.2rem;
    top:-1.2rem;
    color:var(--clr-primary-500);
}

/* ---------- Parallax Helper ---------- */
.parallax{
    background-attachment:fixed;
    background-size:cover;
    background-repeat:no-repeat;
}

/* ---------- Glassmorphism Utility ---------- */
.glass{
    background:rgba(255,255,255,.35);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.15);
}

/* ---------- Cookie Popup ---------- */
#cookiePopup{
    font-family:'Merriweather',serif;
    font-size:.875rem;
}
#acceptCookie{padding:.35rem 1rem;font-size:.875rem;}

/* ---------- Footer ---------- */
footer{
    font-size:.875rem;
}
footer a{
    color:var(--clr-neutral-100);
    transition:var(--transition-fast);
}
footer a:hover{color:var(--clr-primary-100);}
footer .social-link{
    margin:0 .5rem;
    font-weight:600;
}

/* ---------- Success Page ---------- */
.success-wrapper{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

/* ---------- Privacy / Terms Top Padding ---------- */
.legal-page{padding-top:100px;}

/* ---------- Readability Helpers ---------- */
.text-white-overlay{
    position:relative;
    color:#fff;
}
.text-white-overlay::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--grad-hero);
    z-index:-1;
}

/* ---------- Responsive Tweaks ---------- */
@media (max-width:991px){
    h1{font-size:2rem;}
    .navbar-collapse{text-align:center;}
    .card-image{height:200px;}
}
@media (max-width:575px){
    .card-image{height:160px;}
}