/**
 * Shopvane - component styles.
 *
 * Hand written, no framework, no build step. Everything that a shop owner can
 * change is a custom property set on :root by inc/customizer/output-css.php,
 * so this file never has to be regenerated.
 *
 * Layout uses logical properties (inline-start / inline-end) throughout, which
 * is why the theme needs no separate rtl.css.
 */

/* =========================================================================
   Header - top bar
   ========================================================================= */

.sv-topbar {
	background: var(--sv-topbar-bg, #16181d);
	color: var(--sv-topbar-color, #fff);
	font-size: .82rem;
}

.sv-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 40px;
}

.sv-topbar a {
	color: inherit;
	opacity: .85;
}

.sv-topbar a:hover {
	color: inherit;
	opacity: 1;
}

.sv-topbar__left,
.sv-topbar__right {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 0 0 auto;
}

.sv-topbar__contact {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.sv-topbar__note {
	flex: 1 1 auto;
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sv-topbar__list {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* On a phone the announcement is the only thing worth the vertical space. */
@media (max-width: 767px) {
	.sv-topbar__inner {
		justify-content: center;
		min-height: 34px;
	}

	.sv-topbar__note {
		font-size: .78rem;
	}
}

/* =========================================================================
   Header - main
   ========================================================================= */

.sv-header {
	position: relative;
	z-index: 60;
	background: var(--sv-header-bg, #fff);
	color: var(--sv-header-color, #16181d);
	border-bottom: 1px solid var(--sv-header-border, var(--sv-border));
}

.sv-header a {
	color: inherit;
}

.sv-header__row {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 72px;
}

.sv-header__burger {
	display: inline-grid;
	flex: 0 0 auto;
	margin-inline-start: -10px;
}

@media (min-width: 992px) {
	.sv-header__burger {
		display: none;
	}
}

.sv-header__brand {
	flex: 0 0 auto;
}

.sv-header__search {
	flex: 1 1 auto;
	max-width: 620px;
	margin-inline: auto;
}

.sv-header__actions {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-inline-start: auto;
	flex: 0 0 auto;
}

.sv-header__cta {
	margin-inline-start: 10px;
}

.sv-header__navrow {
	border-top: 1px solid var(--sv-header-border, var(--sv-border));
}

.sv-header__navinner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 48px;
}

.sv-header__note {
	font-size: .82rem;
	opacity: .75;
	white-space: nowrap;
}

.sv-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-inline-start: auto;
	font-weight: 600;
}

/* Centred layout */
.sv-header-centered .sv-header__row {
	justify-content: space-between;
}

.sv-header-centered .sv-header__brand {
	margin-inline: auto;
	text-align: center;
}

.sv-header-centered .sv-header__navinner {
	justify-content: center;
}

/* Brand */
.sv-brand {
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1.2;
}

.sv-brand img,
.sv-brand .custom-logo {
	display: block;
	max-height: 52px;
	width: auto;
	object-fit: contain;
	transition: max-height var(--sv-speed) var(--sv-ease);
}

.sv-brand__name {
	font-family: var(--sv-font-heading);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -.01em;
}

.sv-brand__tagline {
	font-size: .74rem;
	color: var(--sv-text-muted);
	letter-spacing: .04em;
}

.sv-brand--sm .sv-brand__name {
	font-size: 1.1rem;
}

.sv-brand--sm img {
	max-height: 38px;
}

/* Cart / icon counters */
.sv-cartbtn {
	position: relative;
}

.sv-count {
	position: absolute;
	top: 4px;
	inset-inline-end: 2px;
	min-width: 18px;
	height: 18px;
	padding-inline: 4px;
	display: grid;
	place-items: center;
	border-radius: var(--sv-radius-pill);
	background: var(--sv-primary);
	color: var(--sv-primary-contrast);
	font-size: .68rem;
	font-weight: 700;
	line-height: 1;
}

/* Sticky behaviour.

   position: sticky rather than fixed. A fixed header leaves the flow, so the
   page jumps by exactly the header height the moment it engages, and the usual
   fix is a JS-measured spacer that then has to be kept in sync on every resize.
   Sticky needs none of that, and needs no scroll handler to position it - the
   only thing JavaScript does is add .is-stuck for the shadow. */
.sv-sticky-header .sv-header {
	position: sticky;
	top: 0;
}

.sv-sticky-header .sv-header.is-stuck {
	box-shadow: var(--sv-shadow);
}

.sv-sticky-header .sv-header.is-stuck .sv-topbar {
	display: none;
}

.sv-sticky-header .sv-header.is-stuck .sv-header__row,
.sv-sticky-header .sv-header.is-stuck .sv-brand img {
	transition: min-height var(--sv-speed) var(--sv-ease), max-height var(--sv-speed) var(--sv-ease);
}

.sv-sticky-header .sv-header.is-stuck.is-shrunk .sv-header__row {
	min-height: 60px;
}

.sv-sticky-header .sv-header.is-stuck.is-shrunk .sv-brand img {
	max-height: 40px;
}

@media (max-width: 991px) {
	body:not(.sv-sticky-header-mobile) .sv-header {
		position: relative;
	}

	body:not(.sv-sticky-header-mobile) .sv-header.is-stuck {
		box-shadow: none;
	}
}

/* Transparent header over a hero.

   The header stays in the flow; the hero is pulled up underneath it by exactly
   the header height, which theme.js publishes as --sv-header-h. Doing it this
   way keeps the header sticky, so it turns solid on scroll without ever
   changing its positioning scheme mid-scroll. */
.sv-transparent-header .sv-header:not(.is-stuck) {
	background: transparent;
	border-bottom-color: rgba(255, 255, 255, .18);
	color: #fff;
}

.sv-transparent-header .sv-hero {
	margin-top: calc(var(--sv-header-h, 0px) * -1);
}

/* Hero text sits at the bottom, so only the centred variant needs to be
   nudged clear of the overlapping header. */
.sv-transparent-header .sv-hero--center .sv-hero__body {
	padding-top: var(--sv-header-h, 0px);
}

.sv-transparent-header .sv-header:not(.is-stuck) .sv-topbar {
	background: rgba(0, 0, 0, .28);
}

.sv-transparent-header .sv-header:not(.is-stuck) .sv-search__field {
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .3);
	color: #fff;
}

.sv-transparent-header .sv-header:not(.is-stuck) .sv-search__field::placeholder {
	color: rgba(255, 255, 255, .7);
}

/* =========================================================================
   Navigation
   ========================================================================= */

.sv-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-nav__list li {
	position: relative;
}

.sv-nav__list a {
	display: inline-flex;
	align-items: center;
	padding: 10px 12px;
	border-radius: var(--sv-radius-sm);
	font-size: .93rem;
	font-weight: 500;
	white-space: nowrap;
}

.sv-nav__list > li > a:hover,
.sv-nav__list > li.current-menu-item > a {
	color: var(--sv-primary);
}

.sv-nav__list > li.current-menu-item > a {
	font-weight: 600;
}

.sv-nav__toggle {
	display: none;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
}

/* Sub menus */
.sv-nav .sub-menu {
	position: absolute;
	top: 100%;
	inset-inline-start: 0;
	z-index: 40;
	min-width: 224px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--sv-body-bg);
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius);
	box-shadow: var(--sv-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--sv-speed) var(--sv-ease), transform var(--sv-speed) var(--sv-ease), visibility var(--sv-speed);
}

.sv-nav .sub-menu .sub-menu {
	top: -8px;
	inset-inline-start: 100%;
}

.sv-nav li:hover > .sub-menu,
.sv-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sv-nav .sub-menu a {
	display: block;
	width: 100%;
	padding: 9px 12px;
	font-size: .9rem;
	color: var(--sv-text);
}

.sv-nav .sub-menu a:hover {
	background: var(--sv-surface);
	color: var(--sv-primary);
}

/* Stacked (drawer) navigation */
.sv-nav--stacked .sv-nav__list {
	display: block;
}

.sv-nav--stacked .sv-nav__list a {
	display: block;
	padding: 13px 4px;
	border-bottom: 1px solid var(--sv-border);
	font-size: 1rem;
}

.sv-nav--stacked li {
	position: relative;
}

.sv-nav--stacked .sv-nav__toggle {
	position: absolute;
	top: 4px;
	inset-inline-end: 0;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	cursor: pointer;
	transition: transform var(--sv-speed) var(--sv-ease);
}

.sv-nav--stacked .sv-nav__toggle[aria-expanded="true"] {
	transform: rotate(180deg);
}

.sv-nav--stacked .sub-menu {
	position: static;
	display: none;
	min-width: 0;
	margin: 0;
	padding: 0 0 0 16px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
	background: transparent;
}

.sv-nav--stacked li.is-open > .sub-menu {
	display: block;
}

/* =========================================================================
   Search
   ========================================================================= */

.sv-search {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.sv-search__field {
	padding-inline-end: 48px !important;
	border-radius: var(--sv-radius-pill) !important;
	background: var(--sv-surface) !important;
	border-color: transparent !important;
}

.sv-search__field:focus {
	background: var(--sv-body-bg) !important;
	border-color: var(--sv-primary) !important;
}

.sv-search__submit {
	position: absolute;
	inset-inline-end: 4px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: var(--sv-radius-pill);
	background: transparent;
	color: var(--sv-text-muted);
	box-shadow: none;
}

.sv-search__submit:hover {
	background: transparent;
	color: var(--sv-primary);
	transform: none;
	box-shadow: none;
}

.sv-search--lg .sv-search__field {
	padding: 16px 56px 16px 20px !important;
	font-size: 1.05rem;
}

.sv-search--lg .sv-search__submit {
	width: 44px;
	height: 44px;
}

/* Search overlay */
.sv-searchpanel,
.sv-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
}

.sv-searchpanel[hidden],
.sv-drawer[hidden] {
	display: none;
}

.sv-searchpanel__backdrop,
.sv-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(12, 14, 18, .5);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity var(--sv-speed) var(--sv-ease);
}

