/*======================================
  5Dragon Construction Materials
  Professional Stylesheet
======================================*/

/*======================================
  CSS RESET
======================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    font-size:16px;
    line-height:1.7;
    color:#222;
    background:#fff;
    overflow-x:hidden;
}

img{
    display:block;
    max-width:100%;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

button,
input,
textarea{
    font:inherit;
    outline:none;
    border:none;
}

/*======================================
  VARIABLES
======================================*/

:root{

    --primary:#d71920;
    --primary-dark:#b51218;

    --dark:#111111;
    --dark-light:#1b1b1b;

    --white:#ffffff;

    --gray:#666666;
    --light-gray:#888888;

    --bg:#f8f9fb;

    --shadow:0 15px 40px rgba(0,0,0,.08);
    --shadow-hover:0 20px 50px rgba(0,0,0,.15);

    --radius:20px;

    --transition:.35s ease;

}

/*======================================
  GLOBAL
======================================*/

.container{

    width:min(90%,1200px);
    margin:auto;

}

section{

    padding:100px 0;

}

.section-header{

    max-width:760px;
    margin:0 auto 70px;
    text-align:center;

}

.section-tag{

    display:inline-block;

    background:var(--primary);

    color:#fff;

    padding:8px 20px;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:20px;

}

.section-header h2{

    font-size:44px;

    line-height:1.2;

    margin-bottom:20px;

    color:var(--dark);

}

.section-header p{

    color:var(--gray);

    font-size:18px;

}

/*======================================
  BUTTONS
======================================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 34px;

    border-radius:50px;

    background:var(--primary);

    color:#fff;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.btn-secondary,
.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 34px;

    border-radius:50px;

    border:2px solid #fff;

    color:#fff;

    font-weight:600;

    transition:var(--transition);

}

.btn-outline:hover,
.btn-secondary:hover{

    background:#fff;

    color:#111;

}
/*======================================
  HEADER
======================================*/

.header{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:90px;

    background:#111;

    z-index:1000;

    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

.nav-container{

    height:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

}

.logo img{

    height:60px;
    width:auto;

}

.navbar{

    display:flex;
    align-items:center;

}

.nav-links{

    display:flex;
    align-items:center;
    gap:35px;

}

.nav-links a{

    color:#fff;
    font-size:16px;
    font-weight:600;

    transition:var(--transition);

}

.nav-links a:hover,
.nav-links a.active{

    color:var(--primary);

}

.nav-actions{

    display:flex;
    align-items:center;
    gap:15px;

}

.social-btn{

    width:45px;
    height:45px;

    border-radius:50%;

    background:#1877F2;

    color:#fff;

    display:flex;
    justify-content:center;
    align-items:center;

    transition:var(--transition);

}

.social-btn:hover{

    transform:translateY(-3px);

}

.call-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 28px;

    background:var(--primary);

    color:#fff;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

}

.call-btn:hover{

    background:var(--primary-dark);

}

.menu-toggle{

    display:none;

    width:45px;
    height:45px;

    background:none;

    color:#fff;

    cursor:pointer;

    font-size:28px;

    border:none;

}
/*======================================
  HERO
======================================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;
    align-items:center;

    background:
        linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
        url("../images/hero/hero.jpg") center center/cover no-repeat;

}

.hero-overlay{

    position:absolute;
    inset:0;

}

.hero .container{

    position:relative;
    z-index:2;

}

.hero-content{

    max-width:720px;

    color:#fff;

}

.hero-tag{

    display:inline-block;

    background:var(--primary);

    color:#fff;

    padding:10px 24px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    margin-bottom:25px;

    letter-spacing:1px;

}

.hero h1{

    font-size:64px;

    line-height:1.15;

    font-weight:700;

    margin-bottom:25px;

}

.hero p{

    font-size:20px;

    color:#eee;

    line-height:1.9;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:45px;

}

.hero-features{

    display:flex;

    gap:30px;

    flex-wrap:wrap;

}

.hero-features div{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

}

.hero-features i{

    color:var(--primary);

}
/*======================================
  ABOUT
======================================*/

.about{

    background:var(--bg);

}

.about-container{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

}

.about-image{

    overflow:hidden;
    border-radius:var(--radius);

}

.about-image img{

    width:100%;
    height:550px;
    object-fit:cover;

    border-radius:var(--radius);

    transition:var(--transition);

    box-shadow:var(--shadow);

}

.about-image:hover img{

    transform:scale(1.05);

}

.about-content h2{

    font-size:44px;
    line-height:1.25;
    margin-bottom:25px;
    color:var(--dark);

}

.about-content p{

    color:var(--gray);
    margin-bottom:20px;
    font-size:17px;

}

.about-features{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:35px 0;

}

.about-features div{

    display:flex;
    align-items:center;
    gap:10px;
    font-weight:600;

}

.about-features i{

    color:var(--primary);

}
/*======================================
  WHY CHOOSE US
======================================*/

.why-us{

    background:#fff;

}

