/**
 * GPI WCAG 2.2 AA — front-end accessibility styles.
 * Loaded late to override Soledad outline:0 / low-contrast greys without editing the theme.
 */

/* -------------------------------------------------------------------------
 * Skip link
 * ---------------------------------------------------------------------- */
.gpi-skip-link.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
	background: #19386d;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	z-index: 100000;
}

.gpi-skip-link.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	left: 8px;
	top: 8px;
	padding: 12px 18px;
	outline: 3px solid #fff;
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * Focus indicators (2.4.7 / 2.4.13) — beat theme outline:0 !important
 * ---------------------------------------------------------------------- */
.gpi-wcag-a11y a:focus-visible,
.gpi-wcag-a11y button:focus-visible,
.gpi-wcag-a11y input:focus-visible,
.gpi-wcag-a11y select:focus-visible,
.gpi-wcag-a11y textarea:focus-visible,
.gpi-wcag-a11y summary:focus-visible,
.gpi-wcag-a11y [tabindex]:not([tabindex="-1"]):focus-visible,
.gpi-wcag-a11y .pcheader-icon a:focus-visible,
.gpi-wcag-a11y .menu li a:focus-visible,
.gpi-wcag-a11y .searchsubmit:focus-visible,
.gpi-wcag-a11y .subscribe-btn:focus-visible,
.gpi-wcag-a11y .penci-vernav-toggle:focus-visible,
.gpi-wcag-a11y #penci-close-hbg:focus-visible {
	outline: 3px solid #19386d !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}

/* On dark footer / dark buttons use a light focus ring */
#footer-section a:focus-visible,
#footer-section button:focus-visible,
#footer-section input:focus-visible,
#footer-section .subscribe-btn:focus-visible,
.gpi-wcag-a11y .button:focus-visible,
.gpi-wcag-a11y input[type="submit"]:focus-visible {
	outline-color: #ffffff !important;
}

/* Sticky header: keep focused items visible */
.gpi-wcag-a11y .is-sticky #navigation a:focus-visible,
.gpi-wcag-a11y .penci-header-wrap a:focus-visible {
	position: relative;
	z-index: 5;
}

/* -------------------------------------------------------------------------
 * Colour contrast — WCAG 2 AA (1.4.3 / 1.4.11)
 *
 * Failing on white (#fff / #f5f5f5):
 *   #888 ≈ 3.54:1, #999 ≈ 2.85:1, #aaa/#ccc/#c3c3c3 < 2.5:1, #777 ≈ 4.48:1
 * AA targets used here:
 *   --gpi-a11y-muted:  #595959 ≈ 7.0:1  (normal text)
 *   --gpi-a11y-muted2: #666666 ≈ 5.7:1  (secondary text)
 *   --gpi-a11y-border: #757575 ≈ 4.6:1  (UI borders / components ≥ 3:1)
 * ---------------------------------------------------------------------- */
.gpi-wcag-a11y {
	--gpi-a11y-muted: #595959;
	--gpi-a11y-muted2: #666666;
	--gpi-a11y-border: #757575;
	--gpi-a11y-link: #19386d; /* site accent; ≈ 11.5:1 on white */
	--gpi-a11y-error: #b00020; /* ≈ 7.3:1 on white */
	--gpi-a11y-target: 44px; /* comfortable touch target */
	--gpi-a11y-target-min: 24px; /* WCAG 2.5.8 minimum */
}

