/*!
 * PaisaHealth – WCAG 2.2 AA style fixes
 * Prepared by EnableUser (Oct 2026) against BrowserStack scan "paisahealth.in-34".
 *
 * Brand orange #FEA001 / #FD9D2E (2.05:1 on white) is replaced everywhere it carries
 * text by #995400 (5.80:1 on white, 4.60:1 on #E5E5E5, white text on it 5.80:1).
 * The theme/Kirki/WPBakery inline colours are remapped server-side in
 * framework/paisahealth-a11y-fixes.php; this file covers static stylesheets.
 */

:root {
	--ph-a11y-primary: #995400;
	--ph-a11y-primary-dark: #7A4300;
	--ph-a11y-text: #666666;
	--ph-a11y-border: #767676;
	--ph-a11y-focus: #1F375A;
}

/* ---------- 2.4.1 Skip link ---------- */
.ph-skip-link.screen-reader-text:focus,
.ph-skip-link:focus {
	position: fixed !important;
	top: 10px;
	left: 10px;
	z-index: 1000000;
	display: block;
	clip: auto !important;
	width: auto;
	height: auto;
	padding: 14px 22px;
	border-radius: 3px;
	background: #ffffff;
	color: #1F375A !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: underline;
	box-shadow: 0 0 0 3px #1F375A;
}
#main-content:focus,
main[tabindex="-1"]:focus,
[role="main"][tabindex="-1"]:focus {
	outline: none;
}

/* ---------- 2.4.7 Visible focus ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 3px solid var(--ph-a11y-focus) !important;
	outline-offset: 2px !important;
}
.page-popup-search a:focus-visible,
.page-popup-search input:focus-visible,
.page-popup-search button:focus-visible,
.page-mobile-main-menu a:focus-visible,
.page-mobile-main-menu [role="button"]:focus-visible {
	outline-color: #ffffff !important;
}

/* ---------- 1.4.3 Text contrast (colours hard-coded in static stylesheets) ---------- */
/* #C0C0C0 / #999 meta text (1.81:1 / 2.85:1) */
.post-meta,
.post-meta a,
.post-author-meta,
.post-author-meta a,
.post-date,
.entry-post-meta,
.entry-post-meta a,
.smooth-scroll-link,
.widget .post-date,
.insight_core_breadcrumb li,
.insight_core_breadcrumb a,
.insight_core_breadcrumb li + li:before,
.desktop-menu .menu--primary .sub-menu a,
.desktop-menu .menu--primary .children a,
a[rel="prev"] > div,
a[rel="next"] > div,
.blog-nav-links a,
.post-nav-links a {
	color: var(--ph-a11y-text) !important;
}
/* Brand-orange text in static stylesheets */
.post-categories a,
.post-read-more a,
.post-read-more .btn-text,
.tm-button.style-text,
.tm-button.style-text .button-text,
.desktop-menu .menu--primary .current-menu-item > a .menu-item-title,
.desktop-menu .menu--primary .current-menu-ancestor > a .menu-item-title,
.desktop-menu .menu--primary li:hover > a .menu-item-title,
.desktop-menu .menu--primary .sub-menu li.current-menu-item > a,
.desktop-menu .menu--primary .sub-menu li:hover > a,
.primary-color,
.primary-color-important {
	color: var(--ph-a11y-primary) !important;
}

/* Calculated Fields Form – read-only result boxes (#999 on #F9F9F9 = 2.7:1) */
#fbuilder input[readonly],
#fbuilder .codepeoplecalculatedfield,
.cff-form input[readonly] {
	color: #4D4D4D !important;
	-webkit-text-fill-color: #4D4D4D;
	opacity: 1 !important;
}

/* Placeholders (form fields) */
input::placeholder,
textarea::placeholder {
	color: #6B6B6B;
	opacity: 1;
}

/* Footer text (#888 on white = 3.54:1) */
.footer-style-05,
.footer-style-05 .widget_text,
.footer-style-05 a,
.page-footer-wrapper .copyright,
.page-footer-wrapper .copyright a {
	color: var(--ph-a11y-text);
}

