@import url("./estedad-local.css");

/* Ganjizadeh Main Styles */
:root{
    --red:#7A0019;
    --gold:#D4AF37;
    --bg:#f5f5f5;
}

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

body{
    background:var(--bg);
}
/* TOP BAR */

.topbar{

    height:40px;

    padding:0 40px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:linear-gradient(90deg,#5b0017,#7b1225);

    color:#f7e4b2;

    font-size:14px;

    border-bottom:1px solid rgba(212,175,55,.35);

}

.top-left,
.top-center,
.top-right{

    display:flex;

    align-items:center;

    gap:8px;

    font-weight:500;

}

.top-left,
.top-center,
.top-right{

display:flex;

align-items:center;

gap:8px;

}

/* LOGO */

.logo{

display:flex;

align-items:center;

gap:12px;

}

.diamond{

width:42px;

height:42px;

border:2px solid #D4AF37;

border-radius:8px;

display:flex;

align-items:center;

justify-content:center;

color:#D4AF37;

font-size:22px;

transform:rotate(45deg);

}

.diamond{

font-weight:bold;

}

.logo h1{

font-size:34px;

color:#7A0019;

}

.logo span{

display:block;

font-size:12px;

letter-spacing:2px;

color:#D4AF37;

}


/* HEADER */
header::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(255,255,255,.12),
        rgba(255,255,255,.02)
    );

    pointer-events:none;

}

header{

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(22px);

    -webkit-backdrop-filter:blur(22px);

    height:78px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;

    padding:0 35px;

    position:sticky;

    top:42px;

    z-index:9999;

    border-bottom:1px solid rgba(255,255,255,.18);

    box-shadow:0 8px 30px rgba(0,0,0,.08);

    overflow:visible;

}
.logo{
    display:flex;
    justify-content:center;
    align-items:center;
}

.logo-img{
    width:68px;
    height:auto;
    display:block;
}


nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:28px;
}

nav a{
    text-decoration:none;
    color:#222;
text-shadow:0 1px 3px rgba(255,255,255,.8);
    font-size:16px;
    font-weight:700;
    padding:10px 0;
    position:relative;
    transition:.3s;
}

nav a:hover{
    color:#7A0019;
}

nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:3px;
    background:#D4AF37;
    transition:.3s;
}

nav a:hover::after{
    width:100%;
}

.header-actions{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:8px;

    flex-wrap:nowrap;

    white-space:nowrap;

}

.call-btn{

    background:rgba(255,255,255,.35);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    color:#7A0019;
    border:1px solid rgba(255,255,255,.4);
    border-radius:30px;

    padding:10px 16px;

    font-size:14px;

    white-space:nowrap;

    text-decoration:none;
    font-weight:700;
    transition:.3s;

}

.call-btn:hover{
    background:#D4AF37;
    color:#ffffff;
}

.ai-btn{

    background:rgba(122,0,25,.82);
    backdrop-filter:blur(10px);

    color:#ffffff;
    border:none;
    border-radius:30px;

    padding:10px 16px;

    font-size:14px;

    white-space:nowrap;

    text-decoration:none;
    font-weight:700;
    box-shadow:0 8px 18px rgba(122,0,25,.18);
    transition:.3s;

}

.ai-btn:hover{
    background:#94001f;
    transform:translateY(-2px);
}
/* HERO */

.hero{

    direction:ltr;

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:100px;

    padding:80px 70px 40px;

    min-height:720px;

    background:linear-gradient(135deg,#fffdf9 0%,#ffffff 100%);

padding-bottom:120px;

overflow:hidden;

}

.hero-content{

    

    direction:rtl;

    position:relative;

    z-index:2;

    max-width:700px;

}


.hero-content h1{

    font-size:66px;

    line-height:1.4;

    color:#222;

    margin-bottom:35px;

    letter-spacing:1px;

    font-weight:800;

}

.hero-content h1 span{
    color:#D4AF37;
}

.hero-content p{

    font-size:22px;

  line-height:2;

    color:#666;

   margin-bottom:55px;

    max-width:620px;

}

.hero-buttons{
    display:flex;
    gap:20px;
    margin-top:15px;
    flex-wrap:wrap;
}

.hero-image{
   
    display:flex;
justify-content:flex-start;
    align-items:center;
}

.hero-image img{
    object-fit:cover;
aspect-ratio:4/5;
    width:100%;
    max-width:720px;
    border-radius:32px;
    border:2px solid rgba(212,175,55,.25);
    box-shadow:0 30px 70px rgba(0,0,0,.18);
    filter:brightness(1.02);
transform:perspective(1400px) rotateY(-4deg);
transform-origin:center;
will-change:transform;

   transition:
opacity .8s ease,
transform .8s ease,
filter .8s ease;

    opacity:1;
}

.hero-image img.fade{
    opacity:0;
}

.hero-image img.show{

opacity:1;

filter:brightness(1);

transform:perspective(1400px) rotateY(-4deg);

}

.start-btn,
.project-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 34px;
    border-radius:50px;
    font-size:17px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.start-btn{
    background:#7A0019;
    color:#fff;
}

.start-btn:hover{
    background:#D4AF37;
    color:#fff;
}

.project-btn{
    border:2px solid #D4AF37;
    color:#7A0019;
    background:#fff;
}

.project-btn:hover{
    background:#D4AF37;
    color:#fff;
}

.hero-image img:hover{
    transform:perspective(1400px) rotateY(-1deg) scale(1.04);
    box-shadow:0 45px 100px rgba(0,0,0,.25);
}

.hero-info{
    direction:rtl;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin-top:-70px;
    padding:0 70px 40px;
    position:relative;
    z-index:5;
}

.info-card{
    background:#fff;
    border-radius:22px;
    padding:30px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s;
    border:1px solid #eee;
}

.info-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 60px rgba(0,0,0,.15);
}

.info-card h3{
    font-size:42px;
    color:#7A0019;
    margin-bottom:12px;
}

.info-card p{
    color:#666;
    line-height:2;
}

.hero-card{
    background:#fff;
    border-radius:24px;
    padding:32px 20px;
    text-align:center;
    box-shadow:0 20px 45px rgba(0,0,0,.10);
    transition:.35s;
}

.hero-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 60px rgba(0,0,0,.16);
}

.hero-card h3{
  color:#7A0019;
font-size:46px;
font-weight:900;
    margin-bottom:10px;
}

.hero-card p{
   color:#666;
font-size:17px;
margin-top:8px;
}

@keyframes heroFloat{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0px);
}

}

.hero-image{
animation:heroFloat 6s ease-in-out infinite;
}

/* PRODUCTS */
.products{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    padding:40px;
}

.card{
    overflow:hidden;

cursor:pointer;
    background:#fff;
    padding:28px;
    border-radius:22px;
    text-align:center;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    border:1px solid #f2f2f2;
    transition:all .35s ease;
    overflow:hidden;
}

.card:hover{
    border-color:#D4AF37;
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.18);
}

.card img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:16px;
    margin-bottom:18px;
    transition:transform .4s ease;
}

.card:hover img{
    transform:scale(1.05);
}

.card h3{
    color:var(--red);
    margin-bottom:10px;
}

/* WHY */
.why{
    background:white;
    padding:40px;
    text-align:center;
}

.why h2{
    color:var(--red);
    margin-bottom:20px;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:20px;
}

.box{
    background:#fff8dc;
    padding:20px;
    border-radius:15px;
}

/* CHAT BUTTON */
#chatBtn{
    position:fixed;
    bottom:20px;
    right:20px;
    background:var(--red);
    color:white;
    border:none;
    padding:15px;
    border-radius:50%;
    cursor:pointer;
    font-size:18px;
}

/* CHAT BOX */
#chatBox{
    position:fixed;
    bottom:80px;
    right:20px;
    width:320px;
    height:420px;
    background:white;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
    display:none;
    flex-direction:column;
    overflow:hidden;
}

#messages{
    flex:1;
    padding:10px;
    overflow-y:auto;
}

.msg{
    margin:8px 0;
    padding:10px;
    border-radius:10px;
    font-size:14px;
    line-height:1.6;
}

.user{
    background:var(--red);
    color:white;
    text-align:right;
}

.bot{
    background:#fff8dc;
    border:1px solid var(--gold);
}

#inputBox{
    display:flex;
    border-top:1px solid #ddd;
}

#inputBox input{
    flex:1;
    padding:10px;
    border:none;
    outline:none;
}

#inputBox button{
    background:var(--red);
    color:white;
    border:none;
    padding:10px 15px;
    cursor:pointer;
}

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

footer{
    background:#4b0813;
    color:#fff;
    margin-top:100px;
    border-top:4px solid #D4AF37;
}

.footer-container{
    max-width:1400px;
    margin:auto;
    padding:70px 50px;
}

.footer-top{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:40px;
    align-items:center;
}

.footer-box{
    text-align:center;
}

.footer-box h3{
    color:#fff;
    font-size:34px;
    margin-bottom:25px;
}

.footer-box p{
    color:#f2f2f2;
    line-height:2.2;
    font-size:18px;
}

.footer-logo{

    width:220px;

    display:block;

    margin:auto;

}

.footer-divider{

    width:100%;

    height:1px;

    background:rgba(212,175,55,.35);

    margin:55px 0;

}

.footer-law{

    text-align:center;

}

.footer-law h2{

    color:#D4AF37;

    margin-bottom:30px;

    font-size:36px;

}

.footer-law p{

    max-width:1100px;

    margin:auto;

    line-height:2.5;

    color:#eee;

    font-size:18px;

}

.footer-bottom{

    margin-top:60px;

    border-top:1px solid rgba(212,175,55,.3);

    padding-top:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.footer-bottom p{

    color:#D4AF37;

    font-size:18px;

}

.socials{

    display:flex;

    gap:18px;

}

.socials a{

    width:48px;

    height:48px;

    border:1px solid #D4AF37;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    color:#D4AF37;

    font-size:22px;

    transition:.35s;

}

.socials a:hover{

    background:#D4AF37;

    color:#4b0813;

}

#customerMenu{

    position:relative;

}

#customerDropdown{

    top:55px;

    right:0;

}

#cartCounter{

    min-width:70px;

    text-align:center;

}

#customerMenu{

    position:relative;

}

#customerDropdown{

    position:absolute;

    top:55px;

    right:0;

    display:none;

    background:#fff;

    border-radius:12px;

    min-width:220px;

    padding:15px;

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

}

#customerDropdown a{

    display:block;

    text-decoration:none;

    color:#333;

    padding:10px;

    border-radius:8px;

    transition:.25s;

}

#customerDropdown a:hover{

    background:#f5f5f5;

}

#cartCounter{

    min-width:80px;

    text-align:center;

}

.admin-layout{

display:flex;

min-height:100vh;

direction:rtl;

background:#f5f6fa;

}

.sidebar{

width:260px;

background:#181824;

color:white;

padding:25px;

}

.sidebar h2{

color:#D4AF37;

text-align:center;

margin-bottom:30px;

}

.sidebar ul{

list-style:none;

padding:0;

}

.sidebar li{

padding:14px;

margin-bottom:8px;

border-radius:10px;

cursor:pointer;

transition:.3s;

}

.sidebar li:hover{

background:#7A0019;

}

.admin-content{

flex:1;

padding:40px;

background:#f5f6fa;

overflow:auto;

}

.admin-card{

background:white;

border-radius:18px;

padding:30px;

margin-bottom:30px;

box-shadow:0 8px 30px rgba(0,0,0,.08);

}
.page-header{

    background:#fff;

    padding:25px 35px;

    border-radius:18px;

    margin-bottom:30px;

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

}

.page-header h1{

    font-size:34px;

    color:#222;

    margin-bottom:8px;

}

.page-header p{

    color:#777;

    font-size:15px;

}
.main-content{

    flex:1;

    padding:35px;

}
.admin-card{

    background:#fff;

    padding:30px;

    border-radius:20px;

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

    margin-bottom:30px;

}
/*========== ADMIN FORM ==========*/

.admin-card{

    background:#fff;

    border-radius:20px;

    padding:35px;

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

    margin-bottom:35px;

}

.card-title{

    color:#7A0019;

    font-size:30px;

    margin-bottom:30px;

}

.form-group{

    display:flex;

    flex-direction:column;

    margin-bottom:22px;

}

.form-group label{

    font-size:15px;

    font-weight:bold;

    color:#555;

    margin-bottom:8px;

}

.form-group input,

.form-group textarea{

    width:100%;

    padding:14px 18px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:15px;

    transition:.3s;

    outline:none;

}

.form-group textarea{

    resize:vertical;

    min-height:150px;

}

.form-group input:focus,

.form-group textarea:focus{

    border-color:#D4AF37;

    box-shadow:0 0 10px rgba(212,175,55,.30);

}

.save-btn{

    background:#7A0019;

    color:white;

    border:none;

    border-radius:12px;

    padding:14px 30px;

    font-size:16px;

    cursor:pointer;

    transition:.3s;

}

.save-btn:hover{

    background:#950020;

}
/*========== Product Cards ==========*/

#productsList{

display:grid;

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

gap:25px;

margin-top:30px;

}

.product-card{

background:#fff;

border-radius:18px;

padding:20px;

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

transition:.3s;

}

.product-card:hover{

transform:translateY(-6px);

}

.product-image{

width:100%;

height:220px;

object-fit:cover;

border-radius:14px;

margin-bottom:18px;

}

.product-card h3{

color:#7A0019;

font-size:24px;

margin-bottom:12px;

}

.price{

color:#D4AF37;

font-size:20px;

font-weight:bold;

margin-bottom:10px;

}

.description{

color:#666;

line-height:1.9;

margin-bottom:20px;

}

.product-actions{

display:flex;

gap:12px;

}

.edit-btn,

.delete-btn{

flex:1;

border:none;

padding:12px;

border-radius:10px;

cursor:pointer;

font-weight:bold;

}

.edit-btn{

background:#D4AF37;

color:white;

}

.delete-btn{

background:#7A0019;

color:white;

}
/*========== Orders ==========*/

#ordersList{

display:grid;

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

gap:25px;

margin-top:30px;

}

.order-card{

background:#fff;

padding:25px;

border-radius:18px;

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

transition:.3s;

}

.order-card:hover{

transform:translateY(-6px);

}

.order-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.order-header h3{

color:#7A0019;

font-size:22px;

}

.status{

background:#D4AF37;

padding:8px 14px;

border-radius:30px;

color:white;

font-size:13px;

font-weight:bold;

}

.order-card p{

margin:10px 0;

line-height:2;

color:#555;

}

.status-select{

width:100%;

padding:12px;

margin-top:10px;

border-radius:10px;

border:1px solid #ddd;

}

.dashboard-grid{

display:grid;

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

gap:20px;

margin-bottom:35px;

}

.dashboard-card{

background:white;

border-radius:16px;

padding:25px;

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

text-align:center;

transition:.25s;

}

.dashboard-card:hover{

transform:translateY(-6px);

}

.dashboard-card h3{

margin-bottom:15px;

font-size:17px;

color:#777;

}

.dashboard-card h1{

font-size:38px;

color:#8b0d23;

}

.dashboard-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

gap:20px;

margin:30px 0;

}

.dashboard-card{

background:#fff;

border-radius:18px;

padding:30px;

text-align:center;

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

transition:.25s;

}

.dashboard-card:hover{

transform:translateY(-6px);

}

.dashboard-card span{

font-size:42px;

display:block;

margin-bottom:15px;

}

.dashboard-card h3{

margin:0;

font-size:18px;

color:#777;

}

.dashboard-card h1{

margin-top:15px;

font-size:40px;

color:#8b0d23;

font-weight:700;

}

.sidebar li{

cursor:pointer;

transition:.25s;

}

.sidebar li:hover{

background:#8b0d23;

color:#fff;

padding-right:18px;

border-radius:10px;

}

.sidebar li.active{

background:#8b0d23;

color:#fff;

border-radius:10px;

padding-right:18px;

font-weight:bold;

}

.customer-card{

display:flex;

justify-content:space-between;

align-items:center;

padding:18px;

background:#fff;

border-radius:12px;

margin-bottom:15px;

box-shadow:0 4px 15px rgba(0,0,0,.08);

}

.customer-actions button{

background:#7b1225;

color:#fff;

border:none;

padding:10px 18px;

border-radius:8px;

cursor:pointer;

}

.customer-detail-card{

background:#fff;

padding:25px;

margin-top:25px;

border-radius:15px;

box-shadow:0 5px 18px rgba(0,0,0,.08);

}

.order-mini{

margin-top:15px;

padding:12px;

border:1px solid #eee;

border-radius:10px;

background:#fafafa;

}

#brandsSection input{

width:100%;

padding:12px;

border:1px solid #ddd;

border-radius:10px;

margin-bottom:15px;

}

#brandPanelBox{

background:#f8f8f8;

padding:15px;

border-radius:12px;

margin-bottom:20px;

}

#brandPanelBox button{

margin-top:10px;

background:#7b1225;

color:#fff;

border:none;

padding:10px 18px;

border-radius:8px;

cursor:pointer;

}

#sliderList{

display:grid;

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

gap:20px;

margin-top:25px;

}

#sliderList .customer-card{

padding:15px;

text-align:center;

}

#sliderList img{

width:100%;

height:180px;

object-fit:cover;

border-radius:12px;

margin-bottom:12px;

}

:root{

--primary-color:#7b1225;

--button-color:#7b1225;

--background-color:#ffffff;

--text-color:#222222;

}

body{

background:var(--background-color);

color:var(--text-color);

}

.call-btn,
.start-btn,
.project-btn,
.save-btn{

background:var(--button-color);

}

.logo,
.hero span,
.footer-law h2{

color:var(--primary-color);

}

.products-section{

padding:30px 70px 10px;

}

.products-section h2{

font-size:42px;

color:#7A0019;

margin-bottom:30px;

text-align:center;

}

.products-filter{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin-bottom:35px;

}

.filter-btn{

background:#fff;

border:2px solid #D4AF37;

color:#7A0019;

padding:12px 24px;

border-radius:40px;

font-size:16px;

font-weight:bold;

cursor:pointer;

transition:.3s;

}

.filter-btn:hover,

.filter-btn.active{

background:#7A0019;

color:#fff;

border-color:#7A0019;

}

.products-search{

display:flex;

justify-content:center;

margin-bottom:35px;

}

#productSearch{

width:100%;

max-width:520px;

padding:16px 22px;

border:2px solid #e6e6e6;

border-radius:50px;

font-size:16px;

outline:none;

transition:.3s;

}

#productSearch:focus{

border-color:#D4AF37;

box-shadow:0 0 20px rgba(212,175,55,.18);

}

.product-category{

display:inline-block;

background:#f7efe0;

color:#7A0019;

padding:6px 14px;

border-radius:30px;

font-size:13px;

font-weight:bold;

margin-bottom:15px;

}

.product-brand{

margin:15px 0;

color:#777;

font-size:15px;

}

.product-price{

font-size:28px;

font-weight:bold;

color:#7A0019;

margin:18px 0;

}

.product-price span{

font-size:15px;

color:#888;

margin-right:6px;

}

.product-buttons{

display:flex;

gap:12px;

margin-top:20px;

}

.product-buttons button{

flex:1;

background:#7A0019;

color:#fff;

border:none;

padding:14px;

border-radius:12px;

cursor:pointer;

font-weight:bold;

transition:.3s;

}

.product-buttons button:hover{

background:#D4AF37;

}

.product-buttons a{

flex:1;

text-align:center;

background:#fff;

border:2px solid #D4AF37;

color:#7A0019;

text-decoration:none;

padding:12px;

border-radius:12px;

font-weight:bold;

transition:.3s;

}

.product-buttons a:hover{

background:#D4AF37;

color:#fff;

}

.product-image-box{

position:relative;

overflow:hidden;

border-radius:18px;

margin-bottom:18px;

}

.product-image-box img{

width:100%;

height:260px;

object-fit:cover;

transition:.45s;

display:block;

}

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

transform:scale(1.08);

}

.product-badge{

position:absolute;

top:14px;

right:14px;

background:#D4AF37;

color:#fff;

padding:8px 14px;

border-radius:30px;

font-size:13px;

font-weight:bold;

box-shadow:0 8px 20px rgba(0,0,0,.15);

}

.product-slider{

transition:opacity .45s ease;

opacity:1;

}

.product-slider.fade{

opacity:.25;

}

/* =========================
   PRODUCT PAGE
========================= */

