:root{
    --primary:#9c1f43;
    --secondary:#222;
    --gold:#c8a96a;
    --cream:#f8f6f3;
    --light:#ffffff;
    --shadow:0 15px 35px rgba(0,0,0,.08);
}

body{
    font-family:'Outfit',sans-serif;
    background:#f8f6f3;
    color:#2b2b2b;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
    letter-spacing:.5px;
}

.navbar{

background:#fff;

box-shadow:0 5px 20px rgba(0,0,0,.05);

padding:15px 0;

}

.navbar-brand{

font-size:28px;

font-weight:700;

color:var(--primary)!important;

}

.nav-link{

font-size:15px;

font-weight:600;

padding:12px 18px!important;

transition:.3s;

}

.nav-link:hover{

color:var(--primary)!important;

}

.dropdown-menu{

border:none;

border-radius:15px;

box-shadow:var(--shadow);

padding:10px;

}

.dropdown-item{

padding:10px 18px;

border-radius:10px;

}

.dropdown-item:hover{

background:#f8f8f8;

color:var(--primary);

}

.carousel-item{

padding:70px 0;

background:#fafafa;

}

.hero-image{

max-height:560px;

animation:float 5s ease-in-out infinite;

}

@keyframes float{

0%{transform:translateY(0);}

50%{transform:translateY(-15px);}

100%{transform:translateY(0);}

}
/* SHOP PAGE */

.list-group-item{

border:none;

padding:14px 18px;

transition:.3s;

font-weight:500;

}

.list-group-item:hover{

background:#f8f8f8;

color:#d81b60;

padding-left:25px;

}

.card-header{

background:#111;

color:#fff;

}

.category-card{

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;

}

.category-card img{

height:320px;

width:100%;

object-fit:cover;

}

.category-card h4{

padding:18px;

text-align:center;

font-weight:600;

color:#333;

}

.category-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.product-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:var(--shadow);

transition:.4s;

position:relative;

}

.product-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.4s;
    position:relative;
    height:100%;
}

.product-card:hover .product-img{

transform:scale(1.05);

}


.wishlist:hover{
    background:#d81b60;
}

.wishlist:hover i,
.wishlist.active i{
    color:#fff;
}

.price-box{

display:flex;

justify-content:center;

align-items:center;

gap:12px;

margin-top:12px;

}

.old-price{

text-decoration:line-through;

color:#999;

}

.new-price{

font-size:22px;

font-weight:700;

color:var(--primary);

}

footer{

background:#111;

color:#fff;

padding:60px 0;

margin-top:80px;

}

footer a{

color:#ccc;

text-decoration:none;

}

footer a:hover{

color:#fff;

}

@media(max-width:768px){

.hero-image{
    max-height:320px;
}

.product-img{
    aspect-ratio:3/4;
    object-fit:contain;
    object-position:center top;
    padding:6px;
}

.category-card img{
    aspect-ratio:3/4;
    object-fit:cover;
    object-position:center top;
}

}

.footer-section{

background:#111;

color:#ddd;

padding:70px 0 30px;

}

.footer-logo{

font-size:34px;

font-weight:700;

color:#fff;

margin-bottom:20px;

}

.footer-section h5{

color:#fff;

margin-bottom:20px;

}

.footer-section ul{

list-style:none;

padding:0;

}

.footer-section li{

margin-bottom:12px;

}

.footer-section a{

color:#bbb;

text-decoration:none;

transition:.3s;

}

.footer-section a:hover{

color:#fff;

padding-left:6px;

}

.social-icons{

margin-top:20px;

}

.social-icons a{

width:42px;

height:42px;

display:inline-flex;

align-items:center;

justify-content:center;

background:#222;

border-radius:50%;

margin-right:10px;

font-size:18px;

}

.social-icons a:hover{

background:#d81b60;

color:#fff;

}

.navbar{

position:sticky;

top:0;

z-index:999;

background:#fff;

}

.mega-menu{

width:800px;

max-width:95%;

left:50%;

transform:translateX(-50%);

padding:30px;

border-radius:20px;

border:none;

box-shadow:0 25px 60px rgba(0,0,0,.12);

}

.mega-menu img{

border-radius:15px;

transition:.4s;

}

.mega-menu img:hover{

transform:scale(1.03);

}

.mega-menu a{

display:block;

padding:8px 0;

text-decoration:none;

color:#444;

}

.mega-menu a:hover{

color:#d81b60;

}

.product-card{

overflow:hidden;

}

.product-img{

transition:.5s;

}

.product-card:hover .product-img{

transform:scale(1.08);

}

.product-actions{

position:absolute;

bottom:-60px;

left:0;

width:100%;

display:flex;

justify-content:center;

gap:10px;

transition:.4s;

}

.product-card:hover .product-actions{

bottom:15px;

}

.position-relative i{

transition:.3s;

}

.position-relative:hover i{

transform:scale(1.15);

color:#d81b60;

}

/* CATEGORY PAGE */