/* --- Meta, breadcrumbs, captions, secondary copy (normal text ≥ 4.5:1) --- */
.gpi-wcag-a11y .penci-breadcrumb,
.gpi-wcag-a11y .penci-breadcrumb a,
.gpi-wcag-a11y .penci-breadcrumb span,
.gpi-wcag-a11y .author-content .author-description,
.gpi-wcag-a11y .penci-post-box-meta,
.gpi-wcag-a11y .penci-post-box-meta span,
.gpi-wcag-a11y .penci-post-box-meta a,
.gpi-wcag-a11y .penci-post-box-meta .penci-box-meta a,
.gpi-wcag-a11y .penci-post-box-meta .penci-box-meta span,
.gpi-wcag-a11y .penci-posted-on,
.gpi-wcag-a11y .entry-meta,
.gpi-wcag-a11y .entry-meta span,
.gpi-wcag-a11y .entry-meta a,
.gpi-wcag-a11y .grid-post-box-meta,
.gpi-wcag-a11y .grid-post-box-meta span,
.gpi-wcag-a11y .grid-post-box-meta a,
.gpi-wcag-a11y .grid-post-box-meta > span:not(.cat),
.gpi-wcag-a11y .grid-post-box-meta span a.comment-link,
.gpi-wcag-a11y .penci-grid .item .grid-post-box-meta span,
.gpi-wcag-a11y .penci-archive .penci-archive-count,
.gpi-wcag-a11y .comment-metadata,
.gpi-wcag-a11y .comment-metadata a,
.gpi-wcag-a11y .comment-awaiting-moderation,
.gpi-wcag-a11y .penci-pagination a,
.gpi-wcag-a11y .penci-pagination .disable-url,
.gpi-wcag-a11y .penci-pagination ul.page-numbers li a,
.gpi-wcag-a11y .penci-pagination ul.page-numbers li span,
.gpi-wcag-a11y .post-box-meta-single span,
.gpi-wcag-a11y .header-standard .author-post > span,
.gpi-wcag-a11y .format-post-box .dt-special,
.gpi-wcag-a11y .format-post-box .dt-special a,
.gpi-wcag-a11y .overlay-post-box-meta .overlay-share a,
.gpi-wcag-a11y .overlay-post-box-meta .overlay-share span,
.gpi-wcag-a11y .item-related span.date,
.gpi-wcag-a11y .penci-rlt-popup .rltpopup-meta .date,
.gpi-wcag-a11y .tags-share-box .single-comment-o,
.gpi-wcag-a11y .container-single .post-entry .post-tags a,
.gpi-wcag-a11y .post-entry blockquote,
.gpi-wcag-a11y .post-entry blockquote p,
.gpi-wcag-a11y .wpb_text_column blockquote p,
.gpi-wcag-a11y .wp-caption-text,
.gpi-wcag-a11y .gallery-caption,
.gpi-wcag-a11y figcaption,
.gpi-wcag-a11y .penci-entry-categories a,
.gpi-wcag-a11y .cat > a.penci-cat-name,
.gpi-wcag-a11y .penci-archive-count,
.gpi-wcag-a11y .penci-bgstyle-meta,
.gpi-wcag-a11y .penci-hero-meta,
.gpi-wcag-a11y .penci-posted-on time,
.gpi-wcag-a11y .author-description,
.gpi-wcag-a11y .site-description,
.gpi-wcag-a11y .widget .post-date,
.gpi-wcag-a11y .widget cite,
.gpi-wcag-a11y .widget_recent_entries span,
.gpi-wcag-a11y .widget_rss .rss-date,
.gpi-wcag-a11y .widget_rss cite,
.gpi-wcag-a11y .penci-sidebar-content .penci-border-link,
.gpi-wcag-a11y #bbpress-forums .bbp-breadcrumb,
.gpi-wcag-a11y #bbpress-forums .bbp-breadcrumb a,
.gpi-wcag-a11y #bbpress-forums .bbp-breadcrumb .bbp-breadcrumb-current,
.gpi-wcag-a11y #bbpress-forums li.bbp-body ul.topic p.bbp-topic-meta,
.gpi-wcag-a11y #bbpress-forums .bbp-topic-started-by,
.gpi-wcag-a11y #bbpress-forums .bbp-topic-started-in,
.gpi-wcag-a11y #bbpress-forums li.bbp-body .bbp-forum-freshness > a,
.gpi-wcag-a11y #bbpress-forums li.bbp-body .bbp-topic-freshness > a {
	color: var(--gpi-a11y-muted) !important;
}

