/** Shopify CDN: Minification failed

Line 1868:2 Unexpected "@"

**/
.stretched-link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    font-size: var(--font-size-base);
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

body {
    margin: 0;
    font-family: var(--font-body-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-body-weight);
    line-height: var(--line-height-base);
    color: rgba(var(--color-text), 1);
    background-color: rgba(var(--color-background), 1);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
    margin: var(--spacer) 0;
    color: inherit;
    background-color: currentColor;
    border: 0;
    opacity: 0.25;
    height: 1px;
}

iframe {
    border: 0;
}

[hidden] {
    display: none !important;
}

.stretched-link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

h6, h5, h4, h3, h2, .h2, h1 {
    margin-top: 0;
    margin-bottom: var(--spacer-50);
    font-weight: var(--font-body-weight-bold);
    line-height: 1.2;
}

h1 {
    font-size: calc(var(--font-size-base) * 2.5);
}

h2, .h2 {
    font-size: calc(var(--font-size-base) * 2);
}

h3 {
    font-size: calc(var(--font-size-base) * 1.75);
}

h4 {
    font-size: calc(var(--font-size-base) * 1.5);
}

h5 {
    font-size: calc(var(--font-size-base) * 1.25);
}

h6 {
    font-size: calc(var(--font-size-base) * 1);
}

p {
    margin-top: 0;
    margin-bottom: var(--spacer);
}

abbr[title],
abbr[data-bs-original-title] {
    text-decoration: underline dotted;
    cursor: help;
    text-decoration-skip-ink: none;
}

address {
    margin-bottom: var(--spacer);
    font-style: normal;
    line-height: inherit;
}

blockquote {
    margin: 0 0 var(--spacer);
}

b,
strong {
    font-weight: var(--font-body-weight-bold);
}

small {
    font-size: calc(var(--font-size-base) * 0.875);
}

a {
    color: rgb(var(--color-link));
}

a:hover {
    color: rgb(var(--color-link));
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none;
}

.stretched-link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

ol,
ul {
    padding-left: calc(var(--spacer) * 2);
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: var(--spacer);
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

dt {
    font-weight: var(--font-body-weight-bold);
}

dd {
    margin-bottom: calc(var(--spacer) * 0.5);
    margin-left: 0;
}

.stretched-link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

.\#section.\@spaced.\@color-scheme\:default {
    margin-top: 4.5rem;
    margin-bottom: 4.5rem;
}

.\#section.\@spaced:not(.\@color-scheme\:default) {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.\#section.\@bg\:alt {
    background-color: #f2f2f2;
}

.\#section.\@bg\:dark {
    background-color: #1a1a1a;
}

.\#section.\@bg\:primary {
    background-color: rgb(var(--color-base-accent-1));
}

.\#section.\@color-scheme\:default {
    color: rgba(var(--color-text), 1);
    background-color: rgba(var(--color-background), 1);
}

.\#section.\@color-scheme\:alt {
    color: rgba(var(--color-text), 1);
    background-color: rgba(var(--color-alt-background), 1);
}

.\#section.\@color-scheme\:invert {
    color: rgba(var(--color-background), 1);
    background-color: rgba(var(--color-text), 1);
}

.\#section.\@color-scheme\:accent {
    color: rgba(var(--color-accent-c), 1);
    background-color: rgba(var(--color-accent), 1);
}

.\#section-header {
    padding-left: 3rem;
    padding-right: 3rem;
    margin-bottom: calc(var(--spacer) * 3);
}

.\#section-header .\#hero {
    margin: 0;
    width: 100%;
}

.\#section-header .\#section-button {
    margin-top: 1rem;
    padding: 0;
}

@media (min-width: 992px) {
    .\#section-header.\@side-button {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

    .\#section-header.\@side-button .\#section-button {
        flex-shrink: 0;
    }
}

.\#section-button {
    --text-align: var(--section-button-align, center);
    margin-top: calc(var(--spacer) * 2.5);
    padding-left: 3rem;
    padding-right: 3rem;
    text-align: var(--text-align);
}

table {
    caption-side: bottom;
    border-collapse: collapse;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

.hide-loading {
    display: none;
}

.strip-link {
    text-decoration: none;
    color: inherit;
}

.strip-link:hover {
    text-decoration: none;
    color: inherit;
}

.flex, .flex-between-center, .flex-center {
    display: flex;
}

.flex-center {
    justify-content: center;
    align-items: center;
}

.flex-between-center {
    justify-content: space-between;
    align-items: center;
}

.block, .stretched-link {
    display: block;
}

.stretched-link {
    z-index: 20;
}

.text-center {
    text-align: center;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    word-wrap: normal !important;
}

@media (max-width: 991px) {
    .mobile-visually-hidden {
        position: absolute !important;
        overflow: hidden;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0);
        word-wrap: normal !important;
    }
}

@media (min-width: 992px) {
    .desktop-visually-hidden {
        position: absolute !important;
        overflow: hidden;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0);
        word-wrap: normal !important;
    }
}

.list-unstyled {
    list-style: none;
    margin: 0;
    padding: 0;
}

.details-reset > summary {
    list-style: none;
    cursor: pointer;
}

.details-reset > summary::marker {
    display: none;
}

.details-reset > summary::-webkit-details-marker {
    display: none;
}

.\#icon {
    color: inherit;
    fill: currentColor;
    width: calc(var(--spacer) * 1.7);
    height: calc(var(--spacer) * 1.7);
    stroke-width: 1.5;
    vertical-align: top;
}

.\#list.\@unstyled {
    list-style: none;
    margin: 0;
    padding: 0;
}

.\#list.\@horizontal.\@spacing\:100 > li:not(:last-child) {
    margin-right: calc(var(--spacer) * 1);
}

.\#list.\@horizontal.\@spacing\:50 > li:not(:last-child) {
    margin-right: calc(var(--spacer) * 0.5);
}

.\#list.\@horizontal.\@spacing\:30 > li:not(:last-child) {
    margin-right: calc(var(--spacer) * 0.3);
}

.\#list.\@horizontal > li {
    display: inline-block;
}

.list-unstyled {
    list-style: none;
    margin: 0;
    padding: 0;
}

.uppercase {
    text-transform: uppercase;
}

.bold {
    font-weight: var(--font-body-weight-bold);
}

.padded {
    padding-left: calc(var(--spacer) * 3.5);
    padding-right: calc(var(--spacer) * 3.5);
    padding-top: calc(var(--spacer) * 3);
    padding-bottom: calc(var(--spacer) * 3);
}

.m0 {
    margin: 0;
}

.overflow-hidden {
    overflow: hidden;
}

body.preload * {
    transition: none !important;
}

.heading-font {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    text-transform: var(--headings-text-transfrom, none);
}

@media (min-width: 992px) {
    .hide-desktop,
.desktop-hidden {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .hide-mobile,
.mobile-hidden {
        display: none !important;
    }
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.link {
    display: inline;
    cursor: pointer;
    text-decoration: underline;
}

@media (min-width: 992px) {
    .sticky-top {
        position: sticky;
        top: var(--sticky-header-offset, 0);
        transition: 0.3s;
    }
}

select > option {
    background: white !important;
    color: #4d4d4d !important;
}

html.no-js .no-js-hidden {
    display: none !important;
}
.spr-button-primary, .\#button, .shopify-payment-button__button.shopify-payment-button__button--unbranded {
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    user-select: none;
    text-transform: uppercase;
    letter-spacing: calc(var(--spacer) * 0.1);
    font-size: 1rem;
    padding: 0.95em 1.5em;
    border-radius: 3em;
    font-weight: var(--font-body-weight-bold);
    border: 1px solid transparent;
}

.spr-button-primary:not(:disabled), .\#button:not(:disabled), .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(:disabled) {
    cursor: pointer;
}

.spr-button-primary:focus-visible, .\#button:focus-visible, .shopify-payment-button__button.shopify-payment-button__button--unbranded:focus-visible {
    outline: 4px solid rgba(var(--color-accent), 0.5);
}

.\#button, .shopify-payment-button__button.shopify-payment-button__button--unbranded {
    background-color: transparent;
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
}

.\#button:disabled, .shopify-payment-button__button.shopify-payment-button__button--unbranded:disabled {
    cursor: not-allowed;
    opacity: 0.64;
}

.\#button:not(.\@block), .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@block) {
    display: inline-block;
}

.\#button.\@block, .\@block.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.\#button[loading], [loading].shopify-payment-button__button.shopify-payment-button__button--unbranded {
    pointer-events: none;
    cursor: not-allowed;
}

.\#button-loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-100%);
    transition: 0.3s;
    opacity: 0;
}

.\#button[loading] .\#button-loading, [loading].shopify-payment-button__button.shopify-payment-button__button--unbranded .\#button-loading {
    transform: translateX(0);
    opacity: 1;
}

.\#button.\@color\:accent-invert, .shopify-payment-button__button.shopify-payment-button__button--unbranded {
    --background-color: rgba(var(--color-accent), 1);
    --text-color: rgba(var(--color-accent-c), 1);
}

.\#button.\@color\:accent, .\@color\:accent.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    --background-color: rgba(var(--color-accent-c), 1);
    --text-color: rgba(var(--color-accent), 1);
}

.\#button.\@color\:default, .\@color\:default.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    --background-color: rgba(var(--color-text), 1);
    --text-color: rgba(var(--color-background), 1);
}

.\#button.\@color\:alt, .\@color\:alt.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    --background-color: rgba(var(--color-text), 1);
    --text-color: rgba(var(--color-alt-background), 1);
}

.\#button.\@color\:invert, .\@color\:invert.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    --background-color: rgba(var(--color-background), 1);
    --text-color: rgba(var(--color-text), 1);
}

.\#button.\@size\:xs, .\@size\:xs.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    font-size: calc(var(--font-size-base) * 0.75);
}

.\#button.\@size\:sm, .\@size\:sm.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    font-size: calc(var(--font-size-base) * 0.85);
}

.\#button.\@size\:lg, .shopify-payment-button__button.shopify-payment-button__button--unbranded {
    font-size: calc(var(--font-size-base) * 1.15);
}

.\#button.\@size\:xl, .\@size\:xl.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    font-size: calc(var(--font-size-base) * 1.3);
}

.\#button.\@size\:xxl, .\@size\:xxl.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    font-size: calc(var(--font-size-base) * 1.4);
}

.\#button:not(.\@ghost):not(.\@link), .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link) {
    color: var(--text-color);
}

.\#button:not(.\@ghost):not(.\@link):before, .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link):before, .\#button:not(.\@ghost):not(.\@link):after, .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link):after {
    content: "";
    position: absolute;
    background: var(--background-color);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

.\#button:not(.\@ghost):not(.\@link):before, .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link):before {
    z-index: 2;
    transform: translate3d(-100%, 0, 0);
    transition: 0.3s;
}

.\#button:not(.\@ghost):not(.\@link):after, .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link):after {
    z-index: 1;
    opacity: 0.8;
}

.\#button:not(.\@ghost):not(.\@link):hover:not(:disabled):before, .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link):hover:not(:disabled):before, .\#button:not(.\@ghost):not(.\@link)[loading]:before, .shopify-payment-button__button.shopify-payment-button__button--unbranded:not(.\@ghost):not(.\@link)[loading]:before {
    transform: translate3d(0, 0, 0);
}

.\#button.\@ghost, .\@ghost.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    box-shadow: inset 0 0 0 2px var(--background-color);
    color: var(--background-color);
}

.\#button.\@ghost:before, .\@ghost.shopify-payment-button__button.shopify-payment-button__button--unbranded:before {
    content: "";
    position: absolute;
    background: var(--background-color);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.\#button.\@ghost:before, .\@ghost.shopify-payment-button__button.shopify-payment-button__button--unbranded:before {
    z-index: 1;
    transform: translate3d(-100%, 0, 0);
    transition: 0.3s;
}

.\#button.\@ghost:hover:not(:disabled), .\@ghost.shopify-payment-button__button.shopify-payment-button__button--unbranded:hover:not(:disabled), .\#button.\@ghost[loading], .\@ghost[loading].shopify-payment-button__button.shopify-payment-button__button--unbranded {
    color: var(--text-color);
}

.\#button.\@ghost:hover:not(:disabled):before, .\@ghost.shopify-payment-button__button.shopify-payment-button__button--unbranded:hover:not(:disabled):before, .\#button.\@ghost[loading]:before, .\@ghost[loading].shopify-payment-button__button.shopify-payment-button__button--unbranded:before {
    transform: translate3d(0, 0, 0);
}

.\#button.\@link, .\@link.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    padding-left: 0;
    padding-right: 0;
    color: var(--background-color);
    opacity: 0.7;
}

.\#button.\@link:hover, .\@link.shopify-payment-button__button.shopify-payment-button__button--unbranded:hover {
    opacity: 1;
}

.\#button-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    transition: 0.3s;
}

.\#button[loading] .\#button-inner, [loading].shopify-payment-button__button.shopify-payment-button__button--unbranded .\#button-inner {
    transform: translateX(100%);
    opacity: 0;
}

.\#button-text + .\#button-icon {
    margin-left: 0.4em;
}

.\#button-icon + .\#button-text {
    margin-left: 0.6em;
}

.\#button-text {
    line-height: 1;
}

.\#button-icon {
    display: flex;
    align-items: center;
}

.\#button-icon.\@video .\#icon {
    width: 0.8em;
    height: 0.8em;
}

.\#button-icon:not(.\@video) .\#icon {
    width: 1.1em;
    height: 1.1em;
    stroke-width: 3;
}

.\#button-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7em;
}

.\#button-group > * {
    height: 100%;
}

.\#button-group.\@align\:center {
    justify-content: center;
}

.\#button-group.\@align\:right {
    justify-content: flex-end;
}

.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    height: auto !important;
    border-radius: 3em !important;
    font-weight: bold !important;
    line-height: 1 !important;
    background-color: transparent !important;
}

.shopify-payment-button__button.shopify-payment-button__button--unbranded:before {
    z-index: -1 !important;
}

.shopify-payment-button__button.shopify-payment-button__button--unbranded:after {
    z-index: -2 !important;
}

.shopify-payment-button__button--hidden {
    display: none !important;
}

.spr-button-primary {
    background-color: rgba(var(--color-accent), 1);
    color: rgba(var(--color-accent-c), 1);
}

.shopify-payment-button__button.shopify-payment-button__button--branded > .shopify-cleanslate > [role=button] {
    border-radius: 5rem;
    padding: 1.1rem !important;
    font-size: 1.15rem !important;
    font-weight: bold !important;
}
.\#col.\@12, .\#col.\@11, .\#col.\@10, .\#col.\@9, .\#col.\@8, .\#col.\@7, .\#col.\@6, .\#col.\@5, .\#col.\@4, .\#col.\@3, .\#col.\@2, .\#col.\@1, .\#row.\@cols\:6 > .\#col, .\#row.\@cols\:5 > .\#col, .\#row.\@cols\:4 > .\#col, .\#row.\@cols\:3 > .\#col, .\#row.\@cols\:2 > .\#col {
    flex: 0 0 auto;
}

