/* ===============================
GLOBAL RESET
================================= */

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

html{
scroll-behavior:smooth;
}

:root{
--black:#0e0e0e;
--black-soft:#151515;
--gold:#c6a84a;
--gold-soft:#a88932;
--champagne:#ead8a0;
--ivory:#f8f1df;
--soft:#9f9f9f;
--divider:#1f1f1f;
--royal-blue:#1f2a44;
--bg-soft:#141414;
--panel:rgba(255,255,255,.04);
--panel-border:rgba(255,255,255,.08);
}

body{
font-family:'Inter',sans-serif;
background:
radial-gradient(circle at top, rgba(198,168,74,.12), transparent 22%),
linear-gradient(180deg,#120f0c 0%,#090909 42%,#050505 100%);
color:#f2f2f2;
font-weight:300;
letter-spacing:.02em;
-webkit-font-smoothing:antialiased;
}

body::before{
content:"";
position:fixed;
inset:0;
background:
linear-gradient(135deg, rgba(255,255,255,.015), transparent 40%),
radial-gradient(circle at 20% 20%, rgba(198,168,74,.04), transparent 26%);
pointer-events:none;
}

h1,h2,h3{
font-family:'Playfair Display',serif;
font-weight:600;
letter-spacing:1px;
}

h1{
font-size:clamp(3rem,6vw,5rem);
line-height:1.08;
}

h2{
font-size:clamp(1.8rem,3vw,2.6rem);
}

h3{
font-size:1.3rem;
}

p{
font-size:16px;
line-height:1.9;
color:var(--soft);
}

a{
text-decoration:none;
color:inherit;
transition:.3s ease;
}

a:hover{
color:var(--gold);
}

section{
padding:120px 8%;
position:relative;
}

.gold{
color:var(--gold);
}

.micro{
font-size:11px;
letter-spacing:.4em;
text-transform:uppercase;
color:var(--gold);
}

/* ===============================
HEADER
================================= */

.site-header{
position:sticky;
top:0;
z-index:1200;
background:rgba(8,8,8,.74);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(234,216,160,.08);
box-shadow:0 10px 40px rgba(0,0,0,.22);
}

.nav{
max-width:1400px;
margin:auto;
padding:0 50px;
height:80px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
}

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

.logo img{
height:38px;
width:38px;
object-fit:cover;
border-radius:50%;
box-shadow:0 10px 24px rgba(0,0,0,.3);
}

.logo span{
font-family:'Playfair Display',serif;
font-size:18px;
letter-spacing:.18em;
text-transform:uppercase;
color:#fff;
}

.nav-links{
display:flex;
gap:48px;
list-style:none;
}

.nav-links a{
font-size:12px;
letter-spacing:.28em;
text-transform:uppercase;
color:#d4d0c8;
position:relative;
padding-bottom:6px;
}

.nav-links a::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:0;
height:1px;
background:var(--gold);
transition:.35s ease;
}

.nav-links a:hover{
color:#fff;
text-shadow:0 0 12px rgba(198,168,74,.4);
}

.nav-links a:hover::after{
width:100%;
}

.account-link,
.favorites-link{
display:flex;
align-items:center;
gap:10px;
padding:12px 16px;
border:1px solid rgba(214,177,92,.16);
border-radius:999px;
background:rgba(255,255,255,.03);
color:#f6ecd8;
font-size:11px;
letter-spacing:.18em;
text-transform:uppercase;
}

.account-link{
margin-left:auto;
}

.account-state,
.favorites-count{
min-width:24px;
padding:4px 8px;
border-radius:999px;
background:rgba(214,177,92,.18);
color:var(--gold);
text-align:center;
}

.cart-link{
position:relative;
display:flex;
align-items:center;
}

.cart-icon{
width:22px;
filter:invert(1);
transition:.3s ease;
}

.cart-link:hover .cart-icon{
transform:scale(1.15);
}

.cart-count{
position:absolute;
top:-8px;
right:-10px;
min-width:18px;
height:18px;
padding:0 6px;
background:linear-gradient(135deg,var(--gold),var(--gold-soft));
color:#000;
font-size:10px;
font-weight:700;
border-radius:999px;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 0 12px rgba(212,175,55,.6);
}

.locale-controls{
display:flex;
align-items:center;
gap:10px;
margin-left:16px;
}

.locale-controls-admin{
margin-left:auto;
}

.locale-chip{
display:flex;
align-items:center;
gap:8px;
padding:10px 12px;
border:1px solid rgba(214,177,92,.16);
border-radius:999px;
background:rgba(255,255,255,.03);
color:#f6ecd8;
font-size:10px;
letter-spacing:.16em;
text-transform:uppercase;
}

.locale-chip select{
background:transparent;
border:none;
color:#f6ecd8;
font-size:11px;
letter-spacing:.12em;
text-transform:uppercase;
outline:none;
}

.locale-chip option{
color:#111;
}

.hamburger{
display:none;
}

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

.footer{
background:linear-gradient(180deg,#060606 0%,#020202 100%);
border-top:1px solid rgba(234,216,160,.08);
padding:120px 8% 60px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:60px;
max-width:1300px;
margin:auto;
}

.footer h3{
font-size:12px;
letter-spacing:.35em;
color:var(--gold);
margin-bottom:22px;
}

.footer p,
.footer a{
font-size:14px;
color:#b7aea0;
line-height:1.8;
}

.footer a{
display:block;
margin-bottom:8px;
}

.footer a:hover{
color:var(--gold);
}

.footer-bottom{
margin-top:80px;
padding-top:25px;
border-top:1px solid #1a1a1a;
text-align:center;
font-size:11px;
letter-spacing:.25em;
color:#666;
}

/* ===============================
UTILITIES IN USE
================================= */

.reveal{
opacity:0;
transform:translateY(40px);
transition:1s cubic-bezier(.16,1,.3,1);
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

.btn-luxury{
padding:14px 40px;
border:1px solid var(--gold);
color:#fff;
background:transparent;
letter-spacing:.3em;
text-transform:uppercase;
font-size:12px;
position:relative;
overflow:hidden;
transition:.25s ease;
}

.btn-luxury::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(120deg,transparent,rgba(255,255,255,.3),transparent);
transition:.6s;
}

.btn-luxury:hover::before{
left:100%;
}

.btn-luxury:hover{
background:linear-gradient(135deg,var(--gold),var(--gold-soft));
color:#000;
}

.cart-animate{
animation:cartPop .6s ease;
}

@keyframes cartPop{
0%{transform:scale(1)}
40%{transform:scale(1.3)}
100%{transform:scale(1)}
}

::-webkit-scrollbar{
width:8px;
}

::-webkit-scrollbar-track{
background:#0b0f19;
}

::-webkit-scrollbar-thumb{
background:linear-gradient(var(--gold),var(--gold-soft));
border-radius:10px;
}

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

@media(max-width:768px){
.nav{
padding:0 20px;
height:68px;
flex-wrap:wrap;
}

.logo img{
height:30px;
}

h1{
font-size:2.4rem;
}

section{
padding:80px 6%;
}

.hamburger{
display:block;
font-size:22px;
color:#fff;
}

.account-link{
margin-left:0;
}

.locale-controls{
width:100%;
justify-content:flex-start;
margin-left:0;
flex-wrap:wrap;
padding-top:8px;
}

.nav-links{
display:none;
gap:20px;
}

.nav-links.active{
display:flex;
flex-direction:column;
position:absolute;
top:68px;
right:0;
background:#111;
padding:20px;
width:220px;
border-left:1px solid #1c1c1c;
}
}
