/* =============================================================
   PARIAH — tema "oro sobre negro" (Bootstrap 5.3)
   Colores y fuentes: variables de :root. Todo lo demás, clases px-*.
   ============================================================= */

:root {
  --px-black: #000000;
  --px-ash: #0f0e0d;
  --px-ash-alt: #141210;
  --px-card: #17150f;
  --px-line: #2a2622;
  --px-line-strong: #4a443c;
  --px-gold: #d4ae55;
  --px-gold-light: #f6e3a1;
  --px-gold-mid: #ddb863;
  --px-gold-rule: #b08532;
  --px-gold-deep: #8c6424;
  --px-bone: #ece6da;
  --px-bone-soft: #c9c1b3;
  --px-muted: #a39b8d;
  --px-humans: #e4dfd3;
  --px-undead: #8db79a;
  --px-elementals: #7fb0e0;
  --px-beastmen: #d98a63;
  --px-display: "Cinzel", "Trajan Pro", Georgia, serif;
  --px-body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;

  --bs-body-bg: var(--px-ash);
  --bs-body-color: var(--px-bone);
  --bs-body-font-family: var(--px-body);
  --bs-body-font-size: 1.0625rem;
  --bs-body-line-height: 1.6;
  --bs-border-color: var(--px-line);
  --bs-link-color: var(--px-gold);
  --bs-link-color-rgb: 212, 174, 85;
  --bs-link-hover-color: var(--px-gold-light);
  --bs-link-hover-color-rgb: 246, 227, 161;
  --bs-emphasis-color: var(--px-bone);
  --bs-secondary-color: var(--px-muted);
  --bs-heading-color: var(--px-bone);
}

body.pariah { background: var(--px-ash); color: var(--px-bone); font-family: var(--px-body); }
body.pariah h1, body.pariah h2, body.pariah h3, body.pariah h4, body.pariah .px-display { font-family: var(--px-display); font-weight: 700; letter-spacing: 0.01em; }
body.pariah ::selection { background: var(--px-gold); color: var(--px-black); }
body.pariah :focus-visible { outline: 2px solid var(--px-gold-light); outline-offset: 3px; }
body.pariah img { max-width: 100%; height: auto; }

/* ---------- Type helpers ---------- */
body.pariah .px-gold-text {
  color: var(--px-gold);
  background: linear-gradient(180deg, var(--px-gold-light) 0%, var(--px-gold-mid) 40%, var(--px-gold-rule) 72%, var(--px-gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.pariah .px-eyebrow {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--px-gold);
  margin-bottom: 0.75rem;
}
body.pariah .px-h1 { font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4rem); line-height: 1.07; }
body.pariah .px-h2 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 2.9rem); line-height: 1.1; margin-bottom: 0; }
body.pariah .px-lead { color: var(--px-bone-soft); font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem); max-width: 640px; }
body.pariah .px-muted { color: var(--px-muted) !important; }
body.pariah .px-soft { color: var(--px-bone-soft) !important; }

/* Ornament: line · star · line */
body.pariah .px-ornament { display: flex; align-items: center; justify-content: center; gap: 16px; }
body.pariah .px-ornament::before, body.pariah .px-ornament::after { content: ""; height: 1px; width: 90px; background: var(--px-gold-rule); }
body.pariah .px-ornament svg { width: 20px; height: 20px; color: var(--px-gold); }
body.pariah .px-star { width: 18px; height: 18px; flex: none; color: var(--px-gold); }

/* Double gold rule */
body.pariah .px-rule { height: 4px; border-top: 1px solid var(--px-gold-rule); border-bottom: 1px solid var(--px-gold-rule); }

/* ---------- Buttons ---------- */
body.pariah .btn { --bs-btn-border-radius: 0; --bs-btn-font-weight: 600; --bs-btn-padding-x: 1.6rem; --bs-btn-padding-y: 0.8rem; letter-spacing: 0.03em; }
body.pariah .btn-px-gold {
  --bs-btn-color: #000; --bs-btn-bg: var(--px-gold); --bs-btn-border-color: var(--px-gold);
  --bs-btn-hover-color: #000; --bs-btn-hover-bg: var(--px-gold-light); --bs-btn-hover-border-color: var(--px-gold-light);
  --bs-btn-active-color: #000; --bs-btn-active-bg: var(--px-gold-rule); --bs-btn-active-border-color: var(--px-gold-rule);
}
body.pariah .btn-px-outline {
  --bs-btn-color: var(--px-gold); --bs-btn-border-color: var(--px-gold);
  --bs-btn-hover-color: #000; --bs-btn-hover-bg: var(--px-gold); --bs-btn-hover-border-color: var(--px-gold);
  --bs-btn-active-color: #000; --bs-btn-active-bg: var(--px-gold-rule); --bs-btn-active-border-color: var(--px-gold-rule);
}
body.pariah .btn-px-ghost {
  --bs-btn-color: var(--px-bone); --bs-btn-border-color: var(--px-line-strong);
  --bs-btn-hover-color: var(--px-gold-light); --bs-btn-hover-bg: transparent; --bs-btn-hover-border-color: var(--px-gold);
  --bs-btn-active-color: var(--px-gold-light); --bs-btn-active-border-color: var(--px-gold);
}
body.pariah .btn svg { width: 1em; height: 1em; margin-right: 0.5rem; vertical-align: -0.12em; }

/* ---------- Announcement bar ----------
   Tono: px-announce--dark (oscuro) o px-announce--gold (dorado).
   Efecto: px-announce--shimmer | px-announce--pulse | px-announce--marquee | (ninguno = estático).
   Muestra la versión de texto normal o la de cinta según el efecto. */
