@charset "utf-8";

/* TERM PAGE */
.term-page-header {
	font: var(--product-section-header);
	margin-block: var(--margin-block) var(--margin-gap);
	}
.term-page-header-sub {
	color: var(--color-dimmed);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	}

/* MEDIA BAND */
.term-page-media {
	display: grid;
	gap: var(--margin-block);
	margin: var(--margin-block) 0;
	}
.term-page-media-src {
	border-radius: var(--radius);
	display: block;
	height: auto;
	width: 100%;
	}
.term-page-media .item-gallery {
	margin: 0;
	}
.term-page-sidebar {
	align-self: start;
	border: 1px solid var(--background-trim);
	border-radius: var(--radius);
	padding: var(--cards-padding);
	}
.term-page-sidebar-header {
	color: var(--color-header);
	font-size: var(--text-h6);
	margin: 0 0 var(--space-10);
	}
.term-page-list {
	font-size: var(--font-size-sm);
	line-height: var(--line-height-snug);
	list-style: disc;
	margin: 0 0 var(--space-20);
	padding-left: var(--space-20);
	}
.term-page-list > li {
	margin-bottom: var(--space-5);
	}
.term-page-list > li::marker {
	color: var(--color-accent);
	}
.term-page-sidebar-header-other {
	border-top: 1px solid var(--background-trim);
	padding-top: var(--space-20);
	}
.term-page-sidebar-button {
	margin: 0;
	}
@media (min-width: 60em) {
	.term-page-media {
		grid-template-columns: 1fr 24rem;
		}
	.term-page-media-solo {
		grid-template-columns: 1fr;
		}
	.term-page-media .term-page-sidebar {
		position: sticky;
		top: var(--sticky-top);
		transition: top var(--animation-duration) var(--animation-easing);
		}
}

/* GRID */
.term-page-grid {
	display: grid;
	gap: var(--space-20);
	grid-template-columns: 1fr;
	}
@media (min-width: 40em) {
	.term-page-grid {
		grid-template-columns: repeat(2, 1fr);
		}
}
@media (min-width: 80em) {
	.term-page-grid-products {
		grid-template-columns: repeat(4, 1fr);
		}
	.term-page-grid-addons {
		grid-template-columns: repeat(3, 1fr);
		}
}

/* CARDS */
.term-page-card {
	background: var(--background);
	border: 1px solid var(--background-divider);
	border-radius: var(--radius);
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	padding: var(--cards-padding);
	}
.term-page-card-image {
	border-radius: var(--radius);
	margin-bottom: var(--space-10);
	overflow: hidden;
	}
.term-page-card-src {
	aspect-ratio: var(--aspect-ratio-item);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
	}
.term-page-card-title {
	font-size: var(--text-h6);
	margin: 0;
	}
.term-page-card-meta {
	color: var(--color-bright);
	font-size: var(--font-size-xs);
	margin: 0;
	}
.term-page-card-text {
	font-size: var(--font-size-sm);
	line-height: var(--line-height-snug);
	margin: 0;
	}
.term-page-card-link {
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	margin-top: auto;
	}

/* BADGES */
.term-page-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5);
	margin: 0;
	}
.term-page-badge {
	border: 1px solid var(--background-border);
	border-radius: var(--radius);
	color: var(--color-header);
	display: inline-block;
	font-size: var(--font-size-micro);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	padding: 0.125rem 0.5rem;
	text-transform: uppercase;
	}
.term-page-badge-variant {
	border-color: var(--color-important);
	color: var(--color-important);
	}
.term-page-badge-included {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-accent-text);
	}

/* PRICES */
.term-page-price {
	color: var(--color-header);
	font-weight: var(--font-weight-bold);
	}
.term-page-quote {
	color: var(--color-dimmed);
	font-style: italic;
	}

/* TABLE */
.term-page-table {
	--term-page-fade: 1rem;
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - var(--term-page-fade)), transparent);
	margin: 0 0 var(--margin-gap);
	mask-image: linear-gradient(to right, #000 calc(100% - var(--term-page-fade)), transparent);
	overflow-x: auto;
	padding-right: var(--term-page-fade);
	}
.term-page-table > table {
	border-collapse: collapse;
	font-size: var(--font-size-sm);
	margin-block: 0;
	min-width: 36rem;
	width: 100%;
	}
.term-page-table th,
.term-page-table td {
	border-bottom: 1px solid var(--background-divider);
	padding: var(--space-10);
	text-align: left;
	vertical-align: top;
	}
.term-page-table thead th {
	color: var(--color-header);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	}
.term-page-table tbody th {
	font-weight: var(--font-weight-bold);
	}
.term-page-table .term-page-num {
	text-align: right;
	white-space: nowrap;
	}
.term-page-table .term-page-badge {
	margin-left: var(--space-5);
	}
@media (min-width: 60em) {
	.term-page-table {
		-webkit-mask-image: none;
		mask-image: none;
		padding-right: 0;
		}
}

/* CLOSING */
.term-page-closing {
	background: var(--background);
	border-radius: var(--radius);
	margin: var(--margin-block) 0;
	text-align: center;
	}
.term-page-closing-holder {
	padding: var(--buffer);
	}
.term-page-closing-note {
	font-size: var(--font-size-md);
	}
.term-page-buttons {
	margin-top: var(--space-10);
	}
.term-page-back {
	font-size: var(--font-size-sm);
	}
.term-page-back i {
	color: var(--color-arrow);
	}

/* TERM LINKS */
.term-page-table abbr {
	cursor: inherit;
	text-decoration: none;
	}
a.term-page-badge,
.term-page-badge a {
	color: inherit;
	text-decoration: none;
	transition: border-color var(--animation-duration) var(--animation-easing), color var(--animation-duration) var(--animation-easing);
	}
a.term-page-badge:hover,
a.term-page-badge:focus-visible {
	border-color: var(--color-link);
	color: var(--color-link);
	}
.term-page-badge a:hover,
.term-page-badge a:focus-visible {
	color: var(--color-link);
	}