/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/* KYA · Palette derived from Flatsome > Style > Colors.
   Only neutral white/black are fixed; brand colors follow the theme settings. */
:root {
    --kya-white: #ffffff;
    --kya-black: #000000;
    --kya-primary: var(--fs-color-primary);
    --kya-secondary: var(--fs-color-secondary);
    --kya-text: var(--fs-color-base);
    --kya-heading: color-mix(in srgb, var(--fs-color-primary) 55%, var(--kya-black));
    --kya-muted: color-mix(in srgb, var(--fs-color-base) 65%, var(--kya-white));
    --kya-border: color-mix(in srgb, var(--fs-color-primary) 20%, var(--kya-white));
    --kya-border-strong: color-mix(in srgb, var(--fs-color-primary) 45%, var(--kya-white));
    --kya-surface: color-mix(in srgb, var(--fs-color-primary) 4%, var(--kya-white));
    --kya-surface-alt: color-mix(in srgb, var(--fs-color-primary) 8%, var(--kya-white));
    --kya-pale: color-mix(in srgb, var(--fs-color-primary) 12%, var(--kya-white));
    --kya-soft: color-mix(in srgb, var(--fs-color-primary) 28%, var(--kya-white));
    --kya-neutral-surface: color-mix(in srgb, var(--fs-color-base) 8%, var(--kya-white));
    --kya-on-dark: color-mix(in srgb, var(--fs-color-primary) 10%, var(--kya-white));
    --kya-shadow: color-mix(in srgb, var(--fs-color-primary) 15%, transparent);
}



/*************** ADD CUSTOM CSS HERE.   ***************/

@media only screen and (max-width: 48em) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/

}

/* KYA CONSOLIDATED START */

/* KYA homepage. Custom selectors only; classes are set in UX Builder Advanced. */

.kya-native-page,
.kya-site-footer {
    font-family: 'Google Sans Flex',Arial,sans-serif;
    color: var(--kya-heading);
}

.kya-native-page h2 {
    font-family: 'Lora',Georgia,serif;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.02em;
    color: var(--kya-heading);
    font-size: 52px;
    margin: 14px 0 0;
}

.kya-native-page h3,
.kya-native-page p,
.kya-native-page a,
.kya-site-footer h2,
.kya-site-footer p,
.kya-site-footer a {
    font-family: 'Google Sans Flex',Arial,sans-serif;
}

.kya-native-page .kya-layout-row {
}

.kya-native-page .kya-layout-column {
    padding-bottom: 30px;
}

.kya-native-heading {
    margin-bottom: 0;
}

.kya-native-heading>p {
    color: var(--kya-muted);
    font-size: 18px;
}

.kya-has-kicker>p:first-of-type {
    display: inline-block;
    background: var(--kya-pale);
    color: var(--fs-color-primary);
    padding: 5px 11px;
    border-radius: 5px;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 6px;
}

.kya-has-sparkle h2>span {
    font-size: .6em;
    color: var(--kya-soft);
    vertical-align: middle;
}

.kya-native-hero .kya-hero-image {
    width: 100%!important;
    margin: 0!important;
}

.kya-hero-image img {
    display: block;
    width: 100%;
    height: auto;
}

.kya-native-button {
    font-family: 'Google Sans Flex',Arial,sans-serif!important;
    text-transform: none!important;
    letter-spacing: 0;
    font-weight: 600;
    font-size: 16px;
    min-height: 52px;
    line-height: 1.4;
    padding: 14px 28px;
    margin: 6px 0 0;
}

.kya-native-button span {
    text-transform: none!important;
}

.kya-native-button i {
    margin-left: 10px;
}

.kya-native-products .kya-native-product-list {
    margin: auto;
}

.kya-native-products .kya-product-card {
    height: 100%;
    background: var(--kya-neutral-surface);
    border-radius: 16px;
    padding: 16px 16px 20px;
    overflow: hidden;
}

.kya-product-photo {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.kya-product-photo:before {
    content: 'Mới';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    border-radius: 20px;
    background: var(--kya-border);
    color: var(--fs-color-primary);
    padding: 3px 11px;
    font: 600 11px 'Google Sans Flex',Arial,sans-serif;
}

.kya-product-photo img {
    object-fit: contain!important;
}

.kya-product-copy {
    padding: 18px 0 0!important;
    font-size: 16px;
}

.kya-product-category {
    font-size: 10px;
    letter-spacing: .12em;
    color: var(--kya-muted);
}

.kya-product-name {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    margin: 8px 0;
}

.kya-product-description {
    font-size: 16px;
    line-height: 1.5;
    min-height: 42px;
    margin: 8px 0 12px;
    color: var(--kya-muted);
}

.kya-product-action a {
    display: block;
    border: 1px solid var(--kya-muted);
    border-radius: 30px;
    background: transparent;
    color: var(--fs-color-primary);
    font-family: 'Google Sans Flex',Arial,sans-serif;
    font-size: 14px;
    min-height: 46px;
    line-height: 2.8;
    text-transform: none;
    letter-spacing: 0;
    text-align: center;
    padding: 0 12px;
    margin: 12px 0 0;
}

.kya-product-action a:hover {
    background: var(--fs-color-primary);
    color: var(--kya-white);
}

.kya-native-video-card>div {
    background: var(--kya-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 18px 40px var(--kya-shadow);
}

.kya-native-video-caption {
    padding: 18px 20px 20px;
}

.kya-native-video-caption h3 {
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 8px;
}

.kya-native-video-caption p {
    font-size: 14px;
    color: var(--kya-border-strong);
    margin: 0;
}

.kya-native-video-image a[role=button] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    min-width: 58px;
    line-height: 58px;
    border: 0;
    background: var(--kya-white);
    color: var(--fs-color-primary);
}

.kya-native-video-image a[href=""] {
    pointer-events: none;
    cursor: default;
}

.kya-native-video-image a[role=button] i {
    font-size: 22px;
}

.kya-native-videos .kya-native-heading {
    text-align: center;
}

.kya-native-videos .kya-native-heading>p:last-of-type {
    margin: 14px 0 0;
    font-size: 18px;
}

.kya-native-video-row {
    padding-bottom: 20px;
}

.kya-native-videos .kya-layout-row:first-of-type>.kya-layout-column {
    padding-bottom: 40px;
}

.kya-native-about>.kya-section-content>.kya-layout-row {
    max-width: none!important;
    width: 100%;
    margin: 0;
    align-items: stretch;
}

.kya-native-about .kya-layout-column {
    padding-bottom: 0;
    display: flex;
}

.kya-native-about .kya-native-about-copy {
    align-items: center;
    padding: 72px 64px 72px max(32px,calc((100vw - 1280px)/2))!important;
}

.kya-native-about .kya-native-about-copy>div {
    padding: 0!important;
    max-width: 470px;
    width: 100%;
    margin: 0!important;
}

.kya-native-about h2 {
    font-family: 'Lora',Georgia,serif;
    font-size: 60px;
    line-height: 1.05;
    color: var(--kya-white);
    margin: 20px 0 24px;
    font-weight: 400;
}

.kya-native-about p {
    color: var(--kya-pale);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 22px;
}

.kya-native-about .kya-has-eyebrow>p:first-of-type {
    font-size: 13px;
    letter-spacing: .18em;
}

.kya-native-about .kya-native-button {
    background: var(--kya-neutral-surface);
    color: var(--kya-heading);
}

.kya-native-about .kya-layout-column:last-of-type>div {
    height: 100%;
    width: 100%;
}

.kya-native-building {
    height: 100%;
    margin: 0!important;
    width: 100%!important;
}

.kya-native-building>div {
    height: 100%;
    padding: 0!important;
    min-height: 500px;
    position: relative;
}

.kya-native-building img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kya-native-review-slider {
    margin: 0 auto!important;
    overflow: visible;
}

.kya-native-review-slide {
    opacity: 1!important;
    visibility: visible!important;
    width: 33.333%!important;
    max-width: 33.333%!important;
    padding: 0 12px!important;
    margin: 0!important;
}

.kya-native-review-slide>.kya-layout-column {
    padding: 0!important;
}

.kya-native-review-slide>.kya-layout-column>div {
    height: 100%;
}

.kya-native-review-card {
    background: var(--kya-white);
    border: 1px solid var(--kya-neutral-surface);
    border-radius: 16px;
    padding: 22px 16px 12px;
    margin: 0!important;
    min-height: 240px;
}

.kya-native-review-card>.kya-layout-column {
    padding-bottom: 0;
}

.kya-native-review-quote {
    font-size: 14px;
    line-height: 1.6;
}

.kya-native-review-quote p {
    margin: 0 0 8px;
}

.kya-has-quote>p:first-of-type {
    font-size: 30px;
    color: var(--kya-soft);
    line-height: 1;
}

.kya-has-stars>p:last-of-type {
    color: var(--kya-rating-icon);
    letter-spacing: 3px;
    font-size: 12px;
    margin: 10px 0;
}

.kya-native-review-author {
    margin: 8px 0 0;
}

.kya-native-review-avatar {
    width: 36px!important;
    min-width: 36px;
    flex: 0 0 36px;
    margin: 0!important;
}

.kya-native-review-avatar img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 50%;
}