.product-card{

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.product-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.product-image{

position:relative;

overflow:hidden;

}

.product-image img{

width:100%;

height:330px;

object-fit:cover;

transition:.5s;

}

.product-card:hover .product-image img{

transform:scale(1.08);

}

.discount-badge{

position:absolute;

top:15px;

left:15px;

background:#dc3545;

color:#fff;

padding:6px 12px;

border-radius:30px;

font-size:13px;

font-weight:600;

}

.product-overlay{
    position:absolute;
    top:15px;
    right:15px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:15px;
    z-index:999;
}

.product-overlay a{
    width:44px;
    height:44px;
    background:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#333;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
    transition:.3s;
}

.product-overlay a:hover{
    background:#d81b60;
    color:#fff;
    transform:translateY(-3px);
}

.product-overlay .wishlist.active{
    background:#dc3545;
    color:#fff;
}

.product-overlay a i{
    font-size:16px;
}


.price-box{

display:flex;

justify-content:center;

gap:12px;

margin-top:10px;

}

.old-price{

text-decoration:line-through;

color:#999;

}

.new-price{

font-weight:700;

font-size:22px;

color:#d81b60;

}

/* PRODUCT GALLERY */

.product-gallery{

position:relative;

}

.main-image{

position:relative;

overflow:hidden;

border-radius:18px;

}

.main-image img{

width:100%;

height:620px;

object-fit:cover;

transition:.4s;

cursor:zoom-in;

}

.main-image:hover img{

transform:scale(1.08);

}

.thumb-img{

height:120px;

width:100%;

object-fit:cover;

cursor:pointer;

transition:.3s;

border-radius:12px;

}

.thumb-img:hover{

transform:scale(1.05);

border:2px solid #d81b60;

}

.discount-badge{

position:absolute;

top:20px;

left:20px;

background:#dc3545;

color:#fff;

padding:8px 16px;

border-radius:30px;

font-size:14px;

font-weight:600;

}

/* PRODUCT PAGE */

.product-page h2{

font-size:38px;

font-weight:700;

}

.product-page p{

font-size:16px;

line-height:1.8;

}

.product-page .btn{

border-radius:10px;

padding:12px;

font-weight:600;

}

.product-page input{

font-weight:600;

}

.product-page .badge{

font-size:14px;

padding:8px 14px;

}

.product-page .price-box{

display:flex;

gap:15px;

align-items:center;

margin-bottom:15px;

}

.product-page .old-price{

text-decoration:line-through;

color:#999;

font-size:22px;

}

.product-page .new-price{

font-size:32px;

font-weight:bold;

color:#d81b60;

}

.thumb-img{

cursor:pointer;

transition:.3s;

}

.thumb-img:hover{

transform:scale(1.05);

}

.main-image img{

transition:.4s;

}

.main-image:hover img{

transform:scale(1.08);

}

.product-card{

transition:.4s;

}

.product-card:hover{

transform:translateY(-8px);

box-shadow:0 15px 40px rgba(0,0,0,.12);

}

/* CART PAGE */

.breadcrumb{

background:none;

margin-bottom:0;

}

.breadcrumb a{

text-decoration:none;

color:#555;

}

.breadcrumb-item.active{

color:#d81b60;

font-weight:600;

}

.table img{

border-radius:12px;

}

.card{

border-radius:20px;

}

.table tbody tr{

transition:.3s;

}

.table tbody tr:hover{

background:#fafafa;

}

.table img{

transition:.4s;

}

.table img:hover{

transform:scale(1.08);

}

.btn-outline-dark{

border-radius:8px;

}

.btn-danger.rounded-circle{

width:40px;

height:40px;

display:flex;

justify-content:center;

align-items:center;

}

.table td{

vertical-align:middle;

}

/* ORDER SUMMARY */

.sticky-top{

z-index:10;

}

.card{

border-radius:20px;

}

.card-body h4{

font-weight:700;

}

.input-group .form-control{

border-radius:10px 0 0 10px;

}

.input-group .btn{

border-radius:0 10px 10px 0;

}

.btn-dark{

border-radius:12px;

font-weight:600;

}

.btn-outline-dark{

border-radius:12px;

font-weight:600;

}

.btn-dark:hover{

transform:translateY(-2px);

transition:.3s;

}

.btn-outline-dark:hover{

transform:translateY(-2px);

transition:.3s;

}

/* ===========================
   CART PAGE FINAL
===========================*/

.table tbody tr{
transition:.3s;
}

.table tbody tr:hover{
background:#fafafa;
transform:translateY(-2px);
}

.table td{
vertical-align:middle;
}

.table img{
transition:.4s;
border-radius:12px;
}

.table img:hover{
transform:scale(1.08);
}

.btn{
transition:.3s;
}

.btn:hover{
transform:translateY(-2px);
}

.btn-dark{
border-radius:10px;
font-weight:600;
}

.btn-outline-dark{
border-radius:10px;
font-weight:600;
}

.btn-danger{
border-radius:10px;
}

.card{
border:none;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.card-body{
padding:25px;
}

.price{
font-size:22px;
font-weight:700;
color:#d81b60;
}

.empty-cart{
padding:60px 20px;
text-align:center;
}

.empty-cart img{
width:220px;
margin-bottom:25px;
}

.empty-cart h3{
font-weight:700;
margin-bottom:15px;
}

.empty-cart p{
color:#777;
}

.quantity-btn{
width:35px;
height:35px;
display:flex;
justify-content:center;
align-items:center;
}

.summary-card{
position:sticky;
top:100px;
}

.checkout-btn{
height:50px;
font-size:17px;
font-weight:600;
}

@media(max-width:991px){

.summary-card{
position:relative;
top:0;
margin-top:30px;
}

}

@media(max-width:768px){

.table thead{
display:none;
}

.table,
.table tbody,
.table tr,
.table td{
display:block;
width:100%;
}

.table tr{
margin-bottom:20px;
border:1px solid #eee;
padding:15px;
border-radius:15px;
}

.table td{
border:none;
padding:8px 0;
}

.table td img{
margin-bottom:10px;
}

}

/*=========================
FINAL NAVBAR FIX
=========================*/

.navbar{
    padding:10px 0;
    background:#fff;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.navbar .container{
    display:flex;
    align-items:center;
}

.navbar-brand{
    font-size:36px;
    font-weight:700;
    margin-right:35px;
    white-space:nowrap;
}

.navbar-collapse{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.navbar-nav{
    gap:8px;
}

.navbar-nav .nav-link{
    color:#222;
    font-size:15px;
    font-weight:600;
    padding:12px 10px !important;
    white-space:nowrap;
}

.navbar-nav .nav-link:hover{
    color:#d81b60 !important;
}

.navbar form{
    margin-left:20px;
}

.navbar .form-control{
    width:170px !important;
    height:38px;
}

.navbar .btn{
    height:38px;
}

.navbar .dropdown-toggle::after{
    margin-left:6px;
}

@media(min-width:1200px){

.navbar-nav{
    margin-left:20px;
}

}

@media(max-width:991px){

.navbar-nav{
    margin-top:20px;
}

.navbar form{
    margin:20px 0;
    width:100%;
}

.navbar .form-control{
    width:100% !important;
}

}

/* ========= MEGA MENU ========= */

.mega-menu{
    width:900px;
    max-width:95%;
    left:50%;
    transform:translateX(-50%);
    border:none;
    border-radius:18px;
    padding:30px;
    box-shadow:0 20px 60px rgba(0,0,0,.12);
}

.mega-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:15px;
    color:#d81b60;
}

.mega-menu a{
    display:block;
    color:#444;
    padding:8px 0;
    text-decoration:none;
    transition:.3s;
}

.mega-menu a:hover{
    color:#d81b60;
    padding-left:8px;
}

.mega-menu img{
    border-radius:15px;
    transition:.4s;
}

.mega-menu img:hover{
    transform:scale(1.04);
}

@media(min-width:992px){

.navbar .dropdown:hover>.dropdown-menu{
    display:block;
    margin-top:0;
}

}


/* ===============================
FINAL MOBILE PRODUCT FIX
=============================== */

.product-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    height:100%;
    display:flex;
    flex-direction:column;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.product-card:hover{
    transform:translateY(-6px);
}

.product-image{
    width:100%;
    aspect-ratio:3/4;
    background:#fff;
    overflow:hidden;
}

.product-img,
.product-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center top;
}

.product-card .p-3{
    display:flex;
    flex-direction:column;
    flex-grow:1;
}

.product-card h5{
    font-size:18px;
    text-align:center;
    min-height:50px;
    margin-bottom:10px;
}

.price-box{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin:10px 0;
}

.new-price{
    font-size:22px;
    font-weight:700;
    color:#9c1f43;
}

.old-price{
    color:#888;
    text-decoration:line-through;
}

.product-card .btn{
    margin-top:auto;
}

.category-card img{
    width:100%;
    aspect-ratio:3/4;
    object-fit:cover;
    object-position:center top;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

section{
    padding:45px 0;
}

.hero-image{
    max-height:250px;
}

.product-card{
    border-radius:15px;
}

.product-image{
    aspect-ratio:3/4;
}

.product-img,
.product-image img{
    object-fit:contain;
    object-position:center top;
    padding:5px;
}

.product-card h5{
    font-size:15px;
    min-height:42px;
}

.new-price{
    font-size:18px;
}

.old-price{
    font-size:14px;
}

.product-card .btn{
    font-size:14px;
    padding:8px;
}

.category-card img{
    aspect-ratio:3/4;
}

.category-card h5,
.category-card h4{
    font-size:18px;
    padding:12px;
}

}

/* ============== SMALL MOBILE ============== */

@media(max-width:576px){

.row>*{
    padding-left:8px;
    padding-right:8px;
}

.product-card{
    border-radius:12px;
}

.product-image{
    aspect-ratio:3/4;
}

.product-card h5{
    font-size:14px;
}

.new-price{
    font-size:17px;
}

.old-price{
    font-size:13px;
}

}