.sv-searchpanel.is-open .sv-searchpanel__backdrop,
.sv-drawer.is-open .sv-drawer__backdrop {
	opacity: 1;
}

.sv-searchpanel__inner {
	position: relative;
	background: var(--sv-body-bg);
	padding-block: 28px 34px;
	transform: translateY(-14px);
	opacity: 0;
	transition: transform var(--sv-speed) var(--sv-ease), opacity var(--sv-speed) var(--sv-ease);
}

.sv-searchpanel.is-open .sv-searchpanel__inner {
	transform: translateY(0);
	opacity: 1;
}

.sv-searchpanel__row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.sv-searchpanel__hints {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-size: .88rem;
}

.sv-searchpanel__label {
	color: var(--sv-text-muted);
	margin-inline-end: 4px;
}

.sv-searchpanel__hints a,
.sv-chip {
	display: inline-block;
	padding: 6px 13px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius-pill);
	color: var(--sv-text);
	font-size: .85rem;
	transition: border-color var(--sv-speed) var(--sv-ease), color var(--sv-speed) var(--sv-ease);
}

.sv-searchpanel__hints a:hover,
.sv-chip:hover {
	border-color: var(--sv-primary);
	color: var(--sv-primary);
}

/* =========================================================================
   Drawer
   ========================================================================= */