.product-page{

    max-width:1400px;

    margin:70px auto;

    padding:40px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.product-gallery{

    background:#fff;

    border-radius:28px;

    padding:25px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.product-gallery img{

    width:100%;

    border-radius:20px;

    display:block;

}

.product-info{

    text-align:right;

}

.product-tag{

    display:inline-block;

    background:#f5ecd6;

    color:#7A0019;

    padding:8px 18px;

    border-radius:30px;

    font-weight:bold;

    margin-bottom:20px;

}

.product-info h1{

font-size:56px;

font-weight:900;

line-height:1.45;

color:#181818;

margin:15px 0 25px;

}

.brand{

    color:#777;

    font-size:18px;

    margin-bottom:12px;

}

.price{

font-size:52px;

font-weight:900;

color:#7A0019;

margin:25px 0;

}

.product-meta{

display:flex;

align-items:center;

gap:18px;

flex-wrap:wrap;

margin-bottom:30px;

}

.brand{

background:#fafafa;

padding:10px 18px;

border-radius:30px;

font-size:16px;

font-weight:bold;

color:#555;

}

.product-info p{

    font-size:18px;

    color:#666;

    line-height:2.2;

    margin-bottom:40px;

}

.product-actions{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.product-actions button{

    flex:1;

    background:#7A0019;

    color:#fff;

    border:none;

    border-radius:14px;

    padding:18px;

    font-size:18px;

    cursor:pointer;

    transition:.3s;

}

.product-actions button:hover{

    background:#D4AF37;

}

.product-actions a{

    flex:1;

    text-align:center;

    text-decoration:none;

    border:2px solid #D4AF37;

    color:#7A0019;

    border-radius:14px;

    padding:18px;

    font-size:18px;

    font-weight:bold;

    transition:.3s;

}

.product-actions a:hover{

    background:#D4AF37;

    color:#fff;

}

@media(max-width:900px){

.product-page{

grid-template-columns:1fr;

gap:35px;

}

.product-info h1{

font-size:34px;

}

.price{

font-size:32px;

}

}

.product-thumbs{

display:flex;

gap:15px;

margin-top:20px;

justify-content:center;

flex-wrap:wrap;

}

.thumb{

width:90px;

height:90px;

object-fit:cover;

border-radius:12px;

cursor:pointer;

border:2px solid #ddd;

transition:.25s;

}

.thumb:hover{

border-color:#7A0019;

transform:scale(1.05);

}

.product-thumbs{

display:flex;

gap:15px;

margin-top:20px;

justify-content:center;

flex-wrap:wrap;

}

.thumb{

width:90px;

height:90px;

object-fit:cover;

border-radius:12px;

cursor:pointer;

border:2px solid #ddd;

transition:.25s;

}

.thumb:hover{

border-color:#7A0019;

transform:scale(1.05);

}

.product-specs{

width:100%;

border-collapse:collapse;

margin:35px 0;

background:#fff;

border-radius:16px;

overflow:hidden;

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

}

.product-specs td{

padding:14px 18px;

border-bottom:1px solid #eee;

}

.product-specs td:first-child{

font-weight:bold;

background:#fafafa;

width:180px;

}

.product-specs tr:last-child td{

border-bottom:none;

}

#productFeatures{

margin:20px 0 35px;

padding-right:22px;

line-height:2.2;

}

#productFeatures li{

margin-bottom:8px;

}

/* ===== PRODUCT PAGE FINAL STYLE ===== */

.product-page{
    max-width:1200px;
    margin:50px auto;
    padding:30px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:50px;
    align-items:start;
}


.product-gallery{
    background:#fff;
    padding:25px;
    border-radius:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}


.product-gallery > img{
    width:100%;
    max-height:520px;
    object-fit:contain;
    border-radius:20px;
}


.product-thumbs{
    margin-top:20px;
}


.thumb{
    width:80px;
    height:80px;
}


.product-info{
    background:#fff;
    padding:35px;
    border-radius:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}


.product-info h1{
    font-size:38px;
    line-height:1.6;
}


.product-meta{
    margin-top:20px;
}


.price{
    font-size:34px;
}


.product-actions button,
.product-actions a{
    min-height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
}


.product-specs{
    margin-top:25px;
}


@media(max-width:900px){

.product-page{
    grid-template-columns:1fr;
}

.product-info h1{
    font-size:30px;
}

}

/* ============================================================
   Main storefront — warm, mobile-first visual system (Phase 0.8B)
   ============================================================ */
:root{
    --font-body:"Estedad", Tahoma, Arial, sans-serif;
    --font-heading:"Estedad", Tahoma, Arial, sans-serif;
    --font-ui:"Estedad", Tahoma, Arial, sans-serif;
    --store-bg:#fffaf4;
    --store-surface:#ffffff;
    --store-surface-soft:#f8f0e7;
    --store-text:#2d2926;
    --store-muted:#756b64;
    --store-brand:#7a1631;
    --store-brand-dark:#5d0f25;
    --store-clay:#bc7156;
    --store-support:#4d7d6f;
    --store-border:#eadfd5;
    --store-radius:20px;
    --store-shadow:0 12px 34px rgba(76,48,32,.09);
    --store-shadow-hover:0 18px 42px rgba(76,48,32,.14);
    --store-space:clamp(16px, 3vw, 48px);
}

html{scroll-behavior:smooth;}
body{
    min-width:0;
    background:color-mix(in srgb, var(--store-tint, #fffaf4) 8%, #fffaf4);
    color:var(--store-text);
    font-family:var(--font-body);
    line-height:1.75;
}
body *, body *::before, body *::after{box-sizing:border-box;}
body *{font-family:var(--font-body);}
img{max-width:100%;}
button,input{font-family:var(--font-ui);}
button{cursor:pointer;}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.skip-link{
    position:fixed;
    top:10px;
    right:10px;
    z-index:10000;
    transform:translateY(-160%);
    padding:10px 14px;
    border-radius:10px;
    background:var(--store-brand);
    color:#fff;
    text-decoration:none;
}
.skip-link:focus{transform:translateY(0);}
:where(a,button,input,select,textarea):focus-visible{
    outline:3px solid #d69045;
    outline-offset:3px;
}

.topbar{
    min-height:36px;
    height:auto;
    padding:8px var(--store-space);
    gap:10px 20px;
    background:#f4e7da;
    color:#5c3f32;
    border:0;
    font-size:12px;
}
.topbar span{min-width:0;}

.storefront-header{
    position:sticky;
    top:0;
    z-index:1000;
    width:100%;
    min-height:76px;
    height:auto;
    padding:12px var(--store-space);
    display:grid;
    grid-template-columns:minmax(148px,176px) minmax(0,1fr) minmax(280px,460px) auto;
    gap:16px;
    align-items:center;
    background:rgba(255,250,244,.96);
    border-bottom:1px solid var(--store-border);
    box-shadow:0 6px 20px rgba(76,48,32,.06);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
header::before{display:none;}
.logo{display:flex;align-items:center;justify-content:center;min-width:0;}
.logo-img{width:clamp(150px,11vw,180px);height:auto;max-height:168px;object-fit:contain;}
.storefront-header nav{display:flex;align-items:center;justify-content:flex-start;gap:clamp(12px,2vw,25px);min-width:0;}
.storefront-header nav a{
    padding:8px 0;
    color:var(--store-text);
    font-family:var(--font-ui);
    font-size:15px;
    font-weight:600;
    text-shadow:none;
}
.storefront-header nav a::after{bottom:0;height:2px;background:var(--store-brand);}
.storefront-header nav a:hover{color:var(--store-brand);}
.header-search{position:relative;min-width:0;}
#productSearch{
    width:100%;
    max-width:none;
    min-height:44px;
    padding:10px 16px;
    border:1px solid var(--store-border);
    border-radius:14px;
    background:#fff;
    color:var(--store-text);
    font-size:16px;
    box-shadow:none;
}
#productSearch:focus{border-color:var(--store-clay);box-shadow:0 0 0 4px rgba(188,113,86,.12);}
.header-actions{gap:8px;min-width:0;}
.call-btn,.cart-button,.ai-btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    padding:9px 12px;
    text-decoration:none;
    font-family:var(--font-ui);
    font-size:14px;
    font-weight:650;
    white-space:nowrap;
}
.call-btn{background:#fff;color:var(--store-brand);border:1px solid var(--store-border);box-shadow:none;}
.call-btn:hover{background:var(--store-surface-soft);color:var(--store-brand);}
.ai-btn{background:var(--store-brand);color:#fff;border:1px solid var(--store-brand);box-shadow:none;}
.ai-btn:hover{background:var(--store-brand-dark);transform:none;}
.cart-button{gap:5px;background:var(--store-surface-soft);color:var(--store-brand);border:1px solid var(--store-border);}
.cart-button:hover{background:#f2e3d7;color:var(--store-brand);}
.customer-menu{position:relative;}
.customer-dropdown{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    z-index:1100;
    min-width:170px;
    padding:8px;
    display:grid;
    gap:3px;
    background:#fff;
    border:1px solid var(--store-border);
    border-radius:14px;
    box-shadow:var(--store-shadow);
}
.customer-dropdown[hidden]{display:none;}
#customerDropdown:not([hidden]){display:grid;}
.customer-dropdown a,.customer-dropdown button{
    padding:10px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--store-text);
    text-align:right;
    text-decoration:none;
}
.customer-dropdown a:hover,.customer-dropdown button:hover{background:var(--store-surface-soft);}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--store-border);border-radius:12px;background:#fff;}
.menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:var(--store-brand);border-radius:2px;}

.hero{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    align-items:center;
    gap:clamp(28px,5vw,80px);
    min-height:0;
    padding:clamp(32px,6vw,88px) var(--store-space) clamp(32px,5vw,72px);
    background:linear-gradient(180deg,#fffaf4 0%,#fff6ee 100%);
    overflow:visible;
}
.hero-copy{direction:rtl;max-width:600px;position:static;}
.eyebrow{margin:0 0 10px;color:var(--store-clay);font-family:var(--font-ui);font-size:14px;font-weight:700;letter-spacing:.01em;}
.hero-copy h1{
    margin:0 0 18px;
    color:var(--store-text);
    font-family:var(--font-heading);
    font-size:clamp(38px,5vw,64px);
    line-height:1.3;
    letter-spacing:-.025em;
    font-weight:700;
    text-shadow:0 1px 0 rgba(255,255,255,.68),0 8px 24px rgba(55,25,18,.08);
}
.hero-copy h1 span{color:inherit;}
.hero-copy > p:not(.eyebrow){margin:0;max-width:50ch;color:var(--store-muted);font-size:clamp(16px,1.6vw,20px);line-height:2.05;}
.hero-buttons{gap:12px;margin-top:28px;}
.start-btn,.project-btn{
    min-height:48px;
    padding:12px 20px;
    border-radius:14px;
    font-family:var(--font-ui);
    font-size:16px;
    font-weight:650;
}
.start-btn{background:var(--store-brand);color:#fff;}
.start-btn:hover{background:var(--store-brand-dark);}
.project-btn{background:#fff;color:var(--store-brand);border:1px solid var(--store-border);}
.project-btn:hover{background:var(--store-surface-soft);color:var(--store-brand);}
.hero-media{position:relative;min-width:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--store-radius);background:#eee1d4;box-shadow:var(--store-shadow);}
.hero-image{display:contents;animation:none;}
.hero-media img,.hero-image img{
    width:100%;
    max-width:none;
    height:100%;
    margin:0;
    display:block;
    object-fit:cover;
    object-position:center;
    border:0;
    border-radius:0;
    box-shadow:none;
    filter:none;
    transform:none;
    transition:opacity .45s ease;
}
.hero-media img.is-changing{opacity:.28;}
.hero-image img:hover{transform:none;box-shadow:none;}
.hero-controls{position:absolute;inset:auto 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hero-controls > button{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:var(--store-brand);
    font-size:30px;
    line-height:1;
    box-shadow:0 4px 16px rgba(0,0,0,.12);
}
.hero-dots{display:flex;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.84);}
.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#cdb8aa;}
.hero-dot[aria-current="true"]{width:22px;border-radius:999px;background:var(--store-brand);}
.hero-controls[hidden]{display:none;}

.trust-strip{
    width:min(1180px,calc(100% - 2 * var(--store-space)));
    margin:0 auto;
    padding:16px clamp(16px,3vw,30px);
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    border:1px solid var(--store-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(76,48,32,.06);
}
.trust-strip div{display:grid;gap:4px;text-align:center;}
.trust-strip strong{color:var(--store-brand);font-size:15px;}
.trust-strip span{color:var(--store-muted);font-size:13px;}
.top-center a{color:inherit;text-decoration:none;white-space:nowrap;}
.top-center a:hover{text-decoration:underline;}
.top-center a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px;}
.market-trust{
    width:min(1180px,calc(100% - 2 * var(--store-space)));
    margin:clamp(38px,6vw,76px) auto;
    padding:clamp(24px,4vw,42px);
    border:1px solid var(--store-border);
    border-radius:22px;
    background:var(--store-surface);
    text-align:center;
}
.market-trust-copy{max-width:690px;margin:0 auto;}
.market-trust h2{margin:6px 0 10px;color:var(--store-text);font-family:var(--font-heading);font-size:clamp(27px,3.2vw,40px);line-height:1.35;}
.market-trust-copy > p:last-child{color:var(--store-muted);font-size:16px;line-height:2;}
.market-trust-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:clamp(22px,4vw,34px) 0 18px;padding:0;list-style:none;}
.market-trust-list li{display:grid;justify-items:center;gap:8px;color:var(--store-text);font-size:14px;font-weight:650;line-height:1.75;}
.market-trust-list svg{width:24px;height:24px;color:var(--store-brand);}
.market-trust-brands{margin:0;color:var(--store-muted);font-size:14px;line-height:1.9;}
.categories-section,.products-section{padding:clamp(42px,6vw,82px) var(--store-space);}
.categories-section{background:var(--store-surface-soft);}
.section-heading{max-width:720px;margin:0 auto 26px;text-align:center;}
.section-heading h2{margin:0;color:var(--store-text);font-family:var(--font-heading);font-size:clamp(29px,3.2vw,44px);line-height:1.35;letter-spacing:-.02em;font-weight:700;}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;max-width:1180px;margin:auto;}
.category-card{
    min-height:84px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    border:1px solid var(--store-border);
    border-radius:16px;
    background:#fff;
    color:var(--store-text);
    font-family:var(--font-ui);
    font-weight:650;
    text-align:center;
}
.category-card:hover{border-color:var(--store-clay);background:#fffaf4;color:var(--store-brand);}
.products-section{background:color-mix(in srgb, var(--store-tint, #fffaf4) 8%, #fffaf4);}
.products-filter{margin:0 auto 24px;gap:9px;}
.filter-btn{padding:10px 15px;border:1px solid var(--store-border);border-radius:999px;background:#fff;color:var(--store-text);font-family:var(--font-ui);font-size:14px;font-weight:600;}
.filter-btn:hover,.filter-btn.active{background:var(--store-brand);border-color:var(--store-brand);color:#fff;}
.products{max-width:1280px;margin:auto;padding:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.card{
    min-width:0;
    padding:12px;
    border:1px solid var(--store-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 5px 18px rgba(76,48,32,.06);
    text-align:right;
    overflow:hidden;
}
.card:hover{border-color:#dfb6a1;transform:translateY(-3px);box-shadow:var(--store-shadow-hover);}
.product-image-box{position:relative;width:100%;overflow:hidden;border-radius:13px;background:#f5eee6;}
.product-image-box .product-image-box{display:block;}
.product-image-box img,.card img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;margin:0;border-radius:0;transform:none;transition:opacity .25s ease;}
.card:hover img{transform:none;}
.product-badge{top:10px;right:10px;padding:5px 8px;border-radius:999px;background:#fff;color:var(--store-brand);font-size:11px;box-shadow:0 2px 8px rgba(76,48,32,.1);}
.product-category{margin:13px 0 7px;padding:0;background:transparent;color:var(--store-clay);font-size:12px;font-weight:800;}
.card h3{margin:0 0 8px;color:var(--store-text);font-family:var(--font-heading);font-size:17px;line-height:1.65;font-weight:650;}
.product-brand{margin-bottom:11px;color:var(--store-muted);font-size:13px;line-height:1.65;}
.product-price{margin:0 0 13px;color:var(--store-brand);font-family:var(--font-ui);font-size:21px;font-weight:750;}
.product-price span{margin-right:4px;color:var(--store-muted);font-size:12px;font-weight:600;}
.product-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.product-buttons button,.product-buttons a{min-height:42px;padding:8px;border-radius:11px;font-size:13px;line-height:1.2;}
.product-buttons button{background:var(--store-brand);border:1px solid var(--store-brand);color:#fff;}
.product-buttons button:hover{background:var(--store-brand-dark);}
.product-buttons a{display:flex;align-items:center;justify-content:center;border:1px solid var(--store-border);color:var(--store-brand);background:#fff;}
.product-buttons a:hover{background:var(--store-surface-soft);color:var(--store-brand);}

#chatBtn{right:18px;bottom:18px;width:54px;height:54px;padding:0;background:var(--store-brand);box-shadow:var(--store-shadow);}
#chatBox{right:18px;bottom:84px;width:min(340px,calc(100% - 36px));height:min(430px,calc(100dvh - 110px));border:1px solid var(--store-border);border-radius:18px;box-shadow:var(--store-shadow);}
#chatBox[hidden]{display:none;}
#chatBox:not([hidden]){display:flex;}
#inputBox button{background:var(--store-brand);}
body.footer-in-view #chatBtn,
body.footer-in-view #chatBox{visibility:hidden;pointer-events:none;}

footer{margin-top:0;background:var(--store-brand);border:0;color:#fff;}
.footer-container{max-width:1200px;padding:clamp(36px,6vw,70px) var(--store-space);}
.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,72px);align-items:start;}
.footer-box{min-width:0;text-align:right;}
.footer-box h2{margin-bottom:14px;color:#fff;font-family:var(--font-heading);font-size:23px;font-weight:700;}
.footer-box p{font-size:15px;line-height:2.1;color:#f7ede6;}
.footer-brand{margin:0 0 8px;color:#fff;font-family:var(--font-heading);font-size:clamp(21px,2.2vw,28px);font-weight:700;line-height:1.5;}
.footer-contact-list{display:grid;gap:15px;margin:18px 0 0;padding:0;list-style:none;}
.footer-contact-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;}
.footer-contact-list span{display:block;margin-bottom:2px;font-family:var(--font-ui);font-weight:700;color:#fff;}
.footer-contact-list a{display:inline-flex;max-width:100%;color:#f7ede6;text-decoration:none;overflow-wrap:anywhere;}
.footer-contact-list a:hover{text-decoration:underline;color:#fff;}
.footer-contact-list p{margin:0;overflow-wrap:anywhere;}
.footer-phone-links{display:flex;flex-wrap:wrap;gap:4px 12px;}
.footer-address-english{margin-top:5px !important;direction:ltr;text-align:left;font-family:var(--font-ui);font-size:13px !important;line-height:1.9 !important;}
.footer-icon{width:23px;height:23px;flex:0 0 auto;color:#f7ede6;}
.footer-heading-icon{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-heading-icon h2{margin:0;}
.footer-trust{padding:clamp(18px,3vw,30px);border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.06);}
.footer-trust p{margin:0;}
.footer-divider{margin:32px 0;background:rgba(255,255,255,.2);}
.footer-law{max-width:860px;margin:auto;color:#f7ede6;text-align:center;font-size:14px;line-height:2.15;}
.footer-law-heading{justify-content:center;margin-bottom:16px;}
.footer-law h2{margin:0;color:#fff;font-size:clamp(22px,2.4vw,30px);}
.footer-law p{margin:0 auto 16px;max-width:860px;color:#f7ede6;font-size:inherit;line-height:inherit;}

@media (max-width:1100px){
    .storefront-header{grid-template-columns:minmax(162px,185px) minmax(0,1fr) auto;}
    .storefront-header nav{grid-column:1 / -1;grid-row:2;justify-content:center;}
    .header-search{grid-column:2;grid-row:1;}
    .header-actions{grid-column:3;grid-row:1;}
    .hero{gap:32px;}
}
@media (max-width:900px){
    .topbar{justify-content:center;text-align:center;}
    .top-left{display:none;}
    .market-trust-list{grid-template-columns:repeat(3,minmax(0,1fr));}
    .storefront-header{grid-template-columns:minmax(76px,1fr) auto auto;gap:9px;padding:10px 16px;}
    .logo{grid-column:1;grid-row:1;justify-content:flex-start;}
    .menu-toggle{display:block;grid-column:2;grid-row:1;}
    .header-actions{grid-column:3;grid-row:1;justify-content:flex-end;}
    .header-search{grid-column:1 / -1;grid-row:2;}
    .storefront-header nav{display:none;grid-column:1 / -1;grid-row:3;justify-content:stretch;padding:8px 0 2px;border-top:1px solid var(--store-border);}
    .storefront-header nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}
    .storefront-header nav a{padding:11px;border-radius:10px;text-align:center;background:#fffaf4;}
    .storefront-header nav a::after{display:none;}
    .ai-btn{display:none;}
    .hero{grid-template-columns:1fr;padding:32px 16px 42px;gap:26px;}
    .hero-copy{max-width:none;}
    .hero-copy h1{font-size:clamp(34px,9vw,48px);}
    .hero-media{order:-1;aspect-ratio:4 / 3;border-radius:16px;}
    .hero-buttons{display:grid;grid-template-columns:1fr 1fr;}
    .start-btn,.project-btn{width:100%;padding:12px 10px;font-size:14px;}
    .trust-strip{width:calc(100% - 32px);grid-template-columns:1fr;padding:14px;gap:12px;}
    .trust-strip div{padding-bottom:12px;border-bottom:1px solid var(--store-border);}
    .trust-strip div:last-child{padding-bottom:0;border-bottom:0;}
    .categories-section,.products-section{padding:44px 16px;}
    .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .category-card{min-height:76px;font-size:14px;}
    .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .card{padding:9px;border-radius:14px;}
    .card h3{font-size:14px;}
    .product-price{font-size:16px;}
    .product-buttons{grid-template-columns:1fr;gap:6px;}
    .product-buttons button,.product-buttons a{min-height:40px;font-size:12px;}
    .footer-top{grid-template-columns:1fr;gap:26px;}
    .footer-box{max-width:620px;margin:auto;}
}
@media (max-width:560px){
    .topbar{font-size:11px;}
    .top-center,.top-right{font-size:11px;}
    .market-trust{width:calc(100% - 32px);margin:42px auto;padding:22px 16px;}
    .market-trust-list{grid-template-columns:1fr 1fr;gap:16px 10px;}
    .market-trust-list li{font-size:13px;}
    .market-trust-list li:last-child{grid-column:1 / -1;}
    .footer-phone-links{display:grid;gap:4px;}
    .storefront-header{grid-template-columns:minmax(120px,1fr) auto auto;}
    .logo-img{width:clamp(120px,30vw,140px);max-height:132px;}
    .menu-toggle{width:40px;height:40px;padding:8px;}
    #productSearch{min-height:40px;padding:8px 10px;font-size:16px;}
    .call-btn{width:40px;padding:8px;font-size:0;}
    .call-btn::before{content:"👤";font-size:17px;}
    .cart-button{width:40px;padding:8px;font-size:13px;}
    .customer-dropdown{left:auto;right:0;}
    .hero-copy > p:not(.eyebrow){font-size:15px;line-height:1.85;}
    .hero-controls{inset:auto 10px 10px;}
    .hero-controls > button{width:38px;height:38px;}
    .section-heading h2{font-size:28px;}
    .footer-container{padding-top:40px;padding-bottom:40px;}
    .footer-law{font-size:13px;line-height:2;}
    .footer-law h2{font-size:22px;}
}
@media (max-width:360px){
    .topbar{display:none;}
    .storefront-header{padding:9px 10px;gap:6px;}
    .storefront-header{grid-template-columns:minmax(110px,1fr) auto auto;}
    .logo-img{width:110px;max-height:104px;}
    .menu-toggle{width:38px;height:38px;}
    .header-actions{gap:4px;}
    .cart-button{width:38px;}
    .products{grid-template-columns:1fr;}
    .category-grid{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}

/* Admin product workspace: compact desktop, single-column touch layout on small screens. */
.admin-product-actions,.admin-product-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0;}.admin-product-actions label{font-size:14px;}.admin-product-actions p{width:100%;min-height:1.5em;margin:0;color:#286848;font-weight:700;}.admin-product-tools input,.admin-product-tools select{min-height:42px;padding:8px;flex:1 1 160px;}.admin-product-tools button{min-height:42px;padding:8px 12px;}.admin-product-tools output{font-weight:700;white-space:nowrap;}
@media (max-width:700px){.sidebar{position:static;width:100%;min-height:0;}.admin-layout{display:block;}.content{width:100%;padding:14px;}.admin-card{padding:16px;}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:44px;font-size:16px;}.form-group label{display:block;margin-top:14px;font-weight:700;}.admin-product-actions .save-btn{width:100%;min-height:48px;}.admin-product-tools{display:grid;grid-template-columns:1fr 1fr;}.admin-product-tools input{grid-column:1 / -1;}.admin-product-tools button{grid-column:1 / -1;}.admin-product-tools output{grid-column:1 / -1;}#productsSection .product-actions{flex-wrap:wrap;}#productsSection .product-actions button{min-height:42px;flex:1 1 45%;}#productsSection .product-card{padding:14px;}#productsSection .product-card h3{font-size:18px;}#productsSection .product-image{height:180px;object-fit:contain;}.sidebar ul{display:flex;overflow-x:auto;gap:4px;}.sidebar li{white-space:nowrap;}.admin-card{overflow:visible;}}

/* Product gallery: native controls, stable aspect ratio, and no image cropping. */
.admin-layout{background:#f7f4f1;min-height:100vh;}
.admin-content{max-width:1500px;margin-inline:auto;}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#fffdfb;border:1px solid #eadfd5;border-radius:16px;box-shadow:0 8px 24px rgba(75,25,30,.06);margin-bottom:18px;}.admin-topbar strong{display:block;color:#6d1728;font-size:18px;}.admin-topbar #adminSectionLabel{display:block;color:#766a65;font-size:13px;margin-top:3px;}.admin-topbar-actions{display:flex;align-items:center;gap:8px;font-size:13px;color:#5f534e;}.admin-topbar-actions>span:first-child{color:#28724d;font-size:18px;}.admin-topbar button{display:none;}
.admin-dashboard-panel{background:#fffdfb;border:1px solid #eadfd5;border-radius:16px;padding:18px;margin-top:18px;box-shadow:0 8px 24px rgba(75,25,30,.05);}.admin-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;}.admin-panel-heading h2,.admin-dashboard-panel h2{margin:0;color:#431b23;font-size:18px;}.admin-panel-heading button,.admin-quick-actions button,.admin-recent-order button{border:1px solid #7a0019;background:#fff;color:#7a0019;border-radius:9px;padding:9px 12px;font:inherit;cursor:pointer;}.admin-recent-orders{display:grid;gap:8px;margin-top:14px;}.admin-recent-order{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:12px;align-items:center;padding:12px;border-radius:10px;background:#faf7f4;}.admin-recent-order span{color:#6d625d;font-size:13px;}.admin-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}.admin-quick-actions button{background:#7a0019;color:#fff;min-height:42px;}
.admin-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}.admin-form-heading .card-title{margin:0;}.admin-mode-badge{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border-radius:999px;background:#f6e9ec;color:#751729;font-size:13px;font-weight:700;}.admin-field-guidance{margin:8px 0;color:#726661;font-size:13px;}.admin-product-actions p[data-type="error"]{color:#a01f30;}.admin-product-actions p[data-type="success"]{color:#286848;}
@media (max-width:700px){.admin-topbar{position:sticky;top:8px;z-index:20;padding:11px 14px;margin-inline:0;}.admin-topbar-actions>span:not(:first-child){display:none;}.admin-topbar button{display:inline-flex;min-height:42px;align-items:center;border:1px solid #7a0019;background:#fff;color:#7a0019;border-radius:9px;padding:0 12px;font:inherit;}.sidebar{transform:translateX(110%);transition:transform .2s ease;position:fixed!important;inset:0 0 0 auto!important;z-index:30;width:min(84vw,320px)!important;overflow-y:auto;box-shadow:-8px 0 28px rgba(0,0,0,.16);}.sidebar.is-open{transform:translateX(0);}.admin-form-heading{align-items:flex-start;flex-direction:column;}.admin-mode-badge{max-width:100%;}.admin-recent-order{grid-template-columns:1fr auto;}.admin-recent-order span{grid-column:1 / -1;}.admin-quick-actions button{flex:1 1 150px;}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.dashboard-card{min-width:0;}.dashboard-card h1{font-size:24px;}}
.product-gallery{outline:none;}
.product-gallery:focus-visible{outline:3px solid var(--store-clay,#bc7156);outline-offset:5px;}
.product-main-image-frame{position:relative;display:grid;place-items:center;min-height:clamp(300px,48vw,560px);background:#fffaf4;border:1px solid var(--store-border,#eadfd5);border-radius:20px;overflow:hidden;}
.product-main-image-frame #productImage{display:block;width:100%;height:clamp(300px,48vw,560px);object-fit:contain;background:#fffaf4;}
.gallery-control{position:absolute;top:50%;z-index:1;width:44px;height:44px;transform:translateY(-50%);border:1px solid var(--store-border,#eadfd5);border-radius:50%;background:rgba(255,255,255,.94);color:var(--store-brand,#7a0019);font-size:28px;line-height:1;cursor:pointer;}
.gallery-previous{right:14px;}.gallery-next{left:14px;}
.gallery-counter{position:absolute;bottom:12px;left:50%;margin:0;padding:4px 10px;transform:translateX(-50%);border-radius:999px;background:rgba(255,255,255,.92);color:var(--store-text,#33251f);font-size:13px;}
.product-thumbs{display:flex;gap:10px;max-width:100%;margin-top:14px;padding:2px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;}
#productThumbs[hidden]{display:none;}
.product-thumb-button{flex:0 0 76px;width:76px;height:76px;padding:3px;overflow:hidden;border:2px solid transparent;border-radius:12px;background:#fff;cursor:pointer;}
.product-thumb-button.is-active{border-color:var(--store-clay,#bc7156);}
.product-thumb-button img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px;}
.product-thumb-button:focus-visible,.gallery-control:focus-visible{outline:3px solid var(--store-brand,#7a0019);outline-offset:2px;}
.product-status{min-height:1.75em;margin:14px 0 0;color:var(--store-support,#4d7d6f);font-weight:700;}
@media (max-width:700px){
    .product-page{display:block;padding:18px 14px;}
    .product-info{margin-top:18px;}
    .product-main-image-frame,.product-main-image-frame #productImage{min-height:300px;height:min(88vw,440px);}
    .gallery-control{width:40px;height:40px;}
    .product-thumb-button{flex-basis:68px;width:68px;height:68px;}
}

.product-shell{width:min(1180px,calc(100% - 32px));margin:28px auto 70px;}
.product-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:var(--store-muted,#6b5b52);font-size:14px;}
.product-breadcrumb a{color:var(--store-brand,#7a0019);text-decoration:none;}.product-breadcrumb a:hover{text-decoration:underline;}
.product-availability{margin:14px 0;padding:10px 12px;border-radius:12px;background:#fff7e6;color:#5c4100;font-size:14px;}
.key-features{margin:20px 0;}.key-features h2,.product-info section h2{font-size:19px;margin:0 0 10px;}.key-features ul{padding-right:22px;display:grid;gap:6px;}
.product-purchase-area{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0;}.quantity-control{display:inline-flex;align-items:center;border:1px solid var(--store-border,#eadfd5);border-radius:12px;background:#fff;overflow:hidden;}.quantity-control button{width:42px;height:42px;border:0;background:#fff;color:var(--store-brand,#7a0019);font-size:22px;cursor:pointer;}.quantity-control output{min-width:38px;text-align:center;font-weight:700;}
.product-purchase-area>#addCartBtn{min-height:46px;padding:10px 18px;border:0;border-radius:12px;background:var(--store-brand,#7a0019);color:#fff;font-weight:700;cursor:pointer;}.product-support-action,.product-share-action,.product-back-link{min-height:42px;padding:10px 14px;border:1px solid var(--store-border,#eadfd5);border-radius:12px;background:#fff;color:var(--store-brand,#7a0019);text-decoration:none;cursor:pointer;}
.discovery-section{margin-top:48px;}.discovery-section h2{margin-bottom:18px;}.discovery-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}.discovery-card{display:grid;gap:9px;padding:14px;border:1px solid var(--store-border,#eadfd5);border-radius:16px;background:#fff;}.discovery-card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fffaf4;border-radius:10px;}.discovery-card h3{font-size:16px;}.discovery-card p{color:var(--store-brand,#7a0019);font-weight:700;}.discovery-card a,.discovery-card button{padding:9px;border:1px solid var(--store-border,#eadfd5);border-radius:10px;background:#fff;color:var(--store-brand,#7a0019);text-align:center;text-decoration:none;cursor:pointer;}
.header-search{position:relative;}.search-suggestions{position:absolute;z-index:1200;top:calc(100% + 6px);right:0;left:0;display:grid;gap:3px;padding:8px;border:1px solid var(--store-border,#eadfd5);border-radius:14px;background:#fff;box-shadow:var(--store-shadow);}.search-suggestions[hidden]{display:none;}.search-suggestions button,.search-suggestions p{margin:0;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--store-text,#33251f);text-align:right;}.search-suggestions button[aria-selected="true"],.search-suggestions button:hover{background:var(--store-surface-soft,#fff4eb);}
.mobile-purchase-bar{display:none;}
@media (max-width:700px){.product-shell{width:min(100% - 24px,680px);margin:16px auto 96px;}.discovery-products{grid-template-columns:repeat(2,minmax(0,1fr));}.mobile-purchase-bar:not([hidden]){position:fixed;z-index:1050;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--store-border,#eadfd5);background:#fff;box-shadow:0 -8px 22px rgba(76,48,32,.1);font-size:13px;}.mobile-purchase-bar button{flex:0 0 auto;min-height:42px;padding:9px 12px;border:0;border-radius:10px;background:var(--store-brand,#7a0019);color:#fff;font-weight:700;}.product-purchase-area{padding-bottom:4px;}.search-suggestions{position:fixed;top:70px;right:12px;left:12px;}.product-breadcrumb{font-size:13px;}}


/* ==================================================
   RAD2 HOMEPAGE CANDIDATE
   ================================================== */

.home-intro{
    padding:clamp(52px,7vw,92px) var(--store-space);
    background:#fff;
}

.home-intro-inner{
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.home-intro h2{
    margin:8px 0 16px;
    font-size:clamp(27px,4vw,46px);
    line-height:1.45;
    color:var(--store-text);
}

.home-intro p:last-child{
    max-width:720px;
    margin:0 auto;
    font-size:clamp(15px,1.6vw,18px);
    line-height:2;
    color:var(--store-muted);
}

.section-lead{
    margin:10px 0 0;
    color:var(--store-muted);
    font-size:15px;
}

.categories-section{
    position:relative;
    overflow:hidden;
}

.category-heading{
    text-align:center;
    margin-bottom:32px;
}

.category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.category-card{
    position:relative;
    min-height:250px;
    padding:24px 18px 20px;
    border:1px solid color-mix(in srgb,var(--store-text) 11%,transparent);
    border-radius:24px;
    background:color-mix(in srgb,var(--store-tint,#fffaf4) 28%,#fff);
    color:var(--store-text);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    cursor:pointer;
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease,
        background .24s ease;
}

.category-card:hover{
    transform:translateY(-5px);
    background:#fff;
    border-color:color-mix(in srgb,var(--store-brand) 34%,transparent);
    box-shadow:0 18px 42px rgba(0,0,0,.07);
    color:var(--store-brand);
}

.category-card:focus-visible{
    outline:3px solid color-mix(in srgb,var(--store-brand) 35%,transparent);
    outline-offset:4px;
}

.category-card__art{
    width:112px;
    height:112px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
}

.category-card__art svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .25s ease;
}

.category-card:hover .category-card__art svg{
    transform:scale(1.045);
}

.category-card__rule{
    width:42px;
    height:1px;
    background:currentColor;
    opacity:.25;
    margin-bottom:14px;
}

.category-card__label{
    font-size:16px;
    line-height:1.7;
    font-weight:800;
}

.category-card__hint{
    margin-top:5px;
    font-size:12px;
    line-height:1.7;
    color:var(--store-muted);
    font-weight:500;
}

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

.home-view-all-wrap{
    display:flex;
    justify-content:center;
    padding-top:32px;
}

.home-view-all{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:10px 22px;
    border:1px solid color-mix(in srgb,var(--store-brand) 35%,transparent);
    border-radius:999px;
    color:var(--store-brand);
    background:#fff;
    font-weight:800;
    text-decoration:none;
    transition:transform .2s ease,background .2s ease,color .2s ease;
}

.home-view-all:hover{
    transform:translateY(-2px);
    background:var(--store-brand);
    color:#fff;
}

@media (max-width:900px){
    .category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .category-card{
        min-height:220px;
    }
}

@media (max-width:560px){
    .home-intro{
        padding:44px 18px;
    }

    .category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .category-card{
        min-height:176px;
        padding:18px 10px 15px;
        border-radius:18px;
    }

    .category-card__art{
        width:78px;
        height:78px;
        margin-bottom:12px;
    }

    .category-card__rule{
        width:30px;
        margin-bottom:10px;
    }

    .category-card__label{
        font-size:13px;
    }

    .category-card__hint{
        display:none;
    }
}


/* ==================================================
   RAD2 HOMEPAGE LIGHT V2
   ================================================== */

.categories-section,
.products-section{
    padding:
        clamp(38px,4.5vw,64px)
        var(--store-space);
}

.category-heading,
.products-home-heading{
    margin:0 auto 24px;
    text-align:center;
}

.category-heading h2,
.products-home-heading h2{
    margin:0;
    font-size:clamp(22px,2.5vw,30px);
    line-height:1.45;
    font-weight:650;
    letter-spacing:-.01em;
}

.category-grid{
    max-width:1040px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:34px;
    row-gap:22px;
}

.category-card{
    min-height:142px;
    padding:10px 4px 14px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--store-text);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:color .18s ease;
}

.category-card:hover{
    transform:none;
    border:0;
    background:transparent;
    box-shadow:none;
    color:var(--store-brand);
}

.category-card:focus-visible{
    outline:1px solid var(--store-brand);
    outline-offset:6px;
}

.category-card__art{
    width:76px;
    height:76px;
    margin:0 0 9px;
    display:grid;
    place-items:center;
    transition:transform .18s ease;
}

.category-card:hover .category-card__art{
    transform:translateY(-2px);
}

.category-card__art svg{
    width:100%;
    height:100%;
    stroke-width:2.1;
}

.category-card:hover .category-card__art svg{
    transform:none;
}

.category-card__rule{
    width:28px;
    height:1px;
    margin:0 0 8px;
    opacity:.22;
    background:currentColor;
}

.category-card__label{
    font-size:14px;
    line-height:1.7;
    font-weight:600;
}

.category-card__hint{
    display:none !important;
}

.products{
    max-width:1160px;
}

.home-view-all-wrap{
    padding-top:20px;
}

.home-view-all{
    min-height:0;
    padding:5px 1px;
    border:0;
    border-bottom:1px solid
        color-mix(in srgb,var(--store-brand) 35%,transparent);
    border-radius:0;
    background:transparent;
    color:var(--store-brand);
    font-size:13px;
    font-weight:600;
    box-shadow:none;
}

.home-view-all:hover{
    transform:none;
    background:transparent;
    color:var(--store-text);
}

@media (max-width:900px){
    .category-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        column-gap:14px;
    }

    .category-card{
        min-height:132px;
    }

    .category-card__art{
        width:68px;
        height:68px;
    }
}

@media (max-width:700px){
    .categories-section,
    .products-section{
        padding:38px 16px;
    }

    .category-heading,
    .products-home-heading{
        margin-bottom:20px;
    }

    .category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px 14px;
    }

    .category-card{
        min-height:124px;
        padding:6px 2px 10px;
        border-radius:0;
    }

    .category-card__art{
        width:64px;
        height:64px;
        margin-bottom:8px;
    }

    .category-card__label{
        font-size:13px;
    }
}


/* ==================================================
   RAD2 FEATURED + DISCOUNT CANDIDATE
   ================================================== */

.home-product-tabs{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin:0 auto 22px;
}

.home-product-tab{
    appearance:none;
    border:0;
    border-bottom:1px solid transparent;
    background:transparent;
    color:var(--store-muted);
    padding:6px 2px 8px;
    font:inherit;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:color .18s ease,border-color .18s ease;
}

.home-product-tab:hover,
.home-product-tab.active{
    color:var(--store-brand);
    border-bottom-color:var(--store-brand);
}

.product-image-box{
    position:relative;
}

.product-discount-badge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:28px;
    padding:4px 9px;
    border-radius:999px;
    background:var(--store-brand);
    color:#fff;
    font-size:12px;
    font-weight:750;
    box-shadow:0 5px 18px rgba(70,20,30,.12);
}

.product-price--discounted{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:6px 10px;
}

.product-price-old{
    color:var(--store-muted)!important;
    font-size:12px!important;
    font-weight:500!important;
    text-decoration:line-through;
    opacity:.75;
}

.product-price-sale{
    color:var(--store-brand);
    font-size:20px;
    font-weight:800;
}

#productPrice,
#mobilePurchasePrice{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px 10px;
}

.detail-discount-badge{
    display:inline-flex;
    padding:4px 9px;
    border-radius:999px;
    background:var(--store-brand);
    color:#fff;
    font-size:12px;
    font-weight:750;
}

.detail-old-price{
    color:var(--store-muted);
    font-size:13px;
}

.detail-sale-price{
    color:var(--store-brand);
    font-size:22px;
}

.admin-checkbox-field{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:48px;
    padding:8px 10px;
    border:1px solid #eadfd5;
    border-radius:10px;
}

.admin-checkbox-field input{
    width:20px!important;
    min-height:20px!important;
    height:20px;
}

.admin-discount-preview{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:10px 12px;
    border:1px dashed #d9c9c1;
    border-radius:10px;
    background:#fffaf7;
    color:#66554d;
    font-size:13px;
    line-height:1.8;
}

@media(max-width:700px){
    .home-product-tabs{
        gap:16px;
    }

    .product-discount-badge{
        top:7px;
        right:7px;
        min-width:40px;
        min-height:25px;
        font-size:11px;
    }

    .product-price-sale{
        font-size:16px;
    }
}


/* ==================================================
   RAD2 ADMIN COMMERCE UI
   Featured + Discount polish
   ================================================== */

[data-admin-section-panel="products"] .admin-primary-price-field{
    position:relative;
}

[data-admin-section-panel="products"] .admin-primary-price-field input{
    font-weight:750;
    letter-spacing:.01em;
}

[data-admin-section-panel="products"] .admin-merchandising-panel{
    grid-column:1 / -1;
    margin:8px 0 4px;
    padding:0;
    border:1px solid #eadfd9;
    border-radius:18px;
    overflow:hidden;
    background:
        linear-gradient(
            180deg,
            rgba(255,250,247,.98),
            rgba(255,255,255,.98)
        );
    box-shadow:
        0 8px 30px rgba(78,43,35,.045);
}

[data-admin-section-panel="products"] .admin-merchandising-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px 17px;
    border-bottom:1px solid #eee4df;
}

[data-admin-section-panel="products"] .admin-merchandising-eyebrow{
    display:block;
    margin-bottom:5px;
    color:#8b6f66;
    font-size:11px;
    font-weight:700;
    letter-spacing:.02em;
}

[data-admin-section-panel="products"] .admin-merchandising-heading h4{
    margin:0;
    color:#3b2c28;
    font-size:17px;
    line-height:1.7;
    font-weight:800;
}

[data-admin-section-panel="products"] .admin-merchandising-heading p{
    max-width:580px;
    margin:4px 0 0;
    color:#81716b;
    font-size:12px;
    line-height:1.9;
}

[data-admin-section-panel="products"] .admin-merchandising-grid{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:14px;
    padding:16px;
}

[data-admin-section-panel="products"] .admin-feature-control,
[data-admin-section-panel="products"] .admin-discount-control{
    min-width:0;
    border:1px solid #eee5e0;
    border-radius:14px;
    background:#fff;
}

[data-admin-section-panel="products"] .admin-feature-control{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:132px;
    margin:0!important;
    padding:20px;
    cursor:pointer;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

[data-admin-section-panel="products"] .admin-feature-control:hover{
    border-color:#d9beb5;
    box-shadow:
        0 8px 22px rgba(88,45,37,.055);
}

[data-admin-section-panel="products"] .admin-feature-copy{
    display:grid;
    gap:5px;
    min-width:0;
}

[data-admin-section-panel="products"] .admin-feature-copy strong{
    color:#3a2b27;
    font-size:15px;
    font-weight:800;
}

[data-admin-section-panel="products"] .admin-feature-copy small{
    max-width:260px;
    color:#85746e;
    font-size:12px;
    line-height:1.85;
    font-weight:500;
}

[data-admin-section-panel="products"] .admin-switch{
    position:relative;
    flex:0 0 auto;
}

[data-admin-section-panel="products"] .admin-switch input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-height:0!important;
    opacity:0;
    pointer-events:none;
}

[data-admin-section-panel="products"] .admin-switch-track{
    position:relative;
    display:block;
    width:48px;
    height:28px;
    border:1px solid #d9cfca;
    border-radius:999px;
    background:#eee9e6;
    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

[data-admin-section-panel="products"] .admin-switch-thumb{
    position:absolute;
    top:3px;
    right:3px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    box-shadow:
        0 2px 7px rgba(50,35,30,.18);
    transition:transform .2s ease;
}

[data-admin-section-panel="products"]
.admin-switch input:checked + .admin-switch-track{
    border-color:#7a0019;
    background:#7a0019;
    box-shadow:
        0 4px 12px rgba(122,0,25,.16);
}

[data-admin-section-panel="products"]
.admin-switch input:checked +
.admin-switch-track .admin-switch-thumb{
    transform:translateX(-20px);
}

[data-admin-section-panel="products"]
.admin-switch input:focus-visible +
.admin-switch-track{
    outline:2px solid rgba(122,0,25,.22);
    outline-offset:3px;
}

[data-admin-section-panel="products"] .admin-discount-control{
    display:grid;
    gap:14px;
    padding:18px;
}

[data-admin-section-panel="products"] .admin-discount-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

[data-admin-section-panel="products"] .admin-discount-heading > div{
    display:grid;
    gap:4px;
}

[data-admin-section-panel="products"] .admin-discount-heading strong{
    color:#3a2b27;
    font-size:15px;
    font-weight:800;
}

[data-admin-section-panel="products"] .admin-discount-heading small{
    color:#85746e;
    font-size:12px;
    line-height:1.8;
}

[data-admin-section-panel="products"] .admin-discount-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 auto;
    border-radius:10px;
    background:#f8edf0;
    color:#7a0019;
    font-size:15px;
    font-weight:900;
}

[data-admin-section-panel="products"] .admin-discount-mode-field,
[data-admin-section-panel="products"] .admin-discount-value-field{
    display:grid!important;
    gap:7px;
    margin:0!important;
}

[data-admin-section-panel="products"] .admin-discount-mode-field > span,
[data-admin-section-panel="products"] .admin-discount-value-field > span{
    color:#65534d;
    font-size:11px;
    font-weight:750;
}

[data-admin-section-panel="products"] .admin-discount-mode-field select,
[data-admin-section-panel="products"] .admin-discount-value-field input{
    width:100%;
    min-height:44px;
    border:1px solid #e4d8d2;
    border-radius:10px;
    background:#fff;
    font:inherit;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

[data-admin-section-panel="products"] .admin-discount-mode-field select:focus,
[data-admin-section-panel="products"] .admin-discount-value-field input:focus{
    border-color:#b9838f;
    outline:0;
    box-shadow:
        0 0 0 3px rgba(122,0,25,.07);
}

[data-admin-section-panel="products"] .admin-discount-inputs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

[data-admin-section-panel="products"] .admin-input-with-suffix{
    display:flex;
    align-items:center;
    min-height:44px;
    border:1px solid #e4d8d2;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

[data-admin-section-panel="products"] .admin-input-with-suffix:focus-within{
    border-color:#b9838f;
    box-shadow:
        0 0 0 3px rgba(122,0,25,.07);
}

[data-admin-section-panel="products"] .admin-input-with-suffix input{
    min-width:0;
    min-height:42px;
    flex:1;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent;
}

[data-admin-section-panel="products"] .admin-input-with-suffix > span{
    display:flex;
    align-items:center;
    align-self:stretch;
    flex:0 0 auto;
    padding:0 10px;
    border-right:1px solid #eee4df;
    background:#fcf8f6;
    color:#8b7770;
    font-size:11px;
    font-weight:700;
}

[data-admin-section-panel="products"] .admin-discount-preview{
    position:relative;
    display:flex;
    align-items:center;
    min-height:52px;
    margin:0;
    padding:11px 14px 11px 42px;
    border:1px solid #eadfd9;
    border-radius:11px;
    background:#faf7f5;
    color:#6c5b55;
    font-size:12px;
    line-height:1.8;
    font-weight:650;
}

[data-admin-section-panel="products"] .admin-discount-preview::before{
    content:"";
    position:absolute;
    left:14px;
    width:10px;
    height:10px;
    border:2px solid currentColor;
    border-radius:50%;
    opacity:.42;
}

[data-admin-section-panel="products"]
.admin-discount-preview[data-mode="percent"],
[data-admin-section-panel="products"]
.admin-discount-preview[data-mode="final"]{
    border-color:#e4c8cf;
    background:#fff7f9;
    color:#751729;
}

[data-admin-section-panel="products"]
.admin-discount-preview[data-mode="percent"]::before,
[data-admin-section-panel="products"]
.admin-discount-preview[data-mode="final"]::before{
    border-color:#7a0019;
    background:#7a0019;
    box-shadow:
        inset 0 0 0 2px #fff;
    opacity:1;
}

[data-admin-section-panel="products"]
#discountPercentField[hidden],
[data-admin-section-panel="products"]
#salePriceField[hidden]{
    display:none!important;
}

@media(max-width:900px){

    [data-admin-section-panel="products"]
    .admin-merchandising-grid{
        grid-template-columns:1fr;
    }

    [data-admin-section-panel="products"]
    .admin-feature-control{
        min-height:104px;
    }

}

@media(max-width:700px){

    [data-admin-section-panel="products"]
    .admin-merchandising-panel{
        border-radius:14px;
    }

    [data-admin-section-panel="products"]
    .admin-merchandising-heading{
        padding:17px;
    }

    [data-admin-section-panel="products"]
    .admin-merchandising-grid{
        gap:11px;
        padding:11px;
    }

    [data-admin-section-panel="products"]
    .admin-feature-control,
    [data-admin-section-panel="products"]
    .admin-discount-control{
        padding:15px;
        border-radius:12px;
    }

    [data-admin-section-panel="products"]
    .admin-feature-control{
        min-height:96px;
    }

    [data-admin-section-panel="products"]
    .admin-discount-inputs{
        grid-template-columns:1fr;
    }

    [data-admin-section-panel="products"]
    .admin-discount-preview{
        padding-right:12px;
        font-size:11px;
    }

}



/* ==================================================
   RAD2 ADMIN PRO V3
   Product editor + Order operations
   ================================================== */

[data-admin-section-panel="products"] .product-form-panel{
    padding:0;
    overflow:hidden;
    border:1px solid #e8ded9;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 40px rgba(58,35,28,.055);
}

[data-admin-section-panel="products"] .product-form-panel > .form-heading{
    margin:0;
    padding:20px 24px;
    border-bottom:1px solid #eee5e1;
    background:linear-gradient(180deg,#fff,#fdfaf9);
}

[data-admin-section-panel="products"] #productForm{
    padding:22px 24px 0;
}

.admin-form-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin:0 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid #f0e8e4;
}

.admin-form-section-heading--secondary{
    margin-top:28px;
}

.admin-form-section-heading span{
    color:#392b27;
    font-size:14px;
    font-weight:800;
}

.admin-form-section-heading small{
    color:#94827b;
    font-size:11px;
    font-weight:500;
}

.admin-product-field-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:start;
}

.admin-product-field-grid > label{
    min-width:0;
    margin:0!important;
}

.admin-field--name{
    grid-column:span 12;
}

.admin-field--category,
.admin-field--brand{
    grid-column:span 6;
}

.admin-field--price{
    grid-column:span 4;
}

.admin-field--sku{
    grid-column:span 3;
}

.admin-field--stock{
    grid-column:span 2;
}

.admin-field--weight{
    grid-column:span 3;
}

.admin-field--dimensions{
    grid-column:span 4;
}

.admin-field--spec{
    grid-column:span 3;
}

.admin-product-field-grid .admin-merchandising-panel{
    grid-column:1 / -1;
}

.admin-product-field-grid input,
.admin-product-field-grid select,
.admin-product-field-grid textarea{
    min-height:44px;
    border:1px solid #e2d8d3;
    border-radius:10px;
    background:#fff;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.admin-product-field-grid input:hover,
.admin-product-field-grid select:hover{
    border-color:#cfbbb3;
}

.admin-product-field-grid input:focus,
.admin-product-field-grid select:focus,
.admin-long-field textarea:focus{
    border-color:#9e6571;
    outline:0;
    box-shadow:0 0 0 3px rgba(122,0,25,.065);
}

.admin-field--name input{
    min-height:50px;
    font-size:16px;
    font-weight:700;
}

.admin-field--sku input{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    direction:ltr;
    text-align:left;
    letter-spacing:.02em;
}

.admin-field--stock input,
.admin-field--weight input{
    text-align:center;
}

.admin-long-field{
    display:grid!important;
    gap:8px;
    margin:0 0 14px!important;
}

.admin-long-field textarea{
    width:100%;
    min-height:112px;
    resize:vertical;
    border:1px solid #e2d8d3;
    border-radius:12px;
    padding:12px 14px;
    background:#fff;
    font:inherit;
    line-height:1.9;
}

.admin-product-image-grid{
    gap:14px!important;
}

.admin-product-image-grid fieldset{
    min-width:0;
    padding:16px;
    border:1px dashed #d9c9c1!important;
    border-radius:14px!important;
    background:#fdfaf8;
}

.admin-product-image-grid legend{
    padding:0 6px;
    color:#55443e;
    font-size:12px;
    font-weight:800;
}

.admin-product-image-grid input[type="file"]{
    width:100%;
    padding:9px;
    border:1px solid #e5dad5;
    border-radius:10px;
    background:#fff;
}

.admin-product-image-grid .image-preview{
    max-height:230px;
    object-fit:contain;
    margin-top:12px;
    border:1px solid #eee4df;
    border-radius:12px;
    background:#fff;
}

.admin-product-savebar{
    position:sticky;
    bottom:0;
    z-index:12;
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:28px -24px 0!important;
    padding:14px 24px;
    border-top:1px solid #eadfda;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    box-shadow:0 -8px 28px rgba(54,31,25,.045);
}

.admin-product-savebar #saveButton{
    min-width:170px;
    min-height:46px;
    border-radius:11px;
    background:#7a0019;
    color:#fff;
    font-weight:800;
    box-shadow:0 7px 18px rgba(122,0,25,.15);
}

.admin-product-savebar #saveButton:hover{
    transform:translateY(-1px);
    box-shadow:0 9px 22px rgba(122,0,25,.20);
}

.admin-product-savebar #resetButton{
    min-height:46px;
    border-radius:11px;
    background:#fff;
}

#cancelEditButton{
    min-height:38px;
    padding:7px 12px;
    border:1px solid #e4d9d4;
    border-radius:9px;
    background:#fff;
    color:#66544e;
    text-decoration:none;
}

#cancelEditButton:hover{
    border-color:#cfb9b1;
    color:#7a0019;
}

/* Order delete */
.button-danger{
    border:1px solid #b52a3d!important;
    background:#fff!important;
    color:#a42134!important;
}

.button-danger:hover{
    border-color:#921426!important;
    background:#fff4f5!important;
    color:#861225!important;
}

.order-delete-trigger{
    margin-inline-start:auto;
}

.order-delete-confirm{
    flex:1 0 100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:8px;
    padding:14px 16px;
    border:1px solid #efc9cf;
    border-radius:12px;
    background:#fff7f8;
}

.order-delete-confirm__copy{
    display:grid;
    gap:3px;
}

.order-delete-confirm__copy strong{
    color:#8d1729;
    font-size:13px;
}

.order-delete-confirm__copy span{
    color:#82666b;
    font-size:11px;
}

.order-delete-confirm__actions{
    display:flex;
    gap:8px;
    flex:0 0 auto;
}

@media(max-width:900px){

    .admin-field--category,
    .admin-field--brand{
        grid-column:span 6;
    }

    .admin-field--price,
    .admin-field--dimensions{
        grid-column:span 6;
    }

    .admin-field--sku{
        grid-column:span 4;
    }

    .admin-field--stock,
    .admin-field--weight{
        grid-column:span 4;
    }

    .admin-field--spec{
        grid-column:span 6;
    }

}

@media(max-width:700px){

    [data-admin-section-panel="products"] #productForm{
        padding:16px 14px 0;
    }

    [data-admin-section-panel="products"] .product-form-panel > .form-heading{
        padding:16px;
    }

    .admin-form-section-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

    .admin-product-field-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }

    .admin-field--name,
    .admin-field--category,
    .admin-field--brand,
    .admin-field--price,
    .admin-field--dimensions{
        grid-column:1 / -1;
    }

    .admin-field--sku,
    .admin-field--stock,
    .admin-field--weight,
    .admin-field--spec{
        grid-column:span 1;
    }

    .admin-product-savebar{
        margin:22px -14px 0!important;
        padding:12px 14px;
    }

    .admin-product-savebar #saveButton{
        flex:1;
        min-width:0;
    }

    .order-delete-confirm{
        align-items:stretch;
        flex-direction:column;
    }

    .order-delete-confirm__actions{
        width:100%;
    }

    .order-delete-confirm__actions button{
        flex:1;
    }

}


/* ==================================================
   RAD2 SKU COMPACT HOTFIX
   ================================================== */

[data-admin-section-panel="products"] .admin-product-field-grid{
    align-items:start !important;
}

[data-admin-section-panel="products"] .admin-product-field-grid > *{
    align-self:start !important;
}

[data-admin-section-panel="products"] .admin-product-field-grid .admin-merchandising-panel{
    grid-column:1 / -1 !important;
    margin-top:6px !important;
}

[data-admin-section-panel="products"] .admin-field--price{
    grid-column:span 4 !important;
}

[data-admin-section-panel="products"] .admin-field--sku{
    grid-column:span 4 !important;
    min-height:auto !important;
    height:auto !important;
}

[data-admin-section-panel="products"] .admin-field--stock{
    grid-column:span 4 !important;
}

[data-admin-section-panel="products"] .admin-field--sku input{
    display:block !important;
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    max-height:44px !important;
    padding:0 12px !important;
    line-height:44px !important;
    box-sizing:border-box !important;
    text-align:left !important;
    direction:ltr !important;
}

[data-admin-section-panel="products"] .admin-field--sku textarea{
    min-height:44px !important;
    height:44px !important;
    max-height:44px !important;
    resize:none !important;
    padding:10px 12px !important;
    line-height:1.4 !important;
    overflow:hidden !important;
    text-align:left !important;
    direction:ltr !important;
}

[data-admin-section-panel="products"] .admin-field--weight{
    grid-column:span 4 !important;
}

[data-admin-section-panel="products"] .admin-field--dimensions{
    grid-column:span 4 !important;
}

[data-admin-section-panel="products"] .admin-field--spec{
    grid-column:span 4 !important;
}

@media (max-width: 900px){
    [data-admin-section-panel="products"] .admin-field--price,
    [data-admin-section-panel="products"] .admin-field--sku,
    [data-admin-section-panel="products"] .admin-field--stock,
    [data-admin-section-panel="products"] .admin-field--weight,
    [data-admin-section-panel="products"] .admin-field--dimensions,
    [data-admin-section-panel="products"] .admin-field--spec{
        grid-column:span 6 !important;
    }
}

@media (max-width: 700px){
    [data-admin-section-panel="products"] .admin-field--price,
    [data-admin-section-panel="products"] .admin-field--sku,
    [data-admin-section-panel="products"] .admin-field--stock,
    [data-admin-section-panel="products"] .admin-field--weight,
    [data-admin-section-panel="products"] .admin-field--dimensions,
    [data-admin-section-panel="products"] .admin-field--spec{
        grid-column:1 / -1 !important;
    }

    [data-admin-section-panel="products"] .admin-product-field-grid .admin-merchandising-panel{
        grid-column:1 / -1 !important;
    }
}


/* ==================================================
   RAD2 HOME BUTTONS FINAL
   Initial homepage has no product cards
   ================================================== */

/* Exact section removed from minimal homepage */
.home-final-hidden{
    display:none !important;
}

/* Footer: keep contact/location + legal ownership */
.home-footer-secondary{
    display:none !important;
}

/* Keep a direct route from the homepage selection to the full catalogue. */
#products .home-view-all-wrap{
    display:flex;
}

/* Initial state: tabs/buttons remain visible,
   product cards disappear completely. */
#products.home-products-idle #productsContainer{
    display:none !important;
}

#products.home-products-idle{
    padding-top:18px !important;
    padding-bottom:24px !important;
}

/* Open state */
#products.home-products-open{
    scroll-margin-top:90px;
}

/* Two clean homepage actions */
#products .home-product-tabs{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,210px));
    justify-content:center;
    gap:10px;
    width:min(100%,450px);
    margin:8px auto 14px;
    padding:0 12px;
}

#products .home-product-tab{
    appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:9px 15px;

    border:
        1px solid
        rgba(122,0,25,.23);

    border-radius:12px;

    background:#fff;
    color:#6e1929;

    font:inherit;
    font-size:12px;
    font-weight:750;
    line-height:1.5;

    cursor:pointer;

    box-shadow:none;

    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease;
}

#products .home-product-tab:hover{
    transform:translateY(-1px);
    border-color:
        rgba(122,0,25,.45);
    background:#fff9fa;
}

#products .home-product-tab.active{
    border-color:#7a0019;
    background:#7a0019;
    color:#fff;

    box-shadow:
        0 7px 18px
        rgba(122,0,25,.13);
}

/* Slightly lighter finish before footer */
#products{
    margin-bottom:10px;
}

/* Footer follows immediately after homepage actions/products */
footer#about{
    margin-top:0;
}

/* Responsive */
@media(max-width:700px){

    #products .home-product-tabs{
        grid-template-columns:1fr 1fr;
        width:100%;
        gap:8px;
        padding:0 14px;
    }

    #products .home-product-tab{
        min-height:47px;
        padding:8px 8px;
        border-radius:10px;
        font-size:10.5px;
    }

    #products.home-products-idle{
        padding-top:12px !important;
        padding-bottom:18px !important;
    }
}


/* RAD2 HERO MOTION NEON V1 START */

/* ==================================================
   HERO FRAME
   16:10 desktop / 4:3 mobile
   ================================================== */

.hero-media{
    position:relative !important;
    isolation:isolate;
    aspect-ratio:16 / 10 !important;
    overflow:hidden !important;

    border-radius:22px !important;

    background:
        linear-gradient(
            135deg,
            #4b101d,
            #7a0019 45%,
            #d5ac58
        );

    box-shadow:
        0 22px 55px rgba(61,31,27,.16),
        0 6px 18px rgba(122,0,25,.08);

    transform:translateZ(0);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

/*
 * Oversized rotating conic gradient.
 * The image sits 2px inside it, producing
 * a true moving light orbit around the frame.
 */
.hero-media::before{
    content:"";

    position:absolute;
    z-index:0;

    width:190%;
    aspect-ratio:1;

    top:50%;
    left:50%;

    background:
        conic-gradient(
            from 0deg,

            transparent 0deg,
            rgba(255,255,255,.04) 28deg,

            rgba(122,0,25,.88) 55deg,
            rgba(255,205,116,.95) 77deg,
            rgba(255,244,218,.82) 91deg,

            transparent 125deg,
            transparent 192deg,

            rgba(122,0,25,.72) 220deg,
            rgba(221,174,88,.92) 245deg,

            transparent 280deg,
            transparent 360deg
        );

    transform:
        translate(-50%,-50%)
        rotate(0deg);

    transform-origin:center;

    animation:
        rad2HeroNeonOrbit
        9s
        linear
        infinite;

    pointer-events:none;
}

/* ==================================================
   LIGHT SWEEP
   ================================================== */

.hero-media::after{
    content:"";

    position:absolute;
    z-index:3;

    top:-35%;
    bottom:-35%;

    left:-38%;
    width:24%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            rgba(255,248,225,.52),
            rgba(255,210,135,.20),
            transparent
        );

    filter:blur(2px);

    transform:
        skewX(-18deg)
        translateX(-520%);

    mix-blend-mode:screen;

    animation:
        rad2HeroLightSweep
        6.8s
        cubic-bezier(.4,0,.2,1)
        infinite;

    pointer-events:none;
}

/* ==================================================
   HERO IMAGE
   ================================================== */

.hero-media #heroSlider,
.hero-media img{
    position:relative;
    z-index:1;

    display:block !important;

    width:calc(100% - 4px) !important;
    height:calc(100% - 4px) !important;

    margin:2px !important;

    border-radius:20px !important;

    object-fit:cover !important;
    object-position:center !important;

    will-change:
        opacity,
        transform,
        filter;

    transform:
        scale(1.001);

    transition:
        opacity .50s ease,
        transform .72s cubic-bezier(.22,.61,.36,1),
        filter .50s ease !important;
}

/*
 * Existing JS already toggles .is-changing.
 * We reuse it instead of introducing another
 * dependency into slider logic.
 */
.hero-media #heroSlider.is-changing,
.hero-media img.is-changing{
    opacity:.18 !important;

    transform:
        scale(1.045) !important;

    filter:
        blur(2px)
        brightness(1.04)
        saturate(.92);
}

/* Quiet interaction */
@media (hover:hover){

    .hero-media:hover{
        transform:
            translateY(-2px);

        box-shadow:
            0 27px 62px rgba(61,31,27,.19),
            0 8px 24px rgba(122,0,25,.10);
    }

    .hero-media:hover
    #heroSlider:not(.is-changing){
        transform:
            scale(1.012);
    }
}

/* ==================================================
   CONTROLS
   ================================================== */

.hero-media .hero-controls{
    z-index:7 !important;
}

.hero-media .hero-controls > button{
    border:
        1px solid
        rgba(255,255,255,.52) !important;

    background:
        rgba(255,255,255,.88) !important;

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

    box-shadow:
        0 6px 18px
        rgba(42,23,19,.13) !important;

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

@media (hover:hover){

    .hero-media
    .hero-controls > button:hover{
        transform:
            scale(1.06);

        background:
            rgba(255,255,255,.97) !important;

        box-shadow:
            0 8px 22px
            rgba(42,23,19,.18) !important;
    }
}

.hero-media .hero-dots{
    border:
        1px solid
        rgba(255,255,255,.36);

    background:
        rgba(255,255,255,.78) !important;

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);
}

.hero-media .hero-dot{
    transition:
        width .25s ease,
        background .25s ease,
        transform .25s ease;
}

/* ==================================================
   ANIMATIONS
   ================================================== */

@keyframes rad2HeroNeonOrbit{

    from{
        transform:
            translate(-50%,-50%)
            rotate(0deg);
    }

    to{
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }
}

@keyframes rad2HeroLightSweep{

    0%,
    58%{
        transform:
            skewX(-18deg)
            translateX(-520%);
        opacity:0;
    }

    64%{
        opacity:.82;
    }

    78%{
        opacity:.82;
    }

    87%,
    100%{
        transform:
            skewX(-18deg)
            translateX(760%);
        opacity:0;
    }
}

/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width:900px){

    .hero-media{
        aspect-ratio:4 / 3 !important;
        border-radius:18px !important;
    }

    .hero-media #heroSlider,
    .hero-media img{
        border-radius:16px !important;
    }
}

@media (max-width:560px){

    /*
     * Keep the effect on mobile,
     * but calmer and cheaper to render.
     */

    .hero-media::before{
        animation-duration:12s;
    }

    .hero-media::after{
        width:20%;
        animation-duration:8.5s;
        opacity:.72;
    }

    .hero-media{
        box-shadow:
            0 14px 34px
            rgba(61,31,27,.13);
    }
}

/* Accessibility / user preference */
@media (prefers-reduced-motion:reduce){

    .hero-media::before,
    .hero-media::after{
        animation:none !important;
    }

    .hero-media #heroSlider,
    .hero-media img,
    .hero-media{
        transform:none !important;
        filter:none !important;
    }
}

/* RAD2 HERO MOTION NEON V1 END */


/* RAD2 HERO FULLBLEED + TOPBAR MOTION V1 START */

/* ==================================================
   TOP CONTACT STRIP
   Warm golden moving sheen
   ================================================== */

:is(
    .topbar,
    .top-strip,
    .site-topbar,
    .header-topbar,
    .header-strip,
    .utility-bar,
    .header-meta,
    .contact-strip,
    .announcement-bar
){
    position:relative !important;
    isolation:isolate;
    overflow:hidden !important;

    background:
        linear-gradient(
            90deg,
            #fff8ee 0%,
            #fffaf3 38%,
            #fff4df 100%
        ) !important;

    border-bottom:
        1px solid rgba(194,147,61,.24) !important;
}

:is(
    .topbar,
    .top-strip,
    .site-topbar,
    .header-topbar,
    .header-strip,
    .utility-bar,
    .header-meta,
    .contact-strip,
    .announcement-bar
)::before{
    content:"";

    position:absolute;
    inset:0;
    z-index:0;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            transparent 14%,
            rgba(224,183,92,0.05) 20%,
            rgba(238,205,126,0.42) 27%,
            rgba(255,247,220,0.96) 33%,
            rgba(229,188,97,0.34) 39%,
            transparent 48%,
            transparent 100%
        );

    transform:translateX(-165%);
    animation:
        rad2TopbarSweep 8.8s linear infinite;

    pointer-events:none;
    mix-blend-mode:screen;
}

:is(
    .topbar,
    .top-strip,
    .site-topbar,
    .header-topbar,
    .header-strip,
    .utility-bar,
    .header-meta,
    .contact-strip,
    .announcement-bar
)::after{
    content:"";

    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    z-index:0;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(214,175,89,.82),
            rgba(255,245,211,.95),
            rgba(214,175,89,.82),
            transparent
        );

    opacity:.88;
    pointer-events:none;
}

:is(
    .topbar,
    .top-strip,
    .site-topbar,
    .header-topbar,
    .header-strip,
    .utility-bar,
    .header-meta,
    .contact-strip,
    .announcement-bar
) *{
    position:relative;
    z-index:1;
}

:is(
    .topbar,
    .top-strip,
    .site-topbar,
    .header-topbar,
    .header-strip,
    .utility-bar,
    .header-meta,
    .contact-strip,
    .announcement-bar
) a{
    transition:
        color .2s ease,
        opacity .2s ease;
}

@media (hover:hover){
    :is(
        .topbar,
        .top-strip,
        .site-topbar,
        .header-topbar,
        .header-strip,
        .utility-bar,
        .header-meta,
        .contact-strip,
        .announcement-bar
    ) a:hover{
        color:#8f5d17 !important;
        opacity:1 !important;
    }
}

/* ==================================================
   HERO LAYOUT
   Make image section wider / nearly full-bleed
   ================================================== */

.hero{
    overflow:visible !important;
}

.hero :is(
    .hero-inner,
    .hero-grid,
    .hero-layout,
    .hero-wrap,
    .hero-shell,
    .hero-content-grid
){
    grid-template-columns:minmax(0,1fr) !important;
    gap:clamp(18px, 2vw, 30px) !important;
}

.hero-media{
    grid-column:1 / -1 !important;

    width:calc(100vw - 24px) !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw + 12px) !important;
    margin-right:calc(50% - 50vw + 12px) !important;

    aspect-ratio:16 / 8.6 !important;
    min-height:clamp(360px, 52vw, 780px) !important;

    border-radius:26px !important;
}

.hero-media #heroSlider,
.hero-media img{
    border-radius:24px !important;
}

/* Slightly livelier than V1 */
.hero-media::before{
    animation-duration:7.4s !important;
}

.hero-media::after{
    animation-duration:5.7s !important;
}

@media (min-width:1200px){
    .hero-media{
        width:calc(100vw - 18px) !important;
        margin-left:calc(50% - 50vw + 9px) !important;
        margin-right:calc(50% - 50vw + 9px) !important;
        aspect-ratio:16 / 8.3 !important;
    }
}

@media (max-width:1100px){
    .hero-media{
        width:calc(100vw - 18px) !important;
        margin-left:calc(50% - 50vw + 9px) !important;
        margin-right:calc(50% - 50vw + 9px) !important;
        aspect-ratio:16 / 9 !important;
        min-height:clamp(300px, 50vw, 620px) !important;
    }
}

@media (max-width:900px){
    .hero-media{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        aspect-ratio:4 / 3 !important;
        min-height:auto !important;
        border-radius:18px !important;
    }

    .hero-media #heroSlider,
    .hero-media img{
        border-radius:16px !important;
    }

    :is(
        .topbar,
        .top-strip,
        .site-topbar,
        .header-topbar,
        .header-strip,
        .utility-bar,
        .header-meta,
        .contact-strip,
        .announcement-bar
    )::before{
        animation-duration:10.5s;
    }
}

@media (prefers-reduced-motion:reduce){
    :is(
        .topbar,
        .top-strip,
        .site-topbar,
        .header-topbar,
        .header-strip,
        .utility-bar,
        .header-meta,
        .contact-strip,
        .announcement-bar
    )::before{
        animation:none !important;
        transform:none !important;
    }
}

@keyframes rad2TopbarSweep{
    0%,
    54%{
        transform:translateX(-165%);
        opacity:0;
    }

    60%{
        opacity:1;
    }

    76%{
        opacity:1;
    }

    90%,
    100%{
        transform:translateX(165%);
        opacity:0;
    }
}

/* RAD2 HERO FULLBLEED + TOPBAR MOTION V1 END */


/* RAD2 HOME HERO IMAGE-FIRST V1 START */

/* ==================================================
   FINAL HOME FLOW
   1. Slider image
   2. Slide-specific copy
   3. Categories
   4. Featured / Discount actions
   ================================================== */

.hero{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    align-items:start !important;

    gap:0 !important;

    padding-top:
        clamp(14px,2vw,26px) !important;

    padding-bottom:
        clamp(28px,4vw,48px) !important;

    overflow:visible !important;
}

/* Big slider is always first */
.hero .hero-media{
    order:1 !important;
    grid-column:1 / -1 !important;
}

/* Slide title + description immediately below image */
.hero .hero-copy{
    order:2 !important;

    width:min(
        920px,
        calc(100% - 32px)
    ) !important;

    max-width:920px !important;

    margin:
        clamp(22px,3vw,34px)
        auto
        0 !important;

    padding:
        0
        clamp(4px,1.4vw,14px)
        !important;

    text-align:center !important;
    direction:rtl;

    position:relative !important;
}

/* Tiny premium separator between image and copy */
.hero .hero-copy::before{
    content:"";

    display:block;

    width:54px;
    height:2px;

    margin:
        0 auto
        16px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(208,164,77,.92),
            #f1d59a,
            rgba(208,164,77,.92),
            transparent
        );

    box-shadow:
        0 0 12px
        rgba(213,172,88,.18);
}

/* Keep slide-specific eyebrow subtle */
.hero .hero-copy .eyebrow{
    margin:
        0 0 8px !important;

    text-align:center !important;
}

/* Slide title */
.hero .hero-copy h1{
    max-width:850px;

    margin:
        0 auto
        10px !important;

    font-size:
        clamp(
            28px,
            3.7vw,
            48px
        ) !important;

    line-height:1.45 !important;

    text-align:center !important;
}

/* Slide description */
.hero .hero-copy > p:not(.eyebrow){
    max-width:760px !important;

    margin:
        0 auto !important;

    font-size:
        clamp(
            14px,
            1.5vw,
            18px
        ) !important;

    line-height:2 !important;

    text-align:center !important;
}

/*
 * User wants:
 * slider -> description -> categories.
 * Old Hero CTAs would interrupt that flow.
 */
.hero .hero-buttons{
    display:none !important;
}

/*
 * Remove the old three-item strip between Hero
 * and categories so categories follow directly.
 */
.trust-strip{
    display:none !important;
}

/* Categories follow the slide copy cleanly */
#categories.categories-section{
    padding-top:
        clamp(28px,4vw,48px)
        !important;

    padding-bottom:
        clamp(26px,3.5vw,42px)
        !important;
}

/* Then the two existing homepage product actions */
#products.products-section{
    padding-top:
        clamp(10px,2vw,22px)
        !important;
}

/* Preserve idle state: no cards before clicking */
#products.home-products-idle{
    padding-bottom:
        clamp(28px,4vw,46px)
        !important;
}

/* ==================================================
   RESPONSIVE
   ================================================== */

@media(max-width:900px){

    .hero{
        padding-top:
            12px !important;

        padding-bottom:
            32px !important;
    }

    .hero .hero-media{
        order:1 !important;
    }

    .hero .hero-copy{
        order:2 !important;

        width:
            calc(100% - 28px)
            !important;

        margin-top:
            20px !important;
    }

    .hero .hero-copy h1{
        font-size:
            clamp(
                27px,
                7vw,
                39px
            ) !important;
    }
}

@media(max-width:560px){

    .hero{
        padding-bottom:
            26px !important;
    }

    .hero .hero-copy{
        width:
            calc(100% - 24px)
            !important;

        margin-top:
            17px !important;
    }

    .hero .hero-copy::before{
        width:42px;
        margin-bottom:12px;
    }

    .hero .hero-copy h1{
        margin-bottom:
            8px !important;

        font-size:
            clamp(
                25px,
                7.8vw,
                34px
            ) !important;
    }

    .hero .hero-copy > p:not(.eyebrow){
        font-size:
            14px !important;

        line-height:
            1.9 !important;
    }

    #categories.categories-section{
        padding-top:
            24px !important;
    }

    #products.products-section{
        padding-top:
            6px !important;
    }
}

/* RAD2 HOME HERO IMAGE-FIRST V1 END */


/* RAD2 HOME EDGE + INTERACTION V1 START */

:root{
    --gz-active-green:#4f6a57;
    --gz-active-green-dark:#405647;
    --gz-active-green-soft:#eef3ef;
    --gz-active-green-border:rgba(79,106,87,.42);
    --gz-active-green-glow:rgba(79,106,87,.22);
}

/* ==================================================
   PAGE EDGE LUXURY
   ================================================== */

.rad2-page-edge{
    position:fixed;
    z-index:80;

    top:clamp(118px,14vh,170px);
    bottom:24px;

    width:2px;

    pointer-events:none;

    opacity:.58;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(213,172,88,.20) 12%,
            rgba(122,0,25,.28) 34%,
            rgba(233,198,125,.62) 52%,
            rgba(122,0,25,.24) 72%,
            rgba(213,172,88,.18) 88%,
            transparent 100%
        );

    filter:
        drop-shadow(
            0 0 5px
            rgba(213,172,88,.13)
        );
}

.rad2-page-edge--left{
    left:7px;
}

.rad2-page-edge--right{
    right:7px;
}

.rad2-page-edge::after{
    content:"";

    position:absolute;

    left:-2px;
    top:-82px;

    width:6px;
    height:82px;

    border-radius:999px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(255,246,216,.10),
            rgba(244,211,139,.95),
            rgba(255,250,233,.98),
            rgba(213,172,88,.70),
            transparent
        );

    box-shadow:
        0 0 8px rgba(244,211,139,.30),
        0 0 18px rgba(213,172,88,.14);

    animation:
        rad2EdgeSpark
        8.2s
        cubic-bezier(.45,0,.55,1)
        infinite;
}

.rad2-page-edge--right::after{
    animation-delay:-4.1s;
}

/* ==================================================
   AMBIENT GLOW AROUND CATEGORIES
   ================================================== */

#categories{
    position:relative;
    isolation:isolate;
}

#categories::before,
#categories::after{
    content:"";

    position:absolute;
    z-index:-1;

    width:clamp(180px,24vw,360px);
    aspect-ratio:1;

    border-radius:50%;

    pointer-events:none;

    filter:blur(18px);
}

#categories::before{
    right:-9vw;
    top:5%;

    background:
        radial-gradient(
            circle,
            rgba(122,0,25,.075),
            transparent 68%
        );
}

#categories::after{
    left:-8vw;
    bottom:-4%;

    background:
        radial-gradient(
            circle,
            rgba(213,172,88,.09),
            transparent 68%
        );
}

/* ==================================================
   INTERACTION GREEN
   Green = active / selected / confirmation
   ================================================== */

[data-home-product-mode],
.filter-btn,
.category-card{
    transition:
        background-color .20s ease,
        border-color .20s ease,
        color .20s ease,
        box-shadow .24s ease,
        transform .18s ease !important;
}

/* Press feedback */
[data-home-product-mode]:active,
.filter-btn:active,
.category-card:active{
    background:
        var(--gz-active-green) !important;

    border-color:
        var(--gz-active-green) !important;

    color:#fff !important;

    transform:
        translateY(1px)
        scale(.985) !important;

    box-shadow:
        0 5px 16px
        var(--gz-active-green-glow) !important;
}

/* Persistent active state */
[data-home-product-mode].active,
[data-home-product-mode][aria-pressed="true"],
.filter-btn.active,
.filter-btn[aria-pressed="true"],
.category-card.active,
.category-card[aria-current="true"]{
    background:
        var(--gz-active-green) !important;

    border-color:
        var(--gz-active-green) !important;

    color:#fff !important;

    box-shadow:
        0 8px 22px
        var(--gz-active-green-glow) !important;
}

/* Make nested text follow active state */
[data-home-product-mode].active *,
[data-home-product-mode][aria-pressed="true"] *,
.filter-btn.active *,
.filter-btn[aria-pressed="true"] *,
.category-card.active *,
.category-card[aria-current="true"] *{
    color:inherit !important;
}

/* Hover stays restrained: hint of green, not full green */
@media (hover:hover){

    [data-home-product-mode]:not(.active):hover,
    .filter-btn:not(.active):hover,
    .category-card:not(.active):hover{
        border-color:
            var(--gz-active-green-border) !important;

        box-shadow:
            0 7px 18px
            rgba(79,106,87,.08) !important;

        transform:
            translateY(-1px);
    }

    [data-home-product-mode].active:hover,
    .filter-btn.active:hover,
    .category-card.active:hover{
        background:
            var(--gz-active-green-dark) !important;

        border-color:
            var(--gz-active-green-dark) !important;
    }
}

/* ==================================================
   MOTION
   ================================================== */

@keyframes rad2EdgeSpark{

    0%{
        transform:
            translateY(-8vh);

        opacity:0;
    }

    10%{
        opacity:.9;
    }

    46%{
        opacity:1;
    }

    88%{
        opacity:.85;
    }

    100%{
        transform:
            translateY(calc(100vh - 150px));

        opacity:0;
    }
}

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

@media(max-width:700px){

    .rad2-page-edge{
        width:1px;
        opacity:.38;

        top:110px;
        bottom:12px;
    }

    .rad2-page-edge--left{
        left:3px;
    }

    .rad2-page-edge--right{
        right:3px;
    }

    .rad2-page-edge::after{
        width:4px;
        left:-1.5px;
        height:64px;

        animation-duration:10.5s;
    }

    #categories::before,
    #categories::after{
        opacity:.7;
    }
}

/* ==================================================
   ACCESSIBILITY
   ================================================== */

@media(prefers-reduced-motion:reduce){

    .rad2-page-edge::after{
        animation:none !important;
        display:none;
    }

    [data-home-product-mode],
    .filter-btn,
    .category-card{
        transition:none !important;
    }
}

/* RAD2 HOME EDGE + INTERACTION V1 END */


/* RAD2 INTEGRATED GREEN V2 START */

/*
 * Ganjizadeh interaction green:
 * GREEN IS AN INTERNAL ACCENT.
 * It must never look like a pasted rectangle.
 */

:root{
    --gz-green:#4f6a57;
    --gz-green-dark:#3f5748;
    --gz-green-mid:#789080;

    --gz-green-wash:rgba(79,106,87,.115);
    --gz-green-wash-soft:rgba(79,106,87,.055);

    --gz-green-line:rgba(79,106,87,.48);
    --gz-green-shadow:rgba(79,106,87,.13);
}

/* ==================================================
   PREPARE INTERACTIVE SURFACES
   ================================================== */

[data-home-product-mode],
.filter-btn,
.category-card{
    position:relative !important;
    isolation:isolate;
    overflow:hidden !important;

    /*
     * Preserve each component's existing shape.
     * Green must not create a new rectangle.
     */
    outline:none !important;

    transition:
        color .22s ease,
        border-color .22s ease,
        box-shadow .25s ease,
        transform .18s ease,
        background-color .22s ease
        !important;
}

/* ==================================================
   REMOVE V1 SOLID GREEN BLOCK
   ================================================== */

[data-home-product-mode].active,
[data-home-product-mode][aria-pressed="true"],
.filter-btn.active,
.filter-btn[aria-pressed="true"],
.category-card.active,
.category-card[aria-current="true"]{

    /*
     * Ivory / cream remains visible.
     * Green enters the surface from the inside.
     */
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.97) 0%,
            rgba(247,249,246,.98) 40%,
            rgba(234,241,235,.96) 72%,
            rgba(255,248,235,.97) 100%
        ) !important;

    color:
        var(--gz-green-dark) !important;

    border-color:
        rgba(79,106,87,.22) !important;

    box-shadow:
        inset 0 -24px 42px
            rgba(79,106,87,.075),

        inset 0 1px 0
            rgba(255,255,255,.95),

        0 8px 24px
            rgba(79,106,87,.08)
        !important;

    transform:
        translateY(-1px);
}

/* Text follows the integrated green */
[data-home-product-mode].active *,
[data-home-product-mode][aria-pressed="true"] *,
.filter-btn.active *,
.filter-btn[aria-pressed="true"] *,
.category-card.active *,
.category-card[aria-current="true"] *{
    color:
        var(--gz-green-dark) !important;
}

/* ==================================================
   GREEN LIVES INSIDE THE COMPONENT
   ================================================== */

/*
 * Bottom ambient glow.
 * Not an external border.
 */
[data-home-product-mode]::before,
.filter-btn::before,
.category-card::before{
    content:"";

    position:absolute;
    z-index:-1;

    left:8%;
    right:8%;
    bottom:-34%;

    height:72%;

    border-radius:50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(79,106,87,.24) 0%,
            rgba(79,106,87,.11) 35%,
            transparent 72%
        );

    opacity:0;

    transform:
        translateY(10px)
        scale(.86);

    transition:
        opacity .30s ease,
        transform .34s
            cubic-bezier(.22,.61,.36,1);

    pointer-events:none;
}

/*
 * Tiny internal light signature.
 * It sits INSIDE the selected component.
 */
[data-home-product-mode]::after,
.filter-btn::after,
.category-card::after{
    content:"";

    position:absolute;
    z-index:2;

    left:50%;
    bottom:5px;

    width:0;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(79,106,87,.45),
            rgba(114,143,123,.90),
            rgba(79,106,87,.45),
            transparent
        );

    box-shadow:
        0 0 8px
        rgba(79,106,87,.18);

    transform:
        translateX(-50%);

    opacity:0;

    transition:
        width .34s
            cubic-bezier(.22,.61,.36,1),
        opacity .25s ease;

    pointer-events:none;
}

/* Selected: internal green wakes up */
[data-home-product-mode].active::before,
[data-home-product-mode][aria-pressed="true"]::before,
.filter-btn.active::before,
.filter-btn[aria-pressed="true"]::before,
.category-card.active::before,
.category-card[aria-current="true"]::before{
    opacity:1;

    transform:
        translateY(0)
        scale(1);
}

[data-home-product-mode].active::after,
[data-home-product-mode][aria-pressed="true"]::after,
.filter-btn.active::after,
.filter-btn[aria-pressed="true"]::after,
.category-card.active::after,
.category-card[aria-current="true"]::after{
    width:42%;
    opacity:.9;
}

/* ==================================================
   PRESS EFFECT
   No solid green rectangle.
   ================================================== */

[data-home-product-mode]:active,
.filter-btn:active,
.category-card:active{
    background:
        linear-gradient(
            145deg,
            rgba(250,252,249,.98),
            rgba(226,236,228,.94)
        ) !important;

    color:
        var(--gz-green-dark) !important;

    border-color:
        rgba(79,106,87,.20) !important;

    transform:
        translateY(1px)
        scale(.985) !important;

    box-shadow:
        inset 0 0 28px
            rgba(79,106,87,.12),

        0 4px 12px
            rgba(79,106,87,.07)
        !important;
}

/* ==================================================
   HOVER
   Barely green — just enough to feel alive.
   ================================================== */

@media(hover:hover){

    [data-home-product-mode]:not(.active):hover,
    .filter-btn:not(.active):hover,
    .category-card:not(.active):hover{

        border-color:
            rgba(79,106,87,.20) !important;

        box-shadow:
            inset 0 -16px 28px
                rgba(79,106,87,.035),

            0 7px 20px
                rgba(79,106,87,.055)
            !important;

        transform:
            translateY(-1px);
    }

    [data-home-product-mode]:not(.active):hover::before,
    .filter-btn:not(.active):hover::before,
    .category-card:not(.active):hover::before{
        opacity:.35;

        transform:
            translateY(6px)
            scale(.94);
    }
}

/* ==================================================
   KEYBOARD FOCUS
   Soft rounded glow instead of square browser frame
   ================================================== */

[data-home-product-mode]:focus-visible,
.filter-btn:focus-visible,
.category-card:focus-visible{

    outline:none !important;

    box-shadow:
        inset 0 0 0 1px
            rgba(79,106,87,.18),

        0 0 0 4px
            rgba(79,106,87,.09),

        0 7px 20px
            rgba(79,106,87,.06)
        !important;
}

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

@media(max-width:700px){

    [data-home-product-mode].active::after,
    [data-home-product-mode][aria-pressed="true"]::after,
    .filter-btn.active::after,
    .filter-btn[aria-pressed="true"]::after,
    .category-card.active::after,
    .category-card[aria-current="true"]::after{
        width:34%;
    }
}

/* ==================================================
   REDUCED MOTION
   ================================================== */

@media(prefers-reduced-motion:reduce){

    [data-home-product-mode]::before,
    [data-home-product-mode]::after,
    .filter-btn::before,
    .filter-btn::after,
    .category-card::before,
    .category-card::after{
        transition:none !important;
    }

    [data-home-product-mode],
    .filter-btn,
    .category-card{
        transform:none !important;
    }
}

/* RAD2 INTEGRATED GREEN V2 END */


/* RAD2 HERO TRANSITION SLOW V2 START */

/*
 * Keep the 7-second slide timing.
 * Only slow down the VISUAL image transition.
 */

.hero-media img,
.hero-image img{
    transition:
        opacity .92s cubic-bezier(.22,.61,.36,1),
        transform 1.08s cubic-bezier(.22,.61,.36,1),
        filter .92s ease
        !important;

    will-change:
        opacity,
        transform,
        filter;
}

/*
 * Softer outgoing state:
 * less zoom + less blur = more premium / less aggressive.
 */
.hero-image.is-changing img,
.hero-media .hero-image.is-changing img,
.hero-media img.is-changing{
    opacity:.34 !important;

    transform:
        scale(1.022)
        !important;

    filter:
        blur(.7px)
        brightness(.98)
        saturate(.98)
        !important;
}

/*
 * Hover stays elegant and slow.
 */
@media(hover:hover){

    .hero-media:hover img,
    .hero-image:hover img{
        transition:
            opacity .92s cubic-bezier(.22,.61,.36,1),
            transform 1.20s cubic-bezier(.22,.61,.36,1),
            filter .92s ease
            !important;
    }
}

/*
 * Mobile: slightly faster than desktop
 * so it still feels responsive.
 */
@media(max-width:700px){

    .hero-media img,
    .hero-image img{
        transition:
            opacity .78s cubic-bezier(.22,.61,.36,1),
            transform .92s cubic-bezier(.22,.61,.36,1),
            filter .78s ease
            !important;
    }

    .hero-image.is-changing img,
    .hero-media .hero-image.is-changing img,
    .hero-media img.is-changing{
        transform:
            scale(1.016)
            !important;

        filter:
            blur(.5px)
            brightness(.99)
            saturate(.99)
            !important;
    }
}

@media(prefers-reduced-motion:reduce){

    .hero-media img,
    .hero-image img{
        transition:
            opacity .18s linear
            !important;

        transform:none !important;
        filter:none !important;
    }
}

/* RAD2 HERO TRANSITION SLOW V2 END */


/* RAD2 HERO ULTRA SOFT FADE V1 START */

/*
 * User wants the slide image effect to feel much lighter.
 * So we remove visible blur / zoom / filter drama
 * and keep only a very soft fade.
 */

.hero-media img,
.hero-image img{
    transition:
        opacity .72s ease-in-out !important;

    transform:none !important;
    filter:none !important;
    will-change:opacity;
}

.hero-image.is-changing img,
.hero-media .hero-image.is-changing img,
.hero-media img.is-changing{
    opacity:.58 !important;
    transform:none !important;
    filter:none !important;
}

/*
 * Prevent hover from re-introducing stronger motion.
 */
@media(hover:hover){
    .hero-media:hover img,
    .hero-image:hover img{
        transition:
            opacity .72s ease-in-out !important;

        transform:none !important;
        filter:none !important;
    }
}

/*
 * Mobile stays even lighter and quicker.
 */
@media(max-width:700px){
    .hero-media img,
    .hero-image img{
        transition:
            opacity .58s ease-in-out !important;
    }

    .hero-image.is-changing img,
    .hero-media .hero-image.is-changing img,
    .hero-media img.is-changing{
        opacity:.64 !important;
        transform:none !important;
        filter:none !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .hero-media img,
    .hero-image img{
        transition:
            opacity .14s linear !important;

        transform:none !important;
        filter:none !important;
    }
}

/* RAD2 HERO ULTRA SOFT FADE V1 END */

/* ==================================================
   RAD2 PRODUCT COLOR LINK UI V1
   ================================================== */

.product-color-swatches{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    padding:4px 0;
}

.product-color-swatch{
    appearance:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:7px 12px;
    border:1px solid #eadfd5;
    border-radius:999px;
    background:#fff;
    color:inherit;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-shadow:
        0 3px 10px rgba(45,35,30,.04);
    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.product-color-swatch:hover{
    transform:translateY(-1px);
    border-color:#c7aaa2;
}

.product-color-swatch:focus-visible{
    outline:3px solid rgba(122,0,25,.12);
    outline-offset:2px;
}

.product-color-swatch.is-active{
    border-color:#7a0019;
    background:#fff8f9;
    box-shadow:
        0 0 0 1px rgba(122,0,25,.08),
        0 5px 16px rgba(45,35,30,.08);
}

.product-color-swatch__dot{
    width:24px;
    height:24px;
    border-radius:50%;
    border:3px solid #fff;
    box-shadow:
        0 0 0 1px rgba(45,35,30,.22),
        0 3px 8px rgba(45,35,30,.10);
    flex:0 0 auto;
}

.product-color-swatch.has-image::after{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#7a0019;
    flex:0 0 auto;
}


/* ==================================================
   RAD2 GALLERY COLOR DOCK UI V1
   ================================================== */

.product-gallery-color-dock{
    width:100%;
    box-sizing:border-box;
    margin-top:14px;
    padding:14px 15px 15px;
    border:1px solid rgba(122,0,25,.10);
    border-radius:16px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(250,246,243,.96)
        );
    box-shadow:
        0 8px 28px rgba(45,35,30,.055);
}

.product-gallery-color-dock__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:11px;
}

.product-gallery-color-dock__title{
    font-size:14px;
    font-weight:800;
    color:#332825;
}

.product-gallery-color-dock__active{
    max-width:55%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(122,0,25,.065);
    color:#7a0019;
    font-size:12px;
    font-weight:800;
}

.product-gallery-color-dock
.product-color-swatches{
    padding:0;
    gap:8px;
}

#productImage{
    transition:
        opacity .20s ease,
        transform .22s ease,
        filter .22s ease;
}

#productImage.is-color-switching{
    animation:
        gzProductColorSwitch .42s ease;
}

@keyframes gzProductColorSwitch{
    0%{
        opacity:.72;
        transform:scale(.992);
        filter:brightness(.98);
    }
    55%{
        opacity:1;
        transform:scale(1.006);
        filter:brightness(1.025);
    }
    100%{
        opacity:1;
        transform:scale(1);
        filter:none;
    }
}

@media (max-width: 700px){
    .product-gallery-color-dock{
        margin-top:10px;
        padding:12px;
        border-radius:14px;
    }

    .product-gallery-color-dock__head{
        margin-bottom:10px;
    }

    .product-gallery-color-dock
    .product-color-swatches{
        display:grid;
        grid-template-columns:
            repeat(2,minmax(0,1fr));
        width:100%;
    }

    .product-gallery-color-dock
    .product-color-swatch{
        width:100%;
        justify-content:flex-start;
        min-width:0;
        padding:8px 10px;
    }
}

@media (prefers-reduced-motion: reduce){
    #productImage.is-color-switching{
        animation:none;
    }
}



/* ==========================================================
   RAD2 VARIANT COMMERCE UI V1
   Cart / Invoice / Order variant presentation
   ========================================================== */

.cart-item {
    display: grid;
    grid-template-columns: minmax(110px, 145px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    padding: 20px;
    margin: 0 0 16px;
    background: #fff;
    border: 1px solid rgba(93, 61, 52, .12);
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(58, 38, 33, .06);
}

.cart-item--attention {
    border-color: rgba(143, 84, 44, .35);
    background: linear-gradient(180deg, #fff, #fffaf5);
}

.cart-item__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 16px;
    background: var(--store-surface-soft, #f7f3ef);
}

.cart-item__content {
    min-width: 0;
}

.cart-item__title {
    margin: 0 0 10px;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.7;
}

.cart-variant,
.order-variant-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin: 3px 0 12px;
    padding: 7px 11px;
    border: 1px solid rgba(93, 61, 52, .12);
    border-radius: 999px;
    background: var(--store-surface-soft, #f8f4f0);
    font-size: 13px;
    font-weight: 700;
}

.cart-variant__dot,
.order-variant-dot {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .16);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .9);
}

.cart-variant--warning,
.cart-item__warning {
    color: #7f421f;
    background: #fff4e9;
    border-color: rgba(127, 66, 31, .15);
}

.cart-item__choose-color {
    display: inline-flex;
    margin: 0 0 14px;
    font-weight: 800;
    text-decoration: none;
    color: var(--store-brand, #702c39);
}

.cart-item__price,
.cart-item__line-total {
    margin: 8px 0;
    line-height: 1.9;
}

.cart-item__line-total {
    font-weight: 800;
}

.cart-quantity {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 10px 0;
    padding: 4px;
    border: 1px solid rgba(93, 61, 52, .12);
    border-radius: 999px;
    background: #fff;
}

.cart-quantity button {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border: 0;
    background: var(--store-surface-soft, #f7f3ef);
    cursor: pointer;
    font-size: 19px;
}

.cart-quantity__value {
    min-width: 42px;
    text-align: center;
    font-weight: 800;
}

.cart-item__remove {
    display: inline-flex;
    margin-top: 8px;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: #8a3232;
    cursor: pointer;
    font-weight: 700;
}

.invoice-product-cell {
    min-width: 190px;
}

.invoice-product-name {
    margin-bottom: 7px;
    font-weight: 800;
    line-height: 1.75;
}

.invoice-product-cell .order-variant-chip {
    margin: 0;
    padding: 5px 9px;
    font-size: 12px;
}

.order-item__content .order-variant-chip {
    margin-top: 5px;
    margin-bottom: 9px;
}

@media (max-width: 700px) {
    .cart-item {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 14px;
        padding: 14px;
        border-radius: 16px;
    }

    .cart-item__image {
        border-radius: 13px;
    }

    .cart-item__title {
        font-size: 15px;
    }

    .cart-variant,
    .order-variant-chip {
        font-size: 12px;
    }
}

/* ==========================================================
   RAD2 CART DESKTOP THUMBNAIL V1
   Compact cart product preview on laptop / desktop
   ========================================================== */

@media (min-width: 701px) {
    .cart-item {
        grid-template-columns: 105px minmax(0, 1fr);
        gap: 18px;
        align-items: center;
    }

    .cart-item__image {
        width: 105px;
        height: 105px;
        max-width: 105px;
        aspect-ratio: auto;
        object-fit: contain;
        padding: 6px;
        margin: 0;
        border-radius: 14px;
        background: #fff;
    }
}



/* ==========================================================
   RAD2 CART RESPONSIVE SYSTEM V2
   HOME with GZ
   Desktop / Laptop / Tablet / Mobile
   ========================================================== */


/* ----------------------------------------------------------
   CART PAGE FOUNDATION
   ---------------------------------------------------------- */

body.cart-page {
    --cart-bg:#f7f5f3;
    --cart-surface:#ffffff;
    --cart-surface-soft:#fbf8f5;
    --cart-text:#281f1d;
    --cart-muted:#756b67;
    --cart-line:rgba(72,48,43,.10);
    --cart-brand:#741b35;
    --cart-brand-dark:#591328;
    --cart-danger:#a73737;
    --cart-radius:18px;
    --cart-shadow:
        0 10px 34px rgba(48,35,31,.055);

    margin:0;
    min-width:320px;
    background:var(--cart-bg);
    color:var(--cart-text);
    overflow-x:hidden;
    direction:rtl;
    box-sizing:border-box;
}

body.cart-page *,
body.cart-page *::before,
body.cart-page *::after {
    box-sizing:border-box;
}


/* ----------------------------------------------------------
   PAGE WIDTH
   ---------------------------------------------------------- */

body.cart-page > h1,
body.cart-page #cartItems,
body.cart-page .checkout,
body.cart-page :is(h2,h3,p,div):has(> #totalPrice) {
    width:min(1240px, calc(100% - 40px));
    margin-inline:auto;
}

body.cart-page > h1 {
    margin-top:34px;
    margin-bottom:20px;
    text-align:right;
    font-size:clamp(24px,2.2vw,34px);
    line-height:1.35;
    font-weight:900;
    letter-spacing:-.02em;
}


/* ----------------------------------------------------------
   CART LIST
   ---------------------------------------------------------- */

body.cart-page #cartItems {
    display:grid;
    gap:14px;
}


/* ----------------------------------------------------------
   CART ITEM — DESKTOP DEFAULT
   DOM:
   image / content / remove action
   RTL auto-placement puts image on right
   ---------------------------------------------------------- */

body.cart-page .cart-item {
    display:grid !important;
    grid-template-columns:
        112px
        minmax(0,1fr)
        118px !important;

    align-items:center !important;

    gap:22px !important;

    min-width:0 !important;
    min-height:0 !important;

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

    direction:rtl !important;

    background:var(--cart-surface) !important;

    border:
        1px solid
        var(--cart-line) !important;

    border-radius:
        var(--cart-radius) !important;

    box-shadow:
        var(--cart-shadow) !important;

    overflow:hidden;
}


/* ----------------------------------------------------------
   PRODUCT IMAGE
   ---------------------------------------------------------- */

body.cart-page .cart-item > img,
body.cart-page .cart-item .cart-item__image {
    display:block !important;

    width:112px !important;
    height:112px !important;

    max-width:112px !important;

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

    object-fit:contain !important;

    border-radius:14px !important;

    border:
        1px solid
        rgba(80,54,47,.08);

    background:#fff !important;

    aspect-ratio:1 / 1;
}


/* ----------------------------------------------------------
   ITEM INFORMATION
   ---------------------------------------------------------- */

body.cart-page .cart-item > div,
body.cart-page .cart-item__content {
    min-width:0 !important;

    direction:rtl !important;
    text-align:right !important;

    align-self:center;
}

body.cart-page .cart-item h3 {
    margin:0 0 9px !important;

    color:var(--cart-text);

    font-size:
        clamp(15px,1.15vw,18px) !important;

    font-weight:900 !important;

    line-height:1.6 !important;

    overflow-wrap:anywhere;
}

body.cart-page .cart-item p {
    margin:5px 0 !important;

    color:var(--cart-muted);

    font-size:13px;

    line-height:1.85;
}


/* ----------------------------------------------------------
   COLOR / VARIANT CHIP
   ---------------------------------------------------------- */

body.cart-page .cart-variant,
body.cart-page .order-variant-chip {
    display:inline-flex !important;

    align-items:center;

    gap:7px;

    width:auto !important;
    max-width:100%;

    margin:
        0 0 8px !important;

    padding:
        6px 10px !important;

    border:
        1px solid
        rgba(116,27,53,.10);

    border-radius:999px;

    background:#faf6f1;

    color:#4e403b;

    font-size:12px;
    font-weight:800;
}

body.cart-page .cart-variant__dot,
body.cart-page .order-variant-dot {
    flex:0 0 14px;

    width:14px;
    height:14px;

    border-radius:50%;

    border:
        1px solid
        rgba(0,0,0,.16);

    box-shadow:
        0 0 0 2px #fff;
}


/* ----------------------------------------------------------
   QUANTITY CONTROL
   ---------------------------------------------------------- */

body.cart-page .cart-item
    > div
    > div:has(> button),

body.cart-page .cart-quantity,
body.cart-page .cart-quantity-controls,
body.cart-page .quantity-controls {
    display:inline-flex !important;

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

    gap:3px;

    width:max-content;

    max-width:100%;

    margin:
        11px 0 8px !important;

    padding:3px;

    border:
        1px solid
        rgba(83,55,49,.11);

    border-radius:999px;

    background:var(--cart-surface-soft);
}

body.cart-page .cart-item
    > div
    > div:has(> button)
    > button,

body.cart-page .cart-quantity button,
body.cart-page .cart-quantity-controls button,
body.cart-page .quantity-controls button {
    display:grid;

    place-items:center;

    width:40px;
    height:40px;

    min-width:40px;
    min-height:40px;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:50% !important;

    background:#fff !important;

    color:var(--cart-text) !important;

    font-size:17px;
    font-weight:900;

    cursor:pointer;

    box-shadow:
        0 1px 4px rgba(37,25,21,.07);

    touch-action:manipulation;
}

body.cart-page .cart-item
    > div
    > div:has(> button)
    > span {
    display:grid;

    place-items:center;

    min-width:38px;

    padding:
        0 8px !important;

    font-size:15px;

    font-weight:900 !important;
}


/* ----------------------------------------------------------
   REMOVE BUTTON — DIRECT ITEM ACTION
   ---------------------------------------------------------- */

body.cart-page .cart-item > button,
body.cart-page .cart-item__remove {
    align-self:center;

    justify-self:stretch;

    min-width:0;
    min-height:42px;

    margin:0 !important;

    padding:
        9px 10px !important;

    border:
        1px solid
        rgba(167,55,55,.16) !important;

    border-radius:11px !important;

    background:
        rgba(167,55,55,.045) !important;

    color:
        var(--cart-danger) !important;

    font-size:12px;
    font-weight:800;

    cursor:pointer;

    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

@media (hover:hover) {
    body.cart-page .cart-item > button:hover,
    body.cart-page .cart-item__remove:hover {
        background:
            rgba(167,55,55,.09) !important;

        border-color:
            rgba(167,55,55,.28) !important;

        transform:
            translateY(-1px);
    }
}


/* ----------------------------------------------------------
   LINE TOTAL
   ---------------------------------------------------------- */

body.cart-page .cart-item__total,
body.cart-page .cart-line-total {
    color:
        var(--cart-text) !important;

    font-weight:
        900 !important;
}


/* ----------------------------------------------------------
   MISSING / LEGACY VARIANT WARNING
   ---------------------------------------------------------- */

body.cart-page .cart-item--attention {
    border-color:
        rgba(176,113,31,.22) !important;

    background:
        #fffdf8 !important;
}

body.cart-page .cart-item__warning,
body.cart-page .cart-variant-warning {
    display:block;

    margin:
        8px 0 !important;

    padding:
        9px 11px;

    border-radius:10px;

    background:
        rgba(176,113,31,.08);

    color:#805919 !important;

    font-size:12px;
    font-weight:700;
}

body.cart-page .cart-item__choose-color {
    display:inline-flex;

    align-items:center;

    min-height:38px;

    margin-top:7px;

    padding:
        7px 11px;

    border-radius:9px;

    color:
        var(--cart-brand);

    background:
        rgba(116,27,53,.06);

    text-decoration:none;

    font-size:12px;
    font-weight:900;
}


/* ----------------------------------------------------------
   TOTAL CARD
   ---------------------------------------------------------- */

body.cart-page
:is(h2,h3,p,div):has(> #totalPrice) {
    margin-top:24px;

    margin-bottom:10px;

    padding:
        17px 20px;

    border:
        1px solid
        var(--cart-line);

    border-radius:15px;

    background:
        var(--cart-surface);

    box-shadow:
        0 7px 24px
        rgba(48,35,31,.04);

    text-align:right;

    font-size:
        clamp(17px,1.4vw,21px);

    font-weight:900;
}

body.cart-page #totalPrice {
    color:
        var(--cart-brand);

    font-weight:950;
}


/* ----------------------------------------------------------
   CHECKOUT PANEL
   ---------------------------------------------------------- */

body.cart-page .checkout {
    display:flex !important;

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

    flex-wrap:wrap;

    gap:10px;

    margin-top:10px !important;

    margin-bottom:50px !important;

    padding:
        15px 18px !important;

    direction:rtl;

    border:
        1px solid
        var(--cart-line);

    border-radius:16px;

    background:
        var(--cart-surface);

    box-shadow:
        var(--cart-shadow);
}

body.cart-page #checkoutSubmit {
    display:inline-flex;

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

    min-width:170px;
    min-height:46px;

    padding:
        10px 20px;

    border:
        1px solid
        var(--cart-brand);

    border-radius:11px;

    background:
        var(--cart-brand);

    color:#fff;

    font-family:inherit;
    font-size:14px;
    font-weight:900;

    cursor:pointer;

    transition:
        background .18s ease,
        transform .18s ease,
        opacity .18s ease;
}

@media (hover:hover) {
    body.cart-page #checkoutSubmit:hover {
        background:
            var(--cart-brand-dark);

        transform:
            translateY(-1px);
    }
}

body.cart-page #checkoutSubmit:disabled {
    opacity:.56;

    cursor:not-allowed;

    transform:none;
}

