.hero{
height:100vh;
background-color:#222222;
background-image:url('../images/hero.png');
background-position:center center;
background-size:cover;
background-repeat:no-repeat;
position:relative;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.35);
}

.hero-content{
position:relative;
z-index:2;
max-width:700px;
color:#fff;
padding:20px;
}

.subtitle{
letter-spacing:4px;
text-transform:uppercase;
font-size:14px;
}

.hero h1{
font-size:68px;
margin:20px 0;
font-weight:700;
line-height:1.1;
}

.hero p{
font-size:20px;
margin-bottom:35px;
line-height:1.8;
}

.hero-btn{
display:inline-block;
padding:16px 42px;
background:#d4af37;
color:#fff;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.hero-btn:hover{
background:#b8911d;
}

/* Reference visual refinements */
.home-hero{
height:480px;
min-height:480px;
justify-content:flex-start;
text-align:left;
background-position:center right;
}

.home-hero .hero-overlay{
background:linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.72) 34%, rgba(255,255,255,.18) 68%, rgba(255,255,255,0) 100%);
}

.home-hero .hero-content{
width:min(100% - 48px, 1320px);
max-width:none;
margin:0 auto;
color:#222;
}

.home-hero .hero-content h1{
max-width:560px;
font-family:Georgia, "Times New Roman", serif;
font-size:58px;
font-weight:400;
line-height:1.08;
color:#222;
}

.home-hero .hero-content p{
max-width:420px;
color:#444;
font-size:20px;
line-height:1.5;
}

.hero-btn{
background:#d94d73;
}

.hero-btn:hover{
background:#bd3d61;
}

.home-section,
.home-benefits,
.home-newsletter{
width:min(100% - 48px, 1320px);
margin:0 auto;
}

.home-section{
padding:42px 0;
}

.home-section-heading{
text-align:center;
margin-bottom:30px;
}

.home-section-heading h2,
.home-promo-banner h2,
.home-newsletter h2{
font-family:Georgia, "Times New Roman", serif;
font-size:34px;
font-weight:400;
line-height:1.15;
margin:0;
color:#222;
}

.home-section-heading h2::after{
display:block;
width:56px;
height:2px;
margin:14px auto 0;
background:#e85d8e;
content:"";
}

.category-grid,
.product-grid,
.testimonial-grid,
.gallery-strip,
.home-benefits,
.home-newsletter{
display:grid;
gap:24px;
}

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

.category-card,
.product-card,
.testimonial-card{
overflow:hidden;
background:#fff;
border:1px solid #eeeeee;
border-radius:6px;
box-shadow:0 8px 22px rgba(0,0,0,.05);
}

.category-card{
display:block;
color:#222;
text-align:center;
text-decoration:none;
}

.category-card img,
.product-image img,
.gallery-strip img{
display:block;
width:100%;
height:190px;
object-fit:cover;
background:#f8eef0;
}

.category-card span{
display:block;
padding:15px 12px 3px;
font-size:13px;
font-weight:700;
text-transform:uppercase;
}

.category-card small{
display:block;
padding:0 12px 18px;
color:#555;
}

.product-grid{
grid-template-columns:repeat(6, minmax(0, 1fr));
}

.product-card-body{
position:relative;
min-height:150px;
padding:14px 14px 48px;
}

.product-card h3{
margin:0 0 8px;
font-size:14px;
font-weight:500;
line-height:1.35;
}

.product-card h3 a{
color:#222;
text-decoration:none;
}

.product-price{
margin-bottom:8px;
font-weight:700;
}

.product-rating .star-rating{
float:none;
font-size:12px;
}

.product-cart-link{
position:absolute;
right:12px;
bottom:12px;
left:12px;
display:block;
padding:10px 12px;
background:#ffffff;
border:1px solid #dddddd;
border-radius:4px;
color:#222;
font-size:12px;
font-weight:700;
text-align:center;
text-decoration:none;
text-transform:uppercase;
}

.home-promo-banner{
min-height:210px;
display:flex;
align-items:center;
background:
linear-gradient(90deg, rgba(255,238,242,.96), rgba(255,238,242,.68), rgba(255,255,255,.15)),
url('../images/hero.png') center right/cover no-repeat;
}

.promo-content{
width:min(100% - 48px, 1320px);
margin:0 auto;
}

.promo-content p,
.home-newsletter p{
font-size:16px;
line-height:1.7;
}

.home-promo-banner h2{
max-width:520px;
font-size:36px;
}

.home-promo-banner p{
max-width:460px;
margin:12px 0 20px;
color:#333;
}

.home-benefits{
grid-template-columns:repeat(3, minmax(0, 1fr));
padding:28px 0;
border-top:1px solid #eeeeee;
border-bottom:1px solid #eeeeee;
}

.benefit-item{
display:grid;
grid-template-columns:44px 1fr;
gap:4px 16px;
align-items:center;
padding:0 24px;
border-right:1px solid #e6e6e6;
}

.benefit-item:last-child{
border-right:0;
}

.benefit-item span{
grid-row:1 / span 2;
color:#d94d73;
}

.benefit-icon svg{
display:block;
}

.benefit-item strong{
font-size:13px;
text-transform:uppercase;
}

.benefit-item small{
color:#555;
}

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

.testimonial-card{
padding:26px;
}

.star-rating-text{
color:#f6a800;
letter-spacing:2px;
margin-bottom:10px;
}

.testimonial-card blockquote{
margin:0 0 18px;
color:#555;
line-height:1.7;
}

.testimonial-card footer{
display:flex;
flex-direction:column;
gap:4px;
font-size:13px;
}

.testimonial-card footer a{
color:#d94d73;
text-decoration:none;
}

