/* InsuranceNew spacing, 2026-10-10.
   Disk file linked from templates/ts_saifway/tpls/blocks/head.php.
   Article and snippet style blocks are emitted after the template head,
   so these selectors are stronger than .insn-hero-zip, .insnew-panel,
   .insnew-page h2/h3, and .insnew-table th/td. */

/* Hero ZIP box only. Left, right, and bottom stay on the 14px 16px shorthand. */
body .insn-hero-zip {
  padding-top: 24px;
}

/* Section cards were 24px, and 18px under 640px. */
body .insnew-page section.insnew-panel {
  padding: 36px;
}

/* Headings under the card title were 10px (h2) and 12px (h3).
   Quote-card titles live in .insnew-card-top and are left alone. */
body .insnew-page .insnew-panel > h2,
body .insnew-page .insnew-panel > h3,
body .insnew-page .insnew-panel > h4,
body .insnew-page .insnew-section-head > h2,
body .insnew-page .insnew-section-head > h3,
body .insnew-page .insnew-section-head > h4,
body .insnew-page .insnew-split__text > h2,
body .insnew-page .insnew-split__text > h3,
body .insnew-page .insnew-split__text > h4 {
  margin-bottom: 18px;
}

/* Comparison table cells were 13px 14px. */
body .insnew-page .insnew-table :is(th, td) {
  padding: 18px 16px;
}

/* Two columns only while a picture can actually occupy the media slot.
   .insnew-panel--split always reserves 320px, including when that slot is empty.
   A missing image drops the column. A loaded image stays at most 320px wide.
   A broken image has no intrinsic size, so fit-content shrinks that column
   to the broken-image icon instead of holding 320px. Small screens stay one column. */
body .insnew-page section.insnew-panel.insnew-panel--split {
  grid-template-columns: minmax(0, 1fr);
}

body .insnew-page section.insnew-panel.insnew-panel--split > .insnew-split__media:not(:has(img[src]:not([src=""]))) {
  display: none;
}

body .insnew-page section.insnew-panel.insnew-panel--split > .insnew-split__media {
  min-width: 0;
}

body .insnew-page section.insnew-panel.insnew-panel--split > .insnew-split__media img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  margin-left: 0;
  font-size: 0;
  color: transparent;
}

@media (min-width: 901px) {
  body .insnew-page section.insnew-panel.insnew-panel--split:has(> .insnew-split__media img[src]:not([src=""])) {
    grid-template-columns: minmax(0, 1fr) fit-content(320px);
  }

  /* A definite 320px cap. A percentage here makes the column grow to the file's intrinsic width. */
  body .insnew-page section.insnew-panel.insnew-panel--split > .insnew-split__media img {
    max-width: 320px;
  }
}