.why-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;

}

.why-card{

    background:#fff;

    padding:40px 30px;

    text-align:center;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-hover);

}

.why-card i{

    font-size:52px;

    color:var(--primary);

    margin-bottom:25px;

}

.why-card h3{

    font-size:24px;

    margin-bottom:15px;

    color:var(--dark);

}

.why-card p{

    color:var(--gray);

    line-height:1.8;

}
/*======================================
  FEATURED PRODUCTS
======================================*/

.products{

    background:var(--bg);

}

.product-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;

}

.product-card{

    background:#fff;

    border-radius:var(--radius);

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.product-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-hover);

}

.product-card img{

    width:100%;
    height:250px;
    object-fit:cover;

    transition:.4s;

}

.product-card:hover img{

    transform:scale(1.08);

}

.product-content{

    padding:30px;

}

.product-category{

    display:inline-block;

    background:var(--primary);

    color:#fff;

    padding:6px 14px;

    border-radius:50px;

    font-size:12px;

    font-weight:600;

    margin-bottom:15px;

}

.product-content h3{

    font-size:24px;

    margin-bottom:15px;

    color:var(--dark);

}

.product-content p{

    color:var(--gray);

    line-height:1.8;

    margin-bottom:25px;

}
/*======================================
  GALLERY
======================================*/

.gallery{

    background:#fff;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

}

.gallery-item{

    overflow:hidden;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.gallery-item:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-hover);

}

.gallery-item img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.4s;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.gallery-button{

    text-align:center;

    margin-top:50px;

}
/*======================================
  STATISTICS
======================================*/

.stats{

    background:var(--dark);

    color:#fff;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:30px;

}

.stat-card{

    background:rgba(255,255,255,.05);

    padding:45px 30px;

    text-align:center;

    border-radius:var(--radius);

    transition:var(--transition);

}

.stat-card:hover{

    background:var(--primary);

    transform:translateY(-10px);

}

.stat-card i{

    font-size:48px;

    margin-bottom:20px;

}

.stat-card h2{

    font-size:52px;

    font-weight:700;

    margin-bottom:10px;

    color:#fff;

}

.stat-card p{

    color:#eee;

    font-size:17px;

}
/*======================================
  CTA
======================================*/

.cta{

    position:relative;

    background:
        linear-gradient(rgba(0,0,0,.70),rgba(0,0,0,.70)),
        url("../images/hero/hero.jpg") center center/cover no-repeat;

    color:#fff;

    text-align:center;

}

.cta-content{

    max-width:850px;

    margin:auto;

}

.cta h2{

    font-size:48px;

    line-height:1.2;

    margin:25px 0;

}

.cta p{

    font-size:18px;

    color:#eee;

    line-height:1.8;

    margin-bottom:40px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}
/*======================================
  FOOTER
======================================*/

.footer{

    background:#0f0f0f;

    color:#ccc;

    padding:80px 0 0;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.5fr;

    gap:50px;

}

.footer-logo{

    width:170px;

    margin-bottom:20px;

}

.footer-col h3{

    color:#fff;

    font-size:22px;

    margin-bottom:20px;

}

.footer-col p{

    color:#aaa;

    line-height:1.8;

    margin-bottom:15px;

}

.footer-col ul{

    padding:0;

    margin:0;

}

.footer-col li{

    margin-bottom:12px;

}

.footer-col a{

    color:#aaa;

    transition:var(--transition);

}

.footer-col a:hover{

    color:var(--primary);

}

.footer-social{

    display:flex;

    gap:15px;

    margin-top:20px;

}

.footer-social a{

    width:42px;

    height:42px;

    display:flex;

    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:#222;

    color:#fff;

    transition:var(--transition);

}

.footer-social a:hover{

    background:var(--primary);

}

.footer-bottom{

    margin-top:60px;

    padding:25px 0;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    color:#888;

}
/*======================================
  SECTION HEADER
======================================*/

.section-header{

    max-width:750px;
    margin:0 auto 70px;
    text-align:center;

}

.section-tag{

    display:inline-block;

    padding:8px 22px;

    background:var(--primary);

    color:#fff;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:20px;

}

.section-header h2{

    font-size:44px;

    color:var(--dark);

    margin-bottom:20px;

    line-height:1.2;

}

.section-header p{

    color:var(--gray);

    font-size:18px;

    line-height:1.8;

}

/*======================================
  PAGE HERO
======================================*/

.page-hero{

    padding:180px 20px 110px;

    text-align:center;

    color:#fff;

    background:
        linear-gradient(rgba(0,0,0,.70),rgba(0,0,0,.70)),
        url("../images/hero/hero.jpg") center/cover no-repeat;

}

.page-hero h1{

    font-size:58px;

    margin-bottom:20px;

}

.page-hero p{

    max-width:760px;

    margin:auto;

    color:#eee;

    font-size:20px;

    line-height:1.8;

}

/*======================================
  SCROLL REVEAL
======================================*/

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:1s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}