/* ============================================================
   PIXEL PIONEERS — CSS FOUNDATION
   ============================================================ */
:root {
  --black:    #080705;
  --deep:     #111009;
  --card:     #17150f;
  --border:   #2a2620;
  --amber:    #f5a020;
  --amber2:   #ffca60;
  --red:      #e8341c;
  --cream:    #f0ede6;
  --muted:    #a8a296;  /* readable secondary (was #7a756a = failed WCAG 4.39:1, now 7.93:1) */
  --faint:    #6f6a60;  /* intentionally dim: placeholders, fine print only */
  --soft:     #3a352c;
  --mobile-accent: #3ecfb2;
  --ai-accent:#a87cf5;
  --expo-accent:#e8341c;
  --font-display: 'Bebas Neue', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --font-serif:   'Playfair Display', serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--cream);
  font-family: var(--font-body);
  overflow-x: hidden;
  cursor: crosshair;
}

/* Film grain overlay */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:9999;
  opacity:0.6;
}

/* ============================================================ SCROLLBAR */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--black); }
::-webkit-scrollbar-thumb { background:var(--amber); border-radius:2px; }

/* ============================================================ NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 40px;
  height:64px;
  background: rgba(8,7,5,0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  transition: all 0.3s;
}
.nav-logo {
  font-family: var(--font-display);
  font-size: 28px;
  letter-spacing: 3px;
  color: var(--cream);
  text-decoration: none;
}
.nav-logo span { color: var(--amber); }
.nav-links {
  display:flex; gap:32px; list-style:none;
  align-items:center;
}
.nav-links a {
  font-size:13px; font-weight:500;
  letter-spacing:1.5px; text-transform:uppercase;
  color: var(--muted);
  text-decoration:none;
  transition: color 0.2s;
}
.nav-links a:hover { color: var(--amber); }
.nav-cta {
  background: var(--amber);
  color: var(--black) !important;
  padding: 8px 20px;
  border-radius: 2px;
  font-weight:700 !important;
}
.nav-cta:hover { background: var(--amber2) !important; color: var(--black) !important; }

/* ============================================================ HERO */
.hero {
  position:relative; height:100vh; min-height:700px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  background: var(--black);
}
.hero-bg {
  position:absolute; inset:0;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, #1e1a10 0%, #080705 70%);
}
.hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(245,160,32,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,160,32,0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 70%);
}
.hero-photos {
  position:absolute; inset:0;
  display:flex; align-items:stretch;
  opacity:0.18;
}
.hero-photo-strip {
  flex:1;
  background: linear-gradient(180deg, #2a2018 0%, #0d0b07 100%);
  margin:0 1px;
  position:relative; overflow:hidden;
}
.hero-photo-strip::after {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 30%, var(--black) 100%);
}
.hero-content {
  position:relative; z-index:2;
  text-align:center;
  padding:0 20px;
}
.hero-eyebrow {
  font-size:12px; letter-spacing:6px; text-transform:uppercase;
  color: var(--amber); margin-bottom:24px;
  animation: fadeUp 0.8s ease both;
}
.hero-title {
  font-family: var(--font-display);
  font-size: clamp(80px, 14vw, 220px);
  line-height: 0.88;
  color: var(--cream);
  letter-spacing:-2px;
  animation: fadeUp 0.8s 0.15s ease both;
}
.hero-title .accent { color: var(--amber); }
.hero-title .line2 {
  display:block;
  -webkit-text-stroke: 1px var(--cream);
  color: transparent;
}
.hero-subtitle {
  font-family: var(--font-serif);
  font-size: clamp(16px, 2vw, 22px);
  font-style:italic;
  color: var(--muted);
  margin: 28px auto 40px;
  max-width:560px;
  line-height:1.6;
  animation: fadeUp 0.8s 0.3s ease both;
}
.hero-actions {
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  animation: fadeUp 0.8s 0.45s ease both;
}
.btn-primary {
  background: var(--amber);
  color: var(--black);
  padding:14px 36px;
  font-weight:700; font-size:14px;
  letter-spacing:2px; text-transform:uppercase;
  border:none; border-radius:2px;
  cursor:pointer; text-decoration:none;
  transition: all 0.2s;
  display:inline-block;
}
.btn-primary:hover { background:var(--amber2); transform:translateY(-2px); }
.btn-ghost {
  border: 1px solid var(--border);
  color: var(--cream);
  padding:14px 36px;
  font-weight:500; font-size:14px;
  letter-spacing:2px; text-transform:uppercase;
  background:transparent;
  border-radius:2px;
  cursor:pointer; text-decoration:none;
  transition: all 0.2s;
  display:inline-block;
}
.btn-ghost:hover { border-color:var(--amber); color:var(--amber); }
.hero-stats {
  position:absolute; bottom:40px; left:0; right:0;
  display:flex; justify-content:center; gap:60px;
  animation: fadeUp 0.8s 0.6s ease both;
}
.stat { text-align:center; }
.stat-num {
  font-family:var(--font-display);
  font-size:36px; color:var(--amber);
  display:block; line-height:1;
}
.stat-label {
  font-size:11px; letter-spacing:2px;
  text-transform:uppercase; color:var(--muted);
  margin-top:4px;
}
.scroll-hint {
  position:absolute; bottom:20px; left:50%;
  transform:translateX(-50%);
  font-size:11px; letter-spacing:3px;
  text-transform:uppercase; color:var(--muted);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  animation: bounce 2s infinite 1s;
}
.scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom, var(--amber), transparent);
}

/* ============================================================ TICKER */
.ticker {
  background: var(--amber);
  padding:10px 0;
  overflow:hidden;
  white-space:nowrap;
}
.ticker-inner {
  display:inline-block;
  animation: ticker 30s linear infinite;
}
.ticker-item {
  display:inline-block;
  font-family:var(--font-display);
  font-size:14px; letter-spacing:3px;
  color:var(--black);
  padding:0 40px;
}
.ticker-dot {
  display:inline-block;
  width:6px; height:6px;
  background:var(--black);
  border-radius:50%;
  vertical-align:middle;
  margin:0 20px;
}

/* ============================================================ SECTION COMMONS */
section { padding:100px 0; }
.container { max-width:1280px; margin:0 auto; padding:0 40px; }
.section-label {
  font-size:11px; letter-spacing:6px;
  text-transform:uppercase; color:var(--amber);
  margin-bottom:16px; display:block;
}
.section-title {
  font-family:var(--font-display);
  font-size:clamp(48px, 6vw, 96px);
  line-height:0.9;
  color:var(--cream);
}
.section-title .hollow {
  -webkit-text-stroke:1px var(--cream);
  color:transparent;
}
.section-desc {
  font-size:16px; color:var(--muted);
  max-width:560px; line-height:1.7;
  margin-top:20px;
}

/* ============================================================ CATEGORY TABS */
.tabs {
  display:flex; gap:8px; flex-wrap:wrap;
  margin-bottom:40px;
}
.tab {
  padding:8px 20px;
  border:1px solid var(--border);
  border-radius:100px;
  font-size:13px; letter-spacing:1px;
  font-weight:500;
  color:var(--muted);
  background:transparent;
  cursor:pointer;
  transition:all 0.2s;
}
.tab:hover { border-color:var(--amber); color:var(--amber); }
.tab.active {
  background:var(--amber);
  border-color:var(--amber);
  color:var(--black);
}
.level-tabs {
  display:flex; gap:0; margin-bottom:32px;
  border:1px solid var(--border);
  border-radius:4px;
  overflow:hidden;
  width:fit-content;
}
.level-tab {
  padding:10px 28px;
  font-size:12px; letter-spacing:2px;
  text-transform:uppercase; font-weight:600;
  color:var(--muted);
  background:transparent;
  border:none; cursor:pointer;
  transition:all 0.2s;
}
.level-tab.active { background:var(--amber); color:var(--black); }
.level-tab:not(.active):hover { color:var(--amber); }

/* ============================================================ PHOTO GRID */
.photo-grid {
  columns: 4;
  column-gap: 12px;
}
@media(max-width:1100px){ .photo-grid { columns:3; } }
@media(max-width:768px){ .photo-grid { columns:2; } }
@media(max-width:480px){ .photo-grid { columns:1; } }

.photo-item {
  break-inside:avoid;
  margin-bottom:12px;
  position:relative;
  overflow:hidden;
  border-radius:4px;
  cursor:pointer;
  background: var(--card);
}
.photo-item img {
  width:100%; display:block;
  transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
}
.photo-item:hover img { transform:scale(1.04); }
.photo-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(8,7,5,0.9) 0%, transparent 50%);
  opacity:0;
  transition:opacity 0.3s;
  display:flex; flex-direction:column;
  justify-content:flex-end;
  padding:16px;
}
.photo-item:hover .photo-overlay { opacity:1; }
.photo-meta { }
.photo-name {
  font-size:13px; font-weight:600;
  color:var(--cream); margin-bottom:2px;
}
.photo-author {
  font-size:11px; color:var(--muted);
  letter-spacing:1px;
}
.photo-badge {
  position:absolute; top:10px; left:10px;
  padding:3px 8px;
  border-radius:2px;
  font-size:10px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
}
.badge-pro { background:var(--amber); color:var(--black); }
.badge-am { background:var(--soft); color:var(--cream); }
.badge-mobile { background:var(--mobile-accent); color:var(--black); }
.badge-ai { background:var(--ai-accent); color:white; }
.photo-votes {
  position:absolute; top:10px; right:10px;
  display:flex; align-items:center; gap:4px;
  background:rgba(8,7,5,0.8);
  padding:4px 10px; border-radius:100px;
  font-size:12px; color:var(--cream);
  backdrop-filter:blur(8px);
}