/* Title/link hovers that theme sets to failing #888 — keep readable */
.gpi-wcag-a11y .pc_titlebig_standard a:hover,
.gpi-wcag-a11y .header-standard h2 a:hover,
.gpi-wcag-a11y .penci-grid li .item h2 a:hover,
.gpi-wcag-a11y .penci-masonry .item-masonry h2 a:hover,
.gpi-wcag-a11y .grid-mixed .mixed-detail h2 a:hover {
	color: var(--gpi-a11y-link) !important;
}

/* --- Form controls: text, placeholders, borders (1.4.3 + 1.4.11) --- */
.gpi-wcag-a11y input[type="text"],
.gpi-wcag-a11y input[type="email"],
.gpi-wcag-a11y input[type="url"],
.gpi-wcag-a11y input[type="search"],
.gpi-wcag-a11y input[type="tel"],
.gpi-wcag-a11y input[type="password"],
.gpi-wcag-a11y input[type="number"],
.gpi-wcag-a11y input.search-input,
.gpi-wcag-a11y textarea,
.gpi-wcag-a11y select,
.gpi-wcag-a11y .wpcf7 input[type="text"],
.gpi-wcag-a11y .wpcf7 input[type="email"],
.gpi-wcag-a11y .wpcf7 textarea,
.gpi-wcag-a11y .wpforms-field input,
.gpi-wcag-a11y .wpforms-field textarea,
.gpi-wcag-a11y .wpforms-field select {
	color: #222222 !important;
	border-color: var(--gpi-a11y-border) !important;
}

/* Light-surface subscribe fields only (not the footer blue band — handled below) */
.gpi-wcag-a11y .subscribe-form-input:not(#userSubscriptEmailFooterId) {
	color: #222222 !important;
	border-color: var(--gpi-a11y-border) !important;
}

.gpi-wcag-a11y ::placeholder {
	color: var(--gpi-a11y-muted) !important;
	opacity: 1 !important;
}
.gpi-wcag-a11y :-ms-input-placeholder {
	color: var(--gpi-a11y-muted) !important;
}
.gpi-wcag-a11y ::-ms-input-placeholder {
	color: var(--gpi-a11y-muted) !important;
}

/* Pagination / chip borders that were #dedede (≈1.35:1 on white) */
.gpi-wcag-a11y .penci-pagination ul.page-numbers li a,
.gpi-wcag-a11y .penci-pagination ul.page-numbers li span,
.gpi-wcag-a11y .penci-pagination a,
.gpi-wcag-a11y .container-single .post-entry .post-tags a,
.gpi-wcag-a11y .tagcloud a {
	border-color: var(--gpi-a11y-border) !important;
}

/* Disabled controls: keep ≥ 3:1 against page background where possible */
.gpi-wcag-a11y [disabled],
.gpi-wcag-a11y :disabled,
.gpi-wcag-a11y .disabled,
.gpi-wcag-a11y .penci-pagination .disable-url {
	color: var(--gpi-a11y-muted2) !important;
	opacity: 1 !important;
}

/* Low-contrast cyan accent (#00c1de ≈ 2.17:1 on white) as text/links */
.gpi-wcag-a11y .penci-standard .cat a,
.gpi-wcag-a11y .standard-post-categories a,
.gpi-wcag-a11y .cat a.penci-cat-name {
	color: var(--gpi-a11y-link) !important;
}

/* --- Footer copyright bar (#313131): lift #999 (≈4.57:1) to clearer light grey --- */
.gpi-wcag-a11y #footer-section,
.gpi-wcag-a11y #footer-section .footer-menu li a,
.gpi-wcag-a11y #footer-copyright *,
.gpi-wcag-a11y ul.footer-socials li a span,
.gpi-wcag-a11y #footer-section .go-to-top-parent span {
	color: #d0d0d0 !important; /* ≈ 10:1 on #313131 */
}

.gpi-wcag-a11y ul.footer-socials li a i {
	color: #d0d0d0 !important;
	border-color: #d0d0d0 !important;
}

.gpi-wcag-a11y ul.footer-socials li a i svg {
	fill: #d0d0d0 !important;
}

/* Newsletter block sits on accent/widget blue (#19386d) — white text */
.gpi-wcag-a11y .footer-title,
.gpi-wcag-a11y .footer-sub-title {
	color: #ffffff !important;
}

