/* ============================================================
   ANVARTO · Premium dark + gold marketplace theme
   Pure CSS, no framework. Hostinger-ready.
   ============================================================ */

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

:root{
  --bg: #0A0908;
  --bg-2: #11100E;
  --surface: #161412;
  --surface-2: #1C1A17;
  --line: rgba(201,169,97,0.14);
  --line-soft: rgba(255,255,255,0.06);
  --gold: #C9A961;
  --gold-2: #E5C66D;
  --gold-3: #8E763B;
  --gold-grad: linear-gradient(135deg,#E8CC78 0%,#C9A961 45%,#8E763B 100%);
  --ink: #F2EDE2;
  --ink-soft: rgba(242,237,226,.7);
  --muted: rgba(242,237,226,.45);
  --danger: #E26666;
  --ok: #6FBF8A;
  --radius: 4px;
  --maxw: 1280px;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);}
body{
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -20%, rgba(201,169,97,0.10), transparent 60%),
    linear-gradient(180deg, #0A0908 0%, #0D0B09 100%);
  background-attachment:fixed;
  min-height:100vh;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit;}
::selection{background:rgba(201,169,97,.4);color:#fff;}
hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0;}

/* Typography */
.display, h1.display, h2.display{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.04;
}
.italic{font-style:italic;color:var(--gold-2);}
.eyebrow{
  font-family:'Manrope';
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";display:inline-block;width:24px;height:1px;background:var(--gold);}
.eyebrow.no-line::before{display:none;}
.muted{color:var(--muted);}
.serif{font-family:'Cormorant Garamond', Georgia, serif;}

/* Layout */
.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem;}
@media(min-width:768px){.container{padding:0 2rem;}}
.section{padding:5rem 0;}
@media(min-width:1024px){.section{padding:7rem 0;}}

.flex{display:flex;}
.gap-2{gap:.5rem;} .gap-3{gap:.75rem;} .gap-4{gap:1rem;} .gap-6{gap:1.5rem;}
.items-center{align-items:center;}
.justify-between{justify-content:space-between;}
.flex-wrap{flex-wrap:wrap;}
.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.text-xs{font-size:.75rem;} .text-sm{font-size:.875rem;} .text-lg{font-size:1.125rem;} .text-xl{font-size:1.25rem;}
.mt-1{margin-top:.25rem;}.mt-2{margin-top:.5rem;}.mt-3{margin-top:.75rem;}.mt-4{margin-top:1rem;}
.mt-6{margin-top:1.5rem;}.mt-8{margin-top:2rem;}.mt-10{margin-top:2.5rem;}
.mb-2{margin-bottom:.5rem;}.mb-4{margin-bottom:1rem;}.mb-6{margin-bottom:1.5rem;}.mb-8{margin-bottom:2rem;}
.p-6{padding:1.5rem;}.p-8{padding:2rem;}.p-10{padding:2.5rem;}
.font-bold{font-weight:700;}.font-medium{font-weight:500;}
.hide-sm{display:none;}@media(min-width:768px){.hide-sm{display:initial;}}
.show-sm{display:initial;}@media(min-width:768px){.show-sm{display:none;}}

