/* Unified visual language. Loaded last so every template follows one contract. */
:root {
  --digi-primary: #f58220;
  --digi-primary-hover: #dc6e0c;
  --digi-primary-active: #c45e06;
  --digi-primary-light: #fff3e8;
  --digi-primary-soft: #fff8f1;
  --digi-background: #f6f7f9;
  --digi-card: #fff;
  --digi-surface-subtle: #f9fafb;
  --digi-text: #202124;
  --digi-text-secondary: #4f5359;
  --digi-muted: #7c828a;
  --digi-disabled: #aeb3ba;
  --digi-border: #e4e7eb;
  --digi-border-strong: #d5d9de;
  --digi-success: #168a42;
  --digi-warning: #b66b00;
  --digi-error: #d62828;
  --digi-live-badge: #e63b3b;
  --digi-live-bg: #ffebeb;

  --font-family: 'Yekan Bakh FaNum', Tahoma, Arial, system-ui, sans-serif;
  --type-caption: 0.75rem;
  --type-small: 0.875rem;
  --type-body: 1rem;
  --type-lead: 1.125rem;
  --type-h6: 1rem;
  --type-h5: 1.125rem;
  --type-h4: 1.25rem;
  --type-h3: clamp(1.25rem, 1.17rem + .3vw, 1.5rem);
  --type-h2: clamp(1.5rem, 1.32rem + .55vw, 1.875rem);
  --type-h1: clamp(1.875rem, 1.55rem + 1.1vw, 2.625rem);
  --line-compact: 1.45;
  --line-body: 1.75;
  --line-heading: 1.35;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --space-12: 6rem;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-card: 16px;
  --radius-lg: 20px;
  --shadow-card: 0 8px 28px rgba(32, 33, 36, .06);
  --shadow-card-hover: 0 12px 34px rgba(32, 33, 36, .1);
  --transition-fast: 150ms ease;
  --transition-base: 240ms ease;
}