/*
 * Footer widget / QnA / subscribe — WCAG 1.4.3 contrast on brand blue (#19386d).
 *
 * Theme_mod penci_footer_widget_area_bg = #19386d.
 * Theme_mod penci_footer_widget_accent_color = #19386d (links same as bg → ~1:1).
 * GoldenPi CSS: .footer-qna-section a { color: #007bff } → ~2.89:1 on #19386d.
 * Our earlier global input rule forced #222 / placeholder #595959 on the
 * transparent subscribe field → ~1.4–1.6:1 on #19386d.
 */
.gpi-wcag-a11y #widget-area,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget li,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget .widget-title,
.gpi-wcag-a11y #widget-area .footer-title,
.gpi-wcag-a11y #widget-area .footer-sub-title {
	color: #ffffff !important;
}

.gpi-wcag-a11y #widget-area a,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper a,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget a,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget-social a i,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget-social a span {
	color: #cfe0ff !important; /* ≈ 8.6:1 on #19386d */
}

.gpi-wcag-a11y #widget-area a:hover,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper a:hover,
.gpi-wcag-a11y #widget-area .footer-widget-wrapper .widget a:hover {
	color: #ffffff !important;
}

/* Transparent email field over blue: light text + visible border (1.4.3 / 1.4.11) */
.gpi-wcag-a11y #widget-area #userSubscriptEmailFooterId.subscribe-form-input,
.gpi-wcag-a11y #widget-area .subscribe-form-input,
.gpi-wcag-a11y #userSubscriptEmailFooterId.subscribe-form-input {
	color: #ffffff !important;
	background-color: transparent !important;
	border: 1px solid #9eb4d8 !important; /* ≈ 5.5:1 UI vs #19386d */
	caret-color: #ffffff;
}

.gpi-wcag-a11y #widget-area #userSubscriptEmailFooterId::placeholder,
.gpi-wcag-a11y #widget-area .subscribe-form-input::placeholder,
.gpi-wcag-a11y #userSubscriptEmailFooterId::placeholder,
.gpi-wcag-a11y #userSubscriptEmailFooterId::-webkit-input-placeholder {
	color: #e8e8e8 !important; /* ≈ 9.4:1 on #19386d */
	opacity: 1 !important;
}

.gpi-wcag-a11y #userSubscriptEmailFooterId::-moz-placeholder {
	color: #e8e8e8 !important;
	opacity: 1 !important;
}

/* Link lists + investor note on the same blue band */
.gpi-wcag-a11y .footer-urls,
.gpi-wcag-a11y .footer-urls .header,
.gpi-wcag-a11y .footer-urls .copy-right p,
.gpi-wcag-a11y .footer-urls .gpi-info {
	color: #ffffff !important;
}

.gpi-wcag-a11y .footer-urls a {
	color: #ffffff !important;
}

.gpi-wcag-a11y .footer-urls a:hover {
	color: #cfe0ff !important;
}

.gpi-wcag-a11y .footer-qna-section,
.gpi-wcag-a11y .footer-qna-section .question,
.gpi-wcag-a11y .footer-qna-section .answer,
.gpi-wcag-a11y .footer-qna-section .answer p,
.gpi-wcag-a11y .footer-qna-section .answer .link {
	color: #ffffff !important;
}

.gpi-wcag-a11y .footer-qna-section a {
	color: #cfe0ff !important; /* replace #007bff (~2.89:1) */
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.gpi-wcag-a11y .footer-qna-section a:hover {
	color: #ffffff !important;
}

/* Error text ≥ 4.5:1 */
.gpi-wcag-a11y .wpcf7-not-valid-tip,
.gpi-wcag-a11y .wpforms-error,
.gpi-wcag-a11y .comment-form .error {
	color: var(--gpi-a11y-error) !important;
}

/* wpForo secondary text on light surfaces */
.gpi-wcag-a11y #wpforo-wrap .wpf-action,
.gpi-wcag-a11y #wpforo-wrap .wpf-meta,
.gpi-wcag-a11y #wpforo-wrap .wpforo-topic-meta,
.gpi-wcag-a11y #wpforo-wrap .wpforo-last-topic-date,
.gpi-wcag-a11y #wpforo-wrap .wpforo-last-post-date {
	color: var(--gpi-a11y-muted) !important;
}