.kya-native-review-author .kya-editable-text {
    flex: 1;
    min-width: 0;
}

.kya-native-review-author p {
    font-size: 12px;
    line-height: 1.2;
    margin: 0;
}

.kya-native-review-author strong {
    font-weight: 600;
}

.kya-native-review-author small {
    font-size: 11px;
    color: var(--kya-border-strong);
}

.kya-native-polaroid {
    background: var(--kya-white);
    padding: 7px 7px 18px;
    margin-bottom: 0!important;
    box-shadow: 0 10px 24px var(--kya-shadow);
    transform: rotate(4deg);
}

.kya-native-review-slider button,
.kya-native-products .kya-native-product-list>button {
    position: absolute;
    top: -78px;
    bottom: auto;
    left: auto;
    width: 46px;
    height: 46px;
    transform: none;
    margin: 0!important;
    border: 1px solid var(--kya-border);
    border-radius: 50%;
    background: var(--kya-white);
    color: var(--fs-color-primary);
    opacity: 1!important;
    box-shadow: none;
}

.kya-native-review-slider button[aria-label=Previous],
.kya-native-products .kya-native-product-list>button[aria-label=Previous] {
    right: 70px;
    left: auto;
}

.kya-native-review-slider button[aria-label=Next],
.kya-native-products .kya-native-product-list>button[aria-label=Next] {
    right: 12px;
    left: auto;
}

.kya-native-review-slider button svg,
.kya-native-products .kya-native-product-list>button svg {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translate(-50%,-50%);
    padding: 0!important;
    border: 0!important;
    background: none!important;
}

.kya-native-review-slider button:hover {
    background: var(--kya-pale);
}

.kya-native-footer-panel {
    border-radius: 12px;
    overflow: hidden;
}

.kya-native-footer h2 {
    font-family: 'Google Sans Flex',Arial,sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.01em;
    margin: 16px 0 18px;
}

.kya-native-footer p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 10px;
}

.kya-native-footer .kya-layout-column {
    padding-bottom: 0;
}

.kya-footer-contact h2 {
    color: var(--kya-white);
}

.kya-footer-contact p {
    color: var(--kya-border);
    font-size: 15px;
    margin-bottom: 10px;
}

.kya-footer-contact .kya-native-button {
    background: var(--kya-neutral-surface);
    color: var(--kya-heading);
}

.kya-footer-contact-icons {
    display: flex;
    gap: 12px;
    align-items: center;
}

.kya-footer-contact-icons>div:first-child {
    width: 20px;
    min-width: 20px;
    color: var(--kya-border);
}

.kya-footer-contact-icons p {
    margin: 0;
}

.kya-native-copyright {
    padding: 24px 0 0;
}

.kya-native-copyright p {
    font-size: 12px;
    color: var(--kya-border-strong);
}

.kya-footer-policy {
    text-align: right;
}

.kya-native-copyright a {
    text-decoration: underline;
}

@media(max-width:849px) {
    .kya-native-page h2 {
        font-size: 40px;
    }

    .kya-native-review-slide {
        width: 50%!important;
        max-width: 50%!important;
    }

    .kya-native-about .kya-native-about-copy {
        padding: 48px 28px!important;
    }

    .kya-native-about h2 {
        font-size: 42px;
    }

    .kya-native-building>div {
        min-height: 440px;
    }

    .kya-native-review-slider {
        margin-inline: 16px!important;
    }

    .kya-native-product-list .kya-product-card {
        padding: 12px;
    }

    .kya-native-video-caption {
        padding: 14px;
    }

    .kya-native-video-caption h3 {
        font-size: 15px;
    }

}

@media(max-width:549px) {
    .kya-native-page h2 {
        font-size: 32px;
    }

    .kya-native-review-slide {
        width: 100%!important;
        max-width: 100%!important;
        padding: 0 4px!important;
    }

    .kya-native-reviews .kya-native-heading h2 {
        padding-right: 84px;
        font-size: 29px;
    }

    .kya-native-about .kya-native-about-copy {
        padding: 40px 24px!important;
    }

    .kya-native-about h2 {
        font-size: 42px;
    }

    .kya-native-about p {
        font-size: 16px;
    }

    .kya-native-building>div {
        min-height: 0;
        height: 260px;
    }

    .kya-native-video-row {
        max-width: 420px!important;
    }

    .kya-native-heading>p,
    .kya-native-videos .kya-native-heading>p:last-of-type {
        font-size: 15px;
    }

    .kya-native-review-slider button,
    .kya-native-products .kya-native-product-list>button {
        width: 34px;
        height: 34px;
        top: -68px;
    }

    .kya-native-review-slider button[aria-label=Previous],
    .kya-native-products .kya-native-product-list>button[aria-label=Previous] {
        right: 48px;
    }

    .kya-native-review-slider button[aria-label=Next],
    .kya-native-products .kya-native-product-list>button[aria-label=Next] {
        right: 6px;
    }

    .kya-native-product-list .kya-product-card {
        padding: 10px;
    }

    .kya-product-name {
        font-size: 16px;
    }

    .kya-product-description {
        font-size: 16px;
        min-height: 54px;
    }

    .kya-product-action a {
        font-size: 12px;
        min-height: 40px;
    }

    .kya-native-footer h2 {
        font-size: 28px;
    }

    .kya-native-footer .kya-layout-row {
        width: calc(100% - 32px);
        margin-inline: 16px;
    }

    .kya-footer-policy {
        text-align: left;
    }

}

/* KYA CONSOLIDATED END */

.kya-site-footer .kya-footer-legacy {
    display: none;
}

/* Reference alignment after consolidation. Custom KYA selectors only. */

.kya-header-link {
    font-family: "Google Sans Flex",Arial,sans-serif!important;
    font-size: 18px!important;
    font-weight: 500!important;
    text-transform: none!important;
    letter-spacing: 0!important;
}

.kya-header-item {
    margin-inline: 17px!important;
}

.kya-native-videos .kya-native-heading h2 {
    font-size: 48px;
}

