/*==================================================
MASHA CH V2
PART 1
==================================================*/

:root{

--primary:#c8104d;
--primary-dark:#a40d3e;
--gold:#d4af37;
--gold-light:#f5e7b8;

--cream:#fffdf8;
--cream-2:#f8f3ea;

--white:#fff;

--black:#1b1b1b;

--text:#4d4d4d;

--border:#ece5d9;

--radius:22px;

--shadow:

0 10px 35px rgba(0,0,0,.08);

--shadow-hover:

0 20px 45px rgba(0,0,0,.16);

--transition:.35s ease;

--container:1450px;

}

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:

linear-gradient(

180deg,

#fffdf8,

#faf7f0,

#fffdf8

);

color:var(--black);

overflow-x:hidden;

}

.video-modal{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.9);

display:flex;

justify-content:center;
align-items:center;

opacity:0;
visibility:hidden;

transition:.3s;

z-index:99999;

}

.video-modal.active{

opacity:1;
visibility:visible;

}

#modalVideo{

max-width:95vw;

max-height:90vh;

border-radius:16px;

background:#000;

}

#closeVideo{

position:absolute;

top:20px;
right:20px;

width:44px;
height:44px;

border:none;

border-radius:50%;

background:#fff;

font-size:22px;

cursor:pointer;

}

/*==================================
TOP BAR
==================================*/

.top-bar{

height:42px;

background:linear-gradient(90deg,#b8860b,#d4af37,#b8860b);

overflow:hidden;

display:flex;

align-items:center;

position:relative;

color:#fff;

font-size:14px;

font-weight:600;

}

.top-bar-slider{

display:flex;

gap:90px;

white-space:nowrap;

animation:topBarMove 18s linear infinite;

padding-left:100%;

}

.top-bar-slider span{

display:flex;

align-items:center;

letter-spacing:.4px;

}

@keyframes topBarMove{

0%{

transform:translateX(0);

}

100%{

transform:translateX(-100%);

}

}

.top-bar:hover .top-bar-slider{

animation-play-state:paused;

}

img{

display:block;

max-width:100%;

}

a{

text-decoration:none;

color:inherit;

}

section{

padding:45px 20px;

}

.section-header{

max-width:var(--container);

margin:auto auto 45px;

display:flex;

justify-content:space-between;

align-items:center;

}

.section-header h2{

font-size:42px;

font-weight:700;

letter-spacing:.5px;

}

.section-title{

text-align:center;

margin-bottom:45px;

}

.section-title h2{

font-size:42px;

font-weight:700;

}

.see-all{

display:flex;

align-items:center;

gap:8px;

padding:12px 22px;

background:#fff;

border-radius:50px;

font-size:15px;

font-weight:600;

box-shadow:var(--shadow);

transition:var(--transition);

}

.see-all:hover{

transform:translateY(-3px);

background:var(--primary);

color:#fff;

}

/*==========================================
Hero
==========================================*/

.hero{

height:88vh;

min-height:720px;

background:

url("/assets/images/banner.jpeg")

center/cover;

position:relative;

overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

inset:0;

background:

linear-gradient(

90deg,

rgba(0,0,0,.55),

rgba(0,0,0,.25)

);

}

.hero-overlay{

height:100%;

display:flex;

align-items:center;

position:relative;

z-index:2;

max-width:var(--container);

margin:auto;

padding:0 40px;

}

.hero-content{

max-width:650px;

color:#fff;

}

.hero h1{

font-size:95px;

line-height:.95;

font-weight:800;

letter-spacing:4px;

}

.hero h2{

font-size:48px;

font-weight:500;

margin-top:15px;

color:var(--gold-light);

}

.hero p{

margin:35px 0;

font-size:20px;

line-height:1.9;

max-width:520px;

}

.hero-btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:18px 42px;

border-radius:50px;

background:

linear-gradient(

135deg,

var(--primary),

#ef2d73

);

font-weight:700;

letter-spacing:.5px;

transition:var(--transition);

box-shadow:

0 18px 35px

rgba(200,16,77,.35);

}

.productSwiper{

padding-bottom:10px !important;

}

.hero-btn:hover{

transform:translateY(-5px);

box-shadow:

0 22px 50px

rgba(200,16,77,.5);

}

/*==========================================
Section Background
==========================================*/

.categories,

.products-section

{

padding: 55px 0;

background:transparent;

max-width:var(--container);

margin:auto;

}



.newsletter{

    padding: 55px auto;

}

