﻿/* Meme Generator page — ship skin companion to affiliate/store. */
.meme-page { padding-bottom: 48px; }
.meme-topnav {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.meme-topnav a {
  color: var(--dim, rgba(255,255,255,.7));
  text-decoration: none;
  font-size: var(--dhx-fs-sm, 14px);
}
.meme-topnav a[aria-current="page"] { color: var(--gold, #e9c25a); }
.meme-topnav a:hover { color: var(--gold-bright, #e9c25a); text-decoration: none; }

.meme-hero {
  margin: 18px 0 36px;
  padding: 32px 24px;
  text-align: center;
}
.meme-eyebrow {
  margin: 0 0 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: var(--dhx-fs-xs, 12px);
  color: var(--dhx-accent-teal, #29C4C0);
  font-weight: 700;
}
.meme-hero h1 {
  margin: 0 0 14px;
  font-family: var(--rz-title, Cinzel, Georgia, serif);
  font-size: var(--dhx-fs-hero, 36px);
  line-height: 1.15;
  color: #fff;
}
.meme-hero .lede {
  max-width: 54ch;
  margin: 0 auto 22px;
  color: var(--dim, rgba(255,255,255,.72));
  font-size: var(--dhx-fs-body, 16px);
  line-height: 1.65;
}
.meme-cta-row {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
}

.meme-section { margin: 42px 0; }
.meme-section h2 {
  font-family: var(--rz-title, Cinzel, Georgia, serif);
  color: var(--gold, #e9c25a);
  font-size: var(--dhx-fs-2, 24px);
  margin: 0 0 16px;
  text-align: center;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  line-height: 1.25;
}
.meme-lede-left {
  max-width: 62ch;
  margin: 0 auto 18px;
  text-align: center;
  color: var(--dim, rgba(255,255,255,.72));
  font-size: var(--dhx-fs-body, 16px);
  line-height: 1.65;
}
.meme-lede-left a { color: var(--dhx-accent-teal, #29C4C0); }

.meme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.meme-card { padding: 18px 18px 16px; }
.meme-card h3 {
  margin: 0 0 8px;
  font-family: var(--rz-title, Cinzel, Georgia, serif);
  font-size: var(--dhx-fs-3, 20px);
  color: #fff;
}
.meme-card p {
  margin: 0;
  color: var(--dim, rgba(255,255,255,.68));
  font-size: var(--dhx-fs-sm, 14px);
  line-height: 1.55;
}

.meme-steps {
  margin: 0;
  padding: 20px 22px 20px 42px;
  color: var(--dim, rgba(255,255,255,.72));
  font-size: var(--dhx-fs-body, 16px);
  line-height: 1.7;
}
.meme-steps li { margin: 0 0 10px; }
.meme-steps b { color: #fff; }

.meme-table-wrap { padding: 8px 4px 4px; overflow-x: auto; }
.meme-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--dhx-fs-sm, 14px);
}
.meme-table th,
.meme-table td {
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(200,150,42,.22);
  vertical-align: top;
}
.meme-table th {
  color: var(--gold, #e9c25a);
  font-family: var(--rz-title, Cinzel, Georgia, serif);
  font-weight: 700;
  letter-spacing: .04em;
  font-size: var(--dhx-fs-xs, 12px);
  text-transform: uppercase;
}
.meme-table td { color: var(--dim, rgba(255,255,255,.75)); }
.meme-table td b { color: #fff; }
.meme-table kbd,
.meme-card kbd {
  display: inline-block;
  padding: 1px 7px;
  border: 1px solid rgba(200,150,42,.45);
  border-radius: 5px;
  background: rgba(11,11,15,.75);
  color: var(--gold, #e9c25a);
  font: 700 .78rem/1.4 ui-monospace, Consolas, monospace;
}

.meme-faq { padding: 6px 16px 14px; }
.meme-faq details {
  border-bottom: 1px solid rgba(200,150,42,.2);
  padding: 12px 4px;
}
.meme-faq summary {
  cursor: pointer;
  color: #fff;
  font-weight: 600;
  font-size: var(--dhx-fs-body, 16px);
  list-style: none;
}
.meme-faq summary::-webkit-details-marker { display: none; }
.meme-faq summary::before {
  content: "▸";
  color: var(--dhx-accent-teal, #29C4C0);
  display: inline-block;
  margin-right: 8px;
  transition: transform .15s;
}
.meme-faq details[open] summary::before { transform: rotate(90deg); }
.meme-faq p {
  margin: 10px 0 4px;
  color: var(--dim, rgba(255,255,255,.7));
  line-height: 1.6;
  font-size: var(--dhx-fs-sm, 14px);
}

.meme-cta-band {
  margin: 48px 0 24px;
  padding: 28px 22px;
  text-align: center;
}
.meme-cta-band h2 {
  margin: 0 0 8px;
  font-family: var(--rz-title, Cinzel, Georgia, serif);
  font-size: var(--dhx-fs-2, 24px);
  color: var(--gold, #e9c25a);
}
.meme-cta-band p {
  margin: 0 0 18px;
  color: var(--dim, rgba(255,255,255,.7));
  font-size: var(--dhx-fs-body, 16px);
}
.micro.currency-note {
  margin: 12px auto 0;
  max-width: 52ch;
  text-align: center;
  color: var(--muted, rgba(255,255,255,.55));
  font-size: var(--dhx-fs-xs, 12px);
}

@media (max-width: 640px) {
  .meme-hero { padding: 22px 16px; }
  .meme-table th, .meme-table td { padding: 10px 10px; }
}