.sv-drawer__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	display: flex;
	flex-direction: column;
	width: min(360px, 88vw);
	background: var(--sv-body-bg);
	box-shadow: var(--sv-shadow-lg);
	transform: translateX(-100%);
	transition: transform .3s var(--sv-ease);
}

[dir="rtl"] .sv-drawer__panel {
	transform: translateX(100%);
}

.sv-drawer.is-open .sv-drawer__panel {
	transform: translateX(0);
}

.sv-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--sv-border);
}

.sv-drawer__search {
	padding: 14px 18px 0;
}

.sv-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 8px 18px 18px;
	overscroll-behavior: contain;
}

.sv-drawer__empty {
	color: var(--sv-text-muted);
	font-size: .9rem;
}

.sv-drawer__foot {
	padding: 14px 18px calc(14px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--sv-border);
	background: var(--sv-surface);
}

.sv-drawer__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	font-size: .93rem;
	color: var(--sv-text);
}

.sv-drawer__link:hover {
	color: var(--sv-primary);
}

/* =========================================================================
   Page head and breadcrumbs
   ========================================================================= */

.sv-pagehead {
	padding-block: 34px;
	background: var(--sv-surface);
	border-bottom: 1px solid var(--sv-border);
}

.sv-pagehead__title {
	margin: 0;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
}

.sv-pagehead__sub {
	margin: .5em 0 0;
	max-width: 60ch;
	color: var(--sv-text-muted);
}

.sv-crumbs {
	margin-top: 10px;
	color: var(--sv-text-muted);
	font-size: .84rem;
}

.sv-crumbs a {
	color: inherit;
}

.sv-crumbs a:hover {
	color: var(--sv-primary);
}

.sv-crumbs__sep {
	margin-inline: 8px;
	opacity: .5;
}

/* =========================================================================
   Section heads
   ========================================================================= */

.sv-sechead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.sv-sechead--center {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.sv-sechead__title {
	margin: 0;
	font-size: clamp(1.3rem, 1.1rem + .9vw, 1.75rem);
}

.sv-sechead__sub {
	margin: .45em 0 0;
	max-width: 62ch;
	color: var(--sv-text-muted);
	font-size: .95rem;
}

.sv-sechead__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	font-size: .9rem;
	font-weight: 600;
	white-space: nowrap;
}

.sv-sechead__more svg {
	transition: transform var(--sv-speed) var(--sv-ease);
}

.sv-sechead__more:hover svg {
	transform: translateX(3px);
}

/* =========================================================================
   Hero
   ========================================================================= */

.sv-hero {
	position: relative;
	overflow: hidden;
	background: var(--sv-surface);
}

.sv-hero__track {
	display: flex;
	transition: transform .6s var(--sv-ease);
}

.sv-hero__slide {
	position: relative;
	flex: 0 0 100%;
	/* Portrait on phones. A wide banner on a 390px screen is a ribbon and
	   nothing written on it can be read. */
	aspect-ratio: 4 / 5;
}

@media (min-width: 640px) {
	.sv-hero__slide { aspect-ratio: 16 / 9; }
}

@media (min-width: 1024px) {
	.sv-hero--short  .sv-hero__slide { aspect-ratio: 4 / 1; }
	.sv-hero--medium .sv-hero__slide { aspect-ratio: 3 / 1; }
	.sv-hero--tall   .sv-hero__slide { aspect-ratio: 2.2 / 1; }
	.sv-hero--full   .sv-hero__slide { aspect-ratio: auto; min-height: calc(100vh - 120px); }
}