/* Placeholder photo card colors for demo */
.ph { background: linear-gradient(135deg, #1e1a12, #2a220f); }
.ph1 { height:280px; }
.ph2 { height:200px; }
.ph3 { height:340px; }
.ph4 { height:240px; }
.ph5 { height:190px; }
.ph6 { height:310px; }
.ph7 { height:220px; }
.ph8 { height:260px; }
.ph-scene {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.ph-scene::before {
  content: attr(data-icon);
  font-size:48px; opacity:0.15;
}

/* ============================================================ EXHIBITIONS */
.exhibitions { background: var(--deep); }
.expo-grid {
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:20px; margin-top:48px;
}
@media(max-width:900px){ .expo-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ .expo-grid { grid-template-columns:1fr; } }

.expo-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:6px;
  overflow:hidden;
  position:relative;
  transition:transform 0.3s, border-color 0.3s;
}
.expo-card:hover { transform:translateY(-4px); border-color:var(--expo-accent); }
.expo-thumb {
  height:200px;
  background:linear-gradient(135deg, #1c1209, #2e1e0a);
  position:relative;
  display:flex; align-items:center; justify-content:center;
  font-size:64px; opacity:0.3;
  overflow:hidden;
}
.expo-thumb::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, var(--card), transparent 60%);
}
.expo-live {
  position:absolute; top:12px; left:12px;
  background:var(--red);
  color:white;
  padding:3px 10px; border-radius:2px;
  font-size:10px; font-weight:700;
  letter-spacing:2px;
  display:flex; align-items:center; gap:5px;
  z-index:1;
}
.expo-live-dot {
  width:6px; height:6px; border-radius:50%;
  background:white;
  animation: pulse 1.5s infinite;
}
.expo-body { padding:20px; }
.expo-title {
  font-family:var(--font-display);
  font-size:24px; color:var(--cream);
  margin-bottom:6px;
}
.expo-meta {
  font-size:12px; color:var(--muted);
  letter-spacing:1px; margin-bottom:16px;
}
.expo-stats {
  display:flex; gap:20px; margin-bottom:16px;
}
.expo-stat { font-size:12px; color:var(--muted); }
.expo-stat strong { color:var(--cream); font-size:18px; display:block; }
.expo-vote-btn {
  width:100%;
  background:transparent;
  border:1px solid var(--expo-accent);
  color:var(--expo-accent);
  padding:10px;
  border-radius:3px;
  font-size:13px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  cursor:pointer;
  transition:all 0.2s;
}
.expo-vote-btn:hover { background:var(--expo-accent); color:white; }
.expo-vote-btn.voted { background:var(--expo-accent); color:white; }

/* Featured Exhibition */
.expo-featured {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--card);
  border:1px solid var(--expo-accent);
  border-radius:6px;
  overflow:hidden;
}
.expo-featured-thumb {
  background:linear-gradient(135deg, #1c0a07, #3a1005);
  min-height:350px;
  display:flex; align-items:center; justify-content:center;
  font-size:100px; opacity:0.2;
}
.expo-featured-body {
  padding:48px;
  display:flex; flex-direction:column;
  justify-content:center;
}
.expo-featured-label {
  font-size:10px; letter-spacing:4px;
  text-transform:uppercase; color:var(--expo-accent);
  margin-bottom:16px;
}
.expo-featured-title {
  font-family:var(--font-display);
  font-size:48px; line-height:0.95;
  color:var(--cream); margin-bottom:16px;
}
.expo-featured-desc {
  font-size:15px; color:var(--muted);
  line-height:1.7; margin-bottom:28px;
}
.vote-bar-wrap { margin-bottom:20px; }
.vote-bar-label {
  display:flex; justify-content:space-between;
  font-size:12px; color:var(--muted);
  margin-bottom:6px;
}
.vote-bar { height:3px; background:var(--border); border-radius:2px; }
.vote-bar-fill {
  height:100%; background:var(--expo-accent);
  border-radius:2px; transition:width 1s ease;
}

/* ============================================================ MOBILE PHOTO */
.mobile-section { background: linear-gradient(180deg, var(--black) 0%, #060a0d 100%); }
.mobile-header {
  display:flex; align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap; gap:24px;
  margin-bottom:48px;
}
.mobile-badge-big {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(62,207,178,0.1);
  border:1px solid var(--mobile-accent);
  padding:8px 16px; border-radius:100px;
  font-size:12px; font-weight:600;
  color:var(--mobile-accent);
  letter-spacing:1px;
  margin-bottom:16px;
}
.mobile-phones {
  display:flex; gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.phone-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:8px;
  padding:16px;
  flex:1; min-width:200px;
  max-width:260px;
  transition:all 0.3s;
}
.phone-card:hover { border-color:var(--mobile-accent); transform:translateY(-4px); }
.phone-icon { font-size:32px; margin-bottom:12px; }
.phone-brand {
  font-family:var(--font-display);
  font-size:22px; color:var(--cream);
  margin-bottom:4px;
}
.phone-sub { font-size:12px; color:var(--muted); }
.phone-count {
  margin-top:12px;
  font-size:24px; font-family:var(--font-display);
  color:var(--mobile-accent);
}

/* ============================================================ AI SECTION */
.ai-section { background: linear-gradient(180deg, #060a0d 0%, #08060f 100%); }
.ai-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:6px; overflow:hidden;
  margin-top:48px;
}
.ai-quadrant {
  background:var(--card);
  padding:40px;
  position:relative;
}
.ai-quadrant-label {
  font-size:10px; letter-spacing:4px;
  text-transform:uppercase;
  color:var(--ai-accent);
  margin-bottom:12px;
}
.ai-quadrant-title {
  font-family:var(--font-display);
  font-size:36px; color:var(--cream);
  margin-bottom:16px;
}
.ai-category-pills {
  display:flex; flex-wrap:wrap; gap:8px;
  margin-bottom:24px;
}
.ai-pill {
  padding:5px 14px;
  background:rgba(168,124,245,0.1);
  border:1px solid rgba(168,124,245,0.3);
  color:var(--ai-accent);
  border-radius:100px;
  font-size:12px;
}
.ai-photos-mini {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.ai-photo-mini {
  aspect-ratio:1;
  background:linear-gradient(135deg, #120d1e, #1e1530);
  border-radius:4px;
  display:flex; align-items:center; justify-content:center;
  font-size:24px; opacity:0.3;
  cursor:pointer; transition:opacity 0.2s;
}
.ai-photo-mini:hover { opacity:0.6; }

/* ============================================================ PLANS */
.plans-section { background: var(--deep); }
.plans-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:8px; overflow:hidden;
  margin-top:56px;
}
@media(max-width:1000px){ .plans-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .plans-grid { grid-template-columns:1fr; } }

.plan-card {
  background:var(--card);
  padding:40px 32px;
  position:relative;
  transition:background 0.3s;
}
.plan-card:hover { background:#1e1b12; }
.plan-card.featured {
  background: linear-gradient(160deg, #1e1809, #17130a);
  border-top:2px solid var(--amber);
}
.plan-popular {
  position:absolute; top:-1px; right:24px;
  background:var(--amber);
  color:var(--black);
  font-size:10px; font-weight:700;
  letter-spacing:2px; padding:4px 12px;
}
.plan-name {
  font-family:var(--font-display);
  font-size:32px; color:var(--cream);
  margin-bottom:4px;
}
.plan-tagline { font-size:13px; color:var(--muted); margin-bottom:28px; }
.plan-price {
  margin-bottom:28px;
}
.plan-inr {
  font-size:14px; color:var(--muted);
  vertical-align:top; margin-top:8px;
  display:inline-block;
}
.plan-amount {
  font-family:var(--font-display);
  font-size:64px; color:var(--cream);
  line-height:1;
}
.plan-card.featured .plan-amount { color:var(--amber); }
.plan-period { font-size:13px; color:var(--muted); }
.plan-features {
  list-style:none;
  margin-bottom:32px;
}
.plan-features li {
  padding:8px 0;
  border-bottom:1px solid var(--border);
  font-size:14px; color:var(--muted);
  display:flex; align-items:center; gap:10px;
}
.plan-features li:last-child { border-bottom:none; }
.plan-features li .feat-icon { color:var(--amber); font-size:14px; }
.plan-features li.disabled { opacity:0.4; }
.plan-btn {
  width:100%;
  padding:12px;
  border-radius:3px;
  font-size:13px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
  cursor:pointer; border:none;
  transition:all 0.2s;
}
.plan-btn-outline {
  background:transparent;
  border:1px solid var(--border);
  color:var(--cream);
}
.plan-btn-outline:hover { border-color:var(--amber); color:var(--amber); }
.plan-btn-solid {
  background:var(--amber);
  color:var(--black);
}
.plan-btn-solid:hover { background:var(--amber2); }

/* ============================================================ PHOTOGRAPHERS SPOTLIGHT */
.spotlight {
  background:var(--black);
  overflow:hidden;
}
.spotlight-scroll {
  display:flex; gap:20px;
  margin-top:48px;
  animation: scrollLeft 40s linear infinite;
  width:max-content;
}
.spotlight-scroll:hover { animation-play-state:paused; }
.photographer-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:6px;
  padding:24px;
  width:240px;
  flex-shrink:0;
  transition:border-color 0.2s;
}
.photographer-card:hover { border-color:var(--amber); }
.ph-avatar {
  width:64px; height:64px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--soft), var(--amber));
  margin-bottom:16px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display);
  font-size:28px; color:var(--black);
}
.ph-name { font-weight:600; font-size:15px; color:var(--cream); margin-bottom:2px; }
.ph-location { font-size:12px; color:var(--muted); margin-bottom:12px; }
.ph-specialty {
  font-size:11px; letter-spacing:1px;
  text-transform:uppercase; color:var(--amber);
  margin-bottom:16px;
}
.ph-photos {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:3px;
}
.ph-photo-mini {
  aspect-ratio:1;
  background:var(--soft);
  border-radius:2px;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; opacity:0.3;
}

/* ============================================================ MANIFESTO */
.manifesto {
  background:var(--amber);
  padding:80px 0;
  overflow:hidden;
  position:relative;
}
.manifesto::before {
  content:'';
  position:absolute; inset:0;
  background: repeating-linear-gradient(
    -45deg,
    transparent, transparent 20px,
    rgba(0,0,0,0.04) 20px, rgba(0,0,0,0.04) 21px
  );
}
.manifesto-inner {
  max-width:900px; margin:0 auto;
  padding:0 40px;
  text-align:center;
  position:relative;
}
.manifesto-quote {
  font-family:var(--font-display);
  font-size:clamp(40px, 6vw, 88px);
  line-height:0.95;
  color:var(--black);
  margin-bottom:24px;
}
.manifesto-sub {
  font-size:16px; color:rgba(8,7,5,0.6);
  line-height:1.7;
  max-width:560px; margin:0 auto 32px;
}
.manifesto-btn {
  background:var(--black);
  color:var(--amber);
  padding:14px 40px;
  border-radius:2px;
  font-weight:700; font-size:14px;
  letter-spacing:2px; text-transform:uppercase;
  border:none; cursor:pointer; text-decoration:none;
  display:inline-block;
  transition:all 0.2s;
}
.manifesto-btn:hover { background:#1a1710; }

/* ============================================================ HOW IT WORKS */
.how { background:var(--black); }
.how-steps {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--border);
  border:1px solid var(--border);
  border-radius:6px; overflow:hidden;
  margin-top:56px;
}
@media(max-width:900px){ .how-steps { grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px){ .how-steps { grid-template-columns:1fr; } }

.how-step {
  background:var(--card);
  padding:40px 32px;
}
.step-num {
  font-family:var(--font-display);
  font-size:72px; line-height:1;
  color:var(--border);
  margin-bottom:16px;
}
.step-title {
  font-family:var(--font-display);
  font-size:24px; color:var(--cream);
  margin-bottom:12px;
}
.step-desc { font-size:14px; color:var(--muted); line-height:1.6; }

/* ============================================================ FOOTER */
footer {
  background:var(--deep);
  border-top:1px solid var(--border);
  padding:64px 0 32px;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px; margin-bottom:48px;
}
@media(max-width:900px){ .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:500px){ .footer-grid { grid-template-columns:1fr; } }

.footer-brand-name {
  font-family:var(--font-display);
  font-size:36px; color:var(--cream);
  margin-bottom:4px;
}
.footer-brand-name span { color:var(--amber); }
.footer-tagline {
  font-size:13px; color:var(--muted);
  margin-bottom:24px; line-height:1.6;
}
.footer-social {
  display:flex; gap:12px;
}
.social-btn {
  width:36px; height:36px;
  border:1px solid var(--border);
  border-radius:3px;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; color:var(--muted);
  cursor:pointer;
  transition:all 0.2s;
  text-decoration:none;
}
.social-btn:hover { border-color:var(--amber); color:var(--amber); }
.footer-col h4 {
  font-size:12px; letter-spacing:3px;
  text-transform:uppercase; color:var(--amber);
  margin-bottom:20px;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { color:#c2bcae!important;
  font-size:14px; color:var(--muted);
  text-decoration:none; transition:color 0.2s;
}
.footer-col ul li a:hover { color:var(--cream); }
.footer-bottom {
  border-top:1px solid var(--border);
  padding-top:24px;
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:16px;
}
.footer-copy { font-size:12px; color:var(--muted); }
.footer-links { display:flex; gap:24px; }
.footer-links a { font-size:12px; color:var(--muted); text-decoration:none; }
.footer-links a:hover { color:var(--amber); }

/* ============================================================ LIGHTBOX */
.lightbox {
  position:fixed; inset:0; z-index:9000;
  background:rgba(8,7,5,0.96);
  backdrop-filter:blur(12px);
  display:none;
  align-items:center; justify-content:center;
}
.lightbox.open { display:flex; }
.lightbox-inner {
  max-width:900px; width:90%;
  position:relative;
}
.lightbox-close {
  position:absolute; top:-48px; right:0;
  background:none; border:none;
  color:var(--muted); font-size:24px;
  cursor:pointer; transition:color 0.2s;
}
.lightbox-close:hover { color:var(--amber); }
.lightbox-img {
  width:100%; border-radius:4px;
  background:var(--card);
  min-height:400px;
  display:flex; align-items:center; justify-content:center;
  font-size:80px; opacity:0.2;
}
.lightbox-meta {
  padding:20px 0;
  display:flex; justify-content:space-between;
  align-items:center;
}
.lightbox-title { font-size:18px; font-weight:600; color:var(--cream); }
.lightbox-author { font-size:13px; color:var(--muted); }
.lightbox-vote {
  display:flex; align-items:center; gap:8px;
  background:var(--card);
  padding:8px 20px; border-radius:100px;
  cursor:pointer; border:1px solid var(--border);
  color:var(--muted); font-size:14px;
  font-weight:600; transition:all 0.2s;
}
.lightbox-vote:hover, .lightbox-vote.voted {
  border-color:var(--red); color:var(--red);
}

/* ============================================================ MOBILE NAV HAMBURGER */
.hamburger {
  display:none;
  flex-direction:column; gap:5px;
  cursor:pointer; background:none; border:none;
  padding:8px;
}
.hamburger span {
  width:24px; height:2px;
  background:var(--cream); display:block;
  transition:all 0.3s;
}
@media(max-width:860px){
  .hamburger { display:flex; }
  .nav-links { display:none; }
}

/* ============================================================ ANIMATIONS */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes ticker {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
@keyframes scrollLeft {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
@keyframes bounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50%     { transform:translateX(-50%) translateY(8px); }
}
@keyframes pulse {
  0%,100% { opacity:1; }
  50%     { opacity:0.4; }
}
@keyframes spin {
  from { transform:rotate(0deg); }
  to   { transform:rotate(360deg); }
}
.fade-in {
  opacity:0; transform:translateY(24px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.fade-in.visible { opacity:1; transform:translateY(0); }

/* ============================================================ SECTION DIVIDER */
.divider {
  height:1px; background:var(--border);
  margin:0 40px;
}

/* ============================================================ COMMUNITY BANNER */
.community-banner {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:8px;
  padding:48px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
  margin-top:60px;
}
.community-banner-text h3 {
  font-family:var(--font-display);
  font-size:40px; color:var(--cream);
  margin-bottom:8px;
}
.community-banner-text p { font-size:15px; color:var(--muted); max-width:480px; }
.banner-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* ============================================================ UPLOAD LIMIT NOTICE */
.upload-notice {
  background:linear-gradient(135deg, rgba(245,160,32,0.08), rgba(232,52,28,0.05));
  border:1px solid rgba(245,160,32,0.2);
  border-radius:6px;
  padding:20px 28px;
  display:flex; align-items:center; gap:16px;
  margin-top:24px;
}
.notice-icon { font-size:24px; }
.notice-text { font-size:14px; color:var(--muted); line-height:1.5; }
.notice-text strong { color:var(--amber); }

/* NOTIFICATION TOAST */
.toast {
  position:fixed; bottom:32px; right:32px;
  background:var(--card);
  border:1px solid var(--amber);
  border-radius:6px;
  padding:16px 24px;
  font-size:14px; color:var(--cream);
  z-index:9998;
  transform:translateY(100px); opacity:0;
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  max-width:300px;
}
.toast.show { transform:translateY(0); opacity:1; }
.toast-title { font-weight:700; color:var(--amber); margin-bottom:4px; }


/* ── WORDPRESS / THEME ADDITIONS ────────────────────────── */
:root {
  --pp-bg: var(--black);
  --pp-deep: var(--deep);
  --pp-card: var(--card);
  --pp-border: var(--border);
  --pp-gold: var(--amber);
  --pp-cream: var(--cream);
  --pp-muted: var(--muted);
  --pp-red: var(--red);
  --pp-purple: #9333ea;
  --pp-mobile: var(--mobile-accent);
  --pp-ai: var(--ai-accent);
  --pp-display: var(--font-display);
  --pp-body: var(--font-body);
  --pp-nav-h: 64px;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--cream); font-family:var(--font-body); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
body::before { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); pointer-events:none; z-index:9999; opacity:.55; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:var(--font-body); cursor:pointer; }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--black); }
::-webkit-scrollbar-thumb { background:var(--amber); border-radius:2px; }

/* SKIP LINK */
.pp-skip { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.pp-skip:focus { position:fixed; top:0; left:0; width:auto; height:auto; padding:8px 16px; background:var(--amber); color:#000; z-index:99999; font-weight:700; }

/* CONTAINER */
.pp-container { max-width:1280px; margin:0 auto; padding:0 20px; }
@media(min-width:640px){ .pp-container { padding:0 32px; } }
@media(min-width:1024px){ .pp-container { padding:0 40px; } }

/* NAV */
#pp-nav { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:space-between; padding:0 20px; height:var(--pp-nav-h); background:rgba(8,7,5,.94); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); transition:border-color .3s; }
@media(min-width:768px){ #pp-nav { padding:0 40px; } }
#pp-nav.scrolled { border-bottom-color:rgba(245,160,32,.3); }
.pp-logo { font-family:var(--font-display); font-size:24px; letter-spacing:3px; color:var(--cream); display:flex; align-items:center; }
.pp-logo em, .pp-logo-dot { color:var(--amber); font-style:normal; }
.pp-nav-list { display:none; list-style:none; gap:4px; align-items:center; }
@media(min-width:960px){ .pp-nav-list { display:flex; } }
.pp-nav-list a { font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#d8d3c8; padding:6px 10px; border-radius:4px; transition:color .2s, background .2s; }
.pp-nav-list a:hover { color:#fff; background:rgba(245,160,32,.1); }
.pp-nav-list a.active,.pp-nav-list .current-menu-item>a { color:var(--amber); }
.pp-nav-cta { background:var(--amber)!important; color:#000!important; font-weight:700!important; padding:7px 16px!important; border-radius:4px!important; }
.pp-nav-cta:hover { background:var(--amber2)!important; }
.pp-nav-avatar { display:flex; align-items:center; width:34px; height:34px; border-radius:50%; overflow:hidden; border:2px solid var(--border); }
.pp-nav-avatar img { width:100%; height:100%; object-fit:cover; }
.pp-hamburger { display:flex; flex-direction:column; gap:5px; background:none; border:none; padding:6px; }
.pp-hamburger span { width:22px; height:2px; background:var(--cream); display:block; transition:all .3s; }
.pp-hamburger.open span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.pp-hamburger.open span:nth-child(2){ opacity:0; }
.pp-hamburger.open span:nth-child(3){ transform:rotate(-45deg) translate(5px,-5px); }
@media(min-width:960px){ .pp-hamburger { display:none; } }
.pp-mobile-menu { display:none; position:absolute; top:var(--pp-nav-h); left:0; right:0; background:rgba(8,7,5,.98); border-bottom:1px solid var(--border); padding:20px; }
.pp-mobile-menu.open { display:block; }
.pp-mobile-menu ul { list-style:none; }
.pp-mobile-menu ul li { border-bottom:1px solid var(--border); }
.pp-mobile-menu ul li a { display:block; padding:14px 0; font-size:15px; color:var(--muted); }
.pp-mobile-menu ul li a:hover, .pp-mobile-cta { color:var(--amber)!important; font-weight:600; }

/* BUTTONS */
.pp-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 28px; font-size:13px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; border:none; border-radius:4px; cursor:pointer; transition:all .2s; text-decoration:none; font-family:var(--font-body); }
.pp-btn-primary { background:var(--amber); color:#000; }
.pp-btn-primary:hover { background:var(--amber2); transform:translateY(-1px); }
.pp-btn-outline { background:transparent; border:1px solid var(--border); color:var(--cream); }
.pp-btn-outline:hover { border-color:var(--amber); color:var(--amber); }
.pp-btn-ghost { background:transparent; border:1px solid rgba(255,255,255,.15); color:var(--muted); }
.pp-btn-ghost:hover { border-color:var(--amber); color:var(--amber); }
.pp-btn-dark { background:#000; color:var(--amber); }
.pp-btn-dark:hover { background:#111; }
.pp-btn-lg { padding:14px 36px; font-size:14px; }
.pp-btn-sm { padding:7px 16px; font-size:11px; }
.pp-btn-block { width:100%; display:flex; }

/* TYPOGRAPHY */
.pp-label { font-size:11px; letter-spacing:5px; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:12px; }
.pp-section-title { font-family:var(--font-display); font-size:clamp(44px,7vw,88px); line-height:.92; color:var(--cream); }
.pp-hollow { -webkit-text-stroke:1px var(--cream); color:transparent; }
.pp-section-desc { font-size:15px; color:var(--muted); max-width:520px; line-height:1.7; margin-top:16px; }

/* SECTIONS */
.pp-section { padding:80px 0; }
@media(min-width:768px){ .pp-section { padding:110px 0; } }
.pp-section-dark { background:var(--deep); }
.pp-section-header { margin-bottom:48px; }
.pp-section-header-flex { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:24px; }

/* HERO */
.pp-hero { position:relative; height:100svh; min-height:600px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.pp-hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 40%,#1e1a10 0%,#080705 70%); }
.pp-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(245,160,32,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(245,160,32,.06) 1px,transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 75%); }
.pp-hero-strips { position:absolute; inset:0; display:flex; opacity:.12; }
.pp-hero-strip { flex:1; background:linear-gradient(180deg,#2a2010 0%,#080705 100%); margin:0 1px; }
.pp-hero-content { position:relative; z-index:2; text-align:center; padding:0 20px; }
.pp-hero-eyebrow { font-size:11px; letter-spacing:6px; text-transform:uppercase; color:var(--amber); margin-bottom:20px; }
.pp-hero-title { font-family:var(--font-display); font-size:clamp(72px,15vw,200px); line-height:.88; letter-spacing:-1px; color:var(--cream); }
.pp-hero-title .pp-hollow { display:block; -webkit-text-stroke:1px var(--cream); color:transparent; }
.pp-hero-sub { font-family:'Sora',var(--font-body),sans-serif; font-size:clamp(16px,1.5vw,21px); font-style:normal; font-weight:300; color:#c9c3b6; max-width:680px; margin:24px auto 34px; line-height:1.65; letter-spacing:.2px; }
.pp-hero-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.pp-hero-stats { position:absolute; bottom:28px; left:0; right:0; display:flex; justify-content:center; gap:24px; flex-wrap:wrap; padding:0 20px; }
@media(min-width:640px){ .pp-hero-stats { gap:52px; } }
.pp-stat { text-align:center; }
.pp-stat-num { font-family:var(--font-display); font-size:clamp(24px,4vw,36px); color:var(--amber); display:block; line-height:1; }
.pp-stat-label { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:3px; }

/* TICKER */
.pp-ticker { background:var(--amber); padding:9px 0; overflow:hidden; white-space:nowrap; opacity:1!important; transform:none!important; max-width:100vw; }
.pp-ticker-inner { display:inline-block; animation:pp-ticker 35s linear infinite; }
.pp-ticker-inner:hover { animation-play-state:paused; }
.pp-ticker-item { display:inline-block; font-family:var(--font-display); font-size:14px; letter-spacing:3px; color:#000; padding:0 28px; }
.pp-ticker-sep { display:inline-block; color:rgba(0,0,0,.4); margin:0 8px; vertical-align:middle; }

/* TABS */
.pp-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.pp-tab { padding:7px 18px; border:1px solid var(--border); border-radius:100px; font-size:12px; font-weight:500; color:var(--muted); background:transparent; cursor:pointer; transition:all .2s; }
.pp-tab:hover { border-color:var(--amber); color:var(--amber); }
.pp-tab.active { background:var(--amber); border-color:var(--amber); color:#000; font-weight:700; }
.pp-level-switch { display:flex; border:1px solid var(--border); border-radius:4px; overflow:hidden; width:fit-content; }
.pp-level-btn { padding:9px 20px; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; color:var(--muted); background:transparent; border:none; cursor:pointer; transition:all .2s; }
.pp-level-btn.active { background:var(--amber); color:#000; }

/* PHOTO GRID - MASONRY */
/* Responsive auto-fitting grid — cards auto-size to screen, wider landscape thumbnails */
.pp-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); /* wide cards; column count auto */
  gap:18px;
  align-items:start;
}
@media(min-width:1500px){ .pp-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));} }
@media(max-width:680px){ .pp-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;} }
@media(max-width:440px){ .pp-grid{grid-template-columns:1fr;} }
.pp-card { break-inside:avoid; margin-bottom:10px; position:relative; overflow:hidden; border-radius:6px; cursor:pointer; background:var(--card); transition:transform .3s, box-shadow .3s; }
@media(min-width:640px){ .pp-card { margin-bottom:12px; } }
.pp-card:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(0,0,0,.6); }
.pp-card-thumb { position:relative; overflow:hidden; aspect-ratio:4/3; background:#0f0d09; }
.pp-card-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.25,.46,.45,.94); }
.pp-card:hover .pp-card-thumb img { transform:scale(1.05); }
.pp-card-ph { min-height:200px; display:flex; align-items:center; justify-content:center; font-size:40px; opacity:.1; background:linear-gradient(135deg,#1a1505,#0a0a05); }
.pp-card-badges { position:absolute; top:8px; left:8px; display:flex; gap:4px; flex-wrap:wrap; }
.pp-b { display:inline-block; padding:2px 7px; border-radius:3px; font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.pp-b-pro { background:var(--amber); color:#000; }
.pp-b-am { background:rgba(255,255,255,.15); color:var(--cream); }
.pp-b-mobile { background:var(--mobile-accent); color:#000; }
.pp-b-ai { background:var(--ai-accent); color:#fff; }
.pp-b-potw { background:var(--amber); color:#000; }
.pp-b-exif { background:rgba(34,197,94,.2); border:1px solid rgba(34,197,94,.4); color:#4ade80; }
.pp-b-pending { background:rgba(245,160,32,.16); border:1px solid rgba(245,160,32,.45); color:var(--amber); }
.pp-card-votes { position:absolute; top:8px; right:8px; background:rgba(8,7,5,.8); backdrop-filter:blur(8px); padding:3px 9px; border-radius:100px; font-size:11px; color:var(--cream); }
.pp-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(8,7,5,.95) 0%,rgba(8,7,5,.4) 40%,transparent 70%); opacity:0; transition:opacity .3s; display:flex; flex-direction:column; justify-content:flex-end; padding:14px; }
.pp-card:hover .pp-card-overlay { opacity:1; }
.pp-card-title { font-size:13px; font-weight:600; color:var(--cream); margin-bottom:2px; }
.pp-card-auth { font-size:11px; color:var(--muted); display:block; margin-bottom:4px; }
.pp-card-auth:hover { color:var(--amber); }
.pp-card-acts { display:flex; gap:8px; margin-top:10px; }
.pp-vote-card, .pp-view-card, .pp-save-btn, .pp-pending-note { background:rgba(255,255,255,.12); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15); border-radius:4px; padding:6px 12px; font-size:12px; color:var(--cream); cursor:pointer; transition:all .2s; display:flex; align-items:center; gap:4px; }
.pp-vote-card:hover, .pp-vote-card.voted { background:rgba(232,52,28,.2); border-color:rgba(232,52,28,.4); color:#f87171; }
.pp-view-card:hover, .pp-save-btn:hover, .pp-save-btn.saved { background:rgba(245,160,32,.2); border-color:rgba(245,160,32,.3); color:var(--amber); }
.pp-pending-note { cursor:default; color:var(--amber); }
.pp-load-more-wrap { text-align:center; margin-top:40px; }
.pp-upload-notice { background:linear-gradient(135deg,rgba(245,160,32,.08),rgba(232,52,28,.05)); border:1px solid rgba(245,160,32,.2); border-radius:6px; padding:16px 20px; display:flex; align-items:flex-start; gap:12px; margin-top:24px; font-size:13px; color:var(--muted); flex-wrap:wrap; }
.pp-upload-notice strong { color:var(--amber); }
.pp-upload-notice a { color:var(--amber); font-weight:600; }

/* HOW IT WORKS */
.pp-steps { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-top:48px; }
@media(min-width:768px){ .pp-steps { grid-template-columns:repeat(4,1fr); } }
.pp-step { background:var(--card); padding:28px 22px; }
@media(min-width:768px){ .pp-step { padding:40px 32px; } }
.pp-step-num { font-family:var(--font-display); font-size:56px; line-height:1; color:var(--border); margin-bottom:12px; }
.pp-step-title { font-family:var(--font-display); font-size:20px; color:var(--cream); margin-bottom:8px; }
.pp-step p { font-size:13px; color:var(--muted); line-height:1.6; }

/* EXHIBITIONS */
.pp-expo-grid { display:grid; grid-template-columns:1fr; gap:16px; margin-top:40px; }
@media(min-width:640px){ .pp-expo-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .pp-expo-grid { grid-template-columns:repeat(3,1fr); } }
.pp-expo-card { background:var(--card); border:1px solid var(--border); border-radius:6px; overflow:hidden; transition:transform .3s, border-color .3s, box-shadow .3s; }
.pp-expo-card:hover { transform:translateY(-4px); border-color:rgba(245,160,32,.3); box-shadow:0 12px 40px rgba(0,0,0,.5); }
.pp-expo-thumb { height:180px; background:linear-gradient(135deg,#130e02,#1a1208); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background-size:cover; background-position:center; }
.pp-expo-ph { font-size:48px; opacity:.15; }
.pp-live-dot { position:absolute; top:10px; left:10px; background:var(--red); color:#fff; padding:3px 9px; border-radius:2px; font-size:10px; font-weight:700; letter-spacing:2px; display:flex; align-items:center; gap:5px; z-index:1; }
.pp-dot-inner { width:6px; height:6px; border-radius:50%; background:#fff; animation:pp-pulse 1.5s infinite; }
.pp-expo-body { padding:18px; }
.pp-expo-body h4 { font-family:var(--font-display); font-size:22px; color:var(--cream); margin-bottom:6px; }
.pp-expo-body h4 a { color:inherit; }
.pp-expo-body p { font-size:12px; color:var(--muted); margin-bottom:14px; }
.pp-expo-stats { display:flex; gap:16px; margin-bottom:14px; }
.pp-expo-stats div { font-size:11px; color:var(--muted); }
.pp-expo-stats strong { display:block; font-size:18px; color:var(--cream); font-family:var(--font-display); }
.pp-expo-acts { display:flex; gap:8px; flex-wrap:wrap; }
.pp-expo-vote { background:transparent; border:1px solid rgba(245,160,32,.4); color:var(--amber); padding:8px 16px; border-radius:4px; font-size:12px; font-weight:600; letter-spacing:1px; cursor:pointer; transition:all .2s; font-family:var(--font-body); }
.pp-expo-vote:hover, .pp-expo-vote.voted { background:var(--amber); color:#000; }

/* CHALLENGES */
.pp-challenges-grid { display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:640px){ .pp-challenges-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .pp-challenges-grid { grid-template-columns:repeat(3,1fr); } }
.pp-challenge-card { background:var(--card); border:1px solid var(--border); border-radius:6px; overflow:hidden; transition:border-color .2s; }
.pp-challenge-card:hover { border-color:rgba(245,160,32,.3); }
.pp-challenge-thumb { height:160px; background-size:cover; background-position:center; background-color:var(--deep); }
.pp-challenge-body { padding:18px; }
.pp-timer { display:inline-block; background:rgba(245,160,32,.1); border:1px solid rgba(245,160,32,.3); color:var(--amber); padding:3px 10px; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:1px; margin-bottom:10px; }
.pp-timer-closed { background:rgba(232,52,28,.1); border-color:rgba(232,52,28,.3); color:#f87171; }
.pp-challenge-body h4 { font-family:var(--font-display); font-size:20px; color:var(--cream); margin-bottom:6px; }
.pp-challenge-body h4 a { color:inherit; }
.pp-challenge-body p { font-size:13px; color:var(--muted); line-height:1.6; margin-bottom:14px; }
.pp-challenge-foot { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--muted); }

/* MOBILE SECTION */
.pp-section-mobile { background:linear-gradient(180deg,var(--black) 0%,#03080a 100%); }
.pp-mobile-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(62,207,178,.1); border:1px solid var(--mobile-accent); padding:6px 14px; border-radius:100px; font-size:11px; font-weight:600; color:var(--mobile-accent); letter-spacing:1px; margin-bottom:14px; }

/* AI SECTION */
.pp-section-ai { background:linear-gradient(180deg,#03080a 0%,#05030a 100%); }
.pp-ai-split { display:grid; grid-template-columns:1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-top:40px; }
@media(min-width:768px){ .pp-ai-split { grid-template-columns:1fr 1fr; } }
.pp-ai-quad { background:var(--card); padding:28px 20px; }
@media(min-width:768px){ .pp-ai-quad { padding:40px; } }
.pp-ai-quad-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--ai-accent); margin-bottom:8px; }
.pp-ai-quad-title { font-family:var(--font-display); font-size:clamp(26px,4vw,40px); color:var(--cream); margin-bottom:12px; }
.pp-ai-quad p { font-size:13px; color:var(--muted); line-height:1.6; margin-bottom:16px; }
.pp-ai-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.pp-ai-pill { padding:4px 12px; background:rgba(168,124,245,.1); border:1px solid rgba(168,124,245,.3); color:var(--ai-accent); border-radius:100px; font-size:11px; }

/* MANIFESTO */
.pp-manifesto { background:var(--amber); padding:44px 0; position:relative; overflow:hidden; }
@media(min-width:768px){ .pp-manifesto { padding:56px 0; } }
.pp-manifesto::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,transparent,transparent 18px,rgba(0,0,0,.04) 18px,rgba(0,0,0,.04) 19px); }
.pp-manifesto-inner { position:relative; max-width:820px; margin:0 auto; padding:0 20px; text-align:center; }
.pp-manifesto-quote { font-family:var(--font-display); font-size:clamp(30px,5vw,64px); line-height:.95; color:#000; margin-bottom:12px; }
.pp-manifesto-sub { font-size:14px; color:rgba(0,0,0,.65); line-height:1.6; max-width:480px; margin:0 auto 20px; }

/* PLANS */
.pp-section-plans { background:var(--deep); }
.pp-plans-grid { display:grid; grid-template-columns:1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:8px; overflow:hidden; margin-top:48px; }
@media(min-width:640px){ .pp-plans-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .pp-plans-grid { grid-template-columns:repeat(4,1fr); } }
.pp-plan { background:var(--card); padding:28px 22px; position:relative; transition:background .3s; }
@media(min-width:768px){ .pp-plan { padding:40px 32px; } }
.pp-plan:hover { background:rgba(255,255,255,.04); }
.pp-plan-featured { background:linear-gradient(160deg,rgba(245,160,32,.06),rgba(245,160,32,.02)); border-top:2px solid var(--amber); }
.pp-plan-popular { position:absolute; top:-1px; right:20px; background:var(--amber); color:#000; font-size:9px; font-weight:700; letter-spacing:2px; padding:3px 10px; }
.pp-plan-name { font-family:var(--font-display); font-size:28px; color:var(--cream); margin-bottom:3px; }
.pp-plan-tagline { font-size:12px; color:var(--muted); margin-bottom:20px; }
.pp-plan-price { margin-bottom:20px; }
.pp-plan-inr { font-size:14px; color:var(--muted); vertical-align:top; margin-top:6px; display:inline-block; }
.pp-plan-amount { font-family:var(--font-display); font-size:52px; color:var(--cream); line-height:1; }
.pp-plan-featured .pp-plan-amount { color:var(--amber); }
.pp-plan-period { font-size:12px; color:var(--muted); display:block; }
.pp-plan-features { list-style:none; margin-bottom:24px; }
.pp-plan-features li { padding:7px 0; border-bottom:1px solid var(--border); font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px; }
.pp-plan-features li:last-child { border-bottom:none; }
.pp-feat-off { opacity:.4; }
.pp-plans-note { text-align:center; font-size:12px; color:var(--muted); margin-top:20px; }

/* POTW */
.pp-potw-wrap { background:var(--card); border:1px solid rgba(245,160,32,.3); border-radius:8px; overflow:hidden; display:grid; grid-template-columns:1fr; }
@media(min-width:768px){ .pp-potw-wrap { grid-template-columns:1fr 1fr; } }
.pp-potw-img { position:relative; overflow:hidden; display:block; background:transparent; min-height:380px; max-height:560px; }
/* blur backdrop removed — photo shows at natural size */
.pp-potw-photo{position:relative;z-index:1;width:100%;height:100%;max-height:560px;object-fit:contain;display:block}
.pp-potw-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(8,7,5,.3),transparent); }
.pp-potw-body { padding:32px; display:flex; flex-direction:column; justify-content:center; }
.pp-potw-badge { display:inline-block; background:var(--amber); color:#000; font-size:10px; font-weight:700; letter-spacing:2px; padding:3px 10px; border-radius:2px; margin-bottom:14px; }
.pp-potw-body h3 { font-family:var(--font-display); font-size:32px; color:var(--cream); margin-bottom:8px; }
.pp-potw-body h3 a { color:inherit; }
.pp-potw-by { font-size:14px; color:var(--muted); margin-bottom:8px; }
.pp-potw-by a { color:var(--amber); }
.pp-potw-votes { font-size:13px; color:var(--muted); }

/* SINGLE PHOTO */
.pp-single-photo-wrap { padding-top:64px; }
.pp-single-hero { height:60vh; min-height:300px; background-size:cover; background-position:center; position:relative; }
.pp-single-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,var(--black) 0%,transparent 60%); }
.pp-single-grid { display:grid; grid-template-columns:1fr; gap:32px; align-items:start; padding:40px 0; }
@media(min-width:960px){ .pp-single-grid { grid-template-columns:1fr 360px; } }
.pp-single-img { width:100%; border-radius:6px; display:block; }
.pp-single-title { font-family:var(--font-display); font-size:clamp(32px,5vw,52px); line-height:.95; color:var(--cream); margin-bottom:12px; }
.pp-single-author-row { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.pp-single-author-row img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.pp-single-author-name { font-weight:600; color:var(--cream); display:block; }
.pp-single-date { font-size:12px; color:var(--muted); }
.pp-single-desc { font-size:14px; color:var(--muted); line-height:1.7; padding:16px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:16px 0; }
.pp-vote-main { background:transparent; border:1px solid var(--border); color:var(--muted); border-radius:100px; padding:12px 20px; font-size:14px; font-weight:600; cursor:pointer; transition:all .2s; width:100%; font-family:var(--font-body); }
.pp-vote-main:hover, .pp-vote-main.voted { border-color:rgba(232,52,28,.5); color:#f87171; background:rgba(232,52,28,.08); }
.pp-exif-block { margin:20px 0; background:var(--card); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.pp-exif-title { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--amber); padding:12px 16px; border-bottom:1px solid var(--border); }
.pp-exif-row { display:flex; justify-content:space-between; align-items:center; padding:9px 16px; border-bottom:1px solid var(--border); font-size:12px; }
.pp-exif-row:last-child { border-bottom:none; }
.pp-exif-row span:first-child { color:var(--muted); }
.pp-exif-row span:last-child { color:var(--cream); font-weight:500; }
.pp-single-stats { display:flex; gap:20px; margin-top:16px; }
.pp-single-stats div { text-align:center; }
.pp-single-stats strong { display:block; font-family:var(--font-display); font-size:24px; color:var(--amber); }
.pp-single-stats span { font-size:11px; color:var(--muted); }
.pp-related { margin-top:60px; padding-top:40px; border-top:1px solid var(--border); }
.pp-related h3 { font-family:var(--font-display); font-size:36px; color:var(--cream); margin-bottom:24px; }

/* AUTHOR PROFILE */
.pp-profile-hero { background:var(--deep); border-bottom:1px solid var(--border); padding:48px 0 0; }
.pp-profile-header { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; padding-bottom:24px; }
@media(min-width:900px){ .pp-profile-header { grid-template-columns:auto 1fr auto; gap:36px; } }
.pp-profile-avatar-wrap { position:relative; }
.pp-profile-avatar { width:90px; height:90px; border-radius:50%; object-fit:cover; border:3px solid var(--border); display:block; }
@media(min-width:640px){ .pp-profile-avatar { width:110px; height:110px; } }
.pp-verified-badge { position:absolute; bottom:0; right:0; width:24px; height:24px; background:var(--ai-accent); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; border:2px solid var(--black); }
.pp-profile-name-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
.pp-profile-name-row h1 { font-family:var(--font-display); font-size:clamp(28px,5vw,52px); line-height:1; color:var(--cream); }
.pp-plan-badge { font-size:10px; font-weight:700; letter-spacing:2px; padding:3px 9px; border-radius:2px; }
.pp-profile-spec { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--amber); margin-bottom:8px; }
.pp-profile-loc, .pp-profile-gear { font-size:13px; color:var(--muted); margin-bottom:6px; }
.pp-profile-bio { font-size:14px; color:var(--muted); max-width:480px; line-height:1.7; margin-bottom:12px; }
.pp-profile-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.pp-profile-link { font-size:12px; color:var(--muted); border:1px solid var(--border); padding:5px 12px; border-radius:100px; transition:all .2s; }
.pp-profile-link:hover { border-color:var(--amber); color:var(--amber); }
.pp-profile-stats-box { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
@media(min-width:900px){ .pp-profile-stats-box { grid-template-columns:1fr; min-width:180px; } }
.pp-ps { background:var(--card); padding:14px 18px; text-align:center; }
.pp-ps strong { display:block; font-family:var(--font-display); font-size:22px; color:var(--amber); line-height:1; }
.pp-ps span { font-size:10px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; margin-top:2px; display:block; }

/* UPLOAD PAGE */
.pp-upload-usage { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:16px 20px; margin-top:24px; margin-bottom:8px; }
.pp-uu-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; flex-wrap:wrap; gap:8px; font-size:13px; color:var(--muted); }
.pp-progress { height:3px; background:var(--border); border-radius:2px; }
.pp-progress-fill { height:100%; border-radius:2px; transition:width 1s; }
.pp-limit-alert { margin-top:12px; padding:10px 14px; background:rgba(232,52,28,.1); border:1px solid rgba(232,52,28,.3); border-radius:4px; font-size:13px; color:#fca5a5; }
.pp-limit-alert a { color:var(--amber); font-weight:600; }
.pp-alert { padding:14px 18px; border-radius:6px; font-size:14px; margin-top:20px; }
.pp-alert-success { background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.3); color:#86efac; }
.pp-alert-error { background:rgba(232,52,28,.1); border:1px solid rgba(232,52,28,.3); color:#fca5a5; }
.pp-dropzone { border:2px dashed var(--border); border-radius:8px; padding:48px 24px; text-align:center; position:relative; background:var(--card); transition:all .3s; margin:28px 0; cursor:pointer; }
.pp-dropzone.dragging, .pp-dropzone:hover { border-color:var(--amber); background:rgba(245,160,32,.04); }
.pp-drop-title { font-family:var(--font-display); font-size:24px; color:var(--cream); margin-bottom:6px; }
.pp-drop-sub { font-size:13px; color:var(--muted); }
.pp-form-grid { display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:640px){ .pp-form-grid { grid-template-columns:1fr 1fr; } }
.pp-form-full { grid-column:1/-1; }
.pp-field { display:flex; flex-direction:column; gap:6px; }
.pp-field-label { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.pp-input { width:100%; background:var(--card); border:1px solid var(--border); border-radius:4px; padding:11px 14px; font-size:14px; color:var(--cream); transition:border-color .2s; font-family:var(--font-body); }
.pp-input:focus { outline:none; border-color:var(--amber); }
.pp-input::placeholder { color:var(--faint); }
textarea.pp-input { resize:vertical; }
select.pp-input { cursor:pointer; }
.pp-exif-manual { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:20px; margin-top:20px; }
.pp-exif-manual h4 { font-size:13px; color:var(--cream); margin-bottom:16px; }
.pp-exif-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(min-width:640px){ .pp-exif-grid { grid-template-columns:repeat(3,1fr); } }
.pp-ai-disclosure, .pp-terms-check { margin-top:16px; padding:14px; background:rgba(245,160,32,.04); border:1px solid rgba(245,160,32,.12); border-radius:4px; font-size:13px; color:var(--muted); }
.pp-ai-disclosure label, .pp-terms-check label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; line-height:1.5; }
.pp-ai-disclosure input, .pp-terms-check input { margin-top:2px; accent-color:var(--amber); }
.pp-terms-check a { color:var(--amber); }

/* AUTH */
.pp-auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--black); padding:80px 20px; }
.pp-auth-box { width:100%; max-width:440px; background:var(--card); border:1px solid var(--border); border-radius:12px; padding:40px 36px; }
@media(max-width:480px){ .pp-auth-box { padding:28px 20px; } }
.pp-auth-logo { font-family:var(--font-display); font-size:22px; letter-spacing:3px; color:var(--cream); display:block; text-align:center; margin-bottom:28px; }
.pp-auth-logo em { color:var(--amber); font-style:normal; }
.pp-auth-title { font-family:var(--font-display); font-size:32px; color:var(--cream); text-align:center; margin-bottom:6px; }
.pp-auth-sub { font-size:14px; color:var(--muted); text-align:center; margin-bottom:28px; }
.pp-auth-form { display:flex; flex-direction:column; gap:16px; }
.pp-auth-alert { padding:12px 16px; border-radius:6px; font-size:13px; margin-bottom:16px; }
.pp-auth-err { background:rgba(232,52,28,.1); border:1px solid rgba(232,52,28,.3); color:#fca5a5; }
.pp-auth-ok { background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.3); color:#86efac; }
.pp-auth-row { display:flex; justify-content:space-between; align-items:center; }
.pp-auth-link, .pp-auth-footer a { color:var(--amber); font-size:13px; }
.pp-auth-footer { text-align:center; font-size:13px; color:var(--muted); margin-top:20px; }
.pp-check-label { display:flex; align-items:flex-start; gap:8px; font-size:13px; color:var(--muted); cursor:pointer; line-height:1.5; }
.pp-check-label input { accent-color:var(--amber); margin-top:2px; }
.pp-auth-plans-note { text-align:center; font-size:11px; color:var(--muted); margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }

/* DASHBOARD */
.pp-dashboard { display:grid; grid-template-columns:260px 1fr; min-height:100vh; padding-top:var(--pp-nav-h); }
@media(max-width:900px){ .pp-dashboard { grid-template-columns:1fr; } }
.pp-dash-sidebar { background:var(--deep); border-right:1px solid var(--border); padding:28px 20px; position:sticky; top:var(--pp-nav-h); height:calc(100vh - var(--pp-nav-h)); overflow-y:auto; }
@media(max-width:900px){ .pp-dash-sidebar { position:static; height:auto; border-right:none; border-bottom:1px solid var(--border); } }
.pp-dash-avatar { width:72px; height:72px; border-radius:50%; object-fit:cover; border:2px solid var(--border); margin:0 auto 10px; display:block; }
.pp-dash-name { font-weight:600; color:var(--cream); font-size:15px; text-align:center; margin-bottom:6px; }
.pp-dash-plan-badge { display:block; text-align:center; font-size:10px; font-weight:700; letter-spacing:2px; padding:2px 8px; border-radius:2px; background:var(--amber); color:#000; width:fit-content; margin:0 auto 16px; }
.pp-dash-ub-row { display:flex; justify-content:space-between; font-size:12px; color:var(--muted); margin-bottom:6px; }
.pp-dash-upload-bar { margin-bottom:20px; }
.pp-dash-nav { display:flex; flex-direction:column; gap:4px; margin-top:8px; }
@media(max-width:900px){ .pp-dash-nav { flex-direction:row; flex-wrap:wrap; } }
.pp-dash-nav-item { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:6px; font-size:13px; color:var(--muted); transition:all .2s; text-decoration:none; }
.pp-dash-nav-item:hover, .pp-dash-nav-item.active { background:rgba(245,160,32,.08); color:var(--amber); }
.pp-dash-main { padding:32px 28px; }
@media(max-width:640px){ .pp-dash-main { padding:20px 16px; } }
.pp-dash-section h2 { font-family:var(--font-display); font-size:36px; color:var(--cream); margin-bottom:24px; }
.pp-dash-empty { text-align:center; padding:60px 20px; border:1px dashed var(--border); border-radius:8px; }
.pp-dash-empty span { font-size:40px; display:block; margin-bottom:14px; opacity:.3; }
.pp-dash-empty p { color:var(--muted); margin-bottom:20px; }
.pp-settings-avatar-wrap { display:flex; align-items:center; gap:20px; margin-bottom:28px; }
.pp-settings-avatar { width:80px; height:80px; border-radius:50%; object-fit:cover; }
.pp-danger-zone { margin-top:48px; padding:24px; border:1px solid rgba(232,52,28,.3); border-radius:8px; }
.pp-danger-zone h3 { font-size:16px; color:#f87171; margin-bottom:8px; }
.pp-danger-zone p { font-size:13px; color:var(--muted); margin-bottom:16px; }
.pp-btn-danger { background:transparent; border:1px solid rgba(232,52,28,.4); color:#f87171; padding:10px 20px; border-radius:4px; cursor:pointer; font-family:var(--font-body); }
.pp-btn-danger:hover { background:rgba(232,52,28,.1); }
.pp-delete-confirm { margin-top:16px; padding-top:16px; border-top:1px solid rgba(232,52,28,.2); }
.pp-notifications-list { display:flex; flex-direction:column; gap:8px; }
.pp-notif-item { display:flex; align-items:flex-start; gap:12px; padding:14px; background:var(--card); border:1px solid var(--border); border-radius:6px; }
.pp-notif-unread { border-color:rgba(245,160,32,.3); background:rgba(245,160,32,.04); }
.pp-notif-icon { font-size:18px; flex-shrink:0; }
.pp-notif-msg { font-size:13px; color:var(--cream); margin-bottom:4px; }
.pp-notif-time { font-size:11px; color:var(--muted); }
.pp-notif-link { margin-left:auto; font-size:12px; color:var(--amber); flex-shrink:0; }

/* ONBOARDING */
.pp-ob-progress-wrap { margin-bottom:40px; }
.pp-ob-dots { display:flex; justify-content:space-between; margin-bottom:10px; }
.pp-ob-dot { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; border:1px solid var(--border); color:var(--muted); transition:all .3s; }
.pp-ob-dot.active { background:var(--amber); color:#000; border-color:var(--amber); }
.pp-ob-bar { height:2px; background:var(--border); border-radius:2px; }
.pp-ob-bar-fill { height:100%; background:var(--amber); border-radius:2px; transition:width .5s; }
.pp-ob-title { font-family:var(--font-display); font-size:clamp(40px,8vw,72px); line-height:.9; color:var(--cream); margin-bottom:14px; }
.pp-ob-sub { font-size:15px; color:var(--muted); line-height:1.7; margin-bottom:28px; }
.pp-ob-level-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:28px; }
.pp-ob-level { border:1px solid var(--border); border-radius:6px; padding:20px 14px; text-align:center; cursor:pointer; transition:all .2s; }
.pp-ob-level:hover, .pp-ob-level.selected { border-color:var(--amber); background:rgba(245,160,32,.06); }
.pp-ob-level strong { display:block; font-family:var(--font-display); font-size:18px; color:var(--cream); margin-bottom:4px; }
.pp-ob-level div { font-size:11px; color:var(--muted); }
.pp-ob-interests { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.pp-ob-interest { display:block; padding:7px 16px; border:1px solid var(--border); border-radius:100px; font-size:12px; color:var(--muted); cursor:pointer; transition:all .2s; }
.pp-ob-interest.active { border-color:var(--amber); background:rgba(245,160,32,.1); color:var(--amber); }
.pp-ob-plan-card { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:20px; margin-bottom:24px; }

/* SEARCH */
.pp-search-bar { display:flex; background:var(--card); border:1px solid var(--border); border-radius:4px; overflow:hidden; margin-bottom:14px; }
.pp-search-input { flex:1; background:transparent; border:none; padding:13px 16px; font-size:15px; color:var(--cream); font-family:var(--font-body); min-width:0; }
.pp-search-input:focus { outline:none; }
.pp-search-input::placeholder { color:var(--faint); }
.pp-search-btn { background:var(--amber); border:none; padding:0 22px; font-weight:700; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#000; cursor:pointer; font-family:var(--font-body); }
.pp-filter-row { display:flex; gap:8px; flex-wrap:wrap; }
.pp-filter-sel { background:var(--card); border:1px solid var(--border); border-radius:4px; padding:8px 12px; font-size:12px; color:var(--cream); cursor:pointer; font-family:var(--font-body); }
.pp-filter-sel:focus { outline:none; border-color:var(--amber); }

/* EMPTY STATE */
.pp-empty-full { text-align:center; padding:80px 20px; border:1px dashed var(--border); border-radius:8px; column-span:all; }
.pp-empty-icon { font-size:48px; opacity:.2; display:block; margin-bottom:16px; }
.pp-empty-full h3 { font-family:var(--font-display); font-size:32px; color:var(--cream); margin-bottom:8px; }
.pp-empty-full p { font-size:14px; color:var(--muted); margin-bottom:20px; }

/* FOOTER */
.pp-footer { background:var(--deep); border-top:1px solid var(--border); padding:52px 0 24px; }
.pp-footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:36px; }
@media(min-width:768px){ .pp-footer-grid { grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; } }
.pp-footer-logo { font-family:var(--font-display); font-size:28px; color:var(--cream); margin-bottom:4px; }
.pp-footer-logo em { color:var(--amber); font-style:normal; }
.pp-footer-tagline { font-size:13px; color:#b4aea2; margin-bottom:18px; line-height:1.6; }
.pp-social-row { display:flex; gap:9px; flex-wrap:wrap; }
.pp-social-link { width:32px; height:32px; border:1px solid var(--border); border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--muted); text-decoration:none; transition:all .2s; }
.pp-social-link:hover { border-color:var(--amber); color:var(--amber); }
.pp-footer-col h4 { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--amber); margin-bottom:14px; }
.pp-footer-col ul { list-style:none; }
.pp-footer-col ul li { margin-bottom:9px; }
.pp-footer-col ul li a { font-size:13px; color:#c2bcae; transition:color .2s; }
.pp-footer-col ul li a:hover { color:var(--amber); }
.pp-footer-bottom { border-top:1px solid var(--border); padding-top:18px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; color:#9b958a; }
.pp-footer-legal { display:flex; gap:18px; }
.pp-footer-legal a { font-size:12px; color:#c2bcae; }
.pp-footer-legal a:hover { color:var(--amber); }

/* TOAST */
.pp-toast { position:fixed; bottom:20px; right:16px; background:var(--deep); border:1px solid var(--amber); border-radius:6px; padding:14px 18px; display:flex; align-items:flex-start; gap:12px; z-index:9999; transform:translateY(120px); opacity:0; transition:all .4s cubic-bezier(.34,1.56,.64,1); max-width:300px; box-shadow:0 8px 32px rgba(0,0,0,.6); }
@media(min-width:640px){ .pp-toast { right:24px; } }
.pp-toast.show { transform:translateY(0); opacity:1; }
.pp-toast-icon { font-size:16px; flex-shrink:0; color:var(--amber); }
.pp-toast-title { font-weight:700; font-size:13px; color:var(--cream); }
.pp-toast-msg { font-size:12px; color:var(--muted); margin-top:2px; }
.pp-toast-close { background:none; border:none; color:var(--muted); font-size:16px; cursor:pointer; flex-shrink:0; padding:0; line-height:1; }

/* LIGHTBOX */
.pp-lightbox { position:fixed; inset:0; z-index:9000; display:none; align-items:center; justify-content:center; padding:16px; }
.pp-lightbox.open { display:flex; }
.pp-lb-bg { position:absolute; inset:0; background:rgba(8,7,5,.96); backdrop-filter:blur(16px); }
.pp-lb-wrap { position:relative; z-index:1; width:100%; max-width:1000px; background:var(--deep); border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.pp-lb-close { position:absolute; top:12px; right:12px; background:rgba(255,255,255,.08); border:none; color:var(--cream); width:32px; height:32px; border-radius:50%; font-size:16px; cursor:pointer; z-index:2; transition:background .2s; }
.pp-lb-close:hover { background:rgba(255,255,255,.15); }
.pp-lb-prev, .pp-lb-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.08); border:none; color:var(--cream); width:36px; height:36px; border-radius:50%; font-size:20px; cursor:pointer; z-index:2; transition:background .2s; }
.pp-lb-prev { left:10px; } .pp-lb-next { right:10px; }
.pp-lb-prev:hover, .pp-lb-next:hover { background:rgba(255,255,255,.15); }
.pp-lb-content { display:grid; grid-template-columns:1fr; }
@media(min-width:768px){ .pp-lb-content { grid-template-columns:1fr 300px; } }
.pp-lb-img-wrap { position:relative; background:#000; min-height:300px; display:flex; align-items:center; justify-content:center; }
#pp-lb-img { max-width:100%; max-height:80vh; object-fit:contain; display:block; }
.pp-lb-loader { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.pp-spinner { width:32px; height:32px; border:3px solid var(--border); border-top-color:var(--amber); border-radius:50%; animation:pp-spin 1s linear infinite; }
.pp-lb-info { padding:24px; display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid var(--border); }
.pp-lb-title { font-family:var(--font-display); font-size:24px; color:var(--cream); margin-bottom:4px; }
#pp-lb-author { font-size:13px; color:var(--amber); margin-bottom:12px; display:block; }
.pp-lb-exif { margin-bottom:16px; }
.pp-lb-exif div { display:flex; justify-content:space-between; padding:5px 0; border-bottom:1px solid var(--border); font-size:11px; }
.pp-lb-exif div:last-child { border-bottom:none; }
.pp-lb-exif span:first-child { color:var(--muted); }
.pp-lb-exif span:last-child { color:var(--cream); }
.pp-lb-actions { display:flex; gap:8px; flex-wrap:wrap; }
.pp-lb-vote { background:transparent; border:1px solid var(--border); color:var(--muted); border-radius:4px; padding:8px 16px; font-size:13px; cursor:pointer; transition:all .2s; font-family:var(--font-body); }
.pp-lb-vote:hover, .pp-lb-vote.voted { border-color:rgba(232,52,28,.5); color:#f87171; }

/* FADE IN */
.pp-fade { opacity:0; transform:translateY(20px); transition:opacity .6s ease,transform .6s ease; }
.pp-fade.visible { opacity:1; transform:translateY(0); }

/* ELEMENTOR COMPAT */
.elementor-section>.elementor-container { max-width:100%; }
.elementor-widget-wrap .pp-btn { cursor:pointer!important; }

/* ANIMATIONS */
@keyframes pp-ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes pp-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes pp-spin { to{transform:rotate(360deg)} }
@keyframes pp-fadeup { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* RESPONSIVE */
@media(max-width:640px){
  .pp-hero-title{font-size:clamp(60px,18vw,100px);}
  .pp-plans-grid{grid-template-columns:1fr;}
  .pp-expo-grid{grid-template-columns:1fr;}
  .pp-steps{grid-template-columns:1fr;}
  .pp-potw-wrap{grid-template-columns:1fr;}
  .pp-footer-grid{grid-template-columns:1fr;}
  .pp-ob-level-grid{grid-template-columns:1fr;}
  .pp-profile-header{grid-template-columns:1fr;}
  .pp-ai-split{grid-template-columns:1fr;}
  .pp-single-grid{grid-template-columns:1fr;}
  .pp-lb-content{grid-template-columns:1fr;}
  .pp-lb-info{border-left:none;border-top:1px solid var(--border);}
  .pp-section-header-flex{flex-direction:column;align-items:flex-start;}
  .pp-grid{columns:1;}
}
@media(max-width:480px){
  .pp-exif-grid{grid-template-columns:1fr 1fr;}
  .pp-ob-level-grid{grid-template-columns:1fr;}
}
.pp-expo-brief{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:22px;margin-bottom:24px;display:grid;gap:14px}
.pp-expo-brief div{display:grid;gap:4px}
.pp-expo-brief span{color:var(--muted);font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
.pp-expo-brief strong{color:var(--cream);font-family:var(--font-display);font-size:24px;letter-spacing:.5px}
.pp-expo-brief p{color:var(--muted);line-height:1.7;margin:4px 0 0}
.pp-expo-section{padding-bottom:64px}
.pp-expo-entry-note{background:rgba(245,160,32,.08);border:1px solid rgba(245,160,32,.22);border-radius:8px;color:var(--muted);margin-top:16px;padding:14px}
.pp-expo-entry-note a{color:var(--amber);font-weight:700}
.pp-entry-list{display:grid;gap:12px}
.pp-entry-row{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:8px;display:grid;gap:16px;grid-template-columns:72px 1fr auto;padding:12px}
.pp-entry-thumb{background:var(--deep);border-radius:6px;display:block;height:72px;overflow:hidden;width:72px}
.pp-entry-thumb img{height:100%;object-fit:cover;width:100%}
.pp-entry-row h3{font-size:18px;margin:0 0 4px}
.pp-entry-row h3 a{color:var(--cream);text-decoration:none}
.pp-entry-row p{color:var(--muted);margin:0 0 8px}
.pp-entry-row p a{color:var(--amber)}
.pp-entry-row strong{color:var(--cream);white-space:nowrap}
@media(max-width:700px){.pp-entry-row{grid-template-columns:64px 1fr}.pp-entry-row strong{grid-column:2}}

/* PLANS - 3 COLUMNS ONLY */
.pp-plans-grid{display:grid!important;grid-template-columns:1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:48px;max-width:980px;margin-left:auto;margin-right:auto}
@media(min-width:580px){.pp-plans-grid{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.pp-plans-grid{grid-template-columns:repeat(3,1fr)!important}}

/* LIGHTBOX - full image no zoom */
.pp-lb-img-wrap{background:#000;display:flex;align-items:center;justify-content:center;min-height:300px;overflow:hidden}
#pp-lb-img{max-width:100%!important;max-height:82vh!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block}

/* JOIN WALL - logged out blur effect */
.pp-join-wall{position:relative;margin-top:40px}
.pp-join-wall-blur{position:absolute;inset:0;background:linear-gradient(to top,var(--black) 0%,rgba(8,7,5,.6) 60%,transparent 100%);z-index:1;pointer-events:none}
.pp-join-wall-content{position:relative;z-index:2;text-align:center;padding:48px 24px 32px;background:var(--card);border:1px solid var(--border);border-radius:8px;margin-top:-60px}
.pp-join-wall-content h3{font-family:var(--font-display);font-size:clamp(24px,4vw,40px);color:var(--cream);margin-bottom:12px;line-height:1.1}
.pp-join-wall-content p{font-size:14px;color:var(--muted);max-width:500px;margin:0 auto;line-height:1.7}

/* SINGLE PHOTO - full image */
.pp-single-img-container{background:#000;border-radius:8px;overflow:hidden;line-height:0}
.pp-single-img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important}

/* ====================================================
   DASHBOARD LAYOUT STABILITY PATCH
   Scoped to the dashboard page so gallery/home layouts keep their rhythm.
   ==================================================== */
body.page-template-page-dashboard {
  --pp-admin-offset:0px;
}
body.admin-bar {
  --pp-admin-offset:32px;
}
body.admin-bar.page-template-page-dashboard {
  --pp-admin-offset:32px;
}
@media(max-width:782px){
  body.admin-bar {
    --pp-admin-offset:46px;
  }
  body.admin-bar.page-template-page-dashboard {
    --pp-admin-offset:46px;
  }
}
body.admin-bar #pp-nav {
  top:var(--pp-admin-offset,32px);
}
body.page-template-page-dashboard #pp-main {
  padding-top:0;
  overflow-x:hidden;
}
body.page-template-page-dashboard .pp-dashboard {
  display:grid;
  grid-template-columns:minmax(220px,260px) minmax(0,1fr);
  align-items:start;
  width:100%;
  max-width:100%;
  min-height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset));
  padding-top:calc(var(--pp-nav-h) + var(--pp-admin-offset));
  overflow:hidden;
  background:radial-gradient(circle at 14% 18%,rgba(245,160,32,.07),transparent 28%),var(--black);
}
body.page-template-page-dashboard .pp-dash-sidebar {
  grid-column:1;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  align-self:start;
  position:sticky;
  top:calc(var(--pp-nav-h) + var(--pp-admin-offset));
  height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset));
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow-x:hidden;
  overflow-y:auto;
  background:rgba(11,11,8,.96);
  backdrop-filter:blur(14px);
}
body.page-template-page-dashboard .pp-dash-avatar,
body.page-template-page-dashboard .pp-dash-name,
body.page-template-page-dashboard .pp-dash-plan-badge,
body.page-template-page-dashboard .pp-dash-upload-bar,
body.page-template-page-dashboard .pp-dash-nav {
  flex:0 0 auto;
}
body.page-template-page-dashboard .pp-dash-upload-bar {
  width:100%;
  padding:14px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--border);
  border-radius:8px;
}
body.page-template-page-dashboard .pp-dash-ub-row {
  gap:12px;
}
body.page-template-page-dashboard .pp-dash-nav {
  width:100%;
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.page-template-page-dashboard .pp-dash-nav-item {
  width:100%;
  min-width:0;
  min-height:40px;
  box-sizing:border-box;
  justify-content:flex-start;
  white-space:normal;
  line-height:1.25;
}
body.page-template-page-dashboard .pp-dash-nav .pp-btn {
  width:100%;
  min-height:42px;
  padding-left:14px;
  padding-right:14px;
}
body.page-template-page-dashboard .pp-dash-main {
  grid-column:2;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:32px clamp(18px,3vw,42px) 56px;
  overflow:hidden;
}
body.page-template-page-dashboard .pp-dash-section {
  width:100%;
  max-width:100%;
  min-width:0;
}
body.page-template-page-dashboard .pp-dash-section h2 {
  font-size:clamp(30px,4vw,42px);
  letter-spacing:0;
}
body.page-template-page-dashboard .pp-dash-main .pp-grid {
  columns:auto;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));
  gap:16px;
  width:100%;
  max-width:100%;
  overflow:visible;
}
body.page-template-page-dashboard .pp-dash-main .pp-card {
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  break-inside:auto;
}
body.page-template-page-dashboard .pp-dash-main .pp-card-thumb,
body.page-template-page-dashboard .pp-dash-main .pp-card-thumb img {
  width:100%;
  max-width:100%;
}
body.page-template-page-dashboard .pp-dash-main .pp-card-thumb img {
  max-height:360px;
  object-fit:cover;
}
body.page-template-page-dashboard .pp-entry-list,
body.page-template-page-dashboard .pp-notifications-list,
body.page-template-page-dashboard .pp-auth-form,
body.page-template-page-dashboard .pp-danger-zone {
  width:100%;
  max-width:820px;
}
body.page-template-page-dashboard .pp-auth-form .pp-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
body.page-template-page-dashboard .pp-auth-form .pp-form-full {
  grid-column:1 / -1;
}
body.page-template-page-dashboard .pp-settings-avatar-wrap {
  display:flex;
  align-items:center;
  gap:18px;
  padding-bottom:22px;
  border-bottom:1px solid var(--border);
}
body.page-template-page-dashboard .pp-mobile-menu {
  max-height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset));
  overflow-y:auto;
}
@media(max-width:900px){
  body.page-template-page-dashboard .pp-dashboard {
    display:block;
    min-height:auto;
    overflow:visible;
  }
  body.page-template-page-dashboard .pp-dash-sidebar {
    position:relative;
    top:auto;
    height:auto;
    display:block;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  body.page-template-page-dashboard .pp-dash-nav {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
    gap:8px;
  }
  body.page-template-page-dashboard .pp-dash-main {
    padding:26px 18px 46px;
  }
  body.page-template-page-dashboard .pp-dash-main .pp-grid {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));
    gap:12px;
  }
}
@media(max-width:560px){
  body.page-template-page-dashboard .pp-dash-sidebar {
    padding:22px 16px;
  }
  body.page-template-page-dashboard .pp-dash-nav {
    grid-template-columns:1fr 1fr;
  }
  body.page-template-page-dashboard .pp-dash-nav .pp-btn {
    grid-column:1 / -1;
  }
  body.page-template-page-dashboard .pp-dash-main .pp-grid {
    grid-template-columns:1fr;
  }
  body.page-template-page-dashboard .pp-auth-form .pp-form-grid {
    grid-template-columns:1fr;
  }
  body.page-template-page-dashboard .pp-entry-row {
    grid-template-columns:64px minmax(0,1fr);
  }
  body.page-template-page-dashboard .pp-entry-row strong {
    grid-column:2;
  }
}

/* Dashboard fallback when WordPress outputs the template body class differently. */
.pp-dashboard {
  grid-template-columns:minmax(220px,260px) minmax(0,1fr);
  align-items:start;
  width:100%;
  max-width:100%;
  padding-top:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px));
  overflow:hidden;
}
.pp-dash-sidebar {
  min-width:0;
  box-sizing:border-box;
  top:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px));
  height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset,0px));
  overflow-x:hidden;
}
.pp-dash-main {
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.pp-dash-main .pp-grid {
  columns:auto;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));
  gap:16px;
  max-width:100%;
}
.pp-dash-main .pp-card {
  width:100%;
  max-width:100%;
  margin:0;
  break-inside:auto;
}
@media(max-width:900px){
  .pp-dashboard {
    display:block;
  }
  .pp-dash-sidebar {
    position:relative;
    top:auto;
    height:auto;
  }
  .pp-dash-main .pp-grid {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));
    gap:12px;
  }
}

/* Header dropdown menus */
.pp-nav-has-dropdown {
  position:relative;
}
.pp-nav-trigger {
  display:inline-flex!important;
  align-items:center;
  gap:6px;
}
.pp-nav-trigger::after {
  content:'';
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  opacity:.8;
}
.pp-nav-dropdown {
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  display:grid;
  gap:2px;
  min-width:248px;
  padding:10px;
  list-style:none;                 /* kill the circle bullets */
  margin:0;
  border:1px solid rgba(245,160,32,.28);
  border-top:3px solid var(--amber);  /* signature flame-orange top accent */
  border-radius:14px;
  /* FULLY OPAQUE surface — nothing bleeds through, guaranteed */
  background:#16140e;                  /* solid, no alpha */
  background-image:linear-gradient(180deg,#1c1a13 0%,#100e09 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.4),0 3px 0 rgba(245,160,32,.2);
  /* blur only enhances the shadow halo; opacity does NOT depend on it */
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  z-index:5000;
}
.pp-nav-dropdown li{list-style:none;margin:0;padding:0}
.pp-nav-dropdown li::marker{content:none}
.pp-nav-has-dropdown:hover .pp-nav-dropdown,
.pp-nav-has-dropdown:focus-within .pp-nav-dropdown {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.pp-nav-dropdown::before {
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:-14px;
  height:14px;
}
.pp-nav-dropdown a {
  display:grid!important;
  gap:2px;
  padding:11px 14px!important;
  border-radius:9px!important;
  color:#f0ede6!important;          /* clean cream/white */
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:14px!important;
  font-weight:600!important;
  position:relative;
  transition:background .18s ease,color .18s ease,padding-left .18s ease!important;
}
.pp-nav-dropdown a:hover {
  background:rgba(245,160,32,.14)!important; /* flame-orange wash */
  color:#fff!important;
  padding-left:18px!important;        /* subtle slide on hover */
}
/* flame-orange accent bar slides in on hover */
.pp-nav-dropdown a::before{
  content:'';position:absolute;left:6px;top:50%;transform:translateY(-50%) scaleY(0);
  width:3px;height:60%;background:var(--amber);border-radius:3px;
  transition:transform .18s ease;
}
.pp-nav-dropdown a:hover::before{transform:translateY(-50%) scaleY(1)}
.pp-nav-dropdown strong {
  font-weight:700;
  color:#fff!important;
}
.pp-nav-dropdown a:hover strong{color:var(--amber)!important} /* title turns amber on hover */
.pp-nav-dropdown span {
  color:#a8a296;                     /* muted but readable, not faint */
  font-size:11.5px;
  line-height:1.4;
  font-weight:400;
}
.pp-submit-dropdown {
  left:auto;
  right:0;
  transform:translateY(8px);
  min-width:270px;
}
.pp-submit-menu:hover .pp-submit-dropdown,
.pp-submit-menu:focus-within .pp-submit-dropdown {
  transform:translateY(0);
}
@media(max-width:1100px){
  .pp-nav-list a {
    padding-left:7px;
    padding-right:7px;
  }
}

/* ====================================================
   DASHBOARD UI REFINEMENT - contained app layout
   Removes the oversized left rail and keeps content aligned.
   ==================================================== */
#pp-nav {
  z-index:10000;
}
body.admin-bar #pp-nav {
  top:var(--pp-admin-offset,32px);
}
body.page-template-page-dashboard #pp-main {
  background:radial-gradient(circle at 9% 20%,rgba(245,160,32,.08),transparent 26%),var(--black);
}
body.page-template-page-dashboard .pp-dashboard,
.pp-dashboard {
  display:grid!important;
  grid-template-columns:240px minmax(0,1fr)!important;
  gap:clamp(26px,4vw,48px)!important;
  width:100%!important;
  max-width:1180px!important;
  min-height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset,0px))!important;
  margin:0 auto!important;
  padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 34px) clamp(18px,4vw,48px) 72px!important;
  overflow:visible!important;
  background:transparent!important;
}
body.page-template-page-dashboard .pp-dash-sidebar,
.pp-dash-sidebar {
  grid-column:auto!important;
  position:sticky!important;
  top:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 24px)!important;
  width:100%!important;
  height:auto!important;
  max-height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset,0px) - 48px)!important;
  padding:18px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-right:1px solid rgba(255,255,255,.09)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(20,18,12,.92),rgba(11,11,8,.86))!important;
  box-shadow:0 20px 60px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(14px)!important;
}
body.page-template-page-dashboard .pp-dash-avatar,
.pp-dash-avatar {
  width:58px!important;
  height:58px!important;
  margin:0 auto 10px!important;
}
body.page-template-page-dashboard .pp-dash-name,
.pp-dash-name {
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.page-template-page-dashboard .pp-dash-plan-badge,
.pp-dash-plan-badge {
  margin-bottom:14px!important;
}
body.page-template-page-dashboard .pp-dash-upload-bar,
.pp-dash-upload-bar {
  margin:0 0 16px!important;
  padding:12px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.035)!important;
}
body.page-template-page-dashboard .pp-dash-nav,
.pp-dash-nav {
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin-top:0!important;
}
body.page-template-page-dashboard .pp-dash-nav-item,
.pp-dash-nav-item {
  min-height:42px!important;
  width:100%!important;
  padding:10px 12px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:rgba(244,239,226,.72)!important;
  line-height:1.25!important;
}
body.page-template-page-dashboard .pp-dash-nav-item:hover,
body.page-template-page-dashboard .pp-dash-nav-item.active,
.pp-dash-nav-item:hover,
.pp-dash-nav-item.active {
  border-color:rgba(245,160,32,.18)!important;
  background:rgba(245,160,32,.11)!important;
  color:var(--amber)!important;
}
body.page-template-page-dashboard .pp-dash-nav .pp-btn,
.pp-dash-nav .pp-btn {
  width:100%!important;
  min-height:44px!important;
  margin-top:12px!important;
  padding:11px 14px!important;
}
body.page-template-page-dashboard .pp-dash-nav .pp-btn + .pp-btn,
.pp-dash-nav .pp-btn + .pp-btn {
  margin-top:4px!important;
}
body.page-template-page-dashboard .pp-dash-main,
.pp-dash-main {
  grid-column:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.page-template-page-dashboard .pp-dash-section h2,
.pp-dash-section h2 {
  margin:0 0 28px!important;
  font-size:clamp(34px,4vw,50px)!important;
  line-height:.95!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-grid,
.pp-dash-main .pp-grid {
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(220px,260px))!important;
  justify-content:start!important;
  align-items:start!important;
  gap:18px!important;
  columns:auto!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-card,
.pp-dash-main .pp-card {
  margin:0!important;
  width:100%!important;
  max-width:260px!important;
  min-width:0!important;
  break-inside:auto!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-card-thumb img,
.pp-dash-main .pp-card-thumb img {
  width:100%!important;
  height:auto!important;
  max-height:360px!important;
  object-fit:cover!important;
}
body.page-template-page-dashboard .pp-entry-list,
body.page-template-page-dashboard .pp-notifications-list,
body.page-template-page-dashboard .pp-auth-form,
body.page-template-page-dashboard .pp-danger-zone {
  max-width:820px!important;
}
@media(max-width:900px){
  body.page-template-page-dashboard .pp-dashboard,
  .pp-dashboard {
    display:block!important;
    max-width:760px!important;
    padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 24px) 18px 54px!important;
  }
  body.page-template-page-dashboard .pp-dash-sidebar,
  .pp-dash-sidebar {
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    margin-bottom:26px!important;
  }
  body.page-template-page-dashboard .pp-dash-nav,
  .pp-dash-nav {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.page-template-page-dashboard .pp-dash-nav .pp-btn,
  .pp-dash-nav .pp-btn {
    grid-column:1 / -1!important;
  }
  body.page-template-page-dashboard .pp-dash-main .pp-grid,
  .pp-dash-main .pp-grid {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))!important;
  }
  body.page-template-page-dashboard .pp-dash-main .pp-card,
  .pp-dash-main .pp-card {
    max-width:none!important;
  }
}
@media(max-width:520px){
  body.page-template-page-dashboard .pp-dash-nav,
  .pp-dash-nav {
    grid-template-columns:1fr!important;
  }
  body.page-template-page-dashboard .pp-dash-main .pp-grid,
  .pp-dash-main .pp-grid {
    grid-template-columns:1fr!important;
  }
}

/* ====================================================
   FINAL BETA VISUAL POLISH
   Editorial, photo-first, minimal contemporary finish.
   ==================================================== */
body {
  background:#050503;
}
#pp-nav {
  background:rgba(5,5,3,.78)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px) saturate(1.05);
}
#pp-nav .pp-container {
  max-width:1180px!important;
}
.pp-logo {
  letter-spacing:2.4px!important;
}
.pp-nav-list {
  gap:10px!important;
}
.pp-nav-list a {
  letter-spacing:1.15px!important;
}
.pp-nav-cta {
  box-shadow:0 10px 28px rgba(245,160,32,.18)!important;
}
.pp-hero {
  min-height:660px;
  height:94svh;
  isolation:isolate;
}
.pp-hero::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,5,3,.38) 0%,rgba(5,5,3,.45) 42%,#050503 100%),
    linear-gradient(90deg,rgba(5,5,3,.78) 0%,rgba(5,5,3,.22) 48%,rgba(5,5,3,.78) 100%);
}
.pp-hero-photo {
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-position:center;
  filter:saturate(.95) contrast(1.05);
  transform:scale(1.02);
}
.pp-hero-bg,
.pp-hero-grid,
.pp-hero-strips {
  z-index:0;
}
.pp-hero-grid {
  opacity:.34;
}
.pp-hero-strips {
  opacity:.05;
}
.pp-hero-content,
.pp-hero-stats {
  z-index:2;
}
.pp-hero-title {
  letter-spacing:0!important;
  text-shadow:0 18px 70px rgba(0,0,0,.72);
}
.pp-hero-eyebrow {
  color:#f7d38b;
  letter-spacing:3.6px;
}
.pp-hero-sub {
  color:rgba(244,239,226,.78);
}
.pp-hero-credit {
  display:inline-flex;
  margin:-12px auto 28px;
  color:rgba(244,239,226,.66);
  font-size:12px;
  letter-spacing:.4px;
  border-bottom:1px solid rgba(245,160,32,.38);
}
.pp-section {
  position:relative;
}
.pp-section-title,
.pp-ob-title,
.pp-auth-title {
  letter-spacing:0!important;
}
.pp-label {
  color:#f5a020;
  letter-spacing:3.4px;
}
.pp-section-desc {
  color:rgba(244,239,226,.64);
}
.pp-grid {
  column-gap:16px;
}
.pp-card {
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:#0d0d0a;
  box-shadow:0 12px 38px rgba(0,0,0,.18);
}
.pp-card:hover {
  transform:translateY(-4px);
  box-shadow:0 22px 70px rgba(0,0,0,.42);
}
.pp-card-overlay {
  background:linear-gradient(to top,rgba(5,5,3,.94) 0%,rgba(5,5,3,.46) 46%,transparent 76%);
}
.pp-tabs,
.pp-level-switch,
.pp-filter-row {
  gap:8px;
}
.pp-tab,
.pp-level-btn,
.pp-filter-sel {
  border-radius:999px!important;
}
.pp-manifesto {
  background:#f2b13a!important;
}
.pp-manifesto::before {
  opacity:.28;
}
.pp-plans-grid {
  border-radius:10px!important;
  background:rgba(255,255,255,.08)!important;
}
.pp-plan {
  background:rgba(13,13,10,.96)!important;
}
.pp-plan-featured {
  background:linear-gradient(180deg,rgba(245,160,32,.11),rgba(13,13,10,.96))!important;
}
.pp-footer {
  background:#080905!important;
}
.pp-basic-page {
  min-height:70vh;
  padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 64px) 0 90px;
  background:linear-gradient(180deg,#080805 0%,#050503 100%);
}
.pp-basic-page .pp-container {
  max-width:860px;
}
.pp-basic-content {
  margin-top:28px;
  color:rgba(244,239,226,.72);
  font-size:17px;
  line-height:1.85;
}
.pp-basic-content p + p {
  margin-top:18px;
}
@media(max-width:700px){
  .pp-hero {
    height:auto;
    min-height:720px;
    align-items:flex-end;
    padding-bottom:130px;
  }
  .pp-hero-stats {
    bottom:24px;
  }
}

/* ====================================================
   DASHBOARD FINAL PASS
   Cleaner beta cockpit with consistent submission language.
   ==================================================== */
body.page-template-page-dashboard .pp-dashboard {
  max-width:1220px!important;
  grid-template-columns:248px minmax(0,1fr)!important;
}
body.page-template-page-dashboard .pp-dash-sidebar {
  background:
    linear-gradient(180deg,rgba(20,18,12,.96),rgba(7,7,5,.9)),
    radial-gradient(circle at 20% 0%,rgba(245,160,32,.16),transparent 34%)!important;
  border-color:rgba(245,160,32,.14)!important;
}
body.page-template-page-dashboard .pp-dash-name {
  font-size:15px!important;
  letter-spacing:.2px!important;
}
body.page-template-page-dashboard .pp-dash-plan-badge {
  border-radius:999px!important;
  padding:4px 10px!important;
}
body.page-template-page-dashboard .pp-dash-ub-row {
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:1.2px!important;
}
body.page-template-page-dashboard .pp-dash-nav-item {
  font-size:13px!important;
  letter-spacing:.15px!important;
}
body.page-template-page-dashboard .pp-dash-nav .pp-btn {
  border-radius:999px!important;
  letter-spacing:1.6px!important;
}
body.page-template-page-dashboard .pp-dash-section {
  padding-top:4px!important;
}
body.page-template-page-dashboard .pp-dash-section h2 {
  font-size:clamp(38px,4vw,56px)!important;
}
body.page-template-page-dashboard .pp-dash-empty {
  max-width:560px!important;
  padding:54px 28px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  border:1px dashed rgba(245,160,32,.24)!important;
  border-radius:12px!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-card {
  border-radius:10px!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-card-thumb img {
  object-fit:cover!important;
}
@media(max-width:900px){
  body.page-template-page-dashboard .pp-dashboard {
    grid-template-columns:1fr!important;
  }
  body.page-template-page-dashboard .pp-dash-sidebar {
    position:relative!important;
    top:auto!important;
    max-height:none!important;
  }
}

/* Keep the longer "Submit Photo" CTA from crowding the desktop menu. */
@media(min-width:960px){
  #pp-nav .pp-container {
    gap:22px!important;
  }
  .pp-logo {
    flex:0 0 auto!important;
  }
  .pp-nav-list {
    flex:0 1 auto!important;
    min-width:0!important;
    gap:clamp(4px,.55vw,8px)!important;
  }
  .pp-nav-list a {
    white-space:nowrap!important;
    font-size:clamp(10.5px,.72vw,12px)!important;
    padding-left:clamp(6px,.55vw,10px)!important;
    padding-right:clamp(6px,.55vw,10px)!important;
  }
  .pp-nav-cta {
    padding-left:clamp(10px,.8vw,14px)!important;
    padding-right:clamp(10px,.8vw,14px)!important;
  }
}
@media(min-width:960px) and (max-width:1080px){
  .pp-nav-list {
    display:none!important;
  }
  .pp-hamburger {
    display:flex!important;
  }
}

/* ====================================================
   DASHBOARD HARD RESET - v3.1.6
   Plain, stable member workspace. Prevents profile/menu overlap.
   ==================================================== */
body.page-template-page-dashboard #pp-main {
  overflow-x:hidden!important;
}
body.page-template-page-dashboard .pp-dashboard {
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:clamp(32px,4vw,56px)!important;
  align-items:start!important;
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 42px) clamp(20px,4vw,48px) 76px!important;
  min-height:calc(100vh - var(--pp-nav-h) - var(--pp-admin-offset,0px))!important;
  background:transparent!important;
  overflow:visible!important;
}
body.page-template-page-dashboard .pp-dash-sidebar {
  display:block!important;
  position:sticky!important;
  top:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 24px)!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-width:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.page-template-page-dashboard .pp-dash-profile,
body.page-template-page-dashboard .pp-dash-nav {
  width:100%!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:12px!important;
  background:rgba(12,12,9,.92)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.22)!important;
}
body.page-template-page-dashboard .pp-dash-profile {
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px!important;
  margin:0 0 14px!important;
  overflow:hidden!important;
}
body.page-template-page-dashboard .pp-dash-avatar-link {
  display:block!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:1px solid rgba(245,160,32,.35)!important;
  background:#080705!important;
}
body.page-template-page-dashboard .pp-dash-avatar {
  display:block!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  object-fit:cover!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  position:static!important;
}
body.page-template-page-dashboard .pp-dash-profile-main {
  min-width:0!important;
}
body.page-template-page-dashboard .pp-dash-name {
  display:block!important;
  max-width:100%!important;
  margin:0 0 5px!important;
  color:var(--cream)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.page-template-page-dashboard .pp-dash-plan-badge {
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:var(--amber)!important;
  color:#000!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:1.2px!important;
}
body.page-template-page-dashboard .pp-dash-upload-bar {
  grid-column:1 / -1!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.035)!important;
}
body.page-template-page-dashboard .pp-dash-ub-row {
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 7px!important;
  color:rgba(244,239,226,.58)!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:1px!important;
}
body.page-template-page-dashboard .pp-dash-nav {
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  padding:8px!important;
  margin:0!important;
  overflow:hidden!important;
}
body.page-template-page-dashboard .pp-dash-nav-item {
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:42px!important;
  padding:10px 12px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:rgba(244,239,226,.72)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
body.page-template-page-dashboard .pp-dash-nav-item > span:last-child {
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.page-template-page-dashboard .pp-dash-nav-icon {
  flex:0 0 7px!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:rgba(244,239,226,.32)!important;
  box-shadow:none!important;
}
body.page-template-page-dashboard .pp-dash-nav-item.active .pp-dash-nav-icon,
body.page-template-page-dashboard .pp-dash-nav-item:hover .pp-dash-nav-icon {
  background:var(--amber)!important;
}
body.page-template-page-dashboard .pp-dash-nav-item.active,
body.page-template-page-dashboard .pp-dash-nav-item:hover {
  border-color:rgba(245,160,32,.28)!important;
  background:rgba(245,160,32,.1)!important;
  color:var(--amber)!important;
}
body.page-template-page-dashboard .pp-dash-nav .pp-btn {
  width:100%!important;
  min-height:42px!important;
  margin:10px 0 0!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.page-template-page-dashboard .pp-dash-main {
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
body.page-template-page-dashboard .pp-dash-section h2 {
  margin:0 0 28px!important;
  font-size:clamp(38px,4vw,54px)!important;
  line-height:.98!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-grid {
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(220px,260px))!important;
  gap:20px!important;
  justify-content:start!important;
  align-items:start!important;
  columns:auto!important;
  overflow:visible!important;
}
body.page-template-page-dashboard .pp-dash-main .pp-card {
  width:100%!important;
  max-width:260px!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
}
@media(max-width:900px){
  body.page-template-page-dashboard .pp-dashboard {
    display:block!important;
    max-width:760px!important;
    padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 26px) 18px 64px!important;
  }
  body.page-template-page-dashboard .pp-dash-sidebar {
    position:relative!important;
    top:auto!important;
    margin-bottom:28px!important;
  }
  body.page-template-page-dashboard .pp-dash-main .pp-grid {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))!important;
  }
}

/* Photo card awards must stay as small chips, never as a visual overlay. */
.pp-card .pp-card-thumb {
  position:relative!important;
}
.pp-card .pp-card-badges,
.pp-card .pp-card-votes,
.pp-card .pp-card-status {
  z-index:4!important;
  pointer-events:none!important;
}
.pp-card .pp-card-badges {
  top:8px!important;
  left:8px!important;
  max-width:calc(100% - 70px)!important;
}
.pp-card .pp-b,
.pp-card .pp-b-potw,
.pp-card .pp-b-exif,
.pp-card .pp-mini-badge {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:150px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background-image:none!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:1.1px!important;
  text-transform:uppercase!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.pp-card .pp-b-potw::before,
.pp-card .pp-b-potw::after,
.pp-card .pp-mini-badge::before,
.pp-card .pp-mini-badge::after {
  content:none!important;
  display:none!important;
}
.pp-card .pp-card-status {
  position:absolute!important;
  left:8px!important;
  bottom:8px!important;
  display:flex!important;
  gap:5px!important;
  max-width:calc(100% - 16px)!important;
}
.pp-card .pp-mini-award {
  background:rgba(245,160,32,.95)!important;
  color:#000!important;
}
.pp-card .pp-mini-exif {
  border:1px solid rgba(34,197,94,.42)!important;
  background:rgba(34,197,94,.18)!important;
  color:#86efac!important;
}
.pp-card .pp-card-overlay {
  z-index:3!important;
}
.pp-card .pp-card-acts {
  pointer-events:auto!important;
}

/* Same dashboard reset without relying on WordPress body classes. */
.pp-dashboard {
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:clamp(32px,4vw,56px)!important;
  align-items:start!important;
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 42px) clamp(20px,4vw,48px) 76px!important;
  overflow:visible!important;
}
.pp-dashboard .pp-dash-sidebar {
  display:block!important;
  position:sticky!important;
  top:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 24px)!important;
  height:auto!important;
  max-height:none!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.pp-dashboard .pp-dash-profile,
.pp-dashboard .pp-dash-nav {
  width:100%!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:12px!important;
  background:rgba(12,12,9,.92)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.22)!important;
}
.pp-dashboard .pp-dash-profile {
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px!important;
  margin:0 0 14px!important;
  overflow:hidden!important;
}
.pp-dashboard .pp-dash-avatar-link,
.pp-dashboard .pp-dash-avatar {
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  border-radius:50%!important;
}
.pp-dashboard .pp-dash-avatar {
  display:block!important;
  object-fit:cover!important;
  margin:0!important;
  border:0!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  position:static!important;
}
.pp-dashboard .pp-dash-upload-bar {
  grid-column:1 / -1!important;
}
.pp-dashboard .pp-dash-nav {
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  padding:8px!important;
  overflow:hidden!important;
}
.pp-dashboard .pp-dash-nav-item {
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.pp-dashboard .pp-dash-nav-icon {
  flex:0 0 7px!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:rgba(244,239,226,.32)!important;
}
.pp-dashboard .pp-dash-main {
  min-width:0!important;
  padding:0!important;
  overflow:visible!important;
}
@media(max-width:900px){
  .pp-dashboard {
    display:block!important;
    padding:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 26px) 18px 64px!important;
  }
  .pp-dashboard .pp-dash-sidebar {
    position:relative!important;
    top:auto!important;
    margin-bottom:28px!important;
  }
}

