/* =========================================================
AURORA LUMA - FINAL CLEAN SHOP.CSS
Products Page • Filters • Hero Layout • Cart Drawer
========================================================= */

/* =========================================================
LUXURY HERO LAYOUT
========================================================= */

.hero-layout{
display:grid;
grid-template-columns:280px 1fr;
gap:40px;
padding:176px 60px 60px;
background:#f5f3ef;
align-items:start;
}

.hero-sidebar{
position:sticky;
top:136px;
height:fit-content;
background:#f3f2ef;
padding:42px 28px;
border-right:1px solid rgba(0,0,0,0.08);
box-shadow:8px 0 30px rgba(0,0,0,0.035);
font-family:'Montserrat',sans-serif;
}

.hero-sidebar h4{
font-size:13px;
letter-spacing:1px;
font-weight:500;
text-transform:none;
margin-bottom:34px;
color:#111;
}

/* =========================================================
FILTER SIDEBAR
========================================================= */

.filter-group{
border-bottom:1px solid rgba(0,0,0,0.12);
padding:24px 0;
}

.filter-header{
display:flex;
align-items:center;
justify-content:space-between;
cursor:pointer;
}

.filter-header h5{
font-family:'Montserrat',sans-serif;
font-size:15px;
letter-spacing:0;
font-weight:500;
text-transform:none;
color:#111;
}

.filter-header span{
font-size:18px;
font-weight:400;
color:#111;
}

.filter-list{
list-style:none;
padding-top:22px;
padding-left:0;
margin:0;
display:flex;
flex-direction:column;
gap:12px;
}

.filter-list li{
list-style:none;
font-family:'Montserrat',sans-serif;
font-size:14px;
letter-spacing:0;
font-weight:400;
line-height:1;
color:#111;
padding:14px 18px;
border:1px solid rgba(0,0,0,0.16);
background:#fff;
text-align:center;
cursor:pointer;
transition:0.3s ease;
}

.filter-list li:hover{
background:#111;
color:#fff;
transform:none;
opacity:1;
}

.filter-list li.active-filter{
background:#111;
color:#fff;
font-weight:500;
transform:none;
}

.filter-list li.active-filter::before{
display:none;
}

.filter-group.closed .filter-list{
display:none;
}

/* =========================================================
RIGHT HERO
========================================================= */

.hero-main{
position:relative;
height:86vh;
min-height:720px;
overflow:hidden;
border-radius:2px;
background:#f3f1ed;
}

.category-hero{
position:relative;
width:100%;
height:100%;
overflow:hidden;
background:#f3f1ed;
}

.category-media,
.product-hero-image{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-color:#f3f1ed;

/* less crop */
background-size:contain !important;
background-repeat:no-repeat !important;
background-position:center center !important;

transform:scale(1);
transition:transform 1.2s ease;
}

.category-media img,
.category-media video{
width:100%;
height:100%;
object-fit:cover;
object-position:center center;
display:block;
max-width:none;
}

.hero-main:hover .category-media,
.hero-main:hover .product-hero-image{
transform:scale(1);
}

.category-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(
to bottom,
rgba(0,0,0,0.12),
rgba(0,0,0,0.32)
);
z-index:1;
}

.category-content{
position:absolute;

left:90px;
top:0;

width:420px;

background:#ffffff;

padding:0 32px 32px;

box-shadow:
0 15px 35px rgba(0,0,0,0.08);

z-index:3;
}

.category-content h5{
display:inline-block;

background:#000;

color:#fff;

padding:10px 18px;

margin:0 0 28px 0;

font-size:11px;

letter-spacing:4px;

text-transform:uppercase;
}

.category-content h1{
font-family:"Cormorant Garamond", serif;
font-size:78px;
line-height:0.9;
font-weight:600;
color:#111;
margin-bottom:20px;
text-shadow:none;
}

.category-content p{
font-size:17px;
line-height:1.8;
font-weight:400;
color:#333;
max-width:100%;
text-shadow:none;
margin:0;
}

/* =========================================================
PRODUCTS PAGE
========================================================= */

.products-page{
padding:0 60px 120px;
background:#f5f3ef;
}

.products-toolbar{
display:flex;
justify-content:flex-end;
align-items:center;
padding:40px 0 50px;
margin-bottom:50px;
border-bottom:1px solid #e5e5e5;
display:none !important;
}

/* =========================================================
CUSTOM SORT
========================================================= */

.custom-sort{
position:relative;
width:220px;
z-index:10000;
}

.sort-selected{
display:flex;
justify-content:space-between;
align-items:center;
padding-bottom:12px;
border-bottom:1px solid #111;
cursor:pointer;
font-size:13px;
letter-spacing:2px;
text-transform:uppercase;
transition:0.3s ease;
}

.sort-selected:hover{
opacity:0.7;
}

.sort-arrow{
font-size:18px;
font-weight:300;
transition:0.3s ease;
}

.custom-sort.active .sort-arrow{
transform:rotate(45deg);
}

.sort-options{
position:absolute;
top:100%;
left:0;
width:100%;
background:#fff;
padding:20px;
display:none;
flex-direction:column;
gap:16px;
box-shadow:0 10px 40px rgba(0,0,0,0.08);
border:1px solid #eee;
z-index:9999;
}

.custom-sort.active .sort-options{
display:flex;
}

.sort-option{
font-size:12px;
letter-spacing:2px;
text-transform:uppercase;
cursor:pointer;
transition:0.3s ease;
}

.sort-option:hover{
padding-left:6px;
opacity:0.7;
}

/* =========================================================
PRODUCT GRID
========================================================= */

.products-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:70px 50px;
align-items:start;
max-width:1400px;
margin:auto;
overflow:visible;
}

/* =========================================================
PRODUCT CARD
========================================================= */

.product-card{
position:relative;
background:#f8f8f6;
padding:24px;
border:1px solid #eceae6;
box-shadow:
0 0 0 1px rgba(255,255,255,0.9) inset,
0 2px 10px rgba(0,0,0,0.02);
transition:
transform 0.45s ease,
box-shadow 0.45s ease;
overflow:visible;
}

