/**
 * Semantic article modules supplied by the publishing HTML.
 * Scoped so standard WordPress post content keeps the base article treatment.
 */
body.csn-native-article .csn-article-content--semantic .route-guide-page {
	--csn-module-navy: #153f5d;
	--csn-module-teal: #187f96;
	--csn-module-aqua: #49cbd0;
	--csn-module-gold: #e0a03f;
	--csn-module-line: #cbdde3;
	--csn-module-soft: #edf7f8;
}

body.csn-native-article .csn-article-content--semantic .route-guide-page p:empty {
	display: none;
}

body.csn-native-article .csn-article-content--semantic .route-guide-page > p:first-of-type {
	margin: 0 0 44px;
	padding: 24px 27px;
	border-left: 5px solid var(--csn-module-aqua);
	background: var(--csn-module-soft);
	color: #194964;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.62;
}

body.csn-native-article .csn-article-content--semantic .article-section {
	margin: 67px 0;
	scroll-margin-top: 168px;
}

body.csn-native-article .csn-article-content--semantic .section-title {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0 0 28px;
	padding: 18px 23px;
	border-left: 5px solid var(--csn-module-gold);
	background: #f0f7f8;
}

body.csn-native-article .csn-article-content--semantic .section-title .title-line {
	width: 36px;
	height: 4px;
	flex: 0 0 auto;
	background: var(--csn-module-teal);
}

body.csn-native-article .csn-article-content--semantic .section-title h2 {
	margin: 0;
	padding: 0;
	color: var(--csn-module-navy);
	font-size: 35px;
	font-weight: 800;
	line-height: 1.2;
}

body.csn-native-article .csn-article-content--semantic .section-title h2::before {
	display: none;
}

body.csn-native-article .csn-article-content--semantic .route-guide-page h3 {
	color: #173f5c;
}

body.csn-native-article .csn-article-content--semantic .route-guide-page a:not(.csn-button) {
	color: #087d97;
	font-weight: 700;
}

body.csn-native-article .csn-article-content--semantic .process-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 35px 0 40px;
}

body.csn-native-article .csn-article-content--semantic .process-item {
	position: relative;
	min-height: 174px;
	padding: 29px 27px 26px 86px;
	border: 1px solid var(--csn-module-line);
	border-top: 4px solid var(--csn-module-teal);
	background: #fff;
	box-shadow: 0 13px 27px rgba(14, 62, 83, .06);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.csn-native-article .csn-article-content--semantic .process-item:hover {
	border-color: #7dbcc7;
	box-shadow: 0 18px 34px rgba(14, 62, 83, .1);
	transform: translateY(-3px);
}

body.csn-native-article .csn-article-content--semantic .process-item > span {
	display: flex;
	position: absolute;
	top: 27px;
	left: 25px;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #073f60;
	background: var(--csn-module-aqua);
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
}

body.csn-native-article .csn-article-content--semantic .process-item h3 {
	margin: 0 0 10px;
	font-size: 23px;
	line-height: 1.27;
}

body.csn-native-article .csn-article-content--semantic .process-item p {
	margin: 0;
	font-size: 16px;
	line-height: 1.62;
}

body.csn-native-article .csn-article-content--semantic .process-item:last-child:nth-child(odd) {
	grid-column: span 2;
}

body.csn-native-article .csn-article-content--semantic .shipping-table {
	width: 100%;
	margin: 42px 0;
	border: 1px solid #b9d4dc;
	border-collapse: collapse;
	background: #fff;
	box-shadow: 0 10px 24px rgba(10, 57, 78, .05);
}

@media (min-width: 768px) {
	body.csn-native-article .csn-article-content--semantic .route-guide-page table {
		display: table !important;
		width: 100% !important;
		max-width: none !important;
		overflow: visible !important;
		table-layout: fixed;
	}

	body.csn-native-article .csn-article-content--semantic .route-guide-page table th,
	body.csn-native-article .csn-article-content--semantic .route-guide-page table td {
		min-width: 0 !important;
	}
}

body.csn-native-article .csn-article-content--semantic .shipping-table caption {
	caption-side: top;
	padding: 15px 20px !important;
	border: 1px solid #b9d4dc;
	border-bottom: 0;
	border-left: 5px solid var(--csn-module-teal);
	color: var(--csn-module-navy) !important;
	background: #eaf5f7 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: 0;
	line-height: 1.45;
	text-align: left !important;
}

body.csn-native-article .csn-article-content--semantic .shipping-table th,
body.csn-native-article .csn-article-content--semantic .shipping-table td {
	border-color: #c8dde3;
}

body.csn-native-article .csn-article-content--semantic .shipping-table th {
	padding: 17px 20px;
	color: #fff !important;
	background: #164766 !important;
	font-size: 16px !important;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.42;
	vertical-align: middle;
}

body.csn-native-article .csn-article-content--semantic .shipping-table td {
	padding: 18px 20px;
	color: #405f73 !important;
	font-size: 16px !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.62;
	vertical-align: middle;
}

body.csn-native-article .csn-article-content--semantic .shipping-table th > *,
body.csn-native-article .csn-article-content--semantic .shipping-table td > * {
	margin-top: 0;
	margin-bottom: 0;
	font-size: inherit !important;
	line-height: inherit !important;
}

body.csn-native-article .csn-article-content--semantic .shipping-table tbody tr:nth-child(even) td {
	background: #f3f9fa;
}

body.csn-native-article .csn-article-content--semantic .common-mistake {
	margin: 40px 0;
	padding: 24px 28px;
	border: 1px solid #ecd3a8;
	border-left: 5px solid var(--csn-module-gold);
	background: #fff8e9;
}

body.csn-native-article .csn-article-content--semantic .common-mistake p,
body.csn-native-article .csn-article-content--semantic .disclosure-note p,
body.csn-native-article .csn-article-content--semantic .article-disclaimer p {
	margin: 0;
}

body.csn-native-article .csn-article-content--semantic .common-mistake strong {
	color: #9b630e;
}

body.csn-native-article .csn-article-content--semantic .benefit-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 33px 0 0;
	border-top: 1px solid var(--csn-module-line);
}

