body{
font-family:Arial, Helvetica, sans-serif;
margin:0;
background:#1e1e1e;
color:#ddd;
}

/* HEADER */

.site-header{
background:#111;
border-bottom:2px solid #C9A24A;
padding:18px 0;
text-align:center;
}

.main-nav{
display:flex;
justify-content:center;
gap:50px;
flex-wrap:wrap;
}

.main-nav a{
color:white;
text-decoration:none;
font-family:'Cinzel', serif;
font-size:18px;
letter-spacing:1px;
position:relative;
transition:color .25s;
}

.main-nav a:hover{
color:#C9A24A;
}

.main-nav a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0%;
height:2px;
background:#C9A24A;
transition:width .3s;
}

.main-nav a:hover::after{
width:100%;
}

#cart-count{
background:#C9A24A;
color:white;
padding:2px 6px;
border-radius:8px;
margin-left:4px;
}

/* PAGE HEADER */

.page-header{
text-align:center;
padding:50px 20px;
border-bottom:2px solid #C9A24A;
}

main{
max-width:1200px;
margin:auto;
padding:40px 20px;
}

/* HERO */

.hero{
text-align:center;
padding:70px 20px 10px;
background:linear-gradient(#111111,#1e1e1e);
}

.hero-logo{
width:220px;
margin-bottom:25px;
filter:drop-shadow(0 0 8px rgba(201,162,74,0.6));
}

.hero::after{
display:none;
}

/* BUTTONS */

button,.button{
background:#C9A24A;
color:black;
border:none;
padding:10px 16px;
border-radius:6px;
cursor:pointer;
font-weight:bold;
transition:transform .2s, box-shadow .2s;
}

button:hover,.button:hover{
background:#9A7A32;
transform:translateY(-3px);
box-shadow:0 8px 15px rgba(0,0,0,0.25);
}

/* GRID PRODUCTS */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:25px;
margin-top:20px;
}

.product{
background:#2a2a2a;
padding:20px;
border-radius:10px;
box-shadow:0 4px 12px rgba(0,0,0,0.3);
text-align:center;
border:1px solid #C9A24A;
transition:transform .25s, box-shadow .25s;
}

.product:hover{
transform:translateY(-8px);
box-shadow:0 12px 25px rgba(0,0,0,0.5);
}

.product img{
width:100%;
height:160px;
object-fit:cover;
border-radius:6px;
}

.price{
font-weight:bold;
font-size:18px;
margin:10px 0;
color:#C9A24A;
}

/* PRODUCT OPTIONS */

.product-options{
display:flex;
gap:10px;
margin-top:10px;
}

.notes-toggle,
.upload-btn{
flex:1;
font-size:14px;
padding:6px 8px;
background:#C9A24A;
color:black;
border-radius:6px;
text-align:center;
cursor:pointer;
font-weight:bold;
}

.upload-btn input{
display:none;
}

.project-notes{
width:100%;
margin-top:10px;
padding:8px;
border-radius:6px;
border:1px solid #C9A24A;
background:#1e1e1e;
color:white;
resize:vertical;
min-height:60px;
}

.custom-price{
width:100%;
padding:8px;
margin-top:10px;
border-radius:5px;
border:1px solid #C9A24A;
background:#1e1e1e;
color:white;
}

.add-cart{
margin-top:12px;
width:100%;
}

/* SERVICES SECTION */

.services-section{
position:relative;
padding:120px 20px 80px;
margin-top:80px;
background:url("../images/services-bg.jpg") center/cover no-repeat;
text-align:center;
}

.services-section::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(0,0,0,0.65);
}

.services-section *{
position:relative;
z-index:2;
}

/* FEATURES */

.features{
padding:60px 20px;
text-align:center;
border-top:2px solid #C9A24A;
border-bottom:2px solid #C9A24A;
}

.feature-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
margin-top:30px;
}

.feature{
background:#2a2a2a;
padding:20px;
border-radius:8px;
border:1px solid #C9A24A;
transition:transform .25s, box-shadow .25s;
}

.feature:hover{
transform:translateY(-5px);
box-shadow:0 8px 18px rgba(0,0,0,0.4);
}

/* CTA */

.cta{
background:#111;
text-align:center;
padding:80px 20px;
}

/* CART */

#cart-items{
max-width:900px;
margin:auto;
display:flex;
flex-direction:column;
gap:20px;
}

.cart-item{
display:grid;
grid-template-columns:1fr auto auto auto;
gap:20px;
background:#1b1b1b;
padding:18px;
border-radius:10px;
border:1px solid #333;
align-items:center;
}

.cart-name{
font-size:18px;
font-weight:bold;
}

.cart-notes{
font-size:14px;
color:#bbb;
}

.cart-qty{
display:flex;
align-items:center;
gap:8px;
}

.cart-price{
font-size:18px;
font-weight:bold;
color:#C9A24A;
}

#cart-total{
text-align:right;
font-size:22px;
margin-top:20px;
color:#C9A24A;
}

/* FOOTER */

footer{
margin-top:60px;
text-align:center;
padding:20px;
background:#111;
color:white;
}

/* MOBILE */

@media(max-width:768px){

.main-nav{
flex-direction:column;
gap:15px;
}

.cart-item{
grid-template-columns:1fr;
text-align:left;
gap:10px;
}

}

.floating-cart{
position:fixed;
top:20px;
right:20px;
background:#C9A24A;
color:black;
font-weight:bold;
padding:10px 14px;
border-radius:30px;
text-decoration:none;
box-shadow:0 4px 12px rgba(0,0,0,0.4);
z-index:999;
transition:transform .2s, box-shadow .2s;
}

.floating-cart:hover{
transform:scale(1.08);
box-shadow:0 6px 18px rgba(0,0,0,0.6);
}

.floating-cart span{
background:black;
color:white;
padding:2px 6px;
border-radius:8px;
margin-left:6px;
}

.cart-qty button{
width:24px;
height:24px;
padding:0;
font-size:15px;
border-radius:4px;
line-height:22px;
}

.cart-item button:last-child{
padding:3px 6px;
font-size:12px;
}

.image-modal{
display:none;
position:fixed;
z-index:1000;
padding-top:60px;
left:0;
top:0;
width:100%;
height:100%;
background-color:rgba(0,0,0,0.9);
}

.modal-content{
margin:auto;
display:block;
max-width:90%;
max-height:85%;
border-radius:6px;
}

.close-modal{
position:absolute;
top:20px;
right:35px;
color:white;
font-size:40px;
font-weight:bold;
cursor:pointer;
}

.close-modal:hover{
color:#C9A24A;
}

.contact-container{

max-width:700px;
margin:auto;
background:#2a2a2a;
padding:40px;
border-radius:10px;
border:1px solid #C9A24A;
text-align:center;

}

.contact-container h3{

color:#C9A24A;
margin-bottom:20px;

}

.contact-info{

margin-top:30px;
font-size:18px;

}

.contact-info a{

color:#C9A24A;
text-decoration:none;

}

.contact-info a:hover{

text-decoration:underline;

}

.contact-message{

margin-top:30px;
font-style:italic;

}