.product-card::before{
content:"";
position:absolute;
top:10px;
left:10px;
right:10px;
bottom:10px;
border:1px solid rgba(0,0,0,0.035);
pointer-events:none;
}

.product-card:hover{
transform:translateY(-4px);
box-shadow:0 14px 40px rgba(0,0,0,0.05);
}

.product-link{
display:block;
text-decoration:none;
color:inherit;
overflow:visible;
}

/* =========================================================
PRODUCT IMAGE - UNIFIED SIZE SYSTEM
========================================================= */

.product-image{
position:relative;
width:76%;
aspect-ratio:3/4.2;
margin:34px auto 0;
padding:28px;
background:#f7f5f1;
display:flex;
align-items:center;
justify-content:center;
overflow:visible;
}

.product-image img{
width:100%;
height:100%;
object-fit:contain;
object-position:center;
display:block;
transition:
transform 0.7s ease,
opacity 0.4s ease;
}

.product-card:hover .product-image img{
transform:scale(1.04);
}

/* =========================================================
PRODUCT IMAGE ARROWS
========================================================= */

.slider-btn{
display:flex;
visibility:visible;
opacity:1;
pointer-events:auto;
position:absolute;
top:50%;
transform:translateY(-50%);
width:54px;
height:54px;
border-radius:50%;
background:#fff;
color:#111;
border:none;
box-shadow:0 14px 38px rgba(0,0,0,0.16);
font-size:34px;
font-weight:300;
z-index:999;
align-items:center;
justify-content:center;
cursor:pointer;
transition:0.35s ease;
}

.slider-btn.prev{
left:-70px;
}

.slider-btn.next{
right:-70px;
}

.slider-btn:hover{
background:#111;
color:#fff;
transform:translateY(-50%) scale(1.08);
}

/* =========================================================
PRODUCT INFO
========================================================= */

.product-info{
padding:30px 0 26px;
text-align:center;
width:76%;
margin:auto;
}

.product-info h3{
font-size:18px;
font-weight:500;
letter-spacing:1px;
margin-bottom:10px;
color:#111;
}

.product-info p{
font-size:13px;
line-height:1.7;
color:#666;
margin-bottom:12px;
}

.product-info h4{
font-size:13px;
letter-spacing:2px;
font-weight:600;
color:#111;
}

/* =========================================================
PAGINATION
========================================================= */

.pagination{
margin-top:90px;
display:flex;
justify-content:center;
gap:16px;
}

.pagination button{
width:44px;
height:44px;
border:none;
background:#fff;
cursor:pointer;
transition:0.3s ease;
box-shadow:0 4px 14px rgba(0,0,0,0.06);
}

.pagination button:hover{
background:#111;
color:#fff;
}

.active-page{
background:#111 !important;
color:#fff;
}

/* =========================================================
EMPTY PRODUCTS
========================================================= */

.empty-products{
padding:120px 20px;
text-align:center;
grid-column:1/-1;
}

.empty-products h2{
font-size:34px;
letter-spacing:5px;
margin-bottom:20px;
}

.empty-products p{
font-size:16px;
color:#666;
}

/* =========================================================
LUXURY BAG BUTTON
========================================================= */

.luxury-bag-trigger{
position:relative;
margin-left:0;
display:flex;
align-items:center;
gap:10px;
cursor:pointer;
font-size:12px;
font-weight:600;
letter-spacing:3px;
text-transform:uppercase;
color:#111;
transition:0.35s ease;
user-select:none;
}

.luxury-bag-trigger:hover{
opacity:0.65;
}

.luxury-bag-trigger span{
display:flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
border-radius:50%;
background:#111;
color:#fff;
font-size:10px;
font-weight:700;
letter-spacing:0;
}

/* =========================================================
CART DRAWER
========================================================= */

.cart-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:rgba(0,0,0,0.28);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
opacity:0;
visibility:hidden;
transition:0.45s ease;
z-index:999998;
}

.cart-overlay.active{
opacity:1;
visibility:visible;
}

.cart-drawer{
position:fixed;
top:0;
right:-480px;
width:460px;
max-width:100%;
height:100vh;
background:#f8f6f2;
z-index:999999;
display:flex;
flex-direction:column;
transition:0.45s cubic-bezier(.22,.61,.36,1);
box-shadow:-20px 0 60px rgba(0,0,0,0.16);
}

.cart-drawer.active{
right:0;
}

.cart-drawer-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:32px 30px;
border-bottom:1px solid rgba(0,0,0,0.08);
}

.cart-drawer-header h2{
font-size:16px;
letter-spacing:4px;
font-weight:600;
color:#111;
}

.close-cart{
border:none;
background:none;
font-size:34px;
font-weight:300;
cursor:pointer;
line-height:1;
color:#111;
transition:0.3s ease;
}

.close-cart:hover{
opacity:0.6;
transform:rotate(90deg);
}

.cart-drawer-items{
flex:1;
overflow-y:auto;
padding:24px 30px;
display:flex;
flex-direction:column;
gap:28px;
}

.cart-drawer .cart-item{
display:flex;
gap:18px;
position:relative;
padding-bottom:26px;
border-bottom:1px solid rgba(0,0,0,0.06);
}

.cart-drawer .cart-item img{
width:110px;
height:140px;
object-fit:contain;
object-position:center;
background:#fff;
padding:10px;
}

.cart-drawer .cart-item-info{
flex:1;
display:flex;
flex-direction:column;
justify-content:space-between;
padding:4px 0;
}

.cart-drawer .cart-item-info h4{
font-size:15px;
font-weight:500;
line-height:1.5;
margin-bottom:10px;
color:#111;
}

.cart-drawer .cart-item-info p{
font-size:13px;
letter-spacing:1px;
color:#555;
}

.cart-quantity{
display:flex;
align-items:center;
gap:16px;
margin-top:18px;
}

.cart-quantity button{
width:28px;
height:28px;
border:none;
background:#fff;
cursor:pointer;
font-size:18px;
transition:0.3s ease;
}

.cart-quantity button:hover{
background:#111;
color:#fff;
}

.cart-quantity span{
font-size:13px;
font-weight:600;
}

