/* V37 - overall site font reduction and consistency
   Purpose: reduce public/admin typography by about 20% while keeping readable spacing.
   All sizes remain responsive through rem/em/clamp. */

:root {
  --gm-v37-font-scale-note: "Public/Admin typography reduced by 20 percent for a cleaner production UI";
}

/* Public site global scale */
html {
  font-size: 80% !important;
}

body.gm-body {
  font-size: clamp(0.82rem, 0.78rem + 0.18vw, 0.94rem) !important;
  line-height: 1.58 !important;
}

.gm-brand {
  font-size: 0.92em !important;
}

.gm-brand-text strong {
  font-size: 1em !important;
  line-height: 1.1 !important;
}

.gm-brand-text small {
  font-size: 0.72em !important;
  line-height: 1.15 !important;
}

.gm-menu-item > .nav-link,
.gm-lang-btn,
.gm-account-btn {
  font-size: 0.78em !important;
  padding: 0.6em 0.72em !important;
}

.gm-dropdown .dropdown-item {
  font-size: 0.82em !important;
  padding: 0.55em 0.7em !important;
}

.gm-header-actions,
.gm-card-meta,
.gm-muted,
.gm-footer-bottom,
.gm-field-hint {
  font-size: 0.82em !important;
}

.gm-hero {
  min-height: 18em !important;
  padding: 2.7em max(1em, 3vw) !important;
}

.gm-hero h1 {
  font-size: clamp(1.55rem, 1.05rem + 2.1vw, 3.35rem) !important;
  line-height: 1.08 !important;
}

.gm-hero p {
  font-size: clamp(0.86rem, 0.82rem + 0.22vw, 1rem) !important;
}

.gm-section-title h2,
.gm-page-head h1 {
  font-size: clamp(1.3rem, 1rem + 1.05vw, 2.25rem) !important;
  line-height: 1.15 !important;
}

.gm-section-title p,
.gm-page-head p,
.gm-card p,
.gm-richtext,
.gm-detail-body,
.gm-contact-card,
.gm-rating-panel {
  font-size: 0.9em !important;
}

.gm-card h3 {
  font-size: 0.98em !important;
  line-height: 1.28 !important;
}

.gm-card-body {
  padding: 0.95em !important;
}

.gm-primary-btn,
.gm-outline-btn,
.gm-link-btn,
.gm-share-row a,
.gm-share-row button {
  font-size: 0.82em !important;
  padding: 0.58em 0.9em !important;
}

.gm-detail h1 {
  font-size: clamp(1.45rem, 1.05rem + 1.45vw, 2.3rem) !important;
}

.gm-detail-body {
  padding: clamp(1em, 2.2vw, 1.85em) !important;
}

.gm-richtext p,
.gm-richtext li,
.gm-richtext td,
.gm-richtext th {
  font-size: 0.96em !important;
  line-height: 1.62 !important;
}

.gm-richtext h1 { font-size: 1.75em !important; }
.gm-richtext h2 { font-size: 1.45em !important; }
.gm-richtext h3 { font-size: 1.22em !important; }
.gm-richtext h4 { font-size: 1.08em !important; }

.gm-stat strong {
  font-size: 1.55em !important;
}

.gm-footer {
  font-size: 0.9em !important;
  padding: 2.4em 0 1em !important;
}

.gm-footer-brand {
  font-size: 1em !important;
}

/* Admin panel scale */
body.gm-admin-body {
  font-size: clamp(0.78rem, 0.75rem + 0.14vw, 0.88rem) !important;
  line-height: 1.52 !important;
}

.gm-admin-brand,
.gm-admin-nav a,
.gm-admin-topbar strong,
.gm-admin-page-head p,
.gm-admin-form label,
.gm-admin-table,
.gm-admin-help,
.gm-admin-btn,
.gm-admin-primary-btn,
.gm-admin-danger-btn,
.gm-admin-warning-btn,
.gm-admin-filter input,
.gm-admin-filter select,
.gm-admin-form .form-control,
.gm-admin-form .form-select,
.gm-field-hint,
.gm-auto-field-hint {
  font-size: 0.86em !important;
}

.gm-admin-page-head h1 {
  font-size: clamp(1.22rem, 0.95rem + 0.9vw, 2.05rem) !important;
}

.gm-admin-card,
.gm-admin-form,
.gm-admin-table,
.gm-admin-stat,
.gm-admin-doc-card,
.gm-admin-guide-card {
  padding: 0.9rem !important;
}

.gm-admin-main {
  padding: 1.15rem !important;
}

.gm-admin-nav-title,
.gm-admin-eyebrow,
.gm-admin-badge {
  font-size: 0.68em !important;
}

.gm-admin-stat strong {
  font-size: 1.55rem !important;
}

.gm-admin-form textarea.html-editor {
  min-height: 18rem !important;
}

@media (max-width: 640px) {
  body.gm-body { font-size: 0.84rem !important; }
  body.gm-admin-body { font-size: 0.8rem !important; }
  .gm-hero h1 { font-size: 1.45rem !important; }
  .gm-section-title h2,
  .gm-page-head h1 { font-size: 1.25rem !important; }
}


/* V135 mobile non-sticky header */
@media (max-width:767.98px){
header,.top-header,.main-header,.navbar,.navbar-wrapper,.sticky-top,.fixed-top,.gm-header,.gm-navbar{
position:static !important;
top:auto !important;
}
body{padding-top:0!important;}
html{scroll-padding-top:0!important;}
}