/* -------------------------------------------------------------------------
 * Links in content — distinguishable without relying on colour alone (1.4.1)
 * ---------------------------------------------------------------------- */
.gpi-wcag-a11y .entry-content a:not(.button):not(.penci-btn):not(.wp-block-button__link),
.gpi-wcag-a11y .post-entry a:not(.button):not(.penci-btn):not(.wp-block-button__link),
.gpi-wcag-a11y .comment-content a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.gpi-wcag-a11y .entry-content a:not(.button):not(.penci-btn):hover,
.gpi-wcag-a11y .post-entry a:not(.button):not(.penci-btn):hover {
	text-decoration-thickness: 2px;
}

/* -------------------------------------------------------------------------
 * Forms
 * ---------------------------------------------------------------------- */
.gpi-wcag-a11y .gpi-a11y-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	color: #222;
}

.gpi-wcag-a11y .gpi-a11y-field .required {
	color: #b00020;
	margin-left: 2px;
}

.gpi-wcag-a11y .gpi-visually-hidden,
.gpi-wcag-a11y .gpi-a11y-label-sr {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	white-space: nowrap !important;
}

.gpi-wcag-a11y .mailSuccessErrMsgs,
.gpi-wcag-a11y #gpiNotificationErrMsgFooter {
	color: #b00020 !important;
	font-weight: 600;
}

.gpi-wcag-a11y .mailSuccessErrMsgs:not(:empty),
.gpi-wcag-a11y #gpiNotificationErrMsgFooter:not(:empty) {
	border-left: 3px solid #b00020;
	padding-left: 8px;
}

/* Dialog close control: keep theme look when <img> is promoted to <button> */
.gpi-wcag-a11y button.gpi-a11y-dialog-close,
.gpi-wcag-a11y #cloasePopup.gpi-a11y-dialog-close {
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	line-height: 0;
	min-width: var(--gpi-a11y-target, 44px);
	min-height: var(--gpi-a11y-target, 44px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.gpi-wcag-a11y button.gpi-a11y-dialog-close img {
	display: block;
	pointer-events: none;
	/* Keep the visible glyph small; hit area comes from the button. */
	width: 16px;
	height: auto;
	max-width: 20px;
}

/* Menu toggle div promoted to role=button — keep pointer affordance */
.gpi-wcag-a11y .button-menu-mobile[role="button"] {
	cursor: pointer;
}

/* -------------------------------------------------------------------------
 * Target size — WCAG 2.2 SC 2.5.8 (Minimum 24×24 CSS px)
 *
 * Expand the interactive hit area with min-size / padding / flex centering.
 * Do NOT enlarge icon glyphs, SVG viewBoxes, or normal paragraph text links.
 * Prefer ~44×44 where layout allows (mobile comfort).
 * ---------------------------------------------------------------------- */

/* --- Mobile hamburger (.button-menu-mobile contains 18×18 SVG) --- */
.gpi-wcag-a11y #navigation .button-menu-mobile,
.gpi-wcag-a11y .navigation .button-menu-mobile,
.gpi-wcag-a11y .button-menu-mobile {
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
	padding: 13px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.gpi-wcag-a11y .button-menu-mobile svg {
	width: 18px;
	height: 18px;
	display: block;
	flex-shrink: 0;
	margin: 0 auto;
}

/* Only change display when the theme already shows the control */
.gpi-wcag-a11y .penci_navbar_mobile .navigation .button-menu-mobile {
	display: inline-flex !important;
}

@media only screen and (max-width: 960px) {
	.gpi-wcag-a11y #navigation .button-menu-mobile {
		display: inline-flex !important;
	}
}

/* --- Hamburger / off-canvas toggle (theme width: 18px) --- */
.gpi-wcag-a11y .penci-menuhbg-toggle {
	min-width: var(--gpi-a11y-target);
	width: auto !important;
	padding-left: 13px;
	padding-right: 13px;
	box-sizing: border-box;
	justify-content: center;
}

/* --- Off-canvas close control (theme: 20×20) --- */
.gpi-wcag-a11y .penci-menu-hbg-inner #penci-close-hbg {
	width: var(--gpi-a11y-target) !important;
	height: var(--gpi-a11y-target) !important;
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
	box-sizing: border-box;
}

