/* PCP demo — header & footer extras (loaded site-wide; everything else is in Elementor settings). */

/* Header */
.pcp-header.e-con { border-bottom: 1px solid #EEF2F7; }
.pcp-brand.e-con { --width: auto; flex: 0 0 auto; text-decoration: none; }
.pcp-brand__text.e-con { --width: auto; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.pcp-dotcom { font-weight: 400; font-size: .8em; letter-spacing: 0; }
.pcp-header__nav.e-con { --width: auto; flex: 0 1 auto; --padding-left: 0; --padding-right: 0; }
.pcp-search .elementor-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; transition: background-color .15s; }
.pcp-search .elementor-icon:hover,
.pcp-search .elementor-icon:focus-visible { background-color: #EAF6FB; }

@media (max-width: 1024px) {
	/* Hamburger after the search icon, at the far right. */
	.pcp-header__nav .elementor-widget-nav-menu { order: 2; }
}
@media (max-width: 767px) {
	.pcp-search .elementor-icon { width: 34px; height: 34px; }
}
/* Separate the open mobile menu from the page beneath it. */
.pcp-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	border-top: 1px solid #EEF2F7; box-shadow: 0 18px 30px rgba(11, 31, 77, .14);
}

/* Footer */
.pcp-footer p { margin: 0; }
/* Disclosure takes the free space and wraps; logo and links keep their size. */
.pcp-footer .elementor-widget.pcp-footer__disclosure { flex: 1 1 0; min-width: 0; }
.pcp-footer .elementor-widget.pcp-footer__links { flex: 0 0 auto; }
@media (min-width: 768px) {
	/* Both dividers run the full row height. */
	.pcp-footer .elementor-widget.pcp-footer__disclosure,
	.pcp-footer .elementor-widget.pcp-footer__links { align-self: stretch; display: flex; align-items: center; }
}
.pcp-footer__disclosure,
.pcp-footer__links { border-left: 1px solid rgba(255, 255, 255, .28); padding-left: 32px; }
.pcp-footer__links a:hover,
.pcp-footer__links a:focus-visible { text-decoration: underline; }
.pcp-footer__legal { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 16px; }

@media (max-width: 767px) {
	.pcp-footer__disclosure,
	.pcp-footer__links { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255, 255, 255, .2); padding-top: 16px; width: 100%; }
}

.pcp-main:focus { outline: none; }

/* Keyboard focus visible on dark and light backgrounds */
.elementor a:focus-visible,
.elementor button:focus-visible,
.elementor input:focus-visible { outline: 2px solid #1882D4; outline-offset: 2px; }