.sv-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	/* Cover, never contain: contain leaves bars beside the photo on some
	   screen widths and the section stops looking designed. */
	object-fit: cover;
}

.sv-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, calc(var(--sv-hero-overlay, .4) * 1.5)) 0%,
		rgba(0, 0, 0, calc(var(--sv-hero-overlay, .4) * .45)) 45%,
		rgba(0, 0, 0, 0) 78%
	);
}

.sv-hero__body {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	padding-block: 0 clamp(38px, 6vw, 76px);
}

.sv-hero__text {
	max-width: 34rem;
	color: #fff;
}

.sv-hero--center .sv-hero__body {
	inset: 0;
	display: grid;
	place-items: center;
	padding-block: 0;
	text-align: center;
}

.sv-hero--center .sv-hero__text {
	margin-inline: auto;
}

.sv-hero--end .sv-hero__text {
	margin-inline-start: auto;
	text-align: end;
}

.sv-hero__eyebrow {
	margin: 0 0 12px;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .88);
}

.sv-hero__title {
	margin: 0;
	color: #fff;
	font-size: clamp(1.7rem, 1.1rem + 3.2vw, 3.4rem);
	line-height: 1.1;
}

.sv-hero__lead {
	margin: 14px 0 0;
	max-width: 30rem;
	color: rgba(255, 255, 255, .9);
	font-size: clamp(.95rem, .9rem + .3vw, 1.1rem);
}

.sv-hero--center .sv-hero__lead {
	margin-inline: auto;
}

.sv-hero__cta {
	margin-top: 24px;
}

.sv-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: none;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	border-radius: var(--sv-radius-pill);
	background: rgba(255, 255, 255, .82);
	color: var(--sv-ink);
	box-shadow: var(--sv-shadow-sm);
}

.sv-hero__arrow:hover {
	background: #fff;
	color: var(--sv-ink);
	transform: translateY(-50%);
}

.sv-hero__arrow--prev { inset-inline-start: 18px; }
.sv-hero__arrow--next { inset-inline-end: 18px; }

@media (min-width: 992px) {
	.sv-hero__arrow { display: grid; }
}

.sv-hero__dots {
	position: absolute;
	inset-inline: 0;
	bottom: 16px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 6px;
}

.sv-hero__dot {
	width: 30px;
	height: 22px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	cursor: pointer;
}

.sv-hero__dot:hover {
	background: none;
	transform: none;
	box-shadow: none;
}

/* The visible mark is a bar, not a dot - the button itself stays 30x22 so the
   touch target never drops below the comfortable minimum. */
.sv-hero__dot::before {
	content: "";
	display: block;
	height: 2px;
	width: 18px;
	margin-inline: auto;
	background: rgba(255, 255, 255, .5);
	transition: width var(--sv-speed) var(--sv-ease), background-color var(--sv-speed) var(--sv-ease);
}

.sv-hero__dot.is-active::before {
	width: 30px;
	background: #fff;
}

/* =========================================================================
   USP strip
   ========================================================================= */

.sv-usp {
	border-block: 1px solid var(--sv-border);
	padding-block: 30px;
}

.sv-usp--boxed {
	border: 0;
	padding-block: 40px;
}

.sv-usp__grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
	.sv-usp__grid {
		grid-template-columns: repeat(var(--sv-cols, 4), minmax(0, 1fr));
	}
}

.sv-usp__item {
	display: flex;
	align-items: center;
	gap: 14px;
}

.sv-usp--line .sv-usp__item {
	flex-direction: column;
	text-align: center;
	gap: 10px;
}

.sv-usp--boxed .sv-usp__item {
	padding: 20px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius);
	background: var(--sv-surface);
}

.sv-usp__icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	color: var(--sv-primary);
}

.sv-usp--boxed .sv-usp__icon {
	width: 46px;
	height: 46px;
	border-radius: var(--sv-radius-pill);
	background: var(--sv-body-bg);
}

.sv-usp__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sv-usp__title {
	font-weight: 600;
	font-size: .95rem;
	color: var(--sv-heading);
}

.sv-usp__text {
	color: var(--sv-text-muted);
	font-size: .85rem;
}

.sv-usp--inline .sv-usp__item {
	gap: 10px;
}

.sv-usp--inline .sv-usp__text {
	display: none;
}

/* =========================================================================
   Category tiles
   ========================================================================= */

.sv-cat {
	display: block;
	color: inherit;
}

.sv-cat__frame {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--sv-radius);
	background: var(--sv-surface);
	aspect-ratio: var(--sv-cat-ratio, 3 / 4);
}

.sv-cat__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s var(--sv-ease);
}

.sv-cat:hover .sv-cat__image {
	transform: scale(1.06);
}

.sv-cat__placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--sv-text-light);
}

.sv-cat__shade {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 62%;
	background: linear-gradient(to top, rgba(0, 0, 0, .62), rgba(0, 0, 0, 0));
}

