/* ===================================
   SALLYQUEEN RENTALS
   Luxury Black & Gold Theme
   Responsive Website CSS
=================================== */


/* ==============================
   RESET
============================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#fff;
    color:#222;
    line-height:1.6;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}


/* ==============================
   HEADER / NAVIGATION
============================== */

header{
    background:#000;
    width:100%;
    position:sticky;
    top:0;
    z-index:1000;
    box-shadow:0 3px 15px rgba(0,0,0,.3);
}


nav{

    max-width:1200px;
    margin:auto;

    padding:15px 20px;

    display:flex;
    justify-content:space-between;
    align-items:center;

}


.logo img{

    width:85px;

}


nav ul{

    display:flex;
    gap:30px;
    list-style:none;

}


nav ul li a{

    color:#d4af37;
    font-weight:600;
    transition:.3s;

}


nav ul li a:hover{

    color:white;

}


.menu-toggle{

    display:none;
    color:#d4af37;
    font-size:30px;
    cursor:pointer;

}



/* ==============================
   HERO SECTION
============================== */


.hero{

    min-height:90vh;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:20px;

    background:
    linear-gradient(
    rgba(0,0,0,.65),
    rgba(0,0,0,.65)
    ),
    url("../images/hero.jpg");

    background-size:cover;
    background-position:center;

}


.overlay{

    max-width:750px;
    color:white;

}


.overlay h1{

    font-size:60px;
    color:#d4af37;
    text-transform:uppercase;

    margin-bottom:20px;

}


.overlay p{

    font-size:22px;
    margin-bottom:30px;

}



/* ==============================
   BUTTONS
============================== */


.btn,
.btn2{

    display:inline-block;

    padding:15px 35px;

    margin:10px;

    border-radius:30px;

    font-weight:bold;

    transition:.3s;

}


.btn{

    background:#d4af37;
    color:#000;

}


.btn:hover{

    background:#fff;
    transform:translateY(-3px);

}


.btn2{

    border:2px solid #d4af37;
    color:#d4af37;

}


.btn2:hover{

    background:#d4af37;
    color:#000;

}



/* ==============================
   GENERAL SECTION TITLES
============================== */


.section-title{

    text-align:center;

    font-size:40px;

    margin-bottom:40px;

}


.section-title::after{

    content:"";

    display:block;

    width:80px;

    height:4px;

    background:#d4af37;

    margin:15px auto;

}


/* ==============================
   SERVICES / RENTALS
============================== */


.services{

    padding:80px 8%;

}


.cards{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}


.card{

    background:#fff;

    border-radius:15px;

    overflow:hidden;

    box-shadow:
    0 10px 25px rgba(0,0,0,.15);

    transition:.3s;

}


.card:hover{

    transform:translateY(-10px);

}


.card img{

    width:100%;

    height:300px;

    object-fit:cover;

}


.card h3{

    color:#b8860b;

    padding:20px;

}


.card p{

    padding:0 20px 25px;

}



/* ==============================
   ABOUT SECTION
============================== */


.about{

    background:#000;

    color:white;

    padding:80px 8%;

}


.about-content{

    max-width:1200px;

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:center;

}


.about-image img{

    border-radius:15px;

}


.about-text h2{

    color:#d4af37;

    font-size:40px;

    margin-bottom:20px;

}


/* ==============================
   MISSION
============================== */


.mission{

    background:#111;

    color:white;

    padding:80px 8%;

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:40px;

    text-align:center;

}


.mission h2{

    color:#d4af37;

}



/* ==============================
   GALLERY
============================== */


.gallery{

    padding:80px 8%;

}


.gallery-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(260px,1fr));

    gap:25px;

}


.gallery-item{

    overflow:hidden;

    border-radius:15px;

}


.gallery-item img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:.5s;

}


.gallery-item:hover img{

    transform:scale(1.1);

}
/* ==============================
   CONTACT SECTION
============================== */