.gallery-strip{
grid-template-columns:repeat(6, minmax(0, 1fr));
}

.home-newsletter{
grid-template-columns:1fr 1.4fr;
align-items:center;
padding:28px 0;
}

.newsletter-form{
display:flex;
position:relative;
flex-wrap:wrap;
}

.newsletter-form input{
flex:1;
min-width:0;
height:44px;
padding:0 16px;
border:1px solid #dddddd;
}

.newsletter-form button{
height:44px;
padding:0 26px;
background:#d94d73;
border:0;
color:#fff;
font-weight:700;
text-transform:uppercase;
}

.newsletter-honeypot{
position:absolute;
left:-9999px;
width:1px;
height:1px;
overflow:hidden;
}

.newsletter-message{
flex:1 1 100%;
margin:10px 0 0;
font-size:13px;
line-height:1.5;
}

.newsletter-message-success{
color:#1f7a3b;
}

.newsletter-message-error{
color:#b42318;
}

.site-footer{
background:#fff7f9;
border-top:1px solid #f0d7de;
}

.footer-inner{
display:grid;
grid-template-columns:1.4fr repeat(3, 1fr);
gap:38px;
width:min(100% - 48px, 1320px);
margin:0 auto;
padding:36px 0;
}

.footer-brand h2{
font-family:Georgia, "Times New Roman", serif;
font-size:25px;
font-weight:400;
margin:0 0 10px;
text-transform:uppercase;
letter-spacing:.6px;
}

.footer-column h3{
margin:0 0 14px;
font-size:13px;
text-transform:uppercase;
}

.footer-column ul,
.footer-menu{
margin:0;
padding:0;
list-style:none;
}

.footer-column li{
margin-bottom:8px;
}

.footer-column a{
color:#222;
font-size:13px;
text-decoration:none;
}

.footer-bottom{
padding:12px 24px;
background:#e78aa3;
color:#fff;
text-align:center;
}

.footer-bottom p{
margin:0;
font-size:12px;
}

@media (max-width: 1050px){
.category-grid,
.product-grid,
.gallery-strip{
grid-template-columns:repeat(3, minmax(0, 1fr));
}

.footer-inner{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 700px){
.home-hero{
height:520px;
min-height:520px;
align-items:flex-start;
padding-top:56px;
background-position:64% center;
}

.home-hero .hero-overlay{
background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 48%, rgba(255,255,255,.1) 100%);
}

.home-hero .hero-content h1{
font-size:40px;
}

.home-hero .hero-content p{
font-size:16px;
}

.category-grid,
.product-grid,
.testimonial-grid,
.gallery-strip,
.home-benefits,
.home-newsletter,
.footer-inner{
grid-template-columns:1fr;
}

.benefit-item{
border-right:0;
border-bottom:1px solid #eeeeee;
padding:18px 0;
}

.benefit-item:last-child{
border-bottom:0;
}

.home-promo-banner{
min-height:230px;
background-position:68% center;
}

.home-promo-banner h2{
font-size:30px;
}
}

@media (max-width: 480px){
#homepage,
.home-section,
.home-benefits,
.home-newsletter,
.footer-inner,
.promo-content,
.home-hero .hero-content{
width:100%;
max-width:100%;
min-width:0;
}

.home-section,
.home-benefits,
.home-newsletter,
.footer-inner{
padding-right:24px;
padding-left:24px;
}

.home-section *,
.home-benefits *,
.home-newsletter *,
.site-footer *{
min-width:0;
}

.home-section img,
.home-benefits svg,
.home-newsletter svg,
.site-footer img,
.site-footer svg{
max-width:100%;
height:auto;
}

.home-hero{
height:500px;
min-height:500px;
padding-top:44px;
overflow:hidden;
background-position:68% center;
}

.home-hero .hero-content{
padding:0 24px;
}

.home-hero .hero-content h1{
max-width:285px;
font-size:38px;
overflow-wrap:break-word;
}

.home-hero .hero-content p{
max-width:245px;
overflow-wrap:break-word;
}

.hero-btn{
max-width:100%;
padding-right:34px;
padding-left:34px;
text-align:center;
white-space:normal;
}

.home-promo-banner{
min-height:230px;
overflow:hidden;
background-position:72% center;
}

.promo-content{
padding:0 24px;
}

.home-promo-banner h2{
max-width:270px;
font-size:30px;
overflow-wrap:break-word;
}

.home-promo-banner p{
max-width:250px;
font-size:15px;
overflow-wrap:break-word;
}

.home-benefits{
gap:0;
}

.benefit-item{
grid-template-columns:40px minmax(0, 1fr);
gap:4px 14px;
padding:18px 0;
}

.benefit-icon{
width:32px;
max-width:32px;
}

.home-newsletter{
gap:18px;
}

.home-newsletter h2{
font-size:34px;
overflow-wrap:break-word;
}

.home-newsletter p{
font-size:16px;
overflow-wrap:break-word;
}

.newsletter-form{
display:grid;
grid-template-columns:1fr;
gap:10px;
width:100%;
max-width:100%;
}

.newsletter-form input,
.newsletter-form button{
width:100%;
max-width:100%;
min-width:0;
}

.newsletter-form button{
padding-right:18px;
padding-left:18px;
white-space:normal;
}

.footer-inner{
gap:26px;
}

.footer-brand h2{
max-width:100%;
font-size:28px;
line-height:1.1;
overflow-wrap:break-word;
}

.footer-column,
.footer-brand{
max-width:100%;
}

.footer-bottom{
padding:12px 18px;
}

.footer-bottom p{
max-width:100%;
overflow-wrap:break-word;
}
}
