/* Adonis Arcana — shared styles */
html, body { margin: 0; padding: 0; background: #141312; }
* { box-sizing: border-box; }
a { color: #C4A05A; text-decoration: none; }
a:hover { color: #E0C48B; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
::selection { background: #C4A05A; color: #141312; }

@keyframes aaDrift { 0% { transform: translateY(0); } 50% { transform: translateY(7px); } 100% { transform: translateY(0); } }
@keyframes aaMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Press marquee */
.aa-marquee { position: relative; overflow: hidden; min-width: 0; }
.aa-marquee::before, .aa-marquee::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 64px; z-index: 2; pointer-events: none;
}
.aa-marquee::before { left: 0; background: linear-gradient(90deg, var(--aa-marquee-bg, #141312), rgba(20,19,18,0)); }
.aa-marquee::after { right: 0; background: linear-gradient(270deg, var(--aa-marquee-bg, #141312), rgba(20,19,18,0)); }
.aa-marquee-track {
  display: flex; align-items: center; gap: 56px; width: max-content;
  animation: aaMarquee 32s linear infinite;
}
.aa-marquee:hover .aa-marquee-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .aa-marquee-track { animation: none; } }

body {
  background: #141312;
  color: #F7F3EC;
  font-family: 'Jost', system-ui, sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  overflow-x: hidden;
}

.serif { font-family: 'Marcellus', Georgia, serif; }

/* Header */
.aa-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(20,19,18,0.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(196,160,90,0.18);
}
.aa-header-inner {
  max-width: 1440px; margin: 0 auto; padding: 0 24px;
  height: 74px; display: flex; align-items: center; gap: 20px;
}
.aa-logo { display: flex; align-items: center; gap: 12px; }
.aa-logo img { height: 30px; width: auto; display: block; }
.aa-logo span { font-size: 12px; letter-spacing: 0.3em; color: #F7F3EC; white-space: nowrap; }
.aa-nav { display: flex; align-items: center; gap: 18px; min-width: 0; flex-shrink: 1; }
.aa-nav a {
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #B9B2A9; white-space: nowrap;
}
.aa-nav a:hover { color: #C4A05A; }
.aa-nav a.active { color: #C4A05A; display: flex; align-items: center; gap: 7px; }
.aa-nav a.active .dot { width: 5px; height: 5px; border-radius: 50%; background: #C4A05A; display: block; }
.aa-nav .wide-only { display: flex; }
@media (max-width: 1099px) { .aa-nav .wide-only { display: none; } }
.aa-spacer { flex: 1; }
.aa-account {
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #B9B2A9; white-space: nowrap;
}
.aa-account:hover { color: #C4A05A; }
.aa-cart-btn {
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #141312; background: #C4A05A; padding: 11px 16px;
  white-space: nowrap; flex: none;
}

/* Breadcrumb */
.aa-crumb {
  max-width: 1440px; margin: 0 auto; padding: 26px 40px 0;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #77736E;
}
.aa-crumb a { color: #77736E; }
.aa-crumb a:hover { color: #C4A05A; }
.aa-crumb span.sep { margin: 0 10px; }
.aa-crumb span.current { color: #B9B2A9; }

/* Footer */
.aa-footer { border-top: 1px solid #26241f; padding: 60px 0 40px; }
.aa-footer-inner { max-width: 1440px; margin: 0 auto; padding: 0 40px; }
.aa-promises {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px,1fr));
  gap: 26px; padding-bottom: 44px; border-bottom: 1px solid #26241f;
}
.aa-promises .label { font-size: 10px; letter-spacing: 0.26em; text-transform: uppercase; color: #C4A05A; margin-bottom: 8px; }
.aa-promises .body { font-size: 14px; color: #B9B2A9; }
.aa-footer-bottom {
  display: flex; align-items: center; justify-content: space-between;
  gap: 30px; flex-wrap: wrap; padding-top: 34px;
}
.aa-footer-brand { display: flex; align-items: center; gap: 12px; }
.aa-footer-brand img { height: 26px; width: auto; display: block; }
.aa-footer-brand span { font-size: 11px; letter-spacing: 0.28em; color: #77736E; }
.aa-footer-note { font-size: 12px; color: #46433F; letter-spacing: 0.04em; }

/* Cart drawer */
.aa-cart-overlay {
  position: fixed; inset: 0; background: rgba(13,12,11,0.62);
  backdrop-filter: blur(3px); z-index: 90; display: none;
}
.aa-cart-overlay.open { display: block; }
.aa-cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: 400px; max-width: 92vw;
  background: #0f0e0d; border-left: 1px solid #26241f; z-index: 100;
  display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform 320ms cubic-bezier(.2,.7,.2,1);
}
.aa-cart-drawer.open { transform: translateX(0); }
.aa-cart-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 26px 28px; border-bottom: 1px solid #26241f;
}
.aa-cart-head .title { font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: #C4A05A; }
.aa-cart-head button { font-size: 18px; color: #77736E; }
.aa-cart-head button:hover { color: #F7F3EC; }
.aa-cart-body { flex: 1; overflow-y: auto; padding: 24px 28px; display: flex; flex-direction: column; gap: 20px; }
.aa-cart-empty { font-size: 15px; line-height: 1.6; color: #77736E; }
.aa-cart-item { display: flex; gap: 14px; align-items: flex-start; }
.aa-cart-item .thumb { width: 62px; height: 62px; flex: none; background: repeating-linear-gradient(135deg,#1d1b19 0 9px,#232120 9px 18px); }
.aa-cart-item .name { font-size: 15px; color: #F7F3EC; margin-bottom: 4px; }
.aa-cart-item .meta { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #77736E; }
.aa-cart-item .price { font-family: 'Marcellus', serif; font-size: 18px; color: #D8D3CB; }
.aa-cart-foot { border-top: 1px solid #26241f; padding: 24px 28px; }
.aa-cart-upsell { border: 1px solid #26241f; padding: 16px; margin-bottom: 22px; }
.aa-cart-upsell .label { font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: #C4A05A; margin-bottom: 8px; }
.aa-cart-upsell-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.aa-cart-upsell-row .body { font-size: 14px; line-height: 1.5; color: #B9B2A9; }
.aa-cart-upsell-row button { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #C4A05A; border: 1px solid #46433F; padding: 10px 12px; flex: none; }
.aa-cart-upsell-row button:hover { border-color: #C4A05A; }
.aa-cart-subtotal { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.aa-cart-subtotal .label { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: #77736E; }
.aa-cart-subtotal .amount { font-family: 'Marcellus', serif; font-size: 26px; color: #F7F3EC; }
.aa-checkout-btn { width: 100%; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; background: #C4A05A; color: #141312; padding: 18px; }
.aa-checkout-btn:hover { background: #E0C48B; }

/* Reveal animation */
[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 900ms cubic-bezier(.2,.7,.2,1), transform 900ms cubic-bezier(.2,.7,.2,1); }
[data-reveal].revealed { opacity: 1; transform: none; }

/* Buttons */
.btn-solid { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; background: #F7F3EC; color: #141312; padding: 17px 34px; }
.btn-solid:hover { background: #C4A05A; }
.btn-gold { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; background: #C4A05A; color: #141312; padding: 17px 34px; }
.btn-gold:hover { background: #E0C48B; }
.btn-outline { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; border: 1px solid #46433F; color: #F7F3EC; padding: 17px 34px; }
.btn-outline:hover { border-color: #C4A05A; color: #C4A05A; }
.btn-dark { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; background: #141312; color: #F7F3EC; padding: 17px 30px; }
.btn-dark:hover { background: #C4A05A; color: #141312; }
