/* OffSewer article components — used on the site and inside the block editor. */
.os-quick-answer, .os-call-pro, .os-emergency-steps, .os-warning, .os-sources, .os-faq, .os-key-facts {
	border-radius: 10px;
	margin: 0 0 1.6em;
}
.os-quick-answer { background: #eef5ef; border: 1px solid #cfe1d2; border-left: 5px solid #1f4d3a; padding: 18px 22px; }
.os-quick-answer > .wp-block-heading, .os-quick-answer h2, .os-quick-answer h3 { font-size: .8rem !important; letter-spacing: .1em; text-transform: uppercase; color: #1f4d3a; margin: 0 0 6px !important; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.os-quick-answer p { font-size: 1.08rem; margin: 0; }
.os-quick-answer p + p { margin-top: .6em; }

.os-key-facts { overflow-x: auto; }
.os-key-facts table { border: 0; }
.os-key-facts td:first-child { font-weight: 700; width: 38%; background: #f7f4ec !important; }

.os-call-pro { background: #eaf3f8; border: 1px solid #c9dfeb; padding: 18px 22px; }
.os-call-pro h2, .os-call-pro h3 { font-size: 1.15rem !important; margin: 0 0 8px !important; color: #1e5a7a; }
.os-call-pro ul { margin: 0; }

.os-emergency-steps { background: #fff4e8; border: 1px solid #f1d2b5; padding: 18px 22px; }
.os-emergency-steps h2, .os-emergency-steps h3 { font-size: 1.15rem !important; margin: 0 0 8px !important; color: #a8521a; }
.os-emergency-steps ol { margin: 0; padding-left: 1.3em; }
.os-emergency-steps li { margin-bottom: .45em; }
.os-emergency-steps li::marker { font-weight: 700; color: #a8521a; }

.os-warning { background: #fdf0ee; border: 1px solid #f0c7c0; border-left: 5px solid #b23b2a; padding: 14px 20px; }
.os-warning p { margin: 0; }

.os-faq h2 { margin-top: 0 !important; }
.os-faq .wp-block-details, .os-faq details { border: 1px solid #e2ddd0; border-radius: 8px; padding: 0; margin: 0 0 10px; background: #fff; }
.os-faq details > summary { cursor: pointer; padding: 14px 16px; font-weight: 700; list-style-position: inside; min-height: 48px; }
.os-faq details[open] > summary { border-bottom: 1px solid #e2ddd0; }
.os-faq details > *:not(summary) { padding: 0 16px; }
.os-faq details > p:last-child { padding-bottom: 14px; margin-bottom: 0; }

.os-sources { border-top: 2px solid #e2ddd0; padding-top: 14px; font-size: .9rem; }
.os-sources h2, .os-sources h3 { font-size: 1rem !important; margin: 0 0 6px !important; }
.os-sources ul, .os-sources ol { margin: 0; }

.os-cost-table figcaption, .os-cost-table .wp-element-caption { text-align: left !important; font-size: .82rem; color: #56605d; }
