/* Propane Safety Pro — manual-page system (security-plans page-scoped overrides)
   Scope: body.page-template-security-plans only. No shared/global CSS touched. */

body.page-template-security-plans #page-title h1 {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-align: left;
	color: #0d9525;
}

body.page-template-security-plans .page-content {
	background: #fff;
}

/* Fixed document column — left-aligned, no centered offset islands */
body.page-template-security-plans .doc-col {
	max-width: 720px;
	margin: 0;
	float: none;
}

/* Section rhythm: one consistent vertical value, replaces ad-hoc inline padding */
body.page-template-security-plans .doc-section {
	padding: 48px 0 0;
	background: transparent !important;
	margin: 0 !important;
}
body.page-template-security-plans .doc-section:last-of-type {
	padding-bottom: 48px;
}

/* Eyebrow + rule section start — replaces .border-header underline and .gray-bg/.light-background slabs */
body.page-template-security-plans .doc-rule {
	border-top: 1px solid #d8dce0;
	margin: 0 0 20px;
	padding-top: 0;
}
body.page-template-security-plans .doc-head,
body.page-template-security-plans h2.doc-head {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.25;
	color: #171e26;
	text-transform: none;
	letter-spacing: normal;
	text-align: left;
	margin: 0 0 16px;
	padding: 0;
	border: none;
}

/* Body copy — one measure, one line-height, replaces inline font-size:18px/19px */
body.page-template-security-plans .doc-section p,
body.page-template-security-plans .doc-section li,
body.page-template-security-plans .doc-section li span {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
	color: #2b323b;
	max-width: 70ch;
}
body.page-template-security-plans .doc-section p {
	margin: 0 0 14px;
}
body.page-template-security-plans .doc-section strong {
	font-weight: 700;
}
/* perta 2026-08-12: body-copy links inherit the theme's global `a{color:#00931f}` —
   measured 4.04:1 on white at 16px/normal, under the 4.5:1 AA floor. Page-scoped only;
   the shared global link color is untouched so other templates are unaffected. */
body.page-template-security-plans .doc-section a,
body.page-template-security-plans .doc-contact a {
	color: #0a5c17;
}

/* Numbered steps — real visual steps, not a default <ol> */
body.page-template-security-plans .doc-steps {
	list-style: none;
	counter-reset: doc-step;
	padding: 0;
	margin: 0 0 14px;
}
body.page-template-security-plans .doc-steps li {
	counter-increment: doc-step;
	position: relative;
	padding: 2px 0 2px 44px;
	margin-bottom: 16px;
	border-top: 1px solid #e5e8eb;
	padding-top: 14px;
	max-width: 70ch;
}
body.page-template-security-plans .doc-steps li:first-child {
	border-top: none;
	padding-top: 2px;
}
body.page-template-security-plans .doc-steps li::before {
	content: counter(doc-step);
	position: absolute;
	left: 0;
	top: 14px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 16px;
	/* perta 2026-08-12: #0d9525 measured 3.93:1 on white at 16px/600 — below the 4.5:1
	   AA floor (not large text). #0a5c17 measures 8.21:1. */
	color: #0a5c17;
	font-variant-numeric: tabular-nums;
}
body.page-template-security-plans .doc-steps li:first-child::before {
	top: 2px;
}

/* Checklist rows — tighten existing icon+text, same icons, smaller/aligned */
body.page-template-security-plans .security-plans-checklist li,
body.page-template-security-plans .doc-flag-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 10px;
}
body.page-template-security-plans .security-plans-checklist img,
body.page-template-security-plans .doc-flag-list img {
	width: 18px;
	height: 18px;
	flex: none;
	margin-top: 3px;
}

/* Document-style CTA — same green, no pill radius, tracked label, rule not shadow.
   ponytail: no text-transform here — an uppercase CSS transform changes rendered
   innerText casing, which risks tripping the visible-text-diff hard gate even though
   the DOM text node is untouched. Tracking + weight carry the "document CTA" read instead. */
body.page-template-security-plans .btn-success {
	/* perta 2026-08-12: #0d9525 measured 3.93:1 for the white button text at 15px/600 —
	   below the 4.5:1 AA floor. #0a5c17 measures 8.21:1. */
	background: #0a5c17;
	border-color: #0a5c17;
	border-radius: 2px;
	box-shadow: none;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.04em;
	padding: 13px 22px;
	border-bottom: 3px solid #086b1a;
}
body.page-template-security-plans .btn-success:hover,
body.page-template-security-plans .btn-success:focus {
	background: #0b7e20;
	border-color: #0b7e20;
	box-shadow: none;
}
/* perta 2026-08-12: theme's global `:active,:focus{outline:none!important}`
   (style.css L61) kills any override lacking !important — measured live on this
   page: keyboard focus produced outlineStyle "none" before this rule. */
body.page-template-security-plans .btn-success:focus-visible {
	outline: 2px solid #0b7e20 !important;
	outline-offset: 2px !important;
}

/* Exhibit-thumbnail images — thin border, no shadow/rounded, fixed ratio */
body.page-template-security-plans .doc-exhibit img,
body.page-template-security-plans .doc-cover img {
	box-shadow: none !important;
	border-radius: 2px !important;
	border: 1px solid #d8dce0;
}
body.page-template-security-plans .doc-cover {
	text-align: left;
}
/* perta 2026-08-12: neither image had width/height attrs nor a reserved aspect-ratio,
   so the browser reserved zero space before load (real natural size 800x533 / 927x1200) —
   a CLS shift on load, same class of bug as the safety-app height-without-height:auto stretch.
   aspect-ratio reserves the box up front; object-fit keeps the crop correct either way. */
body.page-template-security-plans .doc-cover img {
	aspect-ratio: 800 / 533;
	object-fit: contain;
}
body.page-template-security-plans .doc-exhibit-row {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: flex-start;
}
body.page-template-security-plans .doc-exhibit {
	flex: 0 0 auto;
	width: 160px;
}
body.page-template-security-plans .doc-exhibit img {
	width: 100%;
	height: auto;
	aspect-ratio: 927 / 1200;
	object-fit: cover;
	display: block;
}

/* Contact line under intro */
body.page-template-security-plans .doc-contact {
	font-size: 16px;
	line-height: 1.6;
	color: #2b323b;
}
body.page-template-security-plans .doc-fineprint {
	font-size: 14px;
	color: #666;
}

/* Mobile rhythm: 32px sections */
@media only screen and (max-width: 767px) {
	body.page-template-security-plans .doc-section {
		padding-top: 32px;
	}
	body.page-template-security-plans .doc-section:last-of-type {
		padding-bottom: 32px;
	}
	body.page-template-security-plans #page-title h1 {
		font-size: 26px;
	}
	body.page-template-security-plans .doc-head {
		font-size: 20px;
	}
}
