/* ============================================================
   AMO additions on top of the ported v22 theme.
   Only what theme.css does not already define:
   cart lines, product detail, liquid-glass button, AMO credit.
   ============================================================ */

/* ── Liquid glass button (AMO standard, vanilla cross-browser) ── */
.amo-glass {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(196,150,90,.92), rgba(138,104,64,.92));
  border: 1px solid rgba(217,174,122,.55);
  color: #09080A;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -1px 0 rgba(0,0,0,.25),
    0 6px 18px rgba(0,0,0,.45);
  transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s, filter .25s;
}
.amo-glass::before {
  content: "";
  position: absolute;
  inset: 0 0 50% 0;
  background: linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0));
  pointer-events: none;
  z-index: -1;
}
.amo-glass::after {
  content: "";
  position: absolute;
  top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
  transform: skewX(-18deg);
  transition: left .6s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
  z-index: -1;
}
.amo-glass:hover { transform: translateY(-1px); filter: brightness(1.04); }
.amo-glass:hover::after { left: 130%; }
.amo-glass:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 3px; }
.amo-glass:disabled { opacity: .45; cursor: not-allowed; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) {
  .amo-glass, .amo-glass::after { transition: none; }
}

/* ── AMO footer credit (non-negotiable) ── */
.amo-credit {
  font-family: var(--font-sub);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
}
.amo-credit a { color: var(--brass-dim); transition: color .3s; }
.amo-credit a:hover { color: var(--brass-light); }

/* ── Cart lines ── */
.cart-drawer__empty {
  padding: 40px 24px;
  text-align: center;
  color: var(--muted-light);
  font-size: 14px;
}
.cart-line {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.cart-line__img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--radius); }
.cart-line__name {
  font-family: var(--font-sub);
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--white);
  font-size: 13px;
}
.cart-line__opt { font-size: 12px; color: var(--muted-light); margin-top: 2px; }
.cart-line__qty { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.cart-line__qty button {
  width: 26px; height: 26px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  color: var(--text);
  font-size: 15px;
  line-height: 1;
  transition: border-color .2s, color .2s;
}
.cart-line__qty button:hover { border-color: var(--brass); color: var(--brass); }
.cart-line__qty span { font-family: var(--font-sub); font-size: 14px; min-width: 18px; text-align: center; }
.cart-line__price { font-family: var(--font-sub); font-size: 14px; color: var(--white); }
.cart-drawer__note { font-size: 11px; color: var(--muted); margin: 8px 0 14px; }

/* ── Product detail ── */
.product-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
  padding: 140px 0 100px;
}
.product-detail__media img { width: 100%; border-radius: var(--radius); }
.product-detail__title { margin: 10px 0 6px; }
.product-detail__price {
  font-family: var(--font-sub);
  font-size: 22px;
  color: var(--brass);
  letter-spacing: .05em;
}
.product-detail__desc { margin: 20px 0 28px; color: var(--muted-light); font-size: 14px; }
.product-detail__madeto {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-sub); font-size: 11px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--brass);
  border: 1px solid var(--border-light); border-radius: var(--radius);
  padding: 7px 12px; margin-bottom: 18px;
}
.opt-group { margin-bottom: 22px; }
.opt-group__label {
  font-family: var(--font-sub); font-size: 11px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase; color: var(--muted-light);
  display: block; margin-bottom: 10px;
}
.opt-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.opt-swatch {
  min-width: 52px; padding: 10px 12px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  background: var(--black-card);
  color: var(--text);
  font-family: var(--font-sub); font-size: 13px; letter-spacing: .08em;
  transition: border-color .2s, color .2s, background .2s;
}
.opt-swatch:hover { border-color: var(--brass-dim); color: var(--white); }
.opt-swatch[aria-pressed="true"] { border-color: var(--brass); color: var(--brass); background: rgba(196,150,90,.08); }
.product-detail__atc { width: 100%; padding: 16px; font-size: 14px; letter-spacing: .14em; }
.product-detail__err { color: #C4705A; font-size: 13px; margin-top: 10px; min-height: 18px; }

@media (max-width: 860px) {
  .product-detail { grid-template-columns: 1fr; gap: 28px; padding: 110px 0 70px; }
}

/* ── Shop header ── */
.shop-head { padding: 140px 0 30px; }
.shop-head__count { color: var(--muted-light); font-size: 13px; margin-top: 8px; }

/* ── Notify form success ── */
.email-form__done {
  padding: 16px 20px;
  color: var(--brass);
  font-family: var(--font-sub);
  letter-spacing: .1em;
}

/* ── Placeholder catalog warning banner (build only, remove at launch) ── */
.vc-placeholder-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
  background: #3A2A12; color: #E8C89A;
  font-family: var(--font-sub); font-size: 12px; letter-spacing: .08em;
  text-align: center; padding: 8px 14px;
  border-top: 1px solid var(--brass-dim);
}