/* ====================================================
   DASHBOARD HUB - v3.1.7
   Member summary, exhibitions, challenges, gear, profile tools.
   ==================================================== */
.pp-dash-header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.pp-dash-header h2 {
  margin-bottom:8px!important;
}
.pp-dash-header p,
.pp-dash-muted,
.pp-field-help {
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.pp-dash-summary-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:24px;
}
.pp-dash-summary-grid-small {
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:720px;
}
.pp-dash-summary-card,
.pp-dash-panel,
.pp-opportunity-card,
.pp-gear-form {
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:0 18px 52px rgba(0,0,0,.18);
}
.pp-dash-summary-card {
  min-height:148px;
  padding:18px;
}
.pp-dash-kicker {
  display:block;
  color:rgba(245,160,32,.82);
  font-size:10px;
  font-weight:700;
  letter-spacing:1.6px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.pp-dash-summary-card strong {
  display:block;
  color:var(--cream);
  font-family:var(--font-display);
  font-size:clamp(34px,4vw,50px);
  line-height:.9;
  margin-bottom:10px;
}
.pp-dash-summary-card p {
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.pp-progress-large {
  margin-top:18px;
}
.pp-dash-hub-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.pp-dash-panel {
  padding:18px;
  min-height:190px;
}
.pp-dash-panel-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.pp-dash-panel-head h3,
.pp-dash-subtitle {
  color:var(--cream);
  font-size:13px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.pp-dash-panel-head a {
  color:var(--amber);
  font-size:12px;
  font-weight:700;
}
.pp-dash-profile-mini {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  align-items:center;
}
.pp-dash-profile-mini img {
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(245,160,32,.28);
}
.pp-dash-profile-mini strong,
.pp-dash-profile-mini span {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pp-dash-profile-mini strong {
  color:var(--cream);
}
.pp-dash-profile-mini span {
  color:var(--amber);
  font-size:12px;
  margin-top:2px;
}
.pp-dash-profile-mini p {
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  margin-top:8px;
}
.pp-dash-mini-list {
  display:grid;
  gap:8px;
}
.pp-dash-mini-list a {
  display:block;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  background:rgba(255,255,255,.028);
}
.pp-dash-mini-list a:hover {
  border-color:rgba(245,160,32,.28);
  background:rgba(245,160,32,.07);
}
.pp-dash-mini-list strong,
.pp-dash-mini-list span {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pp-dash-mini-list strong {
  color:var(--cream);
  font-size:13px;
}
.pp-dash-mini-list span {
  color:var(--muted);
  font-size:11px;
  margin-top:3px;
}
.pp-gear-chip-row {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pp-gear-chip {
  display:inline-flex;
  max-width:100%;
  padding:7px 10px;
  border:1px solid rgba(245,160,32,.2);
  border-radius:999px;
  color:var(--cream);
  background:rgba(245,160,32,.08);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pp-dash-opportunity-grid,
.pp-dash-challenge-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;
  margin:16px 0 30px;
}
.pp-opportunity-card {
  padding:18px;
}
.pp-opportunity-card h4 {
  color:var(--cream);
  font-size:18px;
  margin-bottom:8px;
}
.pp-opportunity-card p {
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  margin-bottom:14px;
}
.pp-opportunity-card span {
  display:block;
  color:var(--amber);
  font-size:11px;
  font-weight:700;
  letter-spacing:1.4px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.pp-dash-subtitle {
  margin:28px 0 14px;
}
.pp-gear-form {
  padding:18px;
  max-width:980px;
}
.pp-gear-rows {
  display:grid;
  gap:10px;
}
.pp-gear-row {
  display:grid;
  grid-template-columns:160px minmax(0,1.1fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.pp-gear-remove {
  border:1px solid rgba(232,52,28,.35);
  border-radius:999px;
  background:transparent;
  color:#f87171;
  padding:10px 12px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
}
.pp-gear-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.pp-username-status {
  min-height:18px;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
}
.pp-username-status.is-good {
  color:#86efac;
}
.pp-username-status.is-bad {
  color:#f87171;
}
.pp-profile-form {
  max-width:920px!important;
}
@media(max-width:980px){
  .pp-dash-summary-grid,
  .pp-dash-hub-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pp-gear-row {
    grid-template-columns:1fr;
  }
  .pp-gear-remove {
    justify-self:start;
  }
}
@media(max-width:620px){
  .pp-dash-header {
    display:block;
  }
  .pp-dash-header .pp-btn {
    margin-top:16px;
  }
  .pp-dash-summary-grid,
  .pp-dash-hub-grid,
  .pp-dash-summary-grid-small {
    grid-template-columns:1fr;
  }
}

/* Beta launch controls and real interaction surfaces. */
.pp-account-dropdown {
  left:auto!important;
  right:0!important;
  transform:translateY(8px)!important;
  min-width:230px!important;
}
.pp-account-menu:hover .pp-account-dropdown,
.pp-account-menu:focus-within .pp-account-dropdown {
  transform:translateY(0)!important;
}
.pp-onboarding-nudge {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 24px;
  padding:16px 18px;
  border:1px solid rgba(245,160,32,.24);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(245,160,32,.12),rgba(255,255,255,.025));
}
.pp-onboarding-nudge strong {
  color:var(--cream);
}
.pp-onboarding-nudge p {
  color:var(--muted);
  font-size:13px;
  margin-top:4px;
}
.pp-onboarding-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pp-onboarding-actions form {
  margin:0;
}
.pp-single-img {
  max-height:calc(100vh - 160px)!important;
  object-fit:contain!important;
  background:#000!important;
}
.pp-challenge-hero {
  height:46vh;
  min-height:300px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.pp-challenge-hero > div {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,var(--black),transparent 62%);
}
.pp-challenge-single-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:34px;
  align-items:start;
  margin-bottom:52px;
}
.pp-challenge-side {
  position:sticky;
  top:calc(var(--pp-nav-h) + var(--pp-admin-offset,0px) + 22px);
}
.pp-comments,
.pp-comment-moderation {
  max-width:900px;
  margin:54px 0 0;
  padding-top:34px;
  border-top:1px solid var(--border);
}
.pp-comments h3,
.pp-comment-moderation h3 {
  color:var(--cream);
  font-family:var(--font-display);
  font-size:34px;
  margin-bottom:20px;
}
.pp-comment-list {
  display:grid;
  gap:14px;
  list-style:none;
  margin:0 0 24px;
  padding:0;
}
.pp-comment-list li,
.pp-comment-moderation article {
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  padding:14px;
}
.comment-respond {
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  padding:18px;
}
.comment-respond label {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px;
}
.comment-respond textarea,
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"] {
  width:100%;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:var(--cream);
  padding:12px;
}
.comment-respond input[type="submit"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:var(--amber);
  color:#000;
  padding:11px 24px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.pp-comment-moderation article + article {
  margin-top:12px;
}
.pp-comment-moderation p {
  color:var(--muted);
  margin:8px 0 12px;
}
@media(max-width:760px){
  .pp-onboarding-nudge,
  .pp-challenge-single-grid {
    display:block;
  }
  .pp-onboarding-actions {
    justify-content:flex-start;
    margin-top:14px;
  }
  .pp-challenge-side {
    position:relative;
    top:auto;
    margin-top:24px;
  }
}

/* ==========================================
   UPLOAD PAGE 2-COLUMN LAYOUT
   ========================================== */

.pp-upload-layout{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) 420px;
    gap:40px;
    align-items:start;
}

.pp-upload-main{
    min-width:0;
}

.pp-upload-sidebar{
    position:sticky;
    top:90px;
}

.pp-upload-sidebar .pp-exif-manual{
    background:linear-gradient(
        180deg,
        rgba(245,160,32,.05),
        rgba(255,255,255,.02)
    );
    border:1px solid rgba(245,160,32,.15);
    border-radius:12px;
    padding:24px;
}

.pp-upload-sidebar .pp-exif-manual h4{
    margin-bottom:20px;
    font-size:18px;
    color:var(--pp-cream);
}

.pp-upload-sidebar .pp-exif-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

/* Gradient divider */

.pp-upload-main{
    position:relative;
}

@media(min-width:1100px){

    .pp-upload-main:after{
        content:'';
        position:absolute;
        top:0;
        right:-20px;
        width:1px;
        height:100%;
        background:linear-gradient(
            to bottom,
            transparent,
            rgba(245,160,32,.4),
            transparent
        );
    }
}

@media(max-width:1100px){

    .pp-upload-layout{
        grid-template-columns:1fr;
    }

    .pp-upload-sidebar{
        position:relative;
        top:auto;
    }

    .pp-upload-main:after{
        display:none;
    }
}
/* Notifiation  */
.pp-notification-menu{
    position:relative;
}

.pp-notification-trigger{
    position:relative;
    font-size:20px;
}

.pp-notification-count{
    position:absolute;
    top:-8px;
    right:-10px;
    min-width:18px;
    height:18px;
    border-radius:999px;
    background:#e53935;
    color:#fff;
    font-size:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 4px;
    font-weight:700;
}

.pp-notification-dropdown{
    width:320px;
    max-height:420px;
    overflow:auto;
}

/* ═══ LIGHTBOX FIXES ═══ */
.pp-lightbox{padding:24px!important}
.pp-lb-wrap{max-width:90vw!important;max-height:90vh!important;position:relative;overflow:visible!important}
#pp-lb-img{max-width:90vw!important;max-height:82vh!important;object-fit:contain!important;width:auto!important;height:auto!important}
.pp-lb-close{position:absolute!important;top:-14px!important;right:-14px!important;z-index:10010!important;width:38px!important;height:38px!important;background:var(--amber)!important;color:#000!important;border:none!important;border-radius:50%!important;font-size:18px!important;font-weight:700;display:flex!important;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.5)}
.pp-lb-close:hover{transform:scale(1.1)}
.pp-lb-prev,.pp-lb-next{position:fixed!important;top:50%!important;transform:translateY(-50%);z-index:10005!important;width:46px!important;height:46px!important;background:rgba(8,7,5,.85)!important;border:1px solid var(--border)!important;color:var(--cream)!important;border-radius:50%!important;font-size:20px;cursor:pointer;display:flex!important;align-items:center;justify-content:center;transition:all .2s}
.pp-lb-prev{left:16px!important}
.pp-lb-next{right:16px!important}
.pp-lb-prev:hover,.pp-lb-next:hover{background:rgba(245,160,32,.2)!important;border-color:var(--amber)!important}
@media(max-width:640px){.pp-lb-prev{left:6px!important}.pp-lb-next{right:6px!important}.pp-lb-prev,.pp-lb-next{width:38px!important;height:38px!important}}

/* ═══ PLANS BUTTON ALIGNMENT ═══ */
.pp-plan{display:flex!important;flex-direction:column!important}
.pp-plan-features{flex:1!important}
.pp-plan .pp-btn{margin-top:auto!important}

/* ═══ MORE LIKE THIS GRID ═══ */
.pp-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
@media(min-width:640px){.pp-related-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.pp-related-grid{grid-template-columns:repeat(4,1fr)}}
.pp-related-grid .pp-photo-card img{aspect-ratio:4/3;object-fit:cover}

/* ═══ XP / LEVEL / ACHIEVEMENTS ═══ */
.pp-level-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(245,160,32,.15),rgba(245,160,32,.05));border:1px solid rgba(245,160,32,.3);color:var(--amber);font-size:11px;font-weight:700;letter-spacing:1px;padding:3px 12px;border-radius:100px;text-transform:uppercase}
.pp-xp-bar{height:6px;background:rgba(255,255,255,.06);border-radius:100px;overflow:hidden;margin-top:6px}
.pp-xp-fill{height:100%;background:linear-gradient(90deg,var(--amber),#f5c020);border-radius:100px;transition:width .6s ease}
.pp-achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:16px}
.pp-ach{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center;transition:all .2s}
.pp-ach.unlocked{border-color:rgba(245,160,32,.35);background:rgba(245,160,32,.04)}
.pp-ach.locked{opacity:.3;filter:grayscale(1)}
.pp-ach-ico{font-size:26px;display:block;margin-bottom:6px}
.pp-ach-name{font-size:11px;font-weight:700;color:var(--cream);display:block}
.pp-ach-desc{font-size:10px;color:var(--muted);display:block;margin-top:2px}

/* ═══ ACTIVITY FEED ═══ */
.pp-activity-feed{display:flex;flex-direction:column;gap:1px;background:var(--border);border-radius:8px;overflow:hidden}
.pp-act-item{display:flex;align-items:center;gap:12px;padding:12px 15px;background:var(--card);font-size:13px;color:var(--muted)}
.pp-act-item strong{color:var(--cream)}
.pp-act-time{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0}

/* ═══ EXIF ANALYTICS CARDS ═══ */
.pp-exif-an-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:768px){.pp-exif-an-grid{grid-template-columns:repeat(3,1fr)}}
.pp-exif-an-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:18px;text-align:center}
.pp-exif-an-val{font-family:var(--font-display);font-size:20px;color:var(--amber);display:block;margin-bottom:4px;line-height:1.1}
.pp-exif-an-label{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}

/* ═══ FOLLOW BTN ═══ */
.pp-follow-count{background:rgba(0,0,0,.2);padding:1px 7px;border-radius:100px;font-size:10px;margin-left:4px}

/* ═══ ELITE PLAN STANDOUT ═══ */
.pp-plan:last-child{background:linear-gradient(160deg,rgba(147,51,234,.10),var(--card) 55%)!important;border-top:2px solid #9333ea!important;position:relative}
.pp-plan:last-child .pp-plan-name{background:linear-gradient(90deg,#c084fc,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pp-plan-featured{border-top:2px solid var(--amber)!important;box-shadow:0 0 50px rgba(245,160,32,.08)}

/* ═══ PROFILE STAT BOX 6-up ═══ */
.pp-profile-stats-box{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1px!important}
@media(max-width:640px){.pp-profile-stats-box{grid-template-columns:repeat(3,1fr)!important}}

/* ═══ DASH CARD POLISH ═══ */
.pp-dash-summary-card{transition:border-color .25s,transform .25s}
.pp-dash-summary-card:hover{border-color:rgba(245,160,32,.3);transform:translateY(-2px)}

/* ═══ TRENDING PHOTOGRAPHERS ═══ */
.pp-trending-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
@media(min-width:768px){.pp-trending-grid{grid-template-columns:repeat(4,1fr)}}
.pp-trend-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px;text-align:center;transition:all .25s;text-decoration:none;display:block}
.pp-trend-card:hover{border-color:rgba(245,160,32,.35);transform:translateY(-3px)}
.pp-trend-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;border:2px solid var(--border)}
.pp-trend-name{font-size:14px;font-weight:700;color:var(--cream);display:block;margin-bottom:4px}
.pp-trend-meta{font-size:11px;color:var(--muted)}

/* ═══ PREMIUM NOTIF ICON & DROPDOWN ═══ */
.pp-notification-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--muted);transition:all .22s}
.pp-notification-trigger:hover{color:var(--amber);border-color:rgba(245,160,32,.35);background:rgba(245,160,32,.06)}
.pp-notif-cam{display:block}
.pp-notification-count{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;font-size:9px;font-weight:800;min-width:17px;height:17px;border-radius:100px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--black);line-height:1;letter-spacing:0}
.pp-notification-dropdown{width:330px!important;border-radius:14px!important;box-shadow:0 24px 70px rgba(0,0,0,.75)!important;padding:6px!important;overflow:hidden}
.pp-notification-dropdown a{display:flex!important;flex-direction:column;gap:3px;padding:11px 13px!important;border-radius:9px;border-bottom:none!important;transition:background .15s}
.pp-notification-dropdown a:hover{background:rgba(245,160,32,.07)!important}
.pp-notification-dropdown a strong{font-size:12px;font-weight:500;color:var(--cream);line-height:1.45;display:block;white-space:normal}
.pp-notification-dropdown a span{font-size:10px;color:var(--muted)}

/* ═══ OWNER CONTROLS ON PROFILE ═══ */
.pp-owner-controls{display:flex;gap:6px;margin:-6px 0 14px;justify-content:flex-end}
.pp-oc-btn{font-size:11px;padding:4px 12px;border-radius:5px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;text-decoration:none;font-family:var(--font-body);transition:all .18s}
.pp-oc-btn:hover{color:var(--cream);border-color:rgba(245,160,32,.3)}
.pp-oc-del:hover{color:#f87171;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.06)}

/* ═══ PREMIUM EMPTY STATES ═══ */
.pp-dash-empty{background:radial-gradient(circle at 50% 0%,rgba(245,160,32,.04),transparent 70%)}
.pp-dash-empty span{filter:grayscale(.3);opacity:.7}

/* ═══ PROFILE COVER ═══ */
.pp-profile-avatar{border:3px solid var(--black)!important;box-shadow:0 8px 32px rgba(0,0,0,.5)}

/* ═══ NOTIF MOBILE ═══ */
@media(max-width:640px){
  .pp-notification-dropdown{width:calc(100vw - 24px)!important;right:-60px!important;max-width:340px}
}

/* ═══ LIGHTBOX CLOSE: VIEWPORT-FIXED, ALWAYS VISIBLE ═══ */
.pp-lb-close{position:fixed!important;top:18px!important;right:18px!important;left:auto!important;z-index:10020!important;width:42px!important;height:42px!important;background:var(--amber)!important;color:#000!important;border:none!important;border-radius:50%!important;font-size:20px!important;font-weight:700;display:flex!important;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.6)}
.pp-lb-close:hover{transform:scale(1.08)}
@media(max-width:640px){.pp-lb-close{top:12px!important;right:12px!important;width:38px!important;height:38px!important}}
/* keep info panel below image on narrow screens */
@media(max-width:900px){.pp-lb-content{flex-direction:column!important;max-height:90vh;overflow-y:auto}.pp-lb-info{max-width:100%!important}}

/* ═══ POTW AUTHOR CARD ═══ */
.pp-potw-author-card{display:inline-flex;align-items:center;gap:10px;margin:10px 0 6px;padding:8px 14px 8px 8px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:100px;text-decoration:none;transition:all .2s}
.pp-potw-author-card:hover{border-color:rgba(245,160,32,.4);background:rgba(245,160,32,.06)}
.pp-potw-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}
.pp-potw-author-meta{display:flex;flex-direction:column;line-height:1.3}
.pp-potw-author-meta strong{font-size:13px;color:var(--cream)}
.pp-potw-author-meta span{font-size:11px;color:var(--muted)}
.pp-potw-img{cursor:pointer;transition:opacity .25s}
.pp-potw-img:hover{opacity:.9}

/* ═══ PLANS BULLETPROOF ALIGNMENT ═══ */
.pp-plans-grid{align-items:stretch!important}
.pp-plan{display:flex!important;flex-direction:column!important;height:100%!important;padding:32px 26px!important}
.pp-plan-price{min-height:84px;display:flex;flex-direction:column;justify-content:flex-end}
.pp-plan-features{flex:1 1 auto!important;margin-bottom:22px}
.pp-plan-features li{display:flex;gap:9px;align-items:flex-start;padding:7px 0;font-size:13px;line-height:1.5}
.pp-plan .pp-btn{margin-top:auto!important;width:100%;justify-content:center;text-align:center}
.pp-plans-note{text-align:center;margin-top:18px;font-size:12px;color:var(--muted)}
@media(max-width:579px){.pp-plan{padding:26px 20px!important}}

/* ═══════════════════════════════════════════════
   PREMIUM COMMENT SYSTEM — Glassmorphism
═══════════════════════════════════════════════ */
.pp-comments-wrap{max-width:780px}
.pp-comments-hd{display:flex;align-items:baseline;gap:12px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.07)}
.pp-comments-hd h3{font-family:var(--font-display);font-size:30px;color:var(--cream);margin:0;line-height:1;letter-spacing:1px}
.pp-ct-count{font-size:12px;color:var(--muted);background:rgba(255,255,255,.05);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);padding:3px 12px;border-radius:100px}
.pp-ct-pending{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:rgba(245,160,32,.12);border:1px solid rgba(245,160,32,.3);color:var(--amber);padding:3px 10px;border-radius:100px;animation:pp-pulse 2.5s infinite}
@keyframes pp-pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* ── FORM: glass container ── */
.pp-cform{display:flex;gap:14px;align-items:flex-start;margin-bottom:32px;padding:20px;background:rgba(255,255,255,.025);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.07);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.25)}
.pp-cav{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(245,160,32,.25);margin-top:2px}
.pp-cform-r{flex:1;min-width:0}
.pp-cinput{width:100%;background:rgba(8,7,5,.55)!important;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.09)!important;border-radius:12px!important;padding:13px 16px!important;color:var(--cream)!important;font-size:14px!important;font-family:var(--font-body)!important;resize:vertical;transition:border-color .25s,box-shadow .25s,background .25s;box-sizing:border-box;line-height:1.6;min-height:64px}
.pp-cinput::placeholder{color:rgba(184,179,168,.5)}
.pp-cinput:focus{outline:none!important;border-color:rgba(245,160,32,.45)!important;box-shadow:0 0 0 3px rgba(245,160,32,.08),0 4px 20px rgba(0,0,0,.3);background:rgba(8,7,5,.75)!important}
.pp-cform-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.pp-cform-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}
.pp-cform-note::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber);opacity:.6}
.pp-c-submit{min-width:110px;border-radius:10px!important;font-weight:700!important;letter-spacing:1px;transition:all .25s!important;position:relative}
.pp-c-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(245,160,32,.3)}
.pp-c-submit:disabled{opacity:.6;cursor:wait}