.remove-cart-item{
position:absolute;
top:0;
right:0;
border:none;
background:none;
font-size:24px;
font-weight:300;
cursor:pointer;
color:#777;
transition:0.3s ease;
}

.remove-cart-item:hover{
color:#111;
transform:scale(1.1);
}

.cart-drawer-footer{
padding:30px;
border-top:1px solid rgba(0,0,0,0.08);
background:#f8f6f2;
display:flex;
flex-direction:column;
gap:18px;
}

.mini-cart-subtotal{
display:flex;
justify-content:space-between;
align-items:center;
font-size:14px;
letter-spacing:1px;
color:#111;
}

.mini-cart-subtotal p{
font-size:18px;
font-weight:600;
}

.checkout-mini-btn,
.view-bag-btn{
width:100%;
height:56px;
border:none;
display:flex;
align-items:center;
justify-content:center;
font-size:12px;
font-weight:600;
letter-spacing:3px;
text-transform:uppercase;
cursor:pointer;
transition:0.35s ease;
}

.checkout-mini-btn{
background:#111;
color:#fff;
}

.checkout-mini-btn:hover{
opacity:0.88;
transform:translateY(-2px);
}

.view-bag-btn{
background:transparent;
border:1px solid rgba(0,0,0,0.15);
color:#111;
}

.view-bag-btn:hover{
background:#111;
color:#fff;
}

.empty-cart{
padding:100px 20px;
text-align:center;
}

.empty-cart h3{
font-size:18px;
letter-spacing:4px;
margin-bottom:20px;
font-weight:500;
}

.empty-cart p{
font-size:14px;
line-height:1.8;
color:#666;
}

/* =========================================================
TABLET
========================================================= */

@media(max-width:991px){

.hero-layout{
grid-template-columns:1fr;
padding:140px 30px 50px;
}

.hero-sidebar{
position:relative;
top:auto;
border-right:none;
padding:34px 24px;
box-shadow:none;
}

.hero-main{
height:55vh;
}

.category-content{
left:40px;
bottom:40px;
}

.category-content h1{
font-size:42px;
}

.products-page{
padding:0 30px 80px;
}

.products-grid{
grid-template-columns:repeat(2,1fr);
gap:60px 30px;
}

.product-image,
.product-info{
width:82%;
}

.slider-btn{
width:46px;
height:46px;
font-size:30px;
}

.slider-btn.prev{
left:-50px;
}

.slider-btn.next{
right:-50px;
}

}

/* =========================================================
MOBILE
========================================================= */

@media(max-width:576px){

.hero-layout{
padding:120px 20px 40px;
gap:30px;
}

.hero-sidebar{
padding:26px 20px;
}

.hero-main{
height:50vh;
}

.category-content{
left:24px;
bottom:24px;
max-width:90%;
}

.category-content h1{
font-size:32px;
letter-spacing:2px;
}

.category-content p{
font-size:14px;
line-height:1.7;
}

.products-page{
padding:0 20px 70px;
}

.products-toolbar{
padding:0 0 40px;
margin-bottom:40px;
}

.products-grid{
grid-template-columns:1fr;
gap:60px;
overflow:hidden;
}

.product-card{
overflow:visible;
}

.product-image{
width:78%;
padding:20px;
aspect-ratio:3/4.2;
}

.product-info{
padding-top:24px;
text-align:center;
width:78%;
margin:auto;
}

.product-info h3{
font-size:18px;
}

.product-info h4{
font-size:14px;
}

.slider-btn{
width:42px;
height:42px;
font-size:26px;
}

.slider-btn.prev{
left:-46px;
}

.slider-btn.next{
right:-46px;
}

.cart-drawer{
width:100%;
right:-100%;
}

.cart-drawer-items{
padding:20px;
}

.cart-drawer-footer{
padding:20px;
}

.cart-drawer .cart-item{
gap:14px;
}

.cart-drawer .cart-item img{
width:90px;
height:120px;
}

.luxury-bag-trigger{
font-size:11px;
letter-spacing:2px;
}

}
/* =========================================================
FINAL STABLE CART DRAWER SYSTEM
========================================================= */

.cart-overlay{
background:rgba(0,0,0,0.36);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
}

