.cp-wrap {
	--cp-ink: #19212f;
	--cp-muted: #657083;
	--cp-line: #dce2ea;
	--cp-surface: #ffffff;
	--cp-soft: #f5f7fa;
	--cp-accent: #1369b0;
	--cp-accent-dark: #0b4f87;
	max-width: 1120px;
	margin: 2rem auto;
	color: var(--cp-ink);
}

.woocommerce .price .cjp-woo-compliance,
.woocommerce .cjp-woo-compliance {
  display: block !important;
  margin-top: .35rem !important;
  color: inherit !important;
  font-size: .72em !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
.woocommerce .cjp-woo-compliance small {
  display: block !important;
  color: inherit !important;
  font-size: 1em !important;
  font-weight: 400 !important;
}

body.cjp-standalone { background:#f3f6fa !important; color:#19212f !important; margin:0 !important; font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }
body.cjp-standalone, body.cjp-standalone * { box-sizing:border-box; }
body.cjp-standalone #cjp-content { width:100%; min-height:72vh; padding:32px 24px; }
body.cjp-standalone .cp-wrap { width:100%; font:inherit; margin:0 auto; }
body.cjp-standalone .cp-wrap h1,body.cjp-standalone .cp-wrap h2,body.cjp-standalone .cp-wrap h3 { color:#19212f !important; font-family:inherit !important; letter-spacing:normal !important; font-weight:700 !important; line-height:1.25 !important; }
body.cjp-standalone .cp-wrap h1 { font-size:32px !important; }
body.cjp-standalone .cp-wrap h2 { font-size:22px !important; }
body.cjp-standalone .cp-wrap h3 { font-size:18px !important; }
body.cjp-standalone .cp-wrap p,body.cjp-standalone .cp-wrap td,body.cjp-standalone .cp-wrap label { color:#253249; }
body.cjp-standalone .cp-wrap .cp-button { color:white !important; font:600 15px/1.4 system-ui !important; }
body.cjp-standalone .cp-wrap .cp-button-secondary { color:#0b4f87 !important; }
body.cjp-standalone .cp-wrap a:not(.cp-button):not(.cp-tab) { color:#07569c !important; }
.cjp-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px max(24px,calc((100vw - 1120px)/2)); background:#fff; border-bottom:1px solid #dce2ea; }
.cjp-topbar a { color:#19212f !important; font:600 15px/1.5 system-ui !important; text-decoration:none; }
.cjp-topbar .cjp-brand { font-size:19px !important; }
.cjp-topbar nav { display:flex; gap:24px; flex-wrap:wrap; }
.cjp-footer { padding:24px; text-align:center; color:#657083; font:14px/1.5 system-ui; }
.cjp-skip { position:absolute;left:-10000px; } .cjp-skip:focus{left:20px;top:10px;background:white;padding:12px;z-index:999999;}
.cp-price-display { font-variant-numeric:tabular-nums; }
.cp-price-display .cp-price-anchor { color:inherit; }
.cp-wrap :focus-visible { outline:3px solid #257ad0;outline-offset:3px; }
@media(max-width:640px){.cjp-topbar{align-items:flex-start;flex-direction:column;}body.cjp-standalone #cjp-content{padding:24px 12px;}.cp-tabs{flex-wrap:wrap;}.cp-form select{max-width:100%;}.cp-button{margin-bottom:6px;}}

/* Automatically generated human-readable catalogue. */
.cp-catalog {
	--cp-catalog-bg:#071421;
	--cp-catalog-card:#0d1d2e;
	--cp-catalog-card-2:#13263b;
	--cp-catalog-line:rgba(132,184,225,.2);
	--cp-catalog-text:#f6f9fc;
	--cp-catalog-muted:#a9b8c8;
	--cp-catalog-accent:#42a9ed;
	max-width:1180px;
	padding:0 0 2rem;
}
.cp-catalog .cp-catalog-hero {
	padding:clamp(28px,5vw,58px);
	border:1px solid var(--cp-catalog-line);
	border-radius:24px;
	background:radial-gradient(circle at top right,rgba(66,169,237,.18),transparent 38%),linear-gradient(145deg,#071421,#0c1c2e);
	color:var(--cp-catalog-text);
}
.cp-catalog .cp-eyebrow { margin:0 0 12px;color:#76caff;font-size:12px;font-weight:800;letter-spacing:.13em; }
.cp-catalog .cp-catalog-hero h1 { margin:0 0 14px;color:#fff !important;font-size:clamp(32px,5vw,52px) !important;line-height:1.1 !important; }
.cp-catalog .cp-catalog-hero>p { max-width:790px;color:var(--cp-catalog-muted) !important; }
.cp-catalog-badges { display:flex;flex-wrap:wrap;gap:9px;margin:22px 0; }
.cp-catalog-badges span { padding:7px 12px;border:1px solid var(--cp-catalog-line);border-radius:999px;background:rgba(255,255,255,.04);color:#dceaf6;font-size:13px;font-weight:600; }
.cp-catalog .cp-catalog-meta { margin:20px 0 0;font-size:14px; }
.cp-catalog .cp-button-secondary { border-color:var(--cp-catalog-line);background:transparent;color:#d8eafa !important; }
.cp-catalog-switch { display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0; }
.cp-catalog-switch a { padding:9px 13px;border:1px solid #dce2ea;border-radius:9px;background:#fff;color:#26384c;text-decoration:none;font-weight:650; }
.cp-catalog-switch a.is-active { border-color:#1369b0;background:#eaf4fc;color:#0b4f87; }
.cp-catalog-search { margin:28px 0 22px; }
.cp-catalog-search label { display:block;margin-bottom:8px;color:#19212f;font-weight:700; }
.cp-catalog-search div { display:flex;gap:8px; }
.cp-catalog-search input { width:100%;min-height:48px;padding:11px 14px;border:1px solid #cfd8e3;border-radius:9px;background:#fff;color:#19212f;font:inherit; }
.cp-catalog-search input:focus { outline:3px solid rgba(37,122,208,.2);border-color:#257ad0; }
.cp-catalog-group { margin-top:30px; }
.cp-catalog-group>h2 { margin:0 0 13px;font-size:clamp(22px,3vw,29px); }
.cp-catalog-grid { display:grid;gap:14px; }
.cp-catalog-item { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:start;padding:23px;border:1px solid #dce4ed;border-radius:15px;background:#fff;box-shadow:0 3px 14px rgba(24,43,65,.045); }
.cp-catalog-code { display:block;margin-bottom:5px;color:#1473b4;font-size:11px;font-weight:800;letter-spacing:.1em; }
.cp-catalog-copy h3 { margin:0;color:#19212f;font-size:20px;line-height:1.35; }
.cp-catalog-copy p { margin:10px 0 0;color:#5d6c7e;font-size:14px;line-height:1.65; }
.cp-catalog-price { min-width:220px;text-align:right;font-variant-numeric:tabular-nums; }
.cp-catalog-price strong { display:block;color:#152438;font-size:24px;line-height:1.2; }
.cp-catalog-price span,.cp-catalog-price small,.cp-catalog-price em { display:block;margin-top:5px;color:#68798c;font-size:12px;font-style:normal; }
.cp-catalog-price small { margin-top:12px;color:#49667f;font-size:13px; }
.cp-catalog-price em { color:#875800;font-weight:700; }
.cp-pagination { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px; }
.cp-pagination span { color:#657083;font-size:14px; }
.cp-catalog-note { margin-top:32px;padding:20px;border-left:4px solid #2587c8;border-radius:8px;background:#eef7fd;color:#52677c;font-size:13px; }
.cp-catalog-note p { margin:0; }.cp-catalog-note p+p { margin-top:7px; }
@media(max-width:700px){
	.cp-catalog .cp-catalog-hero{border-radius:17px;padding:25px 19px;}
	.cp-catalog .cp-catalog-hero .cp-button{display:flex;width:100%;margin:7px 0;}
	.cp-catalog-search div{display:grid;}
	.cp-catalog-item{grid-template-columns:1fr;padding:18px;gap:16px;}
	.cp-catalog-price{min-width:0;padding-top:14px;border-top:1px solid #e2e8ef;text-align:left;}
	.cp-pagination{flex-wrap:wrap;justify-content:center;text-align:center;}
}

.cp-wrap * {
	box-sizing: border-box;
}

.cp-wrap h1,
.cp-wrap h2,
.cp-wrap h3 {
	color: var(--cp-ink);
}

.cp-wrap h1 {
	margin: 0 0 .35rem;
	font-size: clamp(1.7rem, 4vw, 2.25rem);
}

.cp-intro,
.cp-muted,
.cp-help,
.cp-api {
	color: var(--cp-muted);
}

.cp-card {
	margin: 1rem 0;
	padding: 1.35rem;
	border: 1px solid var(--cp-line);
	border-radius: 12px;
	background: var(--cp-surface);
	box-shadow: 0 2px 10px rgba( 25, 33, 47, .035 );
}

.cp-card > :first-child {
	margin-top: 0;
}

.cp-card > :last-child {
	margin-bottom: 0;
}

.cp-tabs {
	display: flex;
	gap: .35rem;
	margin: 1.5rem 0 1rem;
	padding-bottom: .6rem;
	overflow-x: auto;
	border-bottom: 1px solid var(--cp-line);
}

.cp-tab {
	white-space: nowrap;
	padding: .6rem .8rem;
	border-radius: 7px;
	color: var(--cp-ink);
	text-decoration: none;
	font-weight: 600;
}

.cp-tab:hover,
.cp-tab:focus,
.cp-tab.is-active {
	background: #eaf3fa;
	color: var(--cp-accent-dark);
}

.cp-button,
.cp-wrap button,
.cp-login input[type="submit"] {
	display: inline-block;
	padding: .68rem 1rem;
	border: 1px solid var(--cp-accent);
	border-radius: 7px;
	background: var(--cp-accent);
	color: #fff;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
}

.cp-button:hover,
.cp-button:focus,
.cp-wrap button:hover,
.cp-wrap button:focus,
.cp-login input[type="submit"]:hover,
.cp-login input[type="submit"]:focus {
	background: var(--cp-accent-dark);
	border-color: var(--cp-accent-dark);
	color: #fff;
}

.cp-button-secondary {
	background: #fff;
	color: var(--cp-accent-dark);
}

.cp-button-secondary:hover,
.cp-button-secondary:focus {
	background: #eaf3fa;
	color: var(--cp-accent-dark);
}

.cp-notice {
	margin: 1rem 0;
	padding: .9rem 1rem;
	border-left: 4px solid #8d99a8;
	border-radius: 5px;
	background: var(--cp-soft);
}

.cp-notice-success {
	border-left-color: #16834d;
	background: #edf8f1;
}

.cp-notice-error {
	border-left-color: #bb2837;
	background: #fff0f1;
}

.cp-notice ul {
	margin: .55rem 0 0 1.2rem;
}

.cp-callout {
	border-color: #a8cce8;
	background: #f0f8fd;
}

.cp-public-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 245px, 1fr ) );
	gap: 1rem;
	margin: 1rem 0;
}

.cp-price-list {
	margin: 0;
}

.cp-eyebrow {
	margin: 0 0 .4rem;
	color: var(--cp-accent-dark);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cp-form p {
	margin: 1rem 0;
}

.cp-form label:not(.cp-confirm-form label) {
	display: block;
	margin-bottom: .35rem;
	font-weight: 700;
}

.cp-form select,
.cp-form input[type="file"],
.cp-form input[type="text"],
.cp-form input[type="email"],
.cp-login input[type="text"],
.cp-login input[type="password"] {
	width: min( 100%, 560px );
	min-height: 2.6rem;
	padding: .5rem .65rem;
	border: 1px solid #aeb9c8;
	border-radius: 6px;
	background: #fff;
	color: var(--cp-ink);
}

.cp-form input[type="file"] {
	padding: .4rem;
}

.cp-help {
	display: block;
	margin-top: .35rem;
	font-size: .9rem;
}

.cp-table-wrap {
	max-width: 100%;
	overflow-x: auto;
}

.cp-wrap table {
	width: 100%;
	border-collapse: collapse;
	font-size: .94rem;
}

.cp-wrap th,
.cp-wrap td {
	padding: .7rem .75rem;
	border-bottom: 1px solid var(--cp-line);
	text-align: left;
	vertical-align: top;
}

.cp-wrap th {
	background: var(--cp-soft);
	font-weight: 800;
}

.cp-wrap td code {
	font-size: .8em;
	word-break: break-all;
}

.cp-status {
	display: inline-block;
	padding: .18rem .45rem;
	border-radius: 999px;
	font-size: .85rem;
	font-weight: 700;
}

.cp-status-missing {
	background: #fff0d6;
	color: #865200;
}

.cp-price-display {
	display: inline-flex;
	flex-wrap: wrap;
	gap: .3rem .85rem;
	align-items: baseline;
}

.cp-price-anchor {
	color: var(--cp-muted);
}

.cp-price-label {
	font-weight: 700;
}

@media (max-width: 640px) {
	.cp-wrap {
		margin: 1rem auto;
	}

	.cp-card {
		padding: 1rem;
	}
}

/*
 * Theme colour isolation.
 * This block intentionally uses strong selectors and !important so that a
 * site's theme, page builder or global typography palette cannot replace the
 * portal's foreground, surface, border and state colours.
 */
html body .cp-wrap {
	--cp-ink: #19212f !important;
	--cp-muted: #657083 !important;
	--cp-line: #dce2ea !important;
	--cp-surface: #ffffff !important;
	--cp-soft: #f5f7fa !important;
	--cp-accent: #1369b0 !important;
	--cp-accent-dark: #0b4f87 !important;
	color: #19212f !important;
}

html body.cjp-standalone {
	background: #f3f6fa !important;
	color: #19212f !important;
}

html body .cjp-topbar {
	background: #ffffff !important;
	border-color: #dce2ea !important;
	color: #19212f !important;
}

html body .cjp-topbar a,
html body .cjp-topbar .cjp-brand {
	color: #19212f !important;
}

html body .cjp-footer {
	color: #657083 !important;
}

html body .cp-wrap h1,
html body .cp-wrap h2,
html body .cp-wrap h3,
html body .cp-wrap h4,
html body .cp-wrap h5,
html body .cp-wrap h6,
html body .cp-wrap p,
html body .cp-wrap li,
html body .cp-wrap label,
html body .cp-wrap th,
html body .cp-wrap td,
html body .cp-wrap strong {
	color: #19212f !important;
}

html body .cp-wrap .cp-intro,
html body .cp-wrap .cp-muted,
html body .cp-wrap .cp-help,
html body .cp-wrap .cp-api,
html body .cp-wrap .cp-pagination span,
html body .cp-wrap .cp-price-anchor {
	color: #657083 !important;
}

html body .cp-wrap .cp-eyebrow,
html body .cp-wrap .cp-price-label,
html body .cp-wrap .cp-price-current {
	color: #0b4f87 !important;
}

html body .cp-wrap a:not(.cp-button):not(.cp-tab),
html body .cp-wrap a:not(.cp-button):not(.cp-tab):visited {
	color: #07569c !important;
}

html body .cp-wrap .cp-card {
	background: #ffffff !important;
	border-color: #dce2ea !important;
	color: #19212f !important;
}

html body .cp-wrap .cp-tabs {
	border-color: #dce2ea !important;
}

html body .cp-wrap .cp-tab,
html body .cp-wrap .cp-tab:visited {
	background: transparent !important;
	color: #19212f !important;
}

html body .cp-wrap .cp-tab:hover,
html body .cp-wrap .cp-tab:focus,
html body .cp-wrap .cp-tab.is-active {
	background: #eaf3fa !important;
	color: #0b4f87 !important;
}

html body .cp-wrap .cp-button,
html body .cp-wrap .cp-button:visited,
html body .cp-wrap button,
html body .cp-wrap .cp-login input[type="submit"] {
	background: #1369b0 !important;
	border-color: #1369b0 !important;
	color: #ffffff !important;
}

html body .cp-wrap .cp-button:hover,
html body .cp-wrap .cp-button:focus,
html body .cp-wrap button:hover,
html body .cp-wrap button:focus,
html body .cp-wrap .cp-login input[type="submit"]:hover,
html body .cp-wrap .cp-login input[type="submit"]:focus {
	background: #0b4f87 !important;
	border-color: #0b4f87 !important;
	color: #ffffff !important;
}

html body .cp-wrap .cp-button-secondary,
html body .cp-wrap .cp-button-secondary:visited {
	background: #ffffff !important;
	border-color: #1369b0 !important;
	color: #0b4f87 !important;
}

html body .cp-wrap .cp-button-secondary:hover,
html body .cp-wrap .cp-button-secondary:focus {
	background: #eaf3fa !important;
	border-color: #0b4f87 !important;
	color: #0b4f87 !important;
}

html body .cp-wrap input,
html body .cp-wrap select,
html body .cp-wrap textarea {
	background: #ffffff !important;
	border-color: #aeb9c8 !important;
	color: #19212f !important;
}

html body .cp-wrap input::placeholder,
html body .cp-wrap textarea::placeholder {
	color: #657083 !important;
}

html body .cp-wrap th {
	background: #f5f7fa !important;
	border-color: #dce2ea !important;
	color: #19212f !important;
}

html body .cp-wrap td {
	background: #ffffff !important;
	border-color: #dce2ea !important;
	color: #253249 !important;
}

html body .cp-wrap .cp-notice {
	background: #f5f7fa !important;
	border-color: #8d99a8 !important;
	color: #19212f !important;
}

html body .cp-wrap .cp-notice-success {
	background: #edf8f1 !important;
	border-color: #16834d !important;
	color: #155f3d !important;
}

html body .cp-wrap .cp-notice-error {
	background: #fff0f1 !important;
	border-color: #bb2837 !important;
	color: #8e1e2a !important;
}

html body .cp-wrap .cp-callout {
	background: #f0f8fd !important;
	border-color: #a8cce8 !important;
}

html body .cp-wrap .cp-status-missing {
	background: #fff0d6 !important;
	color: #865200 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-hero {
	background: radial-gradient(circle at top right, rgba(66,169,237,.18), transparent 38%), linear-gradient(145deg, #071421, #0c1c2e) !important;
	border-color: rgba(132,184,225,.2) !important;
	color: #f6f9fc !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-hero h1,
html body .cp-wrap.cp-catalog .cp-catalog-hero h2,
html body .cp-wrap.cp-catalog .cp-catalog-hero h3 {
	color: #ffffff !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-hero > p,
html body .cp-wrap.cp-catalog .cp-catalog-hero .cp-catalog-meta {
	color: #a9b8c8 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-hero .cp-eyebrow {
	color: #76caff !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-badges span {
	background: rgba(255,255,255,.04) !important;
	border-color: rgba(132,184,225,.2) !important;
	color: #dceaf6 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-hero .cp-button-secondary,
html body .cp-wrap.cp-catalog .cp-catalog-hero .cp-button-secondary:visited {
	background: transparent !important;
	border-color: rgba(132,184,225,.2) !important;
	color: #d8eafa !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-switch a {
	background: #ffffff !important;
	border-color: #dce2ea !important;
	color: #26384c !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-switch a.is-active {
	background: #eaf4fc !important;
	border-color: #1369b0 !important;
	color: #0b4f87 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-search label,
html body .cp-wrap.cp-catalog .cp-catalog-group > h2 {
	color: #19212f !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-item {
	background: #ffffff !important;
	border-color: #dce4ed !important;
	color: #19212f !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-code {
	color: #1473b4 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-copy h3,
html body .cp-wrap.cp-catalog .cp-catalog-price strong {
	color: #152438 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-copy p,
html body .cp-wrap.cp-catalog .cp-catalog-price span,
html body .cp-wrap.cp-catalog .cp-catalog-price small {
	color: #5d6c7e !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-price em {
	color: #875800 !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-note {
	background: #eef7fd !important;
	border-color: #2587c8 !important;
	color: #52677c !important;
}

html body .cp-wrap.cp-catalog .cp-catalog-note p {
	color: #52677c !important;
}
/* WooCommerce references use an explicit surface, including in dark themes. */
body .cjp-woo-compliance, body .cjp-woo-compliance small, body .cjp-woo-compliance span,
body .cjp-woo-compliance bdi, body .cjp-woo-compliance b {
  color:#142236 !important; -webkit-text-fill-color:#142236 !important;
  background:#f3f6fa !important; font-size:13px !important; line-height:1.55 !important;
  text-transform:none !important; letter-spacing:normal !important; opacity:1 !important;
}
body .cjp-woo-compliance { display:block !important; padding:8px 10px !important; margin:8px 0 !important; border-radius:6px !important; }
body .cjp-woo-compliance small, body .cjp-woo-variant { display:block !important; }
body .cjp-woo-compliance .cjp-woo-compliance { padding:0 !important; margin:0 !important; }