.sv-cat__caption {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	padding: 16px;
	color: #fff;
}

.sv-cat__name {
	display: block;
	font-weight: 600;
	line-height: 1.3;
}

.sv-cat__count {
	display: block;
	margin-top: 3px;
	font-size: .78rem;
	opacity: .8;
}

.sv-cat__below {
	display: block;
	margin-top: 10px;
	text-align: center;
}

.sv-cat__below .sv-cat__count {
	color: var(--sv-text-muted);
	opacity: 1;
}

/* Round variant */
.sv-cats--circle .sv-cat__frame {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	max-width: 150px;
	margin-inline: auto;
}

/* =========================================================================
   Product row carousel
   ========================================================================= */

.sv-row__wrap {
	position: relative;
}

.sv-products--track {
	display: flex;
	gap: var(--sv-grid-gap, 22px);
	margin: 0;
	padding: 2px 2px 14px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.sv-products--track::-webkit-scrollbar {
	display: none;
}

.sv-products--track > li {
	flex: 0 0 auto;
	scroll-snap-align: start;
	/* Just under half the width on a phone, so the next card peeks in and the
	   row reads as scrollable without any hint text. */
	width: 46%;
}

@media (min-width: 640px) {
	.sv-products--track > li { width: 31%; }
}

@media (min-width: 992px) {
	.sv-products--track > li {
		width: calc((100% - (var(--sv-cols, 5) - 1) * var(--sv-grid-gap, 22px)) / var(--sv-cols, 5));
	}
}

.sv-row__arrow {
	position: absolute;
	top: 38%;
	z-index: 4;
	display: none;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	transform: translateY(-50%);
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius-pill);
	background: var(--sv-body-bg);
	color: var(--sv-text);
	box-shadow: var(--sv-shadow);
}

.sv-row__arrow:hover {
	background: var(--sv-body-bg);
	color: var(--sv-primary);
	transform: translateY(-50%);
}

.sv-row__arrow[hidden] {
	display: none !important;
}

.sv-row__arrow--prev { inset-inline-start: -14px; }
.sv-row__arrow--next { inset-inline-end: -14px; }

@media (min-width: 992px) {
	.sv-row__arrow { display: grid; }
}

/* =========================================================================
   Editorial banner
   ========================================================================= */

.sv-editorial {
	background: var(--sv-editorial-bg, var(--sv-surface));
}

.sv-editorial__inner {
	display: grid;
	align-items: stretch;
	gap: 0;
	padding-inline: 0;
}

@media (min-width: 992px) {
	.sv-editorial__inner {
		grid-template-columns: 1fr 1fr;
	}

	.sv-editorial--right .sv-editorial__media {
		order: 2;
	}
}

.sv-editorial__media {
	position: relative;
	aspect-ratio: 4 / 3;
}

@media (min-width: 992px) {
	.sv-editorial__media {
		aspect-ratio: auto;
		min-height: 26rem;
	}
}

.sv-editorial__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sv-editorial__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 64px);
}

.sv-editorial__eyebrow {
	margin: 0 0 14px;
	color: var(--sv-text-muted);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
}

.sv-editorial__title {
	margin: 0;
	font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.2rem);
}

.sv-editorial__text {
	margin: 16px 0 0;
	max-width: 42ch;
	color: var(--sv-text-muted);
}

.sv-editorial__body > div {
	margin-top: 26px;
}

/* =========================================================================
   Promo boxes
   ========================================================================= */

.sv-promo {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--sv-radius);
	background: var(--sv-surface);
	aspect-ratio: 16 / 10;
	color: #fff;
}

.sv-promo__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s var(--sv-ease);
}

.sv-promo:hover .sv-promo__image {
	transform: scale(1.05);
}

.sv-promo__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, rgba(0, 0, 0, .58), rgba(0, 0, 0, .12));
}

.sv-promo__body {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 68%;
	padding: clamp(18px, 3vw, 30px);
}

.sv-promo__eyebrow {
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	opacity: .85;
}

.sv-promo__title {
	margin-top: 6px;
	font-family: var(--sv-font-heading);
	font-size: clamp(1.15rem, 1rem + .8vw, 1.6rem);
	font-weight: 700;
	line-height: 1.2;
}

.sv-promo__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-size: .85rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: .25em;
}

/* =========================================================================
   Testimonials
   ========================================================================= */

.sv-quote {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 26px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius);
	background: var(--sv-body-bg);
}

.sv-quote__stars {
	display: flex;
	gap: 2px;
	color: #f5a623;
	margin-bottom: 14px;
}

.sv-quote__text {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--sv-text);
	font-size: 1rem;
	line-height: 1.65;
}

.sv-quote__by {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--sv-border);
}

.sv-quote__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}

.sv-quote__name {
	display: block;
	font-weight: 600;
	font-size: .93rem;
}

.sv-quote__role {
	display: block;
	color: var(--sv-text-muted);
	font-size: .82rem;
}

