/*==================================================
VIRAJ FURNISHING STUDIO
Premium Home Décor & Furnishing Studio

Author : ChatGPT + Viraj
Version : 2.0
==================================================*/


/*==================================================
1. GOOGLE FONTS
==================================================*/

:root{

    /* Brand Colors */

    --primary:#D4AF37;
    --primary-dark:#B89124;

    --secondary:#1F2937;

    --white:#ffffff;

    --light:#F8F8F8;

    --border:#ECECEC;

    --text:#555555;

    --heading:#1F2937;


    /* Shadows */

    --shadow-sm:0 8px 25px rgba(0,0,0,.05);

    --shadow-md:0 12px 35px rgba(0,0,0,.08);

    --shadow-lg:0 20px 60px rgba(0,0,0,.12);


    /* Radius */

    --radius:14px;

    --radius-lg:22px;


    /* Transition */

    --transition:.35s ease;

}


/*==================================================
2. RESET
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    color:var(--text);

    background:var(--white);

    line-height:1.7;

    overflow-x:hidden;

}


/*==================================================
3. TYPOGRAPHY
==================================================*/

h1,h2,h3,h4,h5,h6{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    font-weight:700;

    margin-bottom:20px;

}

h1{

    font-size:56px;

    line-height:1.15;

}

h2{

    font-size:42px;

}

h3{

    font-size:30px;

}

p{

    margin-bottom:18px;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

img{

    display:block;

    max-width:100%;

}


/*==================================================
4. CONTAINER
==================================================*/

.container{

    width:min(1180px,92%);

    margin:auto;

}


/*==================================================
5. SECTION
==================================================*/

section{

     padding:50px 0;

    position:relative;

}

.section-title{

    text-align:center;

    max-width:720px;

    margin:0 auto 35px;

}

.section-title span{

    display:inline-block;

    margin-bottom:6px;

}

.section-title h2{

    margin-bottom:18px;

}

.section-title p{

    max-width:700px;

    margin:auto;

}


/*==================================================
6. BUTTONS
==================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 34px;

    border-radius:50px;

    font-weight:600;

    text-decoration:none;

    border:2px solid transparent;

    transition:all .35s ease;

    cursor:pointer;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    border:2px solid var(--primary);

}

.btn-primary:hover{

    background:var(--primary-dark);

    border-color:var(--primary-dark);

    color:#fff;

    transform:translateY(-3px);

}

.btn-outline{

    background:#fff;

    color:var(--primary);

    border:2px solid var(--primary);

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

    border-color:var(--primary);

    transform:translateY(-3px);

}


/*==================================================
END OF PART 1
==================================================*/

/*==================================================
HEADER
==================================================*/

.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

    background:#ffffff;

    transition:.35s ease;

}

.header.scrolled{

    background:rgba(255,255,255,.97);

    backdrop-filter:blur(16px);

    box-shadow:

    0 8px 30px rgba(0,0,0,.08),

    0 1px 0 rgba(212,175,55,.15);


}

.header .container{

    max-width:1280px;

}

/*=========================
NAVBAR
=========================*/

.navbar{

    height:100px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.header.scrolled .navbar{

    height:80px;

}

/*=========================
LOGO
=========================*/

.logo{

    display:flex;

    align-items:center;

    gap:18px;

    text-decoration:none;

    transition:all .35s ease;

}

.logo img{

    width:72px;

    height:72px;

    object-fit:contain;

    transition:.35s;

}

.header.scrolled .logo img{

    width:60px;

    height:60px;

 }

.logo-text{

    display:flex;

    flex-direction:column;

    line-height:1.1;

}

.logo-title{

    font-family:'Playfair Display', serif;

    font-size:34px;

    font-weight:700;

    line-height:1;

    color:var(--heading);


}

.logo-subtitle{

    margin-top:4px;

    font-size:19px;

    font-weight:500;

    line-height:1.1;

    color:#444;

}

.logo-tagline{

    margin-top:10px;

    font-size:10px;

    letter-spacing:3px;

    text-transform:uppercase;

    color:var(--primary);

    font-weight:600;

}

.header.scrolled .logo-tagline{
    display:none;
}

/*=========================
MENU
=========================*/


.nav-menu{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    flex:1;

    gap:55px;

    list-style:none;

    margin:0;

    padding:0 0 0 90px;

}

.nav-link{

    position:relative;

    color:var(--heading);

    text-decoration:none;

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    transition:.3s ease;

}

.nav-link:hover{

    color:var(--primary);
     transform:translateY(-2px);

}

.nav-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-12px;

    width:0;

    height:3px;

    border-radius:30px;

    background:var(--primary);

    transform:translateX(-50%);

    transition:width .35s ease;

}