/*==========================================
Card Animation
==========================================*/

.category-card,

.product-card,

.feature-card{

transition:var(--transition);

}

.category-card:hover,

.product-card:hover,

.feature-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-hover);

}

/*==================================================
PART 2
CATEGORY SWIPER
==================================================*/

.categorySwiper{

overflow:hidden;

padding:15px 5px 35px;

}

.categorySwiper .swiper-wrapper{

align-items:stretch;

}

.categorySwiper .swiper-slide{

height:auto;

display:flex;

align-self: stretch;

}

.category-card{

width:100%;
height: 100%;
display: flex;
flex-direction: column;

background:linear-gradient(
180deg,
#ffffff,
#fffaf1
);

border:1px solid #efe6d4;

border-radius:26px;

overflow:hidden;

cursor:pointer;

box-shadow:

0 12px 35px rgba(0,0,0,.06);

transition:.35s;

position:relative;

}

.category-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(
90deg,
#D4AF37,
#F2DE8A,
#D4AF37
);

transform:scaleX(0);

transition:.35s;

}

.category-card:hover::before{

transform:scaleX(1);

}

.category-card:hover{

transform:translateY(-10px);

box-shadow:

0 20px 50px rgba(0,0,0,.14);

}

.category-image{

aspect-ratio: 4/5;
border-radius: 20px;

overflow:hidden;



}

.category-image img{

width:100%;

height:100%;

object-fit:cover;

display: block;

}

.category-card:hover img{

transform:scale(1.08);

}

.category-content{

padding:24px;

text-align:center;

flex: 1;

display: flex;

flex-direction: column;

justify-content: space-between;

}

.category-content h3{

font-size:21px;

font-weight:700;

margin-bottom:8px;

color:#222;

}

.category-content p{

font-size:14px;

color:#888;

margin-bottom:16px;

}

.category-content span{

display:inline-flex;

align-items:center;

justify-content:center;

padding:11px 22px;

border-radius:40px;

background:#f8f3ea;

font-size:14px;

font-weight:600;

color:#c8104d;

transition:.3s;

}

.category-card:hover .category-content span{

background:#c8104d;

color:#fff;

}

.categorySwiper .swiper-slide-active{

transform:scale(1.06);

z-index:10;

}

.categorySwiper .swiper-slide-prev,

.categorySwiper .swiper-slide-next{

transform:scale(.95);

opacity:.95;

}

.categorySwiper .swiper-slide:not(.swiper-slide-active){

opacity:.88;

}

/* Pagination */

.categorySwiper .swiper-pagination{

position:relative;

margin-top:30px;

}

.categorySwiper .swiper-pagination-bullet{

width:11px;

height:11px;

background:#d7c7a1;

opacity:1;

transition:.3s;

}

.categorySwiper .swiper-pagination-bullet-active{

width:32px;

border-radius:50px;

background:#c8104d;

}

/* Navigation */

.categorySwiper .swiper-button-next,

.categorySwiper .swiper-button-prev{

width:52px;

height:52px;

border-radius:50%;

background:#fff;

box-shadow:0 10px 25px rgba(0,0,0,.10);

color:#222;

transition:.3s;

}

.categorySwiper .swiper-button-next:hover,

.categorySwiper .swiper-button-prev:hover{

background:#c8104d;

color:#fff;

}

.categorySwiper .swiper-button-next::after,

.categorySwiper .swiper-button-prev::after{

font-size:18px;

font-weight:700;

}

/*==================================
WHY CHOOSE
==================================*/

.features-section

{

padding: 50px 20px;

background:transparent;

max-width:var(--container);



}

.features-grid{

max-width:1350px;

margin:auto;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.feature-card{

background:#fff;

padding:40px 25px;

border-radius:24px;

text-align:center;

box-shadow:0 10px 35px rgba(0,0,0,.08);

transition:.35s;

border:1px solid #f1f1f1;

}

.feature-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(205,16,77,.15);

}