.cart-drawer{
height:100vh !important;
min-height:100vh !important;
display:flex !important;
flex-direction:column !important;
overflow:hidden !important;
background:linear-gradient(180deg,#fbfaf7 0%,#f3f0ea 100%);
box-shadow:-30px 0 90px rgba(0,0,0,0.22);
}

.cart-drawer-header{
flex:0 0 auto;
padding:34px 32px;
background:#fbfaf7;
border-bottom:1px solid rgba(0,0,0,0.08);
}

.cart-drawer-header h2{
font-family:'Cormorant Garamond',serif;
font-size:30px;
font-weight:500;
letter-spacing:2px;
}

.cart-drawer-items{
flex:1 1 auto !important;
min-height:0 !important;
overflow-y:auto !important;
padding:28px 32px 24px !important;
display:flex;
flex-direction:column;
gap:30px;
}

.cart-drawer-items::-webkit-scrollbar{
width:6px;
}

.cart-drawer-items::-webkit-scrollbar-track{
background:transparent;
}

.cart-drawer-items::-webkit-scrollbar-thumb{
background:rgba(0,0,0,0.22);
border-radius:20px;
}

.cart-drawer .cart-item{
background:#fff;
padding:18px;
border:1px solid rgba(0,0,0,0.06);
box-shadow:0 12px 35px rgba(0,0,0,0.04);
display:flex;
gap:18px;
align-items:flex-start;
position:relative;
}

.cart-drawer .cart-item img{
width:105px;
height:135px;
object-fit:contain;
padding:12px;
background:#f7f5f1;
}

.cart-drawer .cart-item-info{
gap:14px;
}

.cart-drawer .cart-item-info h4{
font-family:'Cormorant Garamond',serif;
font-size:20px;
line-height:1.25;
}

.cart-quantity{
margin-top:6px;
}

.cart-quantity button{
border-radius:50%;
background:#f5f3ef;
}

.cart-quantity button:hover{
background:#111;
color:#fff;
}

.remove-cart-item{
top:12px;
right:14px;
}

.cart-drawer-footer{
flex:0 0 auto !important;
padding:30px 32px 34px !important;
background:#fbfaf7;
border-top:1px solid rgba(0,0,0,0.08);
z-index:5;
}

.checkout-mini-btn{
background:#111;
color:#fff;
}

.view-bag-btn{
background:#fff;
}

@media(max-width:576px){

.cart-drawer-header{
padding:26px 22px;
}

.cart-drawer-items{
padding:22px 22px 20px !important;
gap:22px;
}

.cart-drawer-footer{
padding:22px !important;
}

.cart-drawer .cart-item img{
width:90px;
height:118px;
}

.cart-drawer .cart-item-info h4{
font-size:18px;
}

}
/* =========================================================
FINAL FIX - SMALL CART DRAWER BALANCE
========================================================= */

.cart-drawer-items{
flex:0 1 auto !important;
max-height:calc(100vh - 250px) !important;
overflow-y:auto !important;
}

.cart-drawer-footer{
margin-top:auto !important;
}

/* When cart has only one item, reduce empty space */
.cart-drawer-items:has(.cart-item:nth-child(1):last-child){
flex:0 0 auto !important;
max-height:none !important;
}

/* When cart has many items, allow scrolling */
.cart-drawer-items:has(.cart-item:nth-child(3)){
flex:1 1 auto !important;
max-height:none !important;
overflow-y:auto !important;
}
/* =========================================================
FINAL OVERRIDE - COMPACT CART DRAWER WITH SCROLL
========================================================= */

.cart-drawer{
height:100vh !important;
display:flex !important;
flex-direction:column !important;
overflow:hidden !important;
}

.cart-drawer-header{
flex:0 0 auto !important;
}

.cart-drawer-items{
flex:0 1 auto !important;
max-height:calc(100vh - 300px) !important;
overflow-y:auto !important;
padding:28px 32px 24px !important;
display:flex !important;
flex-direction:column !important;
gap:30px !important;
}

.cart-drawer-footer{
flex:0 0 auto !important;
margin-top:0 !important;
position:relative !important;
bottom:auto !important;
padding:30px 32px 34px !important;
}

/* scrollbar */
.cart-drawer-items::-webkit-scrollbar{
width:6px;
}

.cart-drawer-items::-webkit-scrollbar-thumb{
background:rgba(0,0,0,0.22);
border-radius:20px;
}

@media(max-width:576px){

.cart-drawer-items{
max-height:calc(100vh - 270px) !important;
padding:22px 22px 20px !important;
gap:22px !important;
}

.cart-drawer-footer{
padding:22px !important;
}

}
/* =========================================================
FINAL PRODUCT CARD IMAGE CONSISTENCY - 3x3 GRID
========================================================= */

.products-grid{
grid-template-columns:repeat(3,1fr);
gap:76px 42px;
max-width:1500px;
}

.product-card{
min-height:620px;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.product-link{
height:100%;
display:flex;
flex-direction:column;
}

.product-image{
width:82%;
aspect-ratio:3/4.2;
min-height:390px;
max-height:460px;
padding:34px;
background:#f7f5f1;
}

.product-image img{
width:100%;
height:100%;
object-fit:contain;
object-position:center;
}

.product-info{
width:82%;
min-height:145px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
padding:30px 0 20px;
}

.product-info h3{
min-height:44px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.product-info p{
min-height:44px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.product-info h4{
margin-top:auto;
}

/* Arrow alignment for 3-column cards */

.slider-btn.prev{
left:-58px;
}

.slider-btn.next{
right:-58px;
}

/* Tablet keeps 2 columns */

@media(max-width:991px){

.products-grid{
grid-template-columns:repeat(2,1fr);
gap:64px 30px;
}

.product-card{
min-height:590px;
}

.product-image{
width:82%;
min-height:360px;
max-height:430px;
}

.slider-btn.prev{
left:-46px;
}

.slider-btn.next{
right:-46px;
}

}

/* Mobile keeps 1 column */

@media(max-width:576px){

.products-grid{
grid-template-columns:1fr;
gap:60px;
}

.product-card{
min-height:auto;
}

.product-image{
width:78%;
min-height:330px;
max-height:390px;
padding:22px;
}

.product-info{
width:78%;
min-height:auto;
}

.product-info h3,
.product-info p{
min-height:auto;
}

.slider-btn.prev{
left:-42px;
}

.slider-btn.next{
right:-42px;
}

}
/* =========================================================
LUXURY COLOR SWATCHES
========================================================= */

.product-color-swatches{
display:flex;
justify-content:center;
align-items:center;
gap:10px;
margin-top:18px;
flex-wrap:wrap;
}

.color-swatch-btn{
width:18px;
height:18px;
border-radius:50%;
border:1px solid rgba(0,0,0,0.18);
cursor:pointer;
transition:
transform 0.3s ease,
box-shadow 0.3s ease,
border-color 0.3s ease;
position:relative;
}

.color-swatch-btn:hover{
transform:scale(1.18);
border-color:#111;
box-shadow:
0 0 0 4px rgba(0,0,0,0.06);
}

.color-swatch-btn.active{
border-color:#111;
box-shadow:
0 0 0 4px rgba(0,0,0,0.08);
}

.color-swatch-btn.soldout{
opacity:0.28;
pointer-events:none;
}

.color-swatch-btn.soldout::after{
content:"";
position:absolute;
top:50%;
left:-2px;
width:22px;
height:1px;
background:#111;
transform:rotate(-35deg);
}

@media(max-width:576px){

.product-color-swatches{
gap:9px;
margin-top:16px;
}

.color-swatch-btn{
width:16px;
height:16px;
}

}



/* =========================================================
FINAL CLEAN CATEGORY HERO SYSTEM
========================================================= */

/* Desktop */
@media(min-width:1101px){

.hero-layout{
display:grid !important;
grid-template-columns:280px minmax(0,1fr) !important;
gap:40px !important;
padding:176px 60px 60px !important;
background:#f5f3ef !important;
align-items:start !important;
}

.hero-sidebar{
display:block !important;
position:sticky !important;
top:136px !important;
}

.hero-main{
height:88vh !important;
min-height:760px !important;
max-height:none !important;
overflow:hidden !important;
}

.category-hero{
position:relative !important;
height:100% !important;
overflow:hidden !important;
}

.category-media{
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:absolute !important;
top:24px !important;
left:24px !important;
right:auto !important;
bottom:auto !important;
width:520px !important;
max-width:520px !important;
padding:0 34px 34px !important;
background:#fff !important;
box-shadow:0 18px 45px rgba(0,0,0,.12) !important;
z-index:5 !important;
}

.category-content h5{
display:inline-block !important;
background:#000 !important;
color:#fff !important;
padding:10px 18px !important;
margin:0 0 20px 0 !important;
font-size:10px !important;
letter-spacing:2px !important;
line-height:1.5 !important;
font-weight:700 !important;
text-transform:uppercase !important;
text-shadow:none !important;
}

.category-content h1{
font-size:40px !important;
line-height:1.05 !important;
font-weight:600 !important;
letter-spacing:1px !important;
color:#111 !important;
margin:0 0 18px 0 !important;
white-space:normal !important;
overflow-wrap:break-word !important;
text-shadow:none !important;
}

.category-content p{
font-size:15px !important;
line-height:1.7 !important;
font-weight:400 !important;
color:#333 !important;
margin:0 !important;
max-width:100% !important;
text-shadow:none !important;
}

}

/* Small desktop / tablet */
@media(min-width:769px) and (max-width:1100px){

.hero-layout{
display:grid !important;
grid-template-columns:260px minmax(0,1fr) !important;
gap:28px !important;
padding:150px 28px 44px !important;
background:#f5f3ef !important;
align-items:start !important;
}

.hero-sidebar{
display:block !important;
position:sticky !important;
top:120px !important;
}

.hero-main{
height:72vh !important;
min-height:580px !important;
overflow:hidden !important;
}

.category-hero{
position:relative !important;
height:100% !important;
overflow:hidden !important;
}

.category-media{
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:absolute !important;
top:22px !important;
left:22px !important;
width:420px !important;
max-width:calc(100% - 44px) !important;
padding:0 28px 28px !important;
background:#fff !important;
box-shadow:0 16px 38px rgba(0,0,0,.10) !important;
z-index:5 !important;
}

.category-content h1{
font-size:34px !important;
line-height:1.05 !important;
white-space:normal !important;
}

.category-content p{
font-size:14px !important;
line-height:1.65 !important;
}

}

/* Mobile */
@media(max-width:768px){

.hero-layout{
display:block !important;
padding:118px 20px 30px !important;
background:#f5f3ef !important;
}

.hero-sidebar{
display:none !important;
}

.hero-main{
height:auto !important;
min-height:0 !important;
max-height:none !important;
overflow:visible !important;
}

.category-hero{
display:flex !important;
flex-direction:column !important;
height:auto !important;
overflow:visible !important;
}

.category-media{
position:relative !important;
order:1 !important;
width:100% !important;
height:430px !important;
min-height:430px !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:relative !important;
order:2 !important;
top:auto !important;
left:auto !important;
right:auto !important;
bottom:auto !important;
width:100% !important;
max-width:100% !important;
padding:24px !important;
margin:0 !important;
background:#fff !important;
box-shadow:none !important;
}

.category-content h1{
font-size:30px !important;
line-height:1 !important;
white-space:normal !important;
}

.category-content p{
font-size:12.5px !important;
line-height:1.75 !important;
}

}



/* =========================================================
AURORA LUMA LUXURY SIDE MENU
========================================================= */

.luxury-side-menu{
display:flex;
flex-direction:column;
gap:0;
}

.luxury-side-item{
border-bottom:none;
padding-bottom:2px;
margin-bottom:2px;
}

.luxury-side-parent-row{
display:grid;
grid-template-columns:1fr 34px;
align-items:center;
gap:12px;
min-height:42px;
}

.luxury-side-parent-link{
font-size:15px;
font-weight:500;
letter-spacing:.2px;
color:#111;
line-height:1.4;
transition:.25s ease;
}

.luxury-side-parent-link:hover{
opacity:.65;
}

.luxury-side-toggle{
width:34px;
height:34px;
border:none;
background:transparent;
font-size:18px;
font-weight:300;
cursor:pointer;
color:#111;
}

.luxury-side-children{
display:none;
padding:4px 0 20px 28px;
flex-direction:column;
gap:13px;
}

.luxury-side-item.active .luxury-side-children{
display:flex;
}

.luxury-side-child-link{
font-size:13px;
font-weight:400;
padding-left:18px;
opacity:.75;
position:relative;
}
.luxury-side-child-link::before{
display:none;
}

.luxury-side-child-link:hover{
color:#111;
opacity:1;
}

@media(max-width:768px){

.luxury-side-parent-row{
min-height:50px;
}

.luxury-side-parent-link{
font-size:14px;
}

.luxury-side-child-link{
font-size:13px;
}

}
/* =========================================================
MOBILE HERO STORY BELOW IMAGE - FINAL
========================================================= */

@media(max-width:768px){

.hero-main{
height:auto !important;
min-height:0 !important;
max-height:none !important;
overflow:visible !important;
}

.category-hero{
height:auto !important;
display:flex !important;
flex-direction:column !important;
overflow:visible !important;
}

.category-media{
position:relative !important;
order:1 !important;
height:430px !important;
width:100% !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:relative !important;
order:2 !important;
top:auto !important;
left:auto !important;
right:auto !important;
bottom:auto !important;

width:auto !important;
max-width:none !important;

margin:0 !important;
padding:18px 24px 20px !important;

background:#ffffff !important;
box-shadow:none !important;
transform:none !important;
z-index:3 !important;
}

.category-content::before{
content:"STORY";
display:block;
background:#111;
color:#fff;
width:max-content;
padding:9px 18px;
margin:0 0 20px 0;
font-size:10px;
letter-spacing:3px;
font-weight:700;
}

.category-content::after{
display:none !important;
}

.category-content h5{
display:none !important;

}

.category-content h1{
font-size:28px !important;
line-height:.95 !important;
margin:0 0 14px 0 !important;
color:#111 !important;
}

.category-content p{
font-size:12px !important;
line-height:1.75 !important;
color:#333 !important;
max-width:100% !important;
}

}
/* =========================================================
MOBILE STORY SECTION LUXURY REFINEMENT
========================================================= */

@media(max-width:768px){

.category-content::before{
content:none !important;
display:none !important;
}

.category-content{
padding:24px 24px 26px !important;
}

.category-content h5{
display:block !important;
background:transparent !important;
color:#111 !important;

padding:0 !important;
margin:0 0 10px 0 !important;

font-size:10px !important;
letter-spacing:2px !important;
font-weight:600 !important;
line-height:1.6 !important;

text-transform:uppercase !important;

max-width:220px !important;
}

.category-content h5::after{
content:"";
display:block;
width:72px;
height:1px;
background:#111;
margin-top:14px;
}

.category-content h1{
font-size:30px !important;
line-height:.95 !important;
margin:0 0 16px 0 !important;
}

.category-content p{
font-size:12.5px !important;
line-height:1.75 !important;
}

}

/* =========================================================
FINAL MOBILE PRODUCT CARD FIX
========================================================= */

@media(max-width:768px){

.products-page{
padding:0 14px 70px !important;
}

.products-grid{
grid-template-columns:repeat(2,1fr) !important;
gap:18px 14px !important;
overflow:visible !important;
}

.product-card{
min-height:auto !important;
padding:10px !important;
display:block !important;
overflow:hidden !important;
}

.product-link{
height:auto !important;
display:block !important;
}

.product-image{
width:100% !important;
min-height:170px !important;
max-height:170px !important;
aspect-ratio:auto !important;
margin:0 auto !important;
padding:12px !important;
overflow:hidden !important;
}

.product-image img{
width:100% !important;
height:100% !important;
object-fit:contain !important;
}

.product-info{
width:100% !important;
min-height:auto !important;
padding:14px 4px 10px !important;
display:block !important;
text-align:center !important;
}

.product-info h3{
min-height:auto !important;
font-size:16px !important;
line-height:1.2 !important;
margin-bottom:8px !important;
display:block !important;
}

.product-info p{
display:none !important;
}

.product-info h4{
font-size:13px !important;
margin-top:8px !important;
}

.product-color-swatches{
justify-content:center !important;
margin-top:10px !important;
gap:7px !important;
}

.color-swatch-btn{
width:14px !important;
height:14px !important;
}

.slider-btn{
width:32px !important;
height:32px !important;
font-size:20px !important;
}

.slider-btn.prev{
left:4px !important;
}

.slider-btn.next{
right:4px !important;
}

}
/* =========================================================
FINAL MOBILE PRODUCT GRID EQUAL HEIGHT FIX
========================================================= */

@media(max-width:768px){

.product-card{
height:320px !important;
min-height:320px !important;
max-height:320px !important;
display:flex !important;
flex-direction:column !important;
}

.product-link{
height:100% !important;
display:flex !important;
flex-direction:column !important;
}

.product-image{
height:155px !important;
min-height:155px !important;
max-height:155px !important;
flex:0 0 155px !important;
}

.product-info{
height:145px !important;
min-height:145px !important;
max-height:145px !important;
padding:12px 4px 8px !important;
display:flex !important;
flex-direction:column !important;
justify-content:flex-start !important;
align-items:center !important;
overflow:visible !important;
}

.product-info h3{
height:42px !important;
min-height:42px !important;
max-height:42px !important;
overflow:hidden !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
font-size:16px !important;
line-height:1.25 !important;
margin:0 0 8px 0 !important;
}

.product-info h4{
height:20px !important;
min-height:20px !important;
line-height:20px !important;
margin:0 0 8px 0 !important;
}

.product-color-swatches{
display:flex !important;
justify-content:center !important;
align-items:center !important;
gap:7px !important;
margin-top:8px !important;
height:18px !important;
min-height:18px !important;
max-height:18px !important;
overflow:visible !important;
}

.color-swatch-btn{
display:block !important;
visibility:visible !important;
opacity:1 !important;
width:14px !important;
height:14px !important;
min-width:14px !important;
min-height:14px !important;
border-radius:50% !important;
border:1px solid rgba(0,0,0,.3) !important;
padding:0 !important;
flex:0 0 14px !important;
}

}
@media(max-width:768px){

.mobile-luxury-categories{
margin-top:12px !important;
margin-bottom:14px !important;
}

.mobile-utility-bar{
margin-top:0 !important;
margin-bottom:28px !important;
}

.mobile-luxury-categories a{
font-size:11px !important;
letter-spacing:2px !important;
}

}

@media(max-width:768px){

  .product-info{
    height:125px !important;
    min-height:125px !important;
    max-height:125px !important;
    overflow:visible !important;
  }

  .product-color-swatches{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:7px !important;
    height:18px !important;
    min-height:18px !important;
    margin:4px 0 8px !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .color-swatch-btn{
    display:block !important;
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
    border-radius:50% !important;
    padding:0 !important;
    opacity:1 !important;
    visibility:visible !important;
  }

}

/* =========================================================
FINAL MOBILE PRODUCT IMAGE BIGGER VIEW
========================================================= */

@media(max-width:768px){

  .product-card{
    height:350px !important;
    min-height:350px !important;
    max-height:350px !important;
  }

  .product-image{
    height:195px !important;
    min-height:195px !important;
    max-height:195px !important;
    flex:0 0 195px !important;
    padding:8px !important;
  }

  .product-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  .product-info{
    height:135px !important;
    min-height:135px !important;
    max-height:135px !important;
  }

}
/* =========================================================
FINAL MOBILE 1-COLUMN PRODUCT GRID
========================================================= */

@media(max-width:768px){

  .products-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
    max-width:430px !important;
    margin:0 auto !important;
  }

  .product-card{
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    padding:16px !important;
  }

  .product-image{
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
    flex:0 0 360px !important;
    padding:14px !important;
  }

  .product-info{
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    padding:18px 8px 10px !important;
  }

}
/* =========================================================
FINAL MOBILE HERO RESTORE
========================================================= */

@media(max-width:768px){

  .hero-layout{
    display:block !important;
    padding:118px 20px 30px !important;
  }

  .hero-main{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .category-hero{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .category-media{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:430px !important;
    min-height:430px !important;
    order:1 !important;
    background:#f3f1ed !important;
  }

  .category-media img,
  .category-media video{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .category-content{
    display:block !important;
    position:relative !important;
    order:2 !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    padding:24px !important;
    margin:0 !important;
    background:#fff !important;
  }

}
/* =========================================================
FINAL MOBILE PRODUCT DETAIL HERO IMAGE RESTORE
========================================================= */

@media(max-width:768px){

  .product-hero-image{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:430px !important;
    min-height:430px !important;
    order:1 !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#f3f1ed !important;
  }

  .category-hero:has(.product-hero-image){
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    overflow:visible !important;
  }

  .category-hero:has(.product-hero-image) .category-content{
    order:2 !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    padding:24px !important;
    margin:0 !important;
    background:#fff !important;
  }

}
/* =========================================================
FINAL DESKTOP PRODUCT HERO CARD FIX
========================================================= */

@media(min-width:769px){

  .category-hero:has(.product-hero-image) .category-content{

    top:0 !important;
    left:40px !important;

    width:620px !important;
    max-width:620px !important;

    padding:0 40px 40px !important;

    background:#fff !important;
    box-shadow:0 15px 35px rgba(0,0,0,.10) !important;
  }

  .category-hero:has(.product-hero-image) .category-content h5{
    display:inline-block !important;
    white-space:nowrap !important;
    max-width:none !important;
  }

  .category-hero:has(.product-hero-image) .category-content h1{
    font-size:58px !important;
    line-height:.95 !important;
    max-width:100% !important;
  }

}
/* =========================================================
FINAL MOBILE PRODUCT HERO TITLE ONE LINE
========================================================= */

@media(max-width:768px){

  .category-hero:has(.product-hero-image) .category-content h1{
    font-size:24px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    width:100% !important;
    max-width:none !important;
    letter-spacing:1px !important;
  }

}
/* =========================================================
FINAL MOBILE PRODUCT CARD 75/25 IMAGE INFO BALANCE
========================================================= */

@media(max-width:768px){

  .product-card{
    padding:14px !important;
  }

  .product-image{
    height:460px !important;
    min-height:460px !important;
    max-height:460px !important;
    flex:0 0 460px !important;
    padding:10px !important;
  }

  .product-info{
    padding:14px 8px 16px !important;
  }

  .product-info h3{
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    margin:0 0 8px !important;
    font-size:18px !important;
    line-height:1.2 !important;
  }

  .product-color-swatches{
    margin:4px 0 8px !important;
  }

  .product-info h4{
    margin:0 !important;
  }

}




/* =========================================================
FINAL PRODUCTS HERO RESPONSIVE STABILITY FIX
========================================================= */

/* DESKTOP ONLY */
@media(min-width:1100px){

.hero-layout{
display:grid !important;
grid-template-columns:280px minmax(0,1fr) !important;
gap:40px !important;
padding:176px 60px 60px !important;
align-items:start !important;
overflow:hidden !important;
}

.hero-main{
height:88vh !important;
min-height:760px !important;
max-height:none !important;
overflow:hidden !important;
}

.category-hero{
position:relative !important;
height:100% !important;
overflow:hidden !important;
}

.category-media{
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:absolute !important;
top:42px !important;
left:56px !important;
right:auto !important;
bottom:auto !important;

width:380px !important;
max-width:380px !important;

background:#fff !important;
padding:0 28px 28px !important;
box-shadow:0 18px 45px rgba(0,0,0,.12) !important;
z-index:5 !important;
}

.category-content h5{
display:inline-block !important;
background:#000 !important;
color:#fff !important;
padding:10px 18px !important;
margin:0 0 20px 0 !important;
font-size:10px !important;
letter-spacing:2px !important;
line-height:1.5 !important;
font-weight:700 !important;
text-transform:uppercase !important;
text-shadow:none !important;
}

.category-content h1{
font-size:40px !important;
line-height:1 !important;
font-weight:600 !important;
color:#111 !important;
margin:0 0 18px 0 !important;
text-shadow:none !important;
white-space:normal !important;
}

.category-content p{
font-size:15px !important;
line-height:1.7 !important;
font-weight:400 !important;
color:#333 !important;
margin:0 !important;
text-shadow:none !important;
}

}

/* TABLET / SMALL DESKTOP */
@media(min-width:769px) and (max-width:1099px){

.hero-layout{
display:block !important;
padding:140px 34px 44px !important;
overflow:hidden !important;
}

.hero-sidebar{
display:none !important;
}

.hero-main{
height:auto !important;
min-height:0 !important;
max-height:none !important;
overflow:visible !important;
}

.category-hero{
display:flex !important;
flex-direction:column !important;
height:auto !important;
overflow:visible !important;
}

.category-media{
position:relative !important;
width:100% !important;
height:620px !important;
min-height:620px !important;
order:1 !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:relative !important;
order:2 !important;
top:auto !important;
left:auto !important;
right:auto !important;
bottom:auto !important;
width:100% !important;
max-width:100% !important;
padding:28px 34px 34px !important;
margin:0 !important;
background:#fff !important;
box-shadow:none !important;
}

.category-content h1{
font-size:42px !important;
white-space:normal !important;
}

.category-content p{
font-size:15px !important;
max-width:680px !important;
}

}

/* MOBILE */
@media(max-width:768px){

.hero-layout{
display:block !important;
padding:118px 20px 30px !important;
overflow:hidden !important;
}

.hero-sidebar{
display:none !important;
}

.hero-main{
height:auto !important;
min-height:0 !important;
max-height:none !important;
overflow:visible !important;
}

.category-hero{
display:flex !important;
flex-direction:column !important;
height:auto !important;
overflow:visible !important;
}

.category-media{
position:relative !important;
width:100% !important;
height:430px !important;
min-height:430px !important;
order:1 !important;
}

.category-media img,
.category-media video{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

.category-content{
position:relative !important;
order:2 !important;
top:auto !important;
left:auto !important;
right:auto !important;
bottom:auto !important;
width:100% !important;
max-width:100% !important;
padding:24px !important;
margin:0 !important;
background:#fff !important;
box-shadow:none !important;
}

.category-content h1{
font-size:30px !important;
line-height:1 !important;
white-space:normal !important;
}

.category-content p{
font-size:12.5px !important;
line-height:1.75 !important;
}

}

/* =========================================================
FINAL FIX - CATEGORY HERO CARD TITLE OVERFLOW
========================================================= */

@media(min-width:1100px){

.category-content{
width:520px !important;
max-width:520px !important;
padding:0 34px 34px !important;
}

.category-content h1{
font-size:40px !important;
line-height:1.05 !important;
letter-spacing:1px !important;
white-space:normal !important;
overflow-wrap:break-word !important;
word-break:normal !important;
max-width:100% !important;
}

.category-content p{
font-size:15px !important;
line-height:1.7 !important;
max-width:100% !important;
}

}

@media(min-width:769px) and (max-width:1099px){

.category-content h1{
font-size:34px !important;
line-height:1.05 !important;
white-space:normal !important;
overflow-wrap:break-word !important;
max-width:100% !important;
}

}

/* =========================================================
FINAL OVERRIDE - DESKTOP CATEGORY STORY CARD POSITION
========================================================= */

@media(min-width:1100px){

  .hero-layout .hero-main .category-hero .category-content{
    top:24px !important;
    left:0 !important;
  }

}
/* =========================================================
FINAL TABLET PRODUCTS HERO FIX
========================================================= */

@media (min-width:769px) and (max-width:1200px){

.hero-layout{
display:grid !important;
grid-template-columns:260px minmax(0,1fr) !important;
gap:28px !important;
padding:150px 28px 44px !important;
overflow:hidden !important;
}

.hero-sidebar{
display:block !important;
position:sticky !important;
top:120px !important;
}

.hero-main{
height:auto !important;
min-height:0 !important;
max-height:none !important;
overflow:visible !important;
}

.category-hero{
display:flex !important;
flex-direction:column !important;
height:auto !important;
overflow:visible !important;
}

.category-media{
position:relative !important;
width:100% !important;
height:620px !important;
min-height:620px !important;
order:1 !important;
}

.category-content{
position:relative !important;
order:2 !important;
top:auto !important;
left:auto !important;
right:auto !important;
bottom:auto !important;
width:100% !important;
max-width:100% !important;
padding:28px 34px 34px !important;
margin:0 !important;
background:#fff !important;
box-shadow:none !important;
}

.category-content h1{
font-size:40px !important;
white-space:normal !important;
}

}

/* =====================================================
================================================= */

@media(min-width:769px){

  .category-hero:has(.product-hero-image){
    background:#f3eee6 !important;
  }

  .category-hero:has(.product-hero-image) .product-hero-image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    background-size:auto 100% !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#f3eee6 !important;
  }

}

/* =====================================================
FINAL PRODUCT DETAIL HERO IMAGE ALIGNMENT FIX
===================================================== */

@media(min-width:769px){

  body:has(.product-details) .hero-layout{
    grid-template-columns:280px minmax(0,1fr) !important;
    padding:120px 60px 40px !important;
    gap:40px !important;
  }

  body:has(.product-details) .hero-main{
    height:760px !important;
    min-height:760px !important;
    max-height:760px !important;
    background:#f3eee6 !important;
    overflow:hidden !important;
  }

  body:has(.product-details) .category-hero{
    height:100% !important;
    background:#f3eee6 !important;
    overflow:hidden !important;
  }

  body:has(.product-details) .product-hero-image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;

    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#f3eee6 !important;
  }

  body:has(.product-details) .category-content{
    top:0 !important;
    left:0 !important;
    width:520px !important;
    max-width:520px !important;
    padding:0 34px 34px !important;
  }

  body:has(.product-details) .category-content h1{
    font-size:52px !important;
    line-height:.95 !important;
  }

}

/* =====================================================
FINAL PRODUCT DETAIL HERO IMAGE ZOOM FIX
===================================================== */

@media(min-width:769px){

  body:has(.product-details) #productHeroImage{
    background-size:120% auto !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#f3eee6 !important;
  }

}

/* =====================================================
FINAL INDEX COLLECTION CARD GAP + MOBILE CONTENT FIX
ONLY HOME PAGE
===================================================== */

/* Desktop: remove bottom gaps on right-side collection images */
@media(min-width:769px){

  .collection-section,
  .collection-row{
    align-items:stretch !important;
  }

  .collection-card{
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .collection-card img,
  .collection-card video{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    margin:0 !important;
    padding:0 !important;
  }

}

/* Mobile: move collection text/button lower */
@media(max-width:768px){

  .collection-card{
    position:relative !important;
    min-height:280px !important;
    overflow:hidden !important;
  }

  .collection-card img,
  .collection-card video{
    height:100% !important;
    object-fit:cover !important;
  }

  .collection-card-content,
  .collection-content,
  .collection-overlay-content{
    position:absolute !important;
    top:auto !important;
    bottom:28px !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    padding:0 20px !important;
  }

  .collection-card h3{
    margin-bottom:14px !important;
  }

  .collection-card a,
  .collection-card button{
    margin-top:10px !important;
  }

}

/* =====================================================
FINAL MOBILE HOME COLLECTION CONTENT LOWER
===================================================== */
/* =====================================================
FINAL MOBILE HOME COLLECTION CONTENT LOWER
===================================================== */

@media(max-width:768px){

  .collection-card .collection-card-content,
  .collection-card .collection-content,
  .collection-card .collection-overlay-content,
  .collection-card-content,
  .collection-content,
  .collection-overlay-content{
    top:auto !important;
    bottom:46px !important;
    transform:none !important;
  }

  .collection-card h3{
    margin-bottom:18px !important;
  }

  .collection-card a,
  .collection-card button{
    margin-top:14px !important;
  }

}