/* eu-portal-dark.css — Black theme for all body.sh-public EU portal pages */

body.sh-public {
  --sh-bg: #0d1117;
  --sh-white: #1c2128;
  --sh-surface: #1c2128;
  --sh-surface-2: #21262d;
  --sh-text: #e2e8f0;
  --sh-muted: #8b949e;
  --sh-border: rgba(255, 255, 255, 0.08);
  --sh-dark: #0d1117;
  --sh-dark2: #161b22;
  --sh-dark3: #21262d;
  --sh-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  --sh-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.45);
  background: #0d1117;
  color: #e2e8f0;
}

/* ── Header & nav ─────────────────────────── */
body.sh-public .sh-site-header {
  background: rgba(13, 17, 23, 0.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.sh-public .sh-cat-nav {
  background: #161b22;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.sh-public .sh-cat-item {
  color: #8b949e;
}

body.sh-public .sh-cat-item:hover,
body.sh-public .sh-cat-item.active {
  background: rgba(220, 38, 38, 0.12);
  color: #f87171;
  border-color: rgba(220, 38, 38, 0.25);
}

body.sh-public .sh-ticker {
  background: linear-gradient(90deg, #dc2626, #b91c1c);
}

body.sh-public .sh-brand-here {
  color: #f4a261;
}

body.sh-public .sh-main,
body.sh-public .confirm-page,
body.sh-public .auth-page {
  background: #0d1117;
}

/* ── Cards & widgets ──────────────────────── */
body.sh-public .sh-card,
body.sh-public .sh-card-body {
  background: #1c2128;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

body.sh-public .sh-card-header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: #161b22;
}

body.sh-public .sh-card-header h3,
body.sh-public h2,
body.sh-public h3,
body.sh-public .top-contributors-h-head h2 {
  color: #e2e8f0;
}

body.sh-public .sh-card-footer {
  background: #161b22;
  border-top-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .sh-widget {
  background: #1c2128;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

body.sh-public .sh-widget-body {
  background: #1c2128;
}

body.sh-public .sh-widget-header {
  background: #161b22;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* ── News cards ───────────────────────────── */
body.sh-public .sh-news-card {
  background: #1c2128;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

body.sh-public .sh-news-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

body.sh-public .sh-news-card-title {
  color: #e2e8f0;
}

body.sh-public .sh-news-meta {
  color: #8b949e;
}

/* ── Category / regional layout ───────────── */
body.sh-public .feat-article,
body.sh-public .travel-contributors {
  background: #1c2128 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

body.sh-public .feat-article-title {
  color: #e2e8f0;
}

body.sh-public .feat-article-desc,
body.sh-public .feat-article-meta {
  color: #8b949e;
}

body.sh-public .travel-promo {
  background: #21262d !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

body.sh-public .travel-promo-label {
  color: #e2e8f0;
}

body.sh-public .travel-promo-luggage {
  background: #2a2218 !important;
}

body.sh-public .travel-contributors-title {
  color: #8b949e;
}

body.sh-public .contrib-grid .sh-contributor-name {
  color: #e2e8f0;
}

/* ── Opinion / slots (home) ───────────────── */
body.sh-public .sh-opinion-compact,
body.sh-public .sh-opinion-bar {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.22) 0%, rgba(244, 162, 97, 0.14) 50%, rgba(220, 38, 38, 0.18) 100%);
  border-color: rgba(244, 162, 97, 0.45);
}

/* ── Contributors (home) ──────────────────── */
body.sh-public .contributor-h-card,
body.sh-public .contributor-h-card--featured,
body.sh-public .contributor-h-card--scroll {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .contributor-h-card:hover,
body.sh-public .contributor-h-card--featured:hover,
body.sh-public .contributor-h-card--scroll:hover {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.14);
}

body.sh-public .contributor-h-card .sh-contributor-name {
  color: #e2e8f0;
}

body.sh-public .contributor-h-card .sh-contributor-stats {
  color: #8b949e;
}

/* ── Region filter ────────────────────────── */
body.sh-public .sh-region-btn {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: #8b949e;
}

body.sh-public .sh-region-btn:hover,
body.sh-public .sh-region-btn.active {
  background: rgba(76, 201, 240, 0.1);
  border-color: rgba(76, 201, 240, 0.3);
  color: #4cc9f0;
}

body.sh-public .rf-news-card {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .rf-news-card:hover {
  border-color: rgba(220, 38, 38, 0.45);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

body.sh-public .rf-news-card .rf-title {
  color: #e2e8f0;
}

body.sh-public .rf-news-card .rf-meta {
  color: #8b949e;
}

body.sh-public .rf-region-head {
  color: #f87171;
}

body.sh-public .rf-region-head span {
  color: #8b949e;
}

body.sh-public .rf-dot {
  background: rgba(255, 255, 255, 0.15);
}

body.sh-public .rf-dot.active {
  background: #dc2626;
}

body.sh-public .sh-activity-item a {
  color: #e2e8f0 !important;
}

/* ── Topic cards (opinion entry) ──────────── */
body.sh-public .topic-card {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .topic-card:hover,
body.sh-public .topic-card.selected {
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.35);
}

body.sh-public .topic-card .tc-title {
  color: #e2e8f0;
}

body.sh-public .topic-card .tc-meta {
  color: #8b949e;
}

/* ── My account ───────────────────────────── */
body.sh-public .ma-tab {
  color: #8b949e;
}

body.sh-public .ma-tab:hover {
  background: #21262d;
  color: #e2e8f0;
}

body.sh-public .ma-tab.active {
  color: #f87171;
  background: #1c2128;
  border-bottom-color: #dc2626;
}

body.sh-public .ma-stat,
body.sh-public .ma-card {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .ma-card-header {
  background: #161b22;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .ma-act {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
}

body.sh-public .ma-act:hover {
  background: #2d333b;
}

body.sh-public .pf-input,
body.sh-public .pf-select,
body.sh-public .pf-textarea {
  background: #0d1117;
  border-color: rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
}

body.sh-public .pf-label {
  color: #e2e8f0;
}

body.sh-public .pf-input.pf-readonly,
body.sh-public .pf-select:disabled {
  background: #161b22;
  border-color: rgba(255, 255, 255, 0.08);
  color: #8b949e;
}

body.sh-public .pf-topic-item {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
}

body.sh-public .expiry-bar {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
}

body.sh-public .ma-stat .val,
body.sh-public .ma-card-head h3,
body.sh-public .intern-name,
body.sh-public .op-title,
body.sh-public .on-title,
body.sh-public .plan-name,
body.sh-public .ma-plan-name {
  color: #e2e8f0;
}

body.sh-public .plan-feats,
body.sh-public .ma-plan-feats {
  color: #c9d1d9;
}

body.sh-public .plan-current {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.1), #1c2128);
  border-color: rgba(220, 38, 38, 0.35);
}

body.sh-public .ma-plan-card {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .ma-plan-card--active {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.12), #1c2128);
  border-color: rgba(220, 38, 38, 0.45);
}

body.sh-public .ma-plan-meta span {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
}

body.sh-public .ma-table th {
  background: #161b22;
  color: #8b949e;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .ma-table td {
  border-bottom-color: rgba(255, 255, 255, 0.06);
  color: #e2e8f0;
}

body.sh-public .ma-modal-box {
  background: #1c2128;
  color: #e2e8f0;
}

body.sh-public .ma-modal-head {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .ma-modal-foot {
  background: #161b22;
  border-top-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .on-item {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .on-item:hover {
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.35);
}

/* ── Auth / register ──────────────────────── */
body.sh-public .auth-card {
  background: #1c2128;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

body.sh-public .auth-tabs {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .auth-tab {
  color: #8b949e;
}

body.sh-public .auth-tab.active {
  color: #f87171;
  border-bottom-color: #dc2626;
}

body.sh-public .auth-body label,
body.sh-public .auth-body .field-label {
  color: #c9d1d9;
}

body.sh-public .auth-body input,
body.sh-public .auth-body select {
  background: #0d1117;
  border-color: rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
}

body.sh-public .demo-btn,
body.sh-public .captcha-box,
body.sh-public .auth-footer {
  background: #161b22;
  border-color: rgba(255, 255, 255, 0.08);
  color: #8b949e;
}

/* ── Confirmation page ────────────────────── */
body.sh-public .confirm-hero {
  color: #e2e8f0;
}

body.sh-public .trail-circle {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.12);
  color: #8b949e;
}

body.sh-public .trail-circle.done {
  background: rgba(34, 197, 94, 0.15);
  border-color: #22c55e;
  color: #4ade80;
}

body.sh-public .trail-circle.active {
  background: rgba(220, 38, 38, 0.15);
  border-color: #dc2626;
  color: #f87171;
}

/* ── Careers ──────────────────────────────── */
body.sh-public .careers-job-card {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .careers-job-card:hover {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

body.sh-public .job-exp-pill {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.08);
  color: #8b949e;
}

body.sh-public .careers-job-req {
  background: #161b22;
  color: #8b949e;
}

body.sh-public .careers-empty {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.12);
  color: #8b949e;
}

/* ── Alerts & misc ────────────────────────── */
body.sh-public .sh-alert-info {
  background: rgba(56, 189, 248, 0.08);
  border-color: rgba(56, 189, 248, 0.25);
  color: #7dd3fc;
}

body.sh-public .sh-alert-warning {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
  color: #fcd34d;
}

body.sh-public .sh-btn-ghost {
  color: #8b949e;
  border-color: rgba(255, 255, 255, 0.12);
}

body.sh-public .sh-btn-ghost:hover {
  background: #21262d;
  color: #e2e8f0;
}

body.sh-public .sh-text-muted {
  color: #8b949e !important;
}

body.sh-public .ftt-ad-title {
  color: #e2e8f0;
}

body.sh-public .ftt-ad-sub {
  color: #8b949e;
}

/* ── Opinions modal ───────────────────────── */
body.sh-public .sh-opinions-modal {
  background: #1c2128;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.sh-public .sh-opinions-modal-header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: #161b22;
}

body.sh-public .sh-opinions-modal-header h3 {
  color: #e2e8f0;
}

body.sh-public .sh-opinion-video-card {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .sh-opinion-video-body .ov-name {
  color: #e2e8f0;
}

/* ── Footer ───────────────────────────────── */
body.sh-public .sh-footer {
  background: #0d1117;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 0;
}

/* ── Scrollbars ───────────────────────────── */
body.sh-public .top-contributors-h-scroll::-webkit-scrollbar-thumb,
body.sh-public .rf-news-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
}

/* ── Opinion entry steps ──────────────────── */
body.sh-public .step-circle {
  background: #1c2128;
  border-color: rgba(255, 255, 255, 0.12);
  color: #8b949e;
}

body.sh-public .step-item.active .step-circle {
  background: #dc2626;
  border-color: #dc2626;
  color: #fff;
}

body.sh-public .step-item.done .step-circle {
  background: rgba(34, 197, 94, 0.15);
  border-color: #22c55e;
  color: #4ade80;
}

/* ── Careers extras ───────────────────────── */
body.sh-public .careers-job-title,
body.sh-public .careers-empty h3 {
  color: #e2e8f0;
}

body.sh-public .careers-general-cta {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.1), #1c2128);
  border-color: rgba(220, 38, 38, 0.25);
}

body.sh-public .careers-job-card:hover {
  border-color: rgba(255, 255, 255, 0.14) !important;
}

/* ── Internship (SHIP) ───────────────────── */
body.sh-public .why-card,
body.sh-public .testimonial-card,
body.sh-public .reg-form-wrap {
  background: #1c2128 !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

body.sh-public .why-card h3,
body.sh-public .role-step-title,
body.sh-public .journey-title,
body.sh-public .testimonial-name,
body.sh-public .section-title,
body.sh-public .form-label,
body.sh-public .cv-upload-zone .cv-name {
  color: #e2e8f0;
}

body.sh-public .role-step {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sh-public .form-input,
body.sh-public .form-select,
body.sh-public .form-textarea {
  background: #0d1117;
  border-color: rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
}

body.sh-public .cv-upload-zone {
  background: #161b22;
  border-color: rgba(255, 255, 255, 0.12);
}

body.sh-public .cv-upload-zone:hover,
body.sh-public .cv-upload-zone.has-file {
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.35);
}

body.sh-public .eligibility-list li {
  background: #21262d;
  border-color: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
}

/* ── Notification panel (light panel on dark theme) ── */
body.sh-public .sh-notify-panel-hdr {
  color: #1e293b;
}

body.sh-public .sh-notify-item-body {
  color: #475569;
}

/* ── Article / prose ──────────────────────── */
body.sh-public .sh-card-body p,
body.sh-public .sh-card-body li {
  color: #c9d1d9;
}

body.sh-public h1 {
  color: #e2e8f0;
}
