:root{
--bg:#e6cdcd;
--card:#f3e2e2;
--white:#ffffff;
--text:#1f1a1a;
--accent:#ea8f8f;
--accent-dark:#d97171;
--footer:#c88787;
--radius:24px;
}

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

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

body{
min-height:100vh;
background:#e6cdcd;
color:var(--text);
font-family:'Nunito',sans-serif;
overflow-x:hidden;
display:flex;
flex-direction:column;
zoom:1.15;
}

main{
flex:1;
}

a{
text-decoration:none;
color:inherit;
}

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

.site-header{
width:100%;
padding-top:10px;
display:flex;
flex-direction:column;
align-items:center;
background:#e6cdcd;
}

.top-header{
display:flex;
align-items:center;
justify-content:center;
gap:15px;
}

.logo{
display:flex;
align-items:center;
gap:10px;
}

.logo img{
width:42px;
height:42px;
}

.logo-info{
display:flex;
flex-direction:column;
}

.logo-info h1{
font-family:'Playfair Display',serif;
font-size:32px;
line-height:1;
font-weight:900;
}

.logo-info span{
font-size:8px;
color:#5f4b4b;
}

.header-icons{
display:flex;
align-items:center;
gap:12px;
margin-left:15px;
}

.admin-link{
font-size:11px;
font-weight:800;
background:white;
color:#c86e6e;
padding:4px 9px;
border-radius:18px;
}

.header-icons img{
width:18px;
height:18px;
object-fit:contain;
}

.icon-counter{
position:relative;
}

.icon-counter span{
position:absolute;
right:-5px;
top:-5px;
width:14px;
height:14px;
border-radius:50%;
background:var(--accent);
color:white;
font-size:9px;
display:flex;
align-items:center;
justify-content:center;
}

.main-nav{
margin-top:12px;
display:flex;
gap:12px;
background:#f7ecec;
padding:6px 14px;
border-radius:30px;
}

.main-nav a{
font-size:11px;
font-weight:700;
padding:3px 8px;
border-radius:20px;
}

.main-nav a.active{
background:white;
color:#c86e6e;
}

.search-wrap{
margin-top:8px;
}

.search-form{
width:180px;
height:26px;
background:white;
border-radius:20px;
display:flex;
overflow:hidden;
}

.search-form input{
flex:1;
border:none;
outline:none;
padding:0 10px;
background:transparent;
font-size:10px;
}

.search-form button{
width:30px;
border:none;
background:transparent;
cursor:pointer;
}

.hero{
width:1100px;
max-width:95%;
margin:30px auto;
display:grid;
grid-template-columns:620px 350px;
justify-content:center;
align-items:center;
gap:40px;
position:relative;
isolation:isolate;
}

.hero-flowers{
position:relative;
}

.hero-flowers img{
width:620px;
}

.hero-text{
position:relative;
z-index:3;
}

.hero-text h1{
font-family:'Playfair Display',serif;
font-size:58px;
line-height:0.95;
margin-bottom:20px;
}

.hero-text p{
font-size:16px;
color:#604b4b;
line-height:1.6;
margin-bottom:24px;
}

.hero-btns{
display:flex;
gap:12px;
}

.btn-primary{
background:#ef8789;
color:white;
padding:10px 30px;
border-radius:40px;
font-weight:700;
box-shadow:0 9px 20px rgba(188,72,72,.34);
cursor:pointer;
transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
position:relative;
z-index:4;
opacity:1;
}

.btn-primary:hover{
background:#df6f73;
transform:translateY(-1px);
box-shadow:0 11px 24px rgba(188,72,72,.42);
}

.btn-outline{
border:2px solid var(--accent);
color:var(--accent-dark);
padding:10px 30px;
border-radius:40px;
}

.home-faq{
width:900px;
max-width:92%;
margin:0 auto 50px;
}

.home-faq h2{
font-family:'Playfair Display',serif;
font-size:34px;
text-align:center;
margin:0 0 20px;
}

.faq-list{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:18px;
}

