@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500&family=Inter:wght@300;400;500&display=swap');

:root{
  --white:#FFFFFF; --paper:#F4F1EC; --ink:#14120F;
  --stone:#8A8378; --bronze:#8B5A2B; --line:#E8E3DB;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--ink);font-family:'Inter',sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1;}
.serif{font-family:'Fraunces',serif;}
a{color:inherit;text-decoration:none;transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.placeholder{outline:1px dashed var(--stone); outline-offset:4px; background:rgba(0,0,0,0.02);}
.ph-tag{display:inline-block;font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-bottom:6px;}

/* Page Transition */
.page-transition{
  position:fixed;inset:0;
  background:var(--white);
  z-index:9999;
  pointer-events:none;
  clip-path:polygon(0 0,0 0,0 100%,0 100%);
}

/* Global Loader */
.loader{
  position:fixed;inset:0;
  background:var(--white);
  z-index:10000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  pointer-events:none;
}
.loader-logo{
  font-family:'Fraunces',serif;
  font-size:clamp(48px,12vw,120px);
  font-weight:300;
  letter-spacing:0.14em;
  opacity:0;
  transform:translateY(20px);
}
.loader-line{
  width:0;height:1px;background:var(--bronze);
  margin:24px auto 0;
}
.loader.hidden{
  opacity:0;
  pointer-events:none;
  transition:opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Menu Overlay */
.menu-toggle {
  position: relative;
  z-index: 1;
  padding: 10px 20px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 400;
}

.menu-toggle:hover {
  border-color: var(--ink);
  background: var(--white);
  transform: translateY(-1px);
}

body.menu-open header {
  z-index: 10001;
}

.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 320px;
  height: 100%;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(20px);
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 120px 48px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-100%);
  transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1),
              visibility 0.5s cubic-bezier(0.65, 0, 0.35, 1),
              transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
  box-shadow: 20px 0 60px rgba(0, 0, 0, 0.08);
}

.menu-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.menu-content {
  position: relative;
  width: 100%;
}

.menu-close {
  display: none;
}

nav.menu-nav {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
}