body.pariah .px-announce { position: relative; overflow: hidden; font-size: 0.95rem; font-weight: 600; border-bottom: 1px solid var(--px-gold-rule); }
body.pariah .px-announce--dark { background: var(--px-black); color: var(--px-gold-light); }
body.pariah .px-announce--gold { background: var(--px-gold); color: #000; }
body.pariah .px-announce a { color: inherit; text-decoration: none; }
body.pariah .px-announce .px-announce-title { font-family: var(--px-display); font-weight: 700; letter-spacing: 0.08em; }
body.pariah .px-announce .px-announce-cta { text-decoration: underline; }
body.pariah .px-announce .px-star { width: 15px; height: 15px; }
body.pariah .px-announce--gold .px-star { color: #000; }
body.pariah .px-announce-inner { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 14px; min-height: 46px; padding: 8px 56px; text-align: center; }
body.pariah .px-announce-close {
  position: absolute; top: 50%; right: 6px; transform: translateY(-50%); z-index: 2;
  width: 40px; height: 40px; border: 0; background: none; color: inherit; opacity: 0.75;
  display: flex; align-items: center; justify-content: center;
}
body.pariah .px-announce-close:hover { opacity: 1; }
body.pariah .px-announce-close svg { width: 16px; height: 16px; }
body.pariah .px-announce.is-hidden { display: none; }

@media (max-width: 575.98px) {
  body.pariah .px-announce { font-size: 0.85rem; }
  body.pariah .px-announce-inner { padding: 7px 48px; gap: 2px 10px; }
  body.pariah .px-announce .px-announce-cta { display: none; }
}

/* Shimmer */
body.pariah .px-announce--shimmer::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; pointer-events: none;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(246,227,161,0.35) 50%, rgba(255,255,255,0) 100%);
  transform: translateX(-120%);
  animation: px-shine 2.8s ease-in-out infinite;
}
body.pariah .px-announce--gold.px-announce--shimmer::before { background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,250,225,0.7) 50%, rgba(255,255,255,0) 100%); }
@keyframes px-shine { 0% { transform: translateX(-120%); } 70%, 100% { transform: translateX(320%); } }

/* Pulse */
body.pariah .px-announce--pulse .px-announce-inner .px-star { animation: px-pulse 1.6s ease-in-out infinite; }
@keyframes px-pulse { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(1.6) rotate(45deg); opacity: 0.55; } }

/* Marquee */
body.pariah .px-marquee { display: none; overflow: hidden; min-height: 46px; }
body.pariah .px-marquee-track { display: flex; width: max-content; align-items: center; min-height: 46px; white-space: nowrap; animation: px-marquee 30s linear infinite; }
body.pariah .px-marquee-track > span { display: inline-flex; align-items: center; gap: 14px; padding-right: 48px; }
body.pariah .px-announce--marquee .px-announce-inner { display: none; }
body.pariah .px-announce--marquee .px-marquee { display: block; }
body.pariah .px-announce--marquee:hover .px-marquee-track { animation-play-state: paused; }
@keyframes px-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Header ---------- */
body.pariah .px-header { background: var(--px-black); position: sticky; top: 0; z-index: 1030; }
body.pariah .px-header .navbar { padding-top: 0.7rem; padding-bottom: 0.7rem; }
body.pariah .px-header .navbar-brand img { height: clamp(28px, 2.6vw, 38px); width: auto; display: block; }
body.pariah .px-header .nav-link {
  color: var(--px-bone); font-weight: 500; font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 0.65rem 0.8rem !important; border-bottom: 2px solid transparent;
}
body.pariah .px-header .nav-link:hover, body.pariah .px-header .nav-link:focus { color: var(--px-gold-light); }
body.pariah .px-header .nav-link.active { color: var(--px-gold); border-bottom-color: var(--px-gold); }
body.pariah .px-lang { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.08em; color: var(--px-muted); }
body.pariah .px-lang { white-space: nowrap; }
body.pariah .px-lang a { display: inline-flex; align-items: center; min-height: 44px; color: var(--px-muted); text-decoration: none; padding: 0 0.35rem; }
body.pariah .px-lang a:hover, body.pariah .px-lang a.active { color: var(--px-gold-light); }
body.pariah .px-header .navbar-toggler { border: 1px solid var(--px-line-strong); border-radius: 0; min-width: 48px; min-height: 44px; }
body.pariah .px-header .navbar-toggler:focus { box-shadow: 0 0 0 0.2rem rgba(212,174,85,0.35); }
body.pariah .px-header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28212,174,85,1%29' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (max-width: 1199.98px) {
  body.pariah .px-header .navbar-collapse { border-top: 1px solid var(--px-line); margin-top: 0.7rem; padding: 0.4rem 0 1rem; }
  body.pariah .px-header .nav-link { padding: 0.9rem 0 !important; border-bottom: 1px solid var(--px-line); font-size: 1rem; }
  body.pariah .px-header .nav-link.active { border-bottom-color: var(--px-line); }
  body.pariah .px-header-actions { padding-top: 1rem; justify-content: space-between; }
}

/* ---------- Sections ---------- */
body.pariah .px-section { padding-top: clamp(4rem, 2.5rem + 5vw, 7rem); padding-bottom: clamp(4rem, 2.5rem + 5vw, 7rem); }
body.pariah .px-alt { background: var(--px-ash-alt); border-top: 1px solid var(--px-line); border-bottom: 1px solid var(--px-line); }
body.pariah .px-black { background: var(--px-black); }
body.pariah .px-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1.25rem; margin-bottom: 2.5rem; }

/* Page hero (inner pages) */
body.pariah .px-page-hero { position: relative; overflow: hidden; background: var(--px-black); border-bottom: 1px solid var(--px-gold-rule); }
body.pariah .px-page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.45; }
body.pariah .px-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #000 0%, rgba(0,0,0,0.75) 55%, rgba(0,0,0,0.3) 100%); }
body.pariah .px-page-hero .container { position: relative; z-index: 1; padding-top: clamp(3.5rem, 2rem + 5vw, 7rem); padding-bottom: clamp(3rem, 2rem + 4vw, 5.5rem); }

/* ---------- Home hero ---------- */
body.pariah .px-hero { position: relative; overflow: hidden; isolation: isolate; background: var(--px-black); border-bottom: 1px solid var(--px-gold-rule); }
body.pariah .px-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
body.pariah .px-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.6) 55%, #000 100%); }
body.pariah .px-hero .container { position: relative; max-width: 1000px; text-align: center; padding-top: clamp(5rem, 3rem + 7vw, 9.5rem); padding-bottom: clamp(4rem, 2.5rem + 5vw, 7rem); }
body.pariah .px-hero .px-hero-logo { width: min(520px, 88%); mix-blend-mode: screen; display: block; margin: 0 auto 1.5rem; }
body.pariah .px-hero .px-lead { margin-left: auto; margin-right: auto; }

