/* ── Revealed Portal Design System ───────────────────────────────────────
   Loaded after each portal's inline <style> to extend the shared language.
   Do not override portal-specific layout (sidebar widths, grid, etc.)
   ──────────────────────────────────────────────────────────────────────── */

/* ── GRADIENT TOP LINE ── */
.rv-portal-topline {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(105,103,227,0.7) 25%,
    rgba(45,212,191,0.5) 75%,
    transparent 100%);
  z-index: 1000;
  pointer-events: none;
}

/* ── SECTION HEADINGS ── */
.rv-portal-h1,
.rv-portal-h2,
.rv-portal-h3 {
  font-family: 'DM Serif Display', serif;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #f0eee8;
  line-height: 1.1;
}
.rv-portal-h1 { font-size: clamp(28px, 3vw, 42px); }
.rv-portal-h2 { font-size: clamp(22px, 2.4vw, 32px); }
.rv-portal-h3 { font-size: clamp(18px, 1.8vw, 24px); }

/* ── GHOST BUTTONS (matches marketing site style) ── */
@keyframes rv-border-spin {
  to { --angle: 360deg; }
}
@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

.rv-ghost-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  transition: opacity 0.15s, transform 0.15s;
  background: rgba(8,8,8,0.92);
  color: #fff;
  border: 1px solid transparent;
}
.rv-ghost-btn:hover { opacity: 0.82; transform: translateY(-1px); }

.rv-ghost-btn-emp {
  background-image:
    linear-gradient(rgba(8,8,8,0.92), rgba(8,8,8,0.92)),
    conic-gradient(from var(--angle), #6967e3 0%, #2dd4bf 50%, #6967e3 100%);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  animation: rv-border-spin 5s linear infinite;
  box-shadow: 0 0 18px rgba(105,103,227,0.25);
  color: #fff !important;
}

.rv-ghost-btn-tal {
  background-image:
    linear-gradient(rgba(8,8,8,0.92), rgba(8,8,8,0.92)),
    conic-gradient(from var(--angle), #2dd4bf 0%, #6967e3 50%, #2dd4bf 100%);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  animation: rv-border-spin 5s linear infinite;
  box-shadow: 0 0 18px rgba(45,212,191,0.2);
  color: #fff !important;
}

/* ── PRIMARY BUTTON GHOST STYLE ── */
/* Overrides the solid teal fill used across talent portal pages */
.btn-primary,
.analyze-btn,
.coach-analyze-btn {
  background: rgba(8,8,8,0.92);
  background-image:
    linear-gradient(rgba(8,8,8,0.92), rgba(8,8,8,0.92)),
    conic-gradient(from var(--angle), #2dd4bf 0%, #6967e3 50%, #2dd4bf 100%);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  border: 1px solid transparent;
  color: #f0eee8;
  animation: rv-border-spin 5s linear infinite;
  box-shadow: 0 0 20px rgba(45,212,191,0.15);
  transition: opacity 0.15s, transform 0.15s, box-shadow 0.15s;
}
.btn-primary:hover:not(:disabled),
.analyze-btn:hover:not(:disabled),
.coach-analyze-btn:hover:not(:disabled) {
  opacity: 0.88;
  transform: translateY(-1px);
  box-shadow: 0 0 28px rgba(45,212,191,0.28);
}
.btn-primary:disabled,
.analyze-btn:disabled,
.coach-analyze-btn:disabled {
  animation: none;
  background-image: none;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.3);
  opacity: 1;
  transform: none;
  box-shadow: none;
  cursor: not-allowed;
}

/* ── SECTION DIVIDER ── */
.rv-portal-divider {
  border: none;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,0.07) 20%,
    rgba(255,255,255,0.07) 80%,
    transparent);
  margin: 40px 0;
}