nav.menu-nav a {
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: none;
  color: var(--ink);
  text-decoration: none;
  opacity: 0;
  transform: translateX(-16px);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.menu-overlay.active nav.menu-nav a {
  opacity: 1;
  transform: translateX(0);
}

nav.menu-nav a:hover {
  color: var(--bronze);
  transform: translateX(8px);
}

nav.menu-nav a.active {
  color: var(--stone);
}

/* Cart toggle button */
.cart-toggle {
  background: none;
  border: 1px solid var(--line);
  cursor: pointer;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
  visibility: visible !important;
  opacity: 1 !important;
}

.cart-toggle:hover {
  border-color: var(--bronze);
  color: var(--bronze);
}

/* Cart text styles */
.cart-text {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cart-count {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Language selector */
.lang-selector {
  position: relative;
}

.lang-toggle {
  background: none;
  border: 1px solid var(--line);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  transition: all 0.3s ease;
}

.lang-toggle:hover {
  border-color: var(--bronze);
  color: var(--bronze);
}

.current-lang {
  font-weight: 500;
}

.lang-arrow {
  font-size: 8px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lang-menu.active .lang-arrow {
  transform: rotate(180deg);
}

.lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  min-width: 140px;
  display: none;
  flex-direction: column;
  z-index: 1000;
  border-radius: 2px;
  overflow: hidden;
}

.lang-menu.active {
  display: flex;
  animation: fadeInDown 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lang-option {
  padding: 12px 16px;
  font-size: 12px;
  color: var(--ink);
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 300;
  border-bottom: 1px solid var(--line);
}

.lang-option:last-child {
  border-bottom: none;
}

.lang-option:hover {
  background: var(--paper);
  color: var(--ink);
  padding-left: 20px;
}

.lang-option.active {
  color: var(--bronze);
  font-weight: 500;
  background: var(--paper);
}

/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:100000;display:flex !important;justify-content:space-between;align-items:center;padding:20px 5vw;background:rgba(25,24,23,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);visibility:visible !important;opacity:1 !important;}
header .logo{font-family:'Fraunces',serif;font-size:20px;letter-spacing:0.25em;font-weight:300;color:var(--white);text-decoration:none;}
#mainNav{display:flex;gap:40px;}
#mainNav a{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);position:relative;}
#mainNav a:hover{color:var(--bronze);}
#mainNav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--ink);transition:width 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
#mainNav a:hover::after{width:100%;}
#mainNav a.active{color:var(--ink);font-weight:500;}
.header-actions{display:flex !important;align-items:center;gap:16px;visibility:visible !important;opacity:1 !important;}
.header-actions button{color:var(--white) !important;background:none;border:none;cursor:pointer;padding:8px 12px;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.header-actions button:hover{color:var(--bronze) !important;}
.header-actions a{color:var(--white) !important;text-decoration:none;padding:8px 12px;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.header-actions a:hover{color:var(--bronze) !important;}
.nav-toggle{display:none;background:none;border:none;color:var(--white);font-size:14px;cursor:pointer;}
@media (max-width:1024px){
  nav{gap:20px;}
  .header-actions{gap:8px;}
}
@media (max-width:760px){
  #mainNav{position:fixed;inset:0;background:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:32px;transform:translateY(-100%);transition:transform .5s cubic-bezier(.6,0,.2,1);}
  #mainNav.open{transform:translateY(0);}
  #mainNav a{color:var(--ink);font-size:14px;}
  .menu-overlay{width:100%;padding:120px 48px;}
  .header-actions{display:none !important;}
  .nav-toggle{display:block;}
  
  /* Mobile optimizations */
  header{padding:16px 5vw;}
  section{padding:60px 5vw;}
  .page-hero{padding:120px 5vw 60px;}
  .home-hero{padding:0 5vw;}
  
  /* Touch-friendly tap targets */
  button, .link-card, .piece{min-height:44px;}
}

/* PAGE HERO (banner simple pour pages internes) */
.page-hero{padding:180px 5vw 100px;border-bottom:1px solid var(--line);background:var(--white);}
.page-hero .eyebrow{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--stone);margin-bottom:16px;font-weight:500;}
.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(48px,8vw,80px);font-weight:200;max-width:900px;letter-spacing:0.1em;line-height:1.05;color:var(--ink);}
.page-hero p{margin-top:24px;font-size:15px;color:var(--stone);max-width:500px;line-height:1.8;font-weight:300;}

section{padding:140px 5vw;position:relative;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap;margin-bottom:100px;}
.section-head h2{font-family:'Fraunces',serif;font-size:clamp(36px,5vw,64px);font-weight:200;letter-spacing:0.1em;line-height:1.05;color:var(--ink);}
.section-head p{max-width:350px;font-size:14px;color:var(--stone);line-height:1.8;font-weight:300;}

/* Content wrapper for flexbox layout */
.content-wrapper{
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Main content wrapper for homepage */
.main-content{
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 120px 5vw 60px;
  min-height: 0;
}

/* PIECE CARDS (collection) */
.collection-filters{
  display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap;
}
.filter-btn{
  padding:8px 20px;background:none;border:1px solid var(--line);
  font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);color:var(--stone);
  font-weight:400;border-radius:2px;
}
.filter-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--paper);}
.filter-btn.active{
  background:var(--ink);color:#fff;border-color:var(--ink);
}
.piece-grid{display:flex;flex-direction:column;gap:48px;max-width:1400px;margin:0 auto;padding:0 32px;}
.piece{
  background:var(--white);display:flex;flex-direction:row;gap:48px;
  padding:48px;position:relative;
  transition:all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  border:1px solid rgba(0,0,0,0.05);
  opacity:0;transform:translateY(40px);
  animation:fadeInUp 0.8s ease forwards;
}
.piece:nth-child(1){animation-delay:0.1s;}
.piece:nth-child(2){animation-delay:0.2s;}
.piece:nth-child(3){animation-delay:0.3s;}
.piece:nth-child(4){animation-delay:0.4s;}
.piece:nth-child(5){animation-delay:0.5s;}
.piece:nth-child(6){animation-delay:0.6s;}
.piece:nth-child(7){animation-delay:0.7s;}
@keyframes fadeInUp{
  to{opacity:1;transform:translateY(0);}
}
.piece:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 64px rgba(0,0,0,0.08);
  border-color:rgba(0,0,0,0.1);
}
.piece-visual{flex:0 0 45%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg, #f8f8f8 0%, #e8e8e8 100%);}
.piece-visual img{width:100%;height:auto;max-height:500px;object-fit:contain;transition:transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);}
.piece:hover .piece-visual img{transform:scale(1.03);}
.piece-info{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 16px;}
.piece-category{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:12px;font-weight:500;}
.piece-name{font-family:'Fraunces',serif;font-size:32px;margin-bottom:16px;font-weight:300;color:var(--ink);letter-spacing:0.02em;line-height:1.2;}
.piece-description{font-size:15px;color:var(--stone);margin-bottom:32px;line-height:1.7;font-weight:300;max-width:500px;}
.piece-price{margin-bottom:32px;font-size:28px;font-family:'Fraunces',serif;letter-spacing:0.02em;font-weight:400;color:var(--ink);}
.add-to-cart{
  width:100%;max-width:280px;padding:18px 32px;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;
  background:var(--ink);color:var(--white);border:none;cursor:pointer;
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);font-weight:400;
  position:relative;overflow:hidden;
}
.add-to-cart::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  transition:left 0.5s;
}
.add-to-cart:hover::before{left:100%;}
.add-to-cart:hover{
  background:var(--bronze);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.15);
}
.add-to-cart:disabled{
  background:var(--stone);cursor:not-allowed;transform:none;box-shadow:none;}
@media (max-width:900px){
  .piece{flex-direction:column;gap:32px;padding:32px;}
  .piece-visual{flex:0 0 auto;width:100%;}
  .piece-info{padding:0;}
  .piece-name{font-size:24px;}
  .piece-price{font-size:22px;}
}
.piece-price button{
  background:none;border:1px solid var(--line);padding:8px 16px;
  font-size:10px;letter-spacing:0.15em;text-transform:uppercase;
  cursor:pointer;color:var(--ink);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight:400;border-radius:2px;
}
.piece-price button:hover{
  background:var(--ink);color:var(--white);border-color:var(--ink);
  transform:translateY(-1px);
}

/* MANIFESTO (atelier) */
.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.manifesto-grid .big{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,48px);line-height:1.3;font-weight:200;letter-spacing:0.1em;}
.manifesto-grid .side p{font-size:15px;line-height:1.8;opacity:.75;margin-bottom:20px;}
@media (max-width:760px){.manifesto-grid{grid-template-columns:1fr;gap:40px;}}

/* LINK CARDS (homepage) */
.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.link-card{
  background:var(--white);padding:48px 32px;min-height:280px;
  display:flex;flex-direction:column;justify-content:space-between;
  text-decoration:none;color:inherit;transition:background 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.link-card:hover{background:var(--paper);}
.link-card span{
  font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--stone);
}
.link-card h3{
  font-family:'Fraunces',serif;font-size:20px;font-weight:200;margin-top:16px;letter-spacing:0.1em;
}
.link-card p{
  font-size:13px;color:var(--stone);margin-top:8px;line-height:1.5;
}
@media (max-width:760px){.link-cards{grid-template-columns:1fr;}}