.\#container {
    padding-left: calc(var(--spacer) * 3);
    padding-right: calc(var(--spacer) * 3);
}

.\#row {
    display: flex;
    flex-wrap: wrap;
}

.\#row:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 1) * -1);
    margin-left: calc(calc(var(--spacer) * 0.5) * -1);
    margin-right: calc(calc(var(--spacer) * 0.5) * -1);
}

.\#row.\@justify\:between {
    justify-content: space-between;
}

.\#row.\@justify\:end {
    justify-content: flex-end;
}

.\#row.\@justify\:center {
    justify-content: center;
}

.\#row.\@gutter\:0 {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
}

.\#row.\@gutter\:0 > .\#col {
    margin-top: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}

.\#row.\@gutter\:50 > .\#col {
    margin-top: calc(var(--spacer) * 0.5);
    padding-left: calc(var(--spacer) * 0.25);
    padding-right: calc(var(--spacer) * 0.25);
}

.\#row.\@gutter\:50:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 0.5) * -1);
    margin-left: calc(calc(var(--spacer) * 0.25) * -1);
    margin-right: calc(calc(var(--spacer) * 0.25) * -1);
}

.\#row.\@gutter\:50.\@spaced {
    padding-bottom: calc(var(--spacer) * 0.5);
    padding-left: calc(var(--spacer) * 0.25);
    padding-right: calc(var(--spacer) * 0.25);
}

.\#row.\@gutter\:100 > .\#col {
    margin-top: calc(var(--spacer) * 1);
    padding-left: calc(var(--spacer) * 0.5);
    padding-right: calc(var(--spacer) * 0.5);
}

.\#row.\@gutter\:100:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 1) * -1);
    margin-left: calc(calc(var(--spacer) * 0.5) * -1);
    margin-right: calc(calc(var(--spacer) * 0.5) * -1);
}

.\#row.\@gutter\:100.\@spaced {
    padding-bottom: calc(var(--spacer) * 1);
    padding-left: calc(var(--spacer) * 0.5);
    padding-right: calc(var(--spacer) * 0.5);
}

.\#row.\@gutter\:150 > .\#col {
    margin-top: calc(var(--spacer) * 1.5);
    padding-left: calc(var(--spacer) * 0.75);
    padding-right: calc(var(--spacer) * 0.75);
}

.\#row.\@gutter\:150:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 1.5) * -1);
    margin-left: calc(calc(var(--spacer) * 0.75) * -1);
    margin-right: calc(calc(var(--spacer) * 0.75) * -1);
}

.\#row.\@gutter\:150.\@spaced {
    padding-bottom: calc(var(--spacer) * 1.5);
    padding-left: calc(var(--spacer) * 0.75);
    padding-right: calc(var(--spacer) * 0.75);
}

.\#row.\@gutter\:200 > .\#col {
    margin-top: calc(var(--spacer) * 2);
    padding-left: calc(var(--spacer) * 1);
    padding-right: calc(var(--spacer) * 1);
}

.\#row.\@gutter\:200:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 2) * -1);
    margin-left: calc(calc(var(--spacer) * 1) * -1);
    margin-right: calc(calc(var(--spacer) * 1) * -1);
}

.\#row.\@gutter\:200.\@spaced {
    padding-bottom: calc(var(--spacer) * 2);
    padding-left: calc(var(--spacer) * 1);
    padding-right: calc(var(--spacer) * 1);
}

.\#row.\@gutter\:300 > .\#col {
    margin-top: calc(var(--spacer) * 3);
    padding-left: calc(var(--spacer) * 1.5);
    padding-right: calc(var(--spacer) * 1.5);
}

.\#row.\@gutter\:300:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 3) * -1);
    margin-left: calc(calc(var(--spacer) * 1.5) * -1);
    margin-right: calc(calc(var(--spacer) * 1.5) * -1);
}

.\#row.\@gutter\:300.\@spaced {
    padding-bottom: calc(var(--spacer) * 3);
    padding-left: calc(var(--spacer) * 1.5);
    padding-right: calc(var(--spacer) * 1.5);
}

.\#row.\@gutter\:500 > .\#col {
    margin-top: calc(var(--spacer) * 5);
    padding-left: calc(var(--spacer) * 2.5);
    padding-right: calc(var(--spacer) * 2.5);
}

.\#row.\@gutter\:500:not(.\@spaced) {
    margin-top: calc(calc(var(--spacer) * 5) * -1);
    margin-left: calc(calc(var(--spacer) * 2.5) * -1);
    margin-right: calc(calc(var(--spacer) * 2.5) * -1);
}

.\#row.\@gutter\:500.\@spaced {
    padding-bottom: calc(var(--spacer) * 5);
    padding-left: calc(var(--spacer) * 2.5);
    padding-right: calc(var(--spacer) * 2.5);
}

.\#row.\@cols\:2 > .\#col {
    width: 50%;
}

.\#row.\@cols\:3 > .\#col {
    width: 33.3333333333%;
}

.\#row.\@cols\:4 > .\#col {
    width: 25%;
}

.\#row.\@cols\:5 > .\#col {
    width: 20%;
}

.\#row.\@cols\:6 > .\#col {
    width: 16.6666666667%;
}

.\#col {
    position: relative;
    margin-top: calc(var(--spacer) * 0.5);
    padding-left: calc(var(--spacer) * 0.5);
    padding-right: calc(var(--spacer) * 0.5);
    flex: 1 1 0;
    max-width: 100%;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
}

.\#col.\@1 {
    width: 8.3333333333%;
}

.\#col.\@2 {
    width: 16.6666666667%;
}

.\#col.\@3 {
    width: 25%;
}

.\#col.\@4 {
    width: 33.3333333333%;
}

.\#col.\@5 {
    width: 41.6666666667%;
}

.\#col.\@6 {
    width: 50%;
}

.\#col.\@7 {
    width: 58.3333333333%;
}

.\#col.\@8 {
    width: 66.6666666667%;
}

.\#col.\@9 {
    width: 75%;
}

.\#col.\@10 {
    width: 83.3333333333%;
}

.\#col.\@11 {
    width: 91.6666666667%;
}

.\#col.\@12 {
    width: 100%;
}

.\#grid {
    display: grid;
    --gap: var(--grid-gap, 1rem);
    --row-gap: var(--grid-row-gap, var(--gap));
    gap: var(--gap);
    row-gap: var(--row-gap);
}

.\#grid:not(.\@strict) {
    grid-auto-flow: column;
}

.\#grid.\@gap\:none {
    --grid-gap: 0;
}

.\#grid.\@gap\:sm {
    --grid-gap: 0.5rem;
}

.\#grid.\@gap\:md {
    --grid-gap: 1rem;
}

.\#grid.\@gap\:lg {
    --grid-gap: 2rem;
}

.\#grid.\@gap\:xl {
    --grid-gap: 3rem;
}

.\#grid.\@strict {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.\#grid.\@strict .\#column.\@span\:1 {
    grid-column: span 1;
}

.\#grid.\@strict .\#column.\@span\:2 {
    grid-column: span 2;
}

.\#grid.\@strict .\#column.\@span\:3 {
    grid-column: span 3;
}

.\#grid.\@strict .\#column.\@span\:4 {
    grid-column: span 4;
}

.\#grid.\@strict .\#column.\@span\:5 {
    grid-column: span 5;
}

.\#grid.\@strict .\#column.\@span\:6 {
    grid-column: span 6;
}

.\#grid.\@strict .\#column.\@span\:7 {
    grid-column: span 7;
}

.\#grid.\@strict .\#column.\@span\:8 {
    grid-column: span 8;
}

.\#grid.\@strict .\#column.\@span\:9 {
    grid-column: span 9;
}

.\#grid.\@strict .\#column.\@span\:10 {
    grid-column: span 10;
}

.\#grid.\@strict .\#column.\@span\:11 {
    grid-column: span 11;
}

.\#grid.\@strict .\#column.\@span\:12 {
    grid-column: span 12;
}

@media (max-width: 991px) {
    .\#grid.\@strict .\#column.\@span\:mobile\:1 {
        grid-column: span 1;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:2 {
        grid-column: span 2;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:3 {
        grid-column: span 3;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:4 {
        grid-column: span 4;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:5 {
        grid-column: span 5;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:6 {
        grid-column: span 6;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:7 {
        grid-column: span 7;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:8 {
        grid-column: span 8;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:9 {
        grid-column: span 9;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:10 {
        grid-column: span 10;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:11 {
        grid-column: span 11;
    }

    .\#grid.\@strict .\#column.\@span\:mobile\:12 {
        grid-column: span 12;
    }
}

@media (min-width: 992px) {
    .\#grid.\@strict .\#column.\@span\:desktop\:1 {
        grid-column: span 1;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:2 {
        grid-column: span 2;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:3 {
        grid-column: span 3;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:4 {
        grid-column: span 4;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:5 {
        grid-column: span 5;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:6 {
        grid-column: span 6;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:7 {
        grid-column: span 7;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:8 {
        grid-column: span 8;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:9 {
        grid-column: span 9;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:10 {
        grid-column: span 10;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:11 {
        grid-column: span 11;
    }

    .\#grid.\@strict .\#column.\@span\:desktop\:12 {
        grid-column: span 12;
    }
}

.\#grid.\@reverse {
    direction: rtl;
}

.\#grid.\@reverse > * {
    direction: ltr;
}

@media (max-width: 991px) {
    .\#grid.\@reverse\:mobile {
        direction: rtl;
    }

    .\#grid.\@reverse\:mobile > * {
        direction: ltr;
    }
}

@media (min-width: 992px) {
    .\#grid.\@reverse\:desktop {
        direction: rtl;
    }

    .\#grid.\@reverse\:desktop > * {
        direction: ltr;
    }
}

.\#grid.\@container {
    padding-left: min(3rem, 5%);
    padding-right: min(3rem, 5%);
}

.\#grid.\@outer-gap {
    padding: var(--gap);
}

.\#grid.\@auto-columns {
    grid-auto-columns: max-content;
    grid-auto-flow: column;
}

.\#grid.\@columns\:1 {
    grid-auto-flow: row;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.\#grid.\@columns\:2 {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.\#grid.\@columns\:3 {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.\#grid.\@columns\:4 {
    grid-auto-flow: row;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.\#grid.\@columns\:5 {
    grid-auto-flow: row;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.\#grid.\@columns\:6 {
    grid-auto-flow: row;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 991px) {
    .\#grid.\@mobile\:columns\:1 {
        grid-auto-flow: row;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .\#grid.\@mobile\:columns\:2 {
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .\#grid.\@mobile\:columns\:3 {
        grid-auto-flow: row;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .\#grid.\@mobile\:columns\:4 {
        grid-auto-flow: row;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .\#grid.\@mobile\:columns\:5 {
        grid-auto-flow: row;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .\#grid.\@mobile\:columns\:6 {
        grid-auto-flow: row;
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .\#grid {
        --gap: var(--grid-mobile-gap, var(--grid-gap, 1rem));
    }
}

@media (max-width: 991px) {
    .\#grid.\@mobile-overlap {
        grid-template-columns: none;
        grid-auto-columns: 64%;
        grid-auto-flow: column;
        gap: 1rem;
        overflow-x: auto;
        padding-bottom: 15px;
        scroll-snap-type: x mandatory;
        padding-left: 0;
        padding-right: 0;
    }

    .\#grid.\@mobile-overlap::-webkit-scrollbar {
        -webkit-appearance: none;
        height: 6px;
    }

    .\#grid.\@mobile-overlap::-webkit-scrollbar-thumb {
        border-radius: 6px;
        background: currentColor;
    }

    .\#grid.\@mobile-overlap:before, .\#grid.\@mobile-overlap:after {
        content: "";
        width: 1px;
        justify-self: end;
    }

    .\#grid.\@mobile-overlap > .\#column {
        scroll-snap-align: center;
    }
}

@media (max-width: 991px) {
    .\#grid.\@mobile-full-overlap {
        grid-template-columns: none;
        grid-auto-columns: 88%;
        grid-auto-flow: column;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .\#grid.\@mobile-full-overlap > .\#column {
        scroll-snap-align: center;
    }
}

@media (max-width: 991px) {
    .\#grid.\%mobile\:overlap {
        grid-template-columns: none;
        grid-auto-columns: 64%;
        grid-auto-flow: column;
        gap: 1rem;
        overflow-x: auto;
        padding-bottom: 15px;
        scroll-snap-type: x mandatory;
        padding-left: 0;
        padding-right: 0;
    }

    .\#grid.\%mobile\:overlap::-webkit-scrollbar {
        -webkit-appearance: none;
        height: 6px;
    }

    .\#grid.\%mobile\:overlap::-webkit-scrollbar-thumb {
        border-radius: 6px;
        background: currentColor;
    }

    .\#grid.\%mobile\:overlap:before, .\#grid.\%mobile\:overlap:after {
        content: "";
        width: 1px;
        justify-self: end;
    }

    .\#grid.\%mobile\:overlap > .\#column {
        scroll-snap-align: center;
    }
}

.\#inline-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--grid-gap, 1rem);
}
.\#media-caption, .\#media-overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

.\#media-caption, .\#media-overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

.\#media {
    margin: 0;
    height: var(--media-height, auto);
    width: var(--media-width, 100%);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

@media (max-width: 991px) {
    .\#media {
        height: var(--media-height-mobile, var(--media-height, auto));
    }
}

@media (max-width: 991px) {
    .\#media.\@mobile-full {
        max-height: -webkit-fill-available;
    }
}

.\#media.\@aspect-ratio\:1x1:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:1x1:before {
    padding-top: 100%;
}

.\#media.\@aspect-ratio\:4x3:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:4x3:before {
    padding-top: 75%;
}

.\#media.\@aspect-ratio\:3x4:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:3x4:before {
    padding-top: 133.3333333333%;
}

.\#media.\@aspect-ratio\:3x2:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:3x2:before {
    padding-top: 66.6666666667%;
}

.\#media.\@aspect-ratio\:2x3:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:2x3:before {
    padding-top: 150%;
}

.\#media.\@aspect-ratio\:4x5:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:4x5:before {
    padding-top: 125%;
}

.\#media.\@aspect-ratio\:8x10:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:8x10:before {
    padding-top: 125%;
}

.\#media.\@aspect-ratio\:9x16:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:9x16:before {
    padding-top: 177.7777777778%;
}

.\#media.\@aspect-ratio\:16x9:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:16x9:before {
    padding-top: 56.25%;
}

.\#media.\@aspect-ratio\:21x9:before {
    display: block;
    content: "";
    width: 100%;
}

.\#media.\@aspect-ratio\:21x9:before {
    padding-top: 42.8571428571%;
}