.kya-native-footer-panel>.kya-footer-connect {
    flex-basis: 46%;
    max-width: 46%;
}

.kya-native-footer-panel>.kya-footer-contact {
    flex-basis: 54%;
    max-width: 54%;
}

@media(max-width:849px) {
    .kya-header-link {
        font-size: 16px!important;
    }

    .kya-header-item {
        margin-inline: 10px!important;
    }

    .kya-native-videos .kya-native-heading h2 {
        font-size: 40px;
    }

}

@media(max-width:549px) {
    .kya-native-videos .kya-native-heading h2 {
        font-size: 32px;
    }

    .kya-native-footer-panel>.kya-footer-connect,
    .kya-native-footer-panel>.kya-footer-contact {
        flex-basis: 100%;
        max-width: 100%;
    }

}

/* KYA product cart icon */
.kya-native-products .kya-product-action a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.4;
    padding: 10px 12px;
}

.kya-native-products .kya-cart-icon {
    display: inline-block;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
}


/* =========================================================
   KYA · WooCommerce shop and product category archives
   Applies automatically to parent and descendant categories.
   ========================================================= */

.kya-catalog-page {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    color: var(--kya-heading);
    background: var(--kya-white);
}

.kya-catalog-hero {
    margin: 0;
}

.kya-catalog-banner {
    display: block;
    width: 100% !important;
    margin: 0 !important;
}

.kya-catalog-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.kya-catalog-section {
    padding: 30px 0 44px;
    background: var(--kya-white);
}

.kya-catalog-container {
    width: 100%;
    margin: 0 auto;
}

.kya-catalog-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--fs-color-base);
    margin: 0 0 18px;
    text-transform: none;
    letter-spacing: 0;
}

.kya-catalog-breadcrumb a {
    color: inherit;
}

.kya-catalog-title {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.025em;
    color: var(--fs-color-secondary);
    margin: 0 0 32px;
}

.kya-catalog-description {
    max-width: 800px;
    font-size: 16px;
    line-height: 1.6;
    margin: -12px 0 28px;
}

.kya-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.kya-catalog-grid > .kya-catalog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 16px 16px 20px;
    border-radius: 16px;
    background: var(--kya-neutral-surface);
    box-sizing: border-box;
}

.kya-catalog-product-link {
    display: flex;
    flex: 1;
    flex-direction: column;
    color: var(--kya-heading);
    text-decoration: none;
}

.kya-catalog-photo {
    position: relative;
    aspect-ratio: 1 / 1;
}

.kya-catalog-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.kya-catalog-new {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 4px 12px;
    border-radius: 99px;
    background: var(--kya-border);
    color: var(--fs-color-primary);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.kya-catalog-copy {
    padding-top: 18px;
}

.kya-catalog-category {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
    color: var(--kya-muted);
    text-transform: uppercase;
}

.kya-catalog-card .kya-catalog-name {
    margin: 0 0 10px;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    color: var(--kya-heading);
}

.kya-catalog-summary {
    min-height: 42px;
    margin: 0;
    color: var(--kya-muted);
    font-size: 16px;
    line-height: 1.5;
}

.kya-catalog-action {
    margin-top: 20px;
}

.kya-catalog-action a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--kya-muted);
    border-radius: 99px;
    background: transparent;
    color: var(--kya-heading);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
}

.kya-catalog-action a:hover {
    background: var(--fs-color-primary);
    border-color: var(--fs-color-primary);
    color: var(--kya-white);
}

.kya-catalog-action .kya-cart-icon {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
}

.kya-catalog-pagination {
    padding-top: 46px;
    text-align: center;
}

.kya-catalog-more {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 12px 40px;
    border-radius: 99px;
    background: var(--fs-color-secondary);
    color: var(--kya-white);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.kya-catalog-more:hover {
    background: var(--fs-color-primary);
    color: var(--kya-white);
}

.kya-catalog-more[aria-disabled="true"] {
    opacity: 0.6;
    cursor: wait;
}

.kya-catalog-status {
    margin: 10px 0 0;
    color: var(--kya-muted);
    font-size: 13px;
}

.kya-catalog-page .kya-native-footer {
    padding-top: 64px;
}

.kya-catalog-page a:focus-visible {
    outline: 2px solid var(--kya-muted);
    outline-offset: 4px;
}

@media (max-width: 849px) {
    .kya-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }

    .kya-catalog-title {
        font-size: 36px;
    }
}

@media (max-width: 549px) {
    .kya-catalog-section {
        padding: 24px 16px 36px;
    }

    .kya-catalog-title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .kya-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .kya-catalog-grid > .kya-catalog-card {
        padding: 10px 10px 14px;
        border-radius: 12px;
    }

    .kya-catalog-card .kya-catalog-name {
        font-size: 16px;
    }

    .kya-catalog-category {
        font-size: 9px;
    }

    .kya-catalog-summary {
        min-height: 54px;
        font-size: 16px;
    }

    .kya-catalog-action a {
        min-height: 40px;
        padding: 9px 6px;
        font-size: 12px;
        gap: 5px;
    }

    .kya-catalog-new {
        font-size: 10px;
        padding: 3px 9px;
    }

    .kya-catalog-pagination {
        padding-top: 30px;
    }
}


/* =========================================================
   KYA · Flatsome native product layout
   Gallery, quantity, purchase buttons and related products
   use the theme's standard settings and scripts.
   ========================================================= */

.kya-detail-page {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    color: var(--kya-muted);
}

.kya-native-detail-layout {
    margin: 0 auto;
    padding: 0 15px 108px;
}

.kya-native-detail-breadcrumb {
    margin: 26px auto 24px;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: var(--kya-muted);
}

.kya-native-detail-breadcrumb a {
    color: inherit;
}

.kya-native-detail-main {
    padding-top: 0;
}

.kya-native-detail-row {
    max-width: none;
    margin: 0 -28px;
}

.kya-native-detail-gallery,
.kya-native-detail-summary {
    padding: 0 28px 30px;
}

.kya-native-detail-summary .kya-native-detail-title {
    margin: 4px 0 24px;
    font-family: 'Lora', Georgia, serif;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.025em;
    color: var(--fs-color-base);
}

.kya-native-detail-summary .kya-native-detail-price {
    margin: 0 0 22px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--kya-heading);
}

.kya-native-detail-excerpt {
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.6;
}

.kya-native-detail-cart {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: 0;
}

.kya-native-detail-cart .kya-native-detail-quantity {
    display: flex;
    flex: 0 0 124px;
    align-items: center;
    height: 52px;
    margin: 0;
    border: 1px solid var(--kya-border);
    border-radius: 99px;
    background: var(--kya-white);
    overflow: hidden;
}

.kya-native-detail-quantity .kya-native-detail-quantity-step {
    flex: 0 0 36px;
    width: 36px;
    height: 50px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--kya-heading);
    font-size: 18px;
    text-shadow: none;
}

.kya-native-detail-quantity .kya-native-detail-quantity-input {
    flex: 1;
    min-width: 0;
    width: 40px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 16px;
    text-align: center;
}

.kya-native-detail-cart .kya-native-detail-buy,
.kya-native-detail-cart .kya-native-detail-add {
    display: inline-flex;
    flex: 1 1 150px;
    justify-content: center;
    align-items: center;
    min-height: 52px;
    margin: 0;
    padding: 12px 20px;
    border: 1px solid var(--kya-muted);
    border-radius: 99px;
    background: var(--kya-white);
    color: var(--fs-color-primary);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
}

.kya-native-detail-cart .kya-native-detail-buy {
    order: 1;
    border-color: var(--kya-heading);
    background: var(--kya-heading);
    color: var(--kya-white);
}

