/* =====================================
BOUTIQUE PROFESSIONAL THEME CSS
Clean – Responsive – Optimized
===================================== */

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

html,body{width:100%;height:100%}

body{
font-family:'Open Sans',sans-serif;
font-size:14px;
line-height:1.6;
color:#333;
background:#f6f3ee;
}

img{
max-width:100%;
height:auto;
display:block;
}

a{
text-decoration:none;
color:#b8916c;
transition:all .25s ease;
}

a:hover{color:#4baf2a}

h1,h2,h3,h4,h5,h6{
font-family:'Playfair Display',serif;
font-weight:400;
letter-spacing:2px;
text-transform:uppercase;
color:#b8916c;
}

/* ---------- LAYOUT ---------- */

.container{
width:100%;
max-width:1400px;
margin:auto;
padding:0 20px;
}



[class*="col-"]{
padding:15px;
}

.section{
padding:70px 0;
}

/* ---------- HEADER ---------- */

header{
background:#fff;
border-bottom:1px solid #eee;
}

#top{
background:#fafafa;
font-size:12px;
padding:6px 0;
}

/* ---------- NAVIGATION ---------- */

#menu{
background:#fff;
border-top:1px solid #eee;
border-bottom:1px solid #eee;
}

#menu .nav{
display:flex;
justify-content:center;
flex-wrap:wrap;
}

#menu .nav>li{
list-style:none;
}

#menu .nav>li>a{
padding:18px 24px;
font-size:14px;
letter-spacing:2px;
color:#333;
position:relative;
}

#menu .nav>li>a:after{
content:"";
position:absolute;
bottom:8px;
left:0;
width:0;
height:2px;
background:#c9a27c;
transition:.35s;
}

#menu .nav>li>a:hover:after{
width:100%;
}

/* ---------- MEGA MENU READY ---------- */

.dropdown-menu{
border:none;
box-shadow:0 10px 30px rgba(0,0,0,.08);
padding:25px;
}

.dropdown-menu a{
font-size:13px;
margin-bottom:6px;
display:block;
}

/* ---------- HERO / BANNERS ---------- */

.hero-banner{
position:relative;
overflow:hidden;
}

.hero-banner img{
width:100%;
transition:transform 1s;
}

.hero-banner:hover img{
transform:scale(1.05);
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.1));
}

.hero-content{
position:absolute;
bottom:60px;
left:60px;
color:#fff;
}

/* ---------- CATEGORY GRID ---------- */

.category-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.category-card{
position:relative;
overflow:hidden;
border-radius:10px;
}

.category-card img{
transition:transform .8s;
}

.category-card:hover img{
transform:scale(1.06);
}

.category-content{
position:absolute;
bottom:30px;
left:30px;
color:#fff;
}

/* ---------- PRODUCT GRID ---------- */

.products-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:28px;
}

.product-thumb{
background:#fff;
padding:18px;
border-radius:10px;
transition:.35s;
position:relative;
}

.product-thumb:hover{
transform:translateY(-6px);
box-shadow:0 14px 40px rgba(0,0,0,.08);
}

.product-thumb .image{
position:relative;
overflow:hidden;
}

.product-thumb img{
transition:transform .6s;
}

.product-thumb:hover img{
transform:scale(1.05);
}

/* ---------- SECOND IMAGE HOVER ---------- */

.product-thumb .second-image{
position:absolute;
top:0;
left:0;
opacity:0;
transition:opacity .5s;
}

.product-thumb:hover .second-image{
opacity:1
}

.product-thumb h4{
font-size:16px;
margin-top:12px;
}

.product-thumb .price{
font-size:17px;
font-weight:600;
margin-top:5px;
color:#b8916c;
}

.price-old{
text-decoration:line-through;
color:#999;
margin-left:6px
}

.price-new{
color:#d62828;
}

/* ---------- PRODUCT BUTTONS ---------- */

.button-group{
margin-top:12px;
display:flex;
gap:8px;
}

button,.btn{
background:#fff;
border:1px solid #c9a27c;
color:#b8916c;
padding:10px 16px;
font-size:12px;
letter-spacing:1px;
text-transform:uppercase;
transition:.3s;
}

button:hover,.btn:hover{
background:#c9a27c;
color:#fff;
}

/* ---------- SECTION TITLES ---------- */

.module-title,.box-heading{
font-size:30px;
text-align:center;
margin-bottom:40px;
}

.module-title:after,.box-heading:after{
content:"";
width:60px;
height:2px;
background:#c9a27c;
display:block;
margin:15px auto;
}

/* ---------- BLOG / GUIDES ---------- */

.guides-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.guide-card{
background:#fff;
border-radius:8px;
overflow:hidden;
transition:.35s;
}

.guide-card:hover{
transform:translateY(-5px);
box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.guide-content{
padding:20px;
}

/* ---------- FOOTER ---------- */

footer{
background:#111;
color:#bbb;
padding:70px 0;
}

.footer-columns{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:40px;
}

.footer-col{
flex:1 1 180px;
}

footer h5{
color:#fff;
margin-bottom:18px;
letter-spacing:2px;
}

footer a{
color:#bbb;
font-size:13px;
display:block;
margin-bottom:8px;
}

footer a:hover{
color:#c9a27c;
}

.footer-bottom{
text-align:center;
margin-top:50px;
font-size:12px;
color:#777;
}

/* ---------- FORMS ---------- */

input,select,textarea{
width:100%;
padding:10px 12px;
border:1px solid #ddd;
border-radius:4px;
font-size:13px;
}

input:focus,textarea:focus{
outline:none;
border-color:#c9a27c;
}

/* ---------- MEDIA QUERIES ---------- */

@media(max-width:1200px){

.products-grid{
grid-template-columns:repeat(3,1fr);
}

.category-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:992px){

.products-grid{
grid-template-columns:repeat(2,1fr);
}

.guides-grid{
grid-template-columns:repeat(2,1fr);
}

#menu .nav{
flex-direction:column;
align-items:center;
}

}

@media(max-width:768px){

.products-grid{
grid-template-columns:1fr;
}

.category-grid{
grid-template-columns:1fr;
}

.guides-grid{
grid-template-columns:1fr;
}

.hero-content{
left:25px;
bottom:30px;
}

footer{
padding:50px 20px;
}

}

@media(max-width:480px){

h1{font-size:24px}

h2{font-size:22px}

.product-thumb h4{
font-size:14px;
}

button,.btn{
padding:9px 14px;
}

}

@media (max-width:768px){

.product-thumb{
padding:10px;
}

.product-thumb h4{
font-size:14px;
}

}


/* ===== MOBILE HOTFIXES (IMAGE OVERFLOW FIX) ===== */

/* Prevent oversized images breaking layout */
.product-thumb .image img,
.category-card img,
.hero-banner img{
width:100%;
height:auto;
object-fit:cover;
}

/* Limit product image height on small screens */
@media(max-width:768px){

.product-thumb{
padding:12px;
}

.product-thumb .image{
max-height:320px;
overflow:hidden;
display:flex;
align-items:center;
justify-content:center;
}

.product-thumb .image img{
max-height:320px;
width:auto;
}

}

/* Extra small devices */
@media(max-width:480px){

.product-thumb .image{
max-height:260px;
}

.product-thumb .image img{
max-height:260px;
}

.hero-content{
left:15px;
bottom:20px;
}

}