body.csn-native-article .csn-article-content--semantic .benefit-item {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid var(--csn-module-line);
}

body.csn-native-article .csn-article-content--semantic .benefit-item > span {
	display: grid;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
	border-radius: 50%;
	color: #0b7089;
	background: #e4f5f6;
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
}

body.csn-native-article .csn-article-content--semantic .benefit-item > p {
	margin: 2px 0 0 !important;
	color: #46677b;
	font-size: 17px;
	line-height: 1.68;
}

body.csn-native-article .csn-article-content--semantic .benefit-item > p:empty {
	display: none;
}

body.csn-native-article .csn-article-content--semantic .benefit-item > p strong {
	color: var(--csn-module-navy);
	font-weight: 800;
}

body.csn-native-article .csn-article-content--semantic .disclosure-note,
body.csn-native-article .csn-article-content--semantic .article-disclaimer {
	margin: 39px 0;
	padding: 24px 28px;
	border: 1px solid #bad6dd;
	border-left: 5px solid var(--csn-module-teal);
	background: #eef8f9;
	color: #42677a;
}

body.csn-native-article .csn-article-content--semantic .article-disclaimer {
	border-left-color: #7aafbd;
	background: #f4f8f9;
	font-size: 16px;
}

body.csn-native-article .csn-article-content--semantic .faq-list {
	display: block;
	margin: 34px 0 0;
	border-top: 1px solid var(--csn-module-line);
}

body.csn-native-article .csn-article-content--semantic .faq-item {
	margin: 0;
	padding: 23px 62px 23px 23px;
	border: 0;
	border-bottom: 1px solid var(--csn-module-line);
	background: #fff;
	box-shadow: none;
}

body.csn-native-article .csn-article-content--semantic .faq-item h3 {
	margin: 0 0 10px;
	color: var(--csn-module-navy);
	font-size: 21px;
	font-weight: 750;
	line-height: 1.32;
}

body.csn-native-article .csn-article-content--semantic .faq-item p {
	margin: 0;
	font-size: 16px;
	line-height: 1.62;
}

body.csn-native-article .csn-article-content--semantic details.faq-item {
	padding: 0;
}

body.csn-native-article .csn-article-content--semantic details.faq-item > summary {
	display: flex;
	position: relative;
	min-height: 74px;
	align-items: center;
	padding: 20px 62px 20px 23px;
	cursor: pointer;
	color: var(--csn-module-navy);
	font-size: 21px;
	font-weight: 750;
	line-height: 1.35;
	list-style: none;
	transition: background-color .18s ease, color .18s ease;
}

body.csn-native-article .csn-article-content--semantic details.faq-item > summary::-webkit-details-marker {
	display: none;
}

body.csn-native-article .csn-article-content--semantic details.faq-item > summary::after {
	position: absolute;
	top: 50%;
	right: 22px;
	width: 28px;
	height: 28px;
	transform: translateY(-50%);
	border: 1px solid #9ec8d0;
	border-radius: 50%;
	color: var(--csn-module-teal);
	content: '+';
	font-size: 23px;
	font-weight: 400;
	line-height: 25px;
	text-align: center;
}