/* Dark overlays keep the bright brand orange (11:1 on the 85% black popup) */
.page-popup-search .search-field,
.page-popup-search .search-field:focus,
.page-popup-search .form-description,
.popup-search-close:hover {
	color: #FEA001 !important;
	-webkit-text-fill-color: #FEA001;
}
.popup-search-opened .page-popup-search .search-field {
	border-bottom-color: #FEA001 !important;
}

/* ---------- 1.4.1 Links distinguishable from surrounding text ---------- */
.page-main-content p a:not(.tm-button):not([class*="btn"]),
.page-main-content li a:not(.tm-button):not([class*="btn"]):not(.page-numbers),
.page-main-content td a,
.entry-content a:not(.tm-button):not([class*="btn"]),
.wpb_text_column a:not(.tm-button),
.tm-heading .heading a,
.tm-box-icon .text a,
.page-footer-wrapper p a,
.page-footer-wrapper .copyright a,
.widget_text a,
.textwidget a {
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.page-main-content p a:hover,
.page-main-content li a:hover,
.entry-content a:hover,
.wpb_text_column a:hover {
	text-decoration-thickness: 2px;
}
/* Navigation-style lists keep their look but still get a non-colour cue on hover/focus */
.page-sidebar .widget li a:hover,
.page-sidebar .widget li a:focus,
.widget_categories a:hover,
.widget_recent_entries a:hover {
	text-decoration: underline;
}

/* ---------- 1.4.11 Non-text contrast: form field boundaries ---------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
textarea,
select,
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-radio),
.mc4wp-form input[type="email"],
.hustle-ui .hustle-input {
	border: 1px solid var(--ph-a11y-border) !important;
}
.page-popup-search .search-field {
	border-width: 0 0 2px !important;
	border-color: #FEA001 !important;
}
input:focus,
textarea:focus,
select:focus {
	border-color: var(--ph-a11y-focus) !important;
	box-shadow: 0 0 0 2px var(--ph-a11y-focus);
}

/* ---------- 3.3.2 Visible labels injected for CF7 / Mailchimp ---------- */
.ph-a11y-label {
	display: block;
	margin: 0 0 6px;
	color: #333333;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}
.ph-a11y-required {
	color: #B00020;
}
.mc4wp-form .ph-a11y-label,
.tm-mailchimp-form .ph-a11y-label {
	color: #ffffff;
}
.page-footer-wrapper .ph-a11y-label {
	color: inherit;
}

/* ---------- 2.5.8 Target size for icon links ---------- */
.social-networks a,
.tm-social-networks .link,
.header-social-networks a,
.btn-open-popup-search,
.popup-search-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
}
.social-networks a + a {
	margin-left: 4px;
}

/* Screen-reader-only helper (theme class re-declared for injected nodes) */
.ph-sr-only {
	position: absolute !important;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px;
	height: 1px;
	white-space: nowrap;
}

/* Table header cells created by a11y-fixes.js keep the original cell look */
.page-main-content th[scope="row"],
.entry-content th[scope="row"] {
	text-align: left;
	font-weight: inherit;
	color: inherit;
}
.page-main-content table caption,
.entry-content table caption {
	caption-side: top;
	padding: 8px 0;
	color: #333333;
	text-align: left;
}

/* ---------- Footer links underlined (1.4.1, client request) ---------- */
.page-footer-wrapper a,
.page-footer-wrapper a .menu-item-title,
.page-footer-wrapper .menu a,
.page-footer-wrapper .tm-custom-menu a,
.page-footer-wrapper .tm-custom-menu a span,
.page-footer-wrapper .copyright a,
#page-footer a,
.page-footer a {
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.page-footer-wrapper a:hover,
.page-footer-wrapper a:focus,
#page-footer a:hover,
#page-footer a:focus {
	text-decoration-thickness: 2px;
}

/* ---------- Round 2 (BrowserStack re-scan) ---------- */

/* Newsletter "Sign Up" button sits on the white email box – give it its own white
   background so its #995400 text is measured against white (5.80:1) */
.tm-mailchimp-form .form-submit,
.tm-mailchimp-form.style-6 .form-submit {
	background-color: #ffffff !important;
	color: var(--ph-a11y-primary) !important;
}
.tm-mailchimp-form .form-submit:hover,
.tm-mailchimp-form .form-submit:focus {
	background-color: var(--ph-a11y-primary) !important;
	color: #ffffff !important;
}

/* Videos page – "Play Video" white text over the thumbnail needs a solid backing */
.tm-popup-video .video-text,
.video-button .video-text {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 3px;
	background-color: rgba(0, 0, 0, 0.78);
	color: #ffffff !important;
}

/* Hustle opt-in pop-up: Submit button white on #4D95B6 = 3.28:1 → #2C6B88 = 5.79:1 */
.hustle-ui .hustle-button.hustle-button-submit,
.hustle-ui .hustle-layout .hustle-button-submit {
	background-color: #2C6B88 !important;
	color: #ffffff !important;
}
.hustle-ui .hustle-button.hustle-button-submit:hover,
.hustle-ui .hustle-button.hustle-button-submit:focus {
	background-color: #1F4F66 !important;
}

/* Hustle fields: real, visible labels above the inputs (overlay hidden) */
.hustle-ui .hustle-form .hustle-form-fields {
	align-items: flex-end !important;
}
.hustle-ui .ph-hustle-field label.ph-hustle-label {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	color: #111111 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	white-space: normal !important;
}
.hustle-ui .ph-hustle-field .ph-hustle-overlay {
	display: none !important;
}
/* Keep the icon-only Sign Up button aligned with the email box now that the box has a visible label above it */
.tm-mailchimp-form .mc4wp-form-fields {
	position: relative;
}
.tm-mailchimp-form .form-submit {
	top: auto !important;
	bottom: 0 !important;
}
.hustle-ui .hustle-field.ph-hustle-field {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}
.hustle-ui .hustle-field.ph-hustle-field .hustle-input {
	width: 100% !important;
}

/* ---------- Round 3 (BrowserStack re-scan) ---------- */

/* Typed text in form fields: theme #999 on #F9F9F9 = 2.7:1, comment form #999 on white = 2.84:1 */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
textarea,
select,
#fbuilder input:not([type="submit"]):not([type="button"]):not([type="reset"]),
#fbuilder textarea,
#fbuilder select,
.comment-form input:not([type="submit"]),
.comment-form textarea {
	color: #333333 !important;
	-webkit-text-fill-color: #333333;
}
.page-popup-search .search-field {
	color: #FEA001 !important;
	-webkit-text-fill-color: #FEA001;
}

/* Data tables: plain background so contrast can be measured (no stripe images) */
.page-main-content table th,
.page-main-content table td,
.entry-content table th,
.entry-content table td {
	background-image: none !important;
}

/* Comment form – visible labels (3.3.2) */
.comment-form .ph-comment-label {
	display: block;
	margin: 0 0 6px;
	color: #333333;
	font-size: 15px;
	font-weight: 600;
}
.comment-form .ph-comment-label .required {
	color: #B00020;
}

/* Scroll-in entrance animations: content starts invisible (opacity 0) and shifted until it
   is scrolled to, so it is unreadable for scanners, zoom users and reduced-motion users
   (2.3.3 / 1.4.3). Content is now shown immediately. */
.tm-animation,
.tm-animation.animate {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	transition: none !important;
}

/* Footer: the empty spacer column was stacked on top of the footer menu links */
.page-footer-wrapper .tm-spacer {
	pointer-events: none;
}
.page-footer-wrapper .tm-custom-menu,
.page-footer-wrapper .tm-custom-menu .menu {
	position: relative;
	z-index: 2;
}

/* "Parallax" reveal footer: the footer was fixed behind the page, so keyboard focus on footer
   links could sit hidden under the content (2.4.11 Focus Not Obscured) and its text could
   not be measured. The footer now sits in normal page flow. */
@media only screen and (min-width: 1024px) {
	.page-footer-parallax:not(.page-template-one-page-scroll) .page-footer-wrapper {
		position: relative !important;
		bottom: auto !important;
		z-index: auto !important;
	}
	.page-footer-parallax:not(.page-template-one-page-scroll) .content-wrapper {
		margin-bottom: 0 !important;
	}
}
