/* ── Carta page ────────────────────────────────────── */

.carta-header {
  padding: clamp(110px, 14vw, 160px) clamp(18px, 5vw, 64px) clamp(40px, 6vw, 72px);
  background: linear-gradient(180deg, var(--wine-dark), #220b0f);
  border-bottom: 1px solid var(--line);
}

.carta-header h1 {
  margin-top: 12px;
  font-size: clamp(3.2rem, 11vw, 7rem);
}

.carta-header-note {
  margin-top: 18px;
  max-width: 560px;
  color: var(--muted);
  font-size: 1rem;
}

/* Sticky category nav */
.carta-nav {
  position: sticky;
  top: 60px;
  z-index: 20;
  display: flex;
  background: rgba(21, 9, 5, 0.97);
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  scrollbar-width: none;
  backdrop-filter: blur(12px);
}

.carta-nav::-webkit-scrollbar {
  display: none;
}

.carta-nav a {
  flex-shrink: 0;
  padding: 14px clamp(14px, 3vw, 28px);
  color: var(--muted);
  font-family: "DM Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-bottom: 2px solid transparent;
  transition: color 160ms ease, border-color 160ms ease;
}

.carta-nav a:hover {
  color: var(--cream);
  border-bottom-color: var(--gold);
}

/* Sections */
.carta-section {
  padding: clamp(40px, 6vw, 72px) clamp(18px, 5vw, 64px);
  border-bottom: 1px solid var(--line);
}

.carta-section:nth-child(odd) {
  background: var(--bg);
}

.carta-section:nth-child(even) {
  background: var(--bg-soft);
}

.carta-section-header {
  width: min(800px, 100%);
  margin: 0 auto;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.carta-section-header::after {
  content: "+";
  font-size: 1.6rem;
  color: var(--gold);
  font-weight: 300;
  flex-shrink: 0;
  margin-left: 16px;
  transition: transform 200ms ease;
}

.carta-section.is-open .carta-section-header::after {
  transform: rotate(45deg);
}

.carta-section-header h2 {
  font-size: clamp(2rem, 6vw, 3.2rem);
}

.carta-section-header .kicker {
  margin-bottom: 8px;
}

/* Items and note hidden by default, shown when open */
.carta-section .carta-items,
.carta-section .carta-note {
  display: none;
}

.carta-section.is-open .carta-items {
  display: block;
  margin-top: 28px;
}

.carta-section.is-open .carta-note {
  display: block;
}

/* Items */
.carta-items {
  width: min(800px, 100%);
  margin: 0 auto;
}

.carta-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(246, 239, 227, 0.07);
}

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

.carta-item-info {
  flex: 1;
  min-width: 0;
}

.carta-item-name {
  margin: 0;
  color: var(--cream);
  font-size: 1.04rem;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.carta-item-desc {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.carta-item-price {
  flex-shrink: 0;
  color: var(--gold);
  font-family: "DM Mono", monospace;
  font-size: 0.92rem;
  font-weight: 500;
}

/* Featured item */
.carta-item-featured .carta-item-name {
  font-weight: 700;
}

.carta-badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(211, 154, 82, 0.14);
  border: 1px solid rgba(211, 154, 82, 0.35);
  color: var(--gold);
  font-family: "DM Mono", monospace;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Market price note */
.carta-note {
  width: min(800px, 100%);
  margin: 24px auto 0;
  padding: 12px 16px;
  background: rgba(211, 154, 82, 0.06);
  border: 1px solid rgba(211, 154, 82, 0.18);
  border-radius: 6px;
  color: rgba(246, 239, 227, 0.5);
  font-family: "DM Mono", monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* CTA section */
.carta-cta {
  padding: clamp(64px, 10vw, 112px) clamp(18px, 5vw, 64px);
  background: var(--wine-dark);
  text-align: center;
}

.carta-cta-inner {
  width: min(640px, 100%);
  margin: 0 auto;
}

.carta-cta h2 {
  margin-top: 12px;
  font-size: clamp(2rem, 7vw, 3.8rem);
}

.carta-cta .hero-actions {
  justify-content: center;
}

/* Nav active state for current page */
.main-nav a.is-current {
  color: var(--cream);
}
