/* ==========================================================================
   Shared styles for archive / hub pages:
   Trader's Desk, P&L Stories, Slangs Dictionary, Graveyard, Astrology
   ========================================================================== */

/* generic archive layout reuses .vp-post-card / .vp-cat-filter / .vp-widget /
   .vp-pagination / .vp-page-banner / .vp-breadcrumb from style.css */

/* gear / equipment tags (Trader's Desk) */
.vp-gear-list{ list-style:none; padding:0; margin:0; }
.vp-gear-list li{
  display:flex; align-items:center; gap:.6rem;
  padding:.55rem 0; border-bottom:1px solid var(--vp-border); font-size:.86rem; color: var(--vp-text);
}
.vp-gear-list li:last-child{ border-bottom:none; }
.vp-gear-list i{ color: var(--vp-green); }

.vp-desk-gallery-img{ width:100%; height:150px; object-fit:cover; border-radius:.6rem; }

/* P&L stat tiles */
.vp-stat-row{ display:flex; flex-wrap:wrap; gap:.75rem; }
.vp-stat-tile{
  background: var(--vp-surface); border:1px solid var(--vp-border); border-radius:.7rem;
  padding:.9rem 1.1rem; flex:1 1 140px; box-shadow: 0 1px 3px rgba(15,23,42,.05);
}
.vp-stat-tile .vp-stat-label{ color: var(--vp-muted); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.vp-stat-tile .vp-stat-value{ color: var(--vp-text); font-weight:800; font-size:1.15rem; margin-top:.15rem; }
.vp-stat-tile.vp-stat-positive .vp-stat-value{ color: var(--vp-green-dark); }
.vp-stat-tile.vp-stat-negative .vp-stat-value{ color: var(--vp-red); }

.vp-lesson-box{
  border-left:3px solid var(--vp-green);
  background: var(--vp-bg-darker);
  padding: 1.1rem 1.4rem; border-radius:0 .6rem .6rem 0;
  color:#fff; margin: 1.5rem 0;
}
.vp-lesson-box h6{ color: var(--vp-green); font-weight:700; margin-bottom:.5rem; font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; }
.vp-lesson-box p{ margin-bottom:0; color: rgba(255,255,255,.85); }

/* P&L outcome badge variants (reuses .vp-story-tag positioning where relevant) */
.vp-outcome-win{ background: var(--vp-green); color:#04150c; }
.vp-outcome-loss{ background: var(--vp-red); color:#fff; }
.vp-outcome-comeback{ background: var(--vp-blue); color:#fff; }
.vp-outcome-blowup{ background:#3a4a5c; color:#fff; }

/* A-Z dictionary */
.vp-alpha-nav{
  display:flex; flex-wrap:wrap; gap:.4rem; padding:1rem; background: var(--vp-surface);
  border:1px solid var(--vp-border); border-radius: var(--vp-radius); box-shadow: 0 1px 3px rgba(15,23,42,.05);
  position:sticky; top:76px; z-index:10;
}
.vp-alpha-nav a{
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  border-radius:6px; color: var(--vp-text); font-weight:700; font-size:.82rem;
  background: var(--vp-surface-2);
}
.vp-alpha-nav a:hover{ background: var(--vp-green); color:#04150c; }

.vp-letter-heading{
  display:flex; align-items:center; gap:.9rem; margin: 2.2rem 0 1.1rem;
}
.vp-letter-heading .vp-letter-badge{
  width:44px; height:44px; border-radius:10px;
  background: var(--vp-bg-darker); color: var(--vp-green);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.15rem;
}
.vp-letter-heading hr{ flex:1; margin:0; border-color: var(--vp-border); opacity:1; }

.vp-term-of-day{
  background: var(--vp-bg-darker); border-radius: var(--vp-radius); padding:1.4rem 1.6rem; color:#fff;
}
.vp-term-of-day .vp-term-label{ color: var(--vp-green); font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.vp-term-of-day h3{ font-weight:800; margin:.4rem 0; }
.vp-term-of-day p{ color: rgba(255,255,255,.75); margin-bottom:0; }

/* Astrology hub */
.vp-forecast-card{
  background: var(--vp-surface); border:1px solid var(--vp-border); border-radius: var(--vp-radius);
  box-shadow: 0 1px 3px rgba(15,23,42,.05); padding:1.2rem; text-align:center; height:100%;
}
.vp-forecast-symbol{ font-size:1.7rem; color: var(--vp-green-dark); }
.vp-forecast-name{ color: var(--vp-text); font-weight:800; font-size:.95rem; margin:.2rem 0 .4rem; }
.vp-forecast-text{ color: var(--vp-muted); font-size:.8rem; line-height:1.5; margin-bottom:0; }

.vp-moon-strip{ display:flex; overflow-x:auto; gap:.9rem; padding-bottom:.5rem; }
.vp-moon-phase{
  flex:0 0 auto; width:110px; text-align:center; background: var(--vp-surface);
  border:1px solid var(--vp-border); border-radius:.8rem; padding:1rem .7rem; box-shadow: 0 1px 3px rgba(15,23,42,.05);
}
.vp-moon-phase.active{ border-color: var(--vp-green); box-shadow: 0 0 0 2px rgba(31,214,122,.15); }
.vp-moon-phase i{ font-size:1.6rem; color: var(--vp-blue); }
.vp-moon-phase .vp-moon-name{ font-weight:700; color: var(--vp-text); font-size:.8rem; margin-top:.4rem; }
.vp-moon-phase .vp-moon-date{ color: var(--vp-muted); font-size:.72rem; }

.vp-planet-row{
  display:flex; gap:1rem; align-items:flex-start; padding:1.1rem 0; border-bottom:1px solid var(--vp-border);
}
.vp-planet-row:last-child{ border-bottom:none; }
.vp-planet-icon{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem;
}
.vp-planet-row h6{ color: var(--vp-text); font-weight:800; margin-bottom:.25rem; }
.vp-planet-row p{ color: var(--vp-muted); font-size:.87rem; margin-bottom:0; }

.vp-hours-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.vp-hours-table th{ text-align:left; color: var(--vp-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; padding:.6rem .5rem; border-bottom:1px solid var(--vp-border); }
.vp-hours-table td{ padding:.7rem .5rem; border-bottom:1px solid var(--vp-border); color: var(--vp-text); }
.vp-hours-table tr:last-child td{ border-bottom:none; }

.vp-astro-cta{
  background: radial-gradient(ellipse at top right, #182a42 0%, #0a1420 60%, #060d16 100%);
  border-radius: var(--vp-radius); padding: 2rem 2.2rem; color:#fff; text-align:center;
}
.vp-astro-cta p{ color: rgba(255,255,255,.72); }
