﻿/*
  Care Cloud senior-friendly typography and spacing baseline.
  Target: larger text, wider line-height, clearer controls, safer touch areas.
*/
:root {
  --senior-text: #222222;
  --senior-muted: #666666;
  --senior-bg: #fafafa;
  --senior-h1: 2.375rem;     /* 38px */
  --senior-h2: 1.75rem;      /* 28px */
  --senior-h3: 1.3125rem;    /* 21px */
  --senior-body: 1.125rem;   /* 18px */
  --senior-meta: 1rem;       /* 16px */
  --senior-badge: .9375rem;  /* 15px */
  --senior-line: 1.7;
  --senior-control: 52px;
}

html {
  font-size: 16px;
}

body {
  background-color: var(--senior-bg);
  color: var(--senior-text);
  font-size: var(--senior-body);
  line-height: var(--senior-line);
}

h1,
.hero h1,
.bf-header h1,
.space-hero h1,
.product-copy h1,
.summary-content h1,
.topbar-title {
  font-size: var(--senior-h1);
  line-height: 1.25;
}

h2,
.section-head h2,
.panel-heading h2,
.order-hero h2,
.apply-head h2 {
  font-size: var(--senior-h2);
  line-height: 1.3;
}

h3,
.prov-name,
.prod-card-name,
.space-card-body h3,
.bf-card-title,
.svc-card-name,
.worker-name,
.dur-mode-title,
.recur-title,
.cg-name,
.stc-name,
.path-title {
  font-size: var(--senior-h3);
  line-height: 1.4;
}

p,
li,
.hero p,
.section-head p,
.space-card-body p,
.prod-card-desc,
.prod-card-subtitle,
.summary-content p,
.bf-header p,
.bf-card-sub,
.svc-card-desc,
.worker-meta,
.dur-mode-desc,
.recur-desc,
.cg-intro,
.prov-meta,
.info-strip,
.apply-prefill {
  font-size: var(--senior-body);
  line-height: var(--senior-line);
}

small,
.eyebrow,
.badge,
.tag,
.chip,
.entry-tag,
.summary-meta span,
.result-toolbar select,
.price-table thead th,
.price-table .item-code,
.price-table .unit-val,
.price-table .delivery-val,
.price-table .note-val,
.rating-label,
.device-selector-label,
.summary-bar-text,
.admin-eyebrow,
.admin-field > span,
.apply-field label,
.bf-field label,
.bf-field-hint,
.svc-card-code,
.worker-tag,
.cg-tag,
.tl-time,
.tl-desc {
  font-size: var(--senior-meta);
  line-height: 1.6;
}

.badge,
.tag,
.chip,
.entry-tag,
.count-chip,
.entity-chip {
  font-size: var(--senior-badge);
}

button,
.btn,
.bf-btn,
.btn-primary,
.btn-secondary,
.admin-primary-button,
.admin-secondary-button,
.admin-link-button,
.icon-btn,
.cart-btn,
.rtab,
.county-chip,
.dchip,
.cat-tab,
.question-chip,
.worker-tab,
.dur-btn,
.time-pill,
.date-cell,
.recur-card,
.duration-mode-card,
.svc-card,
.svc-type-card,
.cg-card,
input,
select,
textarea {
  min-height: var(--senior-control);
  font-size: var(--senior-body);
}

button,
.btn,
.bf-btn,
.btn-primary,
.btn-secondary,
.admin-primary-button,
.admin-secondary-button,
.admin-link-button,
.icon-btn,
.cart-btn {
  font-weight: 600;
}

input,
select,
textarea,
.apply-field input,
.apply-field select,
.apply-field textarea,
.bf-field select,
.bf-field input,
.bf-field textarea,
.admin-field input,
.admin-field select,
.admin-field textarea {
  min-height: var(--senior-control);
  font-size: var(--senior-body);
  line-height: 1.5;
}

input::placeholder,
textarea::placeholder {
  color: var(--senior-muted);
  opacity: 1;
}

.store-shell,
.page-body,
.bf-shell,
.admin-main {
  gap: 24px;
}

.content-card,
.prov-card,
.space-card,
.bf-card,
.panel,
.recommend-summary,
.prod-card-full.as-product-card,
.apply-dialog {
  border-radius: 16px;
}

.price-val,
.sale-price,
.device-price strong,
.summary-total-amount,
.cg-rate,
.subsidy-box strong {
  font-size: 1.625rem;
  font-weight: 900;
}

.btn + .btn,
.bf-btn + .bf-btn,
.admin-primary-button + .admin-secondary-button,
.icon-btn + .cart-btn {
  margin-left: 12px;
}

@media (max-width: 700px) {
  :root {
    --senior-h1: 2.25rem;
    --senior-h2: 1.625rem;
    --senior-h3: 1.25rem;
  }

  .btn + .btn,
  .bf-btn + .bf-btn,
  .admin-primary-button + .admin-secondary-button,
  .icon-btn + .cart-btn {
    margin-left: 0;
  }
}
