/* Plaskett Potter – small utilities that Elementor controls can't express. */

/* Gold rule (brand kit screen gold; under the header and above the footer). */
.pp-gradient-rule {
	height: 4px;
	background: linear-gradient(90deg, #9E7F3F 0%, #C9A961 30%, #E8D5A6 50%, #C9A961 70%, #9E7F3F 100%);
}

/* Dashed placeholder boxes for photos not yet supplied. */
.pp-placeholder {
	border: 1px dashed rgba(38, 76, 142, 0.45);
}

/* Horizontal swipe rows on mobile (announcements, leadership). */
@media (max-width: 767px) {
	.pp-swipe > .e-con-inner,
	.pp-swipe .jet-listing-grid__items {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 12px;
		padding-bottom: 8px;
	}
	.pp-swipe .jet-listing-grid__item {
		flex: 0 0 78% !important;
		max-width: 78% !important;
		scroll-snap-align: start;
	}
}

/* Island badge on town hall rows (colors set per Island term, see functions.php). */
.pp-island-badge a {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: #E6ECF6;
	color: #264C8E;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	text-decoration: none;
	pointer-events: none;
}

/* Island name after the date on event cards. */
.pp-eyebrow-terms .jet-listing-dynamic-terms {
	color: #264C8E;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Policy tiles: icon glyph sizing. */
.pp-area-tile .jet-listing-dynamic-field__content i { font-size: 15px; line-height: 1; }

/* Links inside footer text blocks sit on navy. */
.elementor-location-footer .elementor-widget-text-editor a { color: #FFFFFF; }

/* GTranslate switcher in the top bar. */
.pp-lang .gt_switcher_wrapper,
.pp-lang .gtranslate_wrapper { position: static !important; }
.pp-lang a.glink {
	display: inline-block;
	padding: 3px 8px;
	margin-left: 4px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}
.pp-lang a.glink.gt-current-lang { background: #fff; color: #0B2A59; }
.pp-lang a.glink img { display: none; }

/* ---------- Inner pages ---------- */

/* Breadcrumbs in the blue page header. */
.pp-crumbs a { color: #FFFFFF; text-decoration: underline; }
.pp-crumbs p { margin: 0; }

/* Links inside text on navy cards. */
.pp-on-navy a { color: #E8D5A6; }
.pp-on-navy p { margin: 0 0 .6em; }

/* Policy group badges (value comes from the pp_group select). */
.pp-group-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.4;
	text-transform: capitalize;
	background: #E6ECF6;
	color: #264C8E;
}
.pp-group-economy { background: #F4E7D2; color: #5C4414; }
.pp-group-people { background: #DDF3EC; color: #145A44; }

/* News category badges (linked Dynamic Terms; colored by category slug). */
.pp-cat-badge a {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .8px;
	text-transform: uppercase;
	text-decoration: none;
	pointer-events: none;
	background: #E6ECF6;
	color: #264C8E;
}
.pp-cat-badge a[href*="/category/announcement/"] { background: #F4E7D2; color: #5C4414; }
.pp-cat-badge a[href*="/category/town-hall/"] { background: #DDF3EC; color: #145A44; }
.pp-cat-badge a[href*="/category/press-release/"] { background: #DDEFFB; color: #0A5C8C; }

/* Pill tabs (Policy Areas) and pill filter (News). */
.pp-pill-tabs .e-n-tabs-heading { gap: 8px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.pp-pill-tabs .e-n-tab-title {
	flex: 0 0 auto;
	padding: 8px 16px;
	border: 1px solid #E6DCC6 !important;
	border-radius: 999px;
	background: #FFFFFF !important;
	color: #0B2A59 !important;
	font-family: Jost, sans-serif;
	font-size: 12px;
	font-weight: 800;
}
.pp-pill-tabs .e-n-tab-title[aria-selected="true"] { background: #0B2A59 !important; border-color: #0B2A59 !important; color: #FFFFFF !important; }
.pp-pill-tabs .e-n-tab-title-text { color: inherit !important; }
.pp-pill-filter .e-filter { gap: 8px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.pp-pill-filter .e-filter-item {
	flex: 0 0 auto;
	padding: 8px 16px;
	border: 1px solid #E6DCC6;
	border-radius: 999px;
	background: #FFFFFF;
	color: #0B2A59;
	font-family: Jost, sans-serif;
	font-size: 12px;
	font-weight: 800;
}
.pp-pill-filter .e-filter-item[aria-pressed="true"] { background: #0B2A59; border-color: #0B2A59; color: #FFFFFF; }

/* News loop pagination. */
.pp-news-list .elementor-pagination { margin-top: 20px; padding-bottom: 20px; }
.pp-news-list .elementor-pagination .page-numbers {
	display: inline-block;
	min-width: 32px;
	padding: 6px 10px;
	margin: 0 3px;
	border: 1px solid #E6DCC6;
	border-radius: 4px;
	color: #0B2A59;
	font-weight: 800;
	font-size: 12px;
	text-align: center;
}
.pp-news-list .elementor-pagination .page-numbers.current { background: #0B2A59; border-color: #0B2A59; color: #FFFFFF; }
.pp-news-list .elementor-pagination .page-numbers.prev,
.pp-news-list .elementor-pagination .page-numbers.next { border: 0; color: #264C8E; }

/* Inauguration schedule: highlight the main ceremony (class added in functions.php). */
.jet-listing-grid__item .pp-main-badge { display: none; }
.pp-main-event .pp-main-badge { display: block; }
.pp-main-badge .elementor-heading-title {
	padding: 2px 8px;
	border-radius: 999px;
	background: #C9A961;
}
.pp-main-event .pp-event-row { border-color: #C9A961 !important; box-shadow: 0 0 0 1px #C9A961; }
.pp-main-event .pp-event-date .jet-listing-dynamic-field__content { color: #264C8E; }
.pp-event-islands .jet-listing-dynamic-terms { color: #3A4766; font-size: 11px; }

/* "Share input →" dynamic link on policy cards. */
.pp-share-link .jet-listing-dynamic-link__link { color: #264C8E; font-size: 12px; font-weight: 700; }

/* Pill radios ("What is this about?"). */
.elementor-field-subgroup.pp-pill-radio { display: flex; flex-wrap: wrap; gap: 12px 8px; margin-top: 4px; }
.elementor-field-subgroup.pp-pill-radio .elementor-field-option { padding-inline-end: 0; }
/* Elementor sets radio labels to display:inline, so their padding overlapped the next row. */
.elementor-field-type-radio .elementor-field-subgroup.pp-pill-radio .elementor-field-option label { display: inline-block; line-height: 1.3; font-weight: 700; }
.pp-pill-radio .elementor-field-option input { position: absolute; opacity: 0; }
.pp-pill-radio .elementor-field-option label {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid #E6DCC6;
	border-radius: 999px;
	background: #FFFFFF;
	color: #0B2A59;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}
.pp-pill-radio .elementor-field-option input:checked + label { background: #0B2A59; border-color: #0B2A59; color: #FFFFFF !important; }
.pp-pill-radio .elementor-field-option input:focus-visible + label { outline: 2px solid #C9A961; outline-offset: 2px; }

/* Same pills on the WPForms contact form (field class pp-pill-radio). */
div.wpforms-container-full .pp-pill-radio ul { display: flex; flex-wrap: wrap; gap: 12px 8px; margin-top: 4px; }
div.wpforms-container-full .pp-pill-radio ul li { margin: 0 !important; padding: 0; }
div.wpforms-container-full .pp-pill-radio ul li input[type=radio] { position: absolute; opacity: 0; width: 1px; height: 1px; }
div.wpforms-container-full .pp-pill-radio ul li label.wpforms-field-label-inline {
	display: inline-block;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid #E6DCC6;
	border-radius: 999px;
	background: #FFFFFF;
	color: #0B2A59;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}
div.wpforms-container-full .pp-pill-radio ul li input:checked + label.wpforms-field-label-inline { background: #0B2A59; border-color: #0B2A59; color: #FFFFFF; }
div.wpforms-container-full .pp-pill-radio ul li input:focus-visible + label { outline: 2px solid #C9A961; outline-offset: 2px; }
/* Labels and button in the site's type (Jost labels, uppercase button like the old form). */
.pp-wpforms .wpforms-field-label, .pp-wpforms legend.wpforms-field-label { font-family: Jost, sans-serif; font-size: 12px; font-weight: 700; }
.pp-wpforms .wpforms-field input, .pp-wpforms .wpforms-field textarea { font-family: Jost, sans-serif; font-size: 14px; }
.pp-wpforms button.wpforms-submit { font-family: Jost, sans-serif; font-weight: 500; font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px; min-width: 33%; }
.pp-wpforms button.wpforms-submit:hover { background: #E8D5A6 !important; color: #2E5AA8 !important; }
@media (max-width: 767px) {
	.pp-wpforms button.wpforms-submit { width: 100%; }
	/* Name/Email and Phone/Organization stack on phones. */
	div.wpforms-container-full.pp-wpforms .wpforms-field.wpforms-one-half, .pp-wpforms div.wpforms-container-full .wpforms-field.wpforms-one-half { width: 100% !important; margin-left: 0 !important; float: none; }
}

/* First row of bordered lists has no top rule. */
.jet-listing-grid__item:first-child > .elementor > .pp-committee-row,
.jet-listing-grid__item:first-child .pp-committee-row { border-top-width: 0; }
.pp-pill-tabs .e-n-tab-title-text { text-transform: none; }
.pp-pill-filter .e-filter { justify-content: flex-start; }
.pp-pill-filter .e-filter-item { text-transform: none; }

/* Link hover on dark (navy/blue) containers – the kit's navy hover would vanish.
   pp-dark / pp-light are added by background color in the builder. */
body .pp-dark a:not(.elementor-button):hover,
body .pp-dark a:not(.elementor-button):focus-visible { color: #C9A961; }
body .pp-dark .pp-on-navy a:hover,
body .pp-dark .pp-on-navy a:focus-visible { color: #FFFFFF; }
body .pp-dark .pp-light a:not(.elementor-button):hover,
body .pp-dark .pp-light a:not(.elementor-button):focus-visible { color: var(--e-global-color-secondary); }
body .pp-lang a.glink.gt-current-lang:hover { color: #0B2A59; }

/* Home hero: Seal Blue overlay under text on photography (lighter palette, Nov 2). */
.e-con.pp-hero::before {
	background-image: linear-gradient(90deg, rgba(30,63,120,.92) 0%, rgba(38,76,142,.82) 42%, rgba(46,90,168,.25) 100%) !important;
	opacity: 1 !important;
}
@media (max-width: 1024px) {
	.e-con.pp-hero::before { background-image: linear-gradient(180deg, rgba(30,63,120,.9) 0%, rgba(38,76,142,.8) 55%, rgba(46,90,168,.5) 100%) !important; }
}

/* Contrast pass (Nov 2): navy text on gold boxes, darker gold link hover on blue. */
.pp-main-badge .elementor-heading-title { color: #0B2A59 !important; }
.elementor-countdown-item:last-child .elementor-countdown-digits,
.elementor-countdown-item:last-child .elementor-countdown-label { color: #0B2A59 !important; }
body .pp-dark a:not(.elementor-button):hover,
body .pp-dark a:not(.elementor-button):focus-visible { color: #E8D5A6; }

/* Footer language switch (GTranslate shortcode, Nov 2). Sits beside the Privacy Notice link. */
.pp-lang-footer a.glink { margin-left: 2px; padding: 3px 9px; font-size: 11px; letter-spacing: .5px; border: 1px solid rgba(255, 255, 255, .45); }
.pp-lang-footer a.glink:not(.gt-current-lang):hover { background: rgba(255, 255, 255, .12); }
@media (min-width: 768px) { .pp-lang-footer.elementor-widget { margin-left: auto !important; } }

/* Links in long-form legal text. */
.pp-legal a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 767px) {
	.pp-lang-footer.elementor-widget { margin-left: 0 !important; }
}

/* Keyboard focus: visible on every background (Nov 2 accessibility pass). Seal Blue on light, Gold Light on blue. */
a:focus-visible, button:focus-visible, .elementor-button:focus-visible, [tabindex]:focus-visible { outline: 2px solid #264C8E; outline-offset: 3px; }
.pp-dark a:focus-visible, .pp-dark button:focus-visible, .pp-dark .elementor-button:focus-visible,
.elementor-location-footer a:focus-visible, .pp-hero a:focus-visible { outline-color: #E8D5A6; }
.pp-dark .pp-light a:focus-visible { outline-color: #264C8E; }