/* ── COMMENT CARDS: glass ── */
.pp-clist{display:flex;flex-direction:column;gap:14px}
.pp-clist-empty{text-align:center;padding:44px 24px;color:var(--muted);font-size:14px;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.1);border-radius:16px}
.pp-ci{display:flex;gap:13px;padding:18px;background:rgba(255,255,255,.028);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06);border-radius:14px;transition:border-color .3s,background .3s,transform .2s;box-shadow:0 4px 20px rgba(0,0,0,.18)}
.pp-ci:hover{border-color:rgba(245,160,32,.18);background:rgba(255,255,255,.04)}
.pp-ci .pp-cav{width:36px;height:36px;border-color:rgba(255,255,255,.12)}
.pp-ci-pending{background:rgba(245,160,32,.045)!important;border-color:rgba(245,160,32,.25)!important;border-left:3px solid var(--amber)!important}
.pp-ci-reported{opacity:.35;border-color:rgba(239,68,68,.25)!important}
.pp-ci-hidden{opacity:.15;filter:grayscale(.8)}
.pp-cb{flex:1;min-width:0}
.pp-cmeta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.pp-cauth{font-size:13px;font-weight:700;color:var(--cream);letter-spacing:.2px}
.pp-ctime{font-size:10px;color:var(--muted)}
.pp-cbadge{font-size:8px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:2px 8px;border-radius:100px}
.pp-cbadge-p{background:rgba(245,160,32,.12);border:1px solid rgba(245,160,32,.3);color:var(--amber)}
.pp-cbadge-r{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#f87171}
.pp-cmods{margin-left:auto;display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:0;transition:opacity .25s}
.pp-ci:hover .pp-cmods{opacity:1}
@media(hover:none){.pp-cmods{opacity:1}}
.pp-cmod{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:var(--muted);cursor:pointer;font-size:11px;padding:4px 10px;border-radius:8px;font-family:var(--font-body);transition:all .2s;white-space:nowrap;backdrop-filter:blur(4px)}
.pp-cmod:hover{background:rgba(255,255,255,.08);color:var(--cream);border-color:rgba(255,255,255,.15)}
.pp-cmod-app{border-color:rgba(34,197,94,.25)!important;color:#86efac!important}
.pp-cmod-app:hover{background:rgba(34,197,94,.12)!important}
.pp-cmod-del:hover{background:rgba(239,68,68,.12)!important;color:#f87171!important;border-color:rgba(239,68,68,.3)!important}
.pp-ctext{font-size:14px;color:#cfc9bd;line-height:1.75;margin-bottom:9px;word-wrap:break-word;overflow-wrap:break-word}
.pp-creplybtn{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-body);padding:2px 0;transition:color .2s;letter-spacing:.3px}
.pp-creplybtn:hover{color:var(--amber)}

/* ── REPLIES: connected thread ── */
.pp-creplies{margin-top:16px;padding-left:18px;position:relative;display:flex;flex-direction:column;gap:12px}
.pp-creplies::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:2px;background:linear-gradient(to bottom,rgba(245,160,32,.35),rgba(245,160,32,.05));border-radius:2px}
.pp-crep-item{display:flex;gap:10px;padding:13px 15px;background:rgba(8,7,5,.4);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.05);border-radius:12px;position:relative}
.pp-crep-item::before{content:'';position:absolute;left:-18px;top:22px;width:14px;height:2px;background:rgba(245,160,32,.2)}
.pp-crep-item .pp-ctext{font-size:13px;margin-bottom:0}
.pp-crep-form{margin-top:12px;padding:14px;background:rgba(8,7,5,.45);backdrop-filter:blur(10px);border:1px solid rgba(245,160,32,.18);border-radius:12px;animation:pp-slide-in .25s ease}
@keyframes pp-slide-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* ── REPORT DROPDOWN: glass ── */
.pp-creport-wrap{position:relative;display:inline-block}
.pp-crep-drop{position:absolute;top:calc(100% + 6px);right:0;z-index:300;background:rgba(13,12,8,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;min-width:165px;box-shadow:0 16px 48px rgba(0,0,0,.6);animation:pp-slide-in .2s ease}
.pp-crep-drop .pp-cmod{display:block;width:100%;text-align:left;padding:7px 12px;border:none;background:transparent;border-radius:8px;margin:1px 0}
.pp-crep-drop .pp-cmod:hover{background:rgba(239,68,68,.12);color:#f87171}

/* ── LOGIN PROMPT ── */
.pp-clingin{padding:28px;background:rgba(255,255,255,.025);backdrop-filter:blur(10px);border:1px dashed rgba(255,255,255,.12);border-radius:16px;text-align:center;font-size:14px;color:var(--muted)}
.pp-clingin a{color:var(--amber);font-weight:600}

/* ── TOAST (success/error feedback) ── */
.pp-c-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(80px);background:rgba(13,12,8,.92);backdrop-filter:blur(20px);border:1px solid rgba(245,160,32,.4);color:var(--cream);padding:13px 24px;border-radius:12px;font-size:13px;font-weight:600;z-index:10050;box-shadow:0 16px 48px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.21,1.02,.73,1);max-width:90vw;text-align:center}
.pp-c-toast.show{transform:translateX(-50%) translateY(0)}
.pp-c-toast.error{border-color:rgba(239,68,68,.5)}
.pp-c-toast.error::before{content:'⚠ ';color:#f87171}
.pp-c-toast.success::before{content:'✓ ';color:#86efac}

/* ── MOBILE ── */
@media(max-width:640px){
  .pp-cform{padding:14px;gap:10px;border-radius:14px}
  .pp-cav{width:36px;height:36px}
  .pp-ci{padding:14px;gap:10px}
  .pp-ci .pp-cav{width:32px;height:32px}
  .pp-creplies{padding-left:12px}
  .pp-crep-item::before{left:-12px;width:9px}
  .pp-cform-foot{flex-direction:column;align-items:stretch}
  .pp-c-submit{width:100%}
  .pp-crep-drop{right:auto;left:0}
}

/* ── PROFILE VERIFIED BADGE FIX ── */
.pp-verified-badge{position:absolute;bottom:2px;right:-6px;background:#9333ea;color:#fff;font-size:9px;font-weight:700;letter-spacing:.5px;padding:3px 9px;border-radius:100px;border:2px solid var(--black);white-space:nowrap}
.pp-profile-avatar-wrap{position:relative;display:inline-block}

/* ═══ LIGHTBOX ROOT LAYOUT FIX (final) ═══ */
.pp-lightbox{position:fixed!important;inset:0!important;z-index:10000!important;display:none;align-items:center!important;justify-content:center!important;padding:56px 24px 24px!important}
.pp-lightbox.open{display:flex!important}
.pp-lb-bg{position:absolute;inset:0;background:rgba(5,4,3,.94);backdrop-filter:blur(8px)}
.pp-lb-wrap{position:relative;z-index:2;max-width:min(1200px,92vw)!important;max-height:calc(100vh - 96px)!important;width:auto!important;display:flex!important;align-items:center;justify-content:center;margin:auto!important}
.pp-lb-content{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:stretch;max-height:calc(100vh - 110px);background:var(--deep);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.pp-lb-img-wrap{display:flex!important;align-items:center!important;justify-content:center!important;background:#000;min-width:0;flex:1}
#pp-lb-img{max-width:100%!important;max-height:calc(100vh - 130px)!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block;margin:auto}
.pp-lb-info{width:300px;flex-shrink:0;overflow-y:auto;padding:24px}
@media(max-width:900px){
  .pp-lightbox{padding:56px 10px 10px!important}
  .pp-lb-content{flex-direction:column!important;max-height:calc(100vh - 80px);overflow-y:auto}
  #pp-lb-img{max-height:55vh!important}
  .pp-lb-info{width:100%!important;padding:16px}
}

.pp-dsc-link{text-decoration:none;cursor:pointer;position:relative}
.pp-dsc-go{font-size:11px;color:var(--amber);margin-top:8px;display:block;opacity:0;transition:opacity .2s}
.pp-dsc-link:hover .pp-dsc-go{opacity:1}

/* ═══ MODALS ═══ */
.pp-modal{position:fixed;inset:0;z-index:10100;display:none;align-items:center;justify-content:center;padding:20px}
.pp-modal.open{display:flex}
.pp-modal-bg{position:absolute;inset:0;background:rgba(5,4,3,.9);backdrop-filter:blur(8px)}
.pp-modal-card{position:relative;z-index:2;background:var(--deep);border:1px solid var(--border);border-radius:16px;padding:26px;max-width:440px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.7)}
.pp-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.pp-modal-close:hover{color:var(--cream);border-color:rgba(245,160,32,.4)}
.pp-modal-title{font-family:var(--font-display);font-size:24px;color:var(--cream);margin:0 0 14px}
.pp-fm-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;text-decoration:none;transition:background .15s}
.pp-fm-row:hover{background:rgba(255,255,255,.04)}
.pp-fm-row img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.pp-fm-row span{font-size:14px;color:var(--cream);font-weight:600;flex:1}
.pp-fm-row em{font-size:11px;color:var(--amber);font-style:normal}
.pp-fm-empty{text-align:center;color:var(--muted);font-size:13px;padding:18px}
.pp-ps-link{text-decoration:none;cursor:pointer;transition:background .2s;border-radius:8px}
.pp-ps-link:hover{background:rgba(245,160,32,.07)}

/* ═══ COMMUNITY CALENDAR ═══ */
.pp-cal-card{max-width:520px}
.pp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.pp-cal-dow{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted);text-align:center;padding:6px 0;text-transform:uppercase}
.pp-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);border-radius:8px;position:relative;background:rgba(255,255,255,.02);border:1px solid transparent}
.pp-cal-empty{background:transparent}
.pp-cal-today{border-color:rgba(245,160,32,.5);color:var(--amber);font-weight:700}
.pp-cal-event{background:rgba(245,160,32,.14);border-color:rgba(245,160,32,.35);color:var(--cream);cursor:pointer}
.pp-cal-event::after{content:'';position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--amber)}
.pp-cal-tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:rgba(13,12,8,.96);backdrop-filter:blur(16px);border:1px solid rgba(245,160,32,.3);border-radius:10px;padding:10px;min-width:200px;z-index:50;box-shadow:0 12px 32px rgba(0,0,0,.6)}
.pp-cal-event:hover .pp-cal-tip{display:block}
.pp-cal-tip a{display:block;font-size:11px;color:var(--cream);text-decoration:none;padding:4px 6px;border-radius:5px;line-height:1.4}
.pp-cal-tip a:hover{background:rgba(245,160,32,.1);color:var(--amber)}
@media(max-width:640px){.pp-cal-tip{min-width:160px}}