/* PROCESS (acquerir) */
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.process-item{
  padding:24px;position:relative;transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.process-item::before{
  content:'';position:absolute;inset:0;border:1px solid var(--line);
  opacity:0;transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.process-item:hover::before{opacity:1;}
.process-item:hover{transform:translateY(-4px);}
.process-item .num{font-family:'Fraunces',serif;font-size:36px;color:var(--bronze);margin-bottom:16px;position:relative;z-index:1;font-weight:200;}
.process-item h3{font-family:'Fraunces',serif;font-size:16px;margin-bottom:8px;font-weight:200;position:relative;z-index:1;letter-spacing:0.1em;}
.process-item p{font-size:13px;color:var(--stone);line-height:1.7;position:relative;z-index:1;}
@media (max-width:760px){.process-list{grid-template-columns:1fr 1fr;row-gap:40px;}}

/* CONTACT */
.contact{background:var(--ink);color:#fff;}
.contact .section-head h2,.contact .section-head p{color:#fff;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:28px;position:relative;}
.form-row label{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:#9C9891;transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.form-row input,.form-row textarea,.form-row select{
  background:transparent;border:none;border-bottom:1px solid #45433F;color:#fff;
  font-family:'Inter';font-size:15px;padding:10px 0;outline:none;
  transition:border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{
  border-color:var(--bronze);
}
.form-row input:focus + label,.form-row textarea:focus + label{
  color:var(--bronze);
}
.form-row textarea{height:80px;resize:none;}
.submit-btn{
  background:none;border:1px solid #fff;color:#fff;padding:14px 36px;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
  position:relative;overflow:hidden;transition:color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.submit-btn::before{
  content:'';position:absolute;inset:0;background:#fff;
  transform:translateX(-100%);transition:transform 0.4s cubic-bezier(0.65,0,0.35,1);
}
.submit-btn:hover::before{transform:translateX(0);}
.submit-btn span{position:relative;z-index:1;}
.submit-btn:hover{color:var(--ink);}
.submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.form-status{font-size:13px;margin-bottom:20px;min-height:1.2em;}
.form-status.success{color:#A8C4A0;}
.form-status.error{color:#D4A0A0;}
.contact-info .block{margin-bottom:36px;padding:24px;border:1px solid #45433F;transition:border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.contact-info .block:hover{border-color:var(--bronze);transform:translateY(-4px);}
.contact-info .eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7A776F;display:block;margin-bottom:8px;}
.contact-info p{font-size:14px;line-height:1.9;color:#C9C6BF;}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr;gap:50px;}}

/* LEGAL PAGES */
.legal{padding:200px 5vw 140px;max-width:820px;}
.legal h1{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,52px);font-weight:300;margin-bottom:12px;}
.legal .updated{font-size:12px;color:var(--stone);margin-bottom:60px;}
.legal h2{font-family:'Fraunces',serif;font-size:20px;font-weight:400;margin:44px 0 14px;}
.legal p, .legal li{font-size:16px;line-height:1.9;color:#3A3835;margin-bottom:12px;}
.legal ul{padding-left:20px;}
.legal .toc{border:1px solid var(--line);padding:24px 28px;margin-bottom:20px;}
.legal .toc a{display:block;font-size:13px;padding:6px 0;color:var(--stone);}

footer{padding:80px 5vw 48px;border-top:1px solid var(--line);background:var(--white);position:relative;margin-top:auto;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo{font-family:'Fraunces',serif;font-size:32px;font-weight:300;letter-spacing:0.2em;margin-bottom:16px;color:var(--ink);}
.footer-col p{font-size:13px;color:var(--stone);max-width:280px;line-height:1.8;}
.footer-col h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:20px;font-weight:500;}
.footer-col a{display:block;font-size:13px;padding:8px 0;color:var(--ink);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);position:relative;font-weight:300;}
.footer-col a:hover{color:var(--bronze);padding-left:12px;}
.footer-col a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--bronze);transition:width 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.footer-col a:hover::after{width:100%;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--stone);padding-top:32px;border-top:1px solid var(--line);font-weight:400;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}footer{padding:48px 5vw 32px;}}

/* SHOPPING CART */
.cart-count-badge{
  position:absolute;top:-4px;right:-4px;
  background:var(--bronze);color:#fff;
  font-size:10px;width:18px;height:18px;
  border-radius:50%;display:none;align-items:center;justify-content:center;
}
.cart-sidebar{
  position:fixed;top:0;right:0;width:450px;max-width:90vw;height:100vh;
  background:var(--white);z-index:999999;
  transform:translateX(100%);transition:transform 0.5s cubic-bezier(0.65,0,0.35,1);
  display:flex;flex-direction:column;
  box-shadow:-20px 0 60px rgba(0,0,0,0.08);
  visibility:hidden;
  opacity:0;
}
.cart-sidebar.open{
  transform:translateX(0);
  visibility:visible;
  opacity:1;
}
.cart-header{
  padding:32px 32px 24px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
  background:var(--paper);
}
.cart-header h3{font-family:'Fraunces',serif;font-size:24px;font-weight:300;letter-spacing:0.1em;color:var(--ink);}
.close-cart{background:none;border:none;font-size:28px;cursor:pointer;color:var(--ink);transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);font-weight:300;}
.close-cart:hover{opacity:0.4;}
.cart-items{
  flex:1;overflow-y:auto;padding:32px;
}
.cart-item{
  display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);
  animation:slideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes slideIn{
  from{opacity:0;transform:translateX(20px);}
  to{opacity:1;transform:translateX(0);}
}
.cart-item-image{
  width:100px;height:100px;background:var(--paper);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
}
.cart-item-image img{width:100%;height:100%;object-fit:cover;}
.cart-item-details{flex:1;display:flex;flex-direction:column;justify-content:space-between;}
.cart-item-details h4{font-size:15px;margin-bottom:4px;font-weight:400;color:var(--ink);font-family:'Fraunces',serif;}
.cart-item-price{font-size:14px;color:var(--stone);margin-bottom:12px;font-weight:300;}
.cart-item-qty{
  display:flex;align-items:center;gap:16px;
}
.cart-item-qty button{
  width:32px;height:32px;border:1px solid var(--line);
  background:none;cursor:pointer;font-size:16px;
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  color:var(--ink);
}
.cart-item-qty button:hover{border-color:var(--ink);background:var(--paper);}
.cart-item-qty span{font-size:14px;min-width:24px;text-align:center;font-weight:400;}
.remove-item{
  background:none;border:none;font-size:20px;cursor:pointer;
  color:var(--stone);transition:color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  align-self:flex-start;
}
.remove-item:hover{color:#E74C3C;}
.empty-cart{text-align:center;color:var(--stone);padding:60px 0;font-size:14px;line-height:1.6;}
.cart-footer{
  padding:32px;border-top:1px solid var(--line);
  background:var(--paper);
}
.cart-total-row{
  display:flex;justify-content:space-between;
  font-size:18px;font-weight:400;margin-bottom:24px;
  font-family:'Fraunces',serif;letter-spacing:0.05em;
}
.checkout-btn{
  width:100%;padding:18px;background:var(--ink);color:#fff;
  border:none;font-size:13px;letter-spacing:0.15em;text-transform:uppercase;
  cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight:400;font-family:'Inter',sans-serif;
}
.checkout-btn:hover{background:var(--bronze);transform:translateY(-2px);}
.checkout-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;}

/* NOTIFICATION */
.notification{
  position:fixed;bottom:24px;right:24px;
  background:var(--ink);color:#fff;
  padding:16px 24px;border-radius:4px;
  opacity:0;transform:translateY(20px);
  transition:opacity 0.3s ease,transform 0.3s ease;
  z-index:10000;
}
.notification.show{opacity:1;transform:translateY(0);}

/* LANGUAGE SWITCHER */
.lang-dropdown{
  position:relative;
  margin-left:24px;
}
.lang-current{
  background:none;border:none;cursor:pointer;
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--stone);transition:color 0.3s ease;
  padding:4px 8px;
}
.lang-current:hover{color:var(--ink);}
.lang-menu{
  position:absolute;
  top:100%;
  right:0;
  background:var(--white);
  border:1px solid var(--line);
  display:none;
  flex-direction:column;
  min-width:60px;
  z-index:10001;
}
.lang-menu.active{display:flex;}
.lang-menu button{
  background:none;border:none;cursor:pointer;
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--stone);padding:8px 12px;
  transition:all 0.2s ease;
  text-align:right;
}
.lang-menu button:hover{background:var(--paper);color:var(--ink);}
.lang-menu button.active{color:var(--ink);font-weight:500;}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;}
.blog-card{
  background:var(--white);transition:transform 0.4s ease,box-shadow 0.4s ease;
}
.blog-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.08);}
.blog-image{
  aspect-ratio:16/10;background:var(--paper);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}