.nav-link:hover::after,

.nav-link.active::after{

    width:100%;

}

.nav-link.active{

    color:var(--primary);

}
/*=========================
MOBILE BUTTON
=========================*/

.mobile-toggle{

    display:none;

    width:42px;

    height:42px;

    border:none;

    background:none;

    cursor:pointer;

    position:relative;

}

.mobile-toggle span{

    display:block;

    width:28px;

    height:2px;

    background:var(--heading);

    margin:6px auto;

    transition:.35s;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:991px){

.mobile-toggle{

    display:block;

}

.nav-menu{

    position:fixed;

    top:76px;

    right:-100%;

    width:320px;

    height:calc(100vh - 76px);

    background:#ffffff;

    flex-direction:column;

    justify-content:flex-start;

    align-items:flex-start;

    padding:50px 35px;

    gap:28px;

    box-shadow:-10px 0 30px rgba(0,0,0,.08);

    transition:.4s;

}

.nav-menu.active{

    right:0;

}

/*=========================
LOGO
=========================*/

.logo{

    display:flex;

    align-items:center;

    gap:18px;

    text-decoration:none;

    flex-shrink:0;

}

.logo img{

    width:74px;

    height:74px;

    object-fit:contain;

    transition:.35s ease;

}

.header.scrolled .logo img{

    width:64px;

    height:64px;

}

.logo-text{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.logo-title{

    font-family:'Playfair Display', serif;

    font-size:30px;

    line-height:1;

    font-weight:700;

    color:var(--heading);

}

.logo-subtitle{

    margin-top:3px;

    font-size:17px;

    font-weight:500;

    color:var(--text);

}

.logo-tagline{

    margin-top:7px;

    font-size:10px;

    letter-spacing:2.5px;

    text-transform:uppercase;

    color:var(--primary);

    font-weight:600;

}

}

/*==================================================
9. HERO
==================================================*/

.hero{

    padding-top:150px;

    padding-bottom:90px;

    background:linear-gradient(to bottom,#ffffff,#fafafa);

}

.hero-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

}

.hero-subtitle{

    display:inline-block;

    color:var(--primary);

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:20px;

}

.hero h1{

    font-size:64px;

    line-height:1.1;

    margin-bottom:25px;

}

.hero h1 span{

    color:var(--primary);

}

.hero p{

    font-size:18px;

    color:var(--text);

    max-width:580px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:35px;

    flex-wrap:wrap;

}

.hero-features{

    display:flex;

    flex-wrap:wrap;

    gap:30px;

    margin-top:45px;

}

.hero-features div{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:500;

}

.hero-features i{

    color:var(--primary);

    font-size:20px;

}

.hero-image{

    display:flex;

    justify-content:center;

}

.hero-image img{

    width:100%;

    max-width:560px;

    border-radius:24px;

    box-shadow:var(--shadow-lg);

}

/* Responsive */

@media(max-width:992px){

.hero{

    padding-top:130px;

}

.hero-wrapper{

    grid-template-columns:1fr;

    text-align:center;

    gap:50px;

}

.hero h1{

    font-size:46px;

}

.hero p{

    margin:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero-features{

    justify-content:center;

}

.hero-image img{

    max-width:500px;

}

}

@media(max-width:576px){

.hero h1{

    font-size:36px;

}

.hero{

    padding-top:120px;

    padding-bottom:70px;

}

}

/*==================================================
10. ABOUT
==================================================*/

.about{

    background:var(--light);
    padding:65px 0;

}

.about-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about-image{

    position:relative;

}

.about-image img{

    width:100%;

    border-radius:24px;

    box-shadow:var(--shadow-lg);

}

.about-content h3{

    font-size:36px;

    margin-bottom:25px;

}

.about-content p{

    margin-bottom:20px;

    font-size:17px;

}

.about-features{

    margin-top:35px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

}

.about-box{

    display:flex;

    gap:16px;

    align-items:flex-start;

    background:#fff;

    padding:22px;

    border-radius:18px;

    box-shadow:var(--shadow-sm);

    transition:.35s;

}

.about-box:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-md);

}