/* ═══ PORTFOLIO CARD ACTION BAR ═══ */
.pp-pcard-wrap{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:18px;display:block}
.pp-pcard-wrap .pp-photo-card{margin-bottom:0!important}
.pp-card-actionbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:rgba(255,255,255,.035);backdrop-filter:blur(8px);border:1px solid var(--border);border-top:none;border-radius:0 0 12px 12px;flex-wrap:wrap}
.pp-cab-stats{font-size:11px;color:var(--muted);white-space:nowrap}
.pp-cab-btns{display:flex;gap:6px;margin-left:auto}
.pp-card-actionbar .pp-oc-btn{font-size:11px;padding:5px 12px;min-height:30px;display:inline-flex;align-items:center}

/* ═══ MOBILE APP-LIKE OVERHAUL ═══ */
@media(max-width:768px){
  /* Touch targets */
  .pp-btn,.pp-oc-btn,.pp-cmod,.pp-nav-cta{min-height:42px!important;display:inline-flex;align-items:center;justify-content:center}
  .pp-cmod{min-height:36px!important;padding:6px 12px!important}
  /* Horizontal swipe rails on homepage sections */
  .pp-hscroll{display:flex!important;grid-template-columns:none!important;columns:auto!important;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;scrollbar-width:none}
  .pp-hscroll::-webkit-scrollbar{display:none}
  .pp-hscroll>*{flex:0 0 78%;scroll-snap-align:start;max-width:300px}
  .pp-trending-grid.pp-hscroll>*{flex:0 0 46%}
  /* Dashboard cards stack with breathing room */
  .pp-dash-summary-card{padding:16px!important}
  /* Modals full-bleed */
  .pp-modal-card{max-width:100%!important;max-height:88vh;border-radius:16px 16px 0 0;align-self:flex-end;margin:0 -20px -20px}
  .pp-modal{align-items:flex-end!important;padding:0 20px!important}
  /* No horizontal overflow ever */
  body{overflow-x:hidden}
  .pp-container{padding-left:16px;padding-right:16px}
  /* Sticky bottom quick-nav (app feel) */
  .pp-mobile-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:9990;display:flex;background:rgba(10,9,6,.96);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .pp-mtab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;text-decoration:none;color:var(--muted);font-size:9px;letter-spacing:.4px;border-radius:8px;transition:color .2s}
  .pp-mtab svg{width:21px;height:21px}
  .pp-mtab.active,.pp-mtab:active{color:var(--amber)}
  body{padding-bottom:64px}
  /* Lightbox mobile */
  .pp-lb-prev,.pp-lb-next{width:40px!important;height:40px!important;background:rgba(8,7,5,.92)!important}
  #pp-lb-img{touch-action:pinch-zoom}
}
@media(min-width:769px){.pp-mobile-tabbar{display:none}}

