body.ktart-shop-design {
    --ktart-navy: #122238;
    --ktart-navy-soft: #223b59;
    --ktart-pink: #efd5da;
    --ktart-pink-strong: #d9abb5;
    --ktart-pink-soft: #f8ecee;
    --ktart-cream: #f6f1ed;
    --ktart-white: #fff;
    --ktart-border: #ddd6d0;
    --ktart-radius-card: 18px;
    --ktart-radius-control: 12px;
    --ktart-shadow: 0 14px 40px rgba(18, 34, 56, .08);
    --ktart-focus: 0 0 0 3px rgba(18, 34, 56, .22);
}

.ktart-shop-design *,
.ktart-shop-design *::before,
.ktart-shop-design *::after { box-sizing: border-box; }

.ktart-shop-design .wp-site-blocks main,
.ktart-shop-design main.wp-block-group { min-width: 0; overflow: visible; }

/* Storefront */
.ktart-shop-home {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

.ktart-shop-home > .ktart-shop-hero,
.ktart-shop-home > .ktart-shop-section,
.ktart-shop-home > .ktart-shop-promos,
.ktart-shop-home > .ktart-trust { width: 100%; max-width: 100% !important; min-width: 0; }

.ktart-shop-hero {
    position: relative;
    gap: clamp(2rem, 5vw, 5rem);
    margin-top: 1rem;
    padding: clamp(2rem, 5vw, 5rem);
    border-radius: 24px;
    background: linear-gradient(135deg, #f8eeee 0%, #f2ebe6 58%, #ebe5e0 100%);
    overflow: hidden;
}

.ktart-shop-hero::after {
    content: "";
    position: absolute;
    right: -7rem;
    bottom: -8rem;
    width: 21rem;
    height: 21rem;
    border-radius: 50%;
    background: rgba(239, 213, 218, .66);
    pointer-events: none;
}

.ktart-shop-hero > * { position: relative; z-index: 1; min-width: 0; }
.ktart-shop-hero h1 { max-width: 14ch; margin-top: .45rem; color: var(--ktart-navy); line-height: .98; letter-spacing: -.035em; hyphens: none; overflow-wrap: normal; word-break: normal; }
.ktart-shop-hero p { max-width: 42rem; }
.ktart-kicker { display: inline-flex; width: fit-content; margin: 0; padding: .38rem .75rem; border-radius: 999px; background: rgba(255,255,255,.68); color: var(--ktart-navy-soft); font-size: .8rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ktart-hero-product { min-width: 0; padding: 1rem; border-radius: var(--ktart-radius-card); background: rgba(255,255,255,.55); box-shadow: var(--ktart-shadow); }
.ktart-hero-product .wc-block-product { margin: 0 !important; }
.ktart-hero-product img { width: 100%; aspect-ratio: 1/1; border-radius: 14px; background: #fff; object-fit: contain; }

.ktart-shop-home .wp-block-button__link,
.ktart-shop-home .ktart-product-search-form button {
    min-height: 48px;
    border-radius: 999px;
    font-weight: 700;
    transition: transform .15s ease, box-shadow .15s ease;
}

.ktart-shop-home .wp-block-button__link:hover,
.ktart-shop-home .ktart-product-search-form button:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(18,34,56,.12); }

.ktart-shop-home a:focus-visible,
.ktart-shop-home button:focus-visible,
.ktart-shop-home input:focus-visible,
.single-product.ktart-shop-design a:focus-visible,
.single-product.ktart-shop-design button:focus-visible,
.single-product.ktart-shop-design input:focus-visible,
.single-product.ktart-shop-design select:focus-visible { outline: 2px solid var(--ktart-navy); outline-offset: 3px; box-shadow: var(--ktart-focus); }

.ktart-shop-search { width: min(100%, 760px); max-width: 760px !important; min-width: 0; justify-self: center; padding: clamp(1rem, 2.5vw, 1.35rem); border: 1px solid rgba(18,34,56,.08); border-radius: var(--ktart-radius-card); background: rgba(255,255,255,.72); box-shadow: 0 10px 28px rgba(18,34,56,.055); }
.ktart-shop-search h2 { margin: 0 0 .35rem; color: var(--ktart-navy); }
.ktart-product-search-help { margin: 0 0 .8rem; color: #657080; font-size: .95rem; }
.ktart-product-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; min-width: 0; }
.ktart-product-search-form input[type="search"] { width: 100%; min-width: 0; min-height: 52px; padding: 0 1rem; border: 1px solid var(--ktart-border); border-right: 0; border-radius: 999px 0 0 999px; background: #fff; color: var(--ktart-navy); font: inherit; }
.ktart-product-search-form button { min-width: 88px; margin: 0; padding: 0 1.15rem; border: 0; border-radius: 0 999px 999px 0; background: var(--ktart-navy); color: #fff; font: inherit; cursor: pointer; }

.ktart-shop-section { display: grid; min-width: 0; gap: 1.5rem; }
.ktart-section-heading { min-width: 0; align-items: center; gap: .75rem 1.25rem; }
.ktart-section-heading p { margin: 0; }
.ktart-section-heading a { min-height: 44px; display: inline-flex; align-items: center; color: var(--ktart-navy); text-underline-offset: .18em; }
.ktart-section-heading h2,
.ktart-shop-section > h2 { margin: 0; color: var(--ktart-navy); }

/* Product categories: plugin-owned top-level renderer, with legacy Woo class names for stable styling. */
.ktart-shop-design .wc-block-product-categories,
.ktart-shop-design .wc-block-product-categories-list { width: 100%; max-width: none !important; min-width: 0; }

.ktart-shop-design .wc-block-product-categories-list--depth-0 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ktart-shop-design .ktart-shop-home .wc-block-product-categories-list--depth-1,
.ktart-shop-design .ktart-shop-home .wc-block-product-categories-list--depth-2,
.ktart-shop-design .ktart-shop-home .wc-block-product-categories-list--depth-3 { display: none; }

.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
    position: relative;
    min-width: 0;
    min-height: 170px;
    margin: 0;
    border-radius: var(--ktart-radius-card);
    background: #eae5e1;
    overflow: hidden;
}

.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:nth-child(3n+2) { background: var(--ktart-pink-soft); }
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:nth-child(3n+3) { background: #e8eceb; }

.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 170px;
    padding: 1.25rem;
    align-items: flex-end;
    color: var(--ktart-navy);
    font-size: 1.12rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    overflow: hidden;
}

.ktart-shop-design .wc-block-product-categories-list-item__image {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}

.ktart-shop-design .wc-block-product-categories-list-item__image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: .82;
    object-fit: cover;
    transition: transform .25s ease;
}

.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 30% 0 0;
    background: linear-gradient(transparent, rgba(18,34,56,.78));
    pointer-events: none;
}

.ktart-shop-design .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__name { position: relative; z-index: 2; max-width: 100%; color: #fff; overflow-wrap: anywhere; }
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover .wc-block-product-categories-list-item__image img { transform: scale(1.035); }
.ktart-shop-design .ktart-category-card--placeholder {
    border: 1px solid rgba(18,34,56,.08);
    background: #f3efec;
}
.ktart-shop-design .ktart-category-card--placeholder > a { align-items: flex-end; }
.ktart-shop-design .ktart-category-card--placeholder > a::before { display: none; }
.ktart-shop-design .ktart-category-card--placeholder > a::after {
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(18,34,56,.07));
}
.ktart-shop-design .ktart-category-card--placeholder .wc-block-product-categories-list-item__name {
    max-width: 100%;
    color: var(--ktart-navy);
    font-size: 1.18rem;
}
.ktart-shop-design .ktart-category-count-1 { grid-template-columns: minmax(260px, 420px); justify-content: start; }
.ktart-shop-design .ktart-category-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px !important; }
.ktart-shop-design .ktart-category-count-5 { grid-template-columns: repeat(6, minmax(0,1fr)); }
.ktart-shop-design .ktart-category-count-5 > li { grid-column: span 2; }
.ktart-shop-design .ktart-category-count-5 > li:nth-child(4) { grid-column: 2 / span 2; }
.ktart-shop-design .ktart-category-count-5 > li:nth-child(5) { grid-column: 4 / span 2; }
.ktart-shop-design .ktart-category-empty { margin: 0; padding: 1rem 1.1rem; border: 1px solid var(--ktart-border); border-radius: var(--ktart-radius-control); background: rgba(255,255,255,.65); color: #657080; }

/* Product cards and catalogue */
.ktart-product-card,
.ktart-shop-design .wc-block-product-template > li,
.ktart-shop-design ul.products li.product { box-sizing: border-box; min-width: 0; height: 100%; padding: .65rem .65rem 1rem; border: 1px solid rgba(18,34,56,.08); border-radius: var(--ktart-radius-card); background: #fff; box-shadow: 0 8px 24px rgba(18,34,56,.055); transition: transform .18s ease, box-shadow .18s ease; overflow: hidden; }
.ktart-shop-design .ktart-product-card { display: flex; flex-direction: column; min-height: 100%; }
.ktart-shop-design .ktart-product-card .wp-block-post-title { min-height: 2.6em; }
.ktart-shop-design .ktart-product-card .wp-block-woocommerce-product-price { margin-bottom: .65rem; }
.ktart-shop-design .ktart-product-card .wp-block-woocommerce-product-button { margin-top: auto; }
.ktart-shop-design .ktart-product-card .wp-block-button__link,
.ktart-shop-design .ktart-product-card .wc-block-components-product-button__button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.ktart-shop-design .wc-block-product-template > li:hover,
.ktart-shop-design ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--ktart-shadow); }
.ktart-shop-design .wc-block-components-product-image img,
.ktart-shop-design ul.products li.product img { width: 100%; aspect-ratio: 1/1; border-radius: 12px; background: #f8f6f4; object-fit: contain; }
.ktart-shop-design .wc-block-components-product-title,
.ktart-shop-design .woocommerce-loop-product__title { color: var(--ktart-navy); font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
.ktart-shop-design .wc-block-components-product-price,
.ktart-shop-design ul.products li.product .price { color: var(--ktart-navy); font-weight: 750; }

.ktart-shop-design .ktart-shop-section > .wp-block-woocommerce-product-collection,
.ktart-shop-design #ktart-tooted > .wp-block-woocommerce-product-collection,
.ktart-shop-design #koik-tooted > .wp-block-woocommerce-product-collection { display: block; width: 100%; max-width: none !important; min-width: 0; }

.ktart-shop-design .ktart-shop-section .wc-block-product-template,
.ktart-shop-design #ktart-tooted .wc-block-product-template,
.ktart-shop-design #koik-tooted .wc-block-product-template {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 340px)) !important;
    justify-content: start !important;
    gap: clamp(1rem, 2vw, 1.4rem) !important;
}

.ktart-shop-design .ktart-shop-section .wc-block-product-template > li,
.ktart-shop-design #ktart-tooted .wc-block-product-template > li,
.ktart-shop-design #koik-tooted .wc-block-product-template > li { width: 100% !important; min-width: 0 !important; max-width: 340px !important; }

.ktart-shop-design .woocommerce-ordering,
.ktart-shop-design .wc-block-catalog-sorting { display: flex; width: min(100%, 390px); min-width: 0; align-items: center; margin: 0 0 1.5rem auto; }
.ktart-shop-design .woocommerce-ordering select,
.ktart-shop-design .wc-block-catalog-sorting select { width: 100%; min-height: 52px; padding: .7rem 2.8rem .7rem 1rem; border: 1px solid var(--ktart-border); border-radius: var(--ktart-radius-control); background-color: #fff; color: var(--ktart-navy); font: inherit; line-height: 1.35; box-shadow: 0 5px 18px rgba(18,34,56,.05); }

.ktart-shop-design .wp-block-query-pagination { gap: .45rem; margin-top: 2rem; }
.ktart-shop-design .wp-block-query-pagination a,
.ktart-shop-design .wp-block-query-pagination .page-numbers { display: inline-grid; min-width: 42px; min-height: 42px; place-items: center; padding: .45rem .65rem; border: 1px solid var(--ktart-border); border-radius: 999px; background: #fff; color: var(--ktart-navy); text-decoration: none; }
.ktart-shop-design .wp-block-query-pagination .current { background: var(--ktart-navy); color: #fff; }

.ktart-how { padding: clamp(2rem,5vw,4rem); border-radius: 22px; background: #fff; box-shadow: var(--ktart-shadow); }
.ktart-how .wp-block-column { padding: 1.25rem; text-align: center; }
.ktart-step { display: grid; width: 46px; height: 46px; place-items: center; margin: 0 auto 1rem; border-radius: 50%; background: var(--ktart-pink); color: var(--ktart-navy); font-weight: 800; }
.ktart-shop-promos { gap: 1rem; }
.ktart-promo { min-height: 260px; padding: clamp(1.5rem,4vw,3rem); border-radius: 22px; }
.ktart-promo--pink { background: var(--ktart-pink); color: var(--ktart-navy); }
.ktart-promo--navy { background: var(--ktart-navy); color: #fff; }
.ktart-promo--navy h2,
.ktart-promo--navy a { color: #fff; }
.ktart-promo .wp-block-button__link { border-color: currentColor !important; color: inherit !important; }
.ktart-trust { padding: 1.35rem 1.5rem; border-top: 1px solid var(--ktart-border); border-bottom: 1px solid var(--ktart-border); }
.ktart-trust p { margin: 0; color: #5d6570; font-size: .9rem; }
.ktart-trust strong { color: var(--ktart-navy); }

/* Product page. Intentionally scoped to single-product only. */
body.single-product.ktart-shop-design,
.single-product.ktart-shop-design .wp-site-blocks,
.single-product.ktart-shop-design main,
.single-product.ktart-shop-design .wp-block-post-content { width: 100%; max-width: 100%; min-width: 0; overflow-x: hidden; }
@supports (overflow: clip) {
    body.single-product.ktart-shop-design,
    .single-product.ktart-shop-design .wp-site-blocks,
    .single-product.ktart-shop-design main,
    .single-product.ktart-shop-design .wp-block-post-content { overflow-x: clip; }
}
.single-product.ktart-shop-design div.product:has(> .woocommerce-product-gallery):has(> .summary) { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(340px,.98fr); gap: clamp(2rem,5vw,5rem); align-items: start; min-width: 0; }
.single-product.ktart-shop-design div.product > .woocommerce-product-gallery,
.single-product.ktart-shop-design div.product > .summary { min-width: 0; }
.single-product.ktart-shop-design div.product > .woocommerce-product-gallery { position: sticky; top: 2rem; width: 100% !important; margin: 0 !important; }
.single-product.ktart-shop-design .woocommerce-product-gallery .flex-viewport { width: 100%; max-width: 100%; min-width: 0; overflow: hidden !important; }
.single-product.ktart-shop-design .woocommerce-product-gallery__wrapper { border-radius: 20px; background: #fff; overflow: hidden; }
.single-product.ktart-shop-design .woocommerce-product-gallery__image a { display: grid; aspect-ratio: 1/1; place-items: center; }
.single-product.ktart-shop-design .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; max-height: min(68vh,720px); object-fit: contain; }
.single-product.ktart-shop-design .flex-control-thumbs { display: flex !important; gap: .65rem; margin: .8rem 0 0 !important; padding: .25rem .15rem .65rem !important; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-color: var(--ktart-pink-strong) transparent; scrollbar-width: thin; }
.single-product.ktart-shop-design .flex-control-thumbs li { flex: 0 0 82px; width: 82px !important; margin: 0 !important; scroll-snap-align: start; }
.single-product.ktart-shop-design .flex-control-thumbs img { width: 82px !important; height: 82px !important; border: 1px solid var(--ktart-border); border-radius: 10px; background: #fff; object-fit: contain; cursor: pointer; opacity: .72; transition: opacity .15s ease, border-color .15s ease, transform .15s ease; }
.single-product.ktart-shop-design .flex-control-thumbs img:hover { opacity: 1; transform: translateY(-1px); }
.single-product.ktart-shop-design .flex-control-thumbs img.flex-active { border-color: var(--ktart-navy); box-shadow: 0 0 0 2px rgba(18,34,56,.12); opacity: 1; }
.single-product.ktart-shop-design div.product > .summary { width: 100% !important; margin: 0 !important; }
.single-product.ktart-shop-design .summary .product_title { color: var(--ktart-navy); font-size: clamp(2rem,4vw,3.7rem); line-height: 1.02; letter-spacing: -.03em; overflow-wrap: anywhere; }
.single-product.ktart-shop-design .summary .price { color: var(--ktart-navy); font-size: 1.35rem; font-weight: 800; }
.single-product.ktart-shop-design .variations { width: 100%; margin: 1.5rem 0; }
.single-product.ktart-shop-design .variations tr { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: .8rem; align-items: center; margin-bottom: .8rem; }
.single-product.ktart-shop-design .variations th,
.single-product.ktart-shop-design .variations td { display: block; min-width: 0; padding: 0; text-align: left; }
.single-product.ktart-shop-design select { box-sizing: border-box; width: 100%; max-width: 100%; height: 52px; min-height: 52px; padding: .65rem 2.6rem .65rem .9rem; border: 1px solid var(--ktart-border); border-radius: var(--ktart-radius-control); background-color: #fff; color: var(--ktart-navy); font: inherit; line-height: 1.35; vertical-align: middle; }
.single-product.ktart-shop-design .reset_variations { display: inline-block; margin-top: .45rem; color: #596474; font-size: .88rem; }
.single-product.ktart-shop-design form.cart { min-width: 0; }
.single-product.ktart-shop-design form.cart .quantity input { max-width: 100%; min-height: 48px; border: 1px solid var(--ktart-border); border-radius: var(--ktart-radius-control); }
.single-product.ktart-shop-design form.cart .single_add_to_cart_button { min-height: 50px; padding-right: 1.5rem; padding-left: 1.5rem; border-radius: 999px; font-weight: 700; }
.single-product.ktart-shop-design .ktart-midocean-delivery-note,
.single-product.ktart-shop-design .stock { width: fit-content; max-width: 100%; padding: .55rem .8rem; border-radius: 999px; background: #edf4ef; color: #1f5d3c; font-size: .92rem; overflow-wrap: anywhere; }

.single-product.ktart-shop-design .wp-block-woocommerce-product-details { grid-column: 1 / -1; width: 100%; max-width: 100%; min-width: 0; overflow-x: hidden; }
.single-product.ktart-shop-design .woocommerce-tabs { grid-column: 1 / -1; width: 100%; max-width: 100%; min-width: 0; margin-top: clamp(2rem,5vw,4rem); overflow-x: hidden; }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs { display: flex; width: 100%; max-width: 100%; min-width: 0; gap: .4rem; margin: 0 0 1.5rem !important; padding: .35rem !important; border-radius: 14px; background: rgba(255,255,255,.62); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs::before,
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs li::before,
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs li { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 10px !important; background: transparent !important; }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs li a { display: block; padding: .75rem 1rem !important; color: #657080 !important; white-space: nowrap; }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs li.active { background: #fff !important; box-shadow: 0 4px 14px rgba(18,34,56,.08); }
.single-product.ktart-shop-design .woocommerce-tabs ul.tabs li.active a { color: var(--ktart-navy) !important; }
.single-product.ktart-shop-design .woocommerce-Tabs-panel { width: 100%; max-width: 100%; min-width: 0; padding: clamp(1rem,3vw,2rem); border-radius: var(--ktart-radius-card); background: rgba(255,255,255,.55); overflow-x: auto; }
.single-product.ktart-shop-design .woocommerce-Tabs-panel table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.single-product.ktart-shop-design .woocommerce-Tabs-panel th,
.single-product.ktart-shop-design .woocommerce-Tabs-panel td { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.single-product.ktart-shop-design .related.products,
.single-product.ktart-shop-design .up-sells { grid-column: 1 / -1; min-width: 0; }

@media (max-width: 900px) {
    .ktart-shop-design .wc-block-product-categories-list--depth-0 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ktart-shop-design .ktart-category-count-5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ktart-shop-design .ktart-category-count-5 > li,
    .ktart-shop-design .ktart-category-count-5 > li:nth-child(4),
    .ktart-shop-design .ktart-category-count-5 > li:nth-child(5) { grid-column: auto; margin-left: 0; }
    .single-product.ktart-shop-design div.product:has(> .woocommerce-product-gallery):has(> .summary) { grid-template-columns: minmax(0,1fr); }
    .single-product.ktart-shop-design div.product > .woocommerce-product-gallery { position: static; }
}

@media (max-width: 620px) {
    .ktart-shop-home { gap: 2.35rem; }
    .ktart-shop-hero { padding: 1.4rem; border-radius: 20px; }
    .ktart-shop-hero h1 { font-size: clamp(2rem, 11vw, 2.4rem) !important; }
    .ktart-product-search-form { grid-template-columns: minmax(0,1fr) auto; }
    .ktart-product-search-form button { min-width: 82px; padding: 0 .95rem; }
    .ktart-section-heading { align-items: flex-start !important; }
    .ktart-shop-design .wc-block-product-categories-list--depth-0 { grid-template-columns: minmax(0,1fr); }
    .ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item,
    .ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a { min-height: 140px; }
    .ktart-section-heading { display: grid !important; grid-template-columns: minmax(0,1fr); justify-items: start !important; }
    .ktart-shop-design .woocommerce-ordering,
    .ktart-shop-design .wc-block-catalog-sorting { width: 100%; margin-left: 0; }
    .single-product.ktart-shop-design .variations tr { grid-template-columns: minmax(0,1fr); gap: .35rem; }
    .single-product.ktart-shop-design .summary .product_title { font-size: clamp(1.9rem, 9vw, 2.25rem); }
    .single-product.ktart-shop-design .wp-block-woocommerce-product-details,
    .single-product.ktart-shop-design .woocommerce-tabs { overflow-x: hidden; }
    .single-product.ktart-shop-design .woocommerce-tabs ul.tabs { position: relative; display: flex !important; width: 100% !important; max-width: 100% !important; overflow-x: auto !important; overflow-y: hidden !important; }
    .single-product.ktart-shop-design .woocommerce-tabs ul.tabs li a { padding: .68rem .82rem !important; font-size: .96rem; }
    .single-product.ktart-shop-design .woocommerce-Tabs-panel { padding: 1rem; }
    .single-product.ktart-shop-design .woocommerce-Tabs-panel table { font-size: .94rem; }
    .single-product.ktart-shop-design .woocommerce-Tabs-panel th,
    .single-product.ktart-shop-design .woocommerce-Tabs-panel td { padding: .65rem .55rem; }
}

@media (max-width: 340px) {
    .ktart-shop-search { padding: 1rem; }
    .ktart-product-search-form { grid-template-columns: minmax(0,1fr); gap: .55rem; }
    .ktart-product-search-form input[type="search"] { padding-left: .9rem; border-right: 1px solid var(--ktart-border); border-radius: 999px; }
    .ktart-product-search-form button { width: 100%; min-width: 0; border-radius: 999px; }
}

@media (max-width: 390px) {
    .single-product.ktart-shop-design .flex-control-thumbs li,
    .single-product.ktart-shop-design .flex-control-thumbs img { width: 72px !important; height: 72px !important; flex-basis: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    .ktart-shop-design *,
    .ktart-shop-design *::before,
    .ktart-shop-design *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .ktart-shop-design .wc-block-product-template > li:hover,
    .ktart-shop-design ul.products li.product:hover,
    .ktart-shop-design .wc-block-product-categories-list-item:hover .wc-block-product-categories-list-item__image img,
    .ktart-shop-home .wp-block-button__link:hover,
    .ktart-shop-home .ktart-product-search-form button:hover { transform: none; }
}

/* 1.1.5 storefront refinement */
.ktart-shop-search {
    width: min(100%, 1180px);
    max-width: 1180px !important;
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(360px, 1.35fr);
    grid-template-areas: "title form" "help form";
    align-items: center;
    column-gap: clamp(1.5rem, 4vw, 4rem);
    row-gap: .2rem;
    padding: clamp(1.15rem, 2vw, 1.6rem) clamp(1.25rem, 3vw, 2rem);
}
.ktart-shop-search h2 { grid-area: title; margin: 0; align-self: end; }
.ktart-shop-search .ktart-product-search-help { grid-area: help; margin: .25rem 0 0; align-self: start; }
.ktart-shop-search .ktart-product-search-form { grid-area: form; align-self: center; }

/* One calm no-image state. No decorative circles or pseudo-placeholder artwork. */
.ktart-shop-design .ktart-category-card--placeholder,
.ktart-shop-design .ktart-category-card--placeholder:nth-child(3n+2),
.ktart-shop-design .ktart-category-card--placeholder:nth-child(3n+3) {
    border: 1px solid rgba(18,34,56,.09);
    background: linear-gradient(135deg, #f6f1ed 0%, #eee8e3 100%);
}
.ktart-shop-design .ktart-category-card--placeholder > a { align-items: flex-end; }
.ktart-shop-design .ktart-category-card--placeholder > a::before { content: none; display: none; }
.ktart-shop-design .ktart-category-card--placeholder > a::after {
    inset: auto 0 0;
    height: 48%;
    background: linear-gradient(transparent, rgba(18,34,56,.08));
}
.ktart-shop-design .ktart-category-card--placeholder .wc-block-product-categories-list-item__name {
    max-width: 100%;
    color: var(--ktart-navy);
}

/* Exactly five categories: three equal cards + two equal cards centred below. */
@media (min-width: 901px) {
    .ktart-shop-design .ktart-category-count-5 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .ktart-shop-design .ktart-category-count-5 > li { grid-column: span 2; }
    .ktart-shop-design .ktart-category-count-5 > li:nth-child(4) { grid-column: 2 / span 2; margin-left: 0; }
    .ktart-shop-design .ktart-category-count-5 > li:nth-child(5) { grid-column: 4 / span 2; margin-left: 0; }
}

/* Recommended products: dynamic Woo collection presented as a carousel-like rail. */
.ktart-shop-design #ktart-tooted.ktart-recommendations {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    column-gap: 1rem;
}
.ktart-shop-design #ktart-tooted.ktart-recommendations > h2 { grid-column: 1; }
.ktart-shop-design #ktart-tooted.ktart-recommendations > .ktart-carousel-controls { grid-column: 2; display: flex; gap: .55rem; }
.ktart-shop-design #ktart-tooted.ktart-recommendations > .wp-block-woocommerce-product-collection { grid-column: 1 / -1; }
.ktart-shop-design #ktart-tooted.ktart-recommendations .wc-block-product-template {
    display: flex !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    gap: 1rem !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--ktart-pink-strong) transparent;
    padding: .15rem .1rem .75rem;
}
.ktart-shop-design #ktart-tooted.ktart-recommendations .wc-block-product-template > li {
    flex: 0 0 clamp(240px, 24vw, 300px);
    width: clamp(240px, 24vw, 300px) !important;
    max-width: 300px !important;
    scroll-snap-align: start;
}
.ktart-carousel-button {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--ktart-border);
    border-radius: 999px;
    background: #fff;
    color: var(--ktart-navy);
    font: inherit;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 5px 16px rgba(18,34,56,.06);
}
.ktart-carousel-button:hover { background: var(--ktart-navy); color: #fff; }
.ktart-carousel-button:focus-visible { outline: 2px solid var(--ktart-navy); outline-offset: 3px; box-shadow: var(--ktart-focus); }

/* Product cards: consistent rhythm and predictable CTA alignment. */
.ktart-shop-design .ktart-product-card .wp-block-post-title,
.ktart-shop-design .wc-block-components-product-title,
.ktart-shop-design .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.ktart-shop-design .ktart-product-card .wp-block-post-title { min-height: 3.9em; }
.ktart-shop-design .ktart-product-card .wp-block-button__link,
.ktart-shop-design .ktart-product-card .wc-block-components-product-button__button,
.ktart-shop-design ul.products li.product .button {
    border-radius: 999px;
    font-weight: 700;
}

/* Product gallery: one rounded visual language for every slide, not only the first image. */
.single-product.ktart-shop-design div.product > .woocommerce-product-gallery {
    padding: .6rem;
    border: 1px solid rgba(18,34,56,.07);
    border-radius: 24px;
    background: rgba(255,255,255,.62);
    box-shadow: 0 10px 30px rgba(18,34,56,.05);
}
.single-product.ktart-shop-design .woocommerce-product-gallery .flex-viewport,
.single-product.ktart-shop-design .woocommerce-product-gallery__wrapper,
.single-product.ktart-shop-design .woocommerce-product-gallery__image,
.single-product.ktart-shop-design .woocommerce-product-gallery__image > a,
.single-product.ktart-shop-design .woocommerce-product-gallery__image img {
    border-radius: 18px !important;
}
.single-product.ktart-shop-design .woocommerce-product-gallery__image { overflow: hidden; background: #fff; }
.single-product.ktart-shop-design .woocommerce-product-gallery__image > a { overflow: hidden; }
.single-product.ktart-shop-design .flex-control-thumbs { margin-top: .65rem !important; padding-bottom: .35rem !important; }
.single-product.ktart-shop-design .flex-control-thumbs img { border-radius: 12px; }
.single-product.ktart-shop-design .ktart-gallery-hint {
    margin: .4rem .15rem .05rem;
    color: #657080;
    font-size: .9rem;
    text-align: center;
}
.single-product.ktart-shop-design .woocommerce-product-gallery__trigger {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
    display: grid !important;
    place-items: center;
    border-radius: 999px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 6px 18px rgba(18,34,56,.14);
}

/* Woo/PhotoSwipe lightbox controls: large enough to see and tap. */
.ktart-shop-design .pswp__button,
.pswp--open .pswp__button {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px;
    min-height: 52px;
}
.pswp--open .pswp__button--arrow--left,
.pswp--open .pswp__button--arrow--right,
.pswp--open .pswp__button--arrow--prev,
.pswp--open .pswp__button--arrow--next {
    width: 56px !important;
    height: 56px !important;
    margin-top: -28px !important;
    border-radius: 999px;
    background-color: rgba(18,34,56,.78) !important;
}
.pswp--open .pswp__button--arrow--left { left: 14px !important; }
.pswp--open .pswp__button--arrow--right { right: 14px !important; }
.pswp--open .pswp__button--close { margin: 10px 10px 0 0; border-radius: 999px; background-color: rgba(18,34,56,.78) !important; }

/* Keep the top product area balanced; sticky gallery remains useful while long personalization forms scroll. */
.single-product.ktart-shop-design div.product:has(> .woocommerce-product-gallery):has(> .summary) {
    gap: clamp(1.75rem, 4vw, 4rem);
}
.single-product.ktart-shop-design div.product > .summary {
    padding: clamp(.25rem, 1vw, .75rem) 0;
}

@media (max-width: 900px) {
    .ktart-shop-search {
        grid-template-columns: minmax(0,1fr);
        grid-template-areas: "title" "help" "form";
        row-gap: .55rem;
    }
    .ktart-shop-search .ktart-product-search-form { margin-top: .35rem; }
    .ktart-shop-design #ktart-tooted.ktart-recommendations .wc-block-product-template > li {
        flex-basis: min(72vw, 290px);
        width: min(72vw, 290px) !important;
    }
}

@media (max-width: 620px) {
    .ktart-shop-home { gap: 2rem; }
    .ktart-shop-design #ktart-tooted.ktart-recommendations { grid-template-columns: minmax(0,1fr) auto; }
    .ktart-carousel-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
    .single-product.ktart-shop-design div.product > .woocommerce-product-gallery { padding: .45rem; border-radius: 20px; }
    .single-product.ktart-shop-design .woocommerce-product-gallery .flex-viewport,
    .single-product.ktart-shop-design .woocommerce-product-gallery__wrapper,
    .single-product.ktart-shop-design .woocommerce-product-gallery__image,
    .single-product.ktart-shop-design .woocommerce-product-gallery__image > a,
    .single-product.ktart-shop-design .woocommerce-product-gallery__image img { border-radius: 15px !important; }
}

@media (max-width: 360px) {
    .ktart-shop-search { padding: 1rem; }
    .ktart-product-search-form { grid-template-columns: minmax(0,1fr); gap: .55rem; }
    .ktart-product-search-form input[type="search"] { border-right: 1px solid var(--ktart-border); border-radius: 999px; }
    .ktart-product-search-form button { width: 100%; border-radius: 999px; }
    .ktart-shop-design #ktart-tooted.ktart-recommendations .wc-block-product-template > li { flex-basis: 82vw; width: 82vw !important; }
}


/* 1.1.6: owner-managed WooCommerce hero products. */
.ktart-hero-product { min-width: 0; }
.ktart-hero-products { width: 100%; min-width: 0; }
.ktart-hero-products__viewport { width: 100%; overflow: hidden; border-radius: 18px; }
.ktart-hero-products__track {
    display: flex;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ktart-hero-products__track::-webkit-scrollbar { display: none; }
.ktart-hero-product-card {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    margin: 0;
    scroll-snap-align: start;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}
.ktart-hero-product-card__media {
    display: grid;
    aspect-ratio: 1 / 1;
    place-items: center;
    padding: .35rem;
    background: #fff;
    text-decoration: none;
}
.ktart-hero-product-card__image {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 14px;
    object-fit: contain;
    background: #fff;
}
.ktart-hero-product-card__body {
    display: grid;
    gap: .55rem;
    padding: .8rem 1rem 1rem;
    text-align: center;
}
.ktart-hero-product-card__body h3 { margin: 0; font-size: clamp(1rem,1.5vw,1.15rem); line-height: 1.3; }
.ktart-hero-product-card__body h3 a { color: var(--ktart-navy); text-decoration: none; }
.ktart-hero-product-card__price { color: var(--ktart-navy); font-weight: 800; }
.ktart-hero-product-card__price .woocommerce-Price-amount { font-weight: 800; }
.ktart-hero-product-card__cta {
    justify-self: center;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem 1.15rem;
    border: 1px solid var(--ktart-navy);
    border-radius: 999px;
    color: var(--ktart-navy);
    font-weight: 750;
    text-decoration: none;
}
.ktart-hero-product-card__cta:hover { background: var(--ktart-navy); color: #fff; }
.ktart-hero-products__controls {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) 48px;
    gap: .6rem;
    align-items: center;
    margin-top: .75rem;
}
.ktart-hero-products__arrow {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(18,34,56,.18);
    border-radius: 999px;
    background: #fff;
    color: var(--ktart-navy);
    font: inherit;
    font-size: 1.25rem;
    font-weight: 800;
    cursor: pointer;
}
.ktart-hero-products__arrow:hover { border-color: var(--ktart-navy); background: var(--ktart-navy); color: #fff; }
.ktart-hero-products__dots { display: flex; min-height: 44px; justify-content: center; align-items: center; gap: .2rem; }
.ktart-hero-products__dot {
    position: relative;
    width: 36px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.ktart-hero-products__dot::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(18,34,56,.28);
    transform: translate(-50%,-50%);
}
.ktart-hero-products__dot.is-active::after,
.ktart-hero-products__dot[aria-current="true"]::after { width: 22px; border-radius: 999px; background: var(--ktart-navy); }

/* Product gallery thumbnail rail: always contained, swipeable and arrow-assisted when overflowing. */
.single-product.ktart-shop-design .flex-control-thumbs {
    max-width: 100%;
    min-width: 0;
    scroll-padding-inline: .15rem;
    -webkit-overflow-scrolling: touch;
}
.single-product.ktart-shop-design .flex-control-thumbs > li {
    flex: 0 0 88px !important;
    width: 88px !important;
    min-width: 88px !important;
    margin: 0 !important;
    scroll-snap-align: start;
}
.single-product.ktart-shop-design .flex-control-thumbs > li img {
    width: 88px !important;
    height: 88px !important;
    object-fit: cover;
}
.single-product.ktart-shop-design .ktart-thumb-nav {
    display: none;
    grid-template-columns: 44px minmax(0,1fr) 44px;
    align-items: center;
    gap: .55rem;
    margin: .15rem .15rem 0;
}
.single-product.ktart-shop-design .ktart-thumb-nav.is-visible { display: grid; }
.single-product.ktart-shop-design .ktart-thumb-nav__label { color: #657080; font-size: .82rem; text-align: center; }
.single-product.ktart-shop-design .ktart-thumb-nav__button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(18,34,56,.18);
    border-radius: 999px;
    background: #fff;
    color: var(--ktart-navy);
    font: inherit;
    font-size: 1.1rem;
    font-weight: 800;
    cursor: pointer;
}
.single-product.ktart-shop-design .ktart-thumb-nav__button:hover { border-color: var(--ktart-navy); background: var(--ktart-navy); color: #fff; }
.single-product.ktart-shop-design .ktart-thumb-nav__button:disabled { opacity: .35; cursor: default; background: #fff; color: var(--ktart-navy); }

@media (max-width: 900px) {
    .ktart-shop-design .ktart-category-count-5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ktart-shop-design .ktart-category-count-5 > li,
    .ktart-shop-design .ktart-category-count-5 > li:nth-child(4),
    .ktart-shop-design .ktart-category-count-5 > li:nth-child(5) { grid-column: auto; }
}
@media (max-width: 620px) {
    .ktart-shop-design .ktart-category-count-5 { grid-template-columns: minmax(0,1fr); }
}


/* 1.1.9 storefront and gallery stabilization ----------------------------- */

/* Give wide screens room for four full-size cards without stretching them. */
.ktart-shop-design .ktart-shop-home {
    width:min(calc(100% - 2rem),1520px) !important;
    max-width:1520px !important;
    justify-self:center;
}

.ktart-shop-design .ktart-shop-hero {
    gap:clamp(1.5rem,3.5vw,3.5rem);
    padding:clamp(1.5rem,3.5vw,3.25rem);
}
.ktart-shop-design .ktart-hero-product {
    padding:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.ktart-shop-design .ktart-hero-product > br { display:none !important; }
.ktart-shop-design .ktart-hero-product .ktart-hero-products { margin:0 !important; }
.ktart-shop-design .ktart-hero-products__viewport {
    border-radius:18px;
    background:#fff;
    box-shadow:var(--ktart-shadow);
}
.ktart-shop-design .ktart-hero-product-card { border-radius:0; }
.ktart-shop-design .ktart-hero-product-card__media {
    height:clamp(220px,24vw,300px);
    aspect-ratio:auto;
    overflow:hidden;
}
.ktart-shop-design .ktart-hero-product .ktart-hero-product-card__media .ktart-hero-product-card__image {
    width:100% !important;
    height:100% !important;
    min-height:0;
    max-height:100% !important;
    aspect-ratio:auto !important;
    object-fit:contain;
}
.ktart-shop-design .ktart-hero-product-card__body { padding:.7rem 1rem .9rem; }

.ktart-shop-design #koik-tooted .wc-block-product-template {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),340px)) !important;
    justify-content:space-between !important;
}

/* Search: compact, contained and never clipped. */
.ktart-shop-design .ktart-shop-search,
.ktart-shop-design .ktart-shop-search * { box-sizing: border-box; }
.ktart-shop-design .ktart-shop-search {
    width:min(calc(100% - 2rem),860px) !important;
    max-width:860px !important;
    min-width: 0;
    display: grid;
    grid-template-columns:minmax(210px,.8fr) minmax(360px,1.2fr);
    grid-template-areas: "title form" "help form";
    align-items: center;
    column-gap: clamp(1.25rem,3vw,2.5rem);
    row-gap: .1rem;
    justify-self: center;
    padding: 1rem 1.25rem !important;
    overflow: visible;
}
.ktart-shop-design .ktart-shop-search h2 { grid-area:title; align-self:end; margin:0; font-size:clamp(1.55rem,2.2vw,2rem); line-height:1.1; }
.ktart-shop-design .ktart-shop-search .ktart-product-search-help { grid-area:help; align-self:start; margin:.25rem 0 0; }
.ktart-shop-design .ktart-shop-search .ktart-product-search-form {
    grid-area:form;
    width:100%;
    max-width:500px;
    min-width:0;
    justify-self:end;
    display:grid;
    grid-template-columns:minmax(0,1fr) 108px;
    gap:.55rem;
    overflow:visible;
}
.ktart-shop-design .ktart-shop-search .ktart-product-search-form > br { display:none !important; }
.ktart-shop-design .ktart-shop-search .ktart-product-search-form input[type="search"] {
    grid-column:1;
    grid-row:1;
    width:100%;
    min-width:0;
    min-height:50px;
    padding:0 1rem;
    border:1px solid var(--ktart-border);
    border-radius:999px;
    background:#fff;
}
.ktart-shop-design .ktart-shop-search .ktart-product-search-form button {
    grid-column:2;
    grid-row:1;
    width:108px;
    min-width:108px;
    min-height:50px;
    padding:0 .9rem;
    border-radius:999px;
}

/* WooCommerce's selector otherwise wins and hides overflowing thumbnails. */
.single-product.ktart-shop-design div.product div.images ol.flex-control-thumbs {
    display:flex !important;
    width:100%;
    max-width:100%;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
}
.single-product.ktart-shop-design div.product div.images ol.flex-control-thumbs > li {
    float:none !important;
    clear:none !important;
}

/* The active block theme nests the gallery inside a Woo gallery block. */
@media (min-width:901px) {
    .single-product.ktart-shop-design .wp-block-column:has(> .wp-block-woocommerce-product-image-gallery) {
        align-self:stretch;
        min-width:0;
    }
    .single-product.ktart-shop-design .wp-block-woocommerce-product-image-gallery {
        position:sticky;
        top:2rem;
        z-index:2;
    }
}

/* Hero carousel controls: arrows sit on the visual itself, not in a loose row below. */
.ktart-shop-design .ktart-hero-products__viewport { position:relative; overflow:hidden; border-radius:18px; }
.ktart-shop-design .ktart-hero-products__arrow {
    position:absolute;
    z-index:6;
    top:40%;
    width:52px;
    height:52px;
    margin:0;
    transform:translateY(-50%);
    border:1px solid rgba(18,34,56,.16);
    background:rgba(255,255,255,.94);
    box-shadow:0 8px 26px rgba(18,34,56,.14);
    backdrop-filter:blur(5px);
}
.ktart-shop-design .ktart-hero-products__arrow--prev { left:.65rem; }
.ktart-shop-design .ktart-hero-products__arrow--next { right:.65rem; }
.ktart-shop-design .ktart-hero-products__arrow:hover { transform:translateY(-50%) scale(1.04); }
.ktart-shop-design .ktart-hero-products__dots {
    display:flex;
    min-height:34px;
    margin:.35rem 0 0;
    justify-content:center;
    align-items:center;
    gap:0;
}
.ktart-shop-design .ktart-hero-products__dot { width:30px; height:34px; }

/* Categories: image cards when available, deliberate neutral text cards otherwise. */
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item,
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    min-height:180px;
}
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
    background:#f7f5f2 !important;
    border:1px solid rgba(18,34,56,.09);
}
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    gap:.28rem;
    padding:1.15rem 1.2rem;
}
.ktart-shop-design .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after {
    inset:38% 0 0;
    height:auto;
    background:linear-gradient(180deg,transparent,rgba(18,34,56,.72));
}
.ktart-shop-design .wc-block-product-categories-list-item__name,
.ktart-shop-design .ktart-category-card__action { position:relative; z-index:2; }
.ktart-shop-design .ktart-category-card__action { color:rgba(255,255,255,.88); font-size:.82rem; font-weight:650; }

.ktart-shop-design .ktart-category-card--placeholder,
.ktart-shop-design .ktart-category-card--placeholder:nth-child(3n+2),
.ktart-shop-design .ktart-category-card--placeholder:nth-child(3n+3) {
    background:#f7f5f2 !important;
    border:1px solid rgba(18,34,56,.1);
    box-shadow:none;
}
.ktart-shop-design .ktart-category-card--placeholder > a {
    min-height:180px;
    justify-content:center;
    align-items:flex-start;
    gap:.45rem;
    padding:1.4rem;
}
.ktart-shop-design .ktart-category-card--placeholder > a::before,
.ktart-shop-design .ktart-category-card--placeholder > a::after { content:none !important; display:none !important; }
.ktart-shop-design .ktart-category-card--placeholder .wc-block-product-categories-list-item__name {
    color:var(--ktart-navy) !important;
    font-size:clamp(1.2rem,1.8vw,1.45rem);
    line-height:1.16;
}
.ktart-shop-design .ktart-category-card--placeholder .ktart-category-card__action {
    color:#657080;
    font-size:.9rem;
}
.ktart-shop-design .ktart-category-card--placeholder:hover {
    border-color:rgba(18,34,56,.22);
    background:#fff !important;
    box-shadow:0 10px 24px rgba(18,34,56,.055);
}

@media (max-width:760px) {
    .ktart-shop-design .ktart-shop-search {
        width:min(calc(100% - 1.25rem),680px) !important;
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:"title" "help" "form";
        row-gap:.3rem;
        padding:1rem !important;
    }
    .ktart-shop-design .ktart-shop-search .ktart-product-search-form { max-width:none; justify-self:stretch; margin-top:.35rem; }
    .ktart-shop-design .ktart-hero-product-card__media { height:min(72vw,300px); }
}
@media (max-width:420px) {
    .ktart-shop-design .ktart-shop-search .ktart-product-search-form { grid-template-columns:minmax(0,1fr); }
    .ktart-shop-design .ktart-shop-search .ktart-product-search-form input[type="search"],
    .ktart-shop-design .ktart-shop-search .ktart-product-search-form button { grid-column:1; }
    .ktart-shop-design .ktart-shop-search .ktart-product-search-form input[type="search"] { grid-row:1; }
    .ktart-shop-design .ktart-shop-search .ktart-product-search-form button { grid-row:2; width:100%; min-width:0; }
    .ktart-shop-design .ktart-hero-products__arrow { width:46px; height:46px; }
    .ktart-shop-design .ktart-hero-products__arrow--prev { left:.4rem; }
    .ktart-shop-design .ktart-hero-products__arrow--next { right:.4rem; }
}

@media (max-width:900px) {
    .single-product.ktart-shop-design .wp-block-woocommerce-product-image-gallery { position:static; }
}