html { font-size: 16px; }
body,
button,
input,
textarea,
select,
option { font-family: var(--font-family) !important; }
body *:not(code):not(pre):not(kbd):not(samp) { font-family: var(--font-family) !important; }
body { color: var(--digi-text); background: var(--digi-background); font-size: var(--type-body); line-height: var(--line-body); }
p, li, dd, dt { line-height: var(--line-body); }
h1, h2, h3, h4, h5, h6 { color: var(--digi-text); font-weight: 800; line-height: var(--line-heading); letter-spacing: 0; }
h1 { font-size: var(--type-h1); } h2 { font-size: var(--type-h2); } h3 { font-size: var(--type-h3); }
h4 { font-size: var(--type-h4); } h5 { font-size: var(--type-h5); } h6 { font-size: var(--type-h6); }
small, time, figcaption { font-size: var(--type-caption); line-height: var(--line-compact); }
a { transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast); }
::selection { color: #fff; background: var(--digi-primary); }

/* Surfaces and cards */
.digi-card,
.digi-widget,
.digi-post-card,
.digi-news-card,
.digi-tournament-card,
.digi-tournament-list-card,
.digi-ranking-table-wrap,
.digi-tournament-single__card,
.ta-account,
.ta-steps,
.ta-main {
  border-color: var(--digi-border);
  background-color: var(--digi-card);
  box-shadow: var(--shadow-card);
}
.digi-card,
.digi-widget,
.digi-ranking-table-wrap { border-radius: var(--radius-card); }

/* One control language */
button,
input,
select,
textarea { font-size: var(--type-small); }
input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']),
select,
textarea,
.digi-input {
  border-color: var(--digi-border) !important;
  border-radius: var(--radius-md) !important;
  background-color: var(--digi-card);
  color: var(--digi-text);
  line-height: var(--line-compact);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);
}
input::placeholder, textarea::placeholder { color: var(--digi-disabled) !important; opacity: 1; }
input:focus, select:focus, textarea:focus {
  border-color: var(--digi-primary) !important;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(245, 130, 32, .16) !important;
}
.digi-btn,
button[type='submit'],
input[type='submit'],
.ta-primary {
  border-radius: var(--radius-sm);
  font-size: var(--type-small);
  font-weight: 700;
  line-height: 1.2;
}
.digi-btn--primary,
button[type='submit'],
input[type='submit'],
.ta-primary { border-color: var(--digi-primary); background: var(--digi-primary); color: #fff; }
.digi-btn--primary:hover,
button[type='submit']:hover,
input[type='submit']:hover,
.ta-primary:hover { border-color: var(--digi-primary-hover); background: var(--digi-primary-hover); color: #fff; }
:focus-visible { outline: 3px solid rgba(245, 130, 32, .38); outline-offset: 2px; }

/* Shared component type ratios */
.digi-section__title,
.digi-widget__title { font-size: var(--type-h4) !important; font-weight: 800; }
.digi-post-card__title,
.digi-news-card__title,
.digi-tournament-card__title,
.digi-tournament-list-card__content h3 { font-size: var(--type-h6) !important; line-height: var(--line-compact); }
.digi-post-card__excerpt,
.digi-news-card__excerpt,
.digi-tournament-card__excerpt { color: var(--digi-text-secondary) !important; font-size: var(--type-small) !important; line-height: var(--line-body); }
.digi-post-card__meta,
.digi-news-card__date,
.digi-tournament-list-card__status,
.digi-ranking__count { color: var(--digi-muted) !important; font-size: var(--type-caption) !important; }
.digi-table,
.digi-ranking-table,
.digi-participants__table { color: var(--digi-text-secondary); font-size: var(--type-small); }
.digi-table th,
.digi-ranking-table th,
.digi-participants__table th { color: var(--digi-text); background: var(--digi-surface-subtle); font-size: var(--type-caption); font-weight: 700; }
.digi-table td,
.digi-table th,
.digi-ranking-table td,
.digi-ranking-table th { border-color: var(--digi-border); }

/* Normalize the orange and neutral families used by older page CSS. */
.digi-dashboard .digi-btn--primary,
.digi-ranking-filter button.is-active,
.digi-tournament-tabs button[aria-selected='true'],
.digi-draw__tabs button.is-active,
.digi-tournament-archive__hero-filters button.is-active { color: var(--digi-primary); border-color: var(--digi-primary); }
.digi-dashboard .digi-btn--primary,
.digi-tournament-archive__hero-filters button.is-active { background: var(--digi-primary); color: #fff; }
.digi-ranking__pts,
.digi-news__all-link,
.digi-draw__tabs button.is-active,
.digi-tournament-tabs button[aria-selected='true'] { color: var(--digi-primary) !important; }
.digi-live-indicator,
.digi-tournament-list-card__status i,
.digi-draw__tabs button.is-active::after { background-color: var(--digi-primary) !important; }

/* Compact UI remains compact, but no illegible 7–10px text. */
.digi-dashboard .digi-live__match-row,
.digi-dashboard .digi-live__search input,
.digi-dashboard .digi-filterbar__filter,
.digi-dashboard .digi-filterbar__date,
.digi-dashboard .digi-news__all-link,
.digi-dashboard .digi-news-card.is-compact .digi-news-card__title,
.digi-tournament-list-card__content p,
.digi-tournament-list-card__status { font-size: var(--type-caption) !important; }
.digi-dashboard .digi-news-card__title { font-size: var(--type-small) !important; }
.digi-dashboard .digi-news-card__excerpt { font-size: var(--type-caption) !important; }
.digi-dashboard .digi-live__league-header,
.digi-dashboard .digi-live__round-tag,
.digi-dashboard .digi-live__score small { font-size: .6875rem !important; }

/* Status colors keep their semantic meaning across all screens. */
.digi-registration-state--approved,
.digi-tournament-list-card__status--ongoing,
.digi-tournament-list-card__status--live { color: var(--digi-success); }
.digi-registration-state--rejected,
.digi-tournament-archive__status.is-error { color: var(--digi-error); }

@media (max-width: 767px) {
  :root { --type-body: .9375rem; --type-small: .8125rem; --type-caption: .75rem; }
  body { line-height: 1.7; }
  .digi-card, .digi-widget, .digi-ranking-table-wrap { border-radius: var(--radius-md); }
}