.feature-icon{

width:82px;

height:82px;

margin:auto auto 22px;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

font-size:34px;

background:linear-gradient(135deg,#cd104d,#ef2d73);

color:#fff;

}

.feature-card h3{

font-size:22px;

margin-bottom:12px;

color:#222;

}

.feature-card p{

font-size:15px;

color:#666;

line-height:1.7;

}


.newsletter{

max-width:1250px;

margin:35px auto;

padding:55px 25px;

border-radius:24px;

background:linear-gradient(135deg,#b0124f,#d81b60);

color:#fff;

text-align:center;

box-shadow:0 20px 45px rgba(176,18,79,.22);

}

.newsletter h2{

font-size:36px;

margin-bottom:12px;

font-weight:700;

}

.newsletter p{

max-width:600px;

margin:0 auto 30px;

font-size:16px;

line-height:1.7;

opacity:.95;

}

.newsletter-box{

max-width:650px;

margin:auto;

display:flex;

background:#fff;

border-radius:50px;

padding:6px;

box-shadow:0 12px 30px rgba(0,0,0,.15);

}

.newsletter-box input{

flex:1;

height:54px;

border:none;

outline:none;

padding:0 22px;

font-size:15px;

background:none;

}

.newsletter-box button{

padding:0 28px;

border:none;

border-radius:40px;

background:#111;

color:#fff;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.newsletter-box button:hover{

background:#000;

transform:translateY(-2px);

}

/*==================================
FOOTER
==================================*/

.footer{

width: 100%;

background:#111;

color:#fff;

padding:80px 20px 40px;

margin-top:70px;

}

.footer-grid{

max-width:100%;

margin:auto;

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:45px;

}

.footer h3{

font-size:22px;

margin-bottom:20px;

color:#fff;

}

.footer p{

color:#bcbcbc;

line-height:1.8;

}

.footer a{

display:block;

margin-bottom:12px;

color:#d7d7d7;

text-decoration:none;

transition:.3s;

}

.footer a:hover{

color:#cd104d;

padding-left:8px;

}

.footer-bottom{

border-top:1px solid rgba(255,255,255,.08);

margin-top:55px;

padding-top:25px;

text-align:center;

color:#999;

font-size:14px;

}

/* Tablet */

@media(max-width:991px){


.category-content{

padding:18px;

}

.category-content h3{

font-size:18px;

}

.features-grid{

grid-template-columns:repeat(2,1fr);

}

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

}


/* Mobile */

@media(max-width:768px){

.categories,
.products-section,
.features-section{

padding:35px 0;

}

#modalVideo{

width:96vw;

max-height:82vh;

}

.newsletter{

margin:35px 15px;

}    


    
.categorySwiper{

padding-bottom:25px;

}

.categorySwiper .swiper-slide-active{

transform:scale(1.04);

}



.category-content{

padding:16px;

}

.category-content h3{

font-size:17px;

}

.category-content p{

font-size:13px;

}

.category-content span{

padding:9px 18px;

font-size:13px;

}

.see-all{
    padding: 8px 14px;
    font-size: 13px;
    border-radius: 30px;
}

.section-header{

margin-bottom:22px;
padding: 10px;

}

.section-header h2{

font-size:26px;

}

.footer{
    width:100%;
    padding:50px 20px 30px;
    overflow:hidden;
}

.footer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    width:100%;
}

.footer h3{
    font-size:14px;
}

.footer a,
.footer p{
    font-size:8px;
    word-break:break-word;
}

}

/* Small Mobile */

@media(max-width:480px){


.categories,
.products-section,
.features-section{

padding:35px 0;

}

.newsletter{

margin:35px 15px;

}


.category-content{

padding:14px;

}

.category-content h3{

font-size:16px;

}

.category-content p{

font-size:12px;

}

.category-content span{

font-size:12px;

padding:8px 16px;

}

.footer{
    padding:40px 16px 25px;
    overflow:hidden;
}

.footer-grid{
    grid-template-columns:1fr;
    gap:28px;
}

.footer h3{
    font-size:14px;
}

.footer a,
.footer p{
    font-size:8px;
}

}

/*==================================================
PART 3
PREMIUM PRODUCT CARDS
==================================================*/

.products-section{

margin-top:20px;

}

.products-slider{

display:grid;

grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

gap:28px;

}

.product-card{

position:relative;

background:#fff;

border-radius:24px;

overflow:hidden;

border:1px solid #f0e7d8;

transition:.35s;

box-shadow:0 12px 30px rgba(0,0,0,.06);

}

.product-card:hover{

transform:translateY(-10px);

box-shadow:0 22px 50px rgba(0,0,0,.16);

}

/* Product Image */

.product-image{

position:relative;

overflow:hidden;

height:360px;

background:#faf8f4;

}

.product-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.45s;

}

.product-card:hover .product-image img{

transform:scale(1.08);

}

/* Wishlist */