.contact-section{

    padding:80px 8%;

    max-width:1200px;

    margin:auto;

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(300px,1fr));

    gap:50px;

}


.contact-info h2{

    color:#b8860b;

    font-size:38px;

    margin-bottom:20px;

}


.contact-info p{

    margin-bottom:20px;

}


/* FORM */

.form-box{

    background:white;

    padding:35px;

    border-radius:15px;

    box-shadow:
    0 10px 25px rgba(0,0,0,.15);

}


.form-box h2{

    color:#b8860b;

    margin-bottom:25px;

}


form label{

    display:block;

    margin-top:15px;

    font-weight:600;

}


form input,
form select,
form textarea{

    width:100%;

    padding:15px;

    margin-top:8px;

    border:1px solid #ddd;

    border-radius:8px;

    font-family:'Poppins',sans-serif;

}


form textarea{

    min-height:140px;

    resize:vertical;

}


form button{

    margin-top:25px;

    background:#d4af37;

    color:#000;

    border:none;

    padding:15px 35px;

    border-radius:30px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}


form button:hover{

    background:#000;

    color:#fff;

}


/* ==============================
   PAGE BANNER
============================== */


.page-banner{

    background:#000;

    color:white;

    text-align:center;

    padding:70px 20px;

}


.page-banner h1{

    color:#d4af37;

    font-size:45px;

}



/* ==============================
   CALL TO ACTION
============================== */


.cta{

    padding:80px 8%;

    text-align:center;

    background:
    linear-gradient(
    90deg,
    #d4af37,
    #f5e6a8
    );

}


.cta h2{

    font-size:40px;

    margin-bottom:20px;

}



/* ==============================
   FOOTER
============================== */


footer{

    background:#000;

    color:white;

    text-align:center;

    padding:50px 20px;

}


footer h3{

    color:#d4af37;

    font-size:30px;

    margin-bottom:15px;

}


.social{

    margin-top:20px;

}


.social a{

    color:#d4af37;

    font-size:25px;

    margin:10px;

    transition:.3s;

}


.social a:hover{

    color:white;

}



/* ==============================
   TABLET RESPONSIVE
============================== */


@media(max-width:992px){


.overlay h1{

    font-size:48px;

}


.about-content{

    grid-template-columns:1fr;

}


.contact-section{

    grid-template-columns:1fr;

}


}



/* ==============================
   MOBILE RESPONSIVE
============================== */


@media(max-width:768px){


/* HEADER */


nav{

    padding:15px;

}


.logo img{

    width:70px;

}


.menu-toggle{

    display:block;

}


nav ul{

    position:absolute;

    top:100%;

    left:0;

    width:100%;

    background:#000;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:25px;

    padding:30px 0;


    max-height:0;

    overflow:hidden;

    transition:.4s ease;

}


/* activated by javascript */

nav ul.show{

    max-height:500px;

}



/* HERO */


.hero{

    min-height:75vh;

}


.overlay h1{

    font-size:34px;

}


.overlay p{

    font-size:18px;

}


/* BUTTONS */


.btn,
.btn2{

    display:block;

    max-width:280px;

    margin:10px auto;

}



/* TITLES */


.section-title{

    font-size:30px;

}


.page-banner h1{

    font-size:32px;

}



/* CARDS */


.services{

    padding:60px 20px;

}


.cards{

    grid-template-columns:1fr;

}


.card img{

    height:220px;

}



/* ABOUT */


.about{

    padding:60px 20px;

}


.about-text h2{

    font-size:30px;

}



/* GALLERY */


.gallery{

    padding:60px 20px;

}


.gallery-grid{

    grid-template-columns:1fr;

}


.gallery-item img{

    height:240px;

}



/* CONTACT */


.contact-section{

    padding:60px 20px;

}


.form-box{

    padding:20px;

}



/* CTA */


.cta{

    padding:60px 20px;

}


.cta h2{

    font-size:30px;

}



/* FOOTER */


footer{

    padding:35px 20px;

}


}