/* ===== Shared formatting options (both templates) ===== */
.tpl { position: relative; }
.tpl-peach { --ln: var(--ac-soft); }
.tpl-exec  { --ln: var(--ac); }

/* ===== Protect the CV from the host site's global CSS =====
   Low specificity (0,1,1): beats bare `h1/h2/h3` rules on the site, but every template rule
   (0,2,x and up) still wins over it, so nothing in the design changes. */
.tpl h1, .tpl h2, .tpl h3 {
  margin: 0; padding: 0; border: 0; background: none; box-shadow: none; text-shadow: none;
  float: none; position: static; width: auto; height: auto; max-width: none;
  text-indent: 0; text-decoration: none; font-style: normal; opacity: 1; transform: none;
}
.tpl img { max-width: none; border: 0; box-shadow: none; }

/* Section heading styles */
.tpl.hs-underline .sec h2 { border-bottom: 1.5px solid var(--ln); }
.tpl.hs-dashed    .sec h2 { border-bottom: 1.5px dashed var(--ln); }
.tpl.hs-leftbar   .sec h2 { border-left: 5px solid var(--ac); padding: 2px 0 2px 9px; }
.tpl.hs-filled    .sec h2 { background: var(--ac); color: #fff; padding: 5px 9px; border-radius: 3px; }
.tpl.hs-plain     .sec h2 { padding-bottom: 0; }

/* Footer (preview only; the PDF/Word footers are drawn separately) */
.tpl .pfoot { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; font: 600 10px/1 Arial, Helvetica, sans-serif; letter-spacing: .05em; color: var(--ac-dark); pointer-events: none; }

/* Optional closing line (declaration / references) */
.tpl .closing { margin: 18px 0 0; font-size: .92em; font-style: italic; opacity: .85; text-align: var(--a-body, left); }


/* Full-name isolation: beat site.css `h1 { font-size: clamp(...) }` in the live preview.
   Template files still set the real size/color on .tpl-* .name — this only blocks bleed. */
#resume.tpl h1.name {
  max-width: 100%;
  background: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border: 0 !important;
  float: none !important;
}
