@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --navy:#0a1628;
  --navy-deep:#070f1c;
  --cream:#FBF8F3;
  --cream-2:#F3EEE4;
  --ink:#211D18;
  --ink-soft:#6b6558;
  --gold:#C9A64A;
  --gold-soft:#A9812F;
  --hairline:rgba(201,166,74,0.25);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.serif{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif}
.eyebrow{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:500}
.container{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- NAV ---------- */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(251,248,243,0.92);
  backdrop-filter:blur(10px);
}
.nav-top{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:108px;border-bottom:1px solid var(--hairline);
}
.nav-top .spacer{}
.logo-center{display:flex;justify-content:center}
.logo-center img{height:84px;width:auto}
.nav-icons{display:flex;align-items:center;gap:22px;justify-self:end}
.account-link{display:flex;align-items:center;gap:8px}
.account-link svg{width:19px;height:19px;stroke:var(--navy)}
.account-link:hover svg{stroke:var(--gold-soft)}
.cart-link{position:relative;display:flex;align-items:center}
.cart-link svg{width:20px;height:20px;stroke:var(--navy)}
.cart-link:hover svg{stroke:var(--gold-soft)}
.cart-badge{
  position:absolute;top:-7px;right:-9px;background:var(--gold);color:var(--navy);
  font-size:10px;font-weight:600;width:16px;height:16px;border-radius:50%;
  display:none;align-items:center;justify-content:center;line-height:1;
}

.nav-bottom{
  display:flex;justify-content:center;align-items:center;height:50px;
}
.nav-links{display:flex;align-items:center;gap:56px}
.nav-links a{
  font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink);position:relative;padding-bottom:4px;
  transition:color .25s ease;
}
.nav-links a:hover{color:var(--gold-soft)}
.nav-links a.active{color:var(--gold-soft)}
.nav-links a.active:after{
  content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--gold);
}
.nav-toggle{display:none}

@media(max-width:960px){
  .nav-bottom .nav-links{display:none}
  .logo-center img{height:44px}
  .nav-top{height:64px}
}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-block;padding:15px 34px;
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  border:1px solid var(--navy);color:var(--navy);
  transition:all .3s ease;
}
.btn:hover{background:var(--navy);color:var(--cream)}
.btn-gold{
  background:var(--navy);color:var(--cream);border-color:var(--navy);
}
.btn-gold:hover{background:var(--navy-deep);color:var(--gold)}
.btn-light{border-color:var(--cream);color:var(--cream)}
.btn-light:hover{background:var(--cream);color:var(--navy)}

/* ---------- FOOTER ---------- */
.site-footer{
  background:var(--navy);color:rgba(251,248,243,0.65);
  padding:70px 0 30px;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:50px;border-bottom:1px solid rgba(201,166,74,0.15);
}
.footer-grid img{height:40px;margin-bottom:16px}
.footer-grid p{font-size:12.5px;line-height:1.8;color:rgba(251,248,243,0.5);max-width:280px}
.footer-col h4{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);
  margin-bottom:18px;font-weight:500;
}
.footer-col a{
  display:block;font-size:13px;color:rgba(251,248,243,0.65);
  margin-bottom:12px;transition:color .2s;
}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{
  display:flex;justify-content:space-between;padding-top:24px;
  font-size:11px;color:rgba(251,248,243,0.4);letter-spacing:0.03em;
}
@media(max-width:760px){
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:32px}
}

/* ---------- SECTION HELPERS ---------- */
.section{padding:110px 0}
.section-sm{padding:70px 0}
.section-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:44px;color:var(--navy);line-height:1.15}
.section-lede{font-size:15px;line-height:1.9;color:var(--ink-soft);max-width:520px;margin-top:18px}
.center{text-align:center;margin-left:auto;margin-right:auto}

@media(max-width:640px){
  .section{padding:70px 0}
  .section-title{font-size:32px}
  .container{padding:0 22px}
}

/* ---------- CART PAGE ---------- */
.cart-page{padding-top:158px;min-height:70vh}
.cart-empty{text-align:center;padding:80px 0}
.cart-empty p{color:var(--ink-soft);font-size:14px;margin:14px 0 26px}
.cart-list{display:flex;flex-direction:column;gap:0;margin-top:20px}
.cart-row{
  display:grid;grid-template-columns:90px 1fr auto auto;gap:22px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--hairline);
}
.cart-row img{width:90px;height:90px;object-fit:cover;border:1px solid var(--hairline)}
.cart-row h3{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--navy);font-weight:500}
.cart-qty{display:flex;align-items:center;gap:12px}
.cart-qty button{
  width:28px;height:28px;border:1px solid var(--hairline);background:none;cursor:pointer;
  font-size:14px;color:var(--navy);
}
.cart-qty span{font-family:'Cormorant Garamond',serif;font-size:16px;min-width:18px;text-align:center}
.cart-remove{
  font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);
  background:none;border:none;cursor:pointer;text-decoration:underline;
}
.cart-remove:hover{color:var(--gold-soft)}
.cart-footer{
  display:flex;justify-content:space-between;align-items:center;margin-top:40px;flex-wrap:wrap;gap:20px;
}
.cart-footer .btn{border:none;cursor:pointer}
@media(max-width:600px){
  .cart-row{grid-template-columns:60px 1fr;grid-template-areas:"img name" "img qty" "img remove";row-gap:8px}
  .cart-row img{width:60px;height:60px;grid-area:img}
  .cart-row h3{grid-area:name}
  .cart-qty{grid-area:qty}
  .cart-remove{grid-area:remove;justify-self:start}
}
.btn.added{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--navy)!important}

/* ---------- ZOOM LENS ---------- */
.zoom-wrap{position:relative;cursor:zoom-in}
.zoom-wrap img{display:block}
.zoom-wrap.zoom-active{cursor:zoom-out}
.zoom-hint{
  position:absolute;bottom:18px;right:18px;
  display:flex;align-items:center;gap:8px;
  background:rgba(10,22,40,0.72);color:#fff;
  padding:9px 14px 9px 10px;border-radius:20px;
  font-size:11px;letter-spacing:0.04em;
  opacity:0;transition:opacity .25s ease;
  pointer-events:none;
}
.zoom-wrap:hover .zoom-hint{opacity:1}
.zoom-wrap.zoom-active .zoom-hint{opacity:0}
.zoom-hint svg{width:16px;height:16px;stroke:var(--gold);flex-shrink:0}
.zoom-lens{
  position:absolute;width:190px;height:190px;border-radius:50%;
  border:2px solid var(--gold);box-shadow:0 8px 30px rgba(10,22,40,0.35), inset 0 0 0 4px rgba(251,248,243,0.8);
  background-repeat:no-repeat;pointer-events:none;
  opacity:0;transition:opacity .2s ease;
  background-color:#fff;
}
@media(max-width:760px){
  .zoom-lens{width:140px;height:140px}
  .zoom-hint span{display:none}
}

/* ---------- CART FLY ANIMATION ---------- */
.cart-flyer{
  position:fixed;width:26px;height:26px;z-index:999;pointer-events:none;
  transition:transform .65s cubic-bezier(.22,.8,.25,1), opacity .65s ease .1s;
  opacity:1;
}
.cart-flyer svg{width:100%;height:100%;stroke:var(--navy);fill:var(--cream)}
.cart-link.bump{animation:cartBump .45s ease}
@keyframes cartBump{
  0%{transform:scale(1)}
  35%{transform:scale(1.4)}
  65%{transform:scale(0.92)}
  100%{transform:scale(1)}
}