body.cart-page .checkout > a {
    display:inline-flex;

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

    min-height:46px;

    padding:
        10px 16px;

    border:
        1px solid
        rgba(116,27,53,.13);

    border-radius:11px;

    background:
        rgba(116,27,53,.045);

    color:
        var(--cart-brand);

    text-decoration:none;

    font-size:13px;
    font-weight:850;
}

body.cart-page #checkoutStatus {
    flex:
        1 0 100%;

    margin:
        3px 0 0;

    line-height:1.8;

    font-size:12px;
}


/* ----------------------------------------------------------
   CHECKOUT AUTH PROMPT
   ---------------------------------------------------------- */

body.cart-page
#checkoutAuthenticationPrompt {
    flex:
        1 0 100%;

    margin-top:5px;

    padding:
        13px;

    border:
        1px solid
        rgba(116,27,53,.12);

    border-radius:12px;

    background:#fbf7f5;
}

body.cart-page
#checkoutAuthenticationPrompt
button {
    min-height:42px;

    margin:
        7px 5px 0 0;

    padding:
        8px 14px;

    border:
        1px solid
        rgba(116,27,53,.16);

    border-radius:9px;

    background:#fff;

    color:
        var(--cart-brand);

    font-family:inherit;
    font-weight:800;

    cursor:pointer;
}