@media (max-width: 991px) {
    .\#media.\@aspect-ratio\:mobile\:1x1:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:1x1:before {
        padding-top: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:4x3:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:4x3:before {
        padding-top: 75%;
    }

    .\#media.\@aspect-ratio\:mobile\:3x4:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:3x4:before {
        padding-top: 133.3333333333%;
    }

    .\#media.\@aspect-ratio\:mobile\:3x2:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:3x2:before {
        padding-top: 66.6666666667%;
    }

    .\#media.\@aspect-ratio\:mobile\:2x3:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:2x3:before {
        padding-top: 150%;
    }

    .\#media.\@aspect-ratio\:mobile\:4x5:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:4x5:before {
        padding-top: 125%;
    }

    .\#media.\@aspect-ratio\:mobile\:8x10:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:8x10:before {
        padding-top: 125%;
    }

    .\#media.\@aspect-ratio\:mobile\:9x16:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:9x16:before {
        padding-top: 177.7777777778%;
    }

    .\#media.\@aspect-ratio\:mobile\:16x9:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:16x9:before {
        padding-top: 56.25%;
    }

    .\#media.\@aspect-ratio\:mobile\:21x9:before {
        display: block;
        content: "";
        width: 100%;
    }

    .\#media.\@aspect-ratio\:mobile\:21x9:before {
        padding-top: 42.8571428571%;
    }

    .\#media.\@aspect-ratio\:mobile\:none:before {
        display: none;
    }
}

.\#media.\@rounded {
    border-radius: 50%;
}

.\#media.\@rounded .\#media-image {
    border-radius: 50%;
}

.\#media-wrapper.\@rounded {
    border-radius: 50%;
}

.\#media-image {
    height: auto;
    display: block;
    object-position: var(--object-position);
}

.\#media-image:not(.\@origin-res) {
    width: var(--media-image-with, 100%);
}

.\#media-image.\@origin-res {
    max-width: 100%;
}

.\#media-image-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
}

.\#media-image-wrapper.\@abs-image {
    top: 0;
    left: 0;
    position: absolute;
}

@media (min-width: 992px) {
    .\#media-image-wrapper.\@abs-image\:desktop {
        top: 0;
        left: 0;
        position: absolute;
    }
}

@media (max-width: 991px) {
    .\#media-image-wrapper.\@abs-image\:mobile {
        top: 0;
        left: 0;
        position: absolute;
    }
}

.\#media-image.\@cover {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 992px) {
    .\#media-image.\@cover\:desktop {
        top: 0;
        left: 0;
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

@media (max-width: 991px) {
    .\#media-image.\@cover\:mobile {
        top: 0;
        left: 0;
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.\#media-image.\@position\:center {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    object-position: center center;
}

.\#media-image.\@position\:bottom {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    object-position: bottom center;
}

.\#media-image.\@position\:\:desktopcenter {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    object-position: center center;
}

.\#media-image.\@position\:\:desktopbottom {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    object-position: bottom center;
}

.\#media-image.\@position\:\:mobilecenter {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    object-position: center center;
}

.\#media-image.\@position\:\:mobilebottom {
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    object-position: bottom center;
}

.\#media-map {
    z-index: 5 !important;
    height: 100%;
    position: absolute;
    width: 100%;
}

.\#media-map > .\#google-map {
    position: absolute !important;
}

.\#media-video-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 3;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
}

.\#media-video-bg .\#spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.\#media-video-bg[loading] {
    z-index: 20;
}

.\#media-video-bg[loading] .\#media-video-bg-player {
    opacity: 0;
}

.\#media-video-bg-player {
    flex-grow: 1;
    flex-shrink: 0;
    position: relative;
    transition: 0.3s;
}

@supports (aspect-ratio: 16/9) {
    .\#media-video-bg-player {
        min-height: 100%;
        min-width: 100%;
        aspect-ratio: 16/9;
    }
}

@supports not (aspect-ratio: 16/9) {
    .\#media-video-bg-player {
        padding-top: 56.25%;
        height: 0;
    }
  @    media (max-width: 991px) {
        .\#media-video-bg-player {
      width: 300%;
        min-height: 100%;
    }
}
}

.\#media-video-bg-player .plyr,
.\#media-video-bg-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.\#media-video-bg .plyr__controls,
.\#media-video-bg .plyr__control {
    display: none !important;
}

.\#media-overlay {
    z-index: 4;
    opacity: var(--media-overlay, 0);
}

.\#media-overlay.\@color-scheme\:default {
    background-color: rgba(var(--color-background), 1);
}

.\#media-overlay.\@color-scheme\:invert {
    background-color: rgba(var(--color-text), 1);
}

.\#media-overlay.\@color-scheme\:alt {
    background-color: rgba(var(--color-alt-background), 1);
}

.\#media-overlay.\@color-scheme\:accent {
    background-color: rgba(var(--color-accent), 1);
}

.\#media-caption {
    z-index: 5;
}

.\#media-caption-container {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
}

.\#media-caption-container.\@x\:center {
    justify-content: center;
}

.\#media-caption-container.\@x\:right {
    justify-content: flex-end;
}

.\#media-caption-container.\@y\:center {
    align-items: center;
}

.\#media-caption-container.\@y\:bottom {
    align-items: flex-end;
}

.\$hover\:media-zoom .\#media-image-wrapper {
    transition: transform 3s;
    transform: rotate(0.01deg) translateZ(0);
}

@media (hover: hover) {
    .\$hover\:media-zoom:hover .\#media-image-wrapper {
        transform: scale(1.1) rotate(0.01deg) translateZ(0);
    }
}

.\#media-placeholder {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.\#media-placeholder.\@color-scheme\:default {
    background: rgba(var(--color-background), 1);
    color: rgba(var(--color-text), 0.5);
}

.\#media-placeholder.\@color-scheme\:invert {
    background: rgba(var(--color-text), 0.7);
    color: rgba(var(--color-background), 0.5);
}

.\#media-placeholder > svg {
    fill: currentColor;
}
.\#hero {
    font-size: calc(var(--font-size-base) * 1);
    width: min(35em, 100%);
    margin-left: auto;
    margin-right: auto;
    color: rgba(var(--color-text), 1);
}

.\#hero .\#button-group .\#button {
    position: relative;
    z-index: 22;
}

.\#hero-link {
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.\#hero.\@padded {
    padding: 2rem;
}

.\#hero.\@color-scheme\:invert {
    color: rgba(var(--color-background), 1);
}

.\#hero.\@color-scheme\:invert.\@background {
    background-color: rgba(var(--color-text), 1);
}

.\#hero.\@color-scheme\:accent {
    color: rgba(var(--color-accent-c), 1);
}

.\#hero.\@color-scheme\:accent.\@background {
    background-color: rgba(var(--color-accent), 1);
}

.\#hero.\@color-scheme\:default {
    color: rgba(var(--color-text), 1);
}

.\#hero.\@color-scheme\:default.\@background {
    background: rgba(var(--color-background), 1);
}

.\#hero.\@color-scheme\:alt {
    color: rgba(var(--color-text), 1);
}

.\#hero.\@color-scheme\:alt.\@background {
    background: rgba(var(--color-alt-background), 1);
}

.\#hero.\@color-scheme\:inherit {
    color: inherit;
}

.\#hero.\@color-scheme\:inherit.\@background {
    background-color: inherit;
}

.\#hero.\@align\:left {
    text-align: left;
}

.\#hero.\@align\:left .\#hero-newsletter {
    margin-left: 0;
    margin-right: auto;
}

.\#hero.\@align\:center {
    text-align: center;
}

.\#hero.\@align\:center .\#hero-newsletter {
    margin-left: auto;
    margin-right: auto;
}

.\#hero.\@align\:center .\#hero-newsletter-msg {
    justify-content: center;
}

.\#hero.\@align\:center .\#hero-social .\#social-profiles {
    justify-content: center;
}

.\#hero.\@align\:right {
    text-align: right;
}

.\#hero.\@align\:right .\#hero-newsletter {
    margin-left: auto;
    margin-right: 0;
}

.\#hero.\@align\:right .\#hero-newsletter-msg {
    justify-content: flex-end;
}

.\#hero.\@align\:right .\#hero-social .\#social-profiles {
    justify-content: flex-end;
}

.\#hero.\@spaced\:md > .\#hero-block + .\#hero-block {
    margin-top: 0.5em;
}

.\#hero.\@spaced\:md :last-child.\#hero-block.\@spaced-block {
    margin-top: 0.875em;
}

.\#hero.\@spaced\:lg > .\#hero-block + .\#hero-block {
    margin-top: 1em;
}

.\#hero.\@spaced\:lg :last-child.\#hero-block.\@spaced-block {
    margin-top: 1.75em;
}

.\#hero.\@spaced\:xl > .\#hero-block + .\#hero-block {
    margin-top: 1.5em;
}

.\#hero.\@spaced\:xl :last-child.\#hero-block.\@spaced-block {
    margin-top: 2.625em;
}

.\#hero.\@spaced\:sm > .\#hero-block + .\#hero-block {
    margin-top: 0.165em;
}

.\#hero.\@spaced\:sm :last-child.\#hero-block.\@spaced-block {
    margin-top: 0.28875em;
}

.\#hero.\@size\:xxs {
    font-size: calc(var(--font-size-base) * 0.3);
}

.\#hero.\@size\:xs {
    font-size: calc(var(--font-size-base) * 0.5);
}

.\#hero.\@size\:sm {
    font-size: calc(var(--font-size-base) * 0.8);
}

.\#hero.\@size\:lg {
    font-size: calc(var(--font-size-base) * 1.2);
}

.\#hero.\@size\:xl {
    font-size: calc(var(--font-size-base) * 1.6);
}

.\#hero.\@size\:xxl {
    font-size: calc(var(--font-size-base) * 2.2);
}

.\#hero-icon .\#icon {
    cursor: pointer;
    opacity: 0.64;
    width: 5em;
    height: 5em;
}

.\#hero-icon .\#icon:hover {
    opacity: 1;
}

.\#hero-heading {
    margin-bottom: 0;
    font-size: 2.7em;
}

@media (max-width: 991px) {
    .\#hero-heading {
        font-size: 1.8em;
    }
}

.\#hero-text {
    opacity: 0.8;
    font-size: clamp(0.85rem, 1.5em, 2rem);
    line-height: 1.4;
}

@media (max-width: 991px) {
    .\#hero-text {
        font-size: clamp(0.85rem, 1.15em, 1.5rem);
    }
}

.\#hero-text > p {
    margin-bottom: 0.5em;
}

.\#hero-text > p:last-child {
    margin-bottom: 0;
}

.\#hero-social .\#social-profiles {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.\#hero-social .\#social-profiles-item {
    opacity: 0.64;
    transition: 0.3s;
}

.\#hero-social .\#social-profiles-item:hover {
    opacity: 1;
}

.\#hero-social .\#social-profiles-item .\#icon {
    width: 1.5em;
    height: 1.5em;
}

.\#hero-newsletter {
    display: flex;
    margin: 0 auto;
    width: min(100%, 35rem);
    border: 2px solid;
    padding: calc(var(--spacer) * 0.5);
    border-radius: calc(var(--spacer) * 2);
}

.\#hero-newsletter-msg {
    gap: 0.5rem;
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    font-weight: var(--font-body-weight-bold);
    outline: none !important;
}

.\#hero-newsletter-msg .\#icon {
    stroke-width: 3;
}

.\#hero-newsletter-msg.\@type\:success {
    color: rgba(var(--color-success), 1);
}

.\#hero-newsletter-msg.\@type\:error {
    color: rgba(var(--color-error), 1);
}

.\#hero-newsletter-input {
    display: block;
    flex-shrink: 0;
    flex-grow: 1;
    background: none;
    border-radius: 3rem;
    margin-right: calc(var(--spacer) * 0.5);
    border: none;
    outline: none !important;
    color: inherit;
    font-size: calc(var(--font-size-base) * 1.25);
    padding-left: calc(var(--spacer) * 1);
    padding-right: calc(var(--spacer) * 1);
    padding-top: calc(var(--spacer) * 0.7);
    padding-bottom: calc(var(--spacer) * 0.7);
}

.\#hero-newsletter-input::placeholder {
    color: inherit;
    opacity: 0.64;
}

.\#hero-newsletter-input:-webkit-autofill {
    text-align: center;
}
.\#price {
    display: flex;
    gap: 0.5em;
    margin-bottom: 0;
}

.\#price-item-heading {
    font-weight: normal;
    opacity: 0.64;
    font-size: 13px;
    margin-bottom: 2px;
}

.\#price-item-value {
    margin-bottom: 0;
    line-height: 1;
}

.\#price-item.\@compare .\#price-value {
    opacity: 0.64;
    text-decoration: line-through;
}

.\#price-item.\@on-sale .\#price-value {
    color: rgba(var(--color-sale-price), 1);
}

.\#price-value-range {
    margin: 0 0.35em;
    opacity: 0.4;
}

