/*
 * Site-wide readability layer.
 *
 * Loaded after the component and responsive styles so type remains consistent
 * across the homepage, Gutenberg pages, service hubs and mobile navigation.
 * Decorative SVG labels and screen-reader-only text are intentionally excluded.
 */

body {
	font-size: 17px;
	line-height: 1.65;
}

p,
li,
blockquote {
	line-height: 1.65;
}

h1,
h2,
h3 {
	line-height: 1.12;
}

h2 {
	font-size: clamp(1.7rem, 2.35vw, 2.4rem);
}

button,
input,
textarea,
select,
.p247-button,
.wp-block-button__link {
	font-size: 16px;
	line-height: 1.5;
}

.p247-button--small {
	font-size: 15px;
}

/* Header and navigation */
.p247-topbar {
	font-size: 14px;
	line-height: 1.5;
}

.p247-nav__item,
.p247-phone-link {
	font-size: 16px;
	line-height: 1.5;
}

.p247-mega h3,
.p247-mega__group h3,
.p247-mega__featured-label {
	font-size: 14px;
	line-height: 1.45;
}

.p247-mega a,
.p247-mega__featured a,
.p247-mega__group a,
.p247-mega__group .p247-mega__view-all,
.p247-text-link {
	font-size: 15px !important;
	line-height: 1.5;
}

.p247-mega__featured-link span {
	font-size: 12px;
	line-height: 1.35;
}

.p247-mega__featured a {
	line-height: 1.3;
}

/* Homepage content, cards, lists and supporting labels */
.p247-hero__content > p,
.p247-results__intro p {
	font-size: 18px;
	line-height: 1.65;
}

.p247-hero__content > .p247-hero__lead {
	font-size: 17px;
	line-height: 1.6;
}

.p247-pill,
.p247-kicker,
.p247-section-head a {
	font-size: 15px;
	line-height: 1.45;
}

.p247-pest-card strong,
.p247-mini-card strong,
.p247-process__steps strong,
.p247-choice li,
.p247-final-cta li,
.p247-pricing > p,
.p247-pricing li,
.p247-areas li,
.p247-icon-row a,
.p247-guarantees__grid div,
.p247-related__grid strong,
.p247-related__grid span,
.p247-related__grid small,
.p247-related__grid em,
.p247-hub-card > p:not(.p247-hub-card__link),
.p247-hub-card__link,
.p247-hub-faq__items summary,
.p247-hub-faq__items details p {
	font-size: 16px;
	line-height: 1.55;
}

.p247-mini-card small,
.p247-process__steps small,
.p247-image-card small,
.p247-image-card em,
.p247-testimonial p,
.p247-review-grid article > p,
.p247-reviewer strong,
.p247-reviewer small,
.p247-review-score small {
	font-size: 15px;
	line-height: 1.55;
}

.p247-why-grid strong,
.p247-testimonial blockquote {
	font-size: 17px;
	line-height: 1.55;
}

.p247-trust-strip__grid small,
.p247-hero__certs small,
.p247-emergency-card small,
.p247-before-after__before,
.p247-before-after__after {
	font-size: 14px;
	line-height: 1.45;
}

.p247-faq summary {
	font-size: 17px;
	line-height: 1.5;
}

.p247-faq details p {
	font-size: 16px;
	line-height: 1.65;
}

/* Footer, article archives and standard WordPress content */
.p247-footer,
.p247-footer a,
.p247-footer p,
.p247-footer li,
.p247-post-card,
.p247-post-card p,
.p247-post-card a,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th {
	font-size: 16px;
	line-height: 1.65;
}

.p247-footer h3,
.p247-breadcrumbs {
	font-size: 15px;
	line-height: 1.55;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
	font-size: 17px;
}

/* Gutenberg service, area, industry and information pages */
.p247-native-page {
	font-size: 17px;
	line-height: 1.65;
}

.p247-native-page p,
.p247-native-page li,
.p247-native-page blockquote,
.p247-native-page .p247-ip-hero-copy > p,
.p247-native-page .p247-ip-google-intro,
.p247-native-page .p247-coverage__lead,
.p247-native-page .p247-ip-hero--rat .p247-ip-hero-copy > p:not(.p247-ip-eyebrow),
.p247-native-page .p247-ip-sign-card > p,
.p247-native-page .p247-ip-trust--premium .p247-ip-trust-heading p {
	font-size: 17px;
	line-height: 1.65;
}