/* Facts */
body.pariah .px-facts { background: var(--px-black); border-bottom: 1px solid var(--px-gold-rule); }
body.pariah .px-fact-value { font-family: var(--px-display); font-weight: 700; font-size: clamp(1.6rem, 1.3rem + 1vw, 2rem); line-height: 1.1; }
body.pariah .px-fact-label { font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--px-muted); }

/* Framed image (double gold frame) */
body.pariah .px-framed { border: 1px solid var(--px-gold-rule); outline: 1px solid var(--px-gold-rule); outline-offset: 6px; width: 100%; object-fit: cover; }

/* Pillars */
body.pariah .px-pillar { display: flex; gap: 1rem; align-items: flex-start; }
body.pariah .px-pillar .px-star { margin-top: 0.35rem; }
body.pariah .px-pillar h3 { font-size: 1.2rem; margin-bottom: 0.15rem; }
body.pariah .px-pillar p { margin: 0; color: var(--px-muted); }

/* Video */
body.pariah .px-video { position: relative; display: block; border: 1px solid var(--px-gold-rule); }
body.pariah .px-video img { width: 100%; height: 100%; object-fit: cover; }
body.pariah .px-video .px-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
body.pariah .px-video .px-play span {
  width: 88px; height: 88px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--px-gold); background: rgba(0,0,0,0.6); color: var(--px-gold); transition: transform .15s ease;
}
body.pariah .px-video:hover .px-play span { transform: scale(1.06); }
body.pariah .px-video .px-play svg { width: 34px; height: 34px; margin-left: 4px; }

/* Cards (generic tile with hover) */
body.pariah .px-tile {
  position: relative; display: flex; flex-direction: column; height: 100%;
  background: var(--px-black); border: 1px solid var(--px-line); color: var(--px-bone); text-decoration: none;
  transition: border-color .15s ease, transform .15s ease;
}
body.pariah .px-tile:hover { border-color: var(--px-gold-rule); color: var(--px-bone); transform: translateY(-2px); }
body.pariah .px-tile img { width: 100%; object-fit: cover; }
body.pariah .px-tile .px-tile-body { padding: clamp(1rem, 0.8rem + 0.6vw, 1.5rem); display: flex; flex-direction: column; gap: 0.4rem; flex-grow: 1; }
body.pariah .px-tile h3 { margin: 0; font-size: clamp(1.1rem, 1rem + 0.5vw, 1.5rem); }
body.pariah .px-tile p { margin: 0; font-size: 0.95rem; color: var(--px-bone-soft); }
body.pariah .px-tile .px-tile-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--px-muted); }
body.pariah .px-tile .px-tile-more { margin-top: auto; padding-top: 0.5rem; color: var(--px-gold); font-weight: 600; font-size: 0.95rem; }
body.pariah .px-tile--card { background: var(--px-card); padding: clamp(1.4rem, 1.1rem + 0.8vw, 1.9rem); gap: 0.6rem; }
body.pariah .px-tile--card svg { width: 28px; height: 28px; color: var(--px-gold); }
body.pariah .px-tile--feature { border-color: var(--px-gold); }

/* Faction colours */
body.pariah .px-bar { height: 3px; }
body.pariah .c-humans { color: var(--px-humans) !important; } body.pariah .bg-humans { background: var(--px-humans); } body.pariah .bc-humans { border-color: var(--px-humans) !important; }
body.pariah .c-undead { color: var(--px-undead) !important; } body.pariah .bg-undead { background: var(--px-undead); } body.pariah .bc-undead { border-color: var(--px-undead) !important; }
body.pariah .c-elementals { color: var(--px-elementals) !important; } body.pariah .bg-elementals { background: var(--px-elementals); } body.pariah .bc-elementals { border-color: var(--px-elementals) !important; }
body.pariah .c-beastmen { color: var(--px-beastmen) !important; } body.pariah .bg-beastmen { background: var(--px-beastmen); } body.pariah .bc-beastmen { border-color: var(--px-beastmen) !important; }

/* Campaign panel */
body.pariah .px-panel { background: var(--px-black); border: 1px solid var(--px-gold-rule); outline: 1px solid var(--px-gold-rule); outline-offset: 6px; }
body.pariah .px-panel > .row { --bs-gutter-x: 0; }
body.pariah .px-panel img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
body.pariah .px-panel-body { padding: clamp(1.75rem, 1rem + 3vw, 3.5rem) clamp(1.4rem, 0.8rem + 3vw, 3rem); }

/* Hub tiles */
body.pariah .px-hub .px-tile { min-height: 170px; }