/* ==========================================================
   LAPTOP / SMALL DESKTOP
   1024 — 1399
   ========================================================== */

@media
(min-width:1024px)
and
(max-width:1399px) {

    body.cart-page > h1,
    body.cart-page #cartItems,
    body.cart-page .checkout,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice) {
        width:
            min(
                1120px,
                calc(100% - 36px)
            );
    }

    body.cart-page .cart-item {
        grid-template-columns:
            100px
            minmax(0,1fr)
            106px !important;

        gap:
            17px !important;

        padding:
            16px 17px !important;
    }

    body.cart-page
    .cart-item > img,
    body.cart-page
    .cart-item
    .cart-item__image {
        width:
            100px !important;

        height:
            100px !important;

        max-width:
            100px !important;
    }
}


/* ==========================================================
   TABLET / IPAD LANDSCAPE + PORTRAIT
   600 — 1023
   ========================================================== */

@media
(min-width:600px)
and
(max-width:1023px) {

    body.cart-page > h1,
    body.cart-page #cartItems,
    body.cart-page .checkout,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice) {
        width:
            calc(100% - 28px);
    }

    body.cart-page > h1 {
        margin-top:25px;
        margin-bottom:16px;
    }

    body.cart-page .cart-item {
        grid-template-columns:
            92px
            minmax(0,1fr)
            92px !important;

        gap:
            14px !important;

        padding:
            15px !important;

        border-radius:
            16px !important;
    }

    body.cart-page
    .cart-item > img,
    body.cart-page
    .cart-item
    .cart-item__image {
        width:
            92px !important;

        height:
            92px !important;

        max-width:
            92px !important;

        padding:
            5px !important;
    }

    body.cart-page .cart-item h3 {
        font-size:
            15px !important;
    }

    body.cart-page .cart-item p {
        font-size:
            12px;
    }

    body.cart-page
    .cart-item > button,
    body.cart-page
    .cart-item__remove {
        min-height:
            44px;
    }
}