.about-box i{

    font-size:28px;

    color:var(--primary);

}

.about-box h4{

    font-size:20px;

    margin-bottom:6px;

}

.about-box p{

    margin:0;

    font-size:14px;

}

/* Responsive */

@media(max-width:992px){

.about-wrapper{

    grid-template-columns:1fr;

}

.about-features{

    grid-template-columns:1fr;

}

.about-content{

    text-align:center;

}

.about-box{

    text-align:left;

}

}

/*==================================================
11. COLLECTIONS
==================================================*/

.collections{

    background:#ffffff;
    padding:65px 0;

}

.collections-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

.collection-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:.4s;

    cursor:pointer;

}

.collection-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.collection-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.45s;

}

.collection-card:hover img{

    transform:scale(1.08);

}

.collection-content{

    padding:28px;

}

.collection-content h3{

    font-size:28px;

    margin-bottom:12px;

}

.collection-content p{

    margin:0;

    font-size:15px;

    color:var(--text);

}

@media(max-width:768px){

.collections-grid{

    grid-template-columns:1fr;

}

.collection-card img{

    height:240px;

}

}

/*==================================================
12. WHY CHOOSE US
==================================================*/

.why-us{

    background:var(--light);
    padding:65px 0;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

}

.why-card{

    background:#fff;

    padding:40px 30px;

    text-align:center;

    border-radius:22px;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.why-card i{

    font-size:52px;

    color:var(--primary);

    margin-bottom:25px;

}

.why-card h3{

    font-size:26px;

    margin-bottom:15px;

}

.why-card p{

    margin:0;

}

/*==================================================
13. PROCESS SECTION
==================================================*/

.process{
    background:var(--surface);
    position:relative;
    overflow:hidden;
}

.process-grid{
    margin-top:80px;
}

/*==============================
PROCESS CARD
==============================*/

.process-card{

    position:relative;

    background:#fffdf9;

    border:1px solid rgba(212,175,55,.10);

    border-radius:24px;

    padding:42px 28px 32px;

    text-align:center;

    height:100%;

    overflow:hidden;

    transition:all .35s ease;

    box-shadow:0 12px 35px rgba(0,0,0,.06);

}

/* Gold Top Accent */

.process-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(90deg,var(--primary),#e5c14f);

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

/*==============================
STEP NUMBER
==============================*/

.process-card .step-number{

    position:absolute;

    top:18px;

    right:20px;

    font-size:56px;

    font-weight:800;

    color:rgba(212,175,55,.13);

    line-height:1;

    z-index:0;

    user-select:none;

    pointer-events:none;

}

/*==============================
ICON
==============================*/

.process-card .step-icon{

    width:88px;

    height:88px;

    margin:0 auto 26px;

    border-radius:50%;

    background:#fff;

    border:2px solid rgba(212,175,55,.35);

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    z-index:2;

    box-shadow:0 10px 24px rgba(0,0,0,.08);

    transition:.35s;

}

.process-card .step-icon i{

    font-size:38px;

    color:var(--primary);

    transition:.35s;

}

/* Gold Divider */

.process-card .step-icon::after{

    content:"";

    position:absolute;

    bottom:-18px;

    left:50%;

    transform:translateX(-50%);

    width:44px;

    height:3px;

    border-radius:50px;

    background:var(--primary);

    opacity:.35;

    transition:.35s;

}

/*==============================
TITLE
==============================*/

.process-card h4{

    margin-top:18px;

    margin-bottom:14px;

    font-size:22px;

    line-height:1.3;

    font-weight:700;

    color:var(--heading-color);

}

/*==============================
DESCRIPTION
==============================*/

.process-card p{

    margin:0 auto;

    max-width:250px;

    font-size:15px;

    line-height:1.75;

    color:#666;

}

/*==============================
HOVER
==============================*/

.process-card:hover{

    transform:translateY(-8px);

    border-color:rgba(212,175,55,.25);

    box-shadow:0 22px 55px rgba(0,0,0,.12);

}

.process-card:hover::before{

    transform:scaleX(1);

}

.process-card:hover .step-icon{

    background:var(--primary);

    border-color:var(--primary);

    transform:translateY(-5px);

}

.process-card:hover .step-icon i{

    color:#fff;

}

.process-card:hover .step-icon::after{

    width:60px;

    opacity:1;

}

.process-card:hover .step-number{

    color:rgba(212,175,55,.18);

}

/*==============================
SECOND ROW
==============================*/

.process-grid .row:last-child{

    margin-top:8px;

}

/*==============================
TABLET
==============================*/

@media (max-width:991px){

.process-grid{

    margin-top:60px;

}

.process-card{

    margin-bottom:10px;

}

}

/*==============================
MOBILE
==============================*/

@media (max-width:767px){

.process-grid{

    margin-top:40px;

}

.process-card{

    padding:34px 22px;

}

.process-card .step-number{

    font-size:48px;

}

.process-card .step-icon{

    width:74px;

    height:74px;

}

.process-card .step-icon i{

    font-size:30px;

}

.process-card h4{

    font-size:20px;

}

}

/*==================================================
14. OUR COMPLETED TRANSFORMATIONS
==================================================*/

.projects{

    background:var(--light);
    padding:65px 0;

}

.projects-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));

    gap:35px;

}