.p247-native-page .p247-ip-proof,
.p247-native-page .p247-ip-trust--premium .p247-ip-trust-card,
.p247-native-page .p247-ip-risk-point,
.p247-native-page .p247-ip-mini-process p,
.p247-native-page .p247-ip-price-scope,
.p247-native-page .p247-ip-price-note,
.p247-native-page .p247-ip-faq-help,
.p247-postcode-checker label,
.p247-postcode-checker__result,
.p247-coverage__status,
.p247-london-map__top strong,
.p247-london-map__info strong,
.p247-london-map__info p,
.p247-london-map__legend {
	font-size: 16px;
	line-height: 1.55;
}

.p247-native-page .p247-ip-proof p,
.p247-native-page .p247-ip-hero--rat .p247-ip-proof--rich p {
	font-size: 16px;
	line-height: 1.25;
}

/* Restore the original compact proof-card type on service entries only. */
.single-service_type .p247-native-page .p247-ip-proof p,
.single-service_type .p247-native-page .p247-ip-hero--rat .p247-ip-proof--rich p {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

.p247-native-page .p247-ip-eyebrow,
.p247-native-page .p247-ip-google-verified,
.p247-london-map__top span {
	font-size: 14px;
	line-height: 1.45;
}

.p247-native-page .p247-ip-google-panel .sb-feed-header-rating-subtext,
.p247-native-page .p247-ip-google-panel .sb-feed-header-btn,
.p247-native-page .p247-ip-google-panel .sb-item-author-name,
.p247-native-page .p247-ip-google-panel .sb-item-text,
.p247-native-page .p247-ip-google-panel .sb-item-date {
	font-size: 16px !important;
	line-height: 1.55 !important;
}

.p247-native-page .p247-ip-trusted-by {
	font-size: 16px;
	line-height: 1.55;
}

.p247-native-page .wp-block-button__link,
.p247-native-page .p247-ip-hero--rat .wp-block-button__link,
.p247-native-page .p247-ip-pricing-actions .wp-block-button__link {
	font-size: 16px;
	line-height: 1.5;
}

.p247-native-page .p247-ip-faq-layout summary {
	font-size: 17px;
	line-height: 1.5;
}

.p247-native-page .p247-ip-faq-layout details > p,
.p247-native-page .p247-ip-faq-intro > p:not(.p247-ip-eyebrow):not(.p247-ip-faq-help) {
	font-size: 16px;
	line-height: 1.65;
}

/* Compact screens retain the same readable floor without enlarging headings. */
@media (max-width: 820px) {
	body,
	.p247-native-page {
		font-size: 16px;
		line-height: 1.6;
	}

	.p247-nav__item {
		font-size: 16px;
	}

	.p247-mega h3,
	.p247-mega__group h3,
	.p247-mega__featured-label {
		font-size: 14px;
	}

	.p247-mega a,
	.p247-mega__featured a,
	.p247-mega__group a,
	.p247-mega__group .p247-mega__view-all {
		font-size: 15px !important;
	}
}

@media (max-width: 560px) {
	h2 {
		font-size: clamp(1.65rem, 8vw, 2.1rem);
	}

	.p247-hero__content > p,
	.p247-results__intro p,
	.p247-native-page p,
	.p247-native-page li,
	.p247-native-page blockquote,
	.p247-native-page .p247-ip-hero-copy > p,
	.p247-native-page .p247-ip-hero--rat .p247-ip-hero-copy > p:not(.p247-ip-eyebrow),
	.p247-native-page .p247-ip-sign-card > p,
	.p247-native-page .p247-ip-trust--premium .p247-ip-trust-heading p,
	.entry-content > p,
	.entry-content > ul,
	.entry-content > ol {
		font-size: 16px;
		line-height: 1.65;
	}

	.p247-faq summary,
	.p247-native-page .p247-ip-faq-layout summary {
		font-size: 16px;
	}
}