.kya-native-detail-cart .kya-native-detail-add {
    order: 2;
}

.kya-native-detail-images {
    padding: 24px;
    border-radius: 16px;
    background: var(--kya-surface-alt);
    overflow: hidden;
}

.kya-native-detail-photo img {
    border-radius: 8px;
}

.kya-native-detail-thumbnails a {
    display: block;
    padding: 4px;
    border-radius: 10px;
    background: var(--kya-surface-alt);
    overflow: hidden;
}

.kya-native-detail-footer > div {
    max-width: none;
    padding: 0;
}

.kya-detail-ingredients {
    margin-top: 36px;
}

.kya-detail-ingredients h2 {
    margin: 0 0 14px;
    color: var(--fs-color-primary);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.kya-detail-ingredient-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    max-width: 440px;
}

.kya-detail-ingredient {
    margin: 0;
    text-align: center;
}

.kya-detail-ingredient-icon {
    display: block;
    width: 68px;
    height: 68px;
    margin: 0 auto 10px;
    object-fit: contain;
}

.kya-detail-ingredient figcaption {
    color: var(--kya-muted);
    font-size: 13px;
    line-height: 1.4;
}

.kya-detail-information {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 64px;
    padding-top: 114px;
}

.kya-detail-description h2 {
    margin: 0 0 22px;
    color: var(--fs-color-primary);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 1.2;
}

.kya-detail-richtext {
    color: var(--kya-muted);
    font-size: 16px;
    line-height: 1.9;
}

.kya-detail-richtext p {
    margin: 0 0 14px;
}

.kya-detail-instructions {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--kya-pale);
}