.project-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:.4s;

}

.project-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.project-image{

    position:relative;

    overflow:hidden;

}

.project-image img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:.5s;

}

.project-card:hover img{

    transform:scale(1.08);

}

/* Overlay */

.project-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(31,41,55,.55);

    opacity:0;

    transition:.35s;

}

.project-card:hover .project-overlay{

    opacity:1;

}

.project-btn{

    background:#fff;

    color:var(--heading);

    padding:14px 28px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.project-btn:hover{

    background:var(--primary);

    color:#fff;

}

.project-content{

    padding:28px;

}

.project-category{

    display:inline-block;

    color:var(--primary);

    font-weight:600;

    font-size:14px;

    margin-bottom:12px;

}

.project-content h3{

    font-size:28px;

    margin-bottom:15px;

}

.project-content p{

    margin:0;

}

@media(max-width:768px){

.projects-grid{

    grid-template-columns:1fr;

}

.project-image img{

    height:260px;

}

}

/*==================================================
15. TESTIMONIALS
==================================================*/

.testimonials{
    background:var(--surface);
    position:relative;
    overflow:hidden;
}

/*=========================================
Section Title
=========================================*/



/*=========================================
Container
=========================================*/

.testimonial-container{
    max-width:1240px;
    margin:auto;
}

.testimonial-grid{
    margin-top:70px;
}

/*=========================================
Card
=========================================*/

.testimonial-card{

    position:relative;

    background:#fffdf9;

    border-radius:24px;

    padding:42px 34px;

    height:100%;

    border:1px solid rgba(212,175,55,.10);

    box-shadow:0 12px 35px rgba(0,0,0,.06);

    overflow:hidden;

    transition:all .4s ease;

}

/* Gold Accent */

.testimonial-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--primary),
        #e9c75c
    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.4s;

}

/*=========================================
Quote Watermark
=========================================*/

.quote-icon{

    position:absolute;

    top:18px;

    right:26px;

    font-size:72px;

    line-height:1;

    color:rgba(212,175,55,.08);

    pointer-events:none;

    transition:.4s;

}

/*=========================================
Stars
=========================================*/

.testimonial-stars{

    display:flex;

    gap:6px;

    margin-bottom:26px;

}

.testimonial-stars i{

    color:var(--primary);

    font-size:18px;

    transition:.35s;

}

/*=========================================
Review Text
=========================================*/

.testimonial-text{

    color:#666;

    font-size:16px;

    line-height:1.95;

    margin-bottom:32px;

    min-height:125px;

}

/*=========================================
Divider
=========================================*/

.testimonial-divider{

    width:95px;

    height:3px;

    border-radius:50px;

    background:var(--primary);

    opacity:.35;

    margin-bottom:22px;

    transition:.4s;

}

/*=========================================
Author
=========================================*/

.testimonial-author h5{

    margin:0 0 6px;

    font-size:21px;

    font-weight:600;

    color:var(--heading-color);

    transition:.35s;

}

.testimonial-author span{

    display:block;

    font-size:15px;

    color:#888;

    letter-spacing:.2px;

}

