/* ==================================================
   CORPORATE THEME
   For: Company Profile / Consultant / Construction / Business
   File: themes/corporate.css
================================================== */

:root{
    --primary:#2563eb;
    --primary-dark:#1d4ed8;
    --primary-soft:#e8f0ff;

    --bg:#f5f7fb;
    --card:#ffffff;
    --text:#172033;
    --muted:#667085;
    --line:#e5e7eb;
    --dark:#0f172a;

    --shadow:0 14px 35px rgba(15,23,42,.08);
    --shadow-hover:0 20px 45px rgba(15,23,42,.14);
}

/* GLOBAL */
body{
    background:var(--bg) !important;
    color:var(--text) !important;
}

a{
    transition:.25s ease;
}

/* HEADER */
.header{
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line) !important;
}

.nav{
    height:74px !important;
}

.brand strong{
    color:var(--dark) !important;
    font-size:18px;
}

.brand small{
    color:var(--muted) !important;
    font-size:12px;
}

.logo{
    background:var(--primary) !important;
    color:#fff !important;
}

.logo-img{
    width:58px !important;
    height:58px !important;
    object-fit:contain !important;
    border-radius:14px !important;
    background:#fff;
}

.menu a{
    color:var(--muted) !important;
    font-weight:700;
}

.menu a:hover{
    color:var(--primary) !important;
}

/* HERO */
.hero{
    padding:60px 0 !important;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.13), transparent 30%),
        linear-gradient(135deg,#eef4ff 0%,#ffffff 70%) !important;
}

.hero-grid{
    gap:38px !important;
}

.hero h1{
    font-size:46px !important;
    line-height:1.12 !important;
    letter-spacing:-1.2px;
    color:var(--dark) !important;
}

.hero .lead{
    color:var(--muted) !important;
    font-size:17px !important;
}

.badge,
.section-label{
    display:inline-block !important;
    background:var(--primary-soft) !important;
    color:var(--primary) !important;
    border-radius:999px !important;
    padding:7px 13px !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.2px;
}

.hero-preview{
    max-width:430px !important;
    margin-left:auto !important;
    overflow:hidden;
}

.hero-project-img{
    width:100% !important;
    height:300px !important;
    object-fit:cover !important;
    border-radius:16px !important;
}

.hero-stats{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:15px;
}

.stat-box{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    text-align:center;
}

.stat-box strong{
    display:block;
    color:var(--primary);
    font-size:20px;
}

.stat-box span{
    color:var(--muted);
    font-size:12px;
}

/* BUTTON */
.btn{
    border-radius:12px !important;
    font-weight:800 !important;
}

.btn.primary{
    background:var(--primary) !important;
    border-color:var(--primary) !important;
    color:#fff !important;
    box-shadow:0 10px 25px rgba(37,99,235,.25);
}

.btn.primary:hover{
    background:var(--primary-dark) !important;
    transform:translateY(-2px);
}

/* SECTION */
.section{
    padding:48px 0 !important;
}

.section h2{
    font-size:28px !important;
    line-height:1.25 !important;
    color:var(--dark) !important;
    margin:10px 0 18px !important;
}

.section p{
    color:var(--muted);
}

/* CARD */
.card{
    background:var(--card) !important;
    border:1px solid var(--line) !important;
    border-radius:18px !important;
    box-shadow:var(--shadow) !important;
    transition:.25s ease;
}

.card:hover{
    box-shadow:var(--shadow-hover) !important;
}

/* ABOUT */
.two-col{
    gap:32px !important;
    align-items:center;
}

.company-preview{
    padding:0 !important;
    overflow:hidden !important;
}

.company-preview-img{
    width:100% !important;
    height:360px !important;
    object-fit:cover !important;
    display:block;
}

.preview-empty{
    height:360px !important;
}

/* SERVICES */
.service-card{
    min-height:210px;
}

.service-icon{
    width:52px;
    height:52px;
    border-radius:16px;
    background:var(--primary-soft);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    margin-bottom:15px;
}

.service-card h3{
    font-size:19px;
    color:var(--dark);
}

/* PORTFOLIO */
.portfolio-link{
    text-decoration:none !important;
    color:inherit !important;
    display:block;
}

