/* =========================================================
   Theme: “Creativio” – Gradient / Asymmetric Balance
   Framework: Bulma 0.9.x  |  Fonts: Raleway / Open Sans
   Author: 2024
   ========================================================= */

/* ------------------- Root Tokens ------------------- */
:root{
    /* Brand */
    --color-primary:#4c6ef5;
    --color-secondary:#37b3ff;
    --color-accent:#ff6b6b;

    /* Neutral & Utility */
    --color-dark:#111827;
    --color-light:#f5f7fa;
    --color-muted:#64748b;

    /* Gradients */
    --gradient-primary:linear-gradient(135deg,#4c6ef5 0%,#6a82fb 50%,#37b3ff 100%);
    --gradient-accent:linear-gradient(135deg,#ff6b6b 0%,#ff9472 100%);
    --gradient-subtle:linear-gradient(135deg,rgba(76,110,245,.08),rgba(55,179,255,.08));

    /* Radius / Shadow */
    --radius-sm:.5rem;
    --radius-md:1rem;
    --shadow-sm:0 2px 6px rgba(0,0,0,.05);
    --shadow-md:0 10px 24px rgba(0,0,0,.08);

    /* Transition */
    --transition-fast:.25s ease;
    --transition-base:.4s cubic-bezier(.4,0,.2,1);
}

/* ------------------- Global Resets ------------------- */
html{
    scroll-behavior:smooth;
}
body{
    font-family:'Open Sans',sans-serif;
    color:var(--color-dark);
    background:var(--color-light);
}
h1,h2,h3,h4,h5,h6{
    font-family:'Raleway',sans-serif;
    font-weight:800;
    color:var(--color-dark);
    line-height:1.25;
}
a{
    color:var(--color-primary);
    transition:color var(--transition-fast);
}
a:hover{
    color:var(--color-secondary);
    text-decoration:none;
}

/* ------------------- Utility Classes ------------------- */
.gradient-bg{
    background:var(--gradient-primary);
    color:#fff;
}
.gradient-text{
    background:var(--gradient-primary);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.glass{
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(12px);
}
.parallax{
    background-attachment:fixed;
    background-size:cover;
    background-repeat:no-repeat;
}
.read-more{
    font-weight:600;
    position:relative;
}
.read-more::after{
    content:'';
    position:absolute;
    bottom:-2px;left:0;
    width:100%;height:2px;
    background:var(--gradient-primary);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--transition-fast);
}
.read-more:hover::after{transform:scaleX(1);}

/* ------------------- Buttons (GLOBAL) ------------------- */
.btn,
button,
input[type='submit']{
    display:inline-block;
    font-family:'Raleway',sans-serif;
    font-weight:600;
    padding:.75rem 2rem;
    border-radius:var(--radius-sm);
    border:none;
    cursor:pointer;
    color:#fff;
    background:var(--gradient-primary);
    transition:background var(--transition-base),transform var(--transition-fast);
}
.btn--accent{
    background:var(--gradient-accent);
}
.btn:hover,
button:hover,
input[type='submit']:hover{
    transform:translateY(-2px);
}
.btn:active,
button:active,
input[type='submit']:active{
    transform:translateY(0);
}

/* ------------------- Navbar ------------------- */
.navbar{
    transition:background var(--transition-base),box-shadow var(--transition-base);
}
.navbar.is-transparent{
    background:rgba(255,255,255,.2);
}
.navbar.is-fixed-top.is-scrolled{
    background:#fff;
    box-shadow:var(--shadow-sm);
}

/* ------------------- Hero ------------------- */
#hero{
    position:relative;
    background-size:cover;
    background-repeat:no-repeat;
    color:#fff;
}
#hero .title,
#hero .subtitle{
    color:#fff;
    text-shadow:0 2px 4px rgba(0,0,0,.4);
}

/* ------------------- Sections ------------------- */
section.section{
    padding-top:5rem;
    padding-bottom:5rem;
}
@media screen and (max-width:768px){
    section.section{
        padding-top:3rem;
        padding-bottom:3rem;
    }
}

/* Vision / Community / Testimonials (dark-over-image) */
.section[data-overlay='dark']{
    position:relative;
    color:#fff;
}
.section[data-overlay='dark']::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65));
    z-index:0;
}
.section[data-overlay='dark']>*{
    position:relative;
    z-index:1;
}

/* ------------------- Cards & Flex Containers ------------------- */
.card,
.item,
.testimonial,
.team-member,
.product-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    background:#fff;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-sm);
    transition:transform var(--transition-fast),box-shadow var(--transition-fast);
}
.card:hover,
.item:hover,
.testimonial:hover,
.team-member:hover,
.product-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
}
/* Image Wrapper */
.image-container{
    width:100%;
    height:240px;
    overflow:hidden;
    border-radius:var(--radius-sm);
    display:flex;
}
.image-container img{
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0 auto;
}

/* ------------------- Testimonials Carousel Placeholder ------------------- */
.carousel{
    overflow:hidden;
    position:relative;
}
/* Slides will be handled in JS */

/* ------------------- Accolades / Projects Grid ------------------- */
.grid-2{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:2rem;
}

/* ------------------- Success Page ------------------- */
.page-success{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:var(--gradient-subtle);
}

/* ------------------- Legal Pages ------------------- */
body.legal-page{
    padding-top:100px;
}

/* ------------------- Footer ------------------- */
.footer{
    background:var(--color-dark);
    color:#d1d5db;
    padding:4rem 1.5rem;
}
.footer a{
    color:#d1d5db;
}
.footer a:hover{
    color:#fff;
}
.footer .social-link{
    font-weight:600;
    margin-right:1rem;
    position:relative;
}
.footer .social-link::before{
    content:'#';
    color:var(--color-secondary);
    margin-right:.25rem;
}

/* ------------------- Bulma Helpers Override ------------------- */
.has-navbar-fixed-top{
    padding-top:3.25rem; /* height of fixed navbar */
}

/* ------------------- Animations ------------------- */
@keyframes fadeInUp{
    0%{opacity:0;transform:translateY(20px);}
    100%{opacity:1;transform:translateY(0);}
}
.fadeInUp{
    animation:fadeInUp var(--transition-base) both;
}

/* ------------------- Responsive Tweaks ------------------- */
@media screen and (min-width:1024px){
    .container.is-two-thirds{
        max-width:66%;
    }
}
@media screen and (max-width:1023px){
    .navbar-menu{
        background:rgba(255,255,255,.95);
    }
}

/* ------------------- Scrollbar (optional aesthetic) ------------------- */
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--color-light);}
::-webkit-scrollbar-thumb{
    background:var(--color-primary);
    border-radius:4px;
}

/* ------------------- Form Elements ------------------- */
input[type='text'],
input[type='email'],
textarea{
    border:1px solid #e5e7eb;
    border-radius:var(--radius-sm);
    transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
}
input[type='text']:focus,
input[type='email']:focus,
textarea:focus{
    border-color:var(--color-primary);
    box-shadow:0 0 0 2px rgba(76,110,245,.2);
}

/* ------------------- Hover Zoom for Images ------------------- */
.image-container img{
    transition:transform var(--transition-fast);
}
.image-container:hover img{
    transform:scale(1.05);
}