/*=========================================
Hover
=========================================*/

.testimonial-card:hover{

    transform:translateY(-10px);

    border-color:rgba(212,175,55,.22);

    box-shadow:0 22px 60px rgba(0,0,0,.14);

}

.testimonial-card:hover::before{

    transform:scaleX(1);

}

.testimonial-card:hover .testimonial-divider{

    width:120px;

    opacity:1;

}

.testimonial-card:hover .testimonial-author h5{

    color:var(--primary);

}

.testimonial-card:hover .quote-icon{

    color:rgba(212,175,55,.18);

    transform:scale(1.08);

}

.testimonial-card:hover .testimonial-stars i{

    transform:translateY(-2px);

}

/*=========================================
Overall Rating Summary
=========================================*/

.testimonial-summary{

    margin-top:70px;

}

.summary-card{

    max-width:760px;

    margin:0 auto;

    text-align:center;

    background:linear-gradient(
        135deg,
        #fffdf9,
        #ffffff
    );

    border:1px solid rgba(212,175,55,.12);

    border-radius:28px;

    padding:48px 42px;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:all .4s ease;

}

.summary-card:hover{

    transform:translateY(-6px);

    box-shadow:0 26px 60px rgba(0,0,0,.12);

}

.summary-stars{

    display:flex;

    justify-content:center;

    gap:8px;

    margin-bottom:20px;

}

.summary-stars i{

    color:var(--primary);

    font-size:22px;

}

.summary-card h3{

    font-size:30px;

    margin-bottom:18px;

    color:var(--heading-color);

    font-weight:700;

}

.summary-card p{

    max-width:560px;

    margin:0 auto;

    font-size:16px;

    line-height:1.9;

    color:#666;

}

/*=========================================
Card Entrance Animation
=========================================*/

.testimonial-card{

    animation:fadeUp .8s ease both;

}

.testimonial-grid .col-xl-4:nth-child(2) .testimonial-card{

    animation-delay:.15s;

}

.testimonial-grid .col-xl-4:nth-child(3) .testimonial-card{

    animation-delay:.30s;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*=========================================
Responsive
=========================================*/

@media(max-width:1199px){

.testimonial-container{

    max-width:1140px;

}

}

@media(max-width:991px){

.testimonial-grid{

    margin-top:50px;

}

.testimonial-card{

    padding:36px 28px;

}

.testimonial-text{

    min-height:auto;

}

.summary-card{

    padding:40px 32px;

}

}

@media(max-width:767px){

.testimonial-container{

    padding:0 15px;

}

.testimonial-grid{

    margin-top:40px;

}

.testimonial-card{

    padding:30px 24px;

    border-radius:20px;

}

.quote-icon{

    font-size:58px;

    top:16px;

    right:20px;

}

.testimonial-stars{

    margin-bottom:20px;

}

.testimonial-stars i{

    font-size:16px;

}

.testimonial-text{

    font-size:15px;

    line-height:1.85;

    margin-bottom:24px;

}

.testimonial-divider{

    width:80px;

}

.testimonial-author h5{

    font-size:19px;

}

.summary-card{

    padding:34px 24px;

    border-radius:22px;

}

.summary-card h3{

    font-size:24px;

}

.summary-card p{

    font-size:15px;

}

}

@media(max-width:575px){

.testimonial-summary{

    margin-top:50px;

}

.summary-stars i{

    font-size:20px;

}

}

/*==================================================
16. CONTACT SECTION
==================================================*/

.contact{
    background:var(--surface);
    position:relative;
    overflow:hidden;
}

/*=========================================
CONTACT LAYOUT
=========================================*/

.contact-wrapper{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:50px;

    align-items:start;

    margin-top:60px;

}

/*=========================================
CONTACT INFO
=========================================*/

.contact-info{

    display:flex;

    flex-direction:column;

    gap:22px;

}

/*=========================================
INFO CARD
=========================================*/

.info-card{

    position:relative;

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:26px;

    background:#fffdf9;

    border-radius:22px;

    border:1px solid rgba(212,175,55,.10);

    box-shadow:0 12px 32px rgba(0,0,0,.06);

    overflow:hidden;

    transition:all .35s ease;

}

/* Left Gold Accent */

.info-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:var(--primary);

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s;

}

/* Hover */