/* Headlines */
h1, .h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1;letter-spacing:-0.02em;margin:0;}
h2, .h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-0.02em;margin:0;}
h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.02em;margin:0;}
h4{font-family:'Manrope',sans-serif;font-weight:600;font-size:.95rem;margin:0;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:'Manrope';font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.95rem 1.6rem;border:1px solid var(--gold);background:transparent;color:var(--gold-2);
  border-radius:var(--radius);transition:all .3s ease;cursor:pointer;line-height:1;
  position:relative;overflow:hidden;
}
.btn::before{
  content:"";position:absolute;inset:0;background:var(--gold-grad);
  transform:translateX(-101%);transition:transform .35s ease;z-index:-1;
}
.btn:hover{color:#0A0908;border-color:var(--gold-2);transform:translateY(-1px);box-shadow:0 6px 24px rgba(201,169,97,.25);}
.btn:hover::before{transform:translateX(0);}
.btn.solid{background:var(--gold-grad);color:#0A0908;border-color:transparent;}
.btn.solid::before{display:none;}
.btn.solid:hover{filter:brightness(1.08);box-shadow:0 6px 28px rgba(201,169,97,.45);}
.btn.ghost{border-color:var(--line);color:var(--ink-soft);}
.btn.ghost::before{display:none;}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,169,97,.06);}
.btn.danger{border-color:rgba(226,102,102,.45);color:#E27575;}
.btn.danger::before{background:#E26666;}
.btn.sm{padding:.55rem .95rem;font-size:.72rem;letter-spacing:.12em;}
.btn.block{display:flex;width:100%;}
.btn:disabled{opacity:.4;cursor:not-allowed;}

.input, .select, .textarea{
  width:100%;background:var(--surface);color:var(--ink);
  border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:.85rem 1rem;font:400 .95rem/1.4 'Manrope',sans-serif;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.input:focus, .select:focus, .textarea:focus{
  outline:none;border-color:var(--gold);background:var(--surface-2);
  box-shadow:0 0 0 3px rgba(201,169,97,.12);
}
.input::placeholder{color:var(--muted);}
.label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;}
.field{margin-bottom:1rem;}
select.input, select.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23C9A961' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:10px;padding-right:2.5rem;}

/* Surface */
.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;}
.card.padded{padding:2rem;}
.card.glow{border-color:var(--line);box-shadow:0 1px 0 rgba(201,169,97,.06) inset, 0 12px 40px rgba(0,0,0,.4);}
.divider{height:1px;background:var(--line);margin:1.5rem 0;}

/* Pill / badge */
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);background:rgba(201,169,97,.04);}
.pill.dot::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);}

/* Header */
.hdr{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(10,9,8,.7);border-bottom:1px solid var(--line);}
.hdr-row{display:flex;align-items:center;gap:1.25rem;padding:1.1rem 0;}
.brand{display:inline-flex;align-items:center;gap:.6rem;}
.brand img{height:42px;width:auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));}
.nav{display:none;align-items:center;gap:.25rem;margin-left:1.5rem;}
@media(min-width:1024px){.nav{display:flex;}}
.nav a{padding:.55rem .95rem;font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);position:relative;transition:color .25s ease;}
.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:.25rem;height:1px;background:var(--gold);transition:left .25s ease, right .25s ease;}
.nav a:hover, .nav a.active{color:var(--gold-2);}
.nav a:hover::after, .nav a.active::after{left:.95rem;right:.95rem;}

.hdr-search{display:none;flex:1;max-width:360px;margin-left:1rem;position:relative;}
@media(min-width:768px){.hdr-search{display:block;}}
.hdr-search input{padding-left:2.4rem;padding-top:.65rem;padding-bottom:.65rem;background:var(--surface);}
.hdr-search .ic{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);}

.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem;}
.icon-btn{position:relative;width:42px;height:42px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--ink-soft);transition:all .25s ease;}
.icon-btn:hover{border-color:var(--gold);color:var(--gold-2);background:var(--surface-2);}
.cart-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;background:var(--gold-grad);color:#0A0908;border-radius:999px;font-size:.65rem;font-weight:700;border:2px solid var(--bg);}
.user-chip{display:none;align-items:center;gap:.5rem;padding:.45rem .85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:.78rem;font-weight:500;color:var(--ink-soft);}
.user-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);}
@media(min-width:1024px){.user-chip{display:inline-flex;}}

#mobile-menu{display:none;border-top:1px solid var(--line);padding:1rem 1.25rem 1.5rem;}
#mobile-menu.open{display:block;}
#mobile-menu a{display:block;padding:.6rem 0;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);}
#mobile-menu a.active{color:var(--gold-2);}