/* =========================================================================
   Newsletter strip
   ========================================================================= */

.sv-news {
	padding-block: clamp(38px, 5vw, 64px);
	background: var(--sv-newsletter-bg, var(--sv-ink));
	color: var(--sv-newsletter-color, #fff);
}

.sv-news__inner {
	display: grid;
	gap: 24px;
	align-items: center;
}

@media (min-width: 900px) {
	.sv-news__inner {
		grid-template-columns: 1fr 1fr;
		gap: 48px;
	}
}

.sv-news__title {
	margin: 0;
	color: inherit;
	font-size: clamp(1.3rem, 1.1rem + 1vw, 1.9rem);
}

.sv-news__lead {
	margin: 10px 0 0;
	opacity: .8;
}

.sv-news__form input[type="email"],
.sv-news__form input[type="text"] {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .28);
	color: inherit;
}

.sv-news__form input::placeholder {
	color: rgba(255, 255, 255, .6);
}

.sv-news__hint {
	margin: 0;
	opacity: .7;
	font-size: .88rem;
}

/* =========================================================================
   Blog cards
   ========================================================================= */

.sv-postcard {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius);
	background: var(--sv-body-bg);
	transition: border-color var(--sv-speed) var(--sv-ease), box-shadow var(--sv-speed) var(--sv-ease), transform var(--sv-speed) var(--sv-ease);
}

.sv-postcard:hover {
	border-color: var(--sv-border-strong);
	box-shadow: var(--sv-shadow);
	transform: translateY(-2px);
}

.sv-postcard__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: var(--sv-surface);
}

.sv-postcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--sv-ease);
}

.sv-postcard:hover .sv-postcard__media img {
	transform: scale(1.04);
}

.sv-postcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px;
}

.sv-postcard__cat {
	align-self: flex-start;
	margin-bottom: 10px;
	padding: 4px 10px;
	border-radius: var(--sv-radius-pill);
	background: var(--sv-surface);
	color: var(--sv-text-muted);
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.sv-postcard__title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.35;
}

.sv-postcard__title a {
	color: var(--sv-heading);
}

.sv-postcard__title a:hover {
	color: var(--sv-primary);
}

.sv-postcard__excerpt {
	margin-top: 10px;
	color: var(--sv-text-muted);
	font-size: .92rem;
}

.sv-postcard__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 16px;
	font-size: .88rem;
	font-weight: 600;
}

.sv-postcard__more svg {
	transition: transform var(--sv-speed) var(--sv-ease);
}

.sv-postcard__more:hover svg {
	transform: translateX(3px);
}

.sv-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	color: var(--sv-text-muted);
	font-size: .82rem;
}

.sv-meta a {
	color: inherit;
}

.sv-meta a:hover {
	color: var(--sv-primary);
}

/* List layout */
.sv-posts--list {
	display: block;
}

.sv-posts--list .sv-postcard {
	flex-direction: row;
	margin-bottom: 24px;
}

.sv-posts--list .sv-postcard__media {
	flex: 0 0 38%;
	aspect-ratio: auto;
}

@media (max-width: 639px) {
	.sv-posts--list .sv-postcard {
		flex-direction: column;
	}

	.sv-posts--list .sv-postcard__media {
		flex: 0 0 auto;
		aspect-ratio: 3 / 2;
	}
}

/* =========================================================================
   Single post
   ========================================================================= */

.sv-single__media {
	margin: 0 0 26px;
	overflow: hidden;
	border-radius: var(--sv-radius);
}

.sv-single__media img {
	width: 100%;
	object-fit: cover;
}

.sv-single__content {
	font-size: 1.03rem;
}

.sv-single__content h2,
.sv-single__content h3 {
	margin-top: 1.6em;
}

.sv-single__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 30px;
}

.sv-single__tags a {
	padding: 5px 12px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius-pill);
	color: var(--sv-text-muted);
	font-size: .82rem;
}

.sv-single__tags a:hover {
	border-color: var(--sv-primary);
	color: var(--sv-primary);
}

.sv-share {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid var(--sv-border);
}

.sv-share__label {
	color: var(--sv-text-muted);
	font-size: .85rem;
	font-weight: 600;
}

.sv-postnav {
	display: grid;
	gap: 14px;
	margin-top: 34px;
	padding-top: 26px;
	border-top: 1px solid var(--sv-border);
}