.info-card:hover{

    transform:translateY(-6px);

    border-color:rgba(212,175,55,.25);

    box-shadow:0 18px 45px rgba(0,0,0,.10);

}

.info-card:hover::before{

    transform:scaleY(1);

}

/*=========================================
ICON
=========================================*/

.info-icon{

    width:68px;

    height:68px;

    min-width:68px;

    border-radius:50%;

    background:rgba(212,175,55,.08);

    border:2px solid rgba(212,175,55,.20);

    display:flex;

    align-items:center;

    justify-content:center;

    transition:all .35s ease;

}

.info-icon i{

    font-size:30px;

    color:var(--primary);

    transition:.35s;

}

.info-card:hover .info-icon{

    background:var(--primary);

    border-color:var(--primary);

    transform:rotate(-8deg) scale(1.05);

}

.info-card:hover .info-icon i{

    color:#fff;

}

/*=========================================
CONTENT
=========================================*/

.info-content{

    flex:1;

}

.info-content h3{

    font-size:22px;

    font-weight:700;

    margin-bottom:10px;

    color:var(--heading-color);

}

.info-content p{

    margin:0;

    color:#666;

    line-height:1.8;

    font-size:15px;

}

/*=========================================
FEATURED ADDRESS CARD
=========================================*/

.featured-card{

    background:linear-gradient(
        135deg,
        #fffdf9 0%,
        #fff8ef 100%
    );

}

.directions-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:22px;

    padding:12px 24px;

    border-radius:50px;

    background:var(--primary);

    color:#fff;

    font-weight:600;

    text-decoration:none;

    transition:all .35s ease;

}

.directions-btn i{

    font-size:17px;

}

.directions-btn:hover{

    color:#fff;

    background:var(--primary-dark);

    transform:translateY(-3px);

    box-shadow:0 12px 28px rgba(212,175,55,.35);

}

/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:991px){

.contact-wrapper{

    grid-template-columns:1fr;

    gap:40px;

}

.contact-info{

    order:2;

}

.contact-form{

    order:1;

}

}

@media (max-width:767px){

.contact-wrapper{

    margin-top:40px;

}

.info-card{

    padding:22px;

}

.info-icon{

    width:58px;

    height:58px;

    min-width:58px;

}

.info-icon i{

    font-size:24px;

}

.info-content h3{

    font-size:20px;

}

}

/*==================================================
CONTACT FORM
==================================================*/

.contact-form{

    background:linear-gradient(
    180deg,
    #ffffff,
    #fffdf8
);

    border:1px solid rgba(212,175,55,.10);

    border-radius:28px;

    padding:40px;

    box-shadow:0 16px 45px rgba(0,0,0,.06);

    position:relative;

    overflow:hidden;

}

/* Gold Top Accent */

.contact-form::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--primary),
        #e8c65b
    );

}

/* Heading */

.contact-form h3{

    font-size:30px;

    font-weight:700;

    color:var(--heading-color);

    margin-bottom:10px;

}

.form-subtitle{

    color:#666;

    line-height:1.7;

    margin-bottom:30px;

}

/*====================================
FORM GRID
====================================*/

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

/*====================================
FORM GROUP
====================================*/

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-size:15px;

    font-weight:600;

    color:var(--heading-color);

}

/*====================================
INPUTS
====================================*/

.form-control{

    width:100%;

    height:58px;

    padding:0 18px;

    border-radius:14px;

    border:1px solid #dddddd;

    background:#fafafa;

    font-size:15px;

    transition:all .35s ease;

    outline:none;

}

.form-control::placeholder{

    color:#999;

}

/* Focus */

.form-control:focus{

    background:#fff;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(212,175,55,.15);

}

/*====================================
SELECT
====================================*/

select.form-control{

    cursor:pointer;

}

/*====================================
TEXTAREA
====================================*/

textarea.form-control{

    height:170px;

    padding:18px;

    resize:vertical;

}

/*====================================
SUBMIT BUTTON
====================================*/

.contact-submit{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    border:none;

    border-radius:50px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:all .35s ease;

    position:relative;

    overflow:hidden;

}

/* Shine Effect */

.contact-submit::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:rgba(255,255,255,.25);

    transform:skewX(-25deg);

    transition:.6s;

}

.contact-submit:hover::before{

    left:140%;

}