/* Hero */
.hero{position:relative;overflow:hidden;padding:6rem 0 4rem;border-bottom:1px solid var(--line);}
@media(min-width:1024px){.hero{padding:8rem 0 6rem;}}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 20% 30%, rgba(201,169,97,.10), transparent 40%),
                   radial-gradient(circle at 80% 70%, rgba(201,169,97,.06), transparent 40%);
}
.hero-inner{position:relative;display:grid;gap:3rem;align-items:center;}
@media(min-width:1024px){.hero-inner{grid-template-columns:7fr 5fr;gap:5rem;}}
.hero h1{margin:1.2rem 0;}
.hero p{font-size:1.1rem;color:var(--ink-soft);max-width:540px;}
.hero .cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem;}
.hero-meta{margin-top:3rem;display:flex;gap:2rem;flex-wrap:wrap;font-size:.85rem;color:var(--ink-soft);}
.hero-meta span strong{color:var(--gold-2);font-weight:600;}
.hero-art{position:relative;}
.hero-art-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.hero-tile{position:relative;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;aspect-ratio:1/1.1;transition:transform .4s ease, border-color .3s ease;}
.hero-tile:nth-child(even){transform:translateY(2rem);}
.hero-tile:hover{border-color:var(--gold);transform:translateY(-4px);}
.hero-tile:nth-child(even):hover{transform:translate(0, calc(2rem - 4px));}
.hero-tile-img{position:relative;aspect-ratio:1/1;border-bottom:1px solid var(--line-soft);overflow:hidden;background:#0F0E0C;}
.hero-tile-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,9,8,.6) 100%);}
.hero-tile-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.85) contrast(1.05) sepia(0.15);}
.hero-tile-meta{padding:.85rem 1rem 1rem;}
.hero-tile-t{font-family:'Manrope';font-weight:500;font-size:.8rem;letter-spacing:.04em;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hero-tile-p{font-family:'Cormorant Garamond';font-style:italic;font-size:1.15rem;color:var(--gold-2);margin-top:.35rem;}

.flourish{font-family:'Cormorant Garamond';font-style:italic;color:var(--gold-2);}

/* Marquee */
.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 0;overflow:hidden;background:linear-gradient(180deg,rgba(201,169,97,.05),transparent);}
.marquee{display:flex;gap:4rem;white-space:nowrap;animation:marquee 38s linear infinite;font-family:'Cormorant Garamond';font-style:italic;font-size:1.4rem;color:var(--ink-soft);}
.marquee span{display:inline-flex;align-items:center;gap:1rem;}
.marquee .dot{color:var(--gold);font-style:normal;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Section headings */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem;flex-wrap:wrap;}
.section-head h2{max-width:560px;}

/* Categories */
.grid-cats{display:grid;grid-template-columns:1fr;gap:1.2rem;}
@media(min-width:640px){.grid-cats{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.grid-cats{grid-template-columns:repeat(4,1fr);}}
.cat-tile{display:block;padding:2rem;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);transition:all .35s ease;position:relative;overflow:hidden;}
.cat-tile::before{content:"";position:absolute;top:0;left:0;width:0;height:1px;background:var(--gold-grad);transition:width .4s ease;}
.cat-tile:hover{border-color:var(--gold);transform:translateY(-4px);}
.cat-tile:hover::before{width:100%;}
.cat-tile .num{font-family:'Cormorant Garamond';font-style:italic;font-size:1.2rem;color:var(--gold-2);}
.cat-tile h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.7rem;letter-spacing:-0.01em;margin:.4rem 0 .75rem 0;color:var(--ink);text-transform:none;}
.cat-tile p{font-size:.92rem;color:var(--ink-soft);margin:0;}
.cat-tile .arrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--gold-2);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-top:1.4rem;transition:gap .25s ease;}
.cat-tile:hover .arrow{gap:.75rem;}