/* ==========================================================
   MOBILE
   <= 599
   ========================================================== */

@media (max-width:599px) {

    body.cart-page {
        padding-bottom:
            env(safe-area-inset-bottom);
    }

    body.cart-page > h1,
    body.cart-page #cartItems,
    body.cart-page .checkout,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice) {
        width:
            calc(100% - 20px);
    }

    body.cart-page > h1 {
        margin-top:
            max(
                20px,
                env(safe-area-inset-top)
            );

        margin-bottom:
            14px;

        font-size:
            23px;
    }

    body.cart-page #cartItems {
        gap:
            10px;
    }

    body.cart-page .cart-item {
        grid-template-columns:
            82px
            minmax(0,1fr) !important;

        grid-template-rows:
            auto
            auto;

        align-items:start !important;

        gap:
            11px 12px !important;

        padding:
            13px !important;

        border-radius:
            15px !important;
    }

    body.cart-page
    .cart-item > img,
    body.cart-page
    .cart-item
    .cart-item__image {
        width:
            82px !important;

        height:
            82px !important;

        max-width:
            82px !important;

        padding:
            4px !important;

        border-radius:
            11px !important;
    }

    body.cart-page
    .cart-item > div,
    body.cart-page
    .cart-item__content {
        align-self:start;
    }

    body.cart-page
    .cart-item h3 {
        margin-bottom:
            6px !important;

        font-size:
            14px !important;

        line-height:
            1.65 !important;
    }

    body.cart-page
    .cart-item p {
        margin:
            3px 0 !important;

        font-size:
            11.5px;

        line-height:
            1.75;
    }

    body.cart-page
    .cart-variant,
    body.cart-page
    .order-variant-chip {
        margin-bottom:
            6px !important;

        padding:
            5px 8px !important;

        font-size:
            11px;
    }

    body.cart-page
    .cart-item
        > div
        > div:has(> button),

    body.cart-page
    .cart-quantity,

    body.cart-page
    .cart-quantity-controls,

    body.cart-page
    .quantity-controls {
        margin:
            8px 0 5px !important;
    }

    body.cart-page
    .cart-item
        > div
        > div:has(> button)
        > button,

    body.cart-page
    .cart-quantity button,

    body.cart-page
    .cart-quantity-controls button,

    body.cart-page
    .quantity-controls button {
        width:
            44px;

        height:
            44px;

        min-width:
            44px;

        min-height:
            44px;
    }

    body.cart-page
    .cart-item > button,

    body.cart-page
    .cart-item__remove {
        grid-column:
            1 / -1;

        justify-self:
            stretch;

        min-height:
            42px;

        margin-top:
            1px !important;
    }

    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice) {
        margin-top:
            16px;

        padding:
            14px 15px;

        font-size:
            17px;

        border-radius:
            13px;
    }

    body.cart-page .checkout {
        gap:
            8px;

        margin-top:
            8px !important;

        margin-bottom:
            24px !important;

        padding:
            12px !important;

        border-radius:
            14px;
    }

    body.cart-page
    #checkoutSubmit,

    body.cart-page
    .checkout > a {
        flex:
            1 1 140px;

        min-width:
            0;

        min-height:
            48px;

        padding:
            10px 12px;
    }
}