.contact-submit:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 35px rgba(212,175,55,.35);

}

.contact-submit i{

    font-size:18px;

}

/*====================================
RESPONSIVE
====================================*/

@media(max-width:991px){

.contact-form{

    padding:34px;

}

.form-row{

    grid-template-columns:1fr;

}

}

@media(max-width:767px){

.contact-form{

    padding:26px;

}

.contact-form h3{

    font-size:26px;

}

.contact-submit{

    width:100%;

}

}

/*==================================================
GOOGLE MAP
==================================================*/

.contact-map{

    margin-top:80px;

}

.map-header{

    text-align:center;

    max-width:700px;

    margin:0 auto 45px;

}

.map-header span{

    color:var(--primary);

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

}

.map-header h3{

    margin:14px 0;

    font-size:34px;

    color:var(--heading-color);

}

.map-header p{

    color:#666;

    line-height:1.8;

}

.map-wrapper{

    overflow:hidden;

    border-radius:28px;

    background:#fff;

    border:1px solid rgba(212,175,55,.10);

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.map-wrapper:hover{

    transform:translateY(-4px);

    box-shadow:0 24px 55px rgba(0,0,0,.12);

}

.map-wrapper iframe{

    width:100%;

    height:450px;

    border:0;

    display:block;

}

.map-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:25px;

    padding:28px 34px;

    background:#fffdf9;

}

.map-footer h4{

    margin-bottom:8px;

    font-size:22px;

    color:var(--heading-color);

}

.map-footer p{

    margin:0;

    color:#666;

    line-height:1.7;

}

.map-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:15px 26px;

    border-radius:50px;

    background:var(--primary);

    color:#fff;

    font-weight:600;

    text-decoration:none;

    transition:.35s;

    white-space:nowrap;

}

.map-btn:hover{

    background:var(--primary-dark);

    color:#fff;

    transform:translateY(-3px);

    box-shadow:0 14px 30px rgba(212,175,55,.35);

}

@media(max-width:991px){

.map-footer{

    flex-direction:column;

    align-items:flex-start;

}

}

@media(max-width:767px){

.contact-map{

    margin-top:60px;

}

.map-header h3{

    font-size:28px;

}

.map-wrapper iframe{

    height:320px;

}

.map-footer{

    padding:24px;

}

.map-btn{

    width:100%;

    justify-content:center;

}

}

/*==================================================
16. FOOTER
==================================================*/

.footer{

    position:relative;

    background:#1f1f1f;

    color:rgba(255,255,255,.82);

    padding:90px 0 30px;

    overflow:hidden;

}

/* Gold Top Border */

.footer::before{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    transform:translateX(-50%);

    width:140px;

    height:4px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        var(--primary),
        #f2d36d
    );

}

/*=========================================
Footer Brand
=========================================*/

.footer-brand{

    padding-right:20px;

}

.footer-logo img{

    height:72px;

    width:auto;

    margin-bottom:24px;

}

.footer-tagline{

    color:var(--primary);

    font-size:15px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:18px;

}

.footer-about{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin-bottom:30px;

}

/*=========================================
Social Icons
=========================================*/

.footer-social{

    display:flex;

    gap:14px;

}

.footer-social a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.12);

    color:#fff;

    transition:all .35s ease;

}

.footer-social a:hover{

    background:var(--primary);

    border-color:var(--primary);

    color:#fff;

    transform:translateY(-5px);

}

/*=========================================
Links
=========================================*/

.footer-links h4,

.footer-contact h4{

    color:#fff;

    font-size:22px;

    margin-bottom:28px;

    position:relative;

}

.footer-links h4::after,

.footer-contact h4::after{

    content:"";

    display:block;

    width:45px;

    height:3px;

    background:var(--primary);

    margin-top:12px;

    border-radius:20px;

}

.footer-links ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin-bottom:14px;

}

.footer-links a{

    color:rgba(255,255,255,.72);

    transition:.3s;

}

.footer-links a:hover{

    color:var(--primary);

    padding-left:8px;

}

/* Product List */

.footer-links li{

    color:rgba(255,255,255,.72);

}

.footer-links li a{

    color:inherit;

}

/*=========================================
Footer Contact
=========================================*/

.footer-contact p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin-bottom:28px;

}