.blog-card:hover .blog-image img{transform:scale(1.05);}
.blog-content{padding:24px 0;}
.blog-meta{display:flex;gap:16px;margin-bottom:12px;font-size:11px;color:var(--stone);}
.blog-category{color:var(--bronze);text-transform:uppercase;letter-spacing:0.1em;}
.blog-title{font-family:'Fraunces',serif;font-size:20px;margin-bottom:12px;font-weight:400;}
.blog-excerpt{color:var(--stone);line-height:1.7;margin-bottom:16px;}
.blog-link{color:var(--bronze);font-size:13px;text-transform:uppercase;letter-spacing:0.1em;}
@media (max-width:760px){.blog-grid{grid-template-columns:1fr;}}

/* NEWSLETTER */
.newsletter-section{
  background:var(--ink);color:#fff;padding:120px 5vw;text-align:center;
}
.newsletter-content h2{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,48px);font-weight:300;margin-bottom:16px;}
.newsletter-content p{color:#C9C6BF;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;}
.newsletter-form{
  display:flex;gap:16px;max-width:400px;margin:0 auto;
}
.newsletter-form input{
  flex:1;padding:12px 16px;border:1px solid #45433F;
  background:transparent;color:#fff;outline:none;
}
.newsletter-form button{
  padding:12px 24px;background:var(--bronze);color:#fff;
  border:none;cursor:pointer;text-transform:uppercase;letter-spacing:0.1em;
}
@media (max-width:760px){.newsletter-form{flex-direction:column;}}

/* FAQ */
.faq-grid{display:grid;gap:16px;max-width:800px;}
.faq-item{border:1px solid var(--line);}
.faq-question{
  padding:24px;background:var(--white);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  transition:background 0.3s ease;
}
.faq-question:hover{background:var(--paper);}
.faq-question h3{font-family:'Fraunces',serif;font-size:16px;font-weight:400;margin:0;}
.faq-answer{
  max-height:0;overflow:hidden;padding:0 24px;
  background:var(--paper);transition:max-height 0.3s ease,padding 0.3s ease;
}
.faq-item.open .faq-answer{
  max-height:500px;padding:24px;
}
.faq-toggle{font-size:24px;transition:transform 0.3s ease;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}

/* CHECKOUT */
.checkout-grid{display:grid;grid-template-columns:1fr 400px;gap:40px;}
.checkout-section{margin-bottom:40px;}
.checkout-section h3{font-family:'Fraunces',serif;font-size:20px;margin-bottom:24px;}
.checkout-form{display:grid;gap:20px;}
.form-group{display:grid;gap:8px;}
.form-group label{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);}
.form-group input,.form-group select{
  padding:12px;border:1px solid var(--line);background:var(--white);
  outline:none;transition:border-color 0.3s ease;
}
.form-group input:focus,.form-group select:focus{border-color:var(--bronze);}
.order-summary{
  background:var(--paper);padding:32px;
}
.order-item{
  display:flex;justify-content:space-between;padding:16px 0;
  border-bottom:1px solid var(--line);
}
.order-item:last-child{border-bottom:none;}
.order-total{
  display:flex;justify-content:space-between;font-size:20px;font-weight:500;
  margin-top:24px;padding-top:24px;border-top:1px solid var(--line);
}
@media (max-width:760px){.checkout-grid{grid-template-columns:1fr;}}