/* ==========================================================
   VERY SMALL MOBILE
   320 — 420
   ========================================================== */

@media (max-width:420px) {

    body.cart-page > h1,
    body.cart-page #cartItems,
    body.cart-page .checkout,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice) {
        width:
            calc(100% - 14px);
    }

    body.cart-page .cart-item {
        grid-template-columns:
            72px
            minmax(0,1fr) !important;

        gap:
            9px 10px !important;

        padding:
            10px !important;
    }

    body.cart-page
    .cart-item > img,
    body.cart-page
    .cart-item
    .cart-item__image {
        width:
            72px !important;

        height:
            72px !important;

        max-width:
            72px !important;
    }

    body.cart-page
    #checkoutSubmit,

    body.cart-page
    .checkout > a {
        flex:
            1 0 100%;

        width:
            100%;
    }
}


/* ==========================================================
   LARGE / ULTRAWIDE DESKTOP
   ========================================================== */

@media (min-width:1600px) {

    body.cart-page > h1,
    body.cart-page #cartItems,
    body.cart-page .checkout,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice) {
        width:
            1280px;
    }

    body.cart-page .cart-item {
        padding:
            19px 22px !important;
    }
}


/* ==========================================================
   ACCESSIBILITY / MOTION
   ========================================================== */

@media (prefers-reduced-motion:reduce) {

    body.cart-page *,
    body.cart-page *::before,
    body.cart-page *::after {
        scroll-behavior:auto !important;

        transition-duration:
            .01ms !important;

        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;
    }
}


/* ==========================================================
   END RAD2 CART RESPONSIVE SYSTEM V2
   ========================================================== */



/* ==========================================================
   RAD2 CART BRAND ATMOSPHERE V3
   HOME with GZ visual language
   ========================================================== */


/* ----------------------------------------------------------
   PAGE ATMOSPHERE
   ---------------------------------------------------------- */

body.cart-page {
    --gz-cart-burgundy:#741b35;
    --gz-cart-burgundy-dark:#591328;
    --gz-cart-green:#4f6a57;
    --gz-cart-green-dark:#3f5748;

    --gz-cart-cream:#f8f3ed;
    --gz-cart-cream-deep:#f1e8df;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(116,27,53,.065),
            transparent 24%
        ),
        radial-gradient(
            circle at 7% 54%,
            rgba(79,106,87,.055),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #faf8f5 0%,
            #f6f2ee 48%,
            #f8f5f1 100%
        ) !important;

    position:relative;
}

body.cart-page::before {
    content:"";

    position:fixed;
    inset:0;

    pointer-events:none;

    z-index:0;

    box-shadow:
        inset 0 0 130px
        rgba(116,27,53,.025);

    background:
        linear-gradient(
            90deg,
            rgba(116,27,53,.025),
            transparent 8%,
            transparent 92%,
            rgba(79,106,87,.022)
        );
}

body.cart-page > * {
    position:relative;
    z-index:1;
}


/* ----------------------------------------------------------
   PAGE TITLE
   ---------------------------------------------------------- */

body.cart-page > h1 {
    position:relative;

    width:min(
        1240px,
        calc(100% - 40px)
    );

    padding-bottom:14px;

    color:#271d1b;
}

body.cart-page > h1::after {
    content:"";

    display:block;

    width:82px;
    height:3px;

    margin-top:10px;

    margin-right:0;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--gz-cart-burgundy),
            rgba(116,27,53,.42),
            rgba(79,106,87,.45)
        );

    box-shadow:
        0 4px 16px
        rgba(116,27,53,.16);
}


/* ----------------------------------------------------------
   PRODUCT CARDS
   ---------------------------------------------------------- */

body.cart-page .cart-item {
    position:relative;

    isolation:isolate;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.985),
            rgba(252,249,246,.96)
        ) !important;

    border:
        1px solid
        rgba(91,63,55,.105) !important;

    box-shadow:
        0 12px 34px
        rgba(64,43,37,.055),
        0 1px 0
        rgba(255,255,255,.95)
        inset !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

body.cart-page .cart-item::before {
    content:"";

    position:absolute;

    top:0;
    right:22px;
    left:22px;

    height:2px;

    border-radius:
        0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(116,27,53,.33),
            rgba(116,27,53,.55),
            rgba(79,106,87,.30),
            transparent
        );

    opacity:.82;
}

body.cart-page .cart-item::after {
    content:"";

    position:absolute;

    width:145px;
    height:145px;

    top:-70px;
    left:-55px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(116,27,53,.035),
            transparent 68%
        );

    pointer-events:none;

    z-index:-1;
}

@media (hover:hover) {

    body.cart-page .cart-item:hover {
        transform:
            translateY(-2px);

        border-color:
            rgba(116,27,53,.16) !important;

        box-shadow:
            0 17px 42px
            rgba(64,43,37,.075),
            0 0 0 1px
            rgba(116,27,53,.018)
            inset !important;
    }
}


/* ----------------------------------------------------------
   PRODUCT IMAGE FRAME
   ---------------------------------------------------------- */

body.cart-page .cart-item > img,
body.cart-page .cart-item .cart-item__image {
    background:
        linear-gradient(
            145deg,
            #fff,
            #faf4ed
        ) !important;

    border:
        1px solid
        rgba(116,27,53,.085) !important;

    box-shadow:
        0 7px 18px
        rgba(63,42,36,.055);
}


/* ----------------------------------------------------------
   PRODUCT TITLE
   ---------------------------------------------------------- */

body.cart-page .cart-item h3 {
    color:#241b19 !important;

    letter-spacing:-.012em;
}


/* ----------------------------------------------------------
   VARIANT / COLOR
   ---------------------------------------------------------- */

body.cart-page .cart-variant,
body.cart-page .order-variant-chip {
    background:
        linear-gradient(
            135deg,
            rgba(79,106,87,.085),
            rgba(248,243,237,.92)
        ) !important;

    border:
        1px solid
        rgba(79,106,87,.16) !important;

    color:
        #3f5146 !important;

    box-shadow:
        0 3px 10px
        rgba(79,106,87,.045);
}


/* ----------------------------------------------------------
   PRICE TEXT
   ---------------------------------------------------------- */

body.cart-page .cart-item p {
    color:#70645f;
}

body.cart-page .cart-line-total,
body.cart-page .cart-item__total {
    color:
        var(--gz-cart-burgundy) !important;
}


/* ----------------------------------------------------------
   QUANTITY CONTROL
   ---------------------------------------------------------- */

body.cart-page .cart-item
    > div
    > div:has(> button),

body.cart-page .cart-quantity,
body.cart-page .cart-quantity-controls,
body.cart-page .quantity-controls {

    background:
        linear-gradient(
            180deg,
            #faf6f1,
            #f7f0ea
        ) !important;

    border:
        1px solid
        rgba(116,27,53,.10) !important;

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.9);
}

body.cart-page .cart-item
    > div
    > div:has(> button)
    > button,

body.cart-page .cart-quantity button,
body.cart-page .cart-quantity-controls button,
body.cart-page .quantity-controls button {

    color:
        var(--gz-cart-burgundy) !important;

    box-shadow:
        0 2px 7px
        rgba(116,27,53,.07) !important;
}

@media (hover:hover) {

    body.cart-page .cart-item
        > div
        > div:has(> button)
        > button:hover,

    body.cart-page .cart-quantity button:hover,
    body.cart-page .cart-quantity-controls button:hover,
    body.cart-page .quantity-controls button:hover {

        background:
            #fff8f4 !important;

        color:
            var(--gz-cart-burgundy-dark) !important;
    }
}


/* ----------------------------------------------------------
   REMOVE ACTION
   ---------------------------------------------------------- */

body.cart-page .cart-item > button,
body.cart-page .cart-item__remove {

    background:
        linear-gradient(
            180deg,
            rgba(255,250,249,.96),
            rgba(250,239,238,.82)
        ) !important;

    border-color:
        rgba(162,55,55,.16) !important;
}


/* ----------------------------------------------------------
   TOTAL CARD
   ---------------------------------------------------------- */

body.cart-page
:is(h2,h3,p,div):has(> #totalPrice) {

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            110deg,
            rgba(255,255,255,.97),
            rgba(249,241,234,.96)
        ) !important;

    border:
        1px solid
        rgba(116,27,53,.115) !important;

    box-shadow:
        0 12px 32px
        rgba(63,43,37,.055) !important;
}

body.cart-page
:is(h2,h3,p,div):has(> #totalPrice)::before {

    content:"";

    position:absolute;

    top:0;
    right:0;

    width:5px;
    height:100%;

    background:
        linear-gradient(
            180deg,
            var(--gz-cart-burgundy),
            #8e2946,
            var(--gz-cart-green)
        );
}

body.cart-page #totalPrice {
    color:
        var(--gz-cart-burgundy) !important;

    text-shadow:
        0 2px 10px
        rgba(116,27,53,.07);
}


/* ----------------------------------------------------------
   CHECKOUT CARD
   ---------------------------------------------------------- */

body.cart-page .checkout {
    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.98),
            rgba(249,243,237,.96)
        ) !important;

    border:
        1px solid
        rgba(116,27,53,.105) !important;

    box-shadow:
        0 15px 38px
        rgba(63,43,37,.065) !important;
}

body.cart-page .checkout::before {
    content:"";

    position:absolute;

    width:220px;
    height:220px;

    left:-100px;
    bottom:-150px;

    border-radius:50%;

    pointer-events:none;

    background:
        radial-gradient(
            circle,
            rgba(116,27,53,.075),
            transparent 67%
        );
}


/* ----------------------------------------------------------
   PRIMARY CHECKOUT BUTTON
   ---------------------------------------------------------- */

body.cart-page #checkoutSubmit {
    position:relative;

    overflow:hidden;

    border:
        1px solid
        rgba(85,14,37,.8) !important;

    background:
        linear-gradient(
            135deg,
            #7b1d3b,
            #65142f
        ) !important;

    box-shadow:
        0 8px 20px
        rgba(116,27,53,.18),
        inset 0 1px 0
        rgba(255,255,255,.13);

    color:#fff !important;
}

body.cart-page #checkoutSubmit::after {
    content:"";

    position:absolute;

    top:-80%;
    left:-20%;

    width:45%;
    height:260%;

    transform:
        rotate(20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.12),
            transparent
        );

    transition:
        left .45s ease;
}

@media (hover:hover) {

    body.cart-page #checkoutSubmit:hover {
        background:
            linear-gradient(
                135deg,
                #861f40,
                #611129
            ) !important;

        box-shadow:
            0 11px 26px
            rgba(116,27,53,.24);
    }

    body.cart-page #checkoutSubmit:hover::after {
        left:110%;
    }
}


/* ----------------------------------------------------------
   CONTINUE SHOPPING
   ---------------------------------------------------------- */

body.cart-page .checkout > a {
    background:
        linear-gradient(
            180deg,
            #fff,
            #f8f1eb
        ) !important;

    border:
        1px solid
        rgba(116,27,53,.13) !important;

    color:
        var(--gz-cart-burgundy) !important;

    box-shadow:
        0 4px 12px
        rgba(64,43,37,.035);
}


/* ----------------------------------------------------------
   FOCUS ACCESSIBILITY
   ---------------------------------------------------------- */

body.cart-page
:is(button,a):focus-visible {
    outline:
        3px solid
        rgba(79,106,87,.24);

    outline-offset:
        3px;
}


/* ----------------------------------------------------------
   MOBILE — KEEP ATMOSPHERE LIGHT
   ---------------------------------------------------------- */

@media (max-width:599px) {

    body.cart-page {
        background:
            radial-gradient(
                circle at 100% 0,
                rgba(116,27,53,.055),
                transparent 25%
            ),
            linear-gradient(
                180deg,
                #faf7f4,
                #f6f2ee
            ) !important;
    }

    body.cart-page .cart-item::before {
        right:14px;
        left:14px;
    }

    body.cart-page .cart-item::after {
        opacity:.55;
    }

    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice)::before {
        width:4px;
    }

    body.cart-page .checkout::before {
        opacity:.55;
    }
}


/* ----------------------------------------------------------
   REDUCED MOTION
   ---------------------------------------------------------- */

@media (prefers-reduced-motion:reduce) {

    body.cart-page .cart-item,
    body.cart-page #checkoutSubmit,
    body.cart-page #checkoutSubmit::after {
        transition:none !important;
    }

    body.cart-page .cart-item:hover {
        transform:none;
    }
}


/* ==========================================================
   END RAD2 CART BRAND ATMOSPHERE V3
   ========================================================== */


/* ==========================================================
   RAD2 CART MOVING EDGE LIGHT V1
   Inspired by HOME page edge interaction
   ========================================================== */

body.cart-page .cart-item {
    position: relative;
    overflow: hidden;
}

/* replaces the static top accent with a moving edge light */
body.cart-page .cart-item::before {
    content: "";
    position: absolute;

    top: -35%;
    right: -1px;

    width: 2px;
    height: 34%;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(255,255,255,.20) 18%,
            rgba(255,255,255,.95) 50%,
            rgba(255,255,255,.28) 82%,
            transparent 100%
        );

    box-shadow:
        0 0 7px rgba(255,255,255,.75),
        0 0 16px rgba(116,27,53,.20),
        0 0 24px rgba(79,106,87,.12);

    opacity: .9;

    pointer-events: none;
    z-index: 4;

    animation:
        gzCartEdgeTravel 3.6s
        cubic-bezier(.45,.05,.55,.95)
        infinite;
}

body.cart-page .cart-item:nth-child(2n)::before {
    animation-delay: -1.25s;
}

body.cart-page .cart-item:nth-child(3n)::before {
    animation-delay: -2.2s;
}

@keyframes gzCartEdgeTravel {
    0% {
        top: -35%;
        opacity: 0;
    }

    12% {
        opacity: .95;
    }

    48% {
        opacity: 1;
    }

    88% {
        opacity: .9;
    }

    100% {
        top: 108%;
        opacity: 0;
    }
}

/* subtle second reflection on the opposite edge */
body.cart-page .cart-item {
    background-image:
        linear-gradient(
            145deg,
            rgba(255,255,255,.985),
            rgba(252,249,246,.96)
        ) !important;
}

@media (max-width:599px) {

    body.cart-page .cart-item::before {
        width: 2px;
        height: 28%;

        box-shadow:
            0 0 6px rgba(255,255,255,.82),
            0 0 13px rgba(116,27,53,.18);
    }
}

@media (prefers-reduced-motion:reduce) {

    body.cart-page .cart-item::before {
        animation: none;
        display: none;
    }
}

/* END RAD2 CART MOVING EDGE LIGHT V1 */



/* ==========================================================
   RAD2 CART PERIMETER SHINE V2
   1px white gleam travelling around full card perimeter
   ========================================================== */


/* kill the previous wrong vertical edge beam */
body.cart-page .cart-item::before {
    display:none !important;
    animation:none !important;
}


/* remove the burgundy vertical strip from TOTAL card */
body.cart-page
:is(h2,h3,p,div):has(> #totalPrice)::before {
    display:none !important;
}


/* all cart windows that receive the perimeter light */
body.cart-page .cart-item,
body.cart-page
:is(h2,h3,p,div):has(> #totalPrice),
body.cart-page .checkout,
body.cart-page #checkoutAuthenticationPrompt {
    position:relative;
    isolation:isolate;
    overflow:hidden;
}


/* animatable gradient angle */
@property --gz-cart-shine-angle {
    syntax:"<angle>";
    initial-value:0deg;
    inherits:false;
}