.\#price-value-from {
    opacity: 0.4;
    margin-right: 0.5em;
}
:root {
  --vtp-bg: #f5f5f7;
  --vtp-surface: #ffffff;
  --vtp-surface-soft: #eef3f7;
  --vtp-ink: #1d1d1f;
  --vtp-muted: #6e6e73;
  --vtp-line: rgba(29, 29, 31, .12);
  --vtp-blue: #0071e3;
  --vtp-blue-hover: #0077ed;
  --vtp-dark: #111214;
  --vtp-radius: 22px;
  --vtp-shadow: 0 20px 60px rgba(20, 24, 32, .09);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--vtp-bg);
  color: var(--vtp-ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

body,
button,
input,
select,
textarea { font-family: inherit; }

body .body-font,
body [class~="body-font"],
.vtp-header,
.vtp-footer,
.vt-next,
.vtpg,
.vtc,
.template-product [class*="#product-meta"] {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body .heading-font {
  color: var(--vtp-ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
  font-style: normal;
  letter-spacing: -.035em;
}

body h1, body h2 { text-wrap: balance; }
body h1, body h2, body h3 { overflow-wrap: break-word; }
body p { text-wrap: pretty; }

a { text-underline-offset: .18em; }

input,
select,
textarea {
  border-color: var(--vtp-line) !important;
  border-radius: 14px !important;
  background: var(--vtp-surface) !important;
  color: var(--vtp-ink) !important;
}

button,
[class*="#button"] {
  border-radius: 999px !important;
}

/* Keep the theme's layered buttons on the same Virtatarvike blue. The
   underlying theme paints its visible surface with pseudo-elements, so the
   button background alone is not enough to change the colour. */
[class~="#button"][class~="@color:accent-invert"]::before,
[class~="#button"][class~="@color:accent-invert"]::after {
  border-color: var(--vtp-blue) !important;
  background: var(--vtp-blue) !important;
}

[class~="#button"][class~="@color:accent-invert"]:hover::before,
[class~="#button"][class~="@color:accent-invert"]:hover::after {
  border-color: var(--vtp-blue-hover) !important;
  background: var(--vtp-blue-hover) !important;
}

#MainContent { min-height: 55vh; background: var(--vtp-bg); }
.shopify-section.spaced-section { margin-top: 0; }

/* Premium header */
.vtp-header {
  position: sticky;
  top: 0;
  z-index: 60;
  color: var(--vtp-ink);
  background: rgba(255, 255, 255, .88);
  border-bottom: 1px solid var(--vtp-line);
  backdrop-filter: saturate(180%) blur(22px);
  -webkit-backdrop-filter: saturate(180%) blur(22px);
}

.vtp-header a { color: inherit; text-decoration: none; }
.vtp-header__notice {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  padding: 5px 24px;
  color: #55565a;
  background: #f5f5f7;
  border-bottom: 1px solid rgba(29,29,31,.07);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .025em;
}

.vtp-header__notice a { border-bottom: 1px solid rgba(29,29,31,.3); }
.vtp-header__bar {
  width: min(1480px, calc(100% - 42px));
  height: 72px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 190px minmax(480px, 1fr) minmax(190px, 290px) auto;
  align-items: center;
  gap: 22px;
}

.vtp-header__logo { display: inline-flex; align-items: center; gap: 10px; width: min(190px, 100%); }
.vtp-header__logo img { display: block; flex: 0 0 38px; width: 38px; height: 38px; object-fit: cover; object-position: center; filter: none; }
.vtp-header__logo .vtp-header__wordmark { font-size: 16px; font-weight: 800; letter-spacing: .05em; }
.vtp-header__desktop { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 1.7vw, 27px); min-width: 0; }
.vtp-header__desktop > a,
.vtp-menu > summary {
  position: relative;
  padding: 27px 0;
  border: 0;
  color: #303135;
  list-style: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 680;
  letter-spacing: .01em;
  white-space: nowrap;
}
.vtp-menu > summary::-webkit-details-marker,
.vtp-mobile-menu > summary::-webkit-details-marker { display: none; }
.vtp-header__desktop > a:after,
.vtp-menu > summary:after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 19px;
  height: 1px;
  background: currentColor;
  transition: right .2s ease;
}
.vtp-header__desktop > a:hover:after,
.vtp-menu > summary:hover:after,
.vtp-menu[open] > summary:after { right: 0; }
.vtp-header__service { color: var(--vtp-blue) !important; }
.vt-service-search-hint { margin:18px 0 0; font-size:14px; }
.vt-service-search-hint a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#0066cc; text-decoration:underline; }
.vt-service-search-hint a:focus-visible { outline:3px solid #0071e3; outline-offset:4px; border-radius:4px; }

.vtp-header__search {
  position: relative;
  min-width: 0;
}
.vtp-header__search input {
  width: 100%;
  height: 42px;
  padding: 0 44px 0 15px;
  border: 1px solid rgba(29,29,31,.1) !important;
  border-radius: 999px !important;
  background: rgba(29,29,31,.055) !important;
  font-size: 14px;
  outline: 0;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.vtp-header__search input:focus {
  background: #fff !important;
  border-color: rgba(0,113,227,.55) !important;
  box-shadow: 0 0 0 3px rgba(0,113,227,.12);
}
.vtp-header__search button {
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--vtp-muted);
}
.vtp-header__search svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.vtp-header__search-icon { display: none !important; }

.vtp-menu { position: relative; }
.vtp-menu__panel {
  position: absolute;
  top: calc(100% - 7px);
  left: -34px;
  width: min(610px, 82vw);
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 28px;
  padding: 30px;
  border: 1px solid var(--vtp-line);
  border-radius: 20px;
  background: rgba(255,255,255,.97);
  box-shadow: var(--vtp-shadow);
}
.vtp-menu:not([open]) .vtp-menu__panel { display: none; }
.vtp-menu__panel > div { display: grid; align-content: start; gap: 10px; }
.vtp-menu__panel strong { margin-bottom: 5px; color: var(--vtp-muted); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; }
.vtp-menu__panel a { width: fit-content; font-size: 15px; }
.vtp-menu__panel a:hover { color: var(--vtp-blue); }
.vtp-menu__all { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid var(--vtp-line); color: var(--vtp-blue) !important; font-weight: 700; }
.vtp-menu--support .vtp-menu__panel { left: auto; right: -34px; width: min(570px, 82vw); }

.vtp-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.vtp-language { margin: 0; }
.vtp-language select {
  width: 52px;
  height: 36px;
  padding: 0 7px !important;
  border: 1px solid rgba(29,29,31,.1) !important;
  border-radius: 999px !important;
  background: rgba(29,29,31,.045) !important;
  color: var(--vtp-ink) !important;
  cursor: pointer;
  font-size: 13px;
  font-weight: 780;
  letter-spacing: .06em;
  text-align: center;
}
.vtp-language select:focus-visible { outline: 2px solid var(--vtp-blue); outline-offset: 2px; }
.vtp-header__actions > a,
.vtp-mobile-menu > summary {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  cursor: pointer;
}
.vtp-header__actions > a:hover,
.vtp-mobile-menu > summary:hover { background: rgba(29,29,31,.06); }
.vtp-header__actions svg,
.vtp-mobile-menu svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.vtp-header__cart span {
  position: absolute;
  right: 0;
  top: 0;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--vtp-blue);
  color: white;
  font-size: 10px;
  font-weight: 800;
}
.vtp-mobile-menu { display: none; position: relative; }
.vtp-mobile-menu__panel {
  position: absolute;
  top: 50px;
  right: -21px;
  width: min(390px, 100vw);
  max-height: calc(100vh - 105px);
  overflow-y: auto;
  padding: 16px 22px 24px;
  border: 1px solid var(--vtp-line);
  border-radius: 0 0 0 24px;
  background: rgba(255,255,255,.98);
  box-shadow: var(--vtp-shadow);
}
.vtp-mobile-menu:not([open]) .vtp-mobile-menu__panel { display: none; }
.vtp-mobile-menu__panel a { display: flex; align-items: center; justify-content: space-between; padding: 15px 2px; border-bottom: 1px solid rgba(29,29,31,.08); font-size: 16px; font-weight: 650; }
.vtp-mobile-menu__panel a:last-child { border-bottom: 0; }
.vtp-mobile-menu__panel .vtp-mobile-menu__service { color: var(--vtp-blue); }

/* Premium footer */
.vtp-footer { color: #f5f5f7; background: var(--vtp-dark); }
.vtp-footer a { color: inherit; text-decoration: none; }
.vtp-footer__main {
  width: min(1440px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(250px,.9fr) minmax(390px,1.3fr) minmax(400px,1.1fr);
  gap: clamp(26px, 3vw, 46px);
  padding: clamp(70px, 8vw, 118px) 0 64px;
}
.vtp-footer__mark { display: block; width: 58px; height: 58px; margin: 0 0 20px; border-radius: 15px; object-fit: cover; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.vtp-footer__eyebrow { margin: 0 0 22px; color: #a6abb2; font-size: 13px; font-weight: 800; letter-spacing: .11em; }
.vtp-footer__brand h2 { max-width: 470px; margin: 0; color: white; font-size: clamp(29px, 3vw, 47px); line-height: 1.02; }
.vtp-footer__brand > p:not(.vtp-footer__eyebrow) { max-width: 480px; margin: 20px 0 0; color: #aeb1b7; font-size: 15px; line-height: 1.6; }
.vtp-footer__contact { display: grid; gap: 8px; margin-top: 30px; color: #d7d8db; font-size: 14.5px; }
.vtp-footer__links { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.vtp-footer__links > div { display: grid; align-content: start; gap: 12px; }
.vtp-footer__links strong { margin-bottom: 8px; color: #a1a6ae; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.vtp-footer__links a { width: fit-content; color: #e3e4e6; font-size: 14.5px; }
.vtp-footer__links a:hover { color: white; }
.vtp-footer__newsletter { position: relative; align-self: start; min-width: 0; padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 25px; background: radial-gradient(circle at 100% 0,rgba(0,113,227,.26),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045)); box-shadow: 0 24px 60px rgba(0,0,0,.18); overflow: hidden; isolation: isolate; }
.vtp-footer__newsletter::before { display: none; }
.vtp-footer__newsletter-kicker { display: block; margin: 0 0 14px; color: #9dcfff; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.vtp-footer__newsletter h3 { max-width: 380px; margin: 0; color: #fff; font-size: clamp(27px,2.2vw,36px); line-height: 1.04; letter-spacing: -.035em; }
.vtp-footer__newsletter .vtp-footer__newsletter-lead { max-width: 460px; margin: 16px 0 23px; color: #c5c8ce; font-size: 15px; line-height: 1.58; }
.vtp-footer__form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; }
.vtp-footer__form input { min-width: 0; min-height: 52px; padding: 0 16px; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 14px !important; background: rgba(5,9,14,.28) !important; color: white !important; font-size: 15px !important; }
.vtp-footer__form input:focus { border-color: rgba(157,207,255,.8) !important; outline: 3px solid rgba(0,113,227,.22); outline-offset: 1px; }
.vtp-footer__form input::placeholder { color: #aeb3bb; opacity: 1; }
.vtp-footer__form button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border: 0; border-radius: 14px; background: var(--vtp-blue); color: #fff; font-size: 14px; font-weight: 760; white-space: nowrap; transition: transform .2s ease,background .2s ease; }
.vtp-footer__form button:hover { transform: translateY(-1px); background: var(--vtp-blue-hover); }
.vtp-footer__newsletter-note { display: block; margin-top: 12px; color: #a6abb3; font-size: 13px; line-height: 1.5; }
.vtp-footer__message { color: #d9eaff !important; }
.vtp-footer__bottom {
  width: min(1440px, calc(100% - 48px));
  min-height: 76px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #8f949c;
  font-size: 13px;
}
.vtp-footer__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.vtp-footer__payments { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.vtp-footer__payment { width: 34px; height: 22px; }

/* Homepage refinements: no red UI, lighter and calmer */
.vt-next .vt-btn { background: var(--vtp-blue); border-color: var(--vtp-blue); }
.vt-next .vt-btn:hover { background: var(--vtp-blue-hover); }
.vt-next .vt-btn--light { background: #fff; border-color: #fff; color: var(--vtp-ink) !important; }
.vt-next .vt-btn--ghost { background: transparent; border-color: currentColor; color: inherit !important; }
.vt-next .vt-models .vt-title,
.vt-next .vt-final .vt-title { color: #fff !important; }
.vt-next .vt-showroom h2 { color: var(--vtp-ink) !important; }
.vt-next .vt-hero .vt-title { color: var(--vtp-ink) !important; }
.vt-next .vt-service { background: var(--vtp-surface-soft) !important; color: var(--vtp-ink) !important; }
.vt-next .vt-service h2 { color: var(--vtp-ink) !important; }
.vt-next .vt-service p { color: var(--vtp-muted) !important; }
.vt-next .vt-service .vt-btn--ghost { border-color: var(--vtp-ink); color: var(--vtp-ink) !important; }
.vt-next .vt-service .vt-btn--light { background: var(--vtp-blue); border-color: var(--vtp-blue); color: #fff !important; }
.vt-next .vt-product,
.vt-next .vt-category,
.vt-next .vt-step { border-radius: var(--vtp-radius); }

/* Collection and search grids */
.template-collection #MainContent,
.template-search #MainContent,
.template-list-collections #MainContent { padding-bottom: clamp(70px, 8vw, 120px); }
.template-collection .spaced-section--full-width:first-child [class*="#media"] { border-radius: 0 0 30px 30px; overflow: hidden; }
.template-collection .spaced-section--full-width:first-child [class*="#hero-heading"] { font-size: clamp(42px, 7vw, 84px) !important; letter-spacing: -.055em; text-shadow: 0 2px 30px rgba(0,0,0,.3); }
[class*="#collection-grid-wrapper"],
.template-search [class*="#search-grid"] { padding-top: clamp(42px, 6vw, 82px); }
[class*="#collection-grid-header"] { margin-bottom: 26px; }
[class*="#collection-grid-sort"] select,
[class*="#collection-grid-filter-btn"] { min-height: 46px; }
[class~="#product-card"] {
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--vtp-line);
  border-radius: 20px;
  background: var(--vtp-surface);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
[class~="#product-card"]:hover { transform: translateY(-4px); border-color: rgba(29,29,31,.18); box-shadow: var(--vtp-shadow); }
[class*="#product-card-media"] { background: #f0f1f3; }
[class*="#product-card-media"] img { transition: transform .35s ease; }
[class~="#product-card"]:hover [class*="#product-card-media"] img { transform: scale(1.025); }
[class*="#product-card-info"] { padding: 18px 18px 20px !important; }
[class*="#product-card-title"] { color: var(--vtp-ink); font-size: 16px; font-weight: 680; line-height: 1.4; }
[class*="#product-card-price"] { margin-top: 10px; color: var(--vtp-ink); font-size: 16px; font-weight: 760; }
[class*="#product-card-badges"] > * { border-radius: 999px !important; }
[class*="#collection-grid"] [class*="#column"] { min-width: 0; }

/* Product page */
.template-product #MainContent { padding: clamp(32px, 5vw, 76px) 0 clamp(80px, 9vw, 140px); }
.template-product .product-section [class*="#section-body"] { width: min(1380px, calc(100% - 40px)); margin: 0 auto; }
.template-product [class~="#product-gallery"] { border-radius: 24px; overflow: hidden; background: #eceef1; }
.template-product [class~="#product-gallery-item"] { background: #eceef1; }
.template-product [class*="#slideshow-container"] { border-radius: 24px; overflow: hidden; }
.template-product [class*="#product-meta-inner"] {
  padding: clamp(26px, 3.6vw, 54px) !important;
  border: 1px solid var(--vtp-line);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 55px rgba(20,24,32,.06);
}
.template-product [class*="#product-title"],
.template-product [class*="#hero-heading"] {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: clamp(32px, 3.6vw, 50px) !important;
  font-weight: 700 !important;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-transform: none !important;
}
.template-product [class*="#product-meta"],
.template-product [class*="#product-meta-inner"],
.template-product [class*="#product-meta-block"] { min-width: 0; max-width: 100%; }
.template-product [class*="#product-price"] { color: var(--vtp-ink); font-size: 22px !important; font-weight: 760 !important; }
.template-product [class*="#product-description"],
.template-product [class*="#rte"] { color: #4e5055; line-height: 1.65; }
.template-product product-form button,
.template-product [name="add"] { min-height: 56px !important; border-radius: 999px !important; background: var(--vtp-blue) !important; border-color: var(--vtp-blue) !important; color: #fff !important; box-shadow: 0 12px 28px rgba(0,113,227,.2); font-size: 15px; font-weight: 740; letter-spacing: .01em; text-transform: none !important; transition: transform .2s ease,background .2s ease,box-shadow .2s ease; }
.template-product product-form button:hover,
.template-product [name="add"]:hover { transform: translateY(-1px); background: var(--vtp-blue-hover) !important; box-shadow: 0 16px 34px rgba(0,113,227,.26); }
.template-product .shopify-payment-button { display: none !important; }
.template-product [class*="#product-variant-selector"] label,
.template-product [class*="#product-stock"] { color: var(--vtp-muted); }
.template-product .shopify-section[id*="recommendations"] { margin-top: clamp(70px, 8vw, 120px); }
.vtp-product-promises { display: grid; gap: 0; margin: 4px 0 8px; border-top: 1px solid var(--vtp-line); border-bottom: 1px solid var(--vtp-line); }
.vtp-product-promises span { display: grid; gap: 4px; padding: 15px 0; border-bottom: 1px solid rgba(29,29,31,.08); color: var(--vtp-muted); font-size: 14px; line-height: 1.5; }
.vtp-product-promises span:last-child { border-bottom: 0; }
.vtp-product-promises b { color: var(--vtp-ink); font-size: 14px; }
.template-product #judgeme_product_reviews,
.template-product .jdgm-rev-widg { width: min(1320px, calc(100% - 40px)); margin: clamp(70px,8vw,120px) auto 0 !important; padding: clamp(26px,4vw,54px) !important; border: 1px solid var(--vtp-line); border-radius: var(--vtp-radius); background: #fff; }
.template-product .jdgm-rev-widg__title { font-family: inherit !important; font-size: clamp(28px,4vw,45px) !important; letter-spacing: -.04em; }
.template-product product-recommendations { display: block; padding: clamp(60px,7vw,96px) 0 clamp(72px,8vw,112px); border-top: 1px solid var(--vtp-line); border-bottom: 1px solid var(--vtp-line); background: linear-gradient(180deg,#fff 0%,#f3f6fa 100%); }
.template-product product-recommendations > [class~="#section"] { padding: 0 !important; }
.template-product product-recommendations [class~="#section-header"],
.template-product product-recommendations [class~="#section-body"] { width: min(1320px,calc(100% - 40px)); margin-inline: auto; }
.template-product product-recommendations [class~="#section-header"] { margin-bottom: 30px; }
.template-product product-recommendations [class~="#hero"] { text-align: left !important; align-items: flex-start !important; }
.template-product product-recommendations [class~="#hero-heading"] { max-width: 760px; font-size: clamp(34px,4.4vw,57px) !important; line-height: 1.02; letter-spacing: -.045em; }
.template-product product-recommendations [class~="#hero-text"] { margin-top: 10px; color: var(--vtp-muted); font-size: 16px; line-height: 1.55; }
.template-product product-recommendations [class~="#grid"] { gap: 16px !important; }
.template-product product-recommendations [class~="#product-card"] { position: relative; min-height: 100%; border-radius: 22px; box-shadow: 0 12px 34px rgba(20,24,32,.055); }
.template-product product-recommendations [class~="#product-card-media"] { flex: 0 0 auto; border-bottom: 1px solid rgba(29,29,31,.07); background: #f1f3f6; }
.template-product product-recommendations [class~="#media"] { aspect-ratio: 4 / 3 !important; }
.template-product product-recommendations [class~="#media-image"] { box-sizing: border-box; padding: 14px; object-fit: contain !important; background: #f1f3f6; }
.template-product product-recommendations [class~="#product-card-info"] { position: relative; flex: 1; width: 100% !important; min-height: 132px; margin: 0 !important; padding: 20px 58px 22px 20px !important; text-align: left !important; }
.template-product product-recommendations [class~="#product-card-title"] { margin: 0; color: var(--vtp-ink); font-size: 16px; font-weight: 680; line-height: 1.4; }
.template-product product-recommendations [class~="#product-card-price"] { margin-top: 14px; color: var(--vtp-ink); font-size: 17px; font-weight: 780; }
.template-product product-recommendations [class~="#product-card-info"]::after { content: "→"; position: absolute; right: 18px; bottom: 18px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--vtp-blue); color: #fff; font-size: 15px; font-weight: 800; transition: transform .2s ease,background .2s ease; }
.template-product product-recommendations [class~="#product-card"]:hover [class~="#product-card-info"]::after { transform: translateX(2px); background: var(--vtp-blue-hover); }
.is-design-mode .jdgm-prev-badge,
.is-design-mode #judgeme_product_reviews { display: none !important; }

/* Model-aware product recommendations */
.vt-related { padding: clamp(64px,8vw,112px) 0; border-top: 1px solid var(--vtp-line); border-bottom: 1px solid var(--vtp-line); background: linear-gradient(180deg,#fff 0%,#f2f6fa 100%); }
.vt-related__inner { width: min(1320px,calc(100% - 40px)); margin-inline: auto; }
.vt-related__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.vt-related__eyebrow { margin: 0 0 10px; color: var(--vtp-blue); font-size: 12px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.vt-related__header h2 { max-width: 760px; margin: 0; font-size: clamp(34px,4.4vw,57px); line-height: 1.02; letter-spacing: -.045em; }
.vt-related__lead { max-width: 680px; margin: 12px 0 0; color: var(--vtp-muted); font-size: 16px; line-height: 1.55; }
.vt-related__all { flex: 0 0 auto; padding: 10px 0; color: var(--vtp-ink); font-size: 14px; font-weight: 720; text-decoration: none; }
.vt-related__all span { display: inline-block; margin-left: 6px; color: var(--vtp-blue); transition: transform .2s ease; }
.vt-related__all:hover span { transform: translateX(3px); }
.vt-related__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.vt-related-card { min-width: 0; border: 1px solid rgba(29,29,31,.1); border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgba(20,24,32,.055); overflow: hidden; transition: transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.vt-related-card:hover { transform: translateY(-3px); border-color: rgba(0,113,227,.25); box-shadow: 0 20px 46px rgba(20,24,32,.1); }
.vt-related-card > a { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.vt-related-card__media { aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 16px; border-bottom: 1px solid rgba(29,29,31,.07); background: #f1f3f6; overflow: hidden; }
.vt-related-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s ease; }
.vt-related-card:hover .vt-related-card__media img { transform: scale(1.025); }
.vt-related-card__body { flex: 1; display: flex; flex-direction: column; padding: 19px 19px 20px; }
.vt-related-card__stock { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: #3c6f54; font-size: 12px; font-weight: 700; }
.vt-related-card__stock i { width: 7px; height: 7px; border-radius: 50%; background: #4b9b70; box-shadow: 0 0 0 4px rgba(75,155,112,.11); }
.vt-related-card h3 { margin: 0; color: var(--vtp-ink); font-size: 16px; font-weight: 700; line-height: 1.38; letter-spacing: -.02em; }
.vt-related-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 20px; }
.vt-related-card__price { color: var(--vtp-ink); font-size: 17px; font-weight: 790; white-space: nowrap; }
.vt-related-card__cta { color: var(--vtp-blue); font-size: 13px; font-weight: 740; text-align: right; }
.vt-related-card__cta b { display: inline-block; margin-left: 3px; transition: transform .2s ease; }
.vt-related-card:hover .vt-related-card__cta b { transform: translateX(3px); }

/* Cart, pages and forms */
.template-cart #MainContent,
.template-page #MainContent,
.template-blog #MainContent,
.template-article #MainContent { padding-bottom: clamp(70px, 8vw, 120px); }
.template-cart #MainContent { background: radial-gradient(circle at 86% 3%,rgba(0,113,227,.1),transparent 28%),linear-gradient(180deg,#f7f8fa,#eef2f6); }
.template-cart [class~="#cart-wrapper"] { display: block; width: min(1240px,calc(100% - 40px)); margin-inline: auto; padding-top: clamp(32px,4vw,52px); }
.template-cart [class~="#cart"] { border: 0; border-radius: 0; background: transparent; }
.template-cart [class~="#cart-row"] { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(350px,.82fr); gap: 22px; align-items: flex-start; }
.template-cart [class~="#cart-col"] { width: 100% !important; max-width: none !important; min-width: 0; }
.template-cart [class~="#cart-items"] { padding: clamp(24px,3.6vw,46px); border: 1px solid var(--vtp-line); border-radius: 26px; background: rgba(255,255,255,.88); box-shadow: 0 18px 55px rgba(20,24,32,.065); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.template-cart [class~="#cart-items-header"] { align-items: center; margin-bottom: 24px; }
.template-cart [class~="#cart-items-title"] { font-size: clamp(34px,4vw,52px); line-height: 1; letter-spacing: -.045em; }
.template-cart [class~="#cart-items-shopping-link"] { padding: 10px 15px; border: 1px solid var(--vtp-line); border-radius: 999px; color: var(--vtp-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.template-cart [class~="#cart-items-body"] { display: grid; gap: 12px; }
.template-cart [class~="#cart-item"] { min-width: 0; align-items: center; margin: 0; padding: 16px; border: 1px solid rgba(29,29,31,.09); border-radius: 20px; background: #fff; isolation: isolate; }
.template-cart [class~="#cart-item"] .stretched-link,
.template-cart [class~="#cart-item"] .stretched-link::after { z-index: 1 !important; }
.template-cart [class~="#cart-item-side"],
.template-cart [class~="#cart-item-remove"] { z-index: 4; pointer-events: auto; }
.template-cart [class~="#cart-item-card"] { min-width: 0; padding-right: 16px; }
.template-cart [class~="#cart-item-image"] { flex: 0 0 112px; width: 112px; padding: 0; border-radius: 15px; background: #f1f3f6; overflow: hidden; }
.template-cart [class~="#cart-item-image"] img { object-fit: contain !important; padding: 8px; box-sizing: border-box; }
.template-cart [class~="#cart-item-meta"] { min-width: 0; padding-left: 17px; }
.template-cart [class~="#cart-item-title"] { margin: 2px 0 10px; font-size: 17px; line-height: 1.35; }
.template-cart [class~="#cart-item-price-final"],
.template-cart [class~="#cart-item-total"] { color: var(--vtp-ink); font-weight: 780; }
.template-cart [class~="#cart-item-qty-controls"] { border: 1px solid var(--vtp-line); border-radius: 999px; background: #f7f8fa; overflow: hidden; }
.template-cart [class~="#cart-item-qty-btn"] { width: 38px; height: 38px; border-radius: 50% !important; }
.template-cart [class~="#cart-item-qty-input"] { width: 42px !important; min-height: 38px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; text-align: center; }
.template-cart [class~="#cart-item-remove"] { top: 12px; right: 12px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--vtp-muted); background: #f3f4f6; }
.template-cart [class~="#cart-item-remove"]:hover { color: #fff; background: #1d1d1f; }
.template-cart [class~="#cart-checkout-inner"] { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid rgba(29,29,31,.1); border-radius: 26px; background: linear-gradient(160deg,#fff 0%,#f6f9fc 100%); box-shadow: 0 22px 65px rgba(20,24,32,.09); }
.template-cart [class~="#cart-checkout-subtotal-wrapper"] { order: 1; }
.template-cart [class~="#cart-checkout-tax-note"] { order: 2; }
.template-cart .vtp-cart-trust { order: 3; }
.template-cart [class~="#cart-checkout-buttons"] { order: 4; }
.template-cart .vtp-cart-assurance { order: 5; }
.template-cart [class~="#cart-checkout-order-notes"] { order: 6; margin-top: 4px; }
.template-cart [class~="#cart-checkout-accelerated"] { order: 7; }
.template-cart [class~="#cart-checkout-subtotal"] { padding-bottom: 19px; border-bottom: 1px solid var(--vtp-line); }
.template-cart [class~="#cart-checkout-subtotal-title"] { font-size: 22px; }
.template-cart [class~="#cart-checkout-subtotal-value"] { font-size: 24px; font-weight: 780; }
.template-cart [class~="#cart-checkout-tax-note"] { color: var(--vtp-muted); font-size: 13.5px; line-height: 1.55; }
.template-cart [class~="#cart-checkout-order-notes-label"] { color: var(--vtp-ink); font-size: 14px; font-weight: 700; }
.template-cart [class~="#cart-checkout-order-notes-input"] { min-height: 78px; padding: 12px !important; background: #fff !important; resize: vertical; }
.template-cart h1,
.template-cart h2,
.template-cart h3,
.template-cart h4,
.template-cart h5 { text-transform: none !important; }
.template-cart [class~="#cart-checkout-order-notes-label"] { letter-spacing: -.01em; text-transform: none !important; }
.template-cart button[name="checkout"] { min-height: 56px !important; border-color: var(--vtp-blue) !important; border-radius: 999px !important; background: var(--vtp-blue) !important; color: #fff !important; box-shadow: 0 14px 30px rgba(0,113,227,.22); font-size: 15px; font-weight: 750; letter-spacing: 0 !important; text-transform: none !important; transition: transform .2s ease,background .2s ease,box-shadow .2s ease; }
.vtp-checkout-label { position: relative; z-index: 3; color: #fff !important; }
.template-cart button[name="checkout"]:hover { transform: translateY(-1px); background: var(--vtp-blue-hover) !important; box-shadow: 0 18px 36px rgba(0,113,227,.28); }

/* Cart reassurance: explain the hosted card payment before the customer enters checkout. */
.vtp-cart-trust { margin-top: 2px; padding: 15px; border: 1px solid rgba(0,113,227,.15); border-radius: 17px; background: linear-gradient(145deg,#f7fbff,#eef6ff); }
.vtp-cart-trust__head { display: grid; grid-template-columns: 34px 1fr; align-items: start; gap: 10px; }
.vtp-cart-trust__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: var(--vtp-blue); color: #fff; box-shadow: 0 8px 20px rgba(0,113,227,.2); }
.vtp-cart-trust__icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vtp-cart-trust__copy strong { display: block; margin: 0 0 4px; color: var(--vtp-ink); font-size: 14.5px; font-weight: 780; line-height: 1.35; }
.vtp-cart-trust__copy span { display: block; color: #5d6673; font-size: 12.3px; line-height: 1.45; }
.vtp-cart-trust__cards { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; padding-left: 44px; }
.vtp-cart-trust__cards span { min-height: 25px; display: inline-flex; align-items: center; padding: 0 8px; border: 1px solid rgba(29,29,31,.1); border-radius: 8px; background: #fff; color: #353940; font-size: 10.5px; font-weight: 760; letter-spacing: .01em; }
.vtp-cart-assurance { display: grid; gap: 7px; margin: 3px 0 0; padding: 0; list-style: none; }
.vtp-cart-assurance li { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 8px; color: #555d69; font-size: 12.5px; line-height: 1.45; }
.vtp-cart-assurance i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: rgba(0,113,227,.1); color: #0066cc; font-size: 11px; font-style: normal; font-weight: 850; }
.template-cart .vtp-footer__links,
.template-cart .vtp-footer__newsletter { display: none; }
.template-cart .vtp-footer__main { grid-template-columns: minmax(0,720px); justify-content: center; padding: 52px 0 34px; }
.template-cart .vtp-footer__brand { text-align: center; }
.template-cart .vtp-footer__brand h2,
.template-cart .vtp-footer__brand > p,
.template-cart .vtp-footer__contact { margin-inline: auto; }
.template-cart .vtp-footer__contact { max-width: 540px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; }
.template-cart .vtp-footer__bottom { padding-block: 22px; }

.vtp-cart-toast { position: fixed; z-index: 100; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 18px; max-width: min(430px, calc(100vw - 32px)); padding: 16px 18px; border: 1px solid var(--vtp-line); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 18px 55px rgba(20,24,32,.16); backdrop-filter: blur(18px); color: var(--vtp-ink); font-size: 14px; font-weight: 650; }
.vtp-cart-toast[hidden] { display: none; }
.vtp-cart-toast a { min-height: 38px; display: inline-flex; align-items: center; margin-left: auto; padding: 0 14px; border-radius: 999px; background: var(--vtp-blue); color: #fff; font-size: 12.5px; font-weight: 760; letter-spacing: .01em; text-decoration: none; text-transform: none; white-space: nowrap; }
@media (max-width: 640px) { .vtp-cart-toast { right: 16px; bottom: 16px; left: 16px; } }
.template-page [class*="#rte"],
.template-article [class*="#rte"] { font-size: 17px; line-height: 1.7; }

/* Rebuilt collection experience */
.vtc,
.vtc * { box-sizing: border-box; }
.vtc { color: var(--vtp-ink); background: var(--vtp-bg); }
.vtc a { color: inherit; text-decoration: none; }
.vtc-wrap { width: min(1460px, calc(100% - 48px)); margin: 0 auto; }
.vtc-eyebrow { margin: 0 0 16px; color: var(--vtp-blue); font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vtc-hero { padding: clamp(56px, 7vw, 106px) 0 clamp(44px, 6vw, 84px); background: linear-gradient(145deg,#fff 0%,#f7f8fa 58%,#edf3f8 100%); border-bottom: 1px solid var(--vtp-line); }
.vtc-hero__grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr); align-items: end; gap: clamp(44px,8vw,130px); }
.vtc-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: clamp(42px,7vw,92px); color: var(--vtp-muted); font-size: 13.5px; }
.vtc-breadcrumb a:hover { color: var(--vtp-blue); }
.vtc-hero h1 { max-width: 1000px; margin: 0; font-size: clamp(46px,6vw,86px); font-weight: 760; letter-spacing: -.058em; line-height: .95; }
.vtc-hero__description { max-width: 760px; margin: 24px 0 0; color: #57595e; font-size: clamp(16px,1.5vw,20px); line-height: 1.6; }
.vtc-hero__description > :first-child { margin-top: 0; }
.vtc-hero__description > :last-child { margin-bottom: 0; }
.vtc-hero__meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; font-size: 13.5px; font-weight: 720; }
.vtc-hero__meta span { color: var(--vtp-muted); }
.vtc-hero__meta a { color: var(--vtp-blue); }
.vtc-assurance { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 26px; border: 1px solid rgba(29,29,31,.09); border-radius: var(--vtp-radius); background: rgba(255,255,255,.74); box-shadow: 0 18px 55px rgba(20,24,32,.06); backdrop-filter: blur(16px); }
.vtc-assurance__icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--vtp-blue); font-weight: 800; }
.vtc-assurance strong { display: block; font-size: 16px; line-height: 1.35; }
.vtc-assurance p { margin: 8px 0 0; color: var(--vtp-muted); font-size: 14.5px; line-height: 1.55; }
.vtc-models { border-bottom: 1px solid var(--vtp-line); background: rgba(255,255,255,.82); }
.vtc-models__track { min-height: 72px; display: flex; align-items: center; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.vtc-models__track::-webkit-scrollbar { display: none; }
.vtc-models__track > span { margin-right: 7px; color: var(--vtp-muted); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.vtc-models__track a { flex: 0 0 auto; padding: 10px 15px; border: 1px solid var(--vtp-line); border-radius: 999px; background: #fff; font-size: 13.5px; font-weight: 700; }
.vtc-models__track a:hover,
.vtc-models__track a[aria-current="page"] { border-color: var(--vtp-blue); color: #fff; background: var(--vtp-blue); }
.vtc-catalog { padding: clamp(44px,6vw,84px) 0 clamp(80px,9vw,132px); }
.vtc-toolbar { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--vtp-line); }
.vtc-toolbar > div { display: grid; gap: 3px; }
.vtc-toolbar strong { font-size: 15px; }
.vtc-toolbar > div span { color: var(--vtp-muted); font-size: 13px; }
.vtc-sort { display: flex; align-items: center; gap: 12px; }
.vtc-sort label { color: var(--vtp-muted); font-size: 13.5px; font-weight: 650; }
.vtc-sort select { min-width: 190px; height: 44px; padding: 0 36px 0 14px; border: 1px solid var(--vtp-line) !important; border-radius: 999px !important; background: #fff !important; font-size: 13.5px; }
.vtc-active { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 0 0; }
.vtc-active a { padding: 9px 12px; border: 1px solid var(--vtp-line); border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 650; }
.vtc-active a:hover { border-color: var(--vtp-ink); }
.vtc-active .vtc-active__clear { border-color: transparent; color: var(--vtp-blue); background: transparent; }
.vtc-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: clamp(28px,4vw,62px); padding-top: 34px; }
.vtc-layout--wide { grid-template-columns: 1fr; }
.vtc-filters > summary { display: none; }
.vtc-filter-form { position: sticky; top: 132px; display: grid; align-content: start; gap: 0; }
.vtc-filter { border-bottom: 1px solid var(--vtp-line); }
.vtc-filter:first-of-type { border-top: 1px solid var(--vtp-line); }
.vtc-filter > summary { min-height: 55px; display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; font-size: 13.5px; font-weight: 750; }
.vtc-filter > summary::-webkit-details-marker { display: none; }
.vtc-filter > summary > span:first-child { flex: 1; }
.vtc-filter > summary > b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--vtp-blue); font-size: 9px; }
.vtc-filter__body { display: grid; gap: 9px; padding: 0 0 18px; }
.vtc-check { display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 9px; cursor: pointer; color: #3d3f43; font-size: 14px; }
.vtc-check input { width: 17px; height: 17px; margin: 0; accent-color: var(--vtp-blue); }
.vtc-check small { color: var(--vtp-muted); font-size: 11.5px; }
.vtc-check.is-disabled { opacity: .38; cursor: default; }
.vtc-price { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vtc-price label { color: var(--vtp-muted); font-size: 12.5px; }
.vtc-price input { width: 100%; height: 42px; margin-top: 5px; padding: 0 9px; font-size: 14px; }
.vtc-filter-form > button { min-height: 48px; margin-top: 20px; border: 0; border-radius: 999px; color: #fff; background: var(--vtp-blue); font-size: 14px; font-weight: 750; }
.vtc-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(14px,1.6vw,24px); }
.vtc-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--vtp-line); border-radius: var(--vtp-radius); background: #fff; overflow: hidden; transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.vtc-card:hover { transform: translateY(-4px); border-color: rgba(29,29,31,.2); box-shadow: var(--vtp-shadow); }
.vtc-card__media { position: relative; display: block; aspect-ratio: 1.12; background: #eff0f2; overflow: hidden; }
.vtc-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .3s ease,transform .4s ease; }
.vtc-card__secondary { opacity: 0; }
.vtc-card:hover .vtc-card__media > img:first-of-type { transform: scale(1.025); }
.vtc-card:hover .vtc-card__secondary { opacity: 1; transform: scale(1.02); }
.vtc-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--vtp-muted); font-size: 12px; }
.vtc-card__status { position: absolute; z-index: 2; left: 12px; top: 12px; padding: 7px 10px; border-radius: 999px; color: #43454a; background: rgba(255,255,255,.92); box-shadow: 0 3px 14px rgba(0,0,0,.06); backdrop-filter: blur(10px); font-size: 10.5px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.vtc-card__body { min-height: 154px; display: flex; flex-direction: column; padding: 18px; }
.vtc-card h2 { margin: 0; font-size: 17px; font-weight: 680; letter-spacing: -.022em; line-height: 1.36; }
.vtc-card h2 a:hover { color: var(--vtp-blue); }
.vtc-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; }
.vtc-card__foot > span { font-size: 16.5px; font-weight: 780; }
.vtc-card__foot > a { min-height: 36px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; border-radius: 999px; color: #fff !important; background: var(--vtp-blue); font-size: 12px; font-weight: 720; white-space: nowrap; }
.vtc-card__foot > a > span { color: #fff !important; }
.vtc-empty { grid-column: 1 / -1; min-height: 410px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 38px; border: 1px solid var(--vtp-line); border-radius: var(--vtp-radius); background: #fff; text-align: center; }
.vtc-empty h2 { max-width: 630px; margin: 0; font-size: clamp(29px,4vw,48px); }
.vtc-empty > p:not(.vtc-eyebrow) { max-width: 540px; color: var(--vtp-muted); line-height: 1.6; }
.vtc-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.vtc-empty a { padding: 13px 18px; border-radius: 999px; color: #fff; background: var(--vtp-blue); font-size: 14px; font-weight: 750; }
.vtc-pagination { display: flex; justify-content: center; gap: 7px; margin-top: 50px; }
.vtc-pagination a,
.vtc-pagination span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 8px; border: 1px solid var(--vtp-line); border-radius: 50%; background: #fff; font-size: 14px; font-weight: 700; }
.vtc-pagination span[aria-current="page"] { border-color: var(--vtp-blue); color: #fff; background: var(--vtp-blue); }
.vtc-help { padding: clamp(70px,8vw,120px) 0; color: #fff; background: var(--vtp-dark); }
.vtc-help__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: clamp(40px,9vw,140px); }
.vtc-help h2 { max-width: 670px; margin: 0; color: #fff; font-size: clamp(34px,4.5vw,66px); line-height: .98; }
.vtc-help__grid > div:last-child p { max-width: 570px; margin: 0 0 24px; color: #afb2b8; font-size: 16px; line-height: 1.65; }
.vtc-help__grid > div:last-child a { color: #fff; font-size: 14.5px; font-weight: 760; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 5px; }

/* Product-first search */
.vts,
.vts * { box-sizing: border-box; }
.vts { color: var(--vtp-ink); background: var(--vtp-bg); font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif; }
.vts a { color: inherit; text-decoration: none; }
.vts-wrap { width: min(1360px, calc(100% - 48px)); margin: 0 auto; }
.vts-eyebrow { margin: 0 0 16px; color: var(--vtp-blue); font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vts-hero { padding: clamp(66px,9vw,138px) 0 clamp(54px,7vw,96px); border-bottom: 1px solid var(--vtp-line); background: linear-gradient(145deg,#fff,#f2f6fa); text-align: center; }
.vts-hero h1 { max-width: 1000px; margin: 0 auto; font-size: clamp(44px,6vw,78px); line-height: .96; letter-spacing: -.054em; }
.vts-hero > .vts-wrap > p:not(.vts-eyebrow) { margin: 21px auto 0; color: var(--vtp-muted); font-size: clamp(16px,1.5vw,20px); }
.vts-search { max-width: 850px; display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 38px auto 0; padding: 7px; border: 1px solid var(--vtp-line); border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: 0 18px 55px rgba(20,24,32,.08); }
.vts-search input[type="search"] { min-width: 0; height: 52px; padding: 0 22px; border: 0 !important; border-radius: 999px !important; background: transparent !important; font-size: 16px; outline: 0; }
.vts-search button { min-height: 52px; padding: 0 23px; border: 0; border-radius: 999px; color: #fff; background: var(--vtp-blue); font-size: 14px; font-weight: 760; }
.vts-suggestions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; color: var(--vtp-muted); font-size: 13px; }
.vts-suggestions a { padding: 7px 10px; border: 1px solid var(--vtp-line); border-radius: 999px; color: #4e5055; background: rgba(255,255,255,.75); }
.vts-results { padding: clamp(44px,6vw,82px) 0 clamp(80px,9vw,130px); }
.vts-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--vtp-line); }
.vts-toolbar > div { display: flex; flex-wrap: wrap; gap: 7px; align-items: baseline; }
.vts-toolbar > div span { color: var(--vtp-muted); font-size: 13.5px; }
.vts-toolbar form { display: flex; align-items: center; gap: 10px; }
.vts-toolbar label { color: var(--vtp-muted); font-size: 13.5px; }
.vts-toolbar select { min-width: 190px; height: 44px; padding: 0 36px 0 14px; border: 1px solid var(--vtp-line) !important; border-radius: 999px !important; background: #fff !important; font-size: 13.5px; }
.vts-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(14px,1.6vw,24px); margin-top: 34px; }
.vts-empty { min-height: 460px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 34px; padding: 38px; border: 1px solid var(--vtp-line); border-radius: var(--vtp-radius); background: #fff; text-align: center; }
.vts-empty h2 { max-width: 700px; margin: 0; font-size: clamp(31px,4vw,52px); }
.vts-empty > p:not(.vts-eyebrow) { max-width: 560px; color: var(--vtp-muted); line-height: 1.6; }
.vts-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.vts-empty a { padding: 13px 18px; border-radius: 999px; color: #fff; background: var(--vtp-blue); font-size: 14px; font-weight: 750; }

/* Premium information pages */
.vtpg { min-height: 70vh; padding: 0 0 clamp(80px,9vw,140px); background: #f5f5f7; }
.vtpg, .vtpg * { box-sizing: border-box; }
.vtpg a { color: inherit; text-decoration: none; }
.vtpg-wrap { width: min(1380px, calc(100% - 48px)); margin: 0 auto; }
.vtpg-breadcrumb { display: flex; align-items: center; gap: 9px; padding: 25px 0; color: #707278; font-size: 13.5px; font-weight: 650; }
.vtpg-breadcrumb a:hover { color: var(--vtp-blue); }
.vtpg-subnav { display: flex; gap: 6px; margin: 8px 0 30px; padding: 5px; border: 1px solid var(--vtp-line); border-radius: 999px; background: rgba(255,255,255,.75); overflow-x: auto; scrollbar-width: none; }
.vtpg-subnav::-webkit-scrollbar { display: none; }
.vtpg-subnav a { flex: 0 0 auto; padding: 10px 15px; border-radius: 999px; color: #55575d; font-size: 13.5px; font-weight: 700; }
.vtpg-subnav a:hover { color: var(--vtp-ink); }
.vtpg-subnav a[aria-current="page"] { color: #fff; background: var(--vtp-blue); }
.vtpg-hero { min-height: 0; display: flex; align-items: center; padding: clamp(28px,3.5vw,48px); border-radius: 30px; background: linear-gradient(145deg,#fff 0%,#f7f9fb 56%,#e8eff6 100%); overflow: hidden; }
.vtpg-hero > div:first-child { max-width: 980px; }
.vtpg-eyebrow { margin: 0 0 17px; color: var(--vtp-blue); font-size: 13.5px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.vtpg-hero h1 { max-width: 1100px; margin: 0; font-size: clamp(40px,4.7vw,64px); font-weight: 750; letter-spacing: -.045em; line-height: 1.06; }
.vtpg-lead { max-width: 780px; margin: 27px 0 0; color: #5d5f65; font-size: clamp(17px,1.8vw,23px); line-height: 1.55; }
.vtpg-hero--showroom { position: relative; min-height: clamp(650px,65vw,830px); align-items: flex-end; color: #fff; background: #161718; }
.vtpg-hero--showroom:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(9,10,11,.87),rgba(9,10,11,.05) 67%); }
.vtpg-hero--showroom > div:first-child { position: relative; z-index: 2; max-width: 850px; }
.vtpg-hero--showroom h1 { color: #fff; }
.vtpg-hero--showroom .vtpg-lead { color: rgba(255,255,255,.75); }
.vtpg-hero--showroom .vtpg-eyebrow { color: #fff; }
.vtpg-showroom-image, .vtpg-showroom-image img { position: absolute; inset: 0; width: 100%; height: 100%; }
.vtpg-showroom-image img { object-fit: cover; }
.vtpg-quick-grid, .vtpg-info-grid, .vtpg-link-grid, .vtpg-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.vtpg-quick-grid article, .vtpg-info-grid article { min-height: 260px; display: flex; flex-direction: column; padding: clamp(24px,3vw,38px); border: 1px solid var(--vtp-line); border-radius: 24px; background: #fff; }
.vtpg-quick-grid article > span, .vtpg-index { color: #8d9096; font-size: 13.5px; font-weight: 760; letter-spacing: .08em; }
.vtpg-quick-grid h2, .vtpg-info-grid h2 { margin: auto 0 10px; font-size: clamp(23px,2.3vw,34px); line-height: 1.05; }
.vtpg-quick-grid p, .vtpg-info-grid p { margin: 0; color: var(--vtp-muted); font-size: 16px; line-height: 1.58; }
.vtpg-info-grid article > a { width: fit-content; margin-top: 20px; color: var(--vtp-blue); font-size: 14px; font-weight: 720; }
.vtpg-contact { display: grid; grid-template-columns: minmax(320px,.75fr) minmax(0,1.25fr); gap: clamp(40px,7vw,110px); margin-top: clamp(64px,8vw,120px); padding: clamp(36px,6vw,82px); border-radius: 30px; background: #111214; color: #fff; }
.vtpg-contact__aside h2 { max-width: 510px; margin: 0; color: #fff; font-size: clamp(37px,4.7vw,66px); line-height: .98; }
.vtpg-contact__aside > p:not(.vtpg-eyebrow) { max-width: 480px; margin: 20px 0 0; color: #aeb1b7; line-height: 1.6; }
.vtpg-contact__aside dl { display: grid; gap: 20px; margin: 42px 0 0; }
.vtpg-contact__aside dl > div { padding-top: 17px; border-top: 1px solid rgba(255,255,255,.13); }
.vtpg-contact__aside dt { margin-bottom: 6px; color: #9ba0a8; font-size: 13px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.vtpg-contact__aside dd { margin: 0; color: #f4f4f5; font-size: 15px; line-height: 1.5; }
.vtpg-contact__form { display: grid; align-content: start; gap: 16px; }
.vtpg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vtpg-contact__form label { display: grid; gap: 8px; color: #e1e2e5; font-size: 13.5px; font-weight: 690; }
.vtpg-contact__form input, .vtpg-contact__form textarea { width: 100%; padding: 14px 15px; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 14px !important; background: rgba(255,255,255,.08) !important; color: #fff !important; font-size: 16px; outline: none; resize: vertical; }
.vtpg-contact__form input { min-height: 50px; }
.vtpg-contact__form input::placeholder, .vtpg-contact__form textarea::placeholder { color: #8d9097; }
.vtpg-contact__form input:focus, .vtpg-contact__form textarea:focus { border-color: rgba(255,255,255,.5) !important; box-shadow: 0 0 0 3px rgba(255,255,255,.08); }
.vtpg-form-message { margin: 0; padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,.1); font-size: 13px; }
.vtpg-form-message--success { color: #d9eaff; }
.vtpg-button { min-height: 50px; width: fit-content; display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-top: 4px; padding: 0 22px; border: 1px solid var(--vtp-blue); border-radius: 999px; background: var(--vtp-blue); color: #fff !important; font-size: 14px; font-weight: 760; letter-spacing: .02em; }
.vtpg-button:hover { background: var(--vtp-blue-hover); border-color: var(--vtp-blue-hover); }
.vtpg-button--secondary { border-color: var(--vtp-line); background: #fff; color: var(--vtp-ink) !important; }
.vtpg-link-grid a, .vtpg-category-grid a { position: relative; min-height: 230px; display: flex; flex-direction: column; padding: clamp(24px,3vw,36px); border: 1px solid var(--vtp-line); border-radius: 24px; background: #fff; }
.vtpg-link-grid a > span, .vtpg-category-grid a > span { color: #81848a; font-size: 13.5px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.vtpg-link-grid strong, .vtpg-category-grid h2 { max-width: 85%; margin: auto 0 0; font-size: clamp(22px,2.2vw,32px); line-height: 1.07; letter-spacing: -.035em; }
.vtpg-category-grid p { max-width: 85%; margin: 12px 0 0; color: var(--vtp-muted); font-size: 16px; line-height: 1.5; }
.vtpg-link-grid i, .vtpg-category-grid i, .vtpg-policy-grid i { position: absolute; right: 24px; bottom: 24px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f0f1f3; font-style: normal; }
.vtpg-link-grid a:hover i, .vtpg-category-grid a:hover i, .vtpg-policy-grid a:hover i { color: #fff; background: var(--vtp-blue); }
.vtpg-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); gap: clamp(45px,9vw,150px); margin-top: clamp(70px,9vw,138px); padding: clamp(50px,7vw,98px); border-radius: 30px; background: #fff; }
.vtpg-feature h2 { max-width: 700px; margin: 0; font-size: clamp(38px,5vw,68px); line-height: .96; }
.vtpg-feature > div:last-child { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.vtpg-feature > div:last-child > p { margin: 0 0 24px; color: var(--vtp-muted); font-size: 16px; line-height: 1.65; }
.vtpg-feature--payment { color: #fff; background: #111214; }
.vtpg-feature--payment h2 { color: #fff; }
.vtpg-feature--payment > div:last-child > p { color: #aeb1b7; }
.vtpg-payments { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.vtpg-payment { width: 42px; height: 27px; }
.vtpg-policy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.vtpg-policy-grid a { position: relative; min-height: 300px; padding: clamp(28px,4vw,48px); border: 1px solid var(--vtp-line); border-radius: 24px; background: #fff; }
.vtpg-policy-grid a > span { color: var(--vtp-blue); font-size: 13.5px; font-weight: 760; letter-spacing: .085em; text-transform: uppercase; }
.vtpg-policy-grid h2 { max-width: 80%; margin: 54px 0 13px; font-size: clamp(28px,3.3vw,46px); line-height: 1; }
.vtpg-policy-grid p { max-width: 520px; margin: 0; color: var(--vtp-muted); line-height: 1.6; }
.vtpg-service { min-height: 560px; display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 14px; padding: clamp(48px,8vw,120px); border-radius: 30px; background: linear-gradient(145deg,#edf5fb,#dfeaf4); text-align: center; }
.vtpg-service h2 { max-width: 950px; margin: 0; font-size: clamp(45px,7vw,92px); line-height: .94; }
.vtpg-service > p:not(.vtpg-eyebrow) { max-width: 650px; margin: 24px 0 0; color: var(--vtp-muted); font-size: 18px; line-height: 1.6; }
.vtpg-service > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 30px; }
.vtpg-content { max-width: 900px; margin: 14px auto 0; padding: clamp(38px,6vw,78px); border-radius: 24px; background: #fff; }
.vtpg-rte { color: #4f5156; font-size: 17px; line-height: 1.72; }
.vtpg-rte > :first-child { margin-top: 0; }
.vtpg-rte > :last-child { margin-bottom: 0; }
.vtpg-rte h2, .vtpg-rte h3 { margin-top: 2em; color: var(--vtp-ink); }
.vtpg-rte img, .vtpg-rte iframe { max-width: 100%; border-radius: 18px; }

@media (max-width: 1320px) {
  .vtp-header__bar,
  html[lang^="en"] .vtp-header__bar,
  html[lang^="sv"] .vtp-header__bar { grid-template-columns: 170px minmax(500px,1fr) minmax(160px,220px) auto; gap: 14px; }
  .vtp-header__logo { width: 170px; }
  .vtp-header__desktop,
  html[lang^="en"] .vtp-header__desktop,
  html[lang^="sv"] .vtp-header__desktop { gap: 14px; }
  .vtp-header__desktop > a,
  .vtp-menu > summary,
  html[lang^="en"] .vtp-header__desktop > a,
  html[lang^="en"] .vtp-menu > summary,
  html[lang^="sv"] .vtp-header__desktop > a,
  html[lang^="sv"] .vtp-menu > summary { font-size: 12.5px; }
}

@media (max-width: 1220px) {
  .vtp-header__bar { grid-template-columns: 175px minmax(430px, 1fr) minmax(170px, 230px) auto; gap: 14px; }
  .vtp-header__desktop { gap: 15px; }
  .vtp-header__desktop > a,
  .vtp-menu > summary { font-size: 12.5px; }
  .vtc-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vts-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 1180px) {
  .vtp-header__bar,
  html[lang^="en"] .vtp-header__bar,
  html[lang^="sv"] .vtp-header__bar { grid-template-columns: 1fr auto; gap: 14px; height: 66px; }
  .vtp-header__desktop { display: none; }
  .vtp-header__search { display: none; }
  .vtp-header__search-icon { display: grid !important; }
  .vtp-mobile-menu { display: block; }
  .vtp-header__logo { width: 175px; }
  .vtp-header__logo img { flex-basis: 36px; width: 36px; height: 36px; }
  .vtp-footer__main { grid-template-columns: 1fr 1.35fr; }
  .vtp-footer__newsletter { grid-column: 1 / -1; max-width: none; }
  .vtc-hero__grid { grid-template-columns: 1fr; align-items: start; gap: 34px; }
  .vtc-breadcrumb { margin-bottom: 46px; }
  .vtc-assurance { max-width: 680px; }
  .vtpg-hero { padding: 36px 30px; }
  .vtpg-contact { grid-template-columns: 1fr; }
  .vtpg-contact__aside { max-width: 720px; }
}

@media (max-width: 720px) {
  .vtp-header__notice { justify-content: center; padding-inline: 16px; overflow: hidden; white-space: nowrap; scrollbar-width: none; font-size: 13px; }
  .vtp-header__notice > :not(:first-child) { display: none; }
  .vtp-header__notice::-webkit-scrollbar { display: none; }
  .vtp-header__bar { width: calc(100% - 28px); }
  .vtp-header__logo { width: 150px; }
  .vtp-header__logo img { flex-basis: 34px; width: 34px; height: 34px; }
  .vtp-header__logo .vtp-header__wordmark { font-size: 16px; letter-spacing: .045em; }
  .vtp-header__account { display: none !important; }
  .vtp-mobile-menu__panel { right: -14px; border-radius: 0 0 0 20px; }
  .vtp-footer__main { width: calc(100% - 36px); grid-template-columns: 1fr; padding-top: 70px; }
  .vtp-footer__links { grid-template-columns: 1fr 1fr; }
  .vtp-footer__newsletter { grid-column: auto; padding: 24px; border-radius: 22px; }
  .vtp-footer__newsletter h3 { font-size: clamp(27px,9vw,36px); }
  .vtp-footer__form { grid-template-columns: 1fr; }
  .vtp-footer__form button { width: 100%; }
  .vtp-footer__bottom { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 16px; padding: 26px 0; }
  .vtp-footer__legal,
  .vtp-footer__payments { justify-content: flex-start; }
  .template-product .product-section [class*="#section-body"] { width: calc(100% - 24px); }
  .template-collection .spaced-section--full-width:first-child [class*="#media"] { border-radius: 0 0 22px 22px; }
  .vtc-wrap { width: calc(100% - 28px); }
  .vtc-hero { padding-top: 42px; }
  .vtc-hero h1 { font-size: clamp(43px,14vw,64px); }
  .vtc-breadcrumb { margin-bottom: 38px; }
  .vtc-assurance { grid-template-columns: 38px 1fr; padding: 20px; }
  .vtc-assurance__icon { width: 38px; height: 38px; }
  .vtc-models__track { width: 100%; padding-inline: 14px; }
  .vtc-toolbar { align-items: flex-start; }
  .vtc-toolbar > div span,
  .vtc-sort label { display: none; }
  .vtc-sort select { min-width: 145px; max-width: 47vw; }
  .vtc-layout { grid-template-columns: 1fr; gap: 18px; padding-top: 22px; }
  .vtc-filters > summary { min-height: 50px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border: 1px solid var(--vtp-line); border-radius: 999px; background: #fff; list-style: none; cursor: pointer; font-size: 14px; font-weight: 740; }
  .vtc-filters > summary::-webkit-details-marker { display: none; }
  .vtc-filters[open] > summary span { transform: rotate(45deg); }
  .vtc-filters:not([open]) > .vtc-filter-form { display: none; }
  .vtc-filter-form { position: static; margin-top: 12px; padding: 0 16px 18px; border: 1px solid var(--vtp-line); border-radius: 20px; background: #fff; }
  .vtc-products { gap: 10px; }
  .vtc-card { border-radius: 16px; }
  .vtc-card__body { min-height: 144px; padding: 14px; }
  .vtc-card h2 { font-size: 15.5px; }
  .vtc-card__status { left: 8px; top: 8px; padding: 6px 8px; font-size: 12px; }
  .vtc-card__foot > span { font-size: 15.5px; }
  .vtc-card__foot > a { min-height: 36px; padding-inline: 10px; font-size: 13px; }
  .vtc-help__grid { grid-template-columns: 1fr; align-items: start; gap: 30px; }
  .vts-wrap { width: calc(100% - 28px); }
  .vts-hero { padding-top: 56px; }
  .vts-search { grid-template-columns: 1fr; border-radius: 22px; }
  .vts-search input[type="search"] { text-align: left; }
  .vts-search button { width: 100%; }
  .vts-toolbar { align-items: flex-start; }
  .vts-toolbar label { display: none; }
  .vts-toolbar select { min-width: 145px; max-width: 46vw; }
  .vts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
  .vtpg-wrap { width: calc(100% - 28px); }
  .vtpg-breadcrumb { padding: 19px 0; }
  .vtpg-subnav { width: calc(100% + 28px); margin-left: -14px; padding-inline: 14px; border-inline: 0; border-radius: 0; background: transparent; }
  .vtpg-hero { min-height: 0; padding: 30px 24px; border-radius: 22px; }
  .vtpg-hero h1 { font-size: clamp(38px,10vw,50px); }
  .vtpg-lead { margin-top: 20px; font-size: 17px; }
  .vtpg-hero--showroom { min-height: 620px; }
  .vtpg-hero--showroom:after { background: linear-gradient(0deg,rgba(9,10,11,.92),rgba(9,10,11,.06) 72%); }
  .vtpg-quick-grid, .vtpg-info-grid, .vtpg-link-grid, .vtpg-category-grid, .vtpg-policy-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 10px; }
  .vtpg-quick-grid article, .vtpg-info-grid article, .vtpg-link-grid a, .vtpg-category-grid a { min-height: 210px; border-radius: 19px; }
  .vtpg-contact { margin-top: 60px; padding: 30px 22px; border-radius: 22px; }
  .vtpg-form-row { grid-template-columns: 1fr; }
  .vtpg-contact__form .vtpg-button { width: 100%; }
  .vtpg-feature { grid-template-columns: 1fr; gap: 36px; margin-top: 60px; padding: 36px 24px; border-radius: 22px; }
  .vtpg-feature h2 { font-size: clamp(36px,10vw,52px); }
  .vtpg-policy-grid a { min-height: 250px; border-radius: 19px; }
  .vtpg-service { min-height: 500px; padding: 42px 22px; border-radius: 22px; }
  .vtpg-service h2 { font-size: clamp(42px,12vw,62px); }
  .vtpg-service > div, .vtpg-service .vtpg-button { width: 100%; }
  .vtpg-content { padding: 30px 22px; border-radius: 20px; }
}

@media (max-width: 430px) {
  .vtp-header__logo { width: 136px; }
  .vtp-header__logo img { flex-basis: 32px; width: 32px; height: 32px; }
  .vtp-header__logo .vtp-header__wordmark { font-size: 14.5px; }
  .vtp-header__actions { gap: 0; }
  .vtp-header__actions > a,
  .vtp-mobile-menu > summary { width: 38px; height: 38px; }
  .vtp-footer__links { grid-template-columns: 1fr; }
  .vtc-card__media { aspect-ratio: 1; }
}

@media (max-width: 350px) {
  .vtp-header__logo { width: 116px; gap: 8px; }
  .vtp-header__logo img { flex-basis: 28px; width: 28px; height: 28px; }
  .vtp-header__logo .vtp-header__wordmark { font-size: 11.5px; letter-spacing: .035em; }
  .vtp-language select { width: 44px; padding-inline: 4px !important; }
  .vtp-header__actions > a,
  .vtp-mobile-menu > summary { width: 36px; height: 36px; }
  .vtc-card__foot > a { gap: 4px; padding-inline: 8px; font-size: 11.5px; }
}

/* Reviews remain readable, but review submission is intentionally not shown in the storefront. */
.jdgm-write-rev-link { display: none !important; }
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__summary-text { display: none !important; }

@media (max-width: 760px) {
  .vt-related { padding: 58px 0 68px; }
  .vt-related__inner { width: 100%; }
  .vt-related__header { display: block; margin-bottom: 24px; padding: 0 20px; }
  .vt-related__header h2 { font-size: clamp(32px,10vw,44px); }
  .vt-related__lead { font-size: 15px; }
  .vt-related__all { display: inline-flex; margin-top: 12px; }
  .vt-related__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(270px,78vw); gap: 12px; padding: 0 20px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
  .vt-related__grid::-webkit-scrollbar { display: none; }
  .vt-related-card { scroll-snap-align: start; }
  .vt-related-card__body { min-height: 168px; }
}

@media (max-width: 900px) {
  .template-product product-recommendations [class~="#grid"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .template-cart [class~="#cart-row"] { display: grid; grid-template-columns: 1fr; }
  .template-cart [class~="#cart-col"] { width: 100% !important; max-width: none !important; }
  .template-cart [class~="#cart-checkout-inner"] { position: static !important; }
}

@media (max-width: 640px) {
  .template-product product-recommendations { padding: 54px 0 68px; }
  .template-product product-recommendations [class~="#section-header"],
  .template-product product-recommendations [class~="#section-body"] { width: calc(100% - 28px); }
  .template-product product-recommendations [class~="#grid"] { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .template-product product-recommendations [class~="#product-card-info"] { min-height: 118px; }
  .template-cart #MainContent { padding-bottom: 46px; }
  .template-cart [class~="#cart-wrapper"] { width: calc(100% - 20px); padding-top: 24px; }
  .template-cart [class~="#cart-row"] { gap: 12px; }
  .template-cart [class~="#cart-items"] { padding: 20px 13px; border-radius: 22px; }
  .template-cart [class~="#cart-items-header"] { align-items: flex-start; gap: 14px; }
  .template-cart [class~="#cart-items-title"] { font-size: 35px; }
  .template-cart [class~="#cart-items-shopping-link"] { padding: 8px 11px; font-size: 12px; }
  .template-cart [class~="#cart-item"] { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 13px; }
  .template-cart [class~="#cart-item-card"] { padding-right: 28px; }
  .template-cart [class~="#cart-item-image"] { flex-basis: 88px; width: 88px; }
  .template-cart [class~="#cart-item-meta"] { padding-left: 13px; }
  .template-cart [class~="#cart-item-side"] { width: 100%; justify-content: space-between; padding-left: 101px; }
  .template-cart [class~="#cart-checkout"] { padding-inline: 0; }
  .template-cart [class~="#cart-checkout-inner"] { padding: 22px 18px; border-radius: 22px; }
  .template-cart [class~="#cart-checkout-order-notes-input"] { min-height: 78px; }
  .template-cart button[name="checkout"] { min-height: 54px !important; }
  .vtp-cart-trust { padding: 15px; border-radius: 17px; }
  .vtp-cart-trust__cards { padding-left: 0; }
  .template-cart .vtp-footer__main { width: calc(100% - 36px); padding: 44px 0 28px; }
  .template-cart .vtp-footer__brand h2 { font-size: 30px; }
  .template-cart .vtp-footer__contact { grid-template-columns: 1fr; }
  .template-cart .vtp-footer__bottom { width: calc(100% - 36px); }
}

/* Shopping refinement: complete product views and direct mobile support paths. */
.vtc-card__media { background: #fff; }
.vtc-card__media img { object-fit: contain; padding: 20px; box-sizing: border-box; background: #fff; }
.vtc-card h2 { overflow-wrap: anywhere; }
.vtc-card__foot > a { min-height: 44px; }
.vtc-hero__meta .vt-catalog-jump { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; color: #fff; background: var(--vtp-blue); }
.vtc-hero__meta .vt-catalog-jump span { color: inherit; }
.vtc-hero__meta { align-items: center; }
.vt-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.vt-contact-actions > a { min-height: 48px; display: inline-flex; align-items: center; }
#VtContactForm { scroll-margin-top: 100px; }
.vtpg-form-hint { margin: 0; color: #bec1c7; font-size: 13px; line-height: 1.5; }
.vtpg-contact__form :is(input,textarea):focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.vtpg--ota-yhteytta .vtpg-contact { margin-top: 32px; }
.vtpg--ota-yhteytta .vtpg-hero { min-height: 0; padding: 44px; }
.vtpg--ota-yhteytta .vtpg-hero h1 { font-size: clamp(38px,5vw,66px); line-height: 1.08; }
.vt-cart-feedback { position: sticky; top: 84px; z-index: 5; margin: 0 0 22px; padding: 16px 20px; border: 1px solid #d9b877; border-radius: 18px; background: #fff9ed; color: #68470e; font-size: 15px; line-height: 1.5; }
.vt-cart-feedback[hidden],.vt-cart-feedback a[hidden] { display: none; }
.vt-cart-feedback p { margin: 0; }
.vt-cart-feedback a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; text-decoration: underline; color: inherit; font-weight: 650; }
main-cart[aria-busy="true"] [data-remove], main-cart [data-remove][aria-disabled="true"] { pointer-events: none; opacity: .4; }
main-cart[aria-busy="true"] button, main-cart button:disabled { cursor: wait; }
.vt-recovery { max-width: 760px; margin: 0 auto; padding: clamp(48px,8vw,110px) 24px; text-align: center; }
.vt-recovery h1 { font-size: clamp(34px,5vw,64px); letter-spacing: -.05em; line-height: 1.08; margin: 12px 0 20px; }
.vt-recovery > p:not(.vtc-eyebrow) { color: #626267; line-height: 1.6; }
.vt-recovery form { max-width: 570px; margin: 28px auto; text-align: left; }
.vt-recovery label { display: block; margin-bottom: 10px; font-size: 14px; font-weight: 650; }
.vt-recovery form > div { display: flex; gap: 8px; }
.vt-recovery input[type="search"] { flex: 1; min-width: 0; min-height: 52px; padding: 12px 16px; border: 1px solid #d4d4d8; border-radius: 16px; font-size: 16px; background: #fff; }
.vt-recovery button { min-height: 52px; padding: 10px 20px; border: 0; border-radius: 16px; background: var(--vtp-blue); color: #fff; font-size: 14px; font-weight: 650; }
.vt-recovery nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; }
.vt-recovery nav a { display: inline-flex; align-items: center; min-height: 48px; }
@media (hover: none), (pointer: coarse) {
  .vtc-card:hover { transform: none; }
  .vtc-card:hover .vtc-card__secondary { opacity: 0; }
  .vtc-card:hover .vtc-card__media > img:first-of-type { transform: none; }
}
@media (max-width: 720px) {
  .vtc-hero { padding: 26px 0 30px; }
  .vtc-hero h1 { font-size: clamp(34px,9vw,44px); line-height: 1.08; }
  .vtc-breadcrumb { margin-bottom: 22px; }
  .vtc-hero__description { font-size: 16px; line-height: 1.5; margin-top: 16px; }
  .vtc-hero__meta { gap: 10px 16px; margin-top: 18px; }
  .vtc-hero__grid { gap: 22px; }
  .vtc-assurance { padding: 18px; }
  .vtc-card__media img { padding: 14px; }
  .vtpg--ota-yhteytta .vtpg-hero { padding: 26px 22px; }
  .vtpg--ota-yhteytta .vtpg-lead { font-size: 16px; line-height: 1.55; }
  .vtpg--ota-yhteytta .vtpg-contact { gap: 24px; margin-top: 24px; }
  .vtpg--ota-yhteytta .vtpg-contact__aside h2 { font-size: 32px; line-height: 1.1; }
  .vtpg--ota-yhteytta .vtpg-contact__aside dl { margin-top: 22px; gap: 12px; }
  .vtpg--ota-yhteytta .vtpg-contact__aside dd a { display: inline-flex; min-height: 44px; align-items: center; }
  .vtpg--ota-yhteytta .vtpg-contact__aside dl > div { padding-top: 10px; }
  .vt-recovery form > div { flex-wrap: wrap; }
  .vt-recovery form button { flex: 1 0 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .vtc-card, .vtc-card__media img { transition: none; }
}
.vtc-catalog { padding-top: 24px; }
@media (min-width: 721px) {
  .vtc-hero { padding-top: 48px; padding-bottom: 48px; }
  .vtc-breadcrumb { margin-bottom: 34px; }
  .vtc-hero h1 { font-size: clamp(48px,5vw,68px); line-height: 1.04; }
}

.vtp-cart-service { display: grid; gap: 8px; margin-bottom: 4px; padding: 16px 18px; border: 1px solid rgba(0,113,227,.16); border-radius: 17px; background: linear-gradient(145deg,#f8fbff,#eef6ff); color: var(--vtp-ink); }
.vtp-cart-service strong { display: block; font-size: 14px; font-weight: 760; line-height: 1.35; }
.vtp-cart-service span { display: block; color: #525a66; font-size: 13.5px; line-height: 1.55; }

/* 2026-09: one blue action language across the storefront. */
.vt-next .vt-btn--ghost { border-color: rgba(0, 113, 227, .24) !important; background: #eef6ff !important; color: #0066cc !important; }
.vt-next .vt-btn--ghost:hover { background: #e2f0ff !important; border-color: rgba(0, 113, 227, .42) !important; }
.vt-next .vt-product__arrow { color: #fff !important; }

.vt-next a.vt-btn.vt-btn--ghost, .vt-next .vt-btn.vt-btn--ghost { color: #0066cc !important; }

.vt-next .vt-final a.vt-btn.vt-btn--ghost { color: #0066cc !important; }

/* Keep model browsing focused while preserving active cross-model filters. */
.vtc-models a[href$="/collections/tesla-model-y-juniper"] { display: none; }
body:has(.vtc-models a[aria-current="page"][href$="/collections/tesla-model-3"]) .vtc-check:has(input[name="filter.p.m.vtf.fitment_groups"][value^="Tesla Model Y"]:not(:checked)) { display: none; }
body:has(.vtc-models a[aria-current="page"][href$="/collections/tesla-model-y"]) .vtc-check:has(input[name="filter.p.m.vtf.fitment_groups"][value^="Tesla Model 3"]:not(:checked)) { display: none; }

/* Keep dynamic cart notices in the correct mobile reading order. */
.template-cart [data-cart-tax-content] { order: 2; }
.template-cart [data-cart-tax-content][hidden] { display: none !important; }
.template-cart [data-cart-trust-content] { order: 3; display: grid; gap: 8px; }
.template-cart [class~="#cart-item-remove"] { background: #eef6ff !important; color: #0066cc !important; }
.template-cart [class~="#cart-item-remove"]:hover { background: #dceeff !important; color: #0059b8 !important; }

/* Model-safe quick add in catalogue and search cards. */
.vtc-card__foot:has(.vtc-card__quickadd) { flex-wrap: wrap; }
.vtc-card__quickadd { margin: 0; flex: 1 1 auto; }
.vtc-card__quickadd button { width: 100%; min-height: 44px; padding: 0 13px; border: 0; border-radius: 999px; color: #fff !important; background: linear-gradient(180deg,#0a84ff,#0071e3) !important; font: inherit; font-size: 12px; font-weight: 750; line-height: 1.2; cursor: pointer; }
.vtc-card__quickadd button:hover { background: #0066cc !important; }
.vtc-card__quickadd button:focus-visible { outline: 3px solid #b7dcff; outline-offset: 2px; }
.vtc-card__quickadd button[aria-busy="true"] { opacity: .7; cursor: wait; }
@media(max-width: 640px) { .vtc-card__foot:has(.vtc-card__quickadd) { display: grid; gap: 8px; } .vtc-card__quickadd { width: 100%; } }

/* A single mobile search result should use the available width. */
@media (max-width: 640px) { .vts-grid:has(> .vtc-card:only-child) { grid-template-columns: minmax(0,1fr); } .vts-grid:has(> .vtc-card:only-child) > .vtc-card { width: 100%; } }

@media (max-width: 640px) {
  .vts-grid:has(> .vtc-card:only-child) > .vtc-card { display: grid; grid-template-columns: minmax(132px,38%) minmax(0,1fr); }
  .vts-grid:has(> .vtc-card:only-child) .vtc-card__media { aspect-ratio: auto; min-height: 190px; }
  .vts-grid:has(> .vtc-card:only-child) .vtc-card__media img { object-fit: contain; padding: 12px; box-sizing: border-box; }
  .vts-grid:has(> .vtc-card:only-child) .vtc-card__body { min-height: 190px; padding: 16px; }
  .vts-grid:has(> .vtc-card:only-child) .vtc-card h2 { font-size: 16px; }
  .vts-grid:has(> .vtc-card:only-child) .vtc-card__foot { padding-top: 8px; }
}

/* Show only verified product fitment groups in catalogue cards. */
.vtc-card__fitment { margin: 8px 0 0; color: #536274; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.vtc-card__fitment strong { color: #1d1d1f; font-weight: 750; }