/* ACCOUNT */
.account-grid{display:grid;grid-template-columns:250px 1fr;gap:40px;}
.account-sidebar{position:sticky;top:100px;height:fit-content;}
.account-nav{display:flex;flex-direction:column;gap:8px;}
.account-nav a{
  padding:12px 16px;font-size:13px;color:var(--stone);
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);border-radius:4px;
}
.account-nav a:hover{background:var(--paper);color:var(--ink);}
.account-nav a.active{
  background:var(--ink);color:#fff;
}
.account-section h2{font-family:'Fraunces',serif;font-size:24px;margin-bottom:24px;}
.account-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.stat-card{
  background:var(--paper);padding:32px;text-align:center;
}
.stat-number{font-size:36px;font-weight:500;color:var(--bronze);display:block;}
.stat-label{font-size:12px;color:var(--stone);text-transform:uppercase;letter-spacing:0.1em;}
.account-form{display:grid;gap:20px;max-width:400px;}
.empty-state{color:var(--stone);padding:40px 0;text-align:center;}
.orders-list,.favorites-list,.addresses-list{display:grid;gap:16px;}
@media (max-width:760px){.account-grid{grid-template-columns:1fr;}.account-sidebar{position:static;}}

/* REVIEWS */
.reviews-section{margin-top:80px;}
.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;}
.reviews-header h3{font-family:'Fraunces',serif;font-size:24px;}
.add-review-btn{
  padding:10px 20px;background:none;border:1px solid var(--line);
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  cursor:pointer;transition:all 0.3s ease;
}
.add-review-btn:hover{border-color:var(--bronze);}
.reviews-grid{display:grid;gap:24px;}
.review-card{
  background:var(--paper);padding:24px;
}
.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.review-author{font-weight:500;}
.review-date{font-size:12px;color:var(--stone);}
.review-rating{color:var(--bronze);letter-spacing:2px;}
.review-text{line-height:1.7;color:var(--ink);}
.review-form{
  background:var(--paper);padding:32px;margin-top:24px;display:none;
}
.review-form.open{display:block;}
.review-form h4{font-family:'Fraunces',serif;font-size:20px;margin-bottom:24px;}
.review-form .form-group{margin-bottom:20px;}
.review-form label{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;}
.review-form textarea{
  width:100%;padding:12px;border:1px solid var(--line);
  background:var(--white);outline:none;resize:vertical;min-height:100px;
}
.review-form .rating-select{
  display:flex;gap:8px;
}
.review-form .rating-select button{
  width:40px;height:40px;background:none;border:1px solid var(--line);
  font-size:18px;cursor:pointer;transition:all 0.3s ease;
}
.review-form .rating-select button:hover,.review-form .rating-select button.active{
  background:var(--bronze);color:#fff;border-color:var(--bronze);
}

/* CHECKOUT */
.checkout-grid{
  display:grid;grid-template-columns:1.5fr 1fr;gap:48px;max-width:1200px;margin:0 auto;
}
.checkout-form-container{background:var(--paper);padding:40px;}
.checkout-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--line);}
.checkout-section:last-child{border-bottom:none;}
.checkout-section h3{font-family:'Fraunces',serif;font-size:18px;margin-bottom:20px;}
.checkout-form{display:grid;gap:16px;}
.form-group label{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:12px;border:1px solid var(--line);
  background:var(--white);outline:none;font-family:inherit;font-size:14px;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--bronze);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.security-badges{
  display:flex;gap:16px;margin-top:16px;font-size:11px;color:var(--stone);
}
.terms-checkbox{
  display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.5;
}
.terms-checkbox input{margin-top:4px;}
.terms-checkbox a{color:var(--bronze);text-decoration:underline;}

/* ORDER SUMMARY */
.order-summary{background:var(--paper);padding:32px;height:fit-content;}
.order-summary h3{font-family:'Fraunces',serif;font-size:18px;margin-bottom:20px;}
.order-item{
  display:flex;justify-content:space-between;padding:12px 0;
  border-bottom:1px solid var(--line);
}
.order-breakdown{margin:24px 0;}
.order-row{
  display:flex;justify-content:space-between;padding:8px 0;
  font-size:13px;color:var(--stone);
}
.order-total{
  display:flex;justify-content:space-between;padding:16px 0;
  border-top:2px solid var(--line);font-size:18px;font-weight:500;
}
.delivery-info{margin-top:24px;font-size:12px;color:var(--stone);line-height:1.6;}