.gpi-wcag-a11y .penci-menu-hbg-inner #penci-close-hbg:before,
.gpi-wcag-a11y .penci-menu-hbg-inner #penci-close-hbg:after {
	/* Keep the visual X ~20px; only the hit box grows to 44×44. */
	left: 50% !important;
	top: 50%;
	height: 20px !important;
	margin-left: -1px;
	margin-top: -10px;
	transform-origin: center center;
}

/* --- Header search close (theme width: 20px) --- */
.gpi-wcag-a11y .show-search a.close-search {
	min-width: var(--gpi-a11y-target) !important;
	width: var(--gpi-a11y-target) !important;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.gpi-wcag-a11y .header-search-style-overlay .show-search a.close-search {
	min-width: var(--gpi-a11y-target) !important;
	min-height: var(--gpi-a11y-target) !important;
	width: var(--gpi-a11y-target) !important;
	height: var(--gpi-a11y-target) !important;
	padding: 0 !important;
	line-height: 1 !important;
}

/* --- Header icon links (search / cart / bookmark): tall but often ~14–16px wide --- */
.gpi-wcag-a11y .pcheader-icon > a,
.gpi-wcag-a11y #penci-header-bookmark > a {
	min-width: var(--gpi-a11y-target);
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* --- Header / sidebar social icon links (glyph ~14px, tight margins) --- */
.gpi-wcag-a11y .main-nav-social a,
.gpi-wcag-a11y .header-social a,
.gpi-wcag-a11y .penci-menu-hbg .header-social a,
.gpi-wcag-a11y .sidebar-nav-social a {
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	vertical-align: middle;
	/* Keep adjacent 44px targets from overlapping; spacing ≥ 0 between edges. */
	margin-right: 4px;
}

.gpi-wcag-a11y .main-nav-social a:last-child,
.gpi-wcag-a11y .header-social a:last-child {
	margin-right: 0;
}

/* --- Compact post-card / classic share icons (~14px + 4–10px margins) --- */
.gpi-wcag-a11y .gird-post-share a,
.gpi-wcag-a11y .overlay-post-box-meta .overlay-share a,
.gpi-wcag-a11y .post-share:not(.pcnew-share) > a,
.gpi-wcag-a11y .tags-share-box:not(.pcnew-share) .post-share a {
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin-left: 2px;
	margin-right: 2px;
}

/* Sticky share style-n3 uses 30×30 — OK for 24; leave alone unless packed. */

/* --- Footer socials without circle (theme: auto / line-height 20) --- */
.gpi-wcag-a11y .footer-social-remove-circle ul.footer-socials li a {
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	line-height: 1;
	padding: 0 4px;
}

.gpi-wcag-a11y .footer-social-remove-circle ul.footer-socials li a i {
	line-height: 1 !important;
}

/* Circled footer socials are already 32–36px — bump to comfortable 44 on touch. */
@media (pointer: coarse), (max-width: 960px) {
	.gpi-wcag-a11y ul.footer-socials li a {
		min-width: var(--gpi-a11y-target);
		min-height: var(--gpi-a11y-target);
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.gpi-wcag-a11y ul.footer-socials li a i {
		/* Keep the visible circle; flex parent provides extra hit padding. */
		flex-shrink: 0;
	}
}

/* --- Slider / carousel arrow controls (headline: 16×20; widget: 16px wide) --- */
.gpi-wcag-a11y .penci-owl-carousel-slider.penci-headline-posts .penci-owl-nav .owl-next,
.gpi-wcag-a11y .penci-owl-carousel-slider.penci-headline-posts .penci-owl-nav .owl-prev,
.gpi-wcag-a11y .penci-owl-carousel.penci-widget-slider .penci-owl-nav .owl-next,
.gpi-wcag-a11y .penci-owl-carousel.penci-widget-slider .penci-owl-nav .owl-prev {
	min-width: var(--gpi-a11y-target) !important;
	min-height: var(--gpi-a11y-target) !important;
	width: var(--gpi-a11y-target) !important;
	height: var(--gpi-a11y-target) !important;
	line-height: var(--gpi-a11y-target) !important;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

/* Generic owl/slick arrows already ~34px — ensure ≥ 24 and prefer 44 on coarse pointers. */
@media (pointer: coarse) {
	.gpi-wcag-a11y .penci-owl-carousel .penci-owl-nav .owl-next,
	.gpi-wcag-a11y .penci-owl-carousel .penci-owl-nav .owl-prev,
	.gpi-wcag-a11y .penci-slick-carousel .slick-arrow,
	.gpi-wcag-a11y .swiper-button-prev,
	.gpi-wcag-a11y .swiper-button-next {
		min-width: var(--gpi-a11y-target);
		min-height: var(--gpi-a11y-target);
	}
}

/* --- Pagination: theme often 25×30 / 30×30 — meet 24; comfort size on touch --- */
.gpi-wcag-a11y .penci-pagination ul.page-numbers li a,
.gpi-wcag-a11y .penci-pagination ul.page-numbers li span,
.gpi-wcag-a11y #comments_pagination a,
.gpi-wcag-a11y #comments_pagination span {
	min-width: var(--gpi-a11y-target-min);
	min-height: var(--gpi-a11y-target-min);
	box-sizing: border-box;
}

@media (pointer: coarse), (max-width: 960px) {
	.gpi-wcag-a11y .penci-pagination ul.page-numbers li a,
	.gpi-wcag-a11y .penci-pagination ul.page-numbers li span,
	.gpi-wcag-a11y #comments_pagination a,
	.gpi-wcag-a11y #comments_pagination span {
		min-width: var(--gpi-a11y-target);
		min-height: var(--gpi-a11y-target);
		line-height: calc(var(--gpi-a11y-target) - 2px);
		padding: 0 8px;
	}

	.gpi-wcag-a11y .penci-pagination ul.page-numbers li {
		margin: 0 4px 8px;
	}
}

/* --- Search submit (icon-style) --- */
.gpi-wcag-a11y form.pc-searchform .searchsubmit,
.gpi-wcag-a11y .pc-search-form .searchsubmit {
	min-width: var(--gpi-a11y-target-min);
	min-height: var(--gpi-a11y-target-min);
	box-sizing: border-box;
}

.gpi-wcag-a11y .pc-search-form.search-style-icon-button .searchsubmit {
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
}

/* --- Comment cookies checkbox: enlarge control to ≥24 without restyling the page --- */
.gpi-wcag-a11y .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: var(--gpi-a11y-target-min);
}

.gpi-wcag-a11y .comment-form-cookies-consent input[type="checkbox"],
.gpi-wcag-a11y .wpcf7 input[type="checkbox"],
.gpi-wcag-a11y .wpcf7 input[type="radio"],
.gpi-wcag-a11y .wpforms-field input[type="checkbox"],
.gpi-wcag-a11y .wpforms-field input[type="radio"] {
	min-width: var(--gpi-a11y-target-min);
	min-height: var(--gpi-a11y-target-min);
	width: var(--gpi-a11y-target-min);
	height: var(--gpi-a11y-target-min);
	flex-shrink: 0;
}

/* --- Vertical nav floating toggle is already 50×50; ensure it stays usable --- */
.gpi-wcag-a11y .penci-vernav-toggle {
	min-width: var(--gpi-a11y-target);
	min-height: var(--gpi-a11y-target);
}

/* -------------------------------------------------------------------------
 * Landmark / main
 * ---------------------------------------------------------------------- */
#main:focus {
	outline: none;
}

/* -------------------------------------------------------------------------
 * Reduced motion
 * ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.gpi-wcag-a11y *,
	.gpi-wcag-a11y *::before,
	.gpi-wcag-a11y *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