/* ═══ COMMUNITY ═══ */
.pp-comm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.pp-comm-tab{font-size:13px;color:var(--muted);text-decoration:none;padding:9px 18px;border-radius:100px;border:1px solid var(--border);transition:all .2s;background:rgba(255,255,255,.02)}
.pp-comm-tab:hover,.pp-comm-tab.on{background:var(--amber);color:#000;border-color:var(--amber);font-weight:700}
.pp-comm-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.pp-comm-cat{font-size:11px;color:var(--muted);text-decoration:none;padding:5px 13px;border-radius:100px;border:1px solid var(--border);white-space:nowrap;transition:all .2s}
.pp-comm-cat:hover,.pp-comm-cat.on{border-color:rgba(245,160,32,.5);color:var(--amber)}
.pp-comm-new{margin-bottom:22px}
.pp-comm-form{margin-top:14px;padding:18px;background:rgba(255,255,255,.03);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:14px}
.pp-comm-list{display:flex;flex-direction:column;gap:8px}
.pp-comm-row{display:flex;align-items:center;gap:14px;padding:15px 16px;background:rgba(255,255,255,.028);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:all .2s}
.pp-comm-row:hover{border-color:rgba(245,160,32,.3);transform:translateX(3px)}
.pp-comm-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.pp-comm-main{flex:1;min-width:0}
.pp-comm-title{display:block;font-size:14px;font-weight:700;color:var(--cream);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-comm-meta{font-size:11px;color:var(--muted)}
.pp-comm-replies{text-align:center;flex-shrink:0;color:var(--amber);font-weight:700;font-size:16px;display:flex;flex-direction:column;line-height:1.2}
.pp-comm-replies small{font-size:9px;color:var(--muted);font-weight:400;letter-spacing:.5px;text-transform:uppercase}
.pp-best-flag{font-size:10px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#86efac;padding:2px 8px;border-radius:100px;font-weight:700}
.pp-topic-body{font-size:15px;color:#cfc9bd;line-height:1.85}
.pp-topic-body p{margin-bottom:14px}

/* Q&A answers */
.pp-answer{display:flex;gap:14px;padding:18px;background:rgba(255,255,255,.028);border:1px solid var(--border);border-radius:14px;margin-bottom:12px}
.pp-answer-best{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.04)}
.pp-answer-vote{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.pp-av-btn{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--muted);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:11px;transition:all .2s}
.pp-av-btn:hover{color:var(--amber);border-color:rgba(245,160,32,.4)}
.pp-answer-vote strong{color:var(--cream);font-size:15px}
.pp-best-check{color:#86efac;font-size:18px;font-weight:700}

/* Critique scores */
.pp-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
@media(max-width:640px){.pp-score-grid{grid-template-columns:1fr}}
.pp-score-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.pp-score-item span{width:90px;flex-shrink:0}
.pp-score-bar{flex:1;height:5px;background:rgba(255,255,255,.06);border-radius:100px;overflow:hidden}
.pp-score-bar div{height:100%;background:linear-gradient(90deg,var(--amber),#f5c020)}
.pp-score-item strong{color:var(--cream);width:18px;text-align:right}
.pp-score-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:640px){.pp-score-inputs{grid-template-columns:1fr}}
.pp-score-inputs label{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px}

/* ═══ MESSENGER ═══ */
.pp-msg-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;min-height:440px}
@media(max-width:768px){.pp-msg-layout{grid-template-columns:1fr}}
.pp-msg-convlist{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:14px;padding:8px;overflow-y:auto;max-height:520px}
.pp-msg-conv{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:background .15s;text-align:left}
.pp-msg-conv:hover,.pp-msg-conv.on{background:rgba(245,160,32,.08)}
.pp-msg-conv img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.pp-msg-conv span{font-size:13px;color:var(--cream);font-weight:600}
.pp-msg-thread{display:flex;flex-direction:column;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.pp-msg-thread-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}
.pp-msg-peer{display:flex;align-items:center;gap:10px;text-decoration:none}
.pp-msg-peer img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.pp-msg-peer strong{color:var(--cream);font-size:14px}
.pp-msg-actions{display:flex;gap:4px}
.pp-msg-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;min-height:280px;max-height:400px}
.pp-msg-bubble{max-width:75%;align-self:flex-start;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:14px 14px 14px 4px;padding:9px 14px}
.pp-msg-bubble.mine{align-self:flex-end;background:rgba(245,160,32,.13);border-color:rgba(245,160,32,.3);border-radius:14px 14px 4px 14px}
.pp-msg-bubble span{font-size:13px;color:var(--cream);display:block;line-height:1.5;word-wrap:break-word}
.pp-msg-bubble em{font-size:9px;color:var(--muted);font-style:normal;display:block;margin-top:3px}
.pp-msg-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}
.pp-msg-compose .pp-cinput{min-height:42px!important}

/* ═══ BUSINESS DIRECTORY ═══ */
.pp-biz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.pp-biz-card{background:rgba(255,255,255,.028);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .25s}
.pp-biz-card:hover{border-color:rgba(245,160,32,.35);transform:translateY(-3px)}
.pp-biz-cover{height:130px;background-size:cover;background-position:center;opacity:.75}
.pp-biz-body{padding:18px}
.pp-biz-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pp-biz-av{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(245,160,32,.3);margin-top:-40px;position:relative;z-index:2;background:var(--black)}
.pp-biz-name{font-size:16px;color:var(--cream);display:block}
.pp-biz-meta{font-size:11px;color:var(--muted)}
.pp-biz-services{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pp-biz-services span{font-size:10px;background:rgba(245,160,32,.1);border:1px solid rgba(245,160,32,.25);color:var(--amber);padding:3px 10px;border-radius:100px}
.pp-biz-about{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:14px}
.pp-biz-actions{display:flex;gap:6px;flex-wrap:wrap}

/* ═══ HOMEPAGE COMPACT ═══ */
.home .pp-section{padding-top:54px!important;padding-bottom:54px!important}
.home .pp-hero{min-height:78vh!important}
.home .pp-section-title{margin-bottom:18px!important}
.home .pp-trending-grid{margin-top:18px}
@media(max-width:768px){
  .home .pp-section{padding-top:38px!important;padding-bottom:38px!important}
  .home .pp-hero{min-height:64vh!important}
}

/* ═══════════════════════════════════════
   MOBILE HARDENING — FINAL PASS
═══════════════════════════════════════ */
@media(max-width:768px){
  /* Typography scale */
  .pp-section-title{font-size:clamp(26px,8vw,40px)!important;line-height:1.05}
  h1,h2,h3{word-wrap:break-word}

  /* Upload page: stack form + EXIF panel */
  .pp-upload-two-col,.pp-upload-grid,[class*="upload"] [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;display:grid}
  .pp-exif-live-panel{position:static!important}
  .pp-upload-fields-grid{grid-template-columns:1fr!important}

  /* Dashboard: tabs horizontal scroll, tables scroll */
  .pp-dash-nav{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  .pp-dash-nav::-webkit-scrollbar{display:none}
  .pp-dash-nav-item{white-space:nowrap;flex-shrink:0}
  .pp-dash-section{overflow-x:hidden}
  .pp-dash-section table{display:block;overflow-x:auto;white-space:nowrap}

  /* Dashboard summary cards: 2-up grid */
  .pp-dash-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .pp-dash-summary-card strong{font-size:26px!important}

  /* Profile: stats 3-col, cover shorter, hero stacks */
  .pp-profile-cover{height:160px!important}
  .pp-profile-hero{flex-direction:column;align-items:flex-start;gap:14px}
  .pp-profile-stats-box{width:100%;margin-top:10px}
  .pp-ps strong{font-size:18px!important}
  .pp-card-actionbar{padding:8px 10px}
  .pp-cab-stats{display:none}

  /* Community */
  .pp-comm-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:4px}
  .pp-comm-tabs::-webkit-scrollbar{display:none}
  .pp-comm-tab{white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:12px}
  .pp-comm-cats{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .pp-comm-cats::-webkit-scrollbar{display:none}
  .pp-comm-cat{flex-shrink:0}
  .pp-comm-row{padding:12px}
  .pp-comm-replies{font-size:14px}
  .pp-answer{flex-direction:column}
  .pp-answer-vote{flex-direction:row;width:100%}

  /* Messenger mobile: conv list collapses to chips */
  .pp-msg-convlist{max-height:120px;display:flex;overflow-x:auto;overflow-y:hidden;gap:6px;padding:8px}
  .pp-msg-conv{flex-direction:column;width:64px;flex-shrink:0;padding:6px;gap:4px}
  .pp-msg-conv span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}
  .pp-msg-body{max-height:46vh;min-height:200px}
  .pp-msg-compose{position:sticky;bottom:0;background:var(--deep)}

  /* Calendar modal fits */
  .pp-cal-card{max-width:100%!important}
  .pp-cal-day{font-size:11px}
  .pp-cal-tip{position:fixed;left:50%!important;bottom:80px;top:auto;transform:translateX(-50%);min-width:240px}

  /* Business directory single col */
  .pp-biz-grid{grid-template-columns:1fr!important}

  /* Plans stack */
  .pp-plans-grid{grid-template-columns:1fr!important;gap:14px}

  /* Footer columns stack */
  footer .pp-container>div,.pp-footer-grid{grid-template-columns:1fr 1fr!important;gap:20px!important}

  /* POTW stacks */
  .pp-potw-wrap{grid-template-columns:1fr!important;display:grid}

  /* Images never overflow */
  img{max-width:100%;height:auto}

  /* Tap highlight + smooth scroll */
  *{-webkit-tap-highlight-color:rgba(245,160,32,.15)}
  html{scroll-behavior:smooth}

  /* Notification dropdown anchored to screen */
  .pp-notification-dropdown,.pp-notif-drop{position:fixed!important;top:64px!important;left:12px!important;right:12px!important;width:auto!important}

  /* Hide admin bar overlap issue */
  body.admin-bar .pp-mobile-tabbar{z-index:99999}
}

/* Small phones */
@media(max-width:380px){
  .pp-section-title{font-size:24px!important}
  .pp-btn{padding:10px 14px;font-size:12px}
  .pp-dash-summary{grid-template-columns:1fr!important}
}

/* Tablet */
@media(min-width:769px) and (max-width:1024px){
  .pp-upload-two-col{grid-template-columns:1fr 1fr}
  .pp-biz-grid{grid-template-columns:repeat(2,1fr)!important}
  .pp-trending-grid{grid-template-columns:repeat(2,1fr)}
  .pp-msg-layout{grid-template-columns:220px 1fr}
}

/* ═══ HAMBURGER: PIN HARD RIGHT ═══ */
@media(max-width:959px){
  .pp-hamburger{position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%);margin-left:auto;order:99;z-index:1002}
  .pp-hamburger.open{transform:translateY(-50%)}
  #pp-nav{position:fixed;justify-content:flex-start!important;padding-right:60px!important}
  .pp-nav-logo,#pp-nav .pp-logo{margin-right:auto}
}

/* ═══ NOTIF DROPDOWN: CLICK-PERSISTENT ═══ */
.pp-notification-menu .pp-nav-dropdown{pointer-events:none}
.pp-notification-menu:hover .pp-nav-dropdown{opacity:0;visibility:hidden;transform:translateY(-8px)}
.pp-notification-menu.open .pp-nav-dropdown{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;pointer-events:auto}

/* ═══ HERO STATS: FLOW LAYOUT (fixes overlap from compact hero) ═══ */
.pp-hero{display:flex;flex-direction:column;justify-content:center}
.pp-hero-stats{position:static!important;bottom:auto!important;margin-top:40px;padding-bottom:8px}
@media(max-width:768px){.pp-hero-stats{margin-top:28px;gap:28px!important}}

/* ═══ DISCOVERY + SIGNUP PLANS + BADGES ═══ */
.pp-disc-section{margin-bottom:30px}
.pp-disc-h{font-family:var(--font-display);font-size:21px;color:var(--cream);margin-bottom:12px;letter-spacing:.5px}
.pp-cbadge-lvl{background:rgba(245,160,32,.08);border:1px solid rgba(245,160,32,.22);color:var(--amber);font-size:8px}
.pp-comm-lvl{font-style:normal;color:var(--amber);font-size:10px}
.pp-signup-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 6px}
.pp-sp{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center}
.pp-sp-hot{border-color:rgba(245,160,32,.45);background:rgba(245,160,32,.05)}
.pp-sp strong{display:block;font-size:12px;color:var(--amber);letter-spacing:1px;margin-bottom:3px}
.pp-sp span{font-size:9.5px;color:var(--muted);line-height:1.45;display:block}
.pp-sp-link{grid-column:1/-1;text-align:center;font-size:11px;color:var(--amber);text-decoration:none;padding:4px}
@media(max-width:480px){.pp-signup-plans{grid-template-columns:1fr}}

/* ═══ COMMUNITY FAVOURITE ═══ */
.pp-fav-card{display:grid;grid-template-columns:1.4fr 1fr;gap:0;background:rgba(255,255,255,.03);border:1px solid rgba(245,160,32,.25);border-radius:18px;overflow:hidden}
.pp-fav-img{min-height:320px;background-size:cover;background-position:center;display:block}
.pp-fav-body{padding:30px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.pp-fav-body h3{font-family:var(--font-display);font-size:30px;margin:0}
.pp-fav-author{display:flex;align-items:center;gap:10px;text-decoration:none}
.pp-fav-author img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(245,160,32,.4)}
.pp-fav-author span{color:var(--cream);font-weight:700;font-size:14px}
.pp-fav-author em{display:block;font-style:normal;font-size:10px;color:var(--amber)}
.pp-fav-meta{font-size:13px;color:var(--amber);font-weight:700}
@media(max-width:768px){.pp-fav-card{grid-template-columns:1fr}.pp-fav-img{min-height:220px}.pp-fav-body{padding:20px}}
/* card author chip */
.pp-card-author{display:flex;align-items:center;gap:7px;padding:8px 12px;text-decoration:none;border-top:1px solid rgba(255,255,255,.05)}
.pp-card-author img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.pp-card-author span{font-size:11px;color:var(--muted);font-weight:600}
.pp-card-author:hover span{color:var(--amber)}
/* signup plan radios */
.pp-sp{cursor:pointer;position:relative}
.pp-sp input{position:absolute;opacity:0}
.pp-sp:has(input:checked){border-color:var(--amber);background:rgba(245,160,32,.09);box-shadow:0 0 0 1px var(--amber)}

/* ════════════════════════════════════════════════════════════
   ✦ PREMIUM GLASSMORPHISM DESIGN SYSTEM — global polish layer
   Appended last; refines surfaces without altering structure.
═══════════════════════════════════════════════════════════════ */
:root{
  --glass-bg:rgba(255,255,255,.04);
  --glass-bg-strong:rgba(20,18,13,.72);
  --glass-border:rgba(255,255,255,.08);
  --glass-border-amber:rgba(245,160,32,.28);
  --glass-shadow:0 8px 32px rgba(0,0,0,.28);
  --glass-shadow-lg:0 20px 60px rgba(0,0,0,.45);
  --glass-blur:blur(14px);
  --ease-premium:cubic-bezier(.22,1,.36,1);
  --radius:14px;
  --radius-lg:18px;
}

/* ─── Motion baseline: premium easing on interactive surfaces ─── */
.pp-btn,.pp-photo-card,.pp-trend-card,.pp-comm-row,.pp-biz-card,.pp-ci,
.pp-dash-summary-card,.pp-ach-card,.pp-ps,.pp-msg-conv,.pp-answer,
.pp-nav-dropdown,.pp-modal-card,.pp-fav-card,.pp-c-toast{
  transition:transform .35s var(--ease-premium),box-shadow .35s var(--ease-premium),
             border-color .3s var(--ease-premium),background .3s var(--ease-premium),opacity .3s var(--ease-premium)!important;
}

/* ─── NAVIGATION: frosted header ─── */
.pp-header,header.pp-header,.site-header{
  background:linear-gradient(180deg,rgba(13,12,8,.82),rgba(13,12,8,.62))!important;
  backdrop-filter:var(--glass-blur) saturate(140%);-webkit-backdrop-filter:var(--glass-blur) saturate(140%);
  border-bottom:1px solid var(--glass-border);
}
.pp-nav-dropdown{
  background:var(--glass-bg-strong)!important;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--glass-border)!important;border-radius:var(--radius)!important;
  box-shadow:var(--glass-shadow-lg)!important;
}
.pp-nav-dropdown li a:hover{background:rgba(245,160,32,.16)!important;color:#fff!important}

/* ─── Glass utility surfaces applied to existing components ─── */
.pp-dash-summary-card,.pp-ach-card,.pp-comm-row,.pp-answer,.pp-ci,.pp-biz-card,
.pp-msg-thread,.pp-msg-convlist,.pp-cform,.pp-modal-card,.pp-crep-drop,
.pp-profile-stats-box,.pp-fav-card,.pp-comm-form{
  background:var(--glass-bg)!important;
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border)!important;
  box-shadow:var(--glass-shadow);
}