.footer-phone,
.footer-email{

    display:flex;

    align-items:center;

    gap:12px;

    width:fit-content;

    color:#fff;

    margin-bottom:16px;

    padding:12px 18px;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.10);

    transition:all .35s ease;

}

.footer-phone i,
.footer-email i{

    color:var(--primary);

    font-size:16px;

}

.footer-phone:hover,
.footer-email:hover{

    background:rgba(212,175,55,.10);

    border-color:rgba(212,175,55,.35);

    color:#fff;

    transform:translateX(6px);

}

/*=========================================
Divider
=========================================*/

.footer-divider{

    margin:60px 0 30px;

    height:1px;

    background:rgba(255,255,255,.08);

}

/*=========================================
Footer Bottom
=========================================*/

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

}

.footer-copyright{

    color:rgba(255,255,255,.65);

    font-size:15px;

}

.footer-copyright strong{

    color:#fff;

    font-weight:600;

}

.footer-credit{

    display:flex;

    align-items:center;

    gap:8px;

    color:rgba(255,255,255,.65);

    font-size:15px;

}

.footer-credit i{

    color:var(--primary);

}

/*=========================================
Footer Hover Animation
=========================================*/

.footer-links ul li{

    transition:transform .3s ease;

}

.footer-links ul li:hover{

    transform:translateX(6px);

}

/*=========================================
Responsive
=========================================*/

@media(max-width:991px){

.footer{

    padding:70px 0 30px;

}

.footer-brand{

    padding-right:0;

    margin-bottom:20px;

}

.footer-links{

    margin-top:15px;

}

.footer-contact{

    margin-top:20px;

}

.footer-bottom{

    flex-direction:column;

    text-align:center;

}

}

@media(max-width:767px){

.footer{

    padding:60px 0 25px;

}

.footer-logo img{

    height:60px;

}

.footer-links h4,
.footer-contact h4{

    font-size:20px;

}

.footer-social{

    justify-content:flex-start;

}

.footer-social a{

    width:42px;

    height:42px;

}

.footer-phone,
.footer-email{

    width:100%;

    justify-content:center;

}

.footer-divider{

    margin:45px 0 25px;

}

.footer-copyright,
.footer-credit{

    font-size:14px;

}

}

/* ==========================================
   HERO INTRO ANIMATION
========================================== */

.hero-subtitle,
.hero h1,
.hero p,
.hero-buttons,
.hero-features,
.hero-image{

    opacity:0;

}

.hero-subtitle{

    transform:translateY(25px);

}

.hero h1{

    transform:translateY(35px);

}

.hero p{

    transform:translateY(35px);

}

.hero-buttons{

    transform:translateY(35px);

}

.hero-features{

    transform:translateY(35px);

}

.hero-image{

    transform:translateX(70px) scale(.95);

}


/* Animation Active */

.hero.animate .hero-subtitle{

    animation:fadeUp .7s ease forwards;

}

.hero.animate h1{

    animation:fadeUp .8s ease .2s forwards;

}

.hero.animate p{

    animation:fadeUp .8s ease .45s forwards;

}

.hero.animate .hero-buttons{

    animation:fadeUp .8s ease .7s forwards;

}

.hero.animate .hero-features{

    animation:fadeUp .8s ease .95s forwards;

}

.hero.animate .hero-image{

    animation:imageReveal 1s ease .45s forwards,
              floatImage 8s ease-in-out 2s infinite;

}


/* Keyframes */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes imageReveal{

    from{

        opacity:0;

        transform:translateX(70px) scale(.95);

    }

    to{

        opacity:1;

        transform:translateX(0) scale(1);

    }

}

@keyframes floatImage{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

/* ==========================================
   SCROLL REVEAL ANIMATION
========================================== */

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:
        opacity .8s ease,
        transform .8s ease;

    will-change:opacity, transform;

}

.reveal-left{

    opacity:0;

    transform:translateX(-60px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.reveal-right{

    opacity:0;

    transform:translateX(60px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.reveal.show,
.reveal-left.show,
.reveal-right.show{

    opacity:1;

    transform:translate(0,0);

}

/* Remove browser focus styling */

.btn,
.btn:focus,
.btn:focus-visible,
.btn:active{

    outline:none !important;

    box-shadow:none !important;

}

a{

    -webkit-tap-highlight-color:transparent;

}