/* Care Plus Hospice — sitewide typography scale
   Values tuned for compact, professional reading (was scaled up ~18%, now trimmed ~25%
   for a less "zoomed" feel while keeping older-reader legibility).
   Line-heights scale proportionally so multi-line paragraphs stay balanced. */

.text-xs         { font-size: 0.6875rem;  line-height: 1rem; }        /* 11/16 */
.text-sm         { font-size: 0.8125rem;  line-height: 1.125rem; }    /* 13/18 */
.text-base       { font-size: 0.9375rem;  line-height: 1.375rem; }    /* 15/22 */
.text-lg         { font-size: 1.0625rem;  line-height: 1.5rem; }      /* 17/24 */
.text-xl         { font-size: 1.1875rem;  line-height: 1.625rem; }    /* 19/26 */
.text-2xl        { font-size: 1.375rem;   line-height: 1.75rem; }     /* 22/28 */
.text-3xl        { font-size: 1.6875rem;  line-height: 2rem; }        /* 27/32 */
.text-4xl        { font-size: 2rem;       line-height: 2.25rem; }     /* 32/36 */
.text-5xl        { font-size: 2.75rem;    line-height: 1.05; }        /* 44 */
.text-6xl        { font-size: 3.375rem;   line-height: 1; }           /* 54 */
.text-7xl        { font-size: 4.125rem;   line-height: 1; }           /* 66 */

/* Site-specific arbitrary sizes */
.text-\[13px\]   { font-size: 12px; }
.text-\[15px\]   { font-size: 14px; }
.text-\[19px\]   { font-size: 17px; }

/* Responsive: sm (>= 640px) */
@media (min-width: 640px) {
  .sm\:text-sm    { font-size: 0.8125rem;  line-height: 1.125rem; }
  .sm\:text-base  { font-size: 0.9375rem;  line-height: 1.375rem; }
  .sm\:text-lg    { font-size: 1.0625rem;  line-height: 1.5rem; }
  .sm\:text-xl    { font-size: 1.1875rem;  line-height: 1.625rem; }
  .sm\:text-2xl   { font-size: 1.375rem;   line-height: 1.75rem; }
  .sm\:text-3xl   { font-size: 1.6875rem;  line-height: 2rem; }
  .sm\:text-4xl   { font-size: 2rem;       line-height: 2.25rem; }
  .sm\:text-5xl   { font-size: 2.75rem;    line-height: 1.05; }
  .sm\:text-6xl   { font-size: 3.375rem;   line-height: 1; }
}

/* Responsive: lg (>= 1024px) */
@media (min-width: 1024px) {
  .lg\:text-lg    { font-size: 1.0625rem;  line-height: 1.5rem; }
  .lg\:text-xl    { font-size: 1.1875rem;  line-height: 1.625rem; }
  .lg\:text-2xl   { font-size: 1.375rem;   line-height: 1.75rem; }
  .lg\:text-3xl   { font-size: 1.6875rem;  line-height: 2rem; }
  .lg\:text-4xl   { font-size: 2rem;       line-height: 2.25rem; }
  .lg\:text-5xl   { font-size: 2.75rem;    line-height: 1.05; }
  .lg\:text-6xl   { font-size: 3.375rem;   line-height: 1; }
}

/* Smooth-scroll behavior for in-page anchor links, sitewide. */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Layout utilities missing from the compiled Tailwind bundle —
   patched here so mobile responsive flow works everywhere. */
.flex-col-reverse { flex-direction: column-reverse; }
.flex-row         { flex-direction: row; }
.flex-nowrap      { flex-wrap: nowrap; }
.grid-cols-1      { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-4      { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-6      { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Responsive variants missing from the bundle */
@media (min-width: 640px) {
  .sm\:flex-col       { flex-direction: column; }
  .sm\:flex-nowrap    { flex-wrap: nowrap; }
  .sm\:flex-col-reverse { flex-direction: column-reverse; }
  .sm\:grid-cols-1    { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .md\:flex-row       { flex-direction: row; }
  .md\:flex-col       { flex-direction: column; }
  .md\:flex-nowrap    { flex-wrap: nowrap; }
}
@media (min-width: 1024px) {
  .lg\:flex-row       { flex-direction: row; }
  .lg\:flex-col       { flex-direction: column; }
  .lg\:flex-nowrap    { flex-wrap: nowrap; }
}

/* ── Missing spacing utilities (used in HTML, absent from compiled bundle) ── */
.mt-14      { margin-top: 3.5rem; }        /* 56px */
.mt-44      { margin-top: 11rem; }         /* 176px */
.pl-6       { padding-left: 1.5rem; }      /* 24px — list indentation */
.pt-2       { padding-top: 0.5rem; }
.py-14      { padding-top: 3.5rem; padding-bottom: 3.5rem; }

/* Vertical rhythm between stacked children (service-page benefit passages etc.) */
.space-y-10 > :not([hidden]) ~ :not([hidden])  { margin-top: 2.5rem; }
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.375rem; }

/* List markers — privacy/legal pages rely on these */
.list-disc    { list-style-type: disc; }
.list-decimal { list-style-type: decimal; }
.not-italic   { font-style: normal; }

/* Anchor-scroll offsets so in-page links land below the sticky header */
.scroll-mt-32 { scroll-margin-top: 8rem; }   /* 128px */
.scroll-mt-44 { scroll-margin-top: 11rem; }  /* 176px */

/* Divider color used on for-professionals bullet list */
.divide-sand-100 > :not([hidden]) ~ :not([hidden]) { border-color: #F5F0E6; }

/* Missing responsive spacing variants */
@media (min-width: 640px) {
  .sm\:px-8  { padding-left: 2rem; padding-right: 2rem; }
  .sm\:py-5  { padding-top: 1.25rem; padding-bottom: 1.25rem; }
  .sm\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
  .sm\:py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .sm\:gap-5 { gap: 1.25rem; }
  .sm\:p-10  { padding: 2.5rem; }
  .sm\:p-14  { padding: 3.5rem; }
}
@media (min-width: 1024px) {
  .lg\:py-28 { padding-top: 7rem; padding-bottom: 7rem; }
  .lg\:pt-24 { padding-top: 6rem; }
  .lg\:pb-12 { padding-bottom: 3rem; }
}
