/* Client edits: remove cramped feeling and make text easier to read */

:root{
  --readable-body:14px;
  --readable-small:12px;
  --readable-label:12px;
  --readable-button:12px;
  --readable-table:13px;
}

/* Global readability */
body{
  font-size:var(--readable-body) !important;
  line-height:1.55 !important;
}

p,
td,
.description,
.product-subtitle,
.hero-subtitle,
.page-subtitle,
.muted,
.small,
.stat-row,
.category-mini,
.alert-mini,
.log,
.hgp-log{
  font-size:13px !important;
  line-height:1.55 !important;
}

/* Better headings */
h1,
.product-title,
.hero h1,
.page-title{
  font-size:clamp(34px, 3.6vw, 58px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.025em !important;
  margin-bottom:12px !important;
}

h2{
  font-size:22px !important;
  line-height:1.18 !important;
}

h3{
  font-size:18px !important;
  line-height:1.25 !important;
}

/* HUD labels no longer microscopic */
.label,
.metric-label,
.key,
.stat-key,
.hgp-stat-key,
.section,
.hgp-section,
.kicker,
th,
label{
  font-size:var(--readable-label) !important;
  line-height:1.35 !important;
  letter-spacing:.09em !important;
}

/* Buttons and nav legibility */
button,
.nav a,
.hgp-side-nav a,
.side-btn,
.hgp-side-button,
.link-row a,
.btn{
  font-size:var(--readable-button) !important;
  line-height:1.25 !important;
  letter-spacing:.055em !important;
  min-height:42px !important;
  padding:10px 14px !important;
}

/* Inputs and selects */
input,
select,
textarea{
  font-size:14px !important;
  line-height:1.4 !important;
}

select option{
  font-size:14px !important;
}

/* KPI values */
.metric-value,
.value,
.val,
.hgp-stat-val,
.hgp-mini-card .v,
.mini-card .v{
  font-size:clamp(20px, 1.8vw, 30px) !important;
  line-height:1.12 !important;
}

/* Tables */
table,
.info-table{
  font-size:var(--readable-table) !important;
}

th,
td{
  font-size:var(--readable-table) !important;
  line-height:1.45 !important;
  padding:11px 12px !important;
}

/* More breathing room */
.panel,
.card,
.metric,
.product-visual,
.product-data{
  padding:18px !important;
}

.metrics{
  gap:14px !important;
}

.product-stage,
.grid,
.grid-2,
.grid-3,
.grid-4,
.info-grid{
  gap:22px !important;
}

/* Make library/admin page less cramped */
textarea{
  min-height:130px !important;
}

.form-grid,
.upload-grid,
.control-row{
  gap:16px !important;
}

/* Top/sidebar labels */
.title,
.hgp-shell-title{
  font-size:clamp(24px, 2vw, 34px) !important;
  line-height:1.05 !important;
}

.subtitle,
.hgp-shell-sub{
  font-size:12px !important;
  letter-spacing:.14em !important;
}

/* Prevent content from touching edges */
.main,
.hgp-app-center{
  padding:24px !important;
}

/* Right/left panel readability */
.left,
.right,
.hgp-app-left,
.hgp-app-right{
  font-size:13px !important;
}

.category-mini,
.hgp-category-mini,
.alert-mini,
.hgp-alert-mini{
  font-size:12px !important;
  line-height:1.35 !important;
}

/* Product image and description balance */
.image-frame{
  min-height:340px !important;
}

.description{
  max-height:190px !important;
  padding:14px !important;
}

/* Mobile / smaller screens */
@media(max-width:1180px){
  h1,
  .product-title,
  .hero h1,
  .page-title{
    font-size:clamp(30px, 6vw, 46px) !important;
  }

  .main,
  .hgp-app-center{
    padding:16px !important;
  }
}