/* Products */
.grid-products{display:grid;grid-template-columns:1fr;gap:1.8rem;}
@media(min-width:640px){.grid-products{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.grid-products{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1280px){.grid-products{grid-template-columns:repeat(4,1fr);}}
.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;transition:all .4s ease;height:100%;position:relative;}
.pcard:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 30px 70px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(201,169,97,.15);}
.pcard-img{position:relative;aspect-ratio:4/5;background:#0F0E0C;overflow:hidden;}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease;filter:brightness(.88) contrast(1.05) sepia(.08);}
.pcard:hover .pcard-img img{transform:scale(1.06);}
.pcard-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,9,8,.85) 100%);}
.pcard-badge{position:absolute;top:1rem;left:1rem;z-index:1;}
.pcard-fav{position:absolute;top:1rem;right:1rem;z-index:1;width:36px;height:36px;display:grid;place-items:center;background:rgba(10,9,8,.6);border:1px solid var(--line-soft);border-radius:999px;color:var(--ink-soft);backdrop-filter:blur(6px);transition:all .25s ease;}
.pcard-fav:hover{color:var(--gold-2);border-color:var(--gold);}
.pcard-body{padding:1.25rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1;}
.pcard-rating{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted);letter-spacing:.04em;}
.pcard-rating .star{color:var(--gold);}
.pcard-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.35rem;line-height:1.2;letter-spacing:-0.01em;margin:.6rem 0 .55rem;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-title:hover{color:var(--gold-2);}
.pcard-desc{color:var(--ink-soft);font-size:.88rem;line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line-soft);}
.price{font-family:'Cormorant Garamond';font-style:italic;font-size:1.85rem;color:var(--gold-2);font-weight:500;font-variant-ligatures:none;}
.price .sym{font-family:'Manrope',sans-serif;font-style:normal;font-size:.95rem;margin-right:.15rem;color:var(--gold);vertical-align:.2em;font-weight:500;}

/* Image fallback */
.ph-init{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:linear-gradient(180deg,rgba(201,169,97,.12),rgba(10,9,8,.4));}
.ph-init .big{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(2.5rem,6vw,4.5rem);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:.9;letter-spacing:-0.02em;}
.ph-init .sub{font-family:'Manrope';font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:.7rem;padding:0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* Footer */
.ftr{margin-top:6rem;border-top:1px solid var(--line);background:#08070A;}
.ftr-grid{display:grid;gap:3rem;padding:5rem 0 3rem;grid-template-columns:1fr;}
@media(min-width:768px){.ftr-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;}}
.ftr-brand img{height:40px;margin-bottom:1rem;}
.ftr-brand p{color:var(--ink-soft);font-size:.92rem;max-width:300px;}
.ftr h4{font-family:'Manrope';font-weight:600;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 1.1rem 0;}
.ftr ul{list-style:none;margin:0;padding:0;}
.ftr li{margin:.55rem 0;font-size:.9rem;color:var(--ink-soft);}
.ftr li a:hover{color:var(--gold-2);}
.ftr .contact-row{display:flex;gap:.5rem;align-items:flex-start;color:var(--ink-soft);font-size:.85rem;margin:.6rem 0;}
.ftr .contact-row svg{flex-shrink:0;color:var(--gold);}
.ftr-bottom{border-top:1px solid var(--line-soft);padding:1.6rem 0;font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:.6rem;align-items:center;}
@media(min-width:768px){.ftr-bottom{flex-direction:row;justify-content:space-between;}}

/* Page hero (sub-pages) */
.page-hero{padding:6rem 0 3rem;border-bottom:1px solid var(--line);position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0%, rgba(201,169,97,.12), transparent 60%);}
.page-hero .container{position:relative;}
.page-title{margin:1rem 0 .8rem;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;letter-spacing:-0.02em;}
.page-sub{color:var(--ink-soft);max-width:640px;font-size:1.05rem;}

/* Product detail */
.pdp{display:grid;gap:3rem;grid-template-columns:1fr;}
@media(min-width:1024px){.pdp{grid-template-columns:1.1fr 1fr;gap:5rem;}}
.pdp-img{position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#0F0E0C;}
.pdp-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.92) contrast(1.04);}
.pdp .tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.2rem;}
.pdp .price{font-size:3.4rem;margin:1rem 0;display:inline-block;}
.pdp .price .sym{font-family:'Manrope',sans-serif;font-style:normal;font-size:1.4rem;color:var(--gold);vertical-align:.65em;margin-right:.25rem;}
.pdp .feats{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:1.6rem;}
.pdp .feats .feat{padding:1.1rem;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);text-align:center;}
.pdp .feats svg{color:var(--gold);margin-bottom:.4rem;}
.pdp .feats .lbl{font-family:'Manrope';font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}