@media (min-width: 640px) {
	.sv-postnav .nav-links {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
}

.sv-postnav .nav-next {
	text-align: end;
}

.sv-postnav__label {
	display: block;
	color: var(--sv-text-muted);
	font-size: .78rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sv-postnav__title {
	display: block;
	margin-top: 4px;
	font-weight: 600;
}

.sv-authorbox {
	display: flex;
	gap: 18px;
	margin-top: 34px;
	padding: 24px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius);
	background: var(--sv-surface);
}

.sv-authorbox__avatar img {
	border-radius: 50%;
}

.sv-authorbox__name {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.sv-authorbox__bio {
	margin: 0;
	color: var(--sv-text-muted);
	font-size: .92rem;
}

.sv-authorbox__link {
	display: inline-block;
	margin-top: 10px;
	font-size: .86rem;
	font-weight: 600;
}

.sv-related {
	margin-top: 44px;
}

.sv-related__title {
	margin-bottom: 22px;
	font-size: 1.3rem;
}

/* =========================================================================
   Comments
   ========================================================================= */

.sv-comments {
	margin-top: 44px;
	padding-top: 32px;
	border-top: 1px solid var(--sv-border);
}

.sv-comments__title {
	font-size: 1.25rem;
}

.sv-comments__list,
.sv-comments__list .children {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-comments__list .children {
	margin-inline-start: 28px;
	padding-inline-start: 18px;
	border-inline-start: 1px solid var(--sv-border);
}

.sv-comments__list .comment-body {
	padding: 18px 0;
	border-bottom: 1px solid var(--sv-border);
}

.sv-comments__list .comment-author {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
}

.sv-comments__list .comment-author img {
	border-radius: 50%;
}

.sv-comments__list .comment-metadata {
	margin-top: 4px;
	color: var(--sv-text-muted);
	font-size: .8rem;
}

.sv-comments__list .reply {
	font-size: .85rem;
	font-weight: 600;
}

.comment-form {
	display: grid;
	gap: 14px;
	margin-top: 22px;
}

.comment-form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: .88rem;
}

.comment-form .comment-form-cookies-consent label {
	margin: 0;
	font-weight: 400;
}

.comment-form .form-submit {
	margin: 0;
}

/* =========================================================================
   Pagination
   ========================================================================= */

.sv-pagination {
	margin-top: 36px;
}

.sv-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding-inline: 10px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius-sm);
	color: var(--sv-text);
	font-size: .9rem;
	font-weight: 600;
}

.sv-pagination .page-numbers:hover {
	border-color: var(--sv-primary);
	color: var(--sv-primary);
}

.sv-pagination .page-numbers.current {
	background: var(--sv-primary);
	border-color: var(--sv-primary);
	color: var(--sv-primary-contrast);
}

.sv-pagination .dots {
	border-color: transparent;
}

/* =========================================================================
   Sidebar and widgets
   ========================================================================= */

.sv-sidebar {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.sv-widget {
	padding: 22px;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius);
	background: var(--sv-body-bg);
}

.sv-widget__title {
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sv-border);
	font-size: 1rem;
	letter-spacing: .02em;
}

.sv-widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: .93rem;
}

.sv-widget li {
	padding: 7px 0;
}

.sv-widget li + li {
	border-top: 1px solid var(--sv-border);
}

.sv-widget a {
	color: var(--sv-text);
}

.sv-widget a:hover {
	color: var(--sv-primary);
}

/* =========================================================================
   Footer
   ========================================================================= */

.sv-footer {
	margin-top: auto;
	background: var(--sv-footer-bg, #16181d);
	color: var(--sv-footer-color, #b9bec7);
	font-size: .93rem;
}

.sv-footer a {
	color: inherit;
}

.sv-footer a:hover {
	color: var(--sv-footer-heading, #fff);
}

.sv-footer__widgets {
	padding-block: clamp(38px, 5vw, 64px) 30px;
}

.sv-footer__grid {
	display: grid;
	gap: 34px;
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.sv-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.sv-footer__grid {
		grid-template-columns: repeat(var(--sv-cols, 4), minmax(0, 1fr));
	}
}

.sv-footer .sv-widget {
	padding: 0;
	border: 0;
	background: transparent;
}

.sv-footer .sv-widget__title {
	margin-bottom: 16px;
	padding: 0;
	border: 0;
	color: var(--sv-footer-heading, #fff);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sv-footer .sv-widget li + li {
	border-top: 0;
}

.sv-footer .sv-widget li {
	padding: 5px 0;
}

.sv-footer__social {
	margin-top: 30px;
}

.sv-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.sv-footer__bottominner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-block: 18px;
	font-size: .86rem;
}

.sv-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-footer__payments img {
	max-height: 26px;
	width: auto;
	opacity: .9;
}

.sv-footer--landing .sv-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-block: 22px;
	font-size: .85rem;
}

/* =========================================================================
   Social icon lists
   ========================================================================= */

.sv-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-social a {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid currentColor;
	border-radius: var(--sv-radius-pill);
	opacity: .75;
	transition: opacity var(--sv-speed) var(--sv-ease), background-color var(--sv-speed) var(--sv-ease);
}

.sv-social a:hover {
	opacity: 1;
	background: color-mix(in srgb, currentColor 12%, transparent);
}

.sv-social--xs a,
.sv-social--sm a {
	width: 30px;
	height: 30px;
	border-color: transparent;
}

.sv-social--drawer {
	margin-top: 14px;
}

/* =========================================================================
   Mobile bottom bar
   ========================================================================= */

.sv-mobilebar {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 120;
	display: flex;
	padding-bottom: env(safe-area-inset-bottom);
	background: var(--sv-body-bg);
	border-top: 1px solid var(--sv-border);
	box-shadow: 0 -2px 14px rgba(16, 24, 40, .07);
}

@media (min-width: 992px) {
	.sv-mobilebar {
		display: none;
	}
}

.sv-mobilebar__item {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 8px 2px 7px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--sv-text-muted);
	font-size: .68rem;
	font-weight: 600;
	box-shadow: none;
}

.sv-mobilebar__item:hover,
.sv-mobilebar__item:focus-visible {
	background: transparent;
	color: var(--sv-primary);
	transform: none;
	box-shadow: none;
}

.sv-mobilebar__icon {
	position: relative;
	display: grid;
	place-items: center;
}

.sv-mobilebar__icon .sv-count {
	top: -6px;
	inset-inline-end: -10px;
}

.sv-mobilebar__label {
	line-height: 1.1;
}

/* The bar sits over the page, so the last thing on the page needs room. */
@media (max-width: 991px) {
	.sv-has-mobile-bar .sv-footer__bottom {
		padding-bottom: 58px;
	}
}

/* =========================================================================
   Back to top
   ========================================================================= */

.sv-totop {
	position: fixed;
	inset-inline-end: 18px;
	bottom: 18px;
	z-index: 110;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--sv-border);
	border-radius: var(--sv-radius-pill);
	background: var(--sv-body-bg);
	color: var(--sv-text);
	box-shadow: var(--sv-shadow);
	opacity: 0;
	transform: translateY(10px);
	transition: opacity var(--sv-speed) var(--sv-ease), transform var(--sv-speed) var(--sv-ease);
}