.portfolio-card{
    padding:0 !important;
    overflow:hidden !important;
}

.portfolio-card:hover{
    transform:translateY(-5px);
}

.portfolio-img{
    width:100% !important;
    height:185px !important;
    object-fit:cover !important;
    display:block;
}

.portfolio-card h3{
    color:var(--dark);
    font-size:18px;
    padding:18px 18px 6px !important;
    margin:0 !important;
}

.portfolio-card p{
    padding:0 18px 14px !important;
    margin:0;
    font-size:14px;
}

.portfolio-card strong{
    color:var(--primary);
}

/* PROJECT DETAIL */
.project-detail-image{
    width:100% !important;
    height:420px !important;
    object-fit:cover !important;
    border-radius:20px !important;
    margin:24px 0 !important;
}

.project-detail-category{
    font-size:14px !important;
    padding:8px 16px !important;
}

.project-short-description{
    font-size:19px !important;
    color:#475569 !important;
    margin-bottom:22px !important;
    line-height:1.7 !important;
}

.project-description{
    font-size:17px !important;
    line-height:1.85 !important;
    color:#334155 !important;
}

.project-related{
    margin-top:45px !important;
}

/* GALLERY */
.gallery-lightbox-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
}

.gallery-card{
    padding:0 !important;
    overflow:hidden !important;
}

.gallery-card h3{
    font-size:16px;
    padding:14px 16px 16px;
    margin:0;
    color:var(--dark);
}

.gallery-img{
    width:100% !important;
    height:180px !important;
    object-fit:cover !important;
    display:block;
    transition:.35s ease;
}

.gallery-card:hover .gallery-img{
    transform:scale(1.07);
}

.gallery-lightbox-btn{
    border:0 !important;
    padding:0 !important;
    width:100% !important;
    background:transparent !important;
    cursor:pointer !important;
    display:block !important;
}

/* TEAM */
.team-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:24px !important;
    justify-content:center !important;
}

.team-card{
    width:260px !important;
    max-width:260px !important;
    padding:24px !important;
    text-align:center !important;
}

.team-photo,
.team-card img{
    width:110px !important;
    height:110px !important;
    object-fit:cover !important;
    border-radius:50% !important;
    display:block !important;
    margin:0 auto 15px !important;
    border:4px solid var(--primary-soft);
}

.team-card h3{
    margin-bottom:4px !important;
    color:var(--dark);
}

.team-card strong{
    color:var(--primary);
}

/* TESTIMONIAL */
.testimonial-card{
    text-align:center !important;
    padding:24px !important;
}

.testimonial-photo{
    width:86px !important;
    height:86px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    margin:0 auto 15px !important;
}

.testimonial-rating{
    color:#f59e0b;
    font-size:18px !important;
}

.testimonial-text{
    font-size:15px;
    color:#475569 !important;
}

/* CTA */
.cta{
    background:#ffffff !important;
    border:1px solid var(--line) !important;
    border-radius:22px !important;
    padding:32px !important;
    box-shadow:var(--shadow) !important;
}

.cta h2{
    font-size:30px !important;
    margin-bottom:8px !important;
}

/* FOOTER */
.footer{
    background:var(--dark) !important;
    color:#fff !important;
    padding:46px 0 28px !important;
}

.footer strong{
    color:#fff !important;
}

.footer p{
    color:#cbd5e1 !important;
}

.footer a{
    color:#e2e8f0 !important;
}

.footer a:hover{
    color:#fff !important;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12) !important;
}

/* RESPONSIVE */
@media(max-width:900px){

    .hero{
        padding:42px 0 !important;
    }

    .hero h1{
        font-size:34px !important;
    }

    .hero-project-img{
        height:240px !important;
    }

    .company-preview-img{
        height:260px !important;
    }

    .project-detail-image{
        height:260px !important;
    }

    .section{
        padding:38px 0 !important;
    }

    .section h2{
        font-size:24px !important;
    }

    .cards{
        grid-template-columns:1fr !important;
    }

    .cta{
        padding:24px !important;
    }

    .cta h2{
        font-size:24px !important;
    }
}