.faq-item{
background:#fff4f4;
border-radius:24px;
padding:22px;
box-shadow:0 8px 22px rgba(160,90,90,.12);
}

.faq-item h3{
font-family:'Playfair Display',serif;
font-size:20px;
margin:0 0 10px;
}

.faq-item p{
font-size:14px;
line-height:1.5;
margin:0;
color:#5f4a4a;
}
.page-content{
width:1000px;
max-width:95%;
margin:0 auto;
padding:10px 0 40px;
}

.page-title{
text-align:center;
font-family:'Playfair Display',serif;
font-size:20px;
margin-bottom:20px;
}
.page-content{
    position:relative;
    z-index:1;
}
.page-content::before{
    content:"";
    position:absolute;
    width:1000px;
    height:1000px;
    background:url("../assets/images/decor/product.png")
    no-repeat center;
    background-size:contain;
    right:200px;
    top:20px;
    opacity:.22;
    filter:contrast(.75) brightness(1.08);
    z-index:-1;
    pointer-events:none;
}
.product-emoji{
width:120px;
height:150px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:5px;
}

.product-name{
display:block;
width:200px;
min-height:34px;
text-align:center;
font-size:14px;
font-weight:700;
line-height:1.25;
color:#3a2929;
}

.product-desc{
display:none;
}

.to-cart-btn img{
width:12px;
height:12px;
}

.wish-btn.active{
background:none;
}

.product-grid {
    width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 260px);
    justify-content: center;
    gap: 34px 42px;
    position: relative;
    z-index: 2;
}

.product-card{
    position:relative;
    z-index:2;
    width:240px;
    min-height:360px;
    background:#f5e5e5;
    border-radius:28px;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:18px 14px 24px;
    box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.13);
}