/* ORDER SUCCESS */
.success-container{max-width:600px;margin:0 auto;text-align:center;}
.success-icon{
  width:80px;height:80px;margin:0 auto 32px;
  background:var(--bronze);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:40px;font-weight:300;
}
.order-details,.shipping-details,.order-items-summary{
  background:var(--paper);padding:24px;margin-bottom:24px;text-align:left;
}
.order-details h3,.shipping-details h3,.order-items-summary h3{
  font-family:'Fraunces',serif;font-size:16px;margin-bottom:16px;
}
.detail-row{
  display:flex;justify-content:space-between;padding:8px 0;
  border-bottom:1px solid var(--line);
}
.detail-row:last-child{border-bottom:none;}
.next-steps ul{list-style:none;padding:0;text-align:left;}
.next-steps li{padding:8px 0;color:var(--stone);}
.success-actions{display:flex;gap:16px;justify-content:center;margin-top:32px;}
.secondary-btn{
  padding:12px 24px;background:none;border:1px solid var(--line);
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  cursor:pointer;transition:all 0.3s ease;
}
.secondary-btn:hover{border-color:var(--bronze);color:var(--bronze);}

/* REVIEWS GRID */
.reviews-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px;
}
.review-card{
  background:var(--paper);padding:24px;
}
.review-stars{
  font-size:16px;color:var(--bronze);margin-bottom:12px;
}
.review-text{
  line-height:1.6;color:var(--ink);margin-bottom:16px;font-style:italic;
}
.review-author{
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;color:var(--stone);
}
.review-date{font-size:11px;}
.add-review{text-align:center;margin-top:24px;}

/* COOKIE BANNER */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;
  background:var(--ink);color:var(--white);
  padding:16px 24px;z-index:10000;
  box-shadow:0 -4px 12px rgba(0,0,0,0.1);
}
.cookie-content{
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
.cookie-content p{font-size:13px;margin:0;}
.cookie-content a{color:var(--bronze);text-decoration:underline;}
.cookie-buttons{display:flex;gap:12px;flex-shrink:0;}
.cookie-btn{
  padding:8px 16px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  cursor:pointer;border:none;transition:all 0.3s ease;
}
.cookie-accept{
  background:var(--bronze);color:#fff;
}
.cookie-accept:hover{background:#a05a2c;}
.cookie-decline{
  background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.3);
}
.cookie-decline:hover{border-color:var(--white);}

@media (max-width:760px){
  .checkout-grid{grid-template-columns:1fr;}
  .cookie-content{flex-direction:column;text-align:center;}
  .cookie-buttons{width:100%;justify-content:center;}
  .success-actions{flex-direction:column;}
}

/* AUTHENTICATION */
.auth-buttons{display:flex;gap:12px;}
.auth-buttons button{
  padding:8px 16px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  background:none;border:1px solid var(--line);cursor:pointer;transition:all 0.3s ease;
}
.auth-buttons button:hover{border-color:var(--bronze);color:var(--bronze);}
.user-menu{display:flex;align-items:center;gap:16px;}
.user-name{font-size:13px;font-weight:500;}
.my-account-btn{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--bronze);text-decoration:none;}
.sign-out-btn{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;background:none;border:none;cursor:pointer;color:var(--stone);}
.sign-out-btn:hover{color:var(--ink);}

.auth-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,0.5);z-index:10000;
  display:flex;align-items:center;justify-content:center;
}
.auth-modal{
  background:var(--paper);padding:40px;max-width:480px;width:90%;
  position:relative;
}
.auth-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;background:none;border:none;
  font-size:24px;cursor:pointer;color:var(--stone);
}
.auth-tabs{display:flex;gap:16px;margin-bottom:24px;border-bottom:1px solid var(--line);}
.auth-tab{
  padding:12px 0;background:none;border:none;
  font-size:13px;font-weight:500;cursor:pointer;
  color:var(--stone);border-bottom:2px solid transparent;
}
.auth-tab.active{color:var(--ink);border-bottom-color:var(--bronze);}
.auth-form{display:grid;gap:16px;}
.auth-submit-btn{
  padding:14px 24px;background:var(--bronze);color:#fff;
  font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  border:none;cursor:pointer;transition:all 0.3s ease;
}
.auth-submit-btn:hover{background:#a05a2c;}
.social-login{margin-top:24px;text-align:center;}
.social-login p{font-size:12px;color:var(--stone);margin-bottom:16px;}
.google-login,.apple-login{
  width:100%;padding:12px;margin-bottom:12px;
  background:var(--white);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;gap:12px;
  font-size:13px;cursor:pointer;transition:all 0.3s ease;
}
.google-login:hover,.apple-login:hover{border-color:var(--bronze);}

/* EXPRESS PAYMENT */
.express-payment{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;}
.apple-pay-btn,.google-pay-btn{
  padding:14px;background:#000;color:#fff;border:none;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;cursor:pointer;transition:all 0.3s ease;
}
.apple-pay-btn:hover,.google-pay-btn:hover{background:#333;}
.payment-divider{
  display:flex;align-items:center;gap:16px;margin:24px 0;
  font-size:12px;color:var(--stone);
}
.payment-divider::before,.payment-divider::after{
  content:'';flex:1;height:1px;background:var(--line);
}

/* ACCOUNT PAGE */
.account-grid{display:grid;grid-template-columns:250px 1fr;gap:48px;max-width:1200px;margin:0 auto;}
.account-sidebar{background:var(--paper);padding:24px;height:fit-content;}
.account-nav{display:flex;flex-direction:column;gap:8px;}
.account-nav a{
  padding:12px 16px;text-decoration:none;color:var(--stone);
  font-size:13px;transition:all 0.3s ease;border-radius:4px;
}
.account-nav a:hover{color:var(--ink);background:var(--white);}
.account-nav a.active{color:var(--bronze);background:var(--white);font-weight:500;}
.account-form{display:grid;gap:16px;max-width:400px;}
.address-card{background:var(--white);padding:16px;margin-bottom:12px;}
.order-card{background:var(--white);padding:16px;margin-bottom:12px;}
.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.order-status{font-size:11px;padding:4px 8px;background:var(--bronze);color:#fff;border-radius:4px;}

/* ADMIN DASHBOARD */
.admin-dashboard{max-width:1200px;margin:0 auto;}
.admin-tabs{display:flex;gap:16px;margin-bottom:32px;border-bottom:1px solid var(--line);}
.admin-tab{
  padding:12px 0;background:none;border:none;
  font-size:13px;font-weight:500;cursor:pointer;
  color:var(--stone);border-bottom:2px solid transparent;
}
.admin-tab.active{color:var(--ink);border-bottom-color:var(--bronze);}
.admin-badge{
  padding:4px 12px;background:var(--bronze);color:#fff;
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;border-radius:4px;
}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px;}
.admin-table-container{overflow-x:auto;margin-top:24px;}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{
  text-align:left;padding:12px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--stone);border-bottom:2px solid var(--line);
}
.admin-table td{padding:12px;border-bottom:1px solid var(--line);}
.admin-table code{font-size:11px;color:var(--stone);}
.status-select{
  padding:6px 12px;border:1px solid var(--line);
  background:var(--white);font-size:12px;
}
.email-type{font-size:11px;padding:4px 8px;border-radius:4px;}
.email-type.welcome{background:#e3f2fd;color:#1976d2;}
.email-type.order_confirmation{background:#e8f5e9;color:#388e3c;}
.email-type.admin_notification{background:#fff3e0;color:#f57c00;}
.status-sent{color:#388e3c;font-weight:500;}

@media (max-width:760px){
  .account-grid{grid-template-columns:1fr;}
  .admin-stats{grid-template-columns:repeat(2,1fr);}
  .express-payment{grid-template-columns:1fr;}
}

/* Order Tracking Modal */
.tracking-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.tracking-content {
  background: var(--paper);
  padding: 32px;
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}

.tracking-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--stone);
}

.tracking-content h3 {
  margin-bottom: 24px;
  margin-top: 0;
}

.tracking-timeline {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  position: relative;
}

.tracking-timeline::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--line);
  z-index: 0;
}

.tracking-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  position: relative;
}