body.csn-native-article .csn-article-content--semantic details.faq-item[open] > summary {
	color: #0c6076;
	background: #eef8f9;
}

body.csn-native-article .csn-article-content--semantic details.faq-item[open] > summary::after {
	content: '\2212';
}

body.csn-native-article .csn-article-content--semantic details.faq-item > p,
body.csn-native-article .csn-article-content--semantic details.faq-item > ul,
body.csn-native-article .csn-article-content--semantic details.faq-item > ol,
body.csn-native-article .csn-article-content--semantic details.faq-item > div {
	margin: 0;
	padding: 0 62px 25px 23px;
	color: #46667a;
	font-size: 16px;
	line-height: 1.68;
}

body.csn-native-article .csn-article-content--semantic .route-guide-page p[style*="text-align:center"] {
	margin: 43px 0;
	padding: 7px;
	border: 1px solid #cedfe4;
	background: #f3f9fa;
}

body.csn-native-article .csn-article-content--semantic .route-guide-page img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

@media (max-width: 900px) {
	body.csn-native-article .csn-article-content--semantic .route-guide-page > p:first-of-type {
		font-size: 19px;
	}

	body.csn-native-article .csn-article-content--semantic .section-title h2 {
		font-size: 32px;
	}

	body.csn-native-article .csn-article-content--semantic .process-item {
		padding-right: 23px;
		padding-left: 78px;
	}
}

@media (max-width: 767px) {
	body.csn-native-article .csn-article-content--semantic .route-guide-page > p:first-of-type {
		margin-bottom: 36px;
		padding: 20px 20px;
		font-size: 18px;
	}

	body.csn-native-article .csn-article-content--semantic .article-section {
		margin: 51px 0;
		scroll-margin-top: 110px;
	}

	body.csn-native-article .csn-article-content--semantic .section-title {
		gap: 11px;
		padding: 16px 17px;
	}

	body.csn-native-article .csn-article-content--semantic .section-title .title-line {
		width: 24px;
	}

	body.csn-native-article .csn-article-content--semantic .section-title h2 {
		font-size: 28px;
	}

	body.csn-native-article .csn-article-content--semantic .process-list {
		grid-template-columns: 1fr;
	}

	body.csn-native-article .csn-article-content--semantic .process-item,
	body.csn-native-article .csn-article-content--semantic .process-item:last-child:nth-child(odd) {
		grid-column: auto;
		min-height: 0;
		padding: 23px 20px 22px 72px;
	}

	body.csn-native-article .csn-article-content--semantic .process-item > span {
		top: 21px;
		left: 19px;
		width: 36px;
		height: 36px;
	}

	body.csn-native-article .csn-article-content--semantic .process-item h3 {
		font-size: 21px;
	}

	body.csn-native-article .csn-article-content--semantic .shipping-table th,
	body.csn-native-article .csn-article-content--semantic .shipping-table td {
		padding: 13px 14px;
	}

	body.csn-native-article .csn-article-content--semantic .common-mistake,
	body.csn-native-article .csn-article-content--semantic .disclosure-note,
	body.csn-native-article .csn-article-content--semantic .article-disclaimer {
		padding: 20px 21px;
	}

	body.csn-native-article .csn-article-content--semantic .benefit-item {
		grid-template-columns: 27px minmax(0, 1fr);
		gap: 13px;
		padding: 18px 0;
	}

	body.csn-native-article .csn-article-content--semantic .benefit-item > span {
		width: 27px;
		height: 27px;
		font-size: 15px;
	}

	body.csn-native-article .csn-article-content--semantic .benefit-item > p {
		font-size: 16px;
	}

	body.csn-native-article .csn-article-content--semantic .faq-item {
		padding: 20px 52px 20px 19px;
	}

	body.csn-native-article .csn-article-content--semantic details.faq-item > summary {
		min-height: 66px;
		padding: 18px 52px 18px 19px;
		font-size: 19px;
	}

	body.csn-native-article .csn-article-content--semantic details.faq-item > summary::after {
		right: 17px;
		width: 25px;
		height: 25px;
		font-size: 21px;
		line-height: 22px;
	}

	body.csn-native-article .csn-article-content--semantic details.faq-item > p,
	body.csn-native-article .csn-article-content--semantic details.faq-item > ul,
	body.csn-native-article .csn-article-content--semantic details.faq-item > ol,
	body.csn-native-article .csn-article-content--semantic details.faq-item > div {
		padding: 0 19px 22px;
	}

	body.csn-native-article .csn-article-content--semantic .route-guide-page p[style*="text-align:center"] {
		margin: 34px 0;
		padding: 5px;
	}
}