/* Shop layout */
.shop-row{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media(min-width:1024px){.shop-row{grid-template-columns:260px 1fr;}}
.filter{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;position:sticky;top:90px;}
.filter h3{font-family:'Manrope';font-weight:600;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem;}
.filter .pill-link{display:block;padding:.65rem .85rem;font-size:.88rem;color:var(--ink-soft);border-radius:var(--radius);border:1px solid transparent;transition:all .2s ease;margin-bottom:.25rem;}
.filter .pill-link:hover{color:var(--gold-2);background:rgba(201,169,97,.04);}
.filter .pill-link.active{color:var(--gold-2);border-color:var(--line);background:var(--surface-2);}
.filter .pill-link.active.all{background:var(--gold-grad);color:#0A0908;}

/* Cart */
.line{display:flex;gap:1rem;align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:1rem;}
.line .thumb{width:80px;height:80px;flex-shrink:0;background:#0F0E0C;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;}
.line .thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.9) contrast(1.05);}
.qty{display:inline-flex;align-items:center;gap:.4rem;}
.qty button{width:30px;height:30px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--gold-2);}
.qty button:hover{border-color:var(--gold);}
.qty span{min-width:22px;text-align:center;font-weight:600;}

/* Drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:100;display:none;backdrop-filter:blur(4px);}
.drawer-backdrop.open{display:block;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:440px;background:var(--bg-2);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:101;transform:translateX(100%);transition:transform .3s ease;}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem;border-bottom:1px solid var(--line);}
.drawer-head .ttl{font-family:'Cormorant Garamond';font-size:1.4rem;color:var(--gold-2);font-style:italic;}
.drawer-body{flex:1;overflow-y:auto;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.75rem;}
.drawer-foot{padding:1.4rem;border-top:1px solid var(--line);display:grid;gap:.7rem;background:var(--surface);}

/* Checkout */
.checkout-grid{display:grid;gap:2rem;grid-template-columns:1fr;}
@media(min-width:1024px){.checkout-grid{grid-template-columns:7fr 5fr;}}

