/* ==========================================================
   34 North Vacations - shared site stylesheet
   Loaded by every page AFTER its own <style> block, so rules
   here win. Put site-wide fixes here, not page by page.
   ========================================================== */

/* Never split a word mid-word. Words only wrap at spaces. */
html, body { overflow-wrap: normal; word-break: normal; hyphens: manual; }

/* ----------------------------------------------------------
   "Label + description" rows, every screen size.
   Matches List with Us: bold label on its own line,
   description underneath.
   ---------------------------------------------------------- */
.lbl-wrap { display: block; min-width: 0; }
.lbl-wrap > strong { display: block; color: var(--text); font-weight: 400; font-size: 1.07em; margin-bottom: 2px; }
.lbl-wrap > .lbl-desc { display: block; }
.lbl-wrap .lbl-dash { display: none; }

/* ----------------------------------------------------------
   Bullet / checkmark lists ("Label - description" rows)
   Desktop keeps the two-column look from each page's styles.
   Phones (under 600px): marker + bold label on line 1,
   description on the line below, full width.
   ---------------------------------------------------------- */
@media (max-width: 600px) {
  .tier-list li,
  .qual-list li,
  .nearby-list li,
  .tips-list li,
  .preview-list li,
  .svc-checklist li,
  .content-inner ul li,
  .blog-content ul li,
  .blog-content ol li {
    display: block;
    padding-left: 20px;
  }
  /* the marker sits in the left gutter, on the first line */
  .tier-list li::before,
  .qual-list li::before,
  .nearby-list li::before,
  .tips-list li::before,
  .preview-list li::before,
  .svc-checklist li::before,
  .content-inner ul li::before,
  .blog-content ul li::before {
    float: left;
    margin-left: -20px;
  }
  .tier-list li { padding-left: 24px; }
  .tier-list li::before { margin-left: -24px; }
  .blog-content ol li { padding-left: 40px; }
  .blog-content ol li::before { float: left; margin-left: -40px; margin-top: 2px; }

  /* Checkmark rows built with inline styles: keep the checkmark beside
     the text (the per-page phone rule would otherwise wrap it above). */
  .check-row { flex-wrap: nowrap; }
  .check-row > .check-text { flex: 1 1 auto; min-width: 0; }

  /* Trust strip (Homeowner FAQ): clean 2 x 2 grid with room between rows */
  .trust-row { display: grid; grid-template-columns: 1fr 1fr; row-gap: 28px; }
  .trust-item { padding: 0 12px; min-width: 0; border-right: none; }
  .trust-item:nth-child(odd) { border-right: 1px solid var(--border); }
  .trust-lbl { display: block; line-height: 1.6; }

  /* "Label - description" rows: description drops to its own line */
  .lbl-desc { display: block; margin-top: 2px; }
  .lbl-dash { display: none; }
}