.sv-totop.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.sv-totop:hover {
	background: var(--sv-body-bg);
	color: var(--sv-primary);
	transform: translateY(0);
}

@media (max-width: 991px) {
	.sv-has-mobile-bar .sv-totop {
		bottom: 74px;
	}
}

/* =========================================================================
   Empty states and 404
   ========================================================================= */

.sv-empty {
	max-width: 520px;
	margin-inline: auto;
	padding-block: 40px;
	text-align: center;
}

.sv-empty__icon {
	color: var(--sv-text-light);
}

.sv-empty__title {
	margin-top: 16px;
	font-size: 1.4rem;
}

.sv-empty__text {
	color: var(--sv-text-muted);
}

.sv-empty__form {
	margin-top: 22px;
}

.sv-404 {
	text-align: center;
}

.sv-404__inner {
	max-width: 620px;
	margin-inline: auto;
}

.sv-404__code {
	margin: 0;
	color: var(--sv-primary);
	font-family: var(--sv-font-heading);
	font-size: clamp(3.5rem, 2rem + 8vw, 7rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.03em;
}

.sv-404__title {
	margin-top: 10px;
}

.sv-404__text {
	color: var(--sv-text-muted);
}

.sv-404__search {
	margin-top: 26px;
}

.sv-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 22px;
}

.sv-404__terms {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 30px;
}

/* =========================================================================
   Canvas and landing templates
   ========================================================================= */

.sv-canvas .sv-canvas__main {
	min-height: 100vh;
}

.sv-header--landing {
	border-bottom: 1px solid var(--sv-border);
}

.sv-header--landing .sv-header__row {
	min-height: 64px;
}

/* =========================================================================
   Block editor output on the front end
   ========================================================================= */

.wp-block-image img {
	border-radius: var(--sv-radius-sm);
}

.wp-block-quote {
	padding-inline-start: 20px;
	border-inline-start: 3px solid var(--sv-primary);
}

.wp-block-separator {
	border-color: var(--sv-border);
}

.wp-block-table table {
	border-color: var(--sv-border);
}

.wp-block-button__link {
	text-decoration: none;
}

.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--sv-primary);
}

/* =========================================================================
   Image-less fallbacks
   =========================================================================
   A hero or a promo box with no image uploaded yet used to show the grey
   surface colour with the dark readability gradient on top of it, which reads
   as a broken image rather than as a design. Falling back to the brand colours
   means a brand new install, and any section the owner has not got round to
   photographing, still looks deliberate.
   ========================================================================= */

.sv-hero__slide--plain {
	background: linear-gradient(135deg, var(--sv-primary) 0%, var(--sv-ink) 100%);
}

.sv-hero__slide--plain .sv-hero__shade {
	/* No photo to darken, and the gradient above already guarantees contrast. */
	display: none;
}

.sv-promo--plain {
	background: linear-gradient(135deg, var(--sv-ink) 0%, var(--sv-primary) 140%);
}

.sv-promo--plain .sv-promo__shade {
	display: none;
}

/* Category tiles fall back to a tinted surface plus the placeholder glyph. */
.sv-cat__placeholder {
	background: linear-gradient(135deg, var(--sv-surface) 0%, var(--sv-surface-2) 100%);
}