/* Notices */
.alert{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold);padding:1rem 1.2rem;border-radius:var(--radius);font-size:.92rem;color:var(--ink-soft);margin:1rem 0;}
.alert.ok{border-left-color:var(--ok);}
.alert.err{border-left-color:var(--danger);color:#f0b0b0;}
.alert.warn{border-left-color:var(--gold-2);}
.notice{margin-top:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.notice svg{color:var(--gold);}

/* Toasts */
#toast-root{position:fixed;top:1.1rem;right:1.1rem;z-index:200;display:flex;flex-direction:column;gap:.6rem;}
.toast{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1.1rem;font-size:.88rem;color:var(--ink);max-width:340px;animation:toastIn .25s ease-out;box-shadow:0 12px 36px rgba(0,0,0,.5);}
.toast.ok{border-left:3px solid var(--ok);}
.toast.err{border-left:3px solid var(--danger);}
.toast.warn{border-left:3px solid var(--gold);}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

/* Tables */
.table{width:100%;border-collapse:collapse;font-size:.9rem;}
.table th, .table td{padding:.95rem 1rem;text-align:left;border-bottom:1px solid var(--line-soft);}
.table th{font-family:'Manrope';font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.table tr:hover{background:rgba(255,255,255,.02);}

/* Admin */
.admin-shell{display:grid;grid-template-columns:1fr;min-height:100vh;}
@media(min-width:1024px){.admin-shell{grid-template-columns:240px 1fr;}}
.admin-side{background:#08070A;border-right:1px solid var(--line);padding:1.6rem 1.2rem;}
.admin-side .brand img{height:36px;}
.admin-side nav{margin-top:2.2rem;display:flex;flex-direction:column;gap:.2rem;}
.admin-side nav a{padding:.7rem .85rem;font-size:.86rem;color:var(--ink-soft);border-radius:var(--radius);border-left:2px solid transparent;display:flex;align-items:center;gap:.6rem;}
.admin-side nav a:hover{color:var(--gold-2);background:rgba(201,169,97,.04);}
.admin-side nav a.active{color:var(--gold-2);background:rgba(201,169,97,.06);border-left-color:var(--gold);}
.admin-main{padding:2rem 2rem 4rem;}
@media(min-width:1024px){.admin-main{padding:2.5rem 3rem 4rem;}}
.kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);}
@media(min-width:768px){.kpi-grid{grid-template-columns:repeat(4,1fr);}}
.kpi{padding:1.5rem;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);}
.kpi .lbl{font-family:'Manrope';font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.kpi .val{font-family:'Cormorant Garamond';font-style:italic;font-size:2.4rem;color:var(--gold-2);margin-top:.4rem;}

/* Invoice (printable) */
.invoice-page{max-width:780px;margin:2rem auto;background:#fff;color:#111;padding:3rem;font-family:'Manrope',Helvetica,Arial,sans-serif;}
.invoice-page h1{font-family:'Cormorant Garamond',serif;font-weight:500;color:#111;margin:0 0 .25rem;font-size:2.6rem;}
.invoice-page .brand-logo{height:48px;margin-bottom:1rem;}
.invoice-page table{width:100%;border-collapse:collapse;}
.invoice-page table th, .invoice-page table td{padding:12px 8px;border-bottom:1px solid #eee;text-align:left;font-size:.92rem;color:#222;}
.invoice-page table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#999;font-weight:600;}
.invoice-page .totals td{border:0;}
.invoice-page .totals .grand{font-family:'Cormorant Garamond';font-style:italic;font-size:1.6rem;color:#C9A961;}
.invoice-page .meta{display:flex;justify-content:space-between;border-top:2px solid #111;border-bottom:1px solid #eee;padding:1rem 0;margin:1.5rem 0;font-size:.88rem;}
.invoice-page .meta div strong{font-family:'Manrope';font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#999;display:block;margin-bottom:.2rem;}
.invoice-print-btn{display:flex;justify-content:flex-end;max-width:780px;margin:1.2rem auto 0;gap:.6rem;}
@media print{
  body{background:#fff !important;}
  .invoice-print-btn, .hdr, .ftr, .drawer, .drawer-backdrop{display:none !important;}
  .invoice-page{box-shadow:none;margin:0;}
}

/* Utilities */
.bg-grid-soft{background-image:linear-gradient(rgba(201,169,97,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,97,.04) 1px, transparent 1px);background-size:40px 40px;}
.gold{color:var(--gold-2);}
.center-stack{display:flex;flex-direction:column;align-items:center;text-align:center;}
.sticky-24{position:sticky;top:5.5rem;}
.thumb-sm{width:48px;height:48px;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;background:#0F0E0C;flex-shrink:0;}
.thumb-sm img{width:100%;height:100%;object-fit:cover;}

/* Empty state */
.empty{padding:4rem 1rem;text-align:center;}
.empty h3{font-family:'Cormorant Garamond';font-style:italic;font-size:2rem;color:var(--gold-2);font-weight:500;}
.empty p{color:var(--ink-soft);margin:.6rem 0 1.5rem;}

/* ============ Legal documents (Privacy / Terms / Refund / Shipping) ============ */
.legal-doc{max-width:820px;margin-left:auto;margin-right:auto;line-height:1.8;color:var(--ink-soft);font-size:.97rem;}
.legal-doc h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:var(--gold-2);font-size:1.6rem;margin:2.2rem 0 .7rem;letter-spacing:-0.01em;text-transform:none;}
.legal-doc h2:first-child{margin-top:0;}
.legal-doc p, .legal-doc li{font-size:.97rem;color:var(--ink-soft);}
.legal-doc strong{color:var(--ink);}
.legal-doc a{color:var(--gold-2);}
.legal-doc ul, .legal-doc ol{padding-left:1.5rem;margin:.6rem 0 1.2rem;display:flex;flex-direction:column;gap:.45rem;}
.legal-doc code{background:rgba(201,169,97,.10);color:var(--gold-2);padding:1px 6px;border-radius:4px;font-size:.85em;}

/* ============ Payment trust strip in footer ============ */
.ftr-payments{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;}
.pay-pill{padding:.32rem .7rem;border:1px solid var(--line-soft);border-radius:99px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:rgba(201,169,97,.04);}
