/* =====================================================================================================
   PRIME · Mr & Miss Iran areas — public (Stage templates), member pages and admin (own and inside Studio).
   ===================================================================================================== */
html.prime-ui body {
  --surface: var(--p-surface); --porcelain: var(--p-surface-2); --line: var(--p-line); --ink: var(--p-ink); --ink-2: var(--p-ink-2); --ink-3: var(--p-muted);
  --lapis: var(--p-ink); --lapis-deep: #0B0C10; --lapis-soft: var(--p-surface-2); --saffron: var(--p-gold); --saffron-deep: var(--p-gold); --saffron-soft: var(--p-gold-soft);
  --pomegranate: var(--p-accent); --pomegranate-soft: var(--p-accent-soft); --firuzeh: var(--p-ink-2); --firuzeh-soft: var(--p-surface-2);
  --radius-s: 8px; --radius-m: var(--p-r); --radius-l: var(--p-r-lg); --shadow: var(--p-shadow-1); --focus: var(--p-accent);
  /* stage tokens */
  --st-night: #0B0C10; --st-night-2: #15171C; --st-ink: var(--p-ink); --st-ink-2: var(--p-ink-2); --st-magenta: var(--p-accent); --st-magenta-2: var(--p-accent-ink);
  --st-violet: var(--p-ink-2); --st-cyan: var(--p-ink-2); --st-gold: #D4A017; --st-gold-2: #B8860B;
  --st-hot: var(--p-accent); --st-goldg: linear-gradient(135deg, #E2B343, #D4A017); --st-beam: var(--p-accent);
  --st-bg: var(--p-bg); --st-card: var(--p-surface); --st-line: var(--p-line); --st-shadow: var(--p-shadow-1);
  background: var(--p-bg) !important; background-image: none !important;
}
html.prime-ui body.ui-glass {
  --g-a: var(--p-accent); --g-a2: var(--p-accent-ink); --g-a3: var(--p-ink-2); --g-ink: var(--p-ink); --g-ink2: var(--p-ink-2); --g-mut: var(--p-muted); --g-line: var(--p-line);
  --g-glass: var(--p-surface); --g-glass2: var(--p-surface); --g-rim: var(--p-line); --g-shadow: none; --g-blur: none; --g-r: var(--p-r-lg);
  background: var(--p-bg) !important; background-image: none !important;
}
html.prime-ui[data-au="embed"] body { background: transparent !important; }

/* header */
html.prime-ui .site-header { background: color-mix(in srgb, #0B0C10 92%, transparent) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,.08) !important; }
html.prime-ui .site-header::after { display: none !important; }
html.prime-ui .site-header .nav a { font-weight: 500; }
html.prime-ui .site-header .ico, html.prime-ui .nav .ico { display: none !important; }
html.prime-ui .site-header .btn { border-radius: 10px; }
html.prime-ui .hdr-ipn, html.prime-ui .htool { border-radius: 10px !important; }

/* hero + sections (stage templates) */
html.prime-ui .stg-hero { background: #0B0C10; }
html.prime-ui .stg-hero h1, html.prime-ui .stg-auth__title { font-weight: 800; letter-spacing: -.03em; }
html.prime-ui .stg-gold { background: none !important; -webkit-text-fill-color: #E2B343 !important; color: #E2B343 !important; animation: none !important; }
html.prime-ui .stg-kicker, html.prime-ui .stg-pill { border-radius: 8px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; letter-spacing: .04em; text-transform: uppercase; font-size: 12px; }
html.prime-ui .stg-ribbon, html.prime-ui .stg-dot { display: none !important; }
html.prime-ui .stg-btn { border-radius: 10px !important; box-shadow: none !important; }
html.prime-ui .stg-btn--primary, html.prime-ui .stg-btn.is-primary { background: var(--p-accent) !important; color: #fff !important; }
html.prime-ui .stg-btn:not(.stg-btn--primary):not(.is-primary) { background: rgba(255,255,255,.1) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.25) !important; }
html.prime-ui .stg-stats { background: #0B0C10 !important; border-top: 1px solid rgba(255,255,255,.08); }
html.prime-ui .stg-stat__ic { background: rgba(255,255,255,.08) !important; color: #fff !important; border-radius: 10px; }
html.prime-ui .stg-stat b { background: none !important; -webkit-text-fill-color: #fff !important; color: #fff !important; font-weight: 700; }
html.prime-ui .stg-sec { padding-block: clamp(40px, 6vw, 80px); }
html.prime-ui .stg-head h2, html.prime-ui .section-title, html.prime-ui .sec-head h2 { font-weight: 700; letter-spacing: -.02em; }
html.prime-ui .stg-cat, html.prime-ui .cat2 { --c1: var(--p-ink); --c2: var(--p-ink-2); background: var(--p-surface) !important; border: 1px solid var(--p-line) !important; border-radius: var(--p-r-lg) !important; box-shadow: none !important; transition: transform var(--p-t), box-shadow var(--p-t), border-color var(--p-t); }
html.prime-ui .stg-cat:hover, html.prime-ui .cat2:hover { transform: translateY(-2px); box-shadow: var(--p-shadow-2) !important; border-color: var(--p-line-2) !important; }
html.prime-ui .stg-cat::before, html.prime-ui .stg-cat::after { display: none !important; }
html.prime-ui .stg-top__item a { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: var(--p-r-lg); }
html.prime-ui .stg-top__item a:hover { transform: translateY(-3px); background: rgba(255,255,255,.08); }
html.prime-ui .stg-steps li::before, html.prime-ui .stg-checks li::before { background: var(--p-ink) !important; }
html.prime-ui .stg-vote, html.prime-ui .vote-card, html.prime-ui .stg-final { border-radius: var(--p-r-lg) !important; }

/* contestant cards & grids */
html.prime-ui :is(.c-card, .contestant-card, .nm-card, .pro2-portrait, .follow_card, .raffle, .kit, .card-share2) { background: var(--p-surface) !important; border: 1px solid var(--p-line) !important; border-radius: var(--p-r-lg) !important; box-shadow: none !important; transition: transform var(--p-t), box-shadow var(--p-t); }
html.prime-ui :is(.c-card, .contestant-card):hover { transform: translateY(-2px); box-shadow: var(--p-shadow-2) !important; }
html.prime-ui .badge { border-radius: 7px; font-weight: 600; }

/* panels / member area / admin */
html.prime-ui :is(.panel, .kpi, .card, .stat, .gcard, .gtile, .table-wrap, .acc-nav, .inb-panel, .inb-stat, .inb-list, .ghero, .slide-row, .theme-card, details.panel, .tg-help, .auth-card, .journey) {
  background: var(--p-surface) !important; border: 1px solid var(--p-line) !important; border-radius: var(--p-r-lg) !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; color: var(--p-ink);
}
html.prime-ui .panel__head h2, html.prime-ui .panel h2.with-ico { font-size: 16px; font-weight: 700; }
html.prime-ui .ico { background: var(--p-surface-2) !important; color: var(--p-ink) !important; box-shadow: none !important; border-radius: 10px !important; }
html.prime-ui .ico svg { color: var(--p-ink) !important; }
html.prime-ui .kpi strong, html.prime-ui .kpi b, html.prime-ui .stat strong, html.prime-ui .gtile strong { background: none !important; -webkit-text-fill-color: initial; color: var(--p-ink); font-weight: 700; letter-spacing: -.02em; }
html.prime-ui .kpi .ico, html.prime-ui .gtile .ico { width: 40px; height: 40px; }
html.prime-ui .acc-nav a { border-radius: 10px; font-weight: 500; }
html.prime-ui .acc-nav a[aria-current="page"] { background: var(--p-accent-soft) !important; color: var(--p-accent-ink) !important; box-shadow: none; }
html.prime-ui .acc-nav a[aria-current="page"] .ico, html.prime-ui .acc-nav a[aria-current="page"] .ico svg { color: var(--p-accent-ink) !important; background: transparent !important; }
html.prime-ui .status-tab.is-on, html.prime-ui .status-tabs a[aria-current], html.prime-ui .tabs a.is-on, html.prime-ui .seg .is-on { background: var(--p-ink) !important; color: var(--p-bg) !important; border-radius: 9px; }
html.prime-ui .bulkbar { border-radius: 14px; background: var(--p-ink) !important; color: var(--p-bg) !important; box-shadow: var(--p-shadow-3); }
html.prime-ui .bulkbar .btn { --b: rgba(255,255,255,.12); --c: #fff; --bd: rgba(255,255,255,.2); box-shadow: none; }
html.prime-ui .bulkbar .btn--ok { --b: var(--p-ok); --bd: var(--p-ok); } html.prime-ui .bulkbar .btn--danger { --b: var(--p-bad); --bd: var(--p-bad); }
html.prime-ui .switch input:checked + * { background: var(--p-accent) !important; }
html.prime-ui .alert { border-radius: 12px; border: 1px solid var(--p-line); }
html.prime-ui .alert--error { background: var(--p-bad-soft); border-color: color-mix(in srgb, var(--p-bad) 40%, transparent); }
html.prime-ui .alert--success { background: var(--p-ok-soft); border-color: color-mix(in srgb, var(--p-ok) 40%, transparent); }
html.prime-ui .alert--info { background: var(--p-info-soft); border-color: color-mix(in srgb, var(--p-info) 35%, transparent); }

/* admin shell (opened directly) */
html.prime-ui .sidebar { background: var(--p-surface) !important; border: 0 !important; border-inline-end: 1px solid var(--p-line) !important; color: var(--p-ink) !important; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none !important; border-radius: 0 !important; }
html.prime-ui .sidebar .brand, html.prime-ui .sidebar .brand__sub { color: var(--p-ink) !important; }
html.prime-ui .sidebar .brand__sub { color: var(--p-muted) !important; }
html.prime-ui .side-group { background: none !important; -webkit-text-fill-color: initial; color: var(--p-faint) !important; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600 !important; }
html.prime-ui .sidebar a.side-link { color: var(--p-ink-2) !important; border-radius: 9px; font-weight: 500; transition: background-color var(--p-t), color var(--p-t); }
html.prime-ui .sidebar a.side-link:hover { background: var(--p-surface-2) !important; color: var(--p-ink) !important; }
html.prime-ui .sidebar a.side-link[aria-current="page"] { background: var(--p-accent-soft) !important; color: var(--p-accent-ink) !important; box-shadow: none !important; animation: none !important; font-weight: 600; }
html.prime-ui .sidebar a.side-link .ico { display: none !important; }
html.prime-ui .sidebar .count { background: var(--p-ink); color: var(--p-bg); border-radius: 99px; }
html.prime-ui .topbar { background: color-mix(in srgb, var(--p-bg) 85%, transparent) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--p-line) !important; box-shadow: none !important; }
html.prime-ui .topbar h1 { font-weight: 700; font-size: 18px; letter-spacing: -.01em; }
html.prime-ui .via-studio { border-radius: 10px; background: var(--p-surface-2); }
html.prime-ui .chart__col rect, html.prime-ui .chart__col path { fill: var(--p-ink); }
html.prime-ui .gchart__line { stroke: var(--p-ink) !important; } html.prime-ui .gchart__area { fill: var(--p-surface-3) !important; }
html.prime-ui .theme-card.is-on { border-color: var(--p-accent) !important; }
html.prime-ui .lightbox { background: rgba(10,10,14,.85); }

/* 2.8 · glass-ui.css wins over prime-core on buttons (.ui-glass .btn is more specific and !important): under Prime the primary
   button lost its background (pale / invisible inside the Studio). Re-assert the Prime buttons for every variant. */
html.prime-ui .ui-glass .btn { border-radius: 10px !important; background: var(--p-surface) !important; color: var(--p-ink) !important; border: 1px solid var(--p-line-2) !important; box-shadow: var(--p-shadow-1) !important; transition: background-color var(--p-t), border-color var(--p-t), color var(--p-t), transform var(--p-t), box-shadow var(--p-t) !important; }
html.prime-ui .ui-glass .btn:hover { transform: translateY(-1px); border-color: var(--p-faint) !important; box-shadow: var(--p-shadow-2) !important; }
html.prime-ui .ui-glass .btn--primary, html.prime-ui .ui-glass .btn--red { background: var(--p-accent) !important; border-color: var(--p-accent) !important; color: #fff !important; }
html.prime-ui .ui-glass .btn--primary:hover, html.prime-ui .ui-glass .btn--red:hover { background: var(--p-accent-ink) !important; border-color: var(--p-accent-ink) !important; }
html.prime-ui .ui-glass .btn--primary::after, html.prime-ui .ui-glass .btn--gold::after { display: none !important; }
html.prime-ui .ui-glass .btn--gold, html.prime-ui .ui-glass .btn--ink { background: var(--p-ink) !important; border-color: var(--p-ink) !important; color: var(--p-bg) !important; }
html.prime-ui .ui-glass .btn--gold:hover, html.prime-ui .ui-glass .btn--ink:hover { background: var(--p-ink-2) !important; border-color: var(--p-ink-2) !important; }
html.prime-ui .ui-glass .btn--ok { background: var(--p-ok) !important; border-color: var(--p-ok) !important; color: #fff !important; }
html.prime-ui .ui-glass .btn--danger { background: var(--p-bad-soft) !important; border-color: transparent !important; color: var(--p-bad) !important; }
html.prime-ui .ui-glass .btn--danger:hover { background: var(--p-bad) !important; color: #fff !important; }
html.prime-ui .ui-glass .btn--wa { background: #25D366 !important; border-color: #25D366 !important; color: #fff !important; }
html.prime-ui .ui-glass .btn--ghost, html.prime-ui .ui-glass .btn--light, html.prime-ui .ui-glass .btn--glass { background: transparent !important; border-color: var(--p-line-2) !important; color: var(--p-ink) !important; box-shadow: none !important; }
html.prime-ui .ui-glass .btn--ghost:hover, html.prime-ui .ui-glass .btn--light:hover { background: var(--p-surface-2) !important; }
html.prime-ui .ui-glass .btn--icon { border-radius: 10px !important; }
html.prime-ui .ui-glass .btn[disabled], html.prime-ui .ui-glass .btn:disabled { opacity: .55; transform: none; box-shadow: none !important; }
html.prime-ui .ui-glass .bulkbar .btn { background: rgba(255,255,255,.12) !important; color: #fff !important; border-color: rgba(255,255,255,.2) !important; }
html.prime-ui .ui-glass .bulkbar .btn--ok { background: var(--p-ok) !important; } html.prime-ui .ui-glass .bulkbar .btn--danger { background: var(--p-bad) !important; }

/* member chat / messages */
html.prime-ui .bub { border-radius: 14px; }
html.prime-ui .bub--me { background: var(--p-ink); color: var(--p-bg); }

/* footer */
html.prime-ui .site-footer, html.prime-ui .foot { background: #0B0C10 !important; color: var(--p-faint); border-top: 1px solid rgba(255,255,255,.08); }
html.prime-ui .site-footer::before { display: none !important; }
html.prime-ui .site-footer a { color: #C9CAD1; } html.prime-ui .site-footer a:hover { color: #fff; }
html.prime-ui .site-footer .ico, html.prime-ui .foot .ico { display: none !important; }
html.prime-ui .foot__ver { background: rgba(255,255,255,.08); }

/* auth split */
html.prime-ui .auth-split__art { background: #0B0C10; }
html.prime-ui .stg-auth__txt { background: linear-gradient(0deg, rgba(11,12,16,.9), transparent); }

/* fixes after the first pass: calmer stage hero + header */
html.prime-ui .stg-hero__beams { opacity: .25; }
html.prime-ui .stg-hero__bg img, html.prime-ui .stg-hero__bg { filter: saturate(.55) brightness(.85); }
html.prime-ui .stg-hero__shade { background: linear-gradient(0deg, #0B0C10 0%, rgba(11,12,16,.5) 50%, rgba(11,12,16,.3) 100%) !important; }
html.prime-ui .stg-btn--hot { background: var(--p-accent) !important; color: #fff !important; }
html.prime-ui .stg-btn--gold { background: #fff !important; color: #111 !important; }
html.prime-ui .stg-btn--glass { background: rgba(255,255,255,.1) !important; border: 1px solid rgba(255,255,255,.25) !important; color: #fff !important; }
html.prime-ui .stg-hero__by { border-radius: 8px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }
html.prime-ui .site-header .nav a[aria-current="page"], html.prime-ui .site-header .nav a.is-on { background: rgba(255,255,255,.1) !important; border-radius: 9px; }
html.prime-ui .brand__mark, html.prime-ui .brand img { border-radius: 10px; }
html.prime-ui .stg-stats__in, html.prime-ui .theme-glass .stg-stats__in { background: transparent !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html.prime-ui .stg-stat > span:last-child { color: rgba(255,255,255,.7); }

/* 2.8 · the glass theme's dark body/veil rules outrank the token reset on every page — settle it here for all Prime pages */
html.prime-ui body { background: var(--p-bg) !important; color: var(--p-ink); }
html.prime-ui body::before, html.prime-ui .theme-golestan::before, html.prime-ui .theme-simorgh::before { display: none !important; }
html.prime-ui[data-mode="dark"] a:not([class]) { color: var(--p-ink); }
html.prime-ui .gtile { background: var(--p-surface-2) !important; color: var(--p-ink) !important; box-shadow: none !important; }