/* ─── Refined hover lift (consistent across cards) ─── */
.pp-dash-summary-card:hover,.pp-ach-card.unlocked:hover,.pp-biz-card:hover,
.pp-comm-row:hover,.pp-trend-card:hover{
  transform:translateY(-4px);
  border-color:var(--glass-border-amber)!important;
  box-shadow:var(--glass-shadow-lg),0 0 0 1px rgba(245,160,32,.12);
}

/* ─── Photo cards: cinematic depth + soft glow on hover ─── */
.pp-photo-card{
  border-radius:var(--radius)!important;overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,.3);
  transition:transform .4s var(--ease-premium),box-shadow .4s var(--ease-premium)!important;
}
.pp-photo-card:hover{
  transform:translateY(-5px) scale(1.012);
  box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px var(--glass-border-amber),0 0 40px rgba(245,160,32,.08);
}

/* ─── Notification panel: premium frosted ─── */
.pp-nav-dropdown.pp-notification-dropdown,.pp-notification-menu .pp-nav-dropdown,.pp-notif-drop{
  background:var(--glass-bg-strong)!important;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow-lg)!important;
}
.pp-nd-unread,.pp-nf-item.unread{
  background:rgba(245,160,32,.06)!important;
  border-left:2px solid var(--amber)!important;
}

/* ─── Buttons: refined ─── */
.pp-btn-primary{
  box-shadow:0 4px 18px rgba(245,160,32,.22);
  transition:transform .3s var(--ease-premium),box-shadow .3s var(--ease-premium),filter .3s!important;
}
.pp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(245,160,32,.38);filter:brightness(1.05)}
.pp-btn-ghost,.pp-btn-outline{
  background:var(--glass-bg)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--glass-border)!important;
}
.pp-btn-ghost:hover,.pp-btn-outline:hover{border-color:var(--glass-border-amber)!important;background:rgba(245,160,32,.06)!important}

/* ─── Modals & toasts: smooth scale-in ─── */
.pp-modal.open .pp-modal-card{animation:pp-modal-in .4s var(--ease-premium)}
@keyframes pp-modal-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.pp-modal-card{backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important;border-radius:var(--radius-lg)!important}

/* ─── Profile stats: glass tiles ─── */
.pp-ps{background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:12px;transition:all .3s var(--ease-premium)}
.pp-ps:hover{border-color:var(--glass-border-amber);transform:translateY(-2px)}