/* THE ACTUAL 1PX BORDER LIGHT */
body.cart-page .cart-item::after,
body.cart-page
:is(h2,h3,p,div):has(> #totalPrice)::after,
body.cart-page .checkout::after,
body.cart-page #checkoutAuthenticationPrompt::after {

    content:"";

    position:absolute;
    inset:0;

    padding:1px;

    border-radius:inherit;

    pointer-events:none;

    z-index:20;

    --gz-cart-shine-angle:0deg;

    background:
        conic-gradient(
            from var(--gz-cart-shine-angle),

            transparent 0deg,
            transparent 304deg,

            rgba(255,255,255,0) 312deg,

            rgba(255,255,255,.42) 318deg,

            rgba(255,255,255,.98) 327deg,

            #ffffff 331deg,

            rgba(255,255,255,.72) 335deg,

            rgba(255,255,255,.18) 342deg,

            transparent 351deg,
            transparent 360deg
        );

    -webkit-mask:
        linear-gradient(#000 0 0)
        content-box,
        linear-gradient(#000 0 0);

    -webkit-mask-composite:xor;

    mask:
        linear-gradient(#000 0 0)
        content-box,
        linear-gradient(#000 0 0);

    mask-composite:exclude;

    filter:
        drop-shadow(
            0 0 2px
            rgba(255,255,255,.82)
        );

    animation:
        gzCartPerimeterTravel
        4.8s
        linear
        infinite;
}


/* slightly stagger product cards */
body.cart-page
#cartItems
.cart-item:nth-child(2n)::after {
    animation-delay:-1.6s;
}

body.cart-page
#cartItems
.cart-item:nth-child(3n)::after {
    animation-delay:-3.1s;
}


/* total + checkout should not move perfectly together */
body.cart-page
:is(h2,h3,p,div):has(> #totalPrice)::after {
    animation-delay:-1.1s;
}

body.cart-page .checkout::after {
    animation-delay:-2.4s;
}


@keyframes gzCartPerimeterTravel {

    from {
        --gz-cart-shine-angle:0deg;
    }

    to {
        --gz-cart-shine-angle:360deg;
    }
}


/* mobile: same idea, just a tiny bit brighter */
@media (max-width:599px) {

    body.cart-page .cart-item::after,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice)::after,
    body.cart-page .checkout::after {

        padding:1px;

        filter:
            drop-shadow(
                0 0 2.5px
                rgba(255,255,255,.88)
            );

        animation-duration:4.4s;
    }
}


/* accessibility */
@media (prefers-reduced-motion:reduce) {

    body.cart-page .cart-item::after,
    body.cart-page
    :is(h2,h3,p,div):has(> #totalPrice)::after,
    body.cart-page .checkout::after,
    body.cart-page #checkoutAuthenticationPrompt::after {

        animation:none !important;
        opacity:.35;
    }
}


/* END RAD2 CART PERIMETER SHINE V2 */



/* ==========================================================
   RAD2 CATALOG UI V1
   Desktop toolbar + mobile bottom sheet
   ========================================================== */

.catalog-controls{
    width:min(100%,1280px);
    margin:0 auto 22px;
    position:relative;
    z-index:20;
}

.catalog-toolbar{
    display:grid;
    grid-template-columns:auto minmax(190px,240px) 1fr;
    align-items:center;
    gap:12px;

    padding:12px 14px;

    border:
        1px solid
        rgba(122,0,25,.10);

    border-radius:18px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.97),
            rgba(255,249,240,.96)
        );

    box-shadow:
        0 10px 30px
        rgba(74,43,31,.055);
}


.catalog-filter-toggle,
.catalog-load-more,
.catalog-filter-apply,
.catalog-filter-reset,
.catalog-filter-close{
    font:inherit;
}


.catalog-filter-toggle{
    min-height:44px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:9px 16px;

    border:
        1px solid
        rgba(122,0,25,.18);

    border-radius:12px;

    background:#fff;

    color:
        var(--store-brand,#7a0019);

    cursor:pointer;
}


.catalog-filter-badge{
    min-width:22px;
    height:22px;

    display:inline-grid;
    place-items:center;

    padding:0 6px;

    border-radius:999px;

    background:
        var(--gz-green,#4f6a57);

    color:#fff;

    font-size:12px;
    font-weight:800;
}


.catalog-sort{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:8px;

    color:
        var(--store-text,#33251f);

    font-size:13px;
}


.catalog-sort select,
.catalog-filter-fields select{
    width:100%;
    min-height:44px;

    border:
        1px solid
        rgba(122,0,25,.14);

    border-radius:11px;

    background:#fff;

    color:
        var(--store-text,#33251f);

    padding:8px 10px;

    font:inherit;
}


.catalog-result-count{
    justify-self:end;

    color:
        rgba(51,37,31,.68);

    font-size:13px;
}


.catalog-active-filters{
    display:flex;
    flex-wrap:wrap;
    gap:7px;

    margin-top:10px;
}


.catalog-active-filters:empty{
    display:none;
}


.catalog-filter-chip{
    display:inline-flex;
    align-items:center;
    gap:5px;

    padding:7px 10px;

    border:
        1px solid
        rgba(79,106,87,.18);

    border-radius:999px;

    background:
        rgba(79,106,87,.055);

    color:
        var(--gz-green-dark,#3f5748);

    font-size:12px;
}


.catalog-filter-panel{
    position:absolute;
    z-index:101;

    top:calc(100% + 10px);
    right:0;

    width:min(380px,92vw);

    padding:18px;

    border:
        1px solid
        rgba(122,0,25,.10);

    border-radius:18px;

    background:
        rgba(255,252,247,.985);

    box-shadow:
        0 24px 65px
        rgba(57,34,27,.16);
}


.catalog-filter-panel__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    margin-bottom:18px;
}


.catalog-filter-panel__head h3{
    margin:0;
    font-size:18px;
    color:
        var(--store-brand,#7a0019);
}


.catalog-filter-close{
    width:40px;
    height:40px;

    border:0;
    border-radius:50%;

    background:
        rgba(122,0,25,.055);

    color:
        var(--store-brand,#7a0019);

    font-size:25px;
    cursor:pointer;
}


.catalog-filter-fields{
    display:grid;
    gap:15px;
}


.catalog-filter-fields label{
    display:grid;
    gap:7px;

    color:
        var(--store-text,#33251f);

    font-size:13px;
    font-weight:700;
}


.catalog-filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;

    margin-top:20px;
}


.catalog-filter-reset,
.catalog-filter-apply{
    min-height:46px;

    border-radius:12px;

    cursor:pointer;
}


.catalog-filter-reset{
    border:
        1px solid
        rgba(122,0,25,.14);

    background:#fff;

    color:
        var(--store-brand,#7a0019);
}


.catalog-filter-apply{
    border:
        1px solid
        var(--store-brand,#7a0019);

    background:
        var(--store-brand,#7a0019);

    color:#fff;
}


.catalog-filter-backdrop{
    display:none;
}


.catalog-load-more-wrap{
    width:min(100%,1280px);

    margin:
        24px auto
        8px;

    text-align:center;
}


.catalog-load-more{
    min-width:190px;
    min-height:48px;

    padding:10px 20px;

    border:
        1px solid
        rgba(122,0,25,.18);

    border-radius:999px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fff8ee
        );

    color:
        var(--store-brand,#7a0019);

    font-weight:800;
    cursor:pointer;

    box-shadow:
        0 8px 24px
        rgba(74,43,31,.06);
}


.catalog-progress{
    display:block;

    margin-top:8px;

    color:
        rgba(51,37,31,.58);

    font-size:12px;
}


@media (hover:hover){

    .catalog-filter-toggle:hover,
    .catalog-load-more:hover{
        border-color:
            rgba(79,106,87,.32);

        box-shadow:
            0 8px 22px
            rgba(79,106,87,.07);
    }
}


@media (max-width:900px){

    .catalog-toolbar{
        grid-template-columns:
            auto
            minmax(160px,1fr);

        gap:9px;
    }

    .catalog-result-count{
        grid-column:1 / -1;
        justify-self:start;
    }
}


@media (max-width:700px){

    .catalog-controls{
        margin-bottom:14px;
    }

    .catalog-toolbar{
        grid-template-columns:
            1fr 1fr;

        padding:9px;

        border-radius:14px;
    }

    .catalog-filter-toggle,
    .catalog-sort select{
        min-height:46px;
    }

    .catalog-sort{
        display:block;
    }

    .catalog-sort > span{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
    }

    .catalog-result-count{
        grid-column:1 / -1;
        padding-inline:3px;
    }

    .catalog-filter-backdrop:not([hidden]){
        display:block;

        position:fixed;
        z-index:1198;

        inset:0;

        background:
            rgba(30,20,18,.32);

        backdrop-filter:
            blur(2px);

        -webkit-backdrop-filter:
            blur(2px);
    }

    .catalog-filter-panel:not([hidden]){
        position:fixed;
        z-index:1199;

        top:auto;
        right:0;
        bottom:0;
        left:0;

        width:100%;
        max-height:min(78vh,680px);

        overflow:auto;

        padding:
            18px
            18px
            calc(
                18px +
                env(safe-area-inset-bottom)
            );

        border-radius:
            22px 22px 0 0;

        box-shadow:
            0 -18px 50px
            rgba(34,22,18,.18);
    }

    .catalog-filter-actions{
        position:sticky;
        bottom:0;

        padding-top:12px;

        background:
            rgba(255,252,247,.97);
    }

    .catalog-active-filters{
        overflow-x:auto;
        flex-wrap:nowrap;

        padding-bottom:3px;

        scrollbar-width:none;
    }

    .catalog-active-filters::-webkit-scrollbar{
        display:none;
    }
}


@media (max-width:420px){

    .catalog-toolbar{
        grid-template-columns:1fr;
    }

    .catalog-result-count{
        grid-column:auto;
    }
}


@media (prefers-reduced-motion:reduce){

    .catalog-filter-panel,
    .catalog-load-more,
    .catalog-filter-toggle{
        transition:none !important;
    }
}


/* RAD2 CATALOG UI V1 END */



/* RAD2 CATALOG DATA WIRING V1 */

.catalog-filter-chip{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    font:inherit;
}

.catalog-filter-chip:hover{
    border-color:
        rgba(79,106,87,.32);
}

.catalog-load-more:disabled{
    opacity:.55;
    cursor:wait;
}

body.catalog-filter-open{
    overflow:hidden;
}

/* RAD2 CATALOG DATA WIRING V1 END */



/* ==================================================
   RAD2 QUICK SHOP V1
   ================================================== */

body.quick-shop-open{
    overflow:hidden;
}

.quick-shop-backdrop{
    position:fixed;
    inset:0;
    z-index:10000;
    display:grid;
    place-items:center;
    padding:24px;
    background:rgba(25,15,17,.44);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.quick-shop-backdrop[hidden]{
    display:none;
}

.quick-shop-dialog{
    position:relative;
    width:min(880px,100%);
    max-height:min(720px,92vh);
    overflow:auto;
    display:grid;
    grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);
    background:var(--store-card,#fffdfb);
    border:1px solid rgba(122,0,25,.14);
    border-radius:24px;
    box-shadow:0 28px 90px rgba(38,13,18,.24);
}

.quick-shop-close{
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(122,0,25,.16);
    border-radius:999px;
    background:rgba(255,255,255,.9);
    color:#5d1825;
    font:400 28px/1 sans-serif;
    cursor:pointer;
}

.quick-shop-media{
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f7f1eb;
    border-radius:0 24px 24px 0;
}

.quick-shop-media img{
    display:block;
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:contain;
    transition:opacity .18s ease;
}

.quick-shop-body{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:46px 38px 34px;
}

.quick-shop-meta{
    margin:0 0 8px;
    color:#85746e;
    font-size:13px;
}

.quick-shop-body h3{
    margin:0;
    color:var(--store-text,#34191e);
    font-size:clamp(20px,2.2vw,29px);
    line-height:1.65;
}

.quick-shop-price{
    margin:12px 0 24px;
    color:#74182a;
    font-weight:800;
    font-size:17px;
}

.quick-shop-hint{
    margin:0 0 12px;
    color:#594a46;
    font-size:14px;
    font-weight:650;
}

.quick-shop-colors{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.quick-shop-swatch{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 10px;
    border:1px solid #ded2cc;
    border-radius:999px;
    background:#fff;
    color:#41322f;
    font:inherit;
    cursor:pointer;
    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.quick-shop-swatch:hover{
    transform:translateY(-1px);
    border-color:#aa7c7f;
}

.quick-shop-swatch.is-selected{
    border-color:#751729;
    box-shadow:0 0 0 2px rgba(117,23,41,.10);
}

.quick-shop-swatch-dot{
    width:20px;
    height:20px;
    flex:0 0 20px;
    border:1px solid rgba(0,0,0,.13);
    border-radius:999px;
}

.quick-shop-status{
    min-height:24px;
    margin:15px 0 4px;
    color:#6d2633;
    font-size:13px;
}

.quick-shop-actions{
    margin-top:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding-top:22px;
}

.quick-shop-add,
.quick-shop-details{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:12px;
    font:inherit;
    font-weight:750;
    text-align:center;
    text-decoration:none;
}

.quick-shop-add{
    border:1px solid #751729;
    background:#751729;
    color:#fff;
    cursor:pointer;
}

.quick-shop-add:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.quick-shop-details{
    border:1px solid rgba(117,23,41,.22);
    background:#fff;
    color:#751729;
}


@media (max-width:700px){

    .quick-shop-backdrop{
        place-items:end center;
        padding:0;
    }

    .quick-shop-dialog{
        width:100%;
        max-height:92vh;
        grid-template-columns:1fr;
        border-radius:22px 22px 0 0;
    }

    .quick-shop-close{
        top:12px;
        left:12px;
    }

    .quick-shop-media{
        min-height:0;
        height:min(44vh,360px);
        border-radius:22px 22px 0 0;
    }

    .quick-shop-media img{
        min-height:0;
        height:100%;
    }

    .quick-shop-body{
        padding:24px 18px 22px;
    }

    .quick-shop-actions{
        grid-template-columns:1fr;
    }
}


@media (prefers-reduced-motion:reduce){

    .quick-shop-swatch,
    .quick-shop-media img{
        transition:none;
    }
}



/* ==================================================
   RAD2 MINI CART V1
   Desktop drawer + Mobile bottom sheet
   ================================================== */

body.mini-cart-open{
    overflow:hidden;
}

.mini-cart-backdrop{
    position:fixed;
    inset:0;
    z-index:12000;
    display:flex;
    justify-content:flex-start;
    background:rgba(31,18,15,.35);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
    opacity:0;
    visibility:hidden;
    transition:
        opacity .22s ease,
        visibility .22s ease;
}

.mini-cart-backdrop[hidden]{
    display:none;
}

.mini-cart-backdrop.is-open{
    opacity:1;
    visibility:visible;
}

.mini-cart-panel{
    position:relative;
    width:min(440px,92vw);
    height:100%;
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(122,0,25,.08),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #fffdfb 0%,
            #fff8f3 100%
        );
    border-inline-end:1px solid rgba(122,0,25,.12);
    box-shadow:
        18px 0 60px rgba(42,22,18,.22);
    transform:translateX(-104%);
    transition:
        transform .28s cubic-bezier(.2,.75,.2,1);
    overflow:hidden;
    direction:rtl;
}

.mini-cart-backdrop.is-open
.mini-cart-panel{
    transform:translateX(0);
}

.mini-cart-panel::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            115deg,
            transparent 0 38%,
            rgba(255,255,255,.52) 49%,
            transparent 60%
        );
    transform:translateX(-140%);
    opacity:.42;
    animation:
        rad2MiniCartGlow
        8s linear infinite;
}

@keyframes rad2MiniCartGlow{
    to{
        transform:translateX(140%);
    }
}

.mini-cart-header{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:24px 22px 18px;
    border-bottom:
        1px solid rgba(122,0,25,.1);
}

.mini-cart-header h2{
    margin:3px 0 3px;
    color:#3a211c;
    font-size:24px;
    line-height:1.25;
}

.mini-cart-eyebrow{
    display:block;
    color:#7a0019;
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em;
}

.mini-cart-count{
    color:#8b736a;
    font-size:12px;
}

.mini-cart-close{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border:
        1px solid rgba(122,0,25,.14);
    border-radius:50%;
    background:rgba(255,255,255,.76);
    color:#7a0019;
    font-size:26px;
    line-height:1;
    cursor:pointer;
    transition:
        transform .18s ease,
        background .18s ease;
}

.mini-cart-status{
    position:relative;
    z-index:1;
    min-height:0;
    margin:0;
    padding:0 22px;
    color:#806b62;
    font-size:12px;
}

.mini-cart-status:not(:empty){
    padding-top:10px;
    padding-bottom:4px;
}

.mini-cart-status[data-state="error"]{
    color:#a12a35;
}

.mini-cart-list{
    position:relative;
    z-index:1;
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    padding:14px 18px 24px;
    scrollbar-width:thin;
}

.mini-cart-item{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:13px;
    margin:0 0 12px;
    padding:12px;
    border:
        1px solid rgba(122,0,25,.1);
    border-radius:18px;
    background:
        rgba(255,255,255,.76);
    box-shadow:
        0 9px 25px rgba(75,45,35,.07);
}

.mini-cart-item__media{
    display:block;
    overflow:hidden;
    aspect-ratio:1;
    border-radius:13px;
    background:#fff;
}

.mini-cart-item__image{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.mini-cart-item__content{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.mini-cart-item__title{
    max-width:100%;
    overflow:hidden;
    color:#3a211c;
    font-size:13px;
    font-weight:800;
    line-height:1.55;
    text-decoration:none;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.mini-cart-variant{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:5px;
    padding:4px 8px;
    border-radius:999px;
    background:#fff2eb;
    color:#705a51;
    font-size:11px;
}

.mini-cart-variant__dot{
    width:11px;
    height:11px;
    flex:0 0 11px;
    border-radius:50%;
    border:1px solid rgba(0,0,0,.15);
}

.mini-cart-item__warning{
    margin-top:5px;
    color:#9e2437;
    font-size:11px;
    font-weight:700;
}

.mini-cart-item__price{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-top:8px;
    color:#604840;
    font-size:11px;
}

.mini-cart-item__price del{
    color:#a18c84;
}

.mini-cart-item__price strong{
    color:#7a0019;
}

.mini-cart-item__controls{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:9px;
}

.mini-cart-qty__button{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:
        1px solid rgba(122,0,25,.14);
    border-radius:8px;
    background:#fff;
    color:#7a0019;
    font-size:17px;
    cursor:pointer;
}

.mini-cart-qty__value{
    min-width:27px;
    text-align:center;
    color:#4e3932;
    font-size:12px;
    font-weight:800;
}

.mini-cart-item__remove{
    min-height:28px;
    margin-inline-start:3px;
    padding:3px 8px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#9b6b69;
    font:inherit;
    font-size:10px;
    cursor:pointer;
}

.mini-cart-item__total{
    margin-top:auto;
    padding-top:8px;
    color:#412b25;
    font-size:12px;
    font-weight:900;
}

.mini-cart-empty{
    display:grid;
    place-items:center;
    align-content:center;
    min-height:260px;
    padding:30px;
    text-align:center;
}

.mini-cart-empty strong{
    color:#4a3029;
    font-size:19px;
}

.mini-cart-empty p{
    max-width:250px;
    margin:9px 0 0;
    color:#8a746b;
    font-size:13px;
    line-height:1.8;
}

.mini-cart-footer{
    position:relative;
    z-index:1;
    padding:
        16px 20px
        max(18px,env(safe-area-inset-bottom));
    border-top:
        1px solid rgba(122,0,25,.1);
    background:
        rgba(255,251,247,.94);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.mini-cart-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    color:#574039;
    font-size:13px;
}

.mini-cart-total strong{
    color:#7a0019;
    font-size:18px;
}

.mini-cart-actions{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}

.mini-cart-primary,
.mini-cart-secondary{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    font:inherit;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}

.mini-cart-primary{
    border:1px solid #7a0019;
    background:
        linear-gradient(
            135deg,
            #710018,
            #8d0a28
        );
    color:#fff;
    box-shadow:
        0 10px 22px rgba(122,0,25,.18);
}

.mini-cart-secondary{
    padding-inline:14px;
    border:
        1px solid rgba(122,0,25,.16);
    background:#fff;
    color:#7a0019;
}

@media (hover:hover){

    .mini-cart-close:hover{
        transform:rotate(8deg);
        background:#fff;
    }

    .mini-cart-item{
        transition:
            transform .18s ease,
            box-shadow .18s ease;
    }

    .mini-cart-item:hover{
        transform:translateY(-1px);
        box-shadow:
            0 13px 30px rgba(75,45,35,.1);
    }

    .mini-cart-qty__button:hover{
        background:#fff1ec;
    }

    .mini-cart-item__remove:hover{
        color:#7a0019;
        background:#fff0ec;
    }
}

@media (max-width:700px){

    .mini-cart-backdrop{
        align-items:flex-end;
        justify-content:stretch;
    }

    .mini-cart-panel{
        width:100%;
        height:min(82dvh,720px);
        border-inline-end:0;
        border-top:
            1px solid rgba(122,0,25,.12);
        border-radius:24px 24px 0 0;
        box-shadow:
            0 -18px 55px rgba(42,22,18,.22);
        transform:translateY(104%);
    }

    .mini-cart-backdrop.is-open
    .mini-cart-panel{
        transform:translateY(0);
    }

    .mini-cart-panel::after{
        content:"";
        position:absolute;
        top:7px;
        left:50%;
        width:42px;
        height:4px;
        border-radius:999px;
        background:
            rgba(80,52,45,.2);
        transform:translateX(-50%);
    }

    .mini-cart-header{
        padding:
            22px 16px 14px;
    }

    .mini-cart-list{
        padding:
            12px 12px 20px;
    }

    .mini-cart-item{
        grid-template-columns:
            82px minmax(0,1fr);
        gap:10px;
        padding:10px;
        border-radius:15px;
    }

    .mini-cart-actions{
        grid-template-columns:1fr;
    }

    .mini-cart-secondary{
        min-height:40px;
    }
}

@media (max-width:390px){

    .mini-cart-panel{
        height:86dvh;
    }

    .mini-cart-item{
        grid-template-columns:
            72px minmax(0,1fr);
    }

    .mini-cart-header h2{
        font-size:21px;
    }
}

@media (prefers-reduced-motion:reduce){

    .mini-cart-backdrop,
    .mini-cart-panel,
    .mini-cart-close,
    .mini-cart-item{
        transition:none !important;
    }

    .mini-cart-panel::before{
        animation:none !important;
        display:none;
    }
}

/* END RAD2 MINI CART V1 */


/* ==================================================
   RAD2 WISHLIST + SAVE FOR LATER UI V1
   ================================================== */

.product-card,
.discovery-card{
    position:relative;
}

.gz-wishlist-heart{
    position:absolute;
    z-index:5;
    top:12px;
    left:12px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(122,0,25,.16);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#7a0019;
    box-shadow:0 7px 22px rgba(76,32,40,.09);
    backdrop-filter:blur(10px);
    font-size:23px;
    line-height:1;
    cursor:pointer;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.gz-wishlist-heart:hover{
    transform:translateY(-2px);
    box-shadow:
        0 9px 26px rgba(122,0,25,.15);
}

.gz-wishlist-heart.is-active{
    color:#fff;
    background:#7a0019;
    border-color:#7a0019;
}

.gz-wishlist-heart:disabled,
.gz-product-wishlist:disabled{
    opacity:.62;
    cursor:wait;
}

.gz-product-wishlist{
    min-height:44px;
    padding:9px 16px;
    border:1px solid rgba(122,0,25,.22);
    border-radius:12px;
    background:#fffaf6;
    color:#7a0019;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.gz-product-wishlist.is-active{
    background:#7a0019;
    color:#fff;
}

.gz-save-for-later,
.gz-mini-save{
    border:0;
    background:transparent;
    color:#7a0019;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
}

.gz-save-for-later{
    margin-top:10px;
}

.gz-mini-save{
    padding:5px 8px;
}

.gz-save-for-later:hover,
.gz-mini-save:hover{
    text-decoration:underline;
}

.gz-save-for-later:disabled,
.gz-mini-save:disabled{
    opacity:.5;
    cursor:not-allowed;
    text-decoration:none;
}

.gz-saved-section{
    margin:24px 0;
    padding:22px;
    border:1px solid rgba(122,0,25,.11);
    border-radius:22px;
    background:
        radial-gradient(
            circle at 12% 0%,
            rgba(122,0,25,.055),
            transparent 35%
        ),
        #fffaf6;
    box-shadow:
        0 16px 45px rgba(63,36,32,.07);
}

.gz-saved-section[hidden]{
    display:none;
}

.gz-saved-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}

.gz-saved-heading h2{
    margin:0;
    color:#4b1c26;
    font-size:20px;
}

.gz-saved-heading span{
    color:#806c63;
    font-size:13px;
}

.gz-saved-list{
    display:grid;
    gap:12px;
}

.gz-saved-card{
    display:grid;
    grid-template-columns:86px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:12px;
    border:1px solid rgba(122,0,25,.09);
    border-radius:16px;
    background:#fff;
}

.gz-saved-media{
    width:86px;
    height:86px;
    display:block;
    overflow:hidden;
    border-radius:13px;
    background:#f7f2ed;
}

.gz-saved-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.gz-saved-card__body{
    min-width:0;
    display:grid;
    gap:7px;
}

.gz-saved-title{
    color:#311f1d;
    font-weight:800;
    text-decoration:none;
}

.gz-saved-variant{
    display:flex;
    align-items:center;
    gap:7px;
    color:#66554d;
    font-size:13px;
}

.gz-saved-variant i{
    width:13px;
    height:13px;
    border-radius:999px;
    border:1px solid rgba(0,0,0,.14);
}

.gz-saved-qty{
    color:#806c63;
    font-size:13px;
}

.gz-saved-actions{
    display:grid;
    gap:7px;
}

.gz-saved-move,
.gz-saved-remove{
    min-height:38px;
    padding:8px 13px;
    border-radius:10px;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.gz-saved-move{
    border:0;
    background:#7a0019;
    color:#fff;
}

.gz-saved-remove{
    border:1px solid rgba(122,0,25,.18);
    background:#fff;
    color:#7a0019;
}

.gz-profile-wishlist{
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid rgba(122,0,25,.12);
}

.gz-profile-wishlist h2{
    margin:0 0 16px;
    color:#4b1c26;
}

.gz-profile-wishlist-grid{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:12px;
}

.gz-profile-wish-card{
    display:grid;
    gap:9px;
    padding:11px;
    border:1px solid rgba(122,0,25,.1);
    border-radius:15px;
    background:#fffaf6;
}

.gz-profile-wish-card img{
    width:100%;
    aspect-ratio:1/1;
    display:block;
    object-fit:contain;
    border-radius:11px;
    background:#fff;
}

.gz-profile-wish-name{
    color:#321f1d;
    font-weight:700;
    text-decoration:none;
}

.gz-profile-wish-remove{
    border:0;
    padding:5px 0;
    background:transparent;
    color:#7a0019;
    text-align:right;
    font:inherit;
    font-size:12px;
    cursor:pointer;
}

.gz-profile-wishlist-empty{
    grid-column:1/-1;
    margin:0;
    padding:18px;
    border-radius:12px;
    background:#fffaf6;
    color:#75625a;
}


@media(max-width:700px){

    .gz-wishlist-heart{
        top:9px;
        left:9px;
        width:35px;
        height:35px;
        font-size:21px;
    }

    .gz-product-wishlist{
        width:100%;
    }

    .gz-saved-section{
        margin:18px 0;
        padding:15px;
        border-radius:18px;
    }

    .gz-saved-card{
        grid-template-columns:70px minmax(0,1fr);
        gap:11px;
    }

    .gz-saved-media{
        width:70px;
        height:70px;
    }

    .gz-saved-actions{
        grid-column:1/-1;
        grid-template-columns:1fr 1fr;
    }

    .gz-profile-wishlist-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}


@media(max-width:390px){

    .gz-profile-wishlist-grid{
        grid-template-columns:1fr;
    }
}


@media(prefers-reduced-motion:reduce){

    .gz-wishlist-heart{
        transition:none;
    }
}

/* END RAD2 WISHLIST + SAVE FOR LATER UI V1 */


/* ==================================================
   RAD2 PROFILE POLISH V1
   Lightweight Premium Customer Profile
   ================================================== */


body.gz-profile-polish-v1{
    background:
        radial-gradient(
            circle at 12% 12%,
            rgba(122,0,25,.065),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 22%,
            rgba(212,170,104,.10),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #f8f5f1 0%,
            #fffdfa 46%,
            #f5efeb 100%
        );
}


.gz-profile-polish-root{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:
        1px solid
        rgba(122,0,25,.07);
    border-radius:26px;
    background:
        rgba(255,255,255,.91);
    box-shadow:
        0 24px 70px
        rgba(63,35,31,.09);
    backdrop-filter:
        blur(10px);
}


.gz-profile-polish-root::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:-1px;
    pointer-events:none;
    border-radius:inherit;
    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.9),
            rgba(122,0,25,.035),
            rgba(216,179,116,.08)
        );
    opacity:.72;
}


.gz-profile-hero{
    --gz-rx:0deg;
    --gz-ry:0deg;

    position:relative;
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        170px;
    align-items:center;
    gap:22px;
    min-height:190px;
    margin:
        6px 6px 28px;
    padding:
        34px 38px;
    overflow:hidden;

    border:
        1px solid
        rgba(122,0,25,.09);
    border-radius:22px;

    background:
        radial-gradient(
            circle at 82% 24%,
            rgba(217,176,106,.17),
            transparent 26%
        ),
        linear-gradient(
            115deg,
            rgba(255,250,246,.98),
            rgba(255,255,255,.96)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.95),
        0 18px 42px
        rgba(94,52,48,.07);

    transform:
        perspective(900px)
        rotateX(var(--gz-rx))
        rotateY(var(--gz-ry));

    transform-style:
        preserve-3d;

    transition:
        transform .24s ease,
        box-shadow .24s ease;
}


.gz-profile-hero:hover{
    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.96),
        0 22px 52px
        rgba(94,52,48,.11);
}


.gz-profile-hero__copy{
    position:relative;
    z-index:2;
}


.gz-profile-hero__eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    margin-bottom:12px;
    padding:
        6px 12px;

    border:
        1px solid
        rgba(122,0,25,.12);
    border-radius:999px;

    background:
        rgba(122,0,25,.045);

    color:#84001d;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}


.gz-profile-hero__title{
    margin:
        0 0 10px;

    color:#2e2020;

    font-size:
        clamp(
            24px,
            3vw,
            34px
        );

    line-height:1.35;
}


.gz-profile-hero__text{
    max-width:570px;
    margin:0;

    color:#74615a;

    font-size:14px;
    line-height:2;
}


.gz-profile-hero__visual{
    --gz-x:0px;
    --gz-y:0px;

    position:relative;
    width:150px;
    height:135px;
    justify-self:end;

    transform:
        translate3d(
            var(--gz-x),
            var(--gz-y),
            24px
        );

    transition:
        transform .22s ease;
}


.gz-profile-glow{
    position:absolute;
    inset:
        17px 15px 8px 25px;

    border-radius:
        52% 48%
        58% 42%;

    background:
        radial-gradient(
            circle at 34% 28%,
            rgba(255,255,255,.96),
            rgba(235,210,171,.42) 45%,
            rgba(122,0,25,.08)
        );

    filter:
        drop-shadow(
            0 16px 18px
            rgba(79,49,38,.11)
        );
}


.gz-profile-leaf{
    position:absolute;
    top:18px;
    right:28px;

    width:62px;
    height:91px;

    border-radius:
        100% 0
        100% 0;

    background:
        linear-gradient(
            135deg,
            #f1d09a,
            #c99a51 48%,
            #fff0ca
        );

    box-shadow:
        inset -8px -10px 20px
        rgba(122,72,25,.12),
        0 14px 25px
        rgba(99,62,36,.13);

    transform:
        rotate(27deg)
        translateZ(35px);

    animation:
        gzProfileFloat
        5.8s
        ease-in-out
        infinite;
}


.gz-profile-leaf::after{
    content:"";
    position:absolute;

    left:29px;
    top:8px;

    width:1px;
    height:78%;

    background:
        rgba(112,64,31,.35);

    transform:
        rotate(-24deg);
}


.gz-profile-leaf--small{
    top:73px;
    right:83px;

    width:37px;
    height:54px;

    opacity:.8;

    transform:
        rotate(-35deg)
        translateZ(18px);

    animation-delay:
        -2.4s;
}


.gz-profile-orb{
    position:absolute;

    left:20px;
    bottom:16px;

    width:26px;
    height:26px;

    border-radius:50%;

    background:
        radial-gradient(
            circle at 32% 28%,
            #fffdf9,
            #e7c58b 48%,
            #a57435
        );

    box-shadow:
        0 8px 18px
        rgba(100,64,35,.18);

    animation:
        gzProfileFloat
        4.6s
        ease-in-out
        infinite
        reverse;
}


@keyframes gzProfileFloat{

    0%,
    100%{
        translate:0 0;
    }

    50%{
        translate:0 -8px;
    }
}


.gz-profile-stat{
    border:
        1px solid
        rgba(122,0,25,.075) !important;

    border-radius:
        15px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.97),
            rgba(255,247,242,.84)
        ) !important;

    box-shadow:
        0 8px 24px
        rgba(67,42,38,.055) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease !important;
}


.gz-profile-stat:hover{
    transform:
        translateY(-2px);

    box-shadow:
        0 13px 30px
        rgba(94,52,48,.09) !important;
}


.gz-profile-polish-v1
#gzProfileWishlist{
    margin-top:28px;
    padding:22px;

    border:
        1px solid
        rgba(122,0,25,.08);

    border-radius:20px;

    background:
        linear-gradient(
            150deg,
            rgba(255,255,255,.98),
            rgba(255,248,244,.86)
        );

    box-shadow:
        0 16px 38px
        rgba(62,40,36,.065);
}


.gz-profile-polish-v1
#gzProfileWishlist h2{
    position:relative;
    margin-bottom:20px;

    color:#4c1a25;
}


.gz-profile-polish-v1
#gzProfileWishlist h2::after{
    content:"";
    display:block;

    width:36px;
    height:3px;

    margin-top:8px;

    border-radius:99px;

    background:
        linear-gradient(
            90deg,
            #970023,
            #d5a768
        );
}


.gz-profile-polish-v1
.gz-profile-wish-card{
    overflow:hidden;

    border:
        1px solid
        rgba(122,0,25,.09);

    border-radius:17px;

    background:#fff;

    box-shadow:
        0 7px 22px
        rgba(66,40,37,.055);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.gz-profile-polish-v1
.gz-profile-wish-card:hover{
    transform:
        translateY(-4px);

    box-shadow:
        0 14px 30px
        rgba(84,44,47,.10);
}


.gz-profile-polish-v1
.gz-profile-wish-card img{
    transition:
        transform .35s ease;
}


.gz-profile-polish-v1
.gz-profile-wish-card:hover img{
    transform:
        scale(1.025);
}


.gz-profile-logout{
    border:
        1px solid
        rgba(151,0,35,.16) !important;

    border-radius:
        11px !important;

    background:
        linear-gradient(
            135deg,
            #990022,
            #720019
        ) !important;

    color:#fff !important;

    box-shadow:
        0 8px 18px
        rgba(122,0,25,.14);

    transition:
        transform .17s ease,
        box-shadow .17s ease;
}


.gz-profile-logout:hover{
    transform:
        translateY(-2px);

    box-shadow:
        0 12px 25px
        rgba(122,0,25,.21);
}


@media(max-width:760px){

    .gz-profile-polish-root{
        border-radius:18px;
    }


    .gz-profile-hero{
        grid-template-columns:1fr;
        min-height:auto;

        margin:
            4px 4px 20px;

        padding:
            25px 20px;
    }


    .gz-profile-hero__visual{
        position:absolute;

        left:-25px;
        top:-8px;

        width:125px;
        height:120px;

        opacity:.54;
    }


    .gz-profile-hero__copy{
        max-width:
            calc(100% - 35px);
    }


    .gz-profile-hero__text{
        font-size:13px;
    }


    .gz-profile-polish-v1
    #gzProfileWishlist{
        padding:16px;
        border-radius:17px;
    }
}


@media(
    prefers-reduced-motion:reduce
){

    .gz-profile-hero,
    .gz-profile-hero__visual,
    .gz-profile-leaf,
    .gz-profile-orb,
    .gz-profile-stat,
    .gz-profile-wish-card,
    .gz-profile-wish-card img{
        animation:none !important;
        transition:none !important;
        transform:none !important;
    }
}


/* END RAD2 PROFILE POLISH V1 */


/* ==================================================
   RAD2 RECENTLY VIEWED V2 UI
   ================================================== */


.gz-recent-home-section{
    margin-top:30px;
    margin-bottom:30px;
    padding-top:4px;
}


.gz-recent-home-section[hidden]{
    display:none;
}


.gz-recent-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}


.gz-recent-eyebrow{
    display:block;
    margin-bottom:5px;
    color:#9a7158;
    font-size:12px;
    font-weight:700;
}


.gz-recent-heading h2{
    margin:0;
    color:#421923;
}


.gz-recent-toolbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    margin:4px 0 14px;
    color:#927b70;
    font-size:12px;
}


.gz-recent-clear{
    appearance:none;
    border:1px solid rgba(122,0,25,.13);
    border-radius:999px;
    padding:7px 12px;
    background:rgba(255,255,255,.84);
    color:#7a0019;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:
        transform .17s ease,
        background .17s ease,
        box-shadow .17s ease;
}


.gz-recent-clear:hover{
    transform:translateY(-1px);
    background:#fff8f5;
    box-shadow:
        0 7px 18px
        rgba(122,0,25,.07);
}


.gz-recent-clear:disabled{
    opacity:.55;
    cursor:wait;
    transform:none;
}


.gz-recent-grid{
    display:grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(165px,1fr)
        );
    gap:16px;
}


.gz-recent-card{
    position:relative;
    min-width:0;
    padding:12px;
    border:
        1px solid
        rgba(122,0,25,.075);
    border-radius:17px;
    background:
        linear-gradient(
            155deg,
            #fff,
            #fffaf6
        );
    box-shadow:
        0 8px 24px
        rgba(69,43,39,.055);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.gz-recent-card:hover{
    transform:translateY(-3px);
    box-shadow:
        0 14px 32px
        rgba(85,46,48,.10);
}


.gz-recent-card__media{
    display:block;
    overflow:hidden;
    margin-bottom:10px;
    border-radius:12px;
    background:#f7f2ed;
    aspect-ratio:1/1;
}


.gz-recent-card__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    transition:
        transform .3s ease;
}


.gz-recent-card:hover
.gz-recent-card__media img{
    transform:scale(1.025);
}


.gz-recent-card h3{
    min-height:46px;
    margin:0 0 7px;
    overflow:hidden;
    color:#30201e;
    font-size:14px;
    line-height:1.65;
}


.gz-recent-card__price{
    min-height:23px;
    margin:0 0 10px;
    color:#7a0019;
    font-size:13px;
    font-weight:800;
}


.gz-recent-card__link{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 11px;
    border-radius:10px;
    background:#7a0019;
    color:#fff;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
}


#recentProductsSection
.gz-recent-toolbar{
    margin-top:10px;
}


@media(max-width:720px){

    .gz-recent-heading{
        align-items:center;
    }


    .gz-recent-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
        gap:11px;
    }


    .gz-recent-home-section{
        margin-top:22px;
        margin-bottom:22px;
    }


    .gz-recent-card{
        padding:9px;
        border-radius:14px;
    }


    .gz-recent-card h3{
        min-height:42px;
        font-size:12px;
    }


    .gz-recent-card__price{
        font-size:12px;
    }


    .gz-recent-toolbar{
        justify-content:space-between;
    }
}


@media(max-width:370px){

    .gz-recent-grid{
        grid-template-columns:1fr;
    }
}


@media(prefers-reduced-motion:reduce){

    .gz-recent-card,
    .gz-recent-card__media img,
    .gz-recent-clear{
        transition:none !important;
        transform:none !important;
    }
}


/* END RAD2 RECENTLY VIEWED V2 UI */


/* ==================================================
   RAD2 KEYBOARD / POWER USER UX V1
   ================================================== */

:where(
    a[href],
    button,
    input,
    select,
    textarea,
    [tabindex]:not([tabindex="-1"])
):focus-visible{
    outline:
        2px solid
        rgba(122,0,25,.92);
    outline-offset:
        3px;
    box-shadow:
        0 0 0 4px
        rgba(122,0,25,.11);
}


#productSearch:focus-visible{
    outline-color:
        rgba(122,0,25,.95);
    box-shadow:
        0 0 0 4px
        rgba(122,0,25,.10),
        0 8px 24px
        rgba(122,0,25,.07);
}


@media(prefers-reduced-motion:reduce){

    :where(
        a[href],
        button,
        input,
        select,
        textarea,
        [tabindex]:not([tabindex="-1"])
    ){
        scroll-behavior:auto;
    }
}


/* END RAD2 KEYBOARD / POWER USER UX V1 */


/* GZ LIGHT-ONLY COLOR SCHEME */
:root {
    color-scheme: only light;
}
/* Storefront shopping surfaces. Hero geometry and its shadow styles are independent. */
body.storefront-page {
    --shop-gap: clamp(12px, 2vw, 24px);
    --shop-radius: 12px;
    --shop-section: clamp(32px, 5vw, 64px);
    background: #fffaf4;
}
.storefront-page .storefront-header {
    grid-template-columns: 140px minmax(270px, 1fr) minmax(180px, 360px) auto;
    min-height: 84px;
    padding-block: 8px;
    gap: 12px;
    box-shadow: 0 2px 12px #3b182308;
}
.storefront-page .storefront-header .logo-img {
    width: 120px;
    height: auto;
    max-height: 48px;
    object-fit: contain;
}
.storefront-page .topbar a { color: inherit; text-underline-offset: 4px; }
.storefront-page :is(#categories, #products, #contact) { scroll-margin-top: 104px; }
.storefront-page :is(.categories-section, .products-section) {
    padding: var(--shop-section) var(--store-space);
}
.storefront-page .categories-section { border-bottom: 1px solid var(--store-border); }
.storefront-page .products-section { background: #faf6f1; }
.storefront-page .section-heading { max-width: 1160px; margin: 0 auto 28px; }
.storefront-page .section-heading h2 { font-size: clamp(22px, 2.4vw, 30px); font-weight: 650; }
.storefront-page .section-heading .eyebrow { color: var(--store-brand); font-size: 12px; margin-bottom: 8px; }
.storefront-page .section-description { color: var(--store-muted); font-size: 14px; margin-top: 10px; }
.storefront-page .category-grid { max-width: 1160px; gap: var(--shop-gap); }
.storefront-page .category-card {
    border: 1px solid var(--store-border);
    border-radius: var(--shop-radius);
    background: #fff;
    padding: 18px 8px;
    color: var(--store-text);
}
.storefront-page .category-card__art { width: 56px; height: 56px; color: var(--store-brand); }
.storefront-page :is(.category-card, .home-product-tab, .filter-btn)::before,
.storefront-page :is(.category-card, .home-product-tab, .filter-btn)::after {
    content: none;
}
.storefront-page :is(.category-card, .home-product-tab, .filter-btn):focus-visible {
    outline: 3px solid var(--store-brand) !important;
    outline-offset: 3px;
}
.storefront-page #products .home-product-tabs { margin: 20px auto 0; padding: 0; }
.storefront-page #products .home-product-tab { font-size: 13px; font-weight: 550; min-height: 44px; }
.storefront-page #products .home-product-tab.active {
    background: var(--store-brand) !important;
    color: white !important;
    border-color: var(--store-brand) !important;
    box-shadow: none !important;
    transform: none;
}
.storefront-page .products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--shop-gap); }
.storefront-page .card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border: 1px solid var(--store-border);
    border-radius: var(--shop-radius);
    box-shadow: 0 4px 16px #3b182305;
}
.storefront-page .product-image-box { display: block; aspect-ratio: 1; flex: none; border-radius: 8px; background: #faf8f5; margin: 0; }
.storefront-page .product-image-box img { width: 100%; height: 100%; object-fit: contain; }
.storefront-page .product-image-box.is-unavailable img { visibility: hidden; }
.storefront-page .product-image-box.is-unavailable::after {
    content: "تصویر محصول در دسترس نیست";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 16px;
    font-size: 12px;
    color: var(--store-muted);
}
.storefront-page .card h3 {
    font-size: 15px;
    line-height: 1.9;
    min-height: 3.8em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 8px;
}
.storefront-page .product-category { font-size: 11px; margin-top: 12px; }
.storefront-page .product-brand { font-size: 12px; margin: 0 0 8px; }
.storefront-page .product-price { margin-top: auto; min-height: 52px; align-content: center; }
.storefront-page .product-price strong { font-size: 15px; font-weight: 650; }
.storefront-page .product-buttons { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin: 0; }
.storefront-page .product-buttons :is(a, button) { min-height: 44px; font-size: 13px; border-radius: 8px; }
.storefront-page .product-buttons a { display: flex; align-items: center; justify-content: center; }
.storefront-page .home-view-all { min-height: 44px; padding: 8px 18px; border-radius: 8px; border: 1px solid var(--store-border); }
.storefront-page .trust-strip {
    display: grid;
    width: auto;
    max-width: 1160px;
    margin: 0 auto var(--shop-section);
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 24px var(--store-space);
}
.storefront-page .empty-products { grid-column: 1 / -1; padding: 40px 20px; text-align: center; border: 1px solid var(--store-border); border-radius: 12px; }
.storefront-page .empty-products a { display: inline-block; margin: 12px; color: var(--store-brand); text-underline-offset: 5px; }
.storefront-page .empty-products button { margin-top: 16px; min-height: 44px; padding: 8px 20px; border: 0; border-radius: 8px; color: white; background: var(--store-brand); }
body.cart-page .cart-empty { padding: 28px 20px; border: 1px solid var(--store-border); border-radius: 12px; background: #fff; text-align: center; }
body.cart-page .cart-empty p { margin-top: 8px; color: var(--store-muted); }
body.cart-page { background: #faf6f1; background-repeat: no-repeat; }
.storefront-page footer#about { border-top: 1px solid var(--store-border); }
.storefront-page .footer-top { grid-template-columns: 1.5fr 1fr; gap: 40px; }
.storefront-page .footer-box { min-width: 0; }
.storefront-page .footer-contact-list a { min-height: 44px; display: inline-flex; align-items: center; }
.storefront-page .footer-law { font-size: 12px; line-height: 2; color: var(--store-muted); }
.storefront-page .rad2-page-edge { display: none; }
@media (hover: hover) {
    .storefront-page .category-card:hover { border-color: var(--store-brand); background: #fffaf7; box-shadow: none; }
    .storefront-page .card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px #3b18230a; }
}
@media (max-width: 1200px) and (min-width: 761px) {
    .storefront-page .storefront-header { grid-template-columns: 140px minmax(0, 1fr) auto; }
    .storefront-page .storefront-header nav { grid-row: 2; grid-column: 1 / -1; justify-content: center; }
}
@media (max-width: 900px) {
    .storefront-page .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .storefront-page .storefront-header { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; padding: 8px 16px; }
    .storefront-page .storefront-header .logo-img { width: 92px; height: auto; max-height: 40px; }
    .storefront-page .customer-dropdown {
        position: fixed !important;
        top: 124px !important;
        right: 16px !important;
        left: 16px !important;
        width: auto !important;
        max-height: calc(100dvh - 140px);
        overflow-y: auto;
        text-align: right;
    }
    .storefront-page .storefront-header nav {
        position: absolute;
        inset: 100% 0 auto;
        padding: 12px 16px;
        background: #fffaf4;
        border-bottom: 1px solid var(--store-border);
        box-shadow: 0 12px 24px #3b182312;
        max-height: 60svh;
        overflow-y: auto;
    }
    .storefront-page :is(#categories, #products, #contact) { scroll-margin-top: 140px; }
    .storefront-page .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .storefront-page .card { padding: 8px; }
    .storefront-page .card h3 { font-size: 13px; }
    .storefront-page .product-price strong { font-size: 13px; }
    .storefront-page .product-buttons :is(a, button) { font-size: 12px; }
    .storefront-page .footer-top { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .storefront-page .trust-strip { margin-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .storefront-page :is(.category-card, .card, .home-product-tab, .product-image-box img) {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* =========================================================
   GZ GLASS UI V1
   Warm, restrained glass surfaces for the storefront chrome.
   ========================================================= */

.storefront-page .storefront-header {
    background: rgba(248, 245, 239, .78);
    border-bottom-color: rgba(255, 255, 255, .58);
    box-shadow:
        0 10px 32px rgba(55, 35, 20, .07),
        inset 0 1px 0 rgba(255, 255, 255, .55);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
}

.storefront-page .storefront-header :is(button, .header-action, .icon-button) {
    transition:
        background-color .22s ease,
        border-color .22s ease,
        transform .22s ease,
        box-shadow .22s ease;
}

@media (hover: hover) {
    .storefront-page .storefront-header :is(button, .header-action, .icon-button):hover {
        background: rgba(255, 255, 255, .50);
        border-color: rgba(255, 255, 255, .72);
    }
}

.storefront-page #customerDropdown.customer-dropdown {
    background: rgba(255, 250, 244, .72);
    border: 1px solid rgba(255, 255, 255, .62);
    box-shadow:
        0 20px 50px rgba(55, 35, 20, .14),
        inset 0 1px 0 rgba(255, 255, 255, .70);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
    backdrop-filter: blur(24px) saturate(145%);
}

.storefront-page #customerDropdown.customer-dropdown :is(a, button) {
    background: transparent;
}

.storefront-page #customerDropdown.customer-dropdown :is(a, button):hover {
    background: rgba(255, 255, 255, .34);
}

@media (max-width: 760px) {
    .storefront-page .storefront-header {
        background: rgba(248, 245, 239, .82);
        border-bottom-color: rgba(255, 255, 255, .62);
        -webkit-backdrop-filter: blur(16px) saturate(130%);
        backdrop-filter: blur(16px) saturate(130%);
    }

    .storefront-page .storefront-header nav {
        background: rgba(248, 245, 239, .90);
        border-bottom-color: rgba(255, 255, 255, .62);
        -webkit-backdrop-filter: blur(22px) saturate(135%);
        backdrop-filter: blur(22px) saturate(135%);
    }

    .storefront-page #customerDropdown.customer-dropdown {
        background: rgba(255, 250, 244, .78);
        border-radius: 16px;
        -webkit-backdrop-filter: blur(22px) saturate(140%);
        backdrop-filter: blur(22px) saturate(140%);
    }

.storefront-page #menuToggle {
        background: rgba(255, 255, 255, .38);
        border-color: rgba(255, 255, 255, .62);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
    }
}