.tracking-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--line);
  margin-bottom: 8px;
  transition: background 0.3s ease;
}

.tracking-step.completed .tracking-dot {
  background: var(--ink);
}

.tracking-step.current .tracking-dot {
  background: var(--accent);
}

.tracking-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--stone);
}

.tracking-step.current .tracking-label {
  color: var(--ink);
  font-weight: 600;
}

.tracking-details {
  background: var(--bg);
  padding: 16px;
  border-radius: 4px;
}

.tracking-details p {
  margin: 8px 0;
  font-size: 13px;
}

.tracking-details strong {
  color: var(--ink);
}

/* Order Detail Modal */
.order-detail-modal {
  max-width: 600px;
}

.order-detail-section {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.order-detail-section:last-child {
  border-bottom: none;
}

.order-detail-section h4 {
  margin: 0 0 12px 0;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--stone);
}

.order-detail-section p {
  margin: 8px 0;
  font-size: 13px;
}

.order-detail-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.order-detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  background: var(--bg);
  border-radius: 4px;
}

.order-detail-item strong {
  flex: 1;
}

.order-detail-item span {
  margin-left: 16px;
  font-size: 13px;
}

.order-detail-actions {
  margin-top: 24px;
  text-align: right;
}

/* Order Actions */
.order-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.order-actions .secondary-btn {
  flex: 1;
}

.cancel-btn {
  background: #f44336 !important;
  color: white !important;
}

.cancel-btn:hover {
  background: #d32f2f !important;
}

/* Auth Footer */
.auth-footer {
  margin-top: 16px;
  text-align: center;
}

.auth-footer a {
  color: var(--stone);
  font-size: 12px;
  text-decoration: none;
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.auth-footer a:hover {
  color: var(--ink);
  text-decoration: underline;
}

/* Reviews Section */
.reviews-section {
  max-width: 800px;
  margin: 0 auto;
  padding: 48px 5vw;
}

.reviews-section h2 {
  margin-bottom: 32px;
}

#reviewsList {
  margin-bottom: 48px;
}

.review-item {
  padding: 24px;
  background: var(--paper);
  border: 1px solid var(--line);
  margin-bottom: 16px;
  border-radius: 4px;
}

.review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.review-rating {
  color: #FFD700;
  letter-spacing: 2px;
}

.review-date {
  font-size: 12px;
  color: var(--stone);
  margin: 8px 0;
}

.review-text {
  line-height: 1.6;
  color: var(--ink);
}

.review-form-container {
  background: var(--paper);
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.review-form-container h3 {
  margin-top: 0;
  margin-bottom: 24px;
}

.rating-input {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
}

.rating-input input[type="radio"] {
  display: none;
}

.rating-star {
  font-size: 32px;
  color: var(--line);
  cursor: pointer;
  transition: color 0.2s ease;
}

.rating-star:hover,
.rating-star:hover ~ .rating-star {
  color: #FFD700;
}

.rating-input input[type="radio"]:checked ~ .rating-star {
  color: #FFD700;
}

.rating-input input[type="radio"]:checked + .rating-star,
.rating-input input[type="radio"]:checked ~ .rating-star {
  color: #FFD700;
}

.search-box {
  position: relative;
  margin-bottom: 24px;
}

.search-box input {
  width: 100%;
  padding: 16px 48px 16px 16px;
  font-size: 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink);
}

.search-box input:focus {
  outline: none;
  border-color: var(--ink);
}