.product-emoji {
    width: 205px;
    height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.product-emoji img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-id-1 .product-emoji img,
.product-id-2 .product-emoji img,
.product-id-3 .product-emoji img,
.product-id-4 .product-emoji img,
.product-id-5 .product-emoji img,
.product-id-6 .product-emoji img{
height:215px;
width:auto;
max-width:210px;
}

.product-id-1 .product-emoji img{
height:205px;
}

.product-id-2 .product-emoji img,
.product-id-5 .product-emoji img{
height:220px;
}

.product-id-4 .product-emoji img{
height:210px;
}

.product-price {
    font-family: 'Playfair Display', serif;
    font-size: 25px;
    font-weight: 700;
    margin-top: 4px;
    margin-bottom: 8px;
}

.to-cart-btn{
    width:118px;
    height:34px;
    border:none;
    border-radius:20px;
    background:#ea8f8f;
    color:white;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    transition:background .2s ease;
    margin-top:auto;
}
.to-cart-btn:hover {
    background: #d97070;
}

.wish-btn {
    position: absolute;
    right: 18px;
    top: 16px;
    width: 22px;
    height: 22px;
    border: none;
    background: none;
    box-shadow: none;
    font-size: 18px;
    cursor: pointer;
}

.contacts-wrap{
width:1000px;
max-width:95%;
margin:20px auto 60px;
display:grid;
grid-template-columns:300px 420px;
justify-content:center;
gap:80px;
position:relative;
overflow:visible;
z-index:1;
min-height:400px;
}

.contacts-wrap::before{
    content:"";
    position:absolute;
    left:-40px;
    top:-30px;
    width:600px;
    height:600px;
    background:url("../assets/images/decor/contact.png") no-repeat center;
    background-size:contain;
    opacity:.5;
    z-index:-1;
    pointer-events:none;
}
.site-header{
    position:relative;
    z-index:50;
}

.site-footer{
    position:relative;
    z-index:50;
}

.contacts-left{
position:relative;
z-index:2;
}

.contacts-left h2{
font-family:'Playfair Display',serif;
font-size:36px;
line-height:1;
margin-bottom:25px;
}

.contacts-info{
margin-bottom:20px;
}

.contacts-info h4{
font-size:14px;
margin-bottom:4px;
}

.contacts-info p{
font-size:13px;
color:#5f4b4b;
}

.social-icons{
display:flex;
gap:10px;
margin-top:20px;
}

.social-icons img{
width:22px;
height:22px;
}

.contact-form{
position:relative;
z-index:2;
background:#f3e3e3;
border-radius:30px;
padding:25px;
box-shadow:none;
}

.form-field{
background:white;
border-radius:30px;
padding:10px 15px;
margin-bottom:12px;
display:flex;
align-items:center;
gap:10px;
}

.form-field img{
width:18px;
}

.form-field input,
.form-field textarea{
border:none;
outline:none;
width:100%;
background:none;
font-size:12px;
}

.textarea-field{
align-items:flex-start;
}

.textarea-field textarea{
height:90px;
resize:none;
}

.submit-btn{
width:100%;
height:40px;
border:none;
border-radius:30px;
background:#ea8f8f;
color:white;
font-weight:700;
cursor:pointer;
}


.wishlist-wrap{
    position:relative;
    z-index:1;
    overflow:visible;
}

.wishlist-wrap::before{
    content:"";
    position:absolute;
    width:600px;
    height:600px;
    left:320px;
    top:-50px;
    background:url("../assets/images/decor/wishlist.png")
    no-repeat center;
    background-size:contain;
    opacity:.45;
    z-index:-1;
    pointer-events:none;
}

.wish-grid {
    width:1080px;
    max-width:95%;
    margin-left:auto;
    margin-right:auto;
    display: grid;
    grid-template-columns:repeat(4, 240px);
    justify-content: center;
    gap: 32px 28px;
    margin-bottom: 35px;
    position: relative;
    z-index: 2;
    align-items: start;
    overflow: visible;
}
.move-all-btn{
display:block;
width:220px;
height:40px;
margin:0 auto;
border:none;
border-radius:30px;
background:#ea8f8f;
color:white;
font-weight:700;
cursor:pointer;
}

.empty-msg{
text-align:center;
padding:60px 0;
font-size:16px;
}
.cart-header{
    width:700px;
    margin:0 auto 30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.page-title{
    font-family:'Playfair Display',serif;
    font-size:36px;
    font-weight:700;
}

.cart-wrap{
width:1000px;
max-width:95%;
margin:30px auto;
position:relative;
    z-index:1;

}
.cart-wrap::after{
    pointer-events:none;
    z-index:0;
}.cart-item,
.cart-summary,
.cart-table-head{
    position:relative;
    z-index:2;
}
.cart-wrap::after{
content:"";
position:absolute;
right:10px;
top:-50px;
width:650px;
height:650px;
background:url("../assets/images/decor/cart.png");
background-size:contain;
background-repeat:no-repeat;
opacity:.45;
}

.cart-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:25px;
}

.back-link{
font-size:12px;
}

.cart-table-head{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr 50px;
font-size:12px;
font-weight:700;
margin-bottom:10px;
padding:0 10px;
}

.cart-item{
background:#f3e3e3;
border-radius:20px;
padding:12px;
margin-bottom:12px;
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr 50px;
align-items:center;
}

.cart-item-info{
display:flex;
align-items:center;
gap:12px;
}

.cart-item-emoji{
width:60px;
height:60px;
background:white;
border-radius:15px;
display:flex;
align-items:center;
justify-content:center;
}

.cart-item-emoji img{
max-width:45px;
max-height:45px;
}

.cart-item-name{
font-size:13px;
font-weight:700;
}

.cart-item-code{
font-size:10px;
color:#6d5b5b;
}

.qty-ctrl{
display:flex;
align-items:center;
gap:6px;
}

.qty-btn{
width:24px;
height:24px;
border:none;
border-radius:50%;
background:white;
cursor:pointer;
}

.qty-val{
min-width:20px;
text-align:center;
}

.remove-btn{
border:none;
background:none;
font-size:18px;
cursor:pointer;
}

.cart-summary{
width:360px;
margin-left:auto;
background:#f3e3e3;
border-radius:25px;
padding:20px;
}

.summary-row{
display:flex;
justify-content:space-between;
margin-bottom:10px;
}

.order-btn{
width:100%;
height:42px;
border:none;
border-radius:25px;
background:#ea8f8f;
color:white;
font-weight:700;
cursor:pointer;
margin-top:10px;
}

.cart-delivery-form{
display:flex;
flex-direction:column;
gap:9px;
margin-top:15px;
}

.cart-delivery-form input{
width:100%;
height:36px;
border:none;
border-radius:20px;
background:white;
padding:0 14px;
outline:none;
font-size:12px;
}

.site-footer{
background:#E4A7A7;
color:white;
margin-top:60px;
padding:35px 60px 20px;
}

.footer-inner{
display:grid;
grid-template-columns:
1fr
1fr
1fr
2fr;
gap:30px;
}

.footer-col{
display:flex;
flex-direction:column;
gap:8px;
}

.footer-col strong{
font-family:'Playfair Display',serif;
font-size:16px;
}

.footer-col a{
font-size:12px;
}

.subscribe-col strong{
display:block;
margin-bottom:10px;
}

.footer-subscribe{
display:flex;
overflow:hidden;
}

.footer-subscribe input{
flex:1;
border:none;
padding:10px 15px;
outline:none;
}

.footer-subscribe button{
width:120px;
border:none;
background:white;
color:#c88787;
font-weight:700;
cursor:pointer;
}

.footer-bottom{
text-align:center;
margin-top:25px;
padding-top:15px;
border-top:1px solid rgba(255,255,255,.3);
font-size:12px;
}
.wishlist-wrap .product-card{
width:240px;
height:400px;
padding-bottom:78px;
}

.wishlist-wrap .product-price{
position:absolute;
left:0;
right:0;
bottom:58px;
text-align:center;
margin:0;
z-index:3;
}

.wish-grid{
margin-top:20px;
}

.move-all-btn{
margin-top:25px;
}

.wishlist-wrap .card-cart-form{
position:absolute;
left:0;
right:0;
bottom:20px;
display:flex;
justify-content:center;
margin:0;
}

.wishlist-wrap .to-cart-btn{
margin-top:0;
}

.empty-msg .btn-primary{
display:inline-flex;
align-items:center;
justify-content:center;
width:180px;
height:40px;
background:#ee8d8f;
color:white;
box-shadow:0 8px 18px rgba(224,116,116,.3);
}
.cart-item span{
font-size:12px;
}

.cart-item-name{
font-size:13px;
}

.cart-item-emoji{
overflow:hidden;
}

.cart-item-emoji img{
width:45px;
height:45px;
object-fit:contain;
}

.summary-row strong{
font-size:15px;
}

.order-btn:hover{
background:#d97171;
}
.contacts-right{
width:420px;
}

.alert{
margin-bottom:15px;
padding:10px;
border-radius:15px;
background:#f5dede;
font-size:12px;
}

.alert-success{
background:#d8f0d8;
}

.admin-wrap{
width:1000px;
max-width:95%;
margin:30px auto 70px;
position:relative;
z-index:2;
}

.admin-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin-bottom:20px;
}

.admin-tabs{
display:flex;
gap:8px;
flex-wrap:wrap;
}

.admin-tabs a{
background:#f7ecec;
font-size:12px;
font-weight:700;
padding:7px 13px;
border-radius:20px;
}

.admin-tabs a.active{
background:white;
color:#c86e6e;
}

.admin-card{
background:#f3e3e3;
border-radius:20px;
padding:16px;
margin-bottom:14px;
}

.admin-card-top{
display:flex;
justify-content:space-between;
gap:20px;
font-size:13px;
margin-bottom:12px;
}

.admin-card-top span{
color:#6d5b5b;
font-size:11px;
}

.admin-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:10px;
margin-bottom:10px;
}

.admin-grid div{
background:white;
border-radius:12px;
padding:9px;
display:flex;
flex-direction:column;
gap:3px;
font-size:12px;
}

.admin-grid b{
font-size:10px;
color:#8a6a6a;
}

.admin-message,
.admin-items{
background:white;
border-radius:12px;
padding:10px;
font-size:12px;
line-height:1.5;
margin-top:8px;
}