.kya-detail-instructions h3 {
    margin: 0 0 16px;
    color: var(--kya-muted);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.kya-detail-story-composite {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}

.kya-native-detail-related {
    margin-top: 88px;
    padding-top: 0;
    border-top: 0;
}

.kya-native-detail-related .kya-native-detail-related-title {
    margin: 0 0 30px;
    padding: 0;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: -0.025em;
    text-transform: none;
    color: var(--fs-color-secondary);
}

.kya-native-detail-related .kya-product-card {
    height: 100%;
    padding: 16px 16px 20px;
    border-radius: 16px;
    background: var(--kya-neutral-surface);
}

.kya-native-detail-related .kya-product-photo img {
    aspect-ratio: 1;
    object-fit: contain;
}

.kya-native-detail-related .kya-native-detail-price {
    display: none;
}

.kya-native-detail-related .kya-product-action a {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

.kya-detail-page .kya-native-footer {
    padding-top: 64px;
}

@media (max-width: 1100px) {
    .kya-native-detail-row {
        margin: 0 -16px;
    }

    .kya-native-detail-gallery,
    .kya-native-detail-summary {
        padding-inline: 16px;
    }

    .kya-native-detail-summary .kya-native-detail-title {
        font-size: 34px;
    }

    .kya-detail-information {
        gap: 40px;
        padding-top: 76px;
    }
}

@media (max-width: 849px) {
    .kya-detail-information {
        grid-template-columns: 1fr;
        padding-top: 56px;
    }

    .kya-detail-story-single {
        max-width: 640px;
    }
}

@media (max-width: 549px) {
    .kya-native-detail-layout {
        padding: 0 16px 64px;
    }

    .kya-native-detail-breadcrumb {
        margin: 24px 16px;
        font-size: 12px;
    }

    .kya-native-detail-summary .kya-native-detail-title {
        font-size: 30px;
    }

    .kya-native-detail-images {
        padding: 16px;
    }

    .kya-native-detail-cart .kya-native-detail-quantity {
        flex-basis: 112px;
    }

    .kya-native-detail-cart .kya-native-detail-buy,
    .kya-native-detail-cart .kya-native-detail-add {
        flex-basis: 90px;
        padding: 10px 12px;
        font-size: 13px;
    }

    .kya-detail-ingredient-icon {
        width: 54px;
        height: 54px;
    }

    .kya-detail-ingredient figcaption {
        font-size: 11px;
    }

    .kya-detail-description h2,
    .kya-native-detail-related .kya-native-detail-related-title {
        font-size: 28px;
    }

    .kya-native-detail-related {
        margin-top: 56px;
    }
}


/* =========================================================
   KYA · Product alignment and editable content pages
   ========================================================= */

.kya-native-detail-notices {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px !important;
}

.kya-native-detail-cart .kya-native-detail-quantity {
    width: 124px;
    min-width: 124px;
    padding: 0;
    box-sizing: border-box;
}

.kya-native-detail-cart .kya-native-detail-quantity-step,
.kya-native-detail-cart .kya-native-detail-quantity-input {
    min-height: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 50px;
}

.kya-native-detail-cart .kya-native-detail-quantity-input {
    width: 40px;
    flex: 1 1 40px;
    color: var(--kya-heading);
    appearance: textfield;
    -moz-appearance: textfield;
}

.kya-native-detail-quantity-input::-webkit-inner-spin-button,
.kya-native-detail-quantity-input::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.kya-detail-richtext h3 {
    margin: 28px 0 16px;
    padding-top: 28px;
    border-top: 1px solid var(--kya-pale);
    color: var(--kya-muted);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.kya-content-hero,
.kya-content-section,
.kya-contact-section {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    color: var(--fs-color-primary);
}

.kya-content-hero h1 {
    margin: 14px 0 24px;
    color: var(--kya-heading);
    font-family: 'Lora', Georgia, serif;
    font-size: 54px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.kya-content-hero p,
.kya-content-section p,
.kya-contact-section p {
    font-size: 17px;
    line-height: 1.7;
}

.kya-content-eyebrow p {
    color: var(--kya-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.kya-content-section h2,
.kya-contact-section h2 {
    color: var(--kya-heading);
    font-family: 'Lora', Georgia, serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.25;
    margin: 0 0 22px;
}

.kya-content-section h3 {
    color: var(--kya-heading);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 23px;
    font-weight: 600;
    margin: 0 0 16px;
}

.kya-content-photo {
    border-radius: 18px;
    overflow: hidden;
}

.kya-content-card > div {
    height: 100%;
    padding: 32px;
    border: 1px solid var(--kya-pale);
    border-radius: 16px;
    background: var(--kya-neutral-surface);
}

.kya-content-card p {
    font-size: 15px;
}

.kya-contact-address > div {
    padding: 32px;
    border: 1px solid var(--kya-pale);
    border-radius: 16px;
    background: var(--kya-neutral-surface);
}

.kya-contact-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.kya-contact-form select,
.kya-contact-form textarea {
    width: 100%;
    margin: 8px 0 0;
    border: 1px solid var(--kya-border);
    border-radius: 8px;
    background: var(--kya-white);
    box-shadow: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
}

.kya-contact-form textarea {
    min-height: 160px;
}

.kya-contact-form input[type="file"] {
    padding: 12px;
    font-size: 14px;
}

.kya-contact-form input[type="submit"] {
    min-height: 48px;
    padding: 10px 34px;
    border: 0;
    border-radius: 99px;
    background: var(--kya-heading);
    color: var(--kya-white);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    text-transform: none;
    letter-spacing: 0;
}

.kya-contact-form label {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
}

.kya-contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.kya-contact-form small {
    color: var(--kya-muted);
    font-size: 12px;
}

.kya-contact-form .kya-contact-acceptance {
    display: block;
    margin: 18px 0;
    font-size: 14px;
}

.kya-contact-form .kya-contact-form-error {
    display: block;
    margin-top: 6px;
    color: var(--fs-color-alert);
    font-size: 13px;
}

@media (max-width: 849px) {
    .kya-content-hero h1 {
        font-size: 42px;
    }

    .kya-content-section h2,
    .kya-contact-section h2 {
        font-size: 30px;
    }
}

@media (max-width: 549px) {
    .kya-native-detail-notices {
        padding: 0 16px !important;
    }

    .kya-native-detail-breadcrumb {
        margin-inline: 0;
    }

    .kya-content-hero h1 {
        font-size: 34px;
    }

    .kya-content-hero p,
    .kya-content-section p,
    .kya-contact-section p {
        font-size: 16px;
    }

    .kya-content-card > div,
    .kya-contact-address > div {
        padding: 24px;
    }

    .kya-contact-form-grid {
        grid-template-columns: 1fr;
    }
}

/* KYA · Native shopping cart */
.kya-cart-page-container {
    width: 100%;
    margin-inline: auto;
}

.kya-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.82fr) minmax(0, 1fr);
    gap: 28px;
    margin: 0;
    max-width: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    color: var(--fs-color-base);
    font-size: 16px;
}

.kya-cart-layout > .kya-cart-main,
.kya-cart-layout > .kya-cart-aside {
    width: 100%;
    max-width: none;
    padding: 0;
    border: 0 !important;
}

.kya-cart-scroll {
    overflow: visible;
}

.kya-cart-table {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
}

.kya-cart-table thead th {
    padding: 17px 12px;
    border-top: 1px solid var(--kya-pale);
    border-bottom: 0;
    background: var(--kya-neutral-surface);
    color: var(--fs-color-primary);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    white-space: nowrap;
}

.kya-cart-table thead th:first-child {
    padding-left: 64px;
    border-left: 1px solid var(--kya-pale);
    border-radius: 8px 0 0;
}

.kya-cart-table thead th:last-child {
    border-right: 1px solid var(--kya-pale);
    border-radius: 0 8px 0 0;
}

.kya-cart-item > td {
    padding: 24px 12px;
    border-bottom: 1px solid var(--kya-pale);
    background: var(--kya-white);
    vertical-align: middle;
}

.kya-cart-item > td:first-child {
    padding-left: 20px;
    border-left: 1px solid var(--kya-pale);
}

.kya-cart-item > td:last-child {
    padding-right: 20px;
    border-right: 1px solid var(--kya-pale);
}

.kya-cart-table tbody tr:nth-last-child(2) > td:first-child {
    border-bottom-left-radius: 8px;
}

.kya-cart-table tbody tr:nth-last-child(2) > td:last-child {
    border-bottom-right-radius: 8px;
}

.kya-cart-table .kya-cart-photo {
    width: 108px;
    min-width: 108px;
    max-width: none;
    padding-inline: 8px;
}

.kya-cart-photo img {
    width: 100%;
    height: 112px;
    object-fit: contain;
}

.kya-cart-name,
.kya-cart-name a {
    color: var(--fs-color-base);
    font-size: 17px;
    line-height: 1.5;
}

.kya-cart-price,
.kya-cart-subtotal {
    white-space: nowrap;
    font-size: 17px;
    font-weight: 700;
}

.kya-cart-remove {
    width: 48px;
}

.kya-cart-remove a {
    width: 30px;
    height: 30px;
    border: 2px solid var(--kya-neutral-surface);
    color: var(--kya-soft);
    font-size: 23px;
    line-height: 25px;
}

.kya-cart-count .kya-cart-quantity {
    display: inline-flex;
    width: 112px;
    height: 44px;
    margin: 0;
    border: 1px solid var(--kya-neutral-surface);
    border-radius: 7px;
    overflow: hidden;
    box-shadow: none;
}

.kya-cart-quantity .kya-cart-step,
.kya-cart-quantity .kya-cart-quantity-input {
    width: 36px;
    min-width: 0;
    height: 42px;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--kya-neutral-surface) !important;
    box-shadow: none !important;
    color: var(--fs-color-primary);
    font-size: 19px;
    line-height: 42px;
}

.kya-cart-quantity .kya-cart-quantity-input {
    flex: 1;
    border-inline: 1px solid var(--kya-neutral-surface) !important;
    background: var(--kya-white) !important;
    color: var(--fs-color-base);
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.kya-cart-quantity-input::-webkit-inner-spin-button,
.kya-cart-quantity-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.kya-cart-table .kya-cart-actions {
    padding: 30px 0 0;
    border: 0;
}

.kya-cart-continue {
    display: inline-block;
    float: none;
    margin-right: 10px;
}

.kya-cart-continue a,
.kya-cart-update {
    min-height: 47px;
    padding: 8px 23px;
    margin: 0 0 12px;
    border: 1px solid var(--fs-color-primary);
    border-radius: 6px;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: 0;
    box-shadow: none;
}

.kya-cart-continue a {
    color: var(--fs-color-primary);
    background: var(--kya-white);
}

.kya-cart-actions .kya-cart-update {
    float: none;
    background: var(--fs-color-primary);
    color: var(--kya-white);
}

.kya-cart-update:disabled {
    opacity: 0.55;
}

.kya-cart-sidebar {
    padding: 0 22px 18px;
    border: 1px solid var(--kya-pale);
    border-radius: 8px;
    overflow: hidden;
    background: var(--kya-white);
}

.kya-cart-totals > h2,
.kya-cart-totals > table:first-of-type > thead th {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 21px;
    font-weight: 700;
    color: var(--fs-color-base);
}

.kya-cart-totals > h2 {
    margin: 0 -22px 8px;
    padding: 17px 22px;
    border: 0;
    background: var(--kya-neutral-surface);
    line-height: 1.4;
}

.kya-cart-totals table {
    margin-bottom: 0;
    border: 0;
}

.kya-cart-totals > table:first-of-type {
    width: calc(100% + 44px);
    max-width: none;
    margin: 0 -22px 8px;
    background: var(--kya-neutral-surface);
}

.kya-cart-totals > table:first-of-type > thead th {
    padding: 17px 22px;
    border: 0;
    line-height: 1.4;
}

.kya-cart-totals th,
.kya-cart-totals td {
    padding: 9px 0;
    border-bottom: 1px solid var(--kya-neutral-surface);
    font-size: 17px;
    line-height: 1.5;
}

.kya-cart-totals th {
    color: var(--kya-muted);
    font-weight: 400;
}

.kya-cart-totals td {
    color: var(--fs-color-base);
    font-weight: 700;
}

.kya-cart-checkout-wrap {
    padding: 14px 0 18px;
}

.kya-cart-checkout-wrap .kya-cart-checkout {
    display: block;
    padding: 10px 14px;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: var(--fs-color-primary);
    color: var(--kya-white);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: 0;
    box-shadow: none;
}

.kya-cart-coupon h3 {
    margin: 0 0 15px;
    padding: 0 0 9px;
    border-bottom: 1px solid var(--kya-neutral-surface);
    color: var(--kya-muted);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.kya-cart-coupon-input,
.kya-cart-coupon .kya-cart-apply {
    width: 100%;
    height: 44px;
    min-height: 44px;
    margin: 0 0 14px;
    border: 1px solid var(--kya-neutral-surface);
    border-radius: 6px;
    box-shadow: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 17px;
}

.kya-cart-coupon-input::placeholder {
    color: var(--kya-soft);
}

.kya-cart-coupon .kya-cart-apply {
    margin-bottom: 0;
    background: var(--kya-neutral-surface);
    color: var(--kya-muted);
    font-weight: 500;
    text-shadow: none;
}

@media (max-width: 1099px) {
    .kya-cart-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .kya-cart-aside {
        max-width: 600px !important;
        justify-self: end;
    }
}

@media (max-width: 549px) {
    .kya-cart-layout {
        gap: 24px;
    }

    .kya-cart-table .kya-cart-photo {
        display: table-cell;
        width: 68px;
        min-width: 68px;
        padding-inline: 4px;
    }

    .kya-cart-photo img {
        height: 80px;
    }

    .kya-cart-item > td {
        padding: 16px 5px;
    }

    .kya-cart-item > td:first-child {
        padding-left: 8px;
    }

    .kya-cart-item > td:last-child {
        padding-right: 8px;
    }

    .kya-cart-name,
    .kya-cart-name a {
        font-size: 14px;
    }

    .kya-cart-count .kya-cart-quantity {
        width: 86px;
        height: 38px;
    }

    .kya-cart-quantity .kya-cart-step,
    .kya-cart-quantity .kya-cart-quantity-input {
        width: 28px;
        height: 36px;
        line-height: 36px;
        font-size: 16px;
    }

    .kya-cart-continue {
        display: block;
        margin-right: 0;
    }

    .kya-cart-continue a,
    .kya-cart-actions .kya-cart-update {
        width: 100%;
        text-align: center;
        font-size: 14px;
    }
}

/* KYA · Cart alignment and native checkout */
.kya-cart-page-container .kya-cart-layout {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kya-cart-layout::after,
.kya-checkout-layout::after {
    content: none;
    display: none;
}

.kya-checkout-page-container {
    width: 100%;
    margin-inline: auto;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    color: var(--kya-heading);
    font-size: 16px;
}

.kya-checkout-page-container .kya-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr);
    align-items: start;
    gap: 30px;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
}

.kya-checkout-layout > .kya-checkout-main,
.kya-checkout-layout > .kya-checkout-aside {
    width: 100%;
    max-width: none;
    padding: 0;
}

.kya-checkout-fields h3,
.kya-checkout-order-title {
    margin: 0 0 18px;
    color: var(--fs-color-primary);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
}

.kya-checkout-fields {
    margin-bottom: 26px;
}

.kya-checkout-fields:first-child {
    padding-top: 25px;
    border-top: 1px solid var(--kya-border);
}

.kya-checkout-fields label {
    margin-bottom: 7px;
    color: var(--kya-heading);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.kya-checkout-fields label abbr {
    color: var(--fs-color-primary);
    text-decoration: none;
}

.kya-checkout-fields input:not([type="checkbox"]):not([type="radio"]),
.kya-checkout-fields select,
.kya-checkout-fields textarea,
.kya-checkout-fields [role="combobox"] {
    width: 100%;
    min-height: 48px;
    padding: 10px 16px;
    margin-bottom: 8px;
    border: 1px solid var(--kya-border);
    border-radius: 6px;
    background-color: var(--kya-white);
    color: var(--kya-heading);
    box-shadow: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
}

.kya-checkout-fields [role="combobox"] {
    display: flex;
    align-items: center;
    padding: 6px 10px;
}

.kya-checkout-fields [role="combobox"] > span:first-child {
    padding-left: 6px;
    line-height: 30px;
}

.kya-checkout-fields [role="combobox"] > span:last-child {
    top: 11px;
    right: 8px;
}

.kya-checkout-fields input:focus,
.kya-checkout-fields select:focus,
.kya-checkout-fields textarea:focus {
    border-color: var(--kya-muted);
    box-shadow: 0 0 0 2px var(--kya-pale);
    outline: none;
}

.kya-checkout-fields input::placeholder,
.kya-checkout-fields textarea::placeholder {
    color: var(--kya-border-strong);
}

.kya-checkout-fields p {
    margin-bottom: 13px;
}

.kya-checkout-fields textarea {
    min-height: 76px;
    resize: vertical;
}

.kya-checkout-aside .kya-checkout-panel {
    padding: 30px 25px;
    border: 1px solid var(--kya-soft);
    border-radius: 7px;
    background: var(--kya-neutral-surface);
    box-shadow: 0 4px 18px var(--kya-shadow);
}

.kya-checkout-sidebar {
    overflow: visible;
}

.kya-checkout-table {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 6px;
    background: var(--kya-white);
    overflow: hidden;
    margin-bottom: 22px;
}

.kya-checkout-table th,
.kya-checkout-table td {
    padding: 16px;
    border-bottom: 1px solid var(--kya-border);
    color: var(--kya-heading);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

.kya-checkout-table thead th {
    background: var(--kya-pale);
    color: var(--fs-color-primary);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0;
}

.kya-checkout-table tfoot tr:last-child th,
.kya-checkout-table tfoot tr:last-child td {
    border-bottom: 0;
    font-weight: 700;
    color: var(--fs-color-primary);
}

.kya-checkout-table td:last-child,
.kya-checkout-table th:last-child {
    text-align: right;
}

.kya-checkout-payment {
    background: transparent;
}

.kya-checkout-payment p {
    color: var(--fs-color-primary);
    font-size: 16px;
    line-height: 1.8;
}

.kya-checkout-payment .kya-checkout-place-order {
    width: 100%;
    min-height: 60px;
    padding: 12px 20px;
    margin: 18px 0 22px;
    border: 0;
    border-radius: 6px;
    background: var(--fs-color-primary);
    color: var(--kya-white);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 32px;
    letter-spacing: 0;
    box-shadow: none;
}

.kya-checkout-privacy p {
    margin-bottom: 0;
    color: var(--kya-muted);
    font-size: 14px;
    line-height: 1.8;
}

.kya-checkout-coupon-toggle {
    padding: 16px 24px 8px;
    border: 1px dashed var(--kya-soft);
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
    background: var(--kya-neutral-surface);
    color: var(--fs-color-primary);
}

.kya-checkout-coupon-toggle > div {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--fs-color-primary);
    font-size: 17px;
}

.kya-checkout-coupon-toggle a {
    color: inherit;
}

.kya-checkout-coupon-form {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 14px;
    padding: 4px 24px 20px;
    margin: 0 0 32px;
    border: 1px dashed var(--kya-soft);
    border-top: 0;
    border-radius: 0 0 7px 7px;
    background: var(--kya-neutral-surface);
}

.kya-checkout-coupon-form .kya-checkout-first {
    flex: 1;
    width: auto;
    padding: 0;
    margin: 0;
}

.kya-checkout-coupon-form > div {
    width: 100%;
}

.kya-checkout-coupon-form .kya-checkout-last {
    width: auto;
    padding: 0;
    margin: 0;
}

.kya-checkout-coupon-input {
    height: 50px;
    margin: 0;
    border: 1px solid var(--kya-border);
    border-radius: 6px;
    background: var(--kya-white);
    box-shadow: none;
    font-size: 17px;
}

.kya-checkout-coupon-form .kya-checkout-coupon-apply {
    min-height: 50px;
    padding: 8px 24px;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: var(--fs-color-primary);
    color: var(--kya-white);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 17px;
    line-height: 34px;
    letter-spacing: 0;
    box-shadow: none;
}

@media (max-width: 849px) {
    .kya-checkout-page-container .kya-checkout-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .kya-checkout-aside .kya-checkout-panel {
        padding: 24px 18px;
    }
}

@media (max-width: 549px) {
    .kya-checkout-coupon-toggle {
        padding-inline: 16px;
    }

    .kya-checkout-coupon-form {
        gap: 10px;
        padding-inline: 16px;
    }

    .kya-checkout-coupon-form .kya-checkout-coupon-apply {
        padding-inline: 14px;
        font-size: 14px;
    }

    .kya-checkout-fields h3,
    .kya-checkout-order-title {
        font-size: 21px;
    }

    .kya-checkout-fields label {
        font-size: 15px;
    }

    .kya-checkout-table th,
    .kya-checkout-table td {
        padding: 12px 9px;
        font-size: 14px;
    }
}

/* KYA · Editable manufacturing service page */
.kya-service-intro,
.kya-service-content {
    font-family: 'Google Sans Flex', Arial, sans-serif;
    color: var(--fs-color-base);
}

.kya-service-title h1 {
    margin: 0 0 26px;
    color: var(--fs-color-secondary);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.kya-service-factory {
    margin: 0;
}

.kya-service-factory img {
    width: 100%;
    height: auto;
    display: block;
}

.kya-service-panel > div {
    padding: 0 48px 45px;
    border-radius: 100px 100px 0 0;
    background: var(--kya-neutral-surface);
}

.kya-service-consult {
    padding-bottom: 22px;
}

.kya-service-consult .kya-service-consult-button {
    min-height: 48px;
    padding: 8px 40px;
    margin: -20px 0 0;
    border: 0;
    background: var(--kya-border);
    color: var(--kya-white);
    box-shadow: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 32px;
    letter-spacing: 0.02em;
}

.kya-service-process-slot {
    padding-bottom: 30px;
}

.kya-service-process-slot > div {
    min-height: 220px;
    padding: 20px;
    border: 1px dashed var(--kya-soft);
    border-radius: 8px;
    background: var(--kya-neutral-surface);
}

.kya-service-process-slot > div:has(img) {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.kya-service-copy h2 {
    margin: 0 0 12px;
    color: var(--fs-color-base);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.4;
}

.kya-service-copy h3 {
    margin: 22px 0 5px;
    color: var(--fs-color-base);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}

.kya-service-copy p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.75;
}

@media (max-width: 849px) {
    .kya-service-panel > div {
        padding: 0 28px 30px;
        border-radius: 70px 70px 0 0;
    }
}

@media (max-width: 549px) {
    .kya-service-title h1 {
        margin-bottom: 20px;
        font-size: 23px;
    }

    .kya-service-panel > div {
        padding: 0 20px 24px;
        border-radius: 45px 45px 0 0;
    }

    .kya-service-consult .kya-service-consult-button {
        padding-inline: 24px;
        font-size: 14px;
    }

    .kya-service-copy h2 {
        font-size: 22px;
    }

    .kya-service-copy h3 {
        font-size: 16px;
    }

    .kya-service-copy p {
        font-size: 15px;
    }
}

/* KYA · Contact reference and native Follow Icons */
.kya-contact-reference,
.kya-contact-social-section {
    background: var(--kya-neutral-surface);
    color: var(--fs-color-base);
    font-family: 'Google Sans Flex', Arial, sans-serif;
}

.kya-contact-reference-title h1 {
    margin: 0 0 15px;
    color: var(--kya-border-strong);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
}

.kya-contact-reference-intro p {
    margin: 0;
    color: var(--fs-color-base);
    font-size: 16px;
    line-height: 1.3;
}

.kya-contact-reference-intro a {
    color: inherit;
    text-decoration: underline;
}

.kya-contact-reference-form {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    text-align: left;
}

.kya-contact-reference-form .kya-contact-reference-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
}

.kya-contact-reference-form p {
    margin: 0 0 19px;
}

.kya-contact-reference-form label {
    display: block;
    margin: 0;
    color: var(--kya-heading);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
}

.kya-contact-reference-form input:not([type="submit"]),
.kya-contact-reference-form select,
.kya-contact-reference-form textarea {
    display: block;
    width: 100%;
    height: 40px;
    min-height: 40px;
    padding: 8px 12px;
    margin: 0;
    border: 0;
    border-radius: 4px;
    background-color: var(--kya-white);
    color: var(--kya-heading);
    box-shadow: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 14px;
    line-height: 24px;
}

.kya-contact-reference-form select {
    padding-right: 32px;
}

.kya-contact-reference-form textarea {
    height: 108px;
    min-height: 108px;
    resize: vertical;
}

.kya-contact-reference-form input:focus,
.kya-contact-reference-form select:focus,
.kya-contact-reference-form textarea:focus {
    outline: 1px solid var(--kya-border-strong);
    outline-offset: 1px;
}

.kya-contact-reference-form input[type="submit"] {
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 5px 16px;
    margin: 0;
    border: 1px solid var(--fs-color-primary);
    border-radius: 4px;
    background: transparent;
    color: var(--kya-heading);
    box-shadow: none;
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 28px;
    text-transform: none;
    letter-spacing: 0;
}

.kya-contact-reference-form input[type="submit"]:hover {
    background: var(--kya-pale);
}

.kya-contact-social-section .kya-contact-follow,
.kya-footer-native-follow {
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
}

.kya-contact-social-section .kya-contact-follow {
    justify-content: center;
}

.kya-contact-social-section .kya-contact-follow a,
.kya-footer-native-follow a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-width: 30px;
    height: 36px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: var(--kya-muted) !important;
    box-shadow: none;
    font-size: 30px;
    line-height: 1;
}

.kya-contact-follow a:nth-of-type(3),
.kya-footer-native-follow a:nth-of-type(3) {
    order: 4;
}

.kya-contact-follow a:nth-of-type(4),
.kya-footer-native-follow a:nth-of-type(4) {
    order: 3;
}

.kya-footer-native-follow {
    margin-top: 20px;
    gap: 22px;
}

@media (max-width: 549px) {
    .kya-contact-reference-title h1 {
        font-size: 25px;
    }

    .kya-contact-reference-intro p {
        font-size: 13px;
        line-height: 1.5;
    }

    .kya-contact-reference-form .kya-contact-reference-grid {
        gap: 14px;
    }
}

/* KYA · Footer spacing and colors from the original design */
.kya-native-footer-panel .kya-footer-connect > div {
    padding: 48px 56px !important;
    color: var(--kya-heading);
}

.kya-native-footer-panel .kya-footer-contact > div {
    padding: 52px 56px 48px !important;
}

.kya-footer-connect .kya-footer-logo {
    width: 110px !important;
    max-width: 100%;
    margin: 0;
}

.kya-native-footer .kya-footer-connect h2 {
    margin: 14px 0 18px;
    color: var(--kya-heading);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
}

.kya-native-footer .kya-footer-connect p {
    margin: 0;
    color: var(--fs-color-primary);
    font-size: 16px;
    line-height: 1.6;
}

.kya-native-footer .kya-footer-contact h2 {
    margin: 0 0 18px;
    color: var(--kya-white);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
}

.kya-footer-contact .kya-footer-contact-icons {
    min-height: 24px;
    margin: 0 0 8px;
    gap: 12px !important;
}

.kya-native-footer .kya-footer-contact-icons p {
    margin: 0;
    color: var(--kya-neutral-surface);
    font-size: 16px;
    line-height: 24px;
}

.kya-native-footer .kya-footer-contact-icons i {
    color: var(--kya-neutral-surface);
    font-size: 17px;
}

.kya-native-footer .kya-footer-contact .kya-native-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 186px;
    min-height: 52px;
    padding: 12px 30px;
    margin: 16px 0 0;
    border: 0;
    border-radius: 99px;
    background: var(--kya-surface-alt) !important;
    color: var(--kya-heading) !important;
    font-size: 16px;
    font-weight: 600;
    box-shadow: none;
}

.kya-native-footer .kya-footer-native-follow {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 24px;
}

.kya-native-footer .kya-footer-native-follow a {
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: var(--fs-color-secondary) !important;
    color: var(--kya-white) !important;
    font-size: 18px;
    line-height: 44px;
    order: 0;
}

.kya-native-footer .kya-footer-native-follow i {
    font-size: 18px;
    line-height: 1;
}

.kya-native-footer .kya-footer-native-follow a:nth-of-type(4) {
    order: 5;
}

.kya-native-footer .kya-footer-native-follow a:nth-of-type(5) {
    order: 4;
}

.kya-native-footer .kya-native-copyright {
    padding: 28px 0 0;
    margin-inline: auto;
}

.kya-native-footer .kya-native-copyright p,
.kya-native-footer .kya-native-copyright a {
    color: var(--fs-color-primary);
    font-size: 12px;
    line-height: 1.6;
}

@media (max-width: 849px) {
    .kya-native-footer-panel .kya-footer-connect > div,
    .kya-native-footer-panel .kya-footer-contact > div {
        padding: 36px 30px !important;
    }

    .kya-native-footer .kya-footer-connect h2,
    .kya-native-footer .kya-footer-contact h2 {
        font-size: 28px;
    }
}

@media (max-width: 549px) {
    .kya-native-footer-panel .kya-footer-connect > div,
    .kya-native-footer-panel .kya-footer-contact > div {
        padding: 32px 24px !important;
    }

    .kya-native-footer .kya-native-copyright {
        padding-top: 22px;
    }
}

/* KYA · Shared heading scale and product button states */
.kya-native-page .kya-native-heading h2,
.kya-native-page .kya-native-about-copy h2,
.kya-catalog-title,
.kya-native-detail-title,
.kya-detail-description h2,
.kya-native-detail-related .kya-native-detail-related-title,
.kya-content-hero h1,
.kya-content-section h2,
.kya-service-title h1,
.kya-service-copy h2,
.kya-contact-reference-title h1 {
    font-size: 52px;
    line-height: 1.2;
}

.kya-native-products .kya-product-action a,
.kya-native-detail-related .kya-product-action a,
.kya-catalog-action a {
    background: transparent;
    color: var(--fs-color-primary);
}

.kya-native-products .kya-product-action a:hover,
.kya-native-products .kya-product-action a:focus-visible,
.kya-native-detail-related .kya-product-action a:hover,
.kya-native-detail-related .kya-product-action a:focus-visible,
.kya-catalog-action a:hover,
.kya-catalog-action a:focus-visible {
    background: var(--fs-color-primary);
    border-color: var(--fs-color-primary);
    color: var(--kya-white);
}

@media (max-width: 849px) {
    .kya-native-page .kya-native-heading h2,
    .kya-native-page .kya-native-about-copy h2,
    .kya-catalog-title,
    .kya-native-detail-title,
    .kya-detail-description h2,
    .kya-native-detail-related .kya-native-detail-related-title,
    .kya-content-hero h1,
    .kya-content-section h2,
    .kya-service-title h1,
    .kya-service-copy h2,
    .kya-contact-reference-title h1 {
        font-size: 40px;
    }
}

@media (max-width: 549px) {
    .kya-native-page .kya-native-heading h2,
    .kya-native-page .kya-native-about-copy h2,
    .kya-catalog-title,
    .kya-native-detail-title,
    .kya-detail-description h2,
    .kya-native-detail-related .kya-native-detail-related-title,
    .kya-content-hero h1,
    .kya-content-section h2,
    .kya-service-title h1,
    .kya-service-copy h2,
    .kya-contact-reference-title h1 {
        font-size: 32px;
    }
}


/* KYA · Header colors use the same native Flatsome palette. */
body .kya-header-announcement {
    background-color: var(--kya-heading) !important;
    color: var(--kya-white);
}

.kya-header-menu {
    background-color: var(--fs-color-secondary) !important;
}

.kya-header-menu .kya-header-link {
    color: var(--kya-white) !important;
}

.kya-header-menu .kya-header-link:hover,
.kya-header-menu .kya-header-link:focus-visible,
.kya-header-menu .kya-header-link[aria-current="page"] {
    color: var(--kya-soft) !important;
}

.kya-native-page,
.kya-site-footer {
    color: var(--fs-color-base);
}

.kya-detail-richtext a,
.kya-native-footer .kya-native-copyright a,
.kya-checkout-privacy a,
.kya-contact-reference-intro a {
    color: var(--fs-experimental-link-color);
}

.kya-detail-richtext a:hover,
.kya-native-footer .kya-native-copyright a:hover,
.kya-checkout-privacy a:hover,
.kya-contact-reference-intro a:hover {
    color: var(--fs-experimental-link-color-hover);
}


/* KYA · Restore product section hierarchy from the design.
   Separate semantic surfaces; both continue to follow Flatsome Primary. */
:root {
    --kya-product-section: color-mix(in srgb, var(--fs-color-primary) 3%, var(--kya-white));
    --kya-product-card: color-mix(in srgb, var(--fs-color-primary) 8%, var(--kya-white));
    --kya-product-badge: color-mix(in srgb, var(--fs-color-primary) 23%, var(--kya-white));
}

.kya-native-products {
    background-color: var(--kya-product-section) !important;
}

.kya-native-products .kya-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 16px 16px 20px;
    border-radius: 18px;
    background: var(--kya-product-card);
}

.kya-native-products .kya-product-photo {
    width: 100%;
    flex: 0 0 auto;
    border-radius: 0;
}

.kya-native-products .kya-product-photo::before {
    left: 0;
    top: 0;
    padding: 3px 13px;
    background: var(--kya-product-badge);
    color: var(--fs-color-primary);
    font-size: 12px;
    line-height: 18px;
}

.kya-native-products .kya-product-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px 0 0 !important;
    text-align: left;
}

.kya-native-products .kya-product-category {
    margin: 0 0 8px;
    color: var(--kya-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.5;
}

.kya-native-products .kya-product-name,
.kya-native-products .kya-product-name a {
    margin: 0;
    color: var(--kya-heading);
    font-family: 'Google Sans Flex', Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}

.kya-native-products .kya-product-description {
    min-height: 42px;
    margin: 10px 0 16px;
    color: var(--fs-color-base);
    font-size: 16px;
    line-height: 1.75;
}

.kya-native-products .kya-product-action {
    width: 100%;
    margin-top: auto;
}

.kya-native-products .kya-product-action a {
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--kya-heading);
    border-radius: 99px;
    background: transparent;
    color: var(--fs-color-secondary);
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
}

.kya-native-products .kya-product-action a:hover,
.kya-native-products .kya-product-action a:focus-visible {
    border-color: var(--fs-color-primary);
    background: var(--fs-color-primary);
    color: var(--kya-white);
}

.kya-native-products .kya-native-product-list > button {
    width: 48px;
    height: 48px;
    color: var(--kya-heading);
}

.kya-native-products .kya-native-product-list > button svg {
    display: none;
}

.kya-native-products .kya-native-product-list > button::before {
    content: '→';
    font-family: Arial, sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
}

.kya-native-products .kya-native-product-list > button[aria-label="Previous"]::before {
    content: '←';
}

@media (max-width: 549px) {
    .kya-native-products .kya-product-card {
        padding: 12px;
    }

    .kya-native-products .kya-native-product-list > button {
        width: 34px;
        height: 34px;
    }
}

/* KYA · Keep independent icon colors from the design. */
:root {
    --kya-rating-icon: #f0a35e;
    --kya-contact-social-icon: #a77a87;
}

.kya-contact-social-section .kya-contact-follow a {
    color: var(--kya-contact-social-icon) !important;
}

.kya-native-footer .kya-footer-native-follow a {
    background: var(--kya-black) !important;
    color: var(--kya-white) !important;
}