.search-clear {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 24px;
  color: var(--stone);
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-clear:hover {
  color: var(--ink);
}

.search-filters {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.search-filters select {
  padding: 12px 16px;
  font-size: 14px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  min-width: 200px;
}

.search-filters select:focus {
  outline: none;
  border-color: var(--ink);
}

/* Product Rating Display */
.product-rating {
  color: #FFD700;
  font-size: 14px;
  letter-spacing: 1px;
  margin-top: 4px;
}

.product-rating-display {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.rating-stars {
  color: #FFD700;
  font-size: 18px;
  letter-spacing: 2px;
}

.rating-count {
  font-size: 12px;
  color: var(--stone);
  margin-top: 4px;
}

.rating-average {
  font-size: 12px;
  color: var(--ink);
  margin-top: 2px;
}

.no-reviews {
  font-size: 12px;
  color: var(--stone);
  font-style: italic;
}

/* Review Filters */
.review-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.review-filters .secondary-btn {
  font-size: 12px;
  padding: 8px 12px;
}

/* Wishlist Buttons */
.piece-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.wishlist-btn {
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 18px;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.wishlist-btn:hover {
  border-color: var(--ink);
}

.wishlist-btn.active {
  color: #E74C3C;
  border-color: #E74C3C;
}

.wishlist-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.wishlist-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wishlist-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: var(--paper);
  border: 1px solid var(--line);
}

.wishlist-item-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wishlist-item-actions {
  display: flex;
  gap: 8px;
}

.inventory-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.low-stock-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.low-stock-content {
  background: var(--paper);
  padding: 32px;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  border-radius: 8px;
}

.low-stock-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid var(--line);
}

.low-stock-item:last-child {
  border-bottom: none;
}

.stock-warning {
  color: #E74C3C;
  font-weight: bold;
}

.analytics-controls {
  margin-bottom: 16px;
}

.analytics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.analytics-card {
  background: var(--paper);
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.analytics-card h3 {
  font-size: 14px;
  color: var(--stone);
  margin-bottom: 8px;
}

.analytics-value {
  font-size: 24px;
  font-weight: bold;
  color: var(--ink);
}

.analytics-details {
  background: var(--paper);
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.top-products-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.top-product-item {
  display: flex;
  justify-content: space-between;
  padding: 8px;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.top-product-item:last-child {
  border-bottom: none;
}

/* Search Overlay */
.search-toggle {
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--ink);
  padding: 8px 16px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.search-toggle:hover {
  border-color: var(--ink);
}

/* Admin Login Container */
.admin-login-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  text-align: center;
  padding: 40px;
}

.notifications-settings {
  background: var(--paper);
  padding: 24px;
  border: 1px solid var(--line);
}

.notifications-settings h3 {
  margin-bottom: 16px;
}

.notification-option {
  margin-bottom: 12px;
}

.notification-option label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.notification-option input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.unsubscribe-section {
  padding: 16px;
  background: var(--paper);
  border: 1px solid var(--line);
}

/* Notification System */
.notification-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 400px;
}

.notification {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transform: translateX(100%);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.notification.show {
  opacity: 1;
  transform: translateX(0);
}

.notification-content {
  flex: 1;
}

.notification-title {
  font-weight: bold;
  margin-bottom: 4px;
  color: var(--ink);
}

.notification-message {
  color: var(--stone);
  font-size: 14px;
}

.notification-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--stone);
  padding: 0;
  line-height: 1;
}

.notification-close:hover {
  color: var(--ink);
}

.notification-success {
  border-left: 4px solid #2ECC71;
}

.notification-error {
  border-left: 4px solid #E74C3C;
}

.notification-warning {
  border-left: 4px solid #F39C12;
}

.notification-info {
  border-left: 4px solid #3498DB;
}

/* Analytics Charts */
.analytics-charts {
  background: var(--paper);
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  margin-top: 24px;
}

.chart-container {
  min-height: 200px;
  padding: 16px;
}

.chart-placeholder {
  text-align: center;
  color: var(--stone);
  padding: 40px;
}

.simple-bar-chart {
  width: 100%;
}

.chart-bars {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  height: 150px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.chart-bar-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.chart-bar {
  width: 100%;
  background: var(--ink);
  border-radius: 4px 4px 0 0;
  position: relative;
  transition: height 0.3s ease;
  min-height: 4px;
}

.chart-bar:hover {
  background: var(--stone);
}

.chart-bar-tooltip {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ink);
  color: var(--paper);
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.chart-bar:hover .chart-bar-tooltip {
  opacity: 1;
}

.chart-label {
  font-size: 11px;
  color: var(--stone);
  text-align: center;
  margin-top: 8px;
  transform: rotate(-45deg);
  transform-origin: center;
}

/* Scroll Animations */
.scroll-fade-up {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

.scroll-stagger .item {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-stagger.visible .item {
  opacity: 1;
  transform: translateY(0);
}

.admin-login-container h2 {
  font-family: 'Fraunces', serif;
  font-size: 32px;
  margin-bottom: 16px;
}

.admin-login-container p {
  color: var(--stone);
  margin-bottom: 24px;
  max-width: 400px;
}

/* Custom Cursor */
*, *::before, *::after { cursor: none !important; }

#custom-cursor {
  position: fixed;
  top: 0; left: 0;
  width: 20px; height: auto;
  pointer-events: none;
  z-index: 100001;
  transform: scaleX(-1);
  transition: transform 0.05s ease;
}

#custom-cursor.cursor-hover { transform: scaleX(-1) scale(1.15); }

#cursor-label {
  position: fixed;
  top: 0; left: 0;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bronze);
  pointer-events: none;
  z-index: 100001;
  opacity: 0;
  transition: opacity 0.2s ease;
  font-weight: 300;
}

/* Grain Overlay */
.grain-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  filter: url(#grain);
  opacity: 0.04;
}