.product-wishlist{

position:absolute;

top:16px;

right:16px;

width:44px;

height:44px;

background:#fff;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

cursor:pointer;

font-size:18px;

box-shadow:0 8px 18px rgba(0,0,0,.12);

transition:.3s;

z-index:20;

}

.product-wishlist:hover{

background:#c8104d;

color:#fff;

}

/* Discount */

.discount-badge{

position:absolute;

left:16px;

top:16px;

background:linear-gradient(
135deg,
#c8104d,
#ef2e73
);

padding:8px 14px;

border-radius:50px;

font-size:13px;

font-weight:700;

color:#fff;

z-index:20;

}

/* Content */

.product-content{

padding:20px;

}

.product-category{

font-size:13px;

color:#999;

margin-bottom:8px;

}

.product-title{

font-size:18px;

font-weight:700;

line-height:1.4;

height:52px;

overflow:hidden;

margin-bottom:10px;

color:#222;

}

/* Rating */

.product-rating{

display:flex;

align-items:center;

gap:6px;

font-size:13px;

color:#ffb400;

margin-bottom:14px;

}

.product-rating span{

color:#777;

}

/* Price */

.price-row{

display:flex;

align-items:center;

gap:10px;

margin-bottom:20px;

}

.current-price{

font-size:24px;

font-weight:700;

color:#c8104d;

}

.old-price{

font-size:16px;

color:#999;

text-decoration:line-through;

}

/* Buttons */

.product-actions{

display:grid;

grid-template-columns:1fr 55px;

gap:12px;

}

.add-cart-btn{

height:50px;

border:none;

border-radius:14px;

background:linear-gradient(
135deg,
#c8104d,
#ef2e73
);

color:#fff;

font-size:15px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.add-cart-btn:hover{

transform:translateY(-2px);

box-shadow:0 15px 30px rgba(200,16,77,.35);

}

.quick-view-btn{

height:50px;

border:none;

border-radius:14px;

background:#f7f3eb;

font-size:20px;

cursor:pointer;

transition:.3s;

}

.quick-view-btn:hover{

background:#c8104d;

color:#fff;

}



/* Mobile */

@media(max-width:768px){


.newsletter{

padding:38px 18px;

border-radius:18px;

}

.newsletter h2{

font-size:26px;

}

.newsletter p{

font-size:14px;

margin-bottom:22px;

}

.newsletter-box{

flex-direction:column;

background:none;

padding:0;

gap:12px;

box-shadow:none;

}

.newsletter-box input{

height:50px;

border-radius:40px;

background:#fff;

}

.newsletter-box button{

height:50px;

width:100%;

border-radius:40px;

}

.products-slider{

grid-template-columns:repeat(2,1fr);

gap:16px;

}

.product-image{

height:240px;

}

.product-content{

padding:14px;

}

.product-title{

font-size:15px;

height:42px;

}

.current-price{

font-size:20px;

}

.add-cart-btn{

font-size:13px;

height:45px;

}

.quick-view-btn{

height:45px;

}

.hero{

    object-fit: cover;
    object-position: 20% center;
}

}

/* Small Mobile */

@media(max-width:480px){

.products-slider{

grid-template-columns:repeat(2,1fr);

gap:12px;

}

.product-image{

height:190px;

}

.product-title{

font-size:14px;

}

.current-price{

font-size:18px;

}

.old-price{

font-size:13px;

}

.product-actions{

display:grid;

grid-template-columns:1fr 45px;

gap:8px;

}

.add-cart-btn{

height:42px;

font-size:12px;

}

.quick-view-btn{

display:flex;

justify-content:center;

align-items:center;

width:45px;

height:42px;

font-size:18px;
}
}

/* ===========================
Large Phones
=========================== */

@media (max-width:600px){

.section-header{
padding:0 16px;
margin-bottom:20px;
}

.section-header h2{
font-size:24px;
}

.see-all{
padding:8px 14px;
font-size:13px;
}

.hero-btn{
width:180px;
height:46px;
font-size:14px;
}

.newsletter{
padding:35px 18px;
margin:35px 12px;
}

.newsletter h2{
font-size:24px;
}

.newsletter p{
font-size:14px;
}

}



/* ===========================
Small Phones
=========================== */

@media (max-width:390px){

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

.hero-btn{
width:160px;
height:42px;
font-size:13px;
}

.section-header h2{
font-size:20px;
}

.see-all{
padding:6px 10px;
font-size:11px;
}

.newsletter h2{
font-size:20px;
}

.newsletter p{
font-size:13px;
}

}



