/* ==========================================================================
   APRC design system — overrides for the Logistic Company theme + WPBakery
   Palette taken from the APRC logo.
   ========================================================================== */

:root {
	--aprc-navy: #0c284b;
	--aprc-navy-900: #071a33;
	--aprc-navy-700: #163b66;
	--aprc-green: #00845f;
	--aprc-green-dark: #005b45;
	--aprc-sky: #51c1f7;
	--aprc-blue: #1478c8;       /* links / primary actions (AA on white) */
	--aprc-blue-dark: #0e5c9c;
	--aprc-ink: #1f2a37;
	--aprc-muted: #5b6878;
	--aprc-line: #e2e8f0;
	--aprc-soft: #f4f7fb;
	--aprc-radius: 10px;
	--aprc-shadow: 0 6px 24px rgba(12, 40, 75, .08);
	--aprc-shadow-lg: 0 14px 40px rgba(12, 40, 75, .14);
	--aprc-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--aprc-font-head: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}

/* ---------- Base typography ---------- */
body.aprc,
body.aprc input, body.aprc textarea, body.aprc select, body.aprc button,
body.aprc .wpb_text_column, body.aprc p, body.aprc li, body.aprc td, body.aprc th {
	font-family: var(--aprc-font);
}
body.aprc {
	font-size: 16px;
	line-height: 1.7;
	color: var(--aprc-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
body.aprc .body_wrap, body.aprc .page_wrap { background: #fff; }
body.aprc p, body.aprc .wpb_text_column li, body.aprc .post_content li { font-size: 1rem; line-height: 1.75; color: var(--aprc-ink); }
body.aprc .wpb_text_column p, body.aprc .post_content p { margin: 0 0 1.1em; }
body.aprc .wpb_text_column p:last-child { margin-bottom: 0; }

body.aprc h1, body.aprc h2, body.aprc h3, body.aprc h4, body.aprc h5, body.aprc h6,
body.aprc .sc_title, body.aprc .vc_custom_heading, body.aprc .widget_title {
	font-family: var(--aprc-font-head);
	color: var(--aprc-navy);
	letter-spacing: -0.01em;
	line-height: 1.25;
}
body.aprc .page_content_wrap h1 { font-size: 2.5rem; font-weight: 800; }
body.aprc .page_content_wrap h2 { font-size: 2rem; font-weight: 700; margin: 1.6em 0 .6em; }
body.aprc .page_content_wrap h3 { font-size: 1.5rem; font-weight: 700; margin: 1.4em 0 .5em; }
body.aprc .page_content_wrap h4 { font-size: 1.25rem; font-weight: 700; margin: 1.3em 0 .5em; }
body.aprc .page_content_wrap h5 { font-size: 1.1rem; font-weight: 700; margin: 1.2em 0 .4em; }
body.aprc .page_content_wrap h6 { font-size: 1rem; font-weight: 700; margin: 1.2em 0 .4em; }
body.aprc .page_content_wrap .wpb_wrapper > h2:first-child,
body.aprc .page_content_wrap .wpb_wrapper > h3:first-child,
body.aprc .page_content_wrap .wpb_wrapper > h4:first-child { margin-top: 0; }

body.aprc a { color: var(--aprc-blue); transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
body.aprc a:hover { color: var(--aprc-blue-dark); }
body.aprc .page_content_wrap .wpb_text_column a:not(.sc_button):not(.aprc-btn),
body.aprc .post_content p a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

body.aprc strong, body.aprc b { font-weight: 600; color: inherit; }
body.aprc ::selection { background: var(--aprc-sky); color: var(--aprc-navy-900); }

/* Lists */
body.aprc .wpb_text_column ul, body.aprc .post_content ul { padding-left: 1.3em; margin: 0 0 1.1em; }
body.aprc .wpb_text_column ul li, body.aprc .post_content ul li { margin-bottom: .45em; }
body.aprc .wpb_text_column ul li::marker, body.aprc .post_content ul li::marker { color: var(--aprc-green); }

/* Images */
body.aprc .wpb_single_image img, body.aprc .post_content img { border-radius: 8px; }

/* ---------- Layout ---------- */
body.aprc .content_wrap, body.aprc .content_container { width: 1200px; max-width: calc(100% - 48px); }
body.aprc .page_content_wrap { padding: 4.5rem 0 5rem; }
body.aprc.home .page_content_wrap { padding: 0; }

/* ---------- Header (desktop) ---------- */
body.aprc .top_panel_wrap,
body.aprc .top_panel_wrap_inner,
body.aprc .top_panel_middle,
body.aprc.top_panel_fixed .top_panel_wrap_inner .top_panel_middle,
body.aprc .top_panel_fixed .top_panel_wrap_inner:not(.top_panel_position_above) .top_panel_middle {
	background: #fff !important;
	background-image: none !important;
}
body.aprc .top_panel_wrap { position: relative; z-index: 9000; }
body.aprc .top_panel_wrap_inner { box-shadow: 0 1px 0 var(--aprc-line); }
body.aprc.top_panel_fixed .top_panel_wrap_inner { box-shadow: 0 4px 20px rgba(12, 40, 75, .10); }
body.aprc .top_panel_style_7 .top_panel_middle .content_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 88px;
}
body.aprc .top_panel_style_7 .top_panel_middle .content_wrap::after { display: none; }
body.aprc .top_panel_style_7 .contact_logo,
body.aprc .top_panel_style_7 .menu_main_wrap { float: none; margin: 0 !important; padding: 0; }
body.aprc .top_panel_wrap .logo { margin: 0 !important; padding: 0 !important; }
body.aprc .top_panel_wrap .logo img { height: 60px !important; width: auto !important; max-height: none; display: block; }
body.aprc.top_panel_fixed .top_panel_wrap .logo img { height: 48px !important; }
body.aprc .top_panel_wrap .logo .logo_fixed { display: none !important; }
body.aprc .top_panel_wrap .logo .logo_main { display: block !important; }
body.aprc.top_panel_fixed .top_panel_style_7 .top_panel_middle .content_wrap { min-height: 70px; }

/* Main menu */
body.aprc .menu_main_nav > li { margin: 0; }
body.aprc .menu_main_nav > li > a {
	font-family: var(--aprc-font);
	font-size: 15px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--aprc-navy) !important;
	padding: 30px 14px !important;
	line-height: 1.2;
	position: relative;
	background: none !important;
}
body.aprc.top_panel_fixed .menu_main_nav > li > a { padding-top: 24px !important; padding-bottom: 24px !important; }
body.aprc .menu_main_nav > li > a::after {
	content: "";
	position: absolute;
	left: 14px; right: 14px; bottom: 20px;
	height: 2px;
	background: var(--aprc-green);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
	border: 0 !important;
}
body.aprc.top_panel_fixed .menu_main_nav > li > a::after { bottom: 15px; }
body.aprc .menu_main_nav > li:hover > a::after,
body.aprc .menu_main_nav > li.current-menu-item > a::after,
body.aprc .menu_main_nav > li.current-menu-ancestor > a::after,
body.aprc .menu_main_nav > li.current-menu-parent > a::after { transform: scaleX(1); }
body.aprc .menu_main_nav > li.menu-item-has-children > a { padding-right: 30px !important; }
body.aprc .menu_main_nav > li.menu-item-has-children > a::before {
	content: "";
	position: absolute; right: 13px; top: 52%;
	width: 6px; height: 6px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	opacity: .6;
}
body.aprc .menu_main_nav > li.menu-item-has-children > a::after { right: 30px; }

/* Header CTA button: give a top-level menu item the CSS class "menu-cta" */
body.aprc .menu_main_nav > li.menu-cta { margin-left: 10px; }
body.aprc .menu_main_nav > li.menu-cta > a {
	background: var(--aprc-navy) !important;
	color: #fff !important;
	border-radius: 999px;
	padding: 11px 22px !important;
	margin: 19px 0;
}
body.aprc.top_panel_fixed .menu_main_nav > li.menu-cta > a { padding: 10px 20px !important; margin: 14px 0; }
body.aprc .menu_main_nav > li.menu-cta > a:hover { background: var(--aprc-green) !important; }
body.aprc .menu_main_nav > li.menu-cta > a::after { display: none; }

/* Dropdowns */
body.aprc .menu_main_nav > li ul {
	background: #fff !important;
	border: 1px solid var(--aprc-line);
	border-top: 3px solid var(--aprc-green);
	border-radius: 0 0 var(--aprc-radius) var(--aprc-radius);
	box-shadow: var(--aprc-shadow-lg);
	padding: 10px 0;
	width: 290px;
	margin-left: 0;
}
body.aprc .menu_main_nav > li ul li { border: 0 !important; }
body.aprc .menu_main_nav > li ul li > a {
	font-family: var(--aprc-font);
	font-size: 14.5px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--aprc-ink) !important;
	padding: 9px 22px !important;
	line-height: 1.4;
	background: none !important;
	white-space: normal;
}
body.aprc .menu_main_nav > li ul li > a:hover,
body.aprc .menu_main_nav > li ul li.current-menu-item > a {
	color: var(--aprc-green-dark) !important;
	background: var(--aprc-soft) !important;
}

/* ---------- Page title band (inner pages) ---------- */
body.aprc .top_panel_image {
	height: auto;
	min-height: 0;
	padding: 72px 0 64px;
	background-color: var(--aprc-navy) !important;
	background-image:
		radial-gradient(1200px 400px at 85% -10%, rgba(81, 193, 247, .28), transparent 60%),
		radial-gradient(900px 380px at 0% 120%, rgba(0, 132, 95, .35), transparent 60%),
		linear-gradient(120deg, var(--aprc-navy-900) 0%, var(--aprc-navy) 55%, var(--aprc-navy-700) 100%) !important;
	background-size: cover !important;
	position: relative;
	overflow: hidden;
}
body.aprc .top_panel_image::after {
	/* subtle wave echoing the logo swoosh */
	content: "";
	position: absolute; left: 0; right: 0; bottom: -1px; height: 46px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 46' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C 360 0 720 46 1080 22 S 1440 18 1440 18 V46 H0Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
}
body.aprc .top_panel_image_hover { display: none; }
body.aprc .top_panel_image_header {
	position: relative;
	left: auto; top: auto;
	transform: none;
	max-width: 1200px;
	width: calc(100% - 48px);
	margin: 0 auto;
	text-align: left;
	z-index: 2;
}
body.aprc .top_panel_image_title,
body.aprc.top_panel_over .top_panel_image_title {
	font-family: var(--aprc-font-head);
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
	font-weight: 800;
	line-height: 1.15;
	color: #fff !important;
	margin: 0 0 14px;
	max-width: 900px;
	letter-spacing: -0.02em;
}
body.aprc .top_panel_image .breadcrumbs,
body.aprc .top_panel_image .breadcrumbs a,
body.aprc .top_panel_image .breadcrumbs span {
	font-size: 14px;
	color: rgba(255, 255, 255, .78) !important;
	text-transform: none;
	font-weight: 500;
}
body.aprc .top_panel_image .breadcrumbs a:hover { color: #fff !important; }
body.aprc .top_panel_image .breadcrumbs_delimiter::before { color: rgba(255, 255, 255, .5); }

/* ---------- Section titles (trx_title "underline") ---------- */
body.aprc .sc_title { font-weight: 800; text-transform: none; letter-spacing: -0.01em; }
body.aprc h4.sc_title_underline, body.aprc .sc_title_underline { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
body.aprc .sc_title_underline::after { background-color: var(--aprc-green) !important; height: 3px; width: 56px; border-radius: 2px; }
body.aprc .sc_title_underline::before { display: none; }

/* ---------- Buttons ---------- */
body.aprc .sc_button, body.aprc input[type="submit"], body.aprc button[type="submit"],
body.aprc .wpcf7-submit, body.aprc .vc_btn3, body.aprc .more-link, body.aprc .post_readmore,
body.aprc a.sc_button_style_filled {
	font-family: var(--aprc-font) !important;
	background: var(--aprc-navy) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 13px 28px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	box-shadow: none;
	cursor: pointer;
}
body.aprc .sc_button:hover, body.aprc input[type="submit"]:hover, body.aprc .wpcf7-submit:hover,
body.aprc .vc_btn3:hover, body.aprc .more-link:hover, body.aprc .post_readmore:hover {
	background: var(--aprc-green) !important;
	color: #fff !important;
}

/* Generic APRC buttons (used in custom sections) */
.aprc-btn {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--aprc-font); font-weight: 600; font-size: 15px; line-height: 1.2;
	padding: 14px 28px; border-radius: 999px; text-decoration: none !important;
	border: 2px solid transparent; transition: all .2s ease;
}
.aprc-btn--primary { background: var(--aprc-green); color: #fff !important; }
.aprc-btn--primary:hover { background: var(--aprc-green-dark); }
.aprc-btn--navy { background: var(--aprc-navy); color: #fff !important; }
.aprc-btn--navy:hover { background: var(--aprc-navy-700); }
.aprc-btn--ghost { border-color: rgba(255, 255, 255, .7); color: #fff !important; }
.aprc-btn--ghost:hover { background: #fff; color: var(--aprc-navy) !important; }
.aprc-btn--outline { border-color: var(--aprc-navy); color: var(--aprc-navy) !important; }
.aprc-btn--outline:hover { background: var(--aprc-navy); color: #fff !important; }

/* ---------- Forms (Contact Form 7) ---------- */
body.aprc input[type="text"], body.aprc input[type="email"], body.aprc input[type="tel"],
body.aprc input[type="url"], body.aprc input[type="search"], body.aprc input[type="number"],
body.aprc textarea, body.aprc select {
	font-family: var(--aprc-font);
	font-size: 15px;
	color: var(--aprc-ink);
	background: #fff !important;
	border: 1px solid #cdd6e1 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	box-shadow: none;
}
body.aprc input:focus, body.aprc textarea:focus, body.aprc select:focus {
	outline: none;
	border-color: var(--aprc-blue) !important;
	box-shadow: 0 0 0 3px rgba(20, 120, 200, .15) !important;
}
body.aprc ::placeholder { color: #8692a3; }

/* ---------- Accordions / tabs (WPBakery TTA) ---------- */
body.aprc .vc_tta.vc_general .vc_tta-panel { margin-bottom: 10px; }
body.aprc .vc_tta.vc_general .vc_tta-panel-heading {
	background: #fff !important;
	border: 1px solid var(--aprc-line) !important;
	border-radius: var(--aprc-radius) !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
body.aprc .vc_tta.vc_general .vc_tta-panel-heading:hover { border-color: #b9c6d6 !important; box-shadow: var(--aprc-shadow); }
body.aprc .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-heading {
	border-color: var(--aprc-navy) !important;
	border-radius: var(--aprc-radius) var(--aprc-radius) 0 0 !important;
	background: var(--aprc-navy) !important;
}
body.aprc .vc_tta.vc_general .vc_tta-panel-title > a {
	font-family: var(--aprc-font-head);
	font-size: 16px !important;
	font-weight: 700;
	text-transform: none !important;
	letter-spacing: 0;
	color: var(--aprc-navy) !important;
	padding: 16px 20px 16px 50px !important;
}
body.aprc .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a { color: #fff !important; }
body.aprc .vc_tta.vc_general .vc_tta-controls-icon { left: 20px !important; }
body.aprc .vc_tta.vc_general .vc_tta-controls-icon::before,
body.aprc .vc_tta.vc_general .vc_tta-controls-icon::after { border-color: var(--aprc-green) !important; }
body.aprc .vc_tta.vc_general .vc_active .vc_tta-controls-icon::before,
body.aprc .vc_tta.vc_general .vc_active .vc_tta-controls-icon::after { border-color: #fff !important; }
body.aprc .vc_tta.vc_general .vc_tta-panel-body {
	background: #fff !important;
	border: 1px solid var(--aprc-line) !important;
	border-top: 0 !important;
	border-radius: 0 0 var(--aprc-radius) var(--aprc-radius) !important;
	padding: 20px 22px !important;
}

/* ---------- Tables ---------- */
body.aprc .sc_table table, body.aprc .post_content table, body.aprc .wpb_text_column table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--aprc-line);
	border-radius: var(--aprc-radius);
	overflow: hidden;
	font-size: 15px;
}
body.aprc .sc_table table th, body.aprc .sc_table table tr:first-child td,
body.aprc .post_content table th, body.aprc .wpb_text_column table th {
	background: var(--aprc-navy) !important;
	color: #fff !important;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	text-align: left;
	padding: 14px 16px !important;
	border: 0 !important;
}
body.aprc .sc_table table td, body.aprc .post_content table td, body.aprc .wpb_text_column table td {
	padding: 13px 16px !important;
	border: 0 !important;
	border-top: 1px solid var(--aprc-line) !important;
	background: #fff !important;
	color: var(--aprc-ink);
	text-align: left;
	vertical-align: top;
}
body.aprc .sc_table table tr:nth-child(even) td { background: var(--aprc-soft) !important; }

/* ---------- Separators with text ---------- */
body.aprc .vc_separator h4 { font-family: var(--aprc-font-head); font-size: 15px; font-weight: 700; color: var(--aprc-navy); text-transform: none; letter-spacing: 0; }
body.aprc .vc_separator .vc_sep_line { border-color: var(--aprc-line) !important; }

/* ---------- Message / call-out boxes ---------- */
body.aprc .vc_message_box, body.aprc .sc_infobox {
	border-radius: var(--aprc-radius) !important;
	border: 1px solid #cfe3f5 !important;
	border-left: 4px solid var(--aprc-blue) !important;
	background: #f2f8fd !important;
	color: var(--aprc-ink) !important;
	font-size: 15px;
}

/* ---------- Blog / news listings ---------- */
body.aprc .post_item { border-color: var(--aprc-line); }
body.aprc .post_title, body.aprc .post_title a { font-family: var(--aprc-font-head); color: var(--aprc-navy) !important; font-weight: 700; }
body.aprc .post_title a:hover { color: var(--aprc-blue) !important; }
body.aprc .post_info, body.aprc .post_info a { color: var(--aprc-muted) !important; font-size: 14px; }

/* Sidebar widgets */
body.aprc .sidebar .widget { background: var(--aprc-soft); border-radius: var(--aprc-radius); padding: 24px; margin-bottom: 24px; }
body.aprc .sidebar .widget_title { font-size: 17px; text-transform: none; letter-spacing: 0; }

/* ---------- Footer ---------- */
body.aprc .footer_wrap,
body.aprc .footer_wrap_inner {
	background: var(--aprc-navy-900) !important;
	color: rgba(255, 255, 255, .78);
}
body.aprc .footer_wrap { position: relative; }
body.aprc .footer_wrap_inner { padding: 72px 0 48px; }
body.aprc .footer_wrap .widget_title {
	font-family: var(--aprc-font-head);
	font-size: 16px;
	font-weight: 700;
	color: #fff !important;
	text-transform: none;
	letter-spacing: 0;
	margin-bottom: 20px;
	padding-bottom: 12px;
	position: relative;
}
body.aprc .footer_wrap .widget_title::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: var(--aprc-green);
}
body.aprc .footer_wrap .widget_title::before { display: none !important; }
body.aprc .footer_wrap .widget,
body.aprc .footer_wrap .widget p,
body.aprc .footer_wrap .widget li,
body.aprc .footer_wrap .textwidget {
	font-size: 15px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .72) !important;
}
body.aprc .footer_wrap .widget a { color: rgba(255, 255, 255, .85) !important; text-decoration: none; }
body.aprc .footer_wrap .widget a:hover { color: var(--aprc-sky) !important; }
body.aprc .footer_wrap .widget_nav_menu ul { columns: 1; padding: 0; margin: 0; list-style: none; }
body.aprc .footer_wrap .widget_nav_menu li { padding: 0 0 8px 0 !important; margin: 0; width: auto !important; float: none !important; }
body.aprc .footer_wrap .widget_nav_menu li::before { display: none !important; }
body.aprc .footer_wrap .widget_nav_menu li a { display: inline-block; }
body.aprc .footer_wrap .widget_nav_menu li a:hover { transform: translateX(3px); }

body.aprc .footer_wrap .sc_socials_item a,
body.aprc .footer_wrap .sc_socials .social_icons {
	width: 40px !important; height: 40px !important; line-height: 40px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .08) !important;
	color: #fff !important;
	border: 0 !important;
	font-size: 15px !important;
}
body.aprc .footer_wrap .sc_socials_item a:hover { background: var(--aprc-green) !important; }
body.aprc .footer_wrap .sc_socials_item a span::before,
body.aprc .footer_wrap .sc_socials_item a [class*="icon-"]::before { color: #fff !important; }

body.aprc .copyright_wrap,
body.aprc .copyright_wrap_inner {
	background: #04122a !important;
	border: 0 !important;
}
body.aprc .copyright_wrap_inner { padding: 20px 0; }
body.aprc .copyright_wrap .copyright_text,
body.aprc .copyright_wrap .copyright_text p {
	font-size: 14px !important;
	color: rgba(255, 255, 255, .6) !important;
	margin: 0;
}
body.aprc .copyright_wrap a { color: rgba(255, 255, 255, .8) !important; }
body.aprc .copyright_wrap a:hover { color: #fff !important; }

/* Scroll-to-top */
body.aprc .scroll_to_top { background: var(--aprc-green) !important; border-radius: 50% !important; color: #fff !important; }

/* ---------- Mobile header ---------- */
body.aprc .header_mobile { background: #fff; box-shadow: 0 1px 0 var(--aprc-line); }
body.aprc .header_mobile .logo img { height: 46px !important; width: auto !important; }
body.aprc .header_mobile .menu_button { color: var(--aprc-navy) !important; font-size: 26px; }
body.aprc .header_mobile .side_wrap { background: var(--aprc-navy-900) !important; }
body.aprc .header_mobile .side_wrap .menu_main_nav > li > a,
body.aprc .header_mobile .side_wrap .menu_main_nav li a {
	font-family: var(--aprc-font);
	font-size: 16px !important;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: #fff !important;
	border-color: rgba(255, 255, 255, .08) !important;
}
body.aprc .header_mobile .side_wrap .menu_main_nav li ul li a { font-weight: 500; color: rgba(255, 255, 255, .78) !important; font-size: 15px !important; }
body.aprc .header_mobile .side_wrap .menu_main_nav > li ul { background: rgba(255, 255, 255, .04) !important; }
body.aprc .header_mobile .side_wrap .menu_main_nav li.current-menu-item > a { color: var(--aprc-sky) !important; }
body.aprc .header_mobile .side_wrap .close { color: #fff !important; }
body.aprc .header_mobile .login,
body.aprc .header_mobile .popup_login,
body.aprc .header_mobile .search_wrap { display: none !important; }

/* ---------- Accessibility ---------- */
body.aprc a:focus-visible, body.aprc button:focus-visible, body.aprc input:focus-visible,
body.aprc .vc_tta-panel-title > a:focus-visible {
	outline: 3px solid var(--aprc-sky);
	outline-offset: 2px;
	border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
	body.aprc *, body.aprc *::before, body.aprc *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
	body.aprc .menu_main_nav > li > a { padding-left: 10px !important; padding-right: 10px !important; font-size: 14.5px; }
	body.aprc .menu_main_nav > li.menu-item-has-children > a { padding-right: 22px !important; }
	body.aprc .menu_main_nav > li.menu-item-has-children > a::before { right: 8px; }
}
@media (max-width: 1023px) {
	body.aprc .page_content_wrap { padding: 3rem 0 3.5rem; }
	body.aprc .top_panel_image { padding: 48px 0 52px; }
	body.aprc .footer_wrap_inner { padding: 52px 0 28px; }
}
@media (max-width: 767px) {
	body.aprc { font-size: 15.5px; }
	body.aprc .content_wrap, body.aprc .content_container { max-width: calc(100% - 32px); }
	body.aprc .page_content_wrap h2 { font-size: 1.6rem; }
	body.aprc .page_content_wrap h3 { font-size: 1.3rem; }
	body.aprc .top_panel_image { padding: 36px 0 44px; }
	body.aprc .top_panel_image_header { width: calc(100% - 32px); }
	body.aprc .sc_table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.aprc .sc_table table { min-width: 560px; }
	body.aprc .footer_wrap .widget { margin-bottom: 28px; }
}

/* ---------- Shared content helpers ---------- */
body.aprc .aprc-lead { font-size: 1.2rem; line-height: 1.65; color: var(--aprc-muted); max-width: 760px; margin: 0 0 2.2rem; }
.aprc-tag {
	display: inline-block; font-family: var(--aprc-font); font-size: 12px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase; color: var(--aprc-green-dark);
	background: #e3f4ee; padding: 5px 12px; border-radius: 999px; margin-bottom: 14px;
}
.aprc-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
body.aprc ul.aprc-stats { display: flex; flex-wrap: wrap; gap: 12px 36px; list-style: none; padding: 0; margin: 22px 0; }
body.aprc ul.aprc-stats li { margin: 0; color: var(--aprc-muted); font-size: 14px; font-weight: 500; }
body.aprc ul.aprc-stats strong { display: block; font-family: var(--aprc-font-head); font-size: 1.9rem; line-height: 1.1; color: var(--aprc-green-dark); font-weight: 800; }

/* ---------- Publications ---------- */
.aprc-pub {
	display: flex; flex-wrap: wrap; gap: 44px; align-items: flex-start;
	background: #fff; border: 1px solid var(--aprc-line); border-radius: 16px;
	padding: 36px; box-shadow: var(--aprc-shadow);
}
.aprc-pub__cover { flex: 0 1 320px; max-width: 100%; display: block; }
.aprc-pub__cover img { display: block; width: 100%; height: auto; border-radius: 8px !important; box-shadow: 0 18px 40px rgba(12, 40, 75, .25); transition: transform .3s ease; }
.aprc-pub__cover:hover img { transform: translateY(-4px) rotate(-.4deg); }
.aprc-pub__body { flex: 1 1 380px; min-width: 0; }
body.aprc .aprc-pub__body h2 { margin: 0 0 6px; font-size: 2rem; }
body.aprc .aprc-pub__sub { font-weight: 600; color: var(--aprc-muted); margin: 0 0 18px; }
body.aprc .aprc-pub__meta { font-size: 13px; color: var(--aprc-muted); margin-top: 14px; }
@media (max-width: 640px) {
	.aprc-pub { padding: 22px; gap: 26px; }
	.aprc-pub__cover { flex-basis: 100%; }
	body.aprc .aprc-pub__body h2 { font-size: 1.6rem; }
}

/* Footer contact list */
body.aprc .footer_wrap ul.aprc-contact-list { list-style: none; padding: 0; margin: 0; }
body.aprc .footer_wrap ul.aprc-contact-list li { padding: 0 0 12px !important; }
body.aprc .footer_wrap ul.aprc-contact-list li::before { display: none; }
body.aprc .footer_wrap ul.aprc-contact-list span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .45); }

/* ==========================================================================
   Homepage sections (rows carry el_class "aprc-row")
   ========================================================================== */
body.aprc .vc_row.aprc-row { margin-left: 0; margin-right: 0; }
body.aprc .aprc-row > .wpb_column > .vc_column-inner { padding: 0 !important; }
body.aprc .aprc-row .wpb_content_element, body.aprc .aprc-row .wpb_raw_code { margin-bottom: 0 !important; }
/* full-bleed sections inside the theme's centred content column */
body.aprc .aprc-hero, body.aprc .aprc-section, body.aprc .aprc-cta, body.aprc .aprc-row--news, body.aprc .aprc-row--partners {
	width: 100vw; position: relative; left: 50%; margin-left: -50vw;
}
.aprc-wrap { width: 1200px; max-width: calc(100% - 48px); margin-left: auto; margin-right: auto; }
body.aprc .aprc-row--news .aprc-wrap { padding: 0; }

.aprc-eyebrow {
	display: inline-block; font-family: var(--aprc-font); font-size: 13px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; color: var(--aprc-sky); margin-bottom: 16px;
}
.aprc-eyebrow--dark { color: var(--aprc-green); }
body.aprc .aprc-h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; margin: 0 0 18px; letter-spacing: -0.02em; }
.aprc-icon {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; border-radius: 14px;
	background: linear-gradient(135deg, #e3f4ee, #e3f1fb); color: var(--aprc-green-dark);
}
.aprc-icon--light { background: rgba(255, 255, 255, .12); color: #fff; }

/* Hero */
.aprc-hero {
	background-color: var(--aprc-navy);
	background-image: linear-gradient(90deg, rgba(7, 26, 51, .94) 0%, rgba(12, 40, 75, .82) 45%, rgba(12, 40, 75, .25) 100%), var(--hero-img);
	background-size: cover; background-position: center 40%;
	color: #fff; padding: 120px 0 170px;
}
.aprc-hero__inner { position: relative; }
body.aprc h1.aprc-hero__title {
	font-size: clamp(2.3rem, 5vw, 3.9rem); font-weight: 800; line-height: 1.08; letter-spacing: -0.03em;
	color: #fff; max-width: 760px; margin: 0 0 22px;
}
body.aprc .aprc-hero__text { font-size: 1.2rem; line-height: 1.65; color: rgba(255, 255, 255, .86); max-width: 640px; margin: 0 0 8px; }
.aprc-hero .aprc-btns { margin-top: 32px; }

/* Quick links (overlap hero) */
.aprc-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: -80px; position: relative; z-index: 3; }
body.aprc a.aprc-quick__card {
	display: flex; gap: 18px; align-items: center; background: #fff; border-radius: 14px;
	padding: 26px 24px; box-shadow: var(--aprc-shadow-lg); text-decoration: none; border: 1px solid transparent;
}
body.aprc a.aprc-quick__card:hover { transform: translateY(-3px); border-color: #cfe3d9; }
.aprc-quick__card strong { display: block; font-family: var(--aprc-font-head); font-size: 17px; color: var(--aprc-navy); margin-bottom: 4px; }
.aprc-quick__card small { display: block; font-size: 14px; line-height: 1.5; color: var(--aprc-muted); }

/* Highlights */
.aprc-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 56px; }
body.aprc a.aprc-highlight {
	display: flex; gap: 24px; align-items: center; border-radius: 16px; padding: 28px; text-decoration: none; overflow: hidden;
}
body.aprc a.aprc-highlight:hover { transform: translateY(-3px); box-shadow: var(--aprc-shadow-lg); }
.aprc-highlight strong { display: block; font-family: var(--aprc-font-head); font-size: 1.25rem; line-height: 1.3; margin-bottom: 8px; }
.aprc-highlight small { display: block; font-size: 15px; line-height: 1.55; margin-bottom: 14px; }
.aprc-highlight em { font-style: normal; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 6px; }
.aprc-highlight--pub { background: #eef7f3; border: 1px solid #d2ebe1; }
.aprc-highlight--pub img { width: 120px; height: auto; border-radius: 6px !important; box-shadow: 0 10px 24px rgba(12, 40, 75, .22); flex: none; }
.aprc-highlight--pub strong { color: var(--aprc-navy); }
.aprc-highlight--pub small { color: var(--aprc-muted); }
.aprc-highlight--pub em { color: var(--aprc-green-dark); }
.aprc-highlight--rfq { background: linear-gradient(135deg, var(--aprc-navy) 0%, var(--aprc-navy-700) 100%); }
.aprc-highlight--rfq strong { color: #fff; }
.aprc-highlight--rfq small { color: rgba(255, 255, 255, .78); }
.aprc-highlight--rfq em { color: var(--aprc-sky); }
.aprc-tag--light { background: rgba(81, 193, 247, .18); color: var(--aprc-sky); }

/* Generic sections */
.aprc-section { padding: 96px 0; }
.aprc-section--soft { background: var(--aprc-soft); }
.aprc-section__head { max-width: 720px; margin-bottom: 44px; }
.aprc-section__head--row { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.aprc-section__head--row .aprc-h2 { margin-bottom: 0; }

/* Split: text + image */
.aprc-split { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
body.aprc .aprc-split__text p { color: var(--aprc-muted); font-size: 1.05rem; }
.aprc-split__media { margin: 0; position: relative; }
.aprc-split__media img { width: 100%; height: auto; border-radius: 18px !important; box-shadow: var(--aprc-shadow-lg); display: block; aspect-ratio: 16 / 11; object-fit: cover; }
.aprc-split__media::before {
	content: ""; position: absolute; inset: 24px -24px -24px 24px; border-radius: 18px; z-index: -1;
	background: linear-gradient(135deg, var(--aprc-green) 0%, var(--aprc-sky) 100%); opacity: .25;
}
.aprc-split__media figcaption { font-size: 13px; color: var(--aprc-muted); margin-top: 34px; }

/* Cards */
.aprc-cards { display: grid; gap: 24px; }
.aprc-cards--3 { grid-template-columns: repeat(3, 1fr); }
.aprc-card { background: #fff; border-radius: 16px; padding: 34px 30px; border: 1px solid var(--aprc-line); box-shadow: var(--aprc-shadow); }
body.aprc .aprc-card h3 { font-size: 1.3rem; margin: 10px 0 12px; }
body.aprc .aprc-card p { color: var(--aprc-muted); font-size: 15.5px; margin: 0; }
.aprc-num { font-family: var(--aprc-font-head); font-weight: 800; font-size: 14px; color: var(--aprc-green); letter-spacing: .1em; }

/* Capabilities */
.aprc-caps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--aprc-line); border: 1px solid var(--aprc-line); border-radius: 16px; overflow: hidden; }
.aprc-cap { background: #fff; padding: 34px 30px; transition: background .2s ease; }
.aprc-cap:hover { background: #fbfdff; }
body.aprc .aprc-cap h3 { font-size: 1.12rem; line-height: 1.35; margin: 20px 0 10px; }
body.aprc .aprc-cap p { color: var(--aprc-muted); font-size: 15px; margin: 0; }

/* News */
body.aprc .aprc-row--news { background: var(--aprc-soft); padding: 96px 0; }
.aprc-row--news .aprc-section__head { margin-bottom: 40px; }
.aprc-news { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.aprc-news__card { background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid var(--aprc-line); display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.aprc-news__card:hover { transform: translateY(-4px); box-shadow: var(--aprc-shadow-lg); }
.aprc-news__media { display: block; aspect-ratio: 16 / 10; background: var(--aprc-navy); overflow: hidden; }
.aprc-news__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; display: block; transition: transform .4s ease; }
.aprc-news__card:hover .aprc-news__media img { transform: scale(1.04); }
.aprc-news__body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.aprc-news__body .aprc-tag { align-self: flex-start; margin-bottom: 12px; }
body.aprc .aprc-news__title { font-size: 1.05rem; line-height: 1.4; margin: 0 0 10px; }
body.aprc .aprc-news__title a { color: var(--aprc-navy); text-decoration: none !important; }
body.aprc .aprc-news__title a:hover { color: var(--aprc-blue); }
body.aprc .aprc-news__body p { font-size: 14.5px; line-height: 1.6; color: var(--aprc-muted); margin: 0 0 16px; }
body.aprc a.aprc-news__more { margin-top: auto; font-weight: 600; font-size: 14.5px; color: var(--aprc-green-dark); text-decoration: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Partners */
body.aprc .aprc-row--partners { padding: 48px 0; border-bottom: 1px solid var(--aprc-line); }
.aprc-partners { display: flex; align-items: center; justify-content: center; gap: 48px; flex-wrap: wrap; }
.aprc-partners__label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--aprc-muted); }
.aprc-partners img { height: 56px; width: auto; border-radius: 0 !important; filter: grayscale(1); opacity: .8; transition: all .2s ease; }
.aprc-partners img:hover { filter: none; opacity: 1; }
.aprc-partners__name { font-family: var(--aprc-font-head); font-weight: 800; font-size: 24px; color: #8a96a6; letter-spacing: -0.01em; }

/* CTA band */
.aprc-cta {
	background: radial-gradient(800px 300px at 90% 0%, rgba(81, 193, 247, .25), transparent 60%),
		linear-gradient(120deg, var(--aprc-green-dark) 0%, var(--aprc-navy) 70%);
	color: #fff; padding: 80px 0;
}
.aprc-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
body.aprc .aprc-cta h2 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; margin: 0 0 10px; }
body.aprc .aprc-cta p { color: rgba(255, 255, 255, .82); font-size: 1.1rem; max-width: 620px; margin: 0; }
.aprc-cta .aprc-btns { margin-top: 0; }

/* Homepage responsive */
@media (max-width: 1100px) {
	.aprc-news { grid-template-columns: repeat(2, 1fr); }
	.aprc-caps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.aprc-quick, .aprc-highlights, .aprc-cards--3 { grid-template-columns: 1fr; }
	.aprc-quick { margin-top: -60px; gap: 14px; }
	.aprc-split { grid-template-columns: 1fr; gap: 48px; }
	.aprc-split__media::before { inset: 16px -12px -16px 12px; }
	.aprc-hero { padding: 80px 0 130px; background-image: linear-gradient(180deg, rgba(7, 26, 51, .92) 0%, rgba(12, 40, 75, .80) 100%), var(--hero-img); }
	.aprc-section, body.aprc .aprc-row--news { padding: 64px 0; }
}
@media (max-width: 600px) {
	.aprc-wrap { max-width: calc(100% - 32px); }
	.aprc-news, .aprc-caps { grid-template-columns: 1fr; }
	body.aprc a.aprc-highlight { flex-direction: column; align-items: flex-start; padding: 24px; }
	.aprc-highlight--pub img { width: 96px; }
	.aprc-hero__text { font-size: 1.05rem; }
	.aprc-partners { gap: 24px; }
	.aprc-cta { padding: 56px 0; }
}

/* --- homepage fixes --- */
body.aprc .vc_row.aprc-row--news, body.aprc .vc_row.aprc-row--partners {
	width: 100vw; max-width: 100vw; left: 50%; margin-left: -50vw !important; margin-right: 0 !important; position: relative;
}
body.aprc .page_content_wrap .aprc-h2,
body.aprc .page_content_wrap h2.aprc-h2 { margin-top: 0; }
body.aprc .page_content_wrap .aprc-card h3,
body.aprc .page_content_wrap .aprc-cap h3,
body.aprc .page_content_wrap .aprc-news__title { margin-top: 10px; }
body.aprc .page_content_wrap .aprc-cap h3 { margin-top: 20px; }
body.aprc .aprc-eyebrow { margin-bottom: 12px; }
body.aprc .aprc-quick__card strong, body.aprc .aprc-highlight--pub strong { color: var(--aprc-navy); }
body.aprc .aprc-highlight--rfq strong { color: #fff; }
body.aprc .aprc-split__media figcaption { position: static; background: none; color: var(--aprc-muted); padding: 0; text-align: left; }

/* Mobile off-canvas menu: fully hide when closed (theme leaves its edge controls visible) */
body.aprc .header_mobile .side_wrap { width: min(340px, 88vw); left: -100vw; visibility: hidden; transition: left .3s ease, visibility 0s linear .3s; }
body.aprc .header_mobile .side_wrap.open { left: 0; visibility: visible; transition: left .3s ease, visibility 0s; }
body.aprc .header_mobile .side_wrap .menu_main_nav > li > a::before,
body.aprc .header_mobile .side_wrap .menu_main_nav > li > a::after { display: none !important; }
body.aprc .header_mobile .side_wrap .menu_main_nav > li > a { padding: 16px 56px 16px 24px !important; }
body.aprc .header_mobile .side_wrap .menu_main_nav > li.menu-cta > a { margin: 16px 24px; padding: 13px 22px !important; display: inline-block; background: var(--aprc-green) !important; border-radius: 999px; }
body.aprc .header_mobile .open_child_menu { background: transparent !important; color: #fff !important; box-shadow: none !important; }

/* Contact form */
.aprc-form { display: grid; gap: 16px; }
.aprc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.aprc .aprc-form label { display: block; font-size: 14px; font-weight: 600; color: var(--aprc-navy); }
body.aprc .aprc-form label .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
body.aprc .aprc-form input:not([type="submit"]), body.aprc .aprc-form textarea { width: 100%; box-sizing: border-box; }
body.aprc .aprc-form .wpcf7-submit { justify-self: start; }
body.aprc .wpcf7-not-valid-tip { font-size: 13px; color: #c0392b; margin-top: 4px; }
body.aprc .wpcf7 form .wpcf7-response-output { border-radius: 8px; margin: 16px 0 0; padding: 12px 16px; font-size: 14px; }
@media (max-width: 600px) { .aprc-form__row { grid-template-columns: 1fr; } }
.aprc-news__date { font-size: 13px; font-weight: 600; color: var(--aprc-green-dark); margin-bottom: 10px; display: block; }
.aprc-news--grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .aprc-news--grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .aprc-news--grid { grid-template-columns: 1fr; } }
body.aprc .aprc-row-gap { margin-top: 64px; } body.aprc .aprc-news + p { margin-top: 32px; }

/* WPBakery custom headings: always use the APRC heading font */
body.aprc .vc_custom_heading, body.aprc .vc_custom_heading a { font-family: var(--aprc-font-head) !important; color: var(--aprc-navy); }

/* WPBakery tabs */
body.aprc .vc_tta-tabs .vc_tta-tabs-list { display: flex; flex-wrap: wrap; gap: 8px; border: 0; margin-bottom: 18px; }
body.aprc .vc_tta-tabs .vc_tta-tab { margin: 0 !important; }
body.aprc .vc_tta-tabs .vc_tta-tab > a {
	background: var(--aprc-soft) !important; color: var(--aprc-navy) !important; border: 1px solid var(--aprc-line) !important;
	border-radius: 999px !important; padding: 10px 20px !important; font-family: var(--aprc-font); font-weight: 600; font-size: 14.5px;
	text-transform: none; letter-spacing: 0; box-shadow: none !important;
}
body.aprc .vc_tta-tabs .vc_tta-tab > a:hover { border-color: var(--aprc-navy) !important; }
body.aprc .vc_tta-tabs .vc_tta-tab.vc_active > a { background: var(--aprc-navy) !important; color: #fff !important; border-color: var(--aprc-navy) !important; }
body.aprc .vc_tta-tabs .vc_tta-panels-container .vc_tta-panels { background: transparent !important; border: 0 !important; }
body.aprc .vc_tta-tabs .vc_tta-panel-body { border: 1px solid var(--aprc-line) !important; border-radius: var(--aprc-radius) !important; padding: 28px !important; background: #fff !important; }

/* Archive / search / 404 polish */
body.aprc .post_info_counters, body.aprc .post_counters_comments { display: none !important; }
body.aprc .post_info .post_info_item + .post_info_counters::before { display: none; }
body.aprc .page_title, body.aprc .page_subtitle { color: var(--aprc-navy) !important; font-family: var(--aprc-font-head); }
body.aprc .theme_button, body.aprc .viewmore_button {
	background: var(--aprc-navy) !important; color: #fff !important; border-radius: 999px !important;
	padding: 12px 26px !important; font-weight: 600; text-transform: none; letter-spacing: 0; border: 0 !important;
}
body.aprc .theme_button:hover, body.aprc .viewmore_button:hover { background: var(--aprc-green) !important; }
body.aprc .post_item_related, body.aprc .post_item_related .post_content_wrap { border-radius: var(--aprc-radius); }
body.aprc .vc_tta.vc_general .vc_tta-tab > a, body.aprc .vc_tta.vc_general .vc_tta-panel-heading { background-image: none !important; text-shadow: none !important; }
body.aprc .vc_tta.vc_tta-tabs .vc_tta-tab.vc_active > a,
body.aprc .vc_tta.vc_tta-tabs.vc_tta-style-modern .vc_tta-tab.vc_active > a { background-color: var(--aprc-navy) !important; color: #fff !important; }
body.aprc .vc_tta.vc_tta-tabs .vc_tta-tab.vc_active > a .vc_tta-title-text { color: #fff !important; }
body.aprc .vc_tta.vc_tta-tabs .vc_tta-tab > a .vc_tta-title-text { color: inherit !important; }

/* ==========================================================================
   Contact page + form (v2)
   ========================================================================== */
body.aprc .vc_row.aprc-contact { display: flex; flex-wrap: wrap; align-items: flex-start; margin-left: -24px; margin-right: -24px; }
body.aprc .aprc-contact > .wpb_column > .vc_column-inner { padding-left: 24px !important; padding-right: 24px !important; }
body.aprc .aprc-contact .wpb_content_element { margin-bottom: 0 !important; }
.aprc-contact-info { padding-top: 8px; }
body.aprc .aprc-contact-info__lead { color: var(--aprc-muted); font-size: 1.05rem; margin-bottom: 28px; }
body.aprc ul.aprc-contact-list-cards { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 14px; }
body.aprc ul.aprc-contact-list-cards li {
	display: flex; gap: 16px; align-items: flex-start; margin: 0;
	padding: 18px; border: 1px solid var(--aprc-line); border-radius: 14px; background: #fff;
	font-size: 15px; line-height: 1.6; color: var(--aprc-ink);
}
body.aprc ul.aprc-contact-list-cards li::marker { content: none; }
body.aprc ul.aprc-contact-list-cards .aprc-icon { width: 46px; height: 46px; border-radius: 12px; }
body.aprc ul.aprc-contact-list-cards strong { display: block; font-family: var(--aprc-font-head); color: var(--aprc-navy); font-size: 15.5px; margin-bottom: 2px; }
body.aprc ul.aprc-contact-list-cards a { text-decoration: none !important; font-weight: 600; }
body.aprc ul.aprc-contact-list-cards small { color: var(--aprc-muted); }
body.aprc .aprc-contact-info__aside { background: var(--aprc-soft); border-left: 4px solid var(--aprc-green); border-radius: 0 12px 12px 0; padding: 16px 20px; font-size: 15px; color: var(--aprc-ink); }
body.aprc .aprc-contact-info__aside strong { display: block; color: var(--aprc-navy); }

/* Form card */
body.aprc .aprc-form-card {
	background: #fff; border: 1px solid var(--aprc-line); border-radius: 18px;
	box-shadow: var(--aprc-shadow-lg); padding: 40px;
	border-top: 4px solid var(--aprc-green);
}
body.aprc .aprc-form-card h3 { margin: 0 0 4px; font-size: 1.5rem; }
body.aprc .aprc-form-card .aprc-form-card__sub { color: var(--aprc-muted); font-size: 14px; margin: 0 0 24px; }
body.aprc .aprc-form .req, body.aprc .aprc-form-card .req { color: #c0392b; font-weight: 700; }
body.aprc .aprc-form .opt { color: var(--aprc-muted); font-weight: 400; font-size: 13px; }
body.aprc .aprc-form { gap: 18px; }
body.aprc .aprc-form .aprc-field { font-size: 14px; font-weight: 600; color: var(--aprc-navy); margin: 0; }
body.aprc .aprc-form br { display: none; }
body.aprc .aprc-form select {
	width: 100%; appearance: none; -webkit-appearance: none; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230c284b' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center !important;
	padding-right: 44px !important; height: auto; line-height: 1.4;
}
body.aprc .aprc-form input:not([type="submit"]):not([type="checkbox"]), body.aprc .aprc-form select, body.aprc .aprc-form textarea {
	font-weight: 400; min-height: 48px; transition: border-color .15s ease, box-shadow .15s ease;
}
body.aprc .aprc-form textarea { min-height: 150px; resize: vertical; line-height: 1.6; }
body.aprc .aprc-form input:hover:not([type="submit"]), body.aprc .aprc-form select:hover, body.aprc .aprc-form textarea:hover { border-color: #9fb0c4 !important; }
body.aprc .aprc-form .wpcf7-not-valid { border-color: #c0392b !important; background: #fff8f7 !important; }
body.aprc .aprc-form .wpcf7-not-valid:focus { box-shadow: 0 0 0 3px rgba(192, 57, 43, .15) !important; }
body.aprc .aprc-form .wpcf7-not-valid-tip { font-weight: 500; }
.aprc-counter { display: block; text-align: right; font-size: 12.5px; font-weight: 500; color: var(--aprc-muted); margin-top: 6px; }
.aprc-counter.is-low { color: #b9770e; }

/* Consent checkbox */
body.aprc .aprc-consent { font-size: 14px; line-height: 1.55; color: var(--aprc-ink); background: var(--aprc-soft); border-radius: 10px; padding: 14px 16px; }
body.aprc .aprc-consent .wpcf7-list-item { margin: 0; display: block; }
body.aprc .aprc-consent label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; cursor: pointer; }
body.aprc .aprc-consent input[type="checkbox"] { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--aprc-green); cursor: pointer; }
body.aprc .aprc-consent a { font-weight: 600; }

/* Actions */
.aprc-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
body.aprc .aprc-form .wpcf7-submit { padding: 15px 34px !important; font-size: 16px !important; }
body.aprc .aprc-form .wpcf7-submit:disabled { opacity: .55; cursor: not-allowed; }
body.aprc .aprc-form__note { flex: 1 1 220px; margin: 0 !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--aprc-muted) !important; }
body.aprc .wpcf7-spinner { margin: 0 0 0 4px; background-color: var(--aprc-green); }

/* Response messages */
body.aprc .wpcf7 form .wpcf7-response-output { margin: 22px 0 0 !important; padding: 14px 18px !important; border-radius: 10px; font-size: 15px; font-weight: 500; border-width: 1px !important; }
body.aprc .wpcf7 form.sent .wpcf7-response-output { background: #e8f6f0; border-color: #9fd6bf !important; color: #0a5a40; }
body.aprc .wpcf7 form.invalid .wpcf7-response-output, body.aprc .wpcf7 form.unaccepted .wpcf7-response-output { background: #fff6e5; border-color: #f0c36d !important; color: #7a5200; }
body.aprc .wpcf7 form.spam .wpcf7-response-output, body.aprc .wpcf7 form.failed .wpcf7-response-output, body.aprc .wpcf7 form.aborted .wpcf7-response-output { background: #fdecea; border-color: #f1aaa2 !important; color: #8e2b20; }

/* Honeypot: off-screen, not display:none (some bots skip hidden fields) */
.aprc-hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 991px) {
	body.aprc .aprc-contact > .wpb_column { width: 100%; }
	body.aprc .aprc-contact > .wpb_column + .wpb_column { margin-top: 40px; }
}
@media (max-width: 600px) {
	body.aprc .aprc-form-card { padding: 24px 20px; border-radius: 14px; }
	body.aprc .vc_row.aprc-contact { margin-left: -16px; margin-right: -16px; }
	body.aprc .aprc-contact > .wpb_column > .vc_column-inner { padding-left: 16px !important; padding-right: 16px !important; }
}
body.aprc .aprc-consent input[type="checkbox"] { -webkit-appearance: checkbox !important; appearance: auto !important; opacity: 1 !important; position: static !important; visibility: visible !important; }

/* Site tagline is for SEO/meta only; do not print it under the header logo */
body.aprc .top_panel_wrap .logo_slogan, body.aprc .header_mobile .logo_slogan { display: none !important; }

/* ==========================================================================
   Desktop header: secondary CTA (menu item class "menu-cta-alt") – eLearning Hub
   ========================================================================== */
body.aprc .menu_main_nav > li.menu-cta-alt { margin-left: 12px; }
body.aprc .menu_main_nav > li.menu-cta-alt > a {
	border: 2px solid var(--aprc-navy); border-radius: 999px;
	padding: 9px 18px 9px 40px !important; margin: 19px 0;
	color: var(--aprc-navy) !important; background: #fff !important; position: relative;
}
body.aprc .menu_main_nav > li.menu-cta-alt > a::before {
	content: ""; position: absolute; left: 15px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%);
	border: 0; opacity: 1;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.aprc .menu_main_nav > li.menu-cta-alt > a::after { display: none; }
body.aprc .menu_main_nav > li.menu-cta-alt > a:hover { background: var(--aprc-navy) !important; color: #fff !important; }
body.aprc .menu_main_nav > li.menu-cta-alt + li.menu-cta { margin-left: 8px; }
body.aprc.top_panel_fixed .menu_main_nav > li.menu-cta-alt > a { margin: 14px 0; padding-top: 8px !important; padding-bottom: 8px !important; }
@media (max-width: 1279px) {
	body.aprc .menu_main_nav > li.menu-cta-alt > a { padding: 9px 14px 9px 36px !important; font-size: 14px; }
	body.aprc .menu_main_nav > li.menu-cta-alt > a::before { left: 13px; width: 16px; height: 16px; }
}

/* ==========================================================================
   Mobile navigation panel (.aprc-m) – replaces the theme's side menu
   ========================================================================== */
body.aprc .header_mobile .menu_button,
body.aprc .header_mobile .side_wrap,
body.aprc .header_mobile .mask { display: none !important; }
body.aprc .header_mobile .content_wrap { display: flex; align-items: center; justify-content: space-between; min-height: 68px; }
body.aprc .header_mobile .content_wrap::after { display: none; }
body.aprc .header_mobile .logo { order: 1; margin: 0 !important; padding: 0 !important; }

.aprc-m__opener {
	order: 2; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--aprc-line);
	background: #fff; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
	cursor: pointer; padding: 0; -webkit-tap-highlight-color: transparent;
}
.aprc-m__opener span { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--aprc-navy); transition: transform .25s ease, opacity .2s ease; }
.aprc-m__opener span:nth-child(2) { width: 14px; margin-left: 6px; }
.aprc-m__opener:active { background: var(--aprc-soft); }

.aprc-m { position: fixed; inset: 0; z-index: 100000; }
.aprc-m[hidden] { display: none; }
.aprc-m__overlay { position: absolute; inset: 0; background: rgba(4, 18, 42, .55); opacity: 0; transition: opacity .3s ease; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.aprc-m__panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 100%);
	background: #fff; display: flex; flex-direction: column;
	transform: translateX(100%); transition: transform .3s cubic-bezier(.2, .8, .2, 1);
	box-shadow: -20px 0 50px rgba(4, 18, 42, .25);
	padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
}
.aprc-m.is-visible .aprc-m__overlay { opacity: 1; }
.aprc-m.is-visible .aprc-m__panel { transform: translateX(0); }
html.aprc-m-open, html.aprc-m-open body { overflow: hidden !important; }

.aprc-m__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px 12px 20px; border-bottom: 1px solid var(--aprc-line); min-height: 68px; box-sizing: border-box; }
.aprc-m__logo img { height: 44px; width: auto; display: block; border-radius: 0 !important; }
.aprc-m__close {
	width: 46px; height: 46px; border-radius: 12px; border: 0; background: var(--aprc-soft); color: var(--aprc-navy);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.aprc-m__close:active { background: var(--aprc-line); }

.aprc-m__nav { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 8px 0; }
body.aprc ul.aprc-m__list, body.aprc ul.aprc-m__sublist { list-style: none; margin: 0; padding: 0; }
body.aprc .aprc-m__list > .aprc-m__item { margin: 0; border-bottom: 1px solid #eef2f6; }
body.aprc .aprc-m__item::marker { content: none; }
body.aprc .aprc-m__list > .aprc-m__item > .aprc-m__link,
body.aprc .aprc-m__toggle {
	display: flex; align-items: center; justify-content: space-between; width: 100%; box-sizing: border-box;
	min-height: 58px; padding: 14px 20px 14px 24px; margin: 0;
	font-family: var(--aprc-font-head) !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important;
	color: var(--aprc-navy) !important; text-decoration: none !important; text-transform: none !important; letter-spacing: -.01em !important;
	background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; cursor: pointer; text-align: left;
	-webkit-tap-highlight-color: transparent;
}
body.aprc .aprc-m__toggle:active, body.aprc .aprc-m__list > .aprc-m__item > .aprc-m__link:active { background: var(--aprc-soft) !important; }
.aprc-m__chev { flex: none; width: 32px; height: 32px; padding: 6px; box-sizing: border-box; border-radius: 50%; background: var(--aprc-soft); color: var(--aprc-navy); transition: transform .25s ease, background .2s ease; }
.aprc-m__item.is-open > .aprc-m__toggle .aprc-m__chev { transform: rotate(180deg); background: var(--aprc-navy); color: #fff; }
.aprc-m__item.is-open > .aprc-m__toggle, .aprc-m__item.is-branch > .aprc-m__toggle { color: var(--aprc-green-dark) !important; }

.aprc-m__sub { overflow: hidden; transition: height .28s ease; }
body.aprc .aprc-m__sublist { padding: 0 20px 14px 24px !important; }
body.aprc .aprc-m__sublist .aprc-m__item { margin: 0; }
body.aprc .aprc-m__sublist .aprc-m__link {
	display: flex; align-items: center; min-height: 46px; padding: 10px 14px 10px 18px; margin: 0; box-sizing: border-box;
	font-family: var(--aprc-font) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.35 !important;
	color: var(--aprc-ink) !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important;
	border-left: 2px solid var(--aprc-line); border-radius: 0 10px 10px 0;
}
body.aprc .aprc-m__sublist .aprc-m__link:active { background: var(--aprc-soft); }
body.aprc .aprc-m__item.is-current > .aprc-m__link {
	color: var(--aprc-green-dark) !important; font-weight: 700 !important;
	border-left-color: var(--aprc-green); background: #eef7f3;
}
body.aprc .aprc-m__list > .aprc-m__item.is-current > .aprc-m__link { box-shadow: inset 4px 0 0 var(--aprc-green) !important; background: #f3faf7 !important; }

.aprc-m__foot { border-top: 1px solid var(--aprc-line); padding: 18px 20px 22px; background: var(--aprc-soft); display: grid; gap: 10px; }
body.aprc .aprc-m__cta { justify-content: center; width: 100%; box-sizing: border-box; padding: 15px 20px; font-size: 16px; }
body.aprc ul.aprc-m__quick { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 2px; }
body.aprc ul.aprc-m__quick li { margin: 0; }
body.aprc ul.aprc-m__quick li::marker { content: none; }
body.aprc .aprc-m__quick a { display: flex; align-items: center; gap: 10px; min-height: 40px; color: var(--aprc-ink) !important; font-size: 15px; font-weight: 500; text-decoration: none !important; }
.aprc-m__quick svg { color: var(--aprc-green-dark); flex: none; }
.aprc-m__social { display: flex; gap: 10px; margin-top: 4px; }
body.aprc .aprc-m__social a { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--aprc-line); color: var(--aprc-navy) !important; }
body.aprc .aprc-m__social a:active { background: var(--aprc-navy); color: #fff !important; }
@media (min-width: 1041px) { .aprc-m, .aprc-m__opener { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .aprc-m__panel, .aprc-m__overlay, .aprc-m__sub, .aprc-m__chev { transition: none !important; } }

/* Mobile menu refinements */
body.aprc .aprc-m__opener, body.aprc .aprc-m__close { background: var(--aprc-soft) !important; color: var(--aprc-navy) !important; border: 1px solid var(--aprc-line) !important; box-shadow: none !important; }
body.aprc .aprc-m__close:active, body.aprc .aprc-m__opener:active { background: var(--aprc-line) !important; }
body.aprc .header_mobile .content_wrap { width: auto !important; max-width: none !important; padding: 0 16px !important; box-sizing: border-box; }
.aprc-m__foot { gap: 14px; padding: 16px 20px 20px; }
.aprc-m__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
body.aprc .aprc-m__cta { padding: 13px 12px; font-size: 15px; gap: 6px; }
.aprc-m__social { margin-top: 0; justify-content: center; align-items: center; flex-wrap: wrap; }
.aprc-m__divider { width: 1px; height: 24px; background: var(--aprc-line); margin: 0 4px; }
body.aprc .aprc-m__cta { white-space: nowrap; }
@media (max-width: 380px) {
	body.aprc .aprc-m__cta { font-size: 14px; padding: 12px 8px; gap: 5px; }
	body.aprc .aprc-m__cta svg { width: 16px; height: 16px; }
	.aprc-m__social { gap: 6px; }
	body.aprc .aprc-m__social a { width: 38px; height: 38px; }
	.aprc-m__divider { margin: 0 2px; }
	body.aprc .aprc-m__list > .aprc-m__item > .aprc-m__link, body.aprc .aprc-m__toggle { min-height: 54px; font-size: 17px !important; }
}