/* ---------- Products ---------- */
body.pariah .px-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
body.pariah .px-filter {
  min-height: 44px; padding: 0 1.1rem; border: 1px solid var(--px-line-strong); background: transparent; color: var(--px-bone);
  font-weight: 600; font-size: 0.95rem; letter-spacing: 0.04em;
}
body.pariah .px-filter:hover { border-color: var(--px-gold); color: var(--px-gold-light); }
body.pariah .px-filter.active { background: var(--px-gold); border-color: var(--px-gold); color: #000; }
body.pariah .px-product .px-media { position: relative; }
body.pariah .px-product img { aspect-ratio: 1 / 1; }
body.pariah .px-badge {
  position: absolute; top: 12px; left: 12px; padding: 0.25rem 0.65rem;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
body.pariah .px-badge--campaign { background: var(--px-gold); color: #000; }
body.pariah .px-badge--soon { background: #000; color: var(--px-gold); border: 1px solid var(--px-gold); }
body.pariah .px-badge--out { background: var(--px-line); color: var(--px-bone-soft); }
body.pariah .px-step-num { font-family: var(--px-display); font-weight: 700; font-size: 2.1rem; line-height: 1; color: var(--px-gold); }
body.pariah [data-category].is-hidden { display: none !important; }

/* ---------- Rules ---------- */
body.pariah .px-version { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.9rem; border: 1px solid var(--px-line-strong); font-size: 0.875rem; color: var(--px-bone-soft); }
body.pariah .px-version::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--px-undead); }
body.pariah .px-book { display: flex; gap: 1.25rem; align-items: center; }
body.pariah .px-book-cover { flex: none; width: 64px; height: 84px; border: 1px solid var(--px-gold-rule); display: flex; align-items: center; justify-content: center; font-family: var(--px-display); font-weight: 700; color: var(--px-gold); }
body.pariah .accordion {
  --bs-accordion-bg: transparent; --bs-accordion-color: var(--px-bone-soft);
  --bs-accordion-border-color: var(--px-line); --bs-accordion-border-radius: 0; --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-color: var(--px-bone); --bs-accordion-btn-bg: transparent;
  --bs-accordion-active-color: var(--px-gold); --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(212,174,85,0.25);
  --bs-accordion-btn-padding-x: 0.25rem; --bs-accordion-body-padding-x: 0.25rem;
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23d4ae55' stroke-width='1.5' stroke-linecap='round'%3e%3cpath d='M8 3v10M3 8h10'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23d4ae55' stroke-width='1.5' stroke-linecap='round'%3e%3cpath d='M3 8h10'/%3e%3c/svg%3e");
}
body.pariah .accordion-item { border-left: 0; border-right: 0; }
body.pariah .accordion-button { font-weight: 600; font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem); }
body.pariah .accordion-button:not(.collapsed) { box-shadow: none; }

/* ---------- Universe ---------- */
body.pariah .px-lore { max-width: 760px; margin: 0 auto; font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.2rem); line-height: 1.8; color: var(--px-bone-soft); }
body.pariah .px-dropcap::first-letter { float: left; font-family: var(--px-display); font-size: 4.2rem; line-height: 0.85; padding: 0.35rem 0.6rem 0 0; color: var(--px-gold); }
body.pariah .px-faction { background: var(--px-black); border: 1px solid var(--px-line); scroll-margin-top: 110px; }
body.pariah .px-faction > .row { --bs-gutter-x: 0; }
body.pariah .px-faction img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
body.pariah .px-faction-body { padding: clamp(1.5rem, 1rem + 2.2vw, 2.75rem); border-left: 3px solid; height: 100%; }
body.pariah .px-faction-body h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem); }
body.pariah .px-faction-body .px-quote { font-family: var(--px-display); margin: 0; }
@media (max-width: 991.98px) {
  body.pariah .px-faction-body { border-left: 0; border-top: 3px solid; }
  body.pariah .px-faction img { min-height: 0; max-height: 340px; }
}
body.pariah .px-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
body.pariah .px-gallery a { display: block; overflow: hidden; border: 1px solid var(--px-line); }
body.pariah .px-gallery img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .25s ease; }
body.pariah .px-gallery a:hover img { transform: scale(1.04); }
body.pariah .px-gallery .px-gallery-feature { grid-column: span 2; grid-row: span 2; }
body.pariah .px-gallery .px-gallery-feature img { aspect-ratio: auto; }
body.pariah .modal-content { background: var(--px-black); border: 1px solid var(--px-gold-rule); border-radius: 0; }
body.pariah .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }

/* ---------- Events ---------- */
body.pariah .px-tag { display: inline-block; padding: 0.2rem 0.7rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid var(--px-line-strong); color: var(--px-bone-soft); }
body.pariah .px-tag--gold { background: var(--px-gold); border-color: var(--px-gold); color: #000; }
body.pariah .px-meta { display: flex; gap: 0.75rem; align-items: center; color: var(--px-bone-soft); }
body.pariah .px-meta svg { width: 20px; height: 20px; color: var(--px-gold); flex: none; }
body.pariah .px-table { --bs-table-bg: transparent; --bs-table-color: var(--px-bone-soft); --bs-table-border-color: var(--px-line); margin: 0; }
body.pariah .px-table thead th { background: var(--px-black); color: var(--px-muted); font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; padding: 1rem 1.25rem; }
body.pariah .px-table td { padding: 1.1rem 1.25rem; }
body.pariah .px-table td:first-child { font-family: var(--px-display); font-weight: 700; color: var(--px-gold); white-space: nowrap; }
body.pariah .px-table td:nth-child(2) { font-weight: 600; color: var(--px-bone); }
body.pariah .px-table-wrap { border: 1px solid var(--px-line); }

/* ---------- Legal ---------- */
body.pariah .px-legal { max-width: 820px; }
body.pariah .px-legal h2 { font-size: 1.5rem; margin-top: 2.5rem; }
body.pariah .px-legal p, body.pariah .px-legal li { color: var(--px-bone-soft); }
body.pariah .px-note { border: 1px dashed var(--px-gold-rule); padding: 1rem 1.25rem; color: var(--px-gold); font-size: 0.95rem; }

/* ---------- Footer ---------- */
body.pariah .px-footer { background: var(--px-black); border-top: 1px solid var(--px-gold-rule); font-size: 0.95rem; }
body.pariah .px-footer .px-footer-logo { height: 34px; width: auto; }
body.pariah .px-footer h4 { font-family: var(--px-body); font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--px-muted); margin-bottom: 1rem; }
body.pariah .px-footer ul { list-style: none; padding: 0; margin: 0; }
body.pariah .px-footer li { margin-bottom: 0.55rem; }
body.pariah .px-footer a { color: var(--px-bone); text-decoration: none; }
body.pariah .px-footer a:hover { color: var(--px-gold-light); }
body.pariah .px-footer .px-footer-bottom { border-top: 1px solid var(--px-line); color: var(--px-muted); font-size: 0.875rem; }
body.pariah .px-footer .px-footer-bottom a { color: var(--px-muted); }

/* ---------- Accessibility: reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  body.pariah *, body.pariah *::before, body.pariah *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  body.pariah .px-marquee-track { transform: none; }
}


/* =============================================================
   TEMA NEBULOSA — estética del juego (cielo, oro de las cartas, reversos por facción).
   Va al final porque reviste lo anterior: los valores de aquí mandan.
   ============================================================= */

