.kajahdus-hintakortit-wrapper,
.kajahdus-hintakortit-wrapper * {
    box-sizing: border-box;
}

.kajahdus-hintakortit-wrapper {
    width: 100%;
    background: transparent !important;
    padding-top: var(--khk-section-padding-y, 80px);
    padding-bottom: var(--khk-section-padding-y, 80px);
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-grid {
    display: grid;
    grid-template-columns: repeat(var(--khk-desktop-cols, 2), minmax(0, 1fr));
    gap: var(--khk-gap, 40px);
    align-items: stretch;
    width: 100%;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    min-width: 0;
    background: var(--khk-card-bg, #FFFEF8) !important;
    border-radius: var(--khk-card-radius, 20px) !important;
    padding: var(--khk-card-padding, 50px) !important;
    overflow: hidden;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-icon {
    display: block;
    width: var(--khk-icon-size, 48px);
    height: var(--khk-icon-size, 48px);
    flex: 0 0 auto;
    margin: 0 0 var(--khk-icon-title-gap, 20px) 0 !important;
    padding: 0 !important;
    background-color: var(--khk-icon-color, #333333) !important;
    -webkit-mask-image: var(--khk-icon-mask);
    mask-image: var(--khk-icon-mask);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: left center;
    mask-position: left center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title,
body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title,
html body .container-wrap .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title {
    display: block;
    width: 100%;
    margin: 0 0 var(--khk-title-text-gap, 20px) 0 !important;
    padding: 0 !important;
    color: var(--khk-title-color, #333333) !important;
    font-size: var(--khk-title-font-size, 36px) !important;
    line-height: var(--khk-title-line-height, 1.08) !important;
    letter-spacing: var(--khk-title-letter-spacing, -0.03em) !important;
    font-style: normal;
    text-transform: none;
    word-break: normal;
    overflow-wrap: anywhere;
}

.kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-family .kajahdus-hintakortit-title,
body .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-family .kajahdus-hintakortit-title,
html body .container-wrap .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-family .kajahdus-hintakortit-title {
    font-family: var(--khk-title-font-family) !important;
}

.kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-weight .kajahdus-hintakortit-title,
body .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-weight .kajahdus-hintakortit-title,
html body .container-wrap .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-weight .kajahdus-hintakortit-title {
    font-weight: var(--khk-title-font-weight) !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title:last-child {
    margin-bottom: 0 !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text,
body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text,
html body .container-wrap .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--khk-text-color, #333333) !important;
    font-size: var(--khk-text-font-size, 21px) !important;
    line-height: var(--khk-text-line-height, 1.35) !important;
    letter-spacing: var(--khk-text-letter-spacing, 0) !important;
    font-style: normal;
    text-transform: none;
    word-break: normal;
    overflow-wrap: anywhere;
}

.kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-family .kajahdus-hintakortit-text,
body .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-family .kajahdus-hintakortit-text,
html body .container-wrap .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-family .kajahdus-hintakortit-text {
    font-family: var(--khk-text-font-family) !important;
}

.kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-weight .kajahdus-hintakortit-text,
body .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-weight .kajahdus-hintakortit-text,
html body .container-wrap .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-weight .kajahdus-hintakortit-text {
    font-weight: var(--khk-text-font-weight) !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text p,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text h1,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text h2,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text h3,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text h4,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text h5,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text h6 {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
}

@media (max-width: 1024px) {
    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-grid {
        grid-template-columns: repeat(var(--khk-tablet-cols, 2), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .kajahdus-hintakortit-wrapper {
        padding-top: var(--khk-section-padding-y-mobile, 50px);
        padding-bottom: var(--khk-section-padding-y-mobile, 50px);
    }

    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-grid {
        grid-template-columns: repeat(var(--khk-mobile-cols, 1), minmax(0, 1fr));
    }

    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-card {
        padding: var(--khk-card-padding-mobile, 20px) !important;
    }

    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-icon {
        width: var(--khk-icon-size-mobile, 40px);
        height: var(--khk-icon-size-mobile, 40px);
        margin-bottom: var(--khk-icon-title-gap-mobile, 20px) !important;
    }

    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title,
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title,
    html body .container-wrap .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title {
        margin-bottom: var(--khk-title-text-gap-mobile, 20px) !important;
        font-size: var(--khk-title-font-size-mobile, 28px) !important;
        line-height: var(--khk-title-line-height-mobile, 1.1) !important;
        letter-spacing: var(--khk-title-letter-spacing-mobile, -0.02em) !important;
    }

    .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-weight-mobile .kajahdus-hintakortit-title,
    body .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-weight-mobile .kajahdus-hintakortit-title,
    html body .container-wrap .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-title-font-weight-mobile .kajahdus-hintakortit-title {
        font-weight: var(--khk-title-font-weight-mobile) !important;
    }

    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-title:last-child {
        margin-bottom: 0 !important;
    }

    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text,
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text,
    html body .container-wrap .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-text {
        font-size: var(--khk-text-font-size-mobile, 18px) !important;
        line-height: var(--khk-text-line-height-mobile, 1.4) !important;
        letter-spacing: var(--khk-text-letter-spacing-mobile, 0) !important;
    }

    .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-weight-mobile .kajahdus-hintakortit-text,
    body .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-weight-mobile .kajahdus-hintakortit-text,
    html body .container-wrap .kajahdus-hintakortit-wrapper.has-kajahdus-hintakortit-text-font-weight-mobile .kajahdus-hintakortit-text {
        font-weight: var(--khk-text-font-weight-mobile) !important;
    }
}

/* Price-card typography is independent for each content area. */
body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-features {
    display: block;
    width: 100%;
    margin: var(--khk-content-gap, 24px) 0 0 !important;
    padding: 0 !important;
    color: var(--khk-text-color, #333333) !important;
    font-family: var(--khk-text-font-family, inherit);
    font-size: var(--khk-features-font-size, 21px) !important;
    font-weight: var(--khk-features-font-weight, inherit) !important;
    line-height: var(--khk-text-line-height, 1.35) !important;
    letter-spacing: var(--khk-text-letter-spacing, 0) !important;
    text-transform: none;
    overflow-wrap: anywhere;
}

body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-features:first-child {
    margin-top: 0 !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-feature-list {
    margin: 0 !important;
    padding: 0 0 0 1.15em !important;
    list-style: disc outside !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-feature-list > li {
    display: list-item;
    list-style: disc outside !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit;
    font: inherit !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-feature-list > li + li,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-feature-lines > div + div {
    margin-top: var(--khk-feature-gap, 10px) !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-footer {
    width: 100%;
    margin-top: auto;
    padding-top: var(--khk-content-gap, 24px);
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-footer:first-child {
    padding-top: 0;
}

body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-price {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--khk-price-color, #333333) !important;
    font-size: var(--khk-price-font-size, 22px) !important;
    font-weight: var(--khk-price-font-weight, 600) !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    overflow-wrap: anywhere;
}

body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-price-note {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    color: var(--khk-text-color, #333333) !important;
    font-size: var(--khk-price-note-font-size, 14px) !important;
    font-weight: var(--khk-price-note-font-weight, 400) !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
}

/* Kajahdus Napit reference: pill outline, filled arrow and outer-border flash.
   Names are isolated; Kajahdus Napit does not need to be installed. */
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-wrap {
    display: inline-grid;
    grid-template: 1fr / 1fr;
    position: relative;
    align-items: stretch;
    justify-items: stretch;
    max-width: 100%;
    margin: 18px 0 0 !important;
    overflow: visible !important;
    line-height: normal;
    vertical-align: middle;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-wrap:first-child {
    margin-top: 0 !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-full {
    width: 100%;
}

body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button {
    position: relative;
    grid-area: 1 / 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0 !important;
    padding: var(--khk-button-padding, 18px 34px) !important;
    border: var(--khk-button-border-width, 3px) solid var(--khk-button-border-color, #333333) !important;
    border-radius: var(--khk-button-radius, 999px) !important;
    background: var(--khk-button-bg, transparent) !important;
    color: var(--khk-button-color, #333333) !important;
    font-family: Inter, sans-serif !important;
    font-size: var(--khk-button-font-size, 18px) !important;
    font-weight: var(--khk-button-font-weight, 700) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.2px !important;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: normal;
    overflow: visible;
    isolation: isolate;
    box-shadow: none !important;
    transform: none;
    z-index: 2;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .22s ease, color .22s ease, border-color .22s ease;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-text {
    display: inline-block;
    min-width: 0;
    overflow-wrap: anywhere;
    font: inherit !important;
    letter-spacing: inherit;
    text-transform: inherit;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 0.8em;
    height: 0.8em;
    color: var(--khk-button-arrow-color, #1F0318);
    line-height: 1;
    transition: color .22s ease;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-arrow svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-arrow path {
    fill: currentColor;
}

body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button:hover,
body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button:focus-visible {
    background: var(--khk-button-hover-bg, #333333) !important;
    color: var(--khk-button-hover-color, #F7F4EC) !important;
    border-color: var(--khk-button-border-color, #333333) !important;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button:hover .kajahdus-hintakortit-button-arrow,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button:focus-visible .kajahdus-hintakortit-button-arrow {
    color: var(--khk-button-hover-color, #F7F4EC);
}

body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button:focus-visible {
    outline: 2px solid var(--khk-button-border-color, #333333) !important;
    outline-offset: 3px;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-flash {
    display: block;
    grid-area: 1 / 1;
    align-self: stretch;
    justify-self: stretch;
    position: relative;
    width: auto;
    height: auto;
    margin: -8px;
    border: 1px solid var(--khk-button-border-color, #333333);
    border-radius: calc(var(--khk-button-radius, 999px) + 8px);
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    transform: translateZ(0) scale(1);
    transform-origin: center center;
}

.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-wrap:hover .kajahdus-hintakortit-button-flash,
.kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-wrap:focus-within .kajahdus-hintakortit-button-flash {
    animation: kajahdus-hintakortit-button-flash .62s ease-out both;
}

@keyframes kajahdus-hintakortit-button-flash {
    0% { opacity: 0; transform: scale(1); }
    10% { opacity: 1; transform: scale(1); }
    38% { opacity: .85; transform: scale(1.002); }
    100% { opacity: 0; transform: scale(1.01); }
}

@media (max-width: 767px) {
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-features {
        font-size: var(--khk-features-font-size-mobile, 18px) !important;
        font-weight: var(--khk-features-font-weight-mobile, inherit) !important;
        line-height: var(--khk-text-line-height-mobile, 1.4) !important;
        letter-spacing: var(--khk-text-letter-spacing-mobile, 0) !important;
    }
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-price {
        font-size: var(--khk-price-font-size-mobile, 20px) !important;
        font-weight: var(--khk-price-font-weight-mobile, 600) !important;
    }
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-price-note {
        font-size: var(--khk-price-note-font-size-mobile, 14px) !important;
        font-weight: var(--khk-price-note-font-weight-mobile, 400) !important;
    }
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button {
        font-size: var(--khk-button-font-size-mobile, 16px) !important;
        font-weight: var(--khk-button-font-weight-mobile, 900) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button,
    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-arrow {
        transition: none;
    }
    .kajahdus-hintakortit-wrapper .kajahdus-hintakortit-button-flash {
        animation: none !important;
    }
}
