/*
 * Özel Rüzgargülü typography contract
 *
 * Public site and administration screens share this final type layer.  Older
 * module styles remain loaded for layout compatibility, but their font
 * declarations cannot change the visual language of the application.
 */
:root {
  --rg-font-family: "Plus Jakarta Sans", Arial, sans-serif;
  --rg-font-size-body: 15px;
  --rg-font-size-small: 13px;
  --rg-font-size-xs: 12px;
  --rg-font-size-label: 14px;
  --rg-font-line-body: 1.58;
  --rg-font-h1: clamp(2rem, 3.7vw, 3.75rem);
  --rg-font-h2: clamp(1.7rem, 2.8vw, 2.7rem);
  --rg-font-h3: clamp(1.2rem, 1.7vw, 1.55rem);
}

/* One family for visible text and controls. Icon glyphs keep their own font
   because replacing an icon font with the text family breaks symbols. */
body,
body p,
body li,
body a,
body button,
body input,
body select,
body textarea,
body label,
body small,
body table,
body th,
body td,
body dt,
body dd,
body blockquote,
body figcaption,
body summary,
body legend {
  font-family: var(--rg-font-family) !important;
}

body {
  font-size: var(--rg-font-size-body) !important;
  line-height: var(--rg-font-line-body);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: var(--rg-font-family) !important;
  font-style: normal !important;
}

/* Component styles own the hierarchy (hero, cards, footer, and articles).
   The contract supplies one family while preserving those layout-specific
   sizes so a footer heading cannot inherit the hero scale. */

body label,
body .control-label,
body .rg-btn,
body .rg-nav-cta,
body .btn { font-size: var(--rg-font-size-label) !important; }

body small,
body .small,
body .help-block,
body .form-text,
body .text-muted { font-size: var(--rg-font-size-small) !important; }

body input,
body select,
body textarea,
body button { font-size: var(--rg-font-size-label) !important; line-height: 1.4; }

/* Panel density uses the same family and scale, with explicit component
   sizes so legacy Bootstrap selectors cannot introduce a second rhythm. */
body.rg-admin,
body.rg-admin-login {
  font-size: var(--rg-font-size-body) !important;
  line-height: var(--rg-font-line-body);
}

.rg-admin h1,
.rg-admin h2,
.rg-admin h3,
.rg-admin h4,
.rg-admin h5,
.rg-admin h6,
.rg-admin-login h1,
.rg-admin-login h2 {
  font-family: var(--rg-font-family) !important;
  font-style: normal !important;
}

.rg-admin p,
.rg-admin li,
.rg-admin td,
.rg-admin dd,
.rg-admin .form-control,
.rg-admin .select2-selection,
.rg-admin .select2-container,
.rg-admin .btn,
.rg-admin label,
.rg-admin .control-label,
.rg-admin .table,
.rg-admin .table th,
.rg-admin .table td,
.rg-admin .rg-admin-field input,
.rg-admin .rg-admin-field select,
.rg-admin .rg-admin-field textarea {
  font-family: var(--rg-font-family) !important;
}

.rg-admin label,
.rg-admin .control-label { font-size: var(--rg-font-size-label) !important; }
.rg-admin .form-control,
.rg-admin .select2-selection,
.rg-admin .rg-admin-field input,
.rg-admin .rg-admin-field select,
.rg-admin .rg-admin-field textarea { font-size: var(--rg-font-size-label) !important; }
.rg-admin .btn { font-size: var(--rg-font-size-label) !important; }
.rg-admin .help-block,
.rg-admin .form-text,
.rg-admin .text-muted,
.rg-admin small { font-size: var(--rg-font-size-small) !important; }

.rg-admin-login label,
.rg-admin-login .control-label,
.rg-admin-login .btn { font-size: var(--rg-font-size-label) !important; }

/* Legacy panel widgets are loaded before this contract.  Their visible
   labels inherit the same family as the rest of the panel; icon glyphs and
   code/editor surfaces are intentionally left to their own font faces. */
body.rg-admin .portfolio-content :where(a, div, span, h1, h2, h3, h4, h5, h6, p, label, button):not(.fa):not([class^="icon-"]):not([class*=" icon-"]),
body.rg-admin .ui-widget :where(a, div, span, h1, h2, h3, h4, h5, h6, p, label, input, select, textarea, button):not(.fa):not([class^="icon-"]):not([class*=" icon-"]) {
  font-family: var(--rg-font-family) !important;
}

@media (max-width: 767px) {
  :root {
    --rg-font-size-body: 14px;
    --rg-font-size-label: 13px;
    --rg-font-h1: clamp(1.75rem, 8vw, 2.5rem);
    --rg-font-h2: clamp(1.5rem, 6vw, 2.1rem);
    --rg-font-h3: 1.2rem;
  }
}

/* Administration extension — keep the dense module UI on one predictable
   type scale.  The public site keeps the larger reading scale above; admin
   controls use the same family with a compact, shared rhythm. */
body.rg-admin,
body.rg-admin span:not(.fa):not([class^="icon-"]):not([class*=" icon-"]),
body.rg-admin strong,
body.rg-admin b,
body.rg-admin caption,
body.rg-admin option,
body.rg-admin .fc,
body.rg-admin .dataTables_wrapper,
body.rg-admin .select2-container,
body.rg-admin .ui-widget {
  font-family: var(--rg-font-family) !important;
}

body.rg-admin {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

body.rg-admin label,
body.rg-admin .control-label,
body.rg-admin .form-control,
body.rg-admin .select2-selection,
body.rg-admin .select2-container,
body.rg-admin .btn,
body.rg-admin .table,
body.rg-admin .table th,
body.rg-admin .table td,
body.rg-admin .nav-tabs > li > a,
body.rg-admin .nav-pills > li > a {
  font-size: 12px !important;
}

body.rg-admin .help-block,
body.rg-admin .form-text,
body.rg-admin .text-muted,
body.rg-admin small,
body.rg-admin .small {
  font-size: 10px !important;
  line-height: 1.4 !important;
}

body.rg-admin .page-sidebar-menu > li > a,
body.rg-admin .page-sidebar-menu > li > a .title {
  font-size: 13px !important;
}

body.rg-admin .page-sidebar-menu .sub-menu > li > a,
body.rg-admin .dropdown-menu > li > a,
body.rg-admin .top-menu .navbar-nav > li > a.dropdown-toggle {
  font-size: 11px !important;
}