:root {
  --px-gold: #e7c27a;
  --px-gold-light: #fff0c8;
  --px-gold-mid: #f0d08e;
  --px-gold-rule: #b8913f;
  --px-gold-deep: #8a6526;
  --px-bone: #ece2cb;
  --px-bone-soft: #cfc3aa;
  --px-muted: #9fb3ae;
  --px-line: rgba(231, 194, 122, 0.2);
  --px-line-strong: rgba(231, 194, 122, 0.38);
  --px-surface: linear-gradient(180deg, rgba(18, 44, 50, 0.82) 0%, rgba(6, 20, 24, 0.9) 100%);
  --px-radius: 12px;
  --px-serif: "Cormorant Garamond", Lora, Georgia, serif;

  /* Colores reales de facción (reversos de carta) */
  --px-humans: #e6a796;
  --px-undead: #7fd0e6;
  --px-elementals: #b49cff;
  --px-beastmen: #d9bf8f;

  --bs-body-bg: transparent;
  --bs-body-color: var(--px-bone);
  --bs-link-color: var(--px-gold);
  --bs-link-color-rgb: 231, 194, 122;
  --bs-link-hover-color: var(--px-gold-light);
  --bs-link-hover-color-rgb: 255, 240, 200;
}

html { background: #061418; }
body.pariah { background: transparent; }

/* ---------- El cielo (capa fija detrás de toda la web) ---------- */
body.pariah .px-sky {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
  background:
    radial-gradient(ellipse 70% 50% at 25% 15%, rgba(80, 160, 160, 0.55) 0%, transparent 60%),
    radial-gradient(ellipse 60% 55% at 85% 70%, rgba(40, 110, 125, 0.5) 0%, transparent 65%),
    radial-gradient(ellipse 50% 35% at 60% 35%, rgba(120, 190, 185, 0.18) 0%, transparent 70%),
    linear-gradient(180deg, #2a6f76 0%, #16454f 45%, #0b2731 100%);
}
body.pariah .px-sky::before, body.pariah .px-sky::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; background-repeat: repeat; }
/* Estrellas lejanas: pequeñas, bajan despacio */
body.pariah .px-sky::before {
  background-image:
    radial-gradient(1px 1px at 23px 41px, #fff, transparent), radial-gradient(1px 1px at 147px 201px, #fff, transparent),
    radial-gradient(1.5px 1.5px at 311px 87px, #fff, transparent), radial-gradient(1px 1px at 402px 330px, #fff, transparent),
    radial-gradient(1px 1px at 521px 512px, #fff, transparent), radial-gradient(1.5px 1.5px at 77px 455px, #fff, transparent),
    radial-gradient(1px 1px at 254px 602px, #fff, transparent), radial-gradient(1px 1px at 588px 164px, #fff, transparent),
    radial-gradient(1px 1px at 451px 18px, #fff, transparent), radial-gradient(1.5px 1.5px at 190px 377px, #fff, transparent);
  background-size: 620px 640px;
  top: -640px;
  opacity: 0.7;
  animation: px-sky-drift-far 160s linear infinite;
}
/* Estrellas cercanas: grandes con halo, bajan más rápido y titilan */
body.pariah .px-sky::after {
  background-image:
    radial-gradient(2.5px 2.5px at 120px 80px, rgba(255,255,255,0.95), rgba(255,255,255,0) 100%),
    radial-gradient(6px 6px at 120px 80px, rgba(255,255,255,0.25), transparent),
    radial-gradient(2px 2px at 640px 410px, rgba(255,255,255,0.9), transparent),
    radial-gradient(6px 6px at 640px 410px, rgba(255,255,255,0.22), transparent),
    radial-gradient(3px 3px at 380px 700px, rgba(255,255,255,0.95), transparent),
    radial-gradient(8px 8px at 380px 700px, rgba(255,255,255,0.22), transparent),
    radial-gradient(2px 2px at 860px 150px, rgba(255,255,255,0.85), transparent),
    radial-gradient(2.5px 2.5px at 40px 560px, rgba(255,255,255,0.9), transparent);
  background-size: 980px 900px;
  top: -900px;
  animation: px-sky-drift-near 90s linear infinite, px-sky-twinkle 5s ease-in-out infinite alternate;
}
@keyframes px-sky-drift-far { from { transform: translateY(0); } to { transform: translateY(640px); } }
@keyframes px-sky-drift-near { from { transform: translateY(0); } to { transform: translateY(900px); } }
@keyframes px-sky-twinkle { from { opacity: 0.55; } to { opacity: 1; } }
body.pariah .px-sky-vignette { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, transparent 45%, rgba(2, 10, 14, 0.7) 100%); }

/* ---------- Tipografía ---------- */
body.pariah .px-lead, body.pariah .px-lore, body.pariah .px-quote, body.pariah .px-hero-sub { font-family: var(--px-serif); font-style: italic; font-weight: 500; }
body.pariah .px-lead { font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); line-height: 1.45; color: var(--px-bone); }
body.pariah .px-lore { font-size: clamp(1.2rem, 1.1rem + 0.45vw, 1.42rem); line-height: 1.7; color: var(--px-bone); }
body.pariah .px-gold-text {
  background: linear-gradient(180deg, var(--px-gold-light) 0%, var(--px-gold) 48%, #a77a2c 52%, #f4d896 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 0 rgba(44, 31, 8, 0.85));
}
/* Etiqueta con rombos dorados a los lados, como la placa "On Maintenance" */
body.pariah .px-eyebrow { display: inline-flex; align-items: center; gap: 0.75rem; color: var(--px-gold); }
body.pariah .px-eyebrow::before, body.pariah .px-eyebrow::after { content: ""; width: 7px; height: 7px; background: var(--px-gold); transform: rotate(45deg); box-shadow: 0 0 8px rgba(255, 214, 140, 0.7); flex: none; }

/* ---------- Superficies: paneles traslúcidos con marco dorado ---------- */
body.pariah .px-alt { background: rgba(3, 14, 18, 0.42); border-color: var(--px-line); }
body.pariah .px-black, body.pariah .px-facts { background: rgba(3, 14, 18, 0.55); }
body.pariah .px-facts { border-color: var(--px-line-strong); }
body.pariah .px-tile, body.pariah .px-faction, body.pariah .px-panel, body.pariah .px-table-wrap {
  background: var(--px-surface);
  border: 1px solid var(--px-line-strong);
  border-radius: var(--px-radius);
  box-shadow: 0 0 0 4px rgba(4, 14, 17, 0.6), 0 0 0 5px rgba(138, 101, 38, 0.45), 0 22px 44px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}
body.pariah .px-tile:hover { border-color: var(--px-gold); box-shadow: 0 0 0 4px rgba(4, 14, 17, 0.6), 0 0 0 5px var(--px-gold-deep), 0 26px 50px rgba(0, 0, 0, 0.55), 0 0 40px rgba(231, 194, 122, 0.18); }
body.pariah .px-tile--card { background: var(--px-surface); }
body.pariah .px-tile--feature { border-color: var(--px-gold); }
body.pariah .px-panel { outline: 0; }
body.pariah .px-framed { border-radius: var(--px-radius); outline-offset: 5px; }
body.pariah .px-table { --bs-table-bg: transparent; }
body.pariah .px-table thead th { background: rgba(3, 14, 18, 0.6); }
body.pariah .accordion { --bs-accordion-bg: transparent; }
body.pariah .px-version, body.pariah .px-tag { border-radius: 999px; }
body.pariah .px-filter { border-radius: 999px; background: rgba(3, 14, 18, 0.5); }
body.pariah .px-filter.active { background: linear-gradient(180deg, var(--px-gold-light), var(--px-gold) 55%, #c79a4a); }
body.pariah .px-badge { border-radius: 999px; }
body.pariah .px-book-cover { border-radius: 6px; background: rgba(3, 14, 18, 0.5); }

/* ---------- Botones: oro bruñido ---------- */
body.pariah .btn { --bs-btn-border-radius: 8px; }
body.pariah .btn-px-gold {
  --bs-btn-color: #241806; --bs-btn-hover-color: #241806; --bs-btn-active-color: #241806;
  --bs-btn-border-color: #8a6526; --bs-btn-hover-border-color: #8a6526;
  background: linear-gradient(180deg, #fff0c8 0%, #e7c27a 48%, #c99a48 52%, #f1d18e 100%);
  box-shadow: 0 0 0 3px rgba(4, 14, 17, 0.7), 0 0 0 4px rgba(231, 194, 122, 0.55), 0 10px 24px rgba(0, 0, 0, 0.45);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}
body.pariah .btn-px-gold:hover { filter: brightness(1.08); box-shadow: 0 0 0 3px rgba(4, 14, 17, 0.7), 0 0 0 4px var(--px-gold), 0 12px 28px rgba(0, 0, 0, 0.5), 0 0 30px rgba(231, 194, 122, 0.35); }
body.pariah .btn-px-ghost, body.pariah .btn-px-outline { background: rgba(3, 14, 18, 0.55); }

/* ---------- Header / aviso / pie ---------- */
body.pariah .px-announce--dark { background: rgba(2, 10, 12, 0.92); color: var(--px-gold-light); }
body.pariah .px-header { background: rgba(3, 13, 16, 0.82); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body.pariah .px-footer { background: rgba(2, 9, 11, 0.88); }

/* ---------- Cabecera de páginas interiores ---------- */
body.pariah .px-page-hero { background: transparent; border-bottom-color: var(--px-line-strong); }
body.pariah .px-page-hero > img { opacity: 0.25; }
body.pariah .px-page-hero::after { background: linear-gradient(90deg, rgba(4, 16, 20, 0.85) 0%, rgba(4, 16, 20, 0.45) 60%, rgba(4, 16, 20, 0.15) 100%); }

/* ---------- PORTADA: logo en relieve + abanico de cartas ---------- */
body.pariah .px-hero2 { position: relative; text-align: center; overflow: hidden; padding: clamp(2.5rem, 1.5rem + 4vw, 5rem) 0 clamp(3.5rem, 2rem + 5vw, 6.5rem); border-bottom: 1px solid var(--px-line-strong); }
body.pariah .px-logo3d { perspective: 1400px; width: min(860px, 92vw); margin: 0 auto; }
body.pariah .px-logo3d-inner { position: relative; aspect-ratio: 2296 / 595; transform-style: preserve-3d; transform: rotateX(12deg); animation: px-logo-sway 9s ease-in-out infinite; }
body.pariah .px-logo3d-inner img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
body.pariah .px-logo3d-inner .px-logo-top { filter: brightness(1.18) contrast(1.06) drop-shadow(0 0 18px rgba(255, 214, 140, 0.45)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.6)); }
@keyframes px-logo-sway { 0%, 100% { transform: rotateX(12deg) rotateY(-5deg); } 50% { transform: rotateX(12deg) rotateY(5deg); } }

body.pariah .px-fan { display: flex; justify-content: center; align-items: flex-start; margin: clamp(1.25rem, 0.5rem + 2vw, 2.5rem) auto 0; padding: 0 1rem; perspective: 1200px; animation: px-float 7s ease-in-out infinite; }
@keyframes px-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
body.pariah .px-fcard {
  --w: clamp(78px, 17vw, 230px);
  position: relative; display: block; flex: none; width: var(--w); aspect-ratio: 430 / 600; margin: 0 calc(var(--w) * -0.06);
  border-radius: clamp(8px, 1.2vw, 14px); overflow: hidden;
  box-shadow: 0 0 0 2px var(--px-gold), 0 0 0 5px #10161a, 0 0 0 6px var(--px-gold-deep), 0 24px 40px rgba(0, 0, 0, 0.6), 0 0 60px color-mix(in srgb, var(--c) 50%, transparent);
  transition: transform 0.35s cubic-bezier(.2, .8, .2, 1), box-shadow 0.35s ease;
}
body.pariah .px-fcard img { width: 100%; height: 100%; object-fit: cover; }
body.pariah .px-fcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,0.2) 0%, transparent 30%, transparent 70%, rgba(0,0,0,0.35) 100%); }
body.pariah .px-fcard:nth-child(1) { transform: translateY(8%) rotate(-14deg); z-index: 1; }
body.pariah .px-fcard:nth-child(2) { transform: translateY(0) rotate(-5deg); z-index: 2; }
body.pariah .px-fcard:nth-child(3) { transform: translateY(0) rotate(5deg); z-index: 2; }
body.pariah .px-fcard:nth-child(4) { transform: translateY(8%) rotate(14deg); z-index: 1; }
body.pariah .px-fcard:hover, body.pariah .px-fcard:focus-visible { transform: translateY(-6%) rotate(0) scale(1.06); z-index: 5; box-shadow: 0 0 0 2px var(--px-gold-light), 0 0 0 5px #10161a, 0 0 0 6px var(--px-gold), 0 30px 50px rgba(0,0,0,0.65), 0 0 80px color-mix(in srgb, var(--c) 75%, transparent); }
body.pariah .px-hero2 h1 { margin-top: clamp(2rem, 1rem + 3vw, 3.5rem); }
body.pariah .px-hero2 .px-lead { margin-left: auto; margin-right: auto; }

/* ---------- Cartas que se giran (facciones) ---------- */
body.pariah .px-flip { perspective: 1200px; cursor: pointer; aspect-ratio: 430 / 600; outline: none; }
body.pariah .px-flip-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(.3, .7, .2, 1); }
@media (hover: hover) { body.pariah .px-flip:hover .px-flip-inner { transform: rotateY(180deg); } }
body.pariah .px-flip:focus-visible .px-flip-inner, body.pariah .px-flip:has(a:focus-visible) .px-flip-inner, body.pariah .px-flip.is-flipped .px-flip-inner { transform: rotateY(180deg); }
body.pariah .px-flip:focus-visible { outline: 2px solid var(--px-gold-light); outline-offset: 6px; border-radius: var(--px-radius); }
body.pariah .px-flip-face { position: absolute; inset: 0; border-radius: var(--px-radius); overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden;
  box-shadow: 0 0 0 2px var(--px-gold), 0 0 0 5px #10161a, 0 0 0 6px var(--px-gold-deep), 0 22px 40px rgba(0, 0, 0, 0.55), 0 0 50px color-mix(in srgb, var(--c) 40%, transparent); }
body.pariah .px-flip-front img { width: 100%; height: 100%; object-fit: cover; }
body.pariah .px-flip-front .px-flip-name { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 0.75rem 0.9rem; text-align: center;
  background: linear-gradient(180deg, transparent, rgba(3, 10, 12, 0.92)); font-family: var(--px-display); font-weight: 700; font-size: clamp(1rem, 0.85rem + 0.8vw, 1.5rem); letter-spacing: 0.06em; }
body.pariah .px-flip-back { transform: rotateY(180deg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem; padding: 1.25rem 1rem; text-align: center;
  background: radial-gradient(circle at 50% 38%, var(--b-lt) 0%, var(--b-md) 42%, var(--b-dk) 100%); color: #fff6e6; }
body.pariah .px-flip-back::before { content: ""; position: absolute; inset: clamp(6px, 0.8vw, 10px); border: 2px solid var(--b-line); border-radius: calc(var(--px-radius) - 4px); opacity: 0.85; pointer-events: none; }
body.pariah .px-flip-back svg { width: 58%; max-width: 150px; color: var(--b-ink); flex: none; }
body.pariah .px-flip-back h3 { margin: 0.25rem 0 0; font-size: clamp(1rem, 0.85rem + 0.7vw, 1.4rem); color: #fff6e6; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6); }
body.pariah .px-flip-back p { margin: 0; font-family: var(--px-serif); font-style: italic; font-size: clamp(0.85rem, 0.75rem + 0.4vw, 1.05rem); line-height: 1.3; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7); }
body.pariah .px-flip-back a { position: relative; z-index: 1; color: #fff0c8; font-weight: 600; font-size: clamp(0.8rem, 0.75rem + 0.25vw, 0.95rem); text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7); }
body.pariah .px-hint { font-family: var(--px-serif); font-style: italic; color: var(--px-muted); }

/* Paleta de cada facción: color del brillo (--c) y del reverso de su carta */
body.pariah .f-undead { --c: #4fb6ff; --b-lt: #6cc0cf; --b-md: #2f7f90; --b-dk: #0f3540; --b-line: #8fd6e2; --b-ink: #0b2a33; }
body.pariah .f-beastmen { --c: #6fd17a; --b-lt: #dcc6a2; --b-md: #9c8462; --b-dk: #3a2d1d; --b-line: #d2b991; --b-ink: #2b2216; }
body.pariah .f-humans { --c: #ffb24a; --b-lt: #e6ad9f; --b-md: #9a5c52; --b-dk: #3c1d19; --b-line: #e0a596; --b-ink: #2e1512; }
body.pariah .f-elementals { --c: #b27cff; --b-lt: #ad90f5; --b-md: #6a49c4; --b-dk: #26164f; --b-line: #c0aaf7; --b-ink: #1e1040; }

/* Universo: bloques de facción con el arte real */
body.pariah .px-faction img { object-position: center 25%; }
body.pariah .px-faction-body { background: transparent; }

/* ---------- Accesibilidad: sin animaciones si el sistema lo pide ---------- */
@media (prefers-reduced-motion: reduce) {
  body.pariah .px-sky::before, body.pariah .px-sky::after, body.pariah .px-logo3d-inner, body.pariah .px-fan { animation: none !important; }
  body.pariah .px-flip-inner { transition: none; }
}


/* =============================================================
   AJUSTES PARA WORDPRESS + ELEMENTOR
   ============================================================= */

/* Enlaces sin clase propia (el resto los colorean sus componentes). */
body.pariah a:not([class]) { color: var(--px-gold); }
body.pariah a:not([class]):hover { color: var(--px-gold-light); }
/* Los estilos globales de Elementor (kit) colorean todos los enlaces: los botones recuperan los suyos. */
body.pariah .btn { color: var(--bs-btn-color); }
body.pariah .btn:hover { color: var(--bs-btn-hover-color); }
body.pariah .btn:active, body.pariah .btn.active { color: var(--bs-btn-active-color); }
body.pariah .px-video, body.pariah .px-fcard, body.pariah .px-marquee, body.pariah .px-announce-inner { color: inherit; }

/* Cada sección de Elementor es un contenedor con un widget HTML: sin rellenos ni huecos propios. */
body.pariah .elementor .e-con.px-e-section {
  --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
  --margin-top: 0; --margin-bottom: 0; --gap: 0; --row-gap: 0; --column-gap: 0;
  padding: 0; margin: 0;
}
body.pariah .elementor .px-e-section > .elementor-widget-html, body.pariah .elementor .px-e-section .elementor-widget-container { width: 100%; margin: 0; padding: 0; }
body.pariah .elementor-widget-html:not(:last-child) { margin-bottom: 0; }

/* Barra de administración de WordPress (conectado): la cabecera fija baja con ella. */
body.pariah.admin-bar .px-header { top: 32px; }
@media (max-width: 782px) { body.pariah.admin-bar .px-header { top: 46px; } }
@media (max-width: 600px) { body.pariah.admin-bar .px-header { top: 0; } }

/* Menús generados por WordPress. */
body.pariah .px-header .menu-item { list-style: none; }
body.pariah .px-footer .menu { list-style: none; padding: 0; margin: 0; }
body.pariah .px-footer .menu li { margin-bottom: 0.55rem; }

/* Hello Elementor: el contenido ocupa todo el ancho. */
body.pariah .site-main, body.pariah .page-content { max-width: none; padding: 0; margin: 0; }

/* ---------- Newsletter (MailPoet) ----------
   Sección .px-newsletter con un panel .px-newsletter-panel que contiene: textos (HTML),
   el formulario de MailPoet (widget Shortcode) y la nota RGPD. Los !important vencen a los
   estilos en línea que MailPoet genera para cada formulario. */
body.pariah .elementor .e-con.px-newsletter { padding: clamp(3.5rem, 2rem + 4vw, 6rem) max(16px, env(safe-area-inset-left, 0px)); }
body.pariah .elementor .e-con.px-newsletter-panel {
  --padding-top: clamp(1.75rem, 1rem + 3vw, 3rem); --padding-bottom: clamp(1.75rem, 1rem + 3vw, 3rem);
  --padding-left: clamp(1.25rem, 0.8rem + 3vw, 3rem); --padding-right: clamp(1.25rem, 0.8rem + 3vw, 3rem);
  --gap: 1.5rem; --row-gap: 1.5rem;
  width: 100%; max-width: 760px; margin: 0 auto; text-align: center;
  background: var(--px-surface); border: 1px solid var(--px-line-strong); border-radius: var(--px-radius);
  box-shadow: 0 0 0 4px rgba(4, 14, 17, 0.6), 0 0 0 5px rgba(138, 101, 38, 0.45), 0 22px 44px rgba(0, 0, 0, 0.45);
}
body.pariah .px-newsletter .px-lead { margin-left: auto; margin-right: auto; }
body.pariah .px-newsletter .px-gdpr { margin: 0; font-size: 0.85rem; color: var(--px-muted); }

body.pariah .px-newsletter .mailpoet_form { padding: 0 !important; background: transparent !important; max-width: 520px; margin: 0 auto; text-align: left; }
body.pariah .px-newsletter .mailpoet_form form { margin: 0; }
body.pariah .px-newsletter .mailpoet_paragraph { margin-bottom: 0.9rem !important; }
body.pariah .px-newsletter .mailpoet_text_label, body.pariah .px-newsletter .mailpoet_checkbox_label, body.pariah .px-newsletter .mailpoet_segment_label, body.pariah .px-newsletter label {
  color: var(--px-bone) !important; font-weight: 600; font-size: 0.9rem;
}
body.pariah .px-newsletter .mailpoet_text, body.pariah .px-newsletter .mailpoet_select, body.pariah .px-newsletter input[type="email"], body.pariah .px-newsletter input[type="text"] {
  width: 100% !important; min-height: 48px; padding: 0 0.9rem !important; border-radius: 8px !important;
  background: rgba(3, 14, 18, 0.7) !important; border: 1px solid var(--px-line-strong) !important; color: var(--px-bone) !important;
  font: inherit !important; font-size: 1rem !important;
}
body.pariah .px-newsletter .mailpoet_text:focus, body.pariah .px-newsletter input:focus { outline: none; border-color: var(--px-gold) !important; box-shadow: 0 0 0 0.2rem rgba(231, 194, 122, 0.25); }
body.pariah .px-newsletter .mailpoet_text::placeholder { color: #7f938f; }
body.pariah .px-newsletter .mailpoet_checkbox { width: 1.15rem; height: 1.15rem; accent-color: var(--px-gold); vertical-align: -0.15em; margin-right: 0.45rem; }
body.pariah .px-newsletter .mailpoet_submit, body.pariah .px-newsletter input[type="submit"] {
  width: 100% !important; min-height: 52px; border-radius: 8px !important; border: 1px solid #8a6526 !important; cursor: pointer;
  background: linear-gradient(180deg, #fff0c8 0%, #e7c27a 48%, #c99a48 52%, #f1d18e 100%) !important;
  color: #241806 !important; font: inherit !important; font-weight: 600 !important; font-size: 1.05rem !important; letter-spacing: 0.03em;
  box-shadow: 0 0 0 3px rgba(4, 14, 17, 0.7), 0 0 0 4px rgba(231, 194, 122, 0.55), 0 10px 24px rgba(0, 0, 0, 0.45);
}
body.pariah .px-newsletter .mailpoet_submit:hover { filter: brightness(1.08); }
body.pariah .px-newsletter .mailpoet_validate_success { color: var(--px-undead) !important; font-weight: 600; }
body.pariah .px-newsletter .mailpoet_validate_error, body.pariah .px-newsletter .parsley-errors-list { color: #ff9b8a !important; font-size: 0.9rem; }