/* ─── Messenger bubbles: subtle glass ─── */
.pp-msg-bubble{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pp-msg-conv:hover,.pp-msg-conv.on{box-shadow:inset 3px 0 0 var(--amber)}

/* ─── Section titles: refined glow ─── */
.pp-section-title .pp-hollow{text-shadow:0 0 30px rgba(245,160,32,.12)}

/* ─── Consistent radius enforcement ─── */
.pp-card,.pp-photo-card,.pp-dash-summary-card,.pp-ach-card,.pp-comm-row,
.pp-biz-card,.pp-ci,.pp-answer,.pp-cform,.pp-comm-form{border-radius:var(--radius)!important}

/* ─── Ambient page glow (very subtle, photography-gallery feel) ─── */
body::before{
  content:'';position:fixed;top:-20%;left:50%;transform:translateX(-50%);
  width:80vw;height:50vh;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at center,rgba(245,160,32,.04),transparent 70%);
  filter:blur(40px);
}

/* ─── Image hover in galleries: gentle zoom ─── */
.pp-photo-card img,.pp-fav-img,.pp-biz-cover{transition:transform .6s var(--ease-premium)!important}
.pp-photo-card:hover img{transform:scale(1.06)}

/* ─── Reduced motion respect ─── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .pp-photo-card:hover,.pp-photo-card:hover img{transform:none}
}

/* ─── Mobile: lighten blur for performance ─── */
@media(max-width:768px){
  :root{--glass-blur:blur(10px)}
  body::before{display:none}
  .pp-photo-card:hover{transform:translateY(-3px)}
}

/* ════════════════════════════════════════════════════════════
   ✦ CROSS-BROWSER & RESPONSIVE COMPATIBILITY LAYER (launch QA)
═══════════════════════════════════════════════════════════════ */

/* ─── 1. Box-sizing + overflow guards everywhere ─── */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}

/* ─── 2. Safari backdrop-filter fallback (solid-ish if unsupported) ─── */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .pp-nav-dropdown,.pp-modal-card,.pp-cform,.pp-ci,.pp-comm-row,.pp-biz-card,
  .pp-dash-summary-card,.pp-ach-card,.pp-msg-thread,.pp-msg-convlist,.pp-answer,
  .pp-header,.pp-c-toast,.pp-crep-drop,.pp-fav-card,.pp-ps{
    background:rgba(20,18,13,.94)!important;
  }
  .pp-header,header.pp-header{background:rgba(13,12,8,.97)!important}
}

/* ─── 3. Notification dropdown: never clip on small laptops (13") ─── */
.pp-notification-dropdown,.pp-notification-menu .pp-nav-dropdown{
  max-width:min(360px,calc(100vw - 24px));
  max-height:min(70vh,540px);overflow-y:auto;
}
@media(max-width:1366px){
  .pp-notification-dropdown,.pp-notification-menu .pp-nav-dropdown{right:0;left:auto}
}

/* ─── 4. Safari flexbox min-width fix (prevents overflow in flex children) ─── */
.pp-comm-main,.pp-cb,.pp-msg-thread,.pp-fav-body,.pp-biz-body,.pp-cform-r{min-width:0}
.pp-comm-row,.pp-ci,.pp-cform,.pp-msg-bubble{min-width:0;max-width:100%}

/* ─── 5. Mobile height using --vh (Safari address-bar safe) ─── */
@supports (height:1px){
  .pp-lightbox{min-height:100vh}
}
.pp-lightbox{min-height:calc(var(--vh,1vh) * 100)}
@media(max-width:768px){
  [style*="min-height:100vh"]{min-height:calc(var(--vh,1vh) * 100)!important}
}

/* ─── 6. Fluid typography (scales 13" → 4K without breakpoints) ─── */
:root{--fluid-min:380;--fluid-max:1600}
.pp-section-title{font-size:clamp(28px,2.2vw + 14px,56px)}
.pp-hero h1,.pp-hero-title{font-size:clamp(40px,7vw,140px);line-height:.95;word-break:normal;overflow-wrap:normal}

/* ─── 7. Responsive containers (no fixed widths) ─── */
.pp-container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
@media(min-width:1920px){.pp-container{max-width:1440px}}
@media(min-width:2560px){.pp-container{max-width:1680px}}

/* ─── 8. Grids auto-fit (adapt to any viewport) ─── */
.pp-trending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:clamp(10px,1.5vw,18px)}
.pp-biz-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}

/* ─── 9. Modals: always within viewport, scrollable, close visible ─── */
.pp-modal-card{max-height:min(88vh,calc(var(--vh,1vh) * 88));overflow-y:auto;-webkit-overflow-scrolling:touch}
.pp-modal-close{position:sticky;top:0;float:right;z-index:5}

/* ─── 10. Foldables / very narrow (≤340px) ─── */
@media(max-width:340px){
  .pp-container{padding-inline:12px}
  .pp-section-title{font-size:23px}
  .pp-dash-summary{grid-template-columns:1fr!important}
  .pp-comm-tab,.pp-comm-cat{font-size:11px;padding:6px 10px}
}

/* ─── 11. Ultrawide: cap line length, center ─── */
@media(min-width:2200px){
  .pp-topic-body,.pp-auth-form{max-width:820px;margin-inline:auto}
}

/* ─── 12. Firefox: scrollbar + grid gap consistency ─── */
@-moz-document url-prefix(){
  .pp-msg-convlist,.pp-modal-card{scrollbar-width:thin;scrollbar-color:rgba(245,160,32,.4) transparent}
}

/* ─── 13. Touch: remove hover-only reveals on touch devices ─── */
@media(hover:none){
  .pp-cmods,.pp-card-actionbar,.pp-dsc-go{opacity:1!important}
  .pp-photo-card:hover{transform:none}
}

/* ─── 14. iOS tap targets + input zoom prevention ─── */
@media(max-width:768px){
  input,select,textarea{font-size:16px!important} /* prevents iOS auto-zoom */
  button,a.pp-btn,.pp-oc-btn{min-height:42px}
}

/* ─── 15. Sticky bottom bar safe-area (notch phones) ─── */
.pp-mobile-tabbar{padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}

/* ─── 16. Prevent dropdown going off-screen (CSS baseline before JS) ─── */
.pp-nav-dropdown{max-width:calc(100vw - 24px)}

/* ════ HOMEPAGE HORIZONTAL REDESIGN ════ */
/* Most Loved — wide cinematic banner */
.pp-fav-banner{display:grid;grid-template-columns:1.7fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-amber);box-shadow:var(--glass-shadow-lg);min-height:300px;max-height:380px}
.pp-fav-banner-img{position:relative;display:block;min-height:300px;overflow:hidden;background:#0a0906}
.pp-fav-blur{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(34px) brightness(.45) saturate(1.2);transform:scale(1.15);z-index:0}
.pp-fav-photo{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;max-height:380px}
.pp-fav-tag{position:absolute;top:16px;left:16px;z-index:2;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:rgba(13,12,8,.72);backdrop-filter:blur(10px);border:1px solid var(--glass-border-amber);color:var(--amber);padding:6px 14px;border-radius:100px}
.pp-fav-banner-body{padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;justify-content:center;gap:13px}
.pp-fav-banner-title{font-family:var(--font-display);font-size:clamp(26px,3vw,42px);line-height:1;margin:0}
.pp-fav-banner-title a{color:var(--cream);text-decoration:none}
.pp-fav-author{display:flex;align-items:center;gap:10px;text-decoration:none}
.pp-fav-author img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--glass-border-amber)}
.pp-fav-author span{color:var(--cream);font-weight:700;font-size:14px}
.pp-fav-author em{display:block;font-style:normal;font-size:10px;color:var(--amber)}
.pp-fav-meta{font-size:13px;color:var(--amber);font-weight:700}
@media(max-width:768px){
  .pp-fav-banner{grid-template-columns:1fr;max-height:none}
  .pp-fav-banner-img{min-height:240px}
  .pp-fav-photo{max-height:320px}
}

/* The Gallery — 3-row horizontal scroll */
.pp-hgrid-wrap{position:relative}
.pp-hgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:start}
/* hgrid is now a vertical 2-col grid (no horizontal scroll) */



.pp-hgrid>*{height:auto}
.pp-hgrid .pp-photo-card{margin:0!important}
.pp-hgrid .pp-empty-full{grid-column:1/-1;width:100%}
.pp-hgrid-hint{display:none}
@media(max-width:1200px){ .pp-hgrid{grid-template-columns:repeat(4,1fr)} }
@media(max-width:900px){ .pp-hgrid{grid-template-columns:repeat(3,1fr);gap:12px} .pp-hgrid-hint{display:none} }
@media(max-width:600px){ .pp-hgrid{grid-template-columns:repeat(2,1fr);gap:10px} }
@media(max-width:380px){ .pp-hgrid{grid-template-columns:1fr} }

/* ════ HERO TEXT REFINEMENT ════ */
.pp-hero-content{max-width:1100px;margin-inline:auto}
.pp-hero-title{font-size:clamp(64px,12vw,180px)!important;max-width:none}
.pp-hero-sub{
  font-family:var(--font-body)!important;
  font-style:normal!important;
  text-transform:uppercase;
  letter-spacing:3.5px;
  font-weight:500;
  font-size:clamp(12px,1.3vw,15px)!important;
  color:#9b958a!important;
  max-width:640px!important;
  line-height:2!important;
  margin:24px auto 34px!important;
}
@media(max-width:768px){
  .pp-hero-sub{letter-spacing:2px;line-height:1.9!important;font-size:12px!important}
}

/* ════ HERO KICKER + WIDER TEXT ════ */
.pp-hero-kicker{display:inline-block;font-family:'Sora',var(--font-body),sans-serif;font-size:12px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--amber);margin-bottom:18px;padding:7px 18px;border:1px solid var(--glass-border-amber);border-radius:100px;background:rgba(245,160,32,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pp-hero-content{max-width:900px;margin-inline:auto;padding-inline:20px}
.pp-hero-credit{font-family:'Sora',var(--font-body),sans-serif;letter-spacing:.3px}
@media(max-width:768px){.pp-hero-kicker{font-size:10px;letter-spacing:2.5px;padding:6px 14px}}

/* HERO KICKER CENTER + tighter caption */
.pp-hero-content{text-align:center}
.pp-hero-kicker{margin-left:auto;margin-right:auto}
.pp-hero-sub{max-width:560px}

/* ONBOARDING FAILSAFE — step 1 visible even if JS is slow/blocked */
.pp-ob-step{display:none}
.pp-ob-step:first-of-type{display:block}
.pp-ob-step#pp-ob-1{display:block}

/* ═══ FRONT-END ADMIN BAR ═══ */
.pp-fe-admin-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:9995;display:flex;align-items:center;gap:8px;background:rgba(13,12,8,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-amber);border-radius:100px;padding:8px 10px 8px 16px;box-shadow:var(--glass-shadow-lg)}
.pp-fe-admin-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--amber)}
.pp-fe-btn{font-size:12px;font-weight:600;font-family:var(--font-body);background:rgba(255,255,255,.06);border:1px solid var(--glass-border);color:var(--cream);padding:8px 14px;border-radius:100px;cursor:pointer;transition:all .2s;white-space:nowrap}
.pp-fe-btn:hover{border-color:var(--glass-border-amber);background:rgba(245,160,32,.1)}
.pp-fe-btn.on{background:rgba(245,160,32,.16);border-color:var(--amber);color:var(--amber)}
.pp-fe-btn:disabled{opacity:.5;cursor:wait}
@media(max-width:640px){
  .pp-fe-admin-bar{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);bottom:74px;border-radius:16px}
  .pp-fe-btn{font-size:11px;padding:7px 11px}
}
body.admin-bar .pp-fe-admin-bar{bottom:20px}

/* ════════════════════════════════════════════════════════════
   ✦ SUBTLE PREMIUM POLISH (v4.1.3) — refine, don't redesign
   No layout changes, no new heavy blur. Just finish quality.
═══════════════════════════════════════════════════════════════ */

/* 1. Smooth image fade-in (no jarring pop as photos load) */
.pp-photo-card img,.pp-trend-avatar,.pp-fav-photo,.pp-potw-photo{
  animation:pp-img-fade .6s var(--ease-premium) both;
}
@keyframes pp-img-fade{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}

/* 2. Typography rhythm — slightly tighter, more intentional headings */
.pp-section-title{letter-spacing:.5px;line-height:.98}
.pp-label{letter-spacing:3px}
.pp-topic-body p,.pp-section-desc{line-height:1.75}
h1,h2,h3,h4{text-wrap:balance}

/* 3. Unified hover lift — one consistent motion across all interactive cards */
.pp-photo-card,.pp-trend-card,.pp-comm-row,.pp-biz-card,.pp-dash-summary-card,.pp-ach-card.unlocked{
  will-change:transform;
}
.pp-trend-card:hover,.pp-comm-row:hover{transform:translateY(-3px)}

/* 4. Signature touch — animated amber underline under section titles */
.pp-section-title{position:relative;display:inline-block}
.pp-section-title::after{
  content:'';position:absolute;left:0;bottom:-8px;height:2px;width:0;
  background:linear-gradient(90deg,var(--amber),transparent);
  transition:width 1.1s var(--ease-premium);border-radius:2px;
}
.pp-section-title.pp-seen::after,.pp-section:hover .pp-section-title::after{width:64px}

/* 5. Buttons — slightly more refined press feedback */
.pp-btn{transition:transform .2s var(--ease-premium),box-shadow .3s var(--ease-premium),background .25s,filter .25s}
.pp-btn:active{transform:translateY(1px) scale(.985)}

/* 6. Focus-visible rings (accessibility + looks intentional) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--glass-border-amber);outline-offset:2px;border-radius:6px;
}

/* 7. Slightly crisper glass — marginal opacity bump for legibility, not more blur */
.pp-nav-dropdown,.pp-modal-card{border-color:rgba(255,255,255,.1)}

/* 8. Smooth anchor scrolling already global; add gentle section reveal */
.pp-section{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .pp-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-premium),transform .7s var(--ease-premium)}
  .pp-reveal.pp-seen{opacity:1;transform:none}
}

/* 9. Avatars — consistent subtle ring everywhere */
.pp-comm-av,.pp-fm-row img,.pp-msg-conv img{box-shadow:0 0 0 1px rgba(255,255,255,.06)}

/* 10. Scrollbar polish (desktop) — thin amber, matches brand */
@media(min-width:769px){
  *{scrollbar-width:thin;scrollbar-color:rgba(245,160,32,.3) transparent}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:rgba(245,160,32,.28);border-radius:10px;border:2px solid transparent;background-clip:content-box}
  ::-webkit-scrollbar-thumb:hover{background:rgba(245,160,32,.5);background-clip:content-box}
}

/* ════ CHAT: read receipts + typing indicator (v4.1.4) ════ */
.pp-msg-bubble em{display:inline-flex;align-items:center;gap:4px}
.pp-tick{font-style:normal;font-size:11px;opacity:.6;letter-spacing:-1px}
.pp-tick.read{opacity:1;color:#4fc3f7} /* double-blue when read */
.pp-msg-bubble.mine .pp-tick{color:rgba(255,255,255,.7)}
.pp-msg-bubble.mine .pp-tick.read{color:#4fc3f7}

/* typing indicator — three animated dots */
.pp-msg-bubble.typing span{display:inline-flex;gap:4px;align-items:center;padding:4px 2px}
.pp-msg-bubble.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);display:inline-block;animation:pp-typing 1.2s infinite ease-in-out}
.pp-msg-bubble.typing i:nth-child(2){animation-delay:.2s}
.pp-msg-bubble.typing i:nth-child(3){animation-delay:.4s}
@keyframes pp-typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}

/* ✦ BRAND SIGNATURE DOT — amber '.' in PIXEL.PIONEERS for display type */
.pp-dot{
  color:var(--amber)!important;
  font-style:normal!important;
  font-weight:inherit;
  display:inline;
  white-space:nowrap;       /* never break around the dot */
}
/* Hero wraps normally; only the dot+adjacent stays together so PIONEERS never splits */
.pp-hero-title{white-space:normal;overflow-wrap:break-word;hyphens:none}
.pp-dot{white-space:nowrap}

/* POTW standard panel — shorter on mobile */
@media(max-width:768px){ .pp-potw-img{min-height:300px;max-height:440px} }
@media(max-width:480px){ .pp-potw-img{min-height:240px;max-height:380px} }

/* ═══ MOBILE HERO FIX v4.4.9 — guarantees fit on every screen ═══ */
.pp-hero{padding-left:20px;padding-right:20px}
.pp-hero-content{width:100%;max-width:900px;margin-inline:auto;box-sizing:border-box;padding-inline:4px}
.pp-hero-title,.pp-hero h1{
  font-size:clamp(38px,11vw,150px)!important;  /* scales smoothly, never overflows */
  line-height:.95!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  max-width:100%!important;
}
.pp-hero-kicker{
  max-width:calc(100vw - 48px);box-sizing:border-box;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pp-hero-sub{max-width:min(680px,90vw)!important;letter-spacing:.3px!important;padding-inline:8px;box-sizing:border-box}
.pp-hero-credit{max-width:90vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
.pp-hero-cta,.pp-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px}
.pp-hero-cta .pp-btn,.pp-hero-actions .pp-btn{white-space:nowrap}

@media(max-width:600px){
  .pp-hero-title,.pp-hero h1{font-size:clamp(34px,12vw,72px)!important;letter-spacing:-.5px!important}
  .pp-hero-kicker{font-size:9px!important;letter-spacing:1.5px!important;padding:5px 12px!important}
  .pp-hero-sub{font-size:14px!important;letter-spacing:.2px!important;line-height:1.55!important;margin:18px auto 26px!important}
  .pp-hero{min-height:auto!important;padding-top:90px;padding-bottom:50px;height:auto!important}
}
@media(max-width:380px){
  .pp-hero-title,.pp-hero h1{font-size:clamp(30px,13vw,56px)!important}
}

/* ═══ UNIVERSAL RESPONSIVE SAFETY NET v4.5.0 ═══
   Guarantees the site fits ANY screen: phone/tablet/laptop/monitor, portrait OR landscape. */

/* 1. Hard stop on horizontal scroll, anywhere */
html,body{max-width:100%;overflow-x:hidden}
*{max-width:100%}                 /* nothing can exceed its container */
img,video,iframe,svg{max-width:100%;height:auto}

/* 2. Landscape phones/tablets — the tall hero must not eat the whole screen */
@media (orientation:landscape) and (max-height:520px){
  .pp-hero{min-height:auto!important;height:auto!important;padding-top:80px;padding-bottom:40px}
  .pp-hero-title,.pp-hero h1{font-size:clamp(28px,8vh,64px)!important}
  .pp-hero-sub{font-size:13px!important;margin:12px auto 18px!important}
}

/* 3. Very small phones (320-360px) — tighten everything that could overflow */
@media (max-width:360px){
  .pp-container,.pp-section{padding-left:14px!important;padding-right:14px!important}
  .pp-hero-cta,.pp-hero-actions{width:100%}
  .pp-hero-cta .pp-btn,.pp-hero-actions .pp-btn{flex:1 1 100%;text-align:center}
}

/* 4. Ultra-wide monitors (1920px+) — cap content so it doesn't stretch uncomfortably */
@media (min-width:1920px){
  .pp-container{max-width:1600px;margin-inline:auto}
}

/* 5. Tablets in portrait — sensible 2-col where desktop is 3-4 */
@media (min-width:600px) and (max-width:900px){
  .pp-hgrid{grid-template-columns:repeat(3,1fr)}
}

/* 6. Tables / wide content scroll inside their box, not the page */
table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* 7. Long words/URLs wrap instead of pushing width */
p,span,a,h1,h2,h3,h4,li{overflow-wrap:break-word;word-break:normal}

/* ═══════════════════════════════════════════════════════════
   NOTIFICATION DROPDOWN — pin to the bell, responsive, never clip
   (overrides the old ≤1366px-only anchoring that let it overflow
    off the right edge on wider screens). v4.6.2
═══════════════════════════════════════════════════════════ */
.pp-notification-menu{position:relative}
.pp-notification-menu .pp-nav-dropdown,
.pp-notification-dropdown{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;            /* anchor to the right edge of the bell */
  left:auto!important;          /* expand leftwards, so it can't run off-screen */
  width:clamp(280px,92vw,360px)!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(70vh,520px)!important;
  overflow-y:auto!important;
}
/* Phones: become a tidy full-width sheet pinned under the header */
@media(max-width:520px){
  .pp-notification-menu .pp-nav-dropdown,
  .pp-notification-dropdown{
    position:fixed!important;
    top:62px!important;
    right:10px!important;
    left:10px!important;
    width:auto!important;
    max-width:none!important;
  }
}

/* ═══ BRAND LOGO — nav wordmark + hero lockup (folded into canonical theme) v4.6.4 ═══ */
.pp-logo-img{ height:26px; width:auto; display:block; }
@media(max-width:1080px){ .pp-logo-img{ height:24px; } }
@media(max-width:480px){ .pp-logo-img{ height:21px; } }
.pp-hero-logo{ display:block; width:min(90vw,1040px); height:auto; margin:0 auto; }
@media(min-width:1600px){ .pp-hero-logo{ width:min(72vw,1180px); } }

/* ═══ RICH-TEXT EDITOR for community posts (v4.6.7) ═══ */
.pp-rte{border:1px solid var(--border,rgba(236,230,216,.16));border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2)}
.pp-rte-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:7px 8px;border-bottom:1px solid var(--border,rgba(236,230,216,.14));background:rgba(255,255,255,.03)}
.pp-rte-bar button{min-width:30px;height:28px;padding:0 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--cream,#ece6d8);font-size:12.5px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.pp-rte-bar button:hover{background:rgba(245,160,32,.16);border-color:rgba(245,160,32,.35)}
.pp-rte-sep{width:1px;height:18px;background:rgba(236,230,216,.16);margin:0 4px}
.pp-rte-sw{width:18px;height:18px;min-width:18px!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(0,0,0,.4)!important}
.pp-rte-sw:hover{transform:scale(1.12)}
.pp-rte-area{min-height:130px;max-height:420px;overflow-y:auto;padding:12px 14px;color:var(--cream,#ece6d8);font-size:14px;line-height:1.7;outline:none}
.pp-rte-area:empty:before{content:attr(data-placeholder);color:var(--muted,#8c8678)}
.pp-rte-area ul{padding-left:22px;list-style:disc}
.pp-rte-area ol{padding-left:22px;list-style:decimal}
.pp-rte-area a{color:var(--amber,#f5a020)}
/* rendered post body honours the same formatting */
.pp-topic-body ul{padding-left:22px;list-style:disc;margin:0 0 12px}
.pp-topic-body ol{padding-left:22px;list-style:decimal;margin:0 0 12px}
.pp-topic-body a{color:var(--amber,#f5a020)}
