/* Home page stylesheet (head-loaded). Restores editorial layout + image containment. */



.kaja-home-loader {

    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;

    align-items: center;

    justify-content: center;

    background: linear-gradient(145deg, #faf6f0 0%, #f3ebe0 45%, #efe4d8 100%);

    transition: opacity 0.55s ease, visibility 0.55s ease;

    visibility: visible;

    opacity: 1;

}



.kaja-home-loader.kaja-home-loader--out {

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

}



.kaja-home-loader__panel { text-align: center; padding: 2.75rem 2rem; max-width: 28rem; }

.kaja-home-loader__spinner {

    width: 64px; height: 64px; margin: 0 auto 1.5rem; border-radius: 50%;

    border: 4px solid rgba(139, 90, 43, 0.2); border-top-color: #8b5a2b;

    animation: kaja-home-loader-spin 0.85s linear infinite;

}

.kaja-home-loader__title { margin: 0 0 0.65rem; font-size: 1.65rem; font-weight: 600; color: #3d2a1a; }

.kaja-home-loader__msg { margin: 0; font-size: 1.08rem; line-height: 1.5; color: #5c4633; }

@keyframes kaja-home-loader-spin { to { transform: rotate(360deg); } }



.coupon-popup {

    position: fixed;

    inset: 0;

    background: rgba(0,0,0,.7);

    display: none;

    justify-content: center;

    align-items: center;

    z-index: 10000;

}



.coupon-popup-content {

    position: relative;

    background: #fff;

    padding: 15px;

    width: 90%;

    max-width: 900px;

    max-height: 90vh;

    overflow-y: auto;

    border-radius: 10px;

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

    gap: 12px;

}



.coupon-close {

    position: absolute;

    right: 12px;

    top: 10px;

    font-size: 24px;

    cursor: pointer;

    color: #333;

    font-weight: 700;

}



.coupon-img { display: none; width: 100%; max-height: 400px; object-fit: contain; opacity: 0; transition: opacity 0.8s ease-in-out; }

.coupon-img.active { display: block; opacity: 1; }

.coupon-popup-loading,
.coupon-popup-error { grid-column: 1 / -1; min-height: 120px; display: flex; align-items: center; justify-content: center; text-align: center; color: #5c4633; font-size: 15px; font-weight: 500; }



.kaja-coupon-hints { grid-column: 1 / -1; width: 100%; text-align: left; padding: 10px 4px 4px; border-top: 1px solid #ece8e4; margin-top: 8px; }

.kaja-coupon-hints__title { font-weight: 600; margin: 0 0 10px; font-size: 15px; color: #3d2a1a; }

.kaja-coupon-hints__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 12px; }

.kaja-coupon-hint-card { background: #fff; border: 1px solid #e5e2de; border-radius: 10px; overflow: hidden; text-align: center; box-shadow: 0 2px 10px rgba(31, 27, 24, 0.06); }

.kaja-coupon-hint-card__img { width: 100%; height: 96px; object-fit: contain; object-position: center; display: block; background: #faf6f2; padding: 6px; box-sizing: border-box; }

.kaja-coupon-hint-card__placeholder { height: 96px; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, #722f37 0%, #9a3d42 100%); color: #fff; font-size: 22px; font-weight: 700; }

.kaja-coupon-hint-card__meta { padding: 8px 6px 10px; font-size: 12px; line-height: 1.35; }

.kaja-coupon-hint-card__code { font-weight: 700; color: #3d2a1a; display: block; letter-spacing: 0.04em; }

.kaja-coupon-hint-card__off { color: #5c4633; }



:root {

    --kaja-home-max: 100%;

    --kaja-home-gutter: clamp(14px, 2.8vw, 44px);

    --kaja-ink: #1f1b18;

    --kaja-muted: #5c534c;

    --kaja-surface: #ffffff;

    --kaja-card: #ffffff;

    --kaja-accent: #722f37;

    --kaja-accent-bright: #9a3d42;

    --kaja-gold: #9a7b4f;

    --kaja-line: rgba(31, 27, 24, 0.1);

}



/* ---- Promo ticker ---- */

.kaja-home-ticker--promo {

    background: var(--kaja-surface);

    border-bottom: 1px solid var(--kaja-line);

    padding: 0;

    box-sizing: border-box;

}



.kaja-home-ticker__viewport {

    max-width: 100%;

    margin: 0 auto;

    padding: 12px 0;

    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent);

    mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent);

}



.kaja-home-ticker__track {

    display: flex;

    flex-wrap: nowrap;

    gap: 10px;

    overflow-x: auto;

    scroll-snap-type: x proximity;

    scrollbar-width: thin;

    padding: 2px var(--kaja-home-gutter) 4px;

    box-sizing: border-box;

}



.kaja-home-ticker__track::-webkit-scrollbar { height: 4px; }

.kaja-home-ticker__track::-webkit-scrollbar-thumb {

    background: rgba(31, 27, 24, 0.2);

    border-radius: 4px;

}



.kaja-home-ticker__chip {

    flex: 0 0 auto;

    scroll-snap-align: start;

    padding: 8px 16px;

    border-radius: 999px;

    font-size: 13px;

    font-weight: 600;

    color: var(--kaja-ink) !important;

    text-decoration: none !important;

    background: #f4f1ee;

    border: 1px solid var(--kaja-line);

    white-space: nowrap;

    transition: background .15s ease, border-color .15s ease, color .15s ease;

}



.kaja-home-ticker__chip:hover {

    background: #fff;

    border-color: rgba(114, 47, 55, 0.35);

    color: var(--kaja-accent) !important;

}



/* ---- Trust bar ---- */

.kaja-home-trust-bar {

    background: linear-gradient(180deg, #faf9f7 0%, #f3f0ec 100%);

    border-bottom: 1px solid var(--kaja-line);

    padding: 12px var(--kaja-home-gutter);

    box-sizing: border-box;

}



.kaja-home-trust-bar__inner {

    max-width: 72rem;

    margin: 0 auto;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: center;

    gap: 10px 8px;

    font-size: 13px;

    color: var(--kaja-muted);

}



.kaja-home-trust-bar__item strong { color: var(--kaja-ink); font-weight: 700; }

.kaja-home-trust-bar__sep {

    width: 4px;

    height: 4px;

    border-radius: 50%;

    background: rgba(31, 27, 24, 0.22);

    flex-shrink: 0;

}



/* ---- Main storefront ---- */

.kaja-home-v2 {

    background: linear-gradient(180deg, #faf9f7 0%, #f3f1ee 45%, #ebe8e4 100%);

    padding: 1.25rem 0 3.25rem;

    width: 100%;

    max-width: none;

    margin: 0;

    box-sizing: border-box;

    overflow-x: hidden;

}



.kaja-page-intro {

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 1.35rem;

    padding: 0 var(--kaja-home-gutter);

    text-align: center;

    box-sizing: border-box;

}



.kaja-page-intro__title {

    font-family: 'Segoe UI', Roboto, Arial, sans-serif;

    font-size: clamp(1.28rem, 2.9vw, 1.75rem);

    color: var(--kaja-ink);

    margin: 0 0 0.45rem;

    font-weight: 700;

}



.kaja-page-intro__sub {

    margin: 0 auto;

    max-width: 52rem;

    color: var(--kaja-muted);

    font-size: 15px;

    line-height: 1.62;

}



.kaja-mag-intro {

    width: 100%;

    max-width: min(var(--kaja-home-max), 48rem);

    margin: 0 auto 1.5rem;

    padding: 0 var(--kaja-home-gutter);

    box-sizing: border-box;

    text-align: center;

}



.kaja-mag-intro__eyebrow {

    margin: 0 0 0.35rem;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--kaja-muted);

}



.kaja-mag-intro__title {

    margin: 0 0 0.5rem;

    font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif;

    font-size: clamp(1.35rem, 3vw, 1.85rem);

    font-weight: 600;

    color: var(--kaja-ink);

    line-height: 1.25;

}



.kaja-mag-intro__sub {

    margin: 0;

    font-size: clamp(0.92rem, 1.6vw, 1.02rem);

    color: var(--kaja-muted);

    line-height: 1.6;

}



/* ---- Category rail ---- */

.kaja-category-rail {

    position: sticky;

    top: 118px;

    z-index: 1019;

    scroll-margin-top: 72px;

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 1.25rem;

    padding: 10px var(--kaja-home-gutter);

    box-sizing: border-box;

    background: rgba(255, 255, 255, 0.94);

    backdrop-filter: blur(14px);

    -webkit-backdrop-filter: blur(14px);

    border: 1px solid var(--kaja-line);

    border-radius: 14px;

    box-shadow: 0 8px 28px rgba(31, 27, 24, 0.06);

}



.kaja-category-rail__track {

    display: flex;

    gap: 8px;

    overflow-x: auto;

    scroll-behavior: smooth;

    scrollbar-width: none;

    padding: 2px 4px;

}



.kaja-category-rail__track::-webkit-scrollbar { display: none; }



.kaja-pill {

    flex: 0 0 auto;

    padding: 9px 16px;

    border-radius: 10px;

    font-size: 13px;

    font-weight: 600;

    color: var(--kaja-ink) !important;

    text-decoration: none !important;

    border: 1px solid transparent;

    background: #f4f1ee;

    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;

}



.kaja-pill:hover {

    border-color: rgba(31, 27, 24, 0.12);

    background: #fff;

    color: var(--kaja-accent) !important;

    box-shadow: 0 2px 10px rgba(31, 27, 24, 0.06);

    transform: translateY(-1px);

}



.kaja-pill--accent {

    background: var(--kaja-ink);

    color: #fff !important;

    border-color: transparent;

    box-shadow: 0 4px 14px rgba(31, 27, 24, 0.2);

}



.kaja-pill--accent:hover {

    color: #fff !important;

    background: #2a241f;

    opacity: 1;

}



.kaja-cat-block--hidden { display: none !important; }



/* ---- Toolbar (grid toggle) ---- */

.kaja-toolbar {

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 1rem;

    padding: 0 var(--kaja-home-gutter);

    box-sizing: border-box;

    display: flex;

    justify-content: flex-end;

}



.kaja-toolbar__btn {

    background: #fff;

    color: var(--kaja-ink) !important;

    border: 1px solid var(--kaja-line);

    border-radius: 999px;

    padding: 10px 20px;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;

    box-shadow: 0 6px 18px rgba(42, 33, 28, 0.07);

    transition: box-shadow .2s ease, transform .15s ease, border-color .2s ease;

}



.kaja-toolbar__btn:hover {

    border-color: rgba(114, 47, 55, 0.25);

    box-shadow: 0 10px 26px rgba(42, 33, 28, 0.1);

    transform: translateY(-1px);

}



#kaja-editors-picks,

#kaja-artist-marquee {

    scroll-margin-top: 130px;

}



.kaja-sec-eyebrow {

    margin: 0 0 6px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: var(--kaja-accent);

}



/* ---- Editor's picks ---- */

.kaja-editors-picks {

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 2rem;

    padding: 0 var(--kaja-home-gutter);

    box-sizing: border-box;

}



.kaja-editors-picks__head {

    margin-bottom: 1rem;

    text-align: center;

    max-width: 40rem;

    margin-left: auto;

    margin-right: auto;

}



.kaja-editors-picks__title {

    margin: 0 0 0.35rem;

    font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif;

    font-size: clamp(1.25rem, 2.6vw, 1.55rem);

    font-weight: 600;

    color: var(--kaja-ink);

}



.kaja-editors-picks__sub {

    margin: 0;

    font-size: 14px;

    color: var(--kaja-muted);

    line-height: 1.55;

}



.kaja-editors-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: clamp(12px, 2vw, 18px);

}



.kaja-editors-card {

    display: flex;

    flex-direction: column;

    text-decoration: none !important;

    color: inherit !important;

    background: var(--kaja-card);

    border: 1px solid var(--kaja-line);

    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 10px 28px rgba(42, 33, 28, 0.07);

    transition: transform .22s ease, box-shadow .22s ease;

    min-width: 0;

}



.kaja-editors-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 18px 40px rgba(42, 33, 28, 0.12);

}



.kaja-editors-card__img {

    aspect-ratio: 1 / 1;

    background: linear-gradient(145deg, #efe6dc, #e2d5c8);

    overflow: hidden;

}



.kaja-editors-card__img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



.kaja-editors-card__meta {

    padding: 12px 14px 14px;

    display: flex;

    flex-direction: column;

    gap: 4px;

    border-top: 1px solid rgba(42, 33, 28, 0.08);

}



.kaja-editors-card__name {

    font-size: 14px;

    font-weight: 600;

    color: var(--kaja-ink);

    line-height: 1.3;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}



.kaja-editors-card__price {

    font-size: 14px;

    font-weight: 700;

    color: var(--kaja-accent);

}



.kaja-editors-card .kaja-pro-kicker {

    display: block;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--kaja-muted);

    margin-bottom: 2px;

}



/* ---- Proof + value ---- */

.kaja-proof-band {

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 1.2rem;

    padding: 0 var(--kaja-home-gutter);

    box-sizing: border-box;

}



.kaja-proof-inner {

    border-radius: 18px;

    border: 1px solid var(--kaja-line);

    background: var(--kaja-surface);

    box-shadow: 0 16px 40px rgba(31, 27, 24, 0.07);

    padding: clamp(18px, 3vw, 28px) clamp(16px, 3vw, 28px);

    display: grid;

    grid-template-columns: 1.15fr 1fr;

    gap: clamp(14px, 2.5vw, 24px);

    align-items: center;

}



.kaja-proof-copy h2 {

    margin: 0 0 8px;

    font-size: clamp(1.15rem, 2.4vw, 1.5rem);

    color: var(--kaja-ink);

    font-family: Georgia, 'Times New Roman', serif;

    font-weight: 600;

    line-height: 1.25;

}



.kaja-proof-copy p {

    margin: 0;

    font-size: 14px;

    color: var(--kaja-muted);

    line-height: 1.6;

}



.kaja-proof-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }



.kaja-proof-stat {

    text-align: center;

    background: #faf9f7;

    border: 1px solid var(--kaja-line);

    border-radius: 14px;

    padding: 12px 8px;

}



.kaja-proof-stat strong {

    display: block;

    font-size: clamp(1.15rem, 2.4vw, 1.45rem);

    font-weight: 700;

    color: var(--kaja-ink);

    letter-spacing: -0.02em;

    line-height: 1.15;

}



.kaja-proof-stat span {

    display: block;

    margin-top: 6px;

    font-size: 10px;

    color: var(--kaja-muted);

    text-transform: uppercase;

    letter-spacing: .1em;

    font-weight: 600;

}



.kaja-value-strip {

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 1.4rem;

    padding: 0 var(--kaja-home-gutter);

    box-sizing: border-box;

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 12px;

}



.kaja-value-card {

    background: var(--kaja-surface);

    border: 1px solid var(--kaja-line);

    border-radius: 14px;

    padding: 16px 18px;

    box-shadow: 0 8px 22px rgba(31, 27, 24, 0.05);

}



.kaja-value-card h3 {

    margin: 0 0 4px;

    font-size: 15px;

    color: var(--kaja-ink);

}



.kaja-value-card p {

    margin: 0;

    font-size: 13px;

    color: var(--kaja-muted);

    line-height: 1.45;

}



/* ---- Category blocks + carousel ---- */

.kaja-cat-block {

    width: 100%;

    max-width: var(--kaja-home-max);

    margin: 0 auto 2rem;

    padding: 0 var(--kaja-home-gutter);

    scroll-margin-top: 130px;

    box-sizing: border-box;

}



.kaja-cat-block__header {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 16px;

    margin-bottom: 14px;

    flex-wrap: wrap;

}



.kaja-cat-block__titlewrap { flex: 1 1 220px; }



.kaja-cat-block__kicker {

    margin: 0 0 4px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--kaja-accent);

}



.kaja-cat-block__title {

    font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif;

    font-size: clamp(1.2rem, 2.5vw, 1.5rem);

    color: var(--kaja-ink);

    margin: 0 0 6px;

    font-weight: 600;

}



.kaja-cat-block__line {

    margin: 0;

    font-size: 14px;

    color: var(--kaja-muted);

    line-height: 1.55;

    max-width: 560px;

}



.kaja-cat-block__actions {

    flex: 0 0 auto;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 10px;

}



.kaja-cat-block__badge {

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: var(--kaja-gold);

    background: rgba(154, 123, 79, 0.12);

    padding: 8px 14px;

    border-radius: 999px;

    border: 1px solid rgba(154, 123, 79, 0.28);

}



.kaja-cat-block__shop {

    font-size: 13px;

    font-weight: 600;

    color: var(--kaja-accent) !important;

    text-decoration: none !important;

    white-space: nowrap;

}



.kaja-cat-block__shop:hover {

    text-decoration: underline !important;

    color: var(--kaja-accent-bright) !important;

}



.kaja-home-v2 .kaja-cat-carousel {

    background: var(--kaja-card);

    border-radius: 18px;

    border: 1px solid var(--kaja-line);

    box-shadow: 0 20px 50px rgba(42, 33, 28, 0.09);

    padding: 18px 14px;

}



.category-carousel-container {

    position: relative;

    display: flex;

    align-items: center;

    background: #fff;

    padding: 15px;

    border-radius: 8px;

}



.category-product-row {

    display: flex;

    flex-wrap: nowrap;

    gap: 14px;

    overflow-x: auto;

    scroll-behavior: smooth;

    width: 100%;

    scrollbar-width: none;

}



.category-product-row::-webkit-scrollbar { display: none; }



.category-product-row > div {

    flex: 0 0 auto;

    width: min(248px, 42vw);

    max-width: 280px;

    min-width: 0;

}



.category-nav-btn {

    background: rgba(255, 255, 255, 0.95);

    color: #212121;

    border: 1px solid #e0e0e0;

    border-radius: 50%;

    width: 36px;

    height: 36px;

    font-size: 20px;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 8px;

    box-shadow: 0 2px 5px rgba(0,0,0,0.12);

    flex: 0 0 auto;

}



.category-nav-btn:disabled {

    opacity: 0.4;

    cursor: default;

}



body.show-all-categories .category-carousel-container { display: block; }



body.show-all-categories .category-product-row {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));

    overflow: visible;

}



body.show-all-categories .category-product-row > div {

    width: auto;

    max-width: none;

}



body.show-all-categories .category-nav-btn { display: none; }



/* Product cards (scoped + !important wins over legacy layout rules) */

.kaja-home-v2 .kaja-pro-card {

    border-radius: 16px !important;

    overflow: hidden;

    border: 1px solid var(--kaja-line) !important;

    box-shadow: 0 12px 32px rgba(31, 27, 24, 0.07) !important;

    background: var(--kaja-surface) !important;

    padding: 0 !important;

    max-width: min(248px, 28vw) !important;

    width: 100%;

    min-height: 100%;

    display: flex !important;

    flex-direction: column !important;

    transition: transform .25s ease, box-shadow .25s ease !important;

}



.kaja-home-v2 .kaja-pro-card:hover {

    transform: translateY(-6px) !important;

    box-shadow: 0 22px 48px rgba(42, 33, 28, 0.14) !important;

}



.kaja-home-v2 .kaja-pro-card .image-container {

    aspect-ratio: 1 / 1;

    background: linear-gradient(145deg, #efe6dc, #e2d5c8);

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

}



.kaja-home-v2 .kaja-pro-card .image-container img {

    object-fit: cover !important;

    width: 100% !important;

    height: 100% !important;

    display: block;

    image-rendering: auto;

    -webkit-backface-visibility: hidden;

    backface-visibility: hidden;

}



.kaja-home-v2 .kaja-pro-meta {

    padding: 10px 12px 12px;

    border-top: 1px solid var(--kaja-line);

    background: var(--kaja-surface);

}



.kaja-home-v2 .kaja-pro-kicker {

    display: block;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--kaja-muted);

    margin-bottom: 2px;

}



.kaja-home-v2 .kaja-pro-name {

    margin: 0 0 5px;

    font-size: 14px;

    font-weight: 600;

    color: var(--kaja-ink);

    line-height: 1.3;

    max-height: 2.6em;

    overflow: hidden;

}



.kaja-home-v2 .kaja-pro-price {

    font-size: 14px;

    font-weight: 700;

    color: var(--kaja-accent);

}



.kaja-pro-link {

    text-decoration: none !important;

    color: inherit !important;

    display: block;

    height: 100%;

}



/* ---- Artist marquee ---- */

.kaja-artist-marquee {

    background: #fff;

    border-top: 1px solid var(--kaja-line);

    border-bottom: 1px solid var(--kaja-line);

    margin-top: 2rem;

    padding: clamp(22px, 3.5vw, 36px) 0 clamp(18px, 2.5vw, 28px);

    box-sizing: border-box;

}



.kaja-artist-marquee__title {

    margin: 0 auto 10px;

    text-align: center;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 0.22em;

    text-transform: uppercase;

    color: var(--kaja-ink);

    font-family: 'Segoe UI', Roboto, Arial, sans-serif;

}



.kaja-artist-marquee__rule {

    width: 48px;

    height: 2px;

    margin: 0 auto 22px;

    background: rgba(31, 27, 24, 0.2);

    border: none;

    padding: 0;

}



.kaja-artist-marquee__viewport {

    overflow: hidden;

    width: 100%;

    -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);

    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);

}



.kaja-artist-marquee__track {

    display: flex;

    width: max-content;

    gap: 0;

    animation: kajaArtistMarquee 55s linear infinite;

}



.kaja-artist-marquee__track:hover { animation-play-state: paused; }



.kaja-artist-marquee__group {

    display: flex;

    align-items: center;

    gap: clamp(28px, 5vw, 56px);

    padding: 4px clamp(20px, 4vw, 48px);

    flex-shrink: 0;

}



.kaja-artist-marquee__item {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

    min-width: 100px;

    max-width: 140px;

    text-decoration: none !important;

    color: var(--kaja-ink) !important;

    flex-shrink: 0;

    transition: opacity .2s ease, transform .2s ease;

}



.kaja-artist-marquee__item:hover {

    opacity: 0.88;

    transform: translateY(-2px);

}



.kaja-artist-marquee__photo-wrap {

    width: 72px;

    height: 72px;

    border-radius: 50%;

    overflow: hidden;

    border: 1px solid var(--kaja-line);

    box-shadow: 0 6px 18px rgba(31, 27, 24, 0.08);

    background: #f4f1ee;

}



.kaja-artist-marquee__photo {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



.kaja-artist-marquee__name {

    font-size: 12px;

    font-weight: 600;

    text-align: center;

    line-height: 1.25;

    max-width: 11em;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}



.kaja-artist-marquee__foot {

    margin: 16px 0 0;

    text-align: center;

    font-size: 13px;

}



.kaja-artist-marquee__foot a {

    color: var(--kaja-accent) !important;

    font-weight: 600;

    text-decoration: none !important;

    border-bottom: 1px solid transparent;

}



.kaja-artist-marquee__foot a:hover {

    border-bottom-color: rgba(114, 47, 55, 0.45);

}



@keyframes kajaArtistMarquee {

    0% { transform: translateX(0); }

    100% { transform: translateX(-50%); }

}



@media (prefers-reduced-motion: reduce) {

    .kaja-artist-marquee__track {

        animation: none;

        flex-wrap: wrap;

        justify-content: center;

        width: 100%;

        max-width: 72rem;

        margin: 0 auto;

        row-gap: 16px;

    }



    .kaja-artist-marquee__group[aria-hidden="true"] { display: none; }



    .kaja-artist-marquee__viewport {

        -webkit-mask-image: none;

        mask-image: none;

        overflow: visible;

    }

}



/* ---- Image modal (home) ---- */

.modal { position: fixed; z-index: 9999; inset: 0; overflow: auto; background-color: rgba(0,0,0,0.8); display: none; }

.modal-content { margin: auto; display: block; max-width: 80%; max-height: 80vh; border-radius: 6px; }

.close { position: absolute; top: 25px; right: 35px; color: #fff; font-size: 35px; cursor: pointer; }



@media (max-width: 900px) {

    .kaja-editors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

}



@media (max-width: 768px) {

    .kaja-category-rail { top: 108px; border-radius: 14px; }

    .kaja-proof-inner { grid-template-columns: 1fr; }

    .kaja-value-strip { grid-template-columns: 1fr; }

    .category-nav-btn { display: none; }

}



@media (max-width: 520px) {

    .kaja-editors-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

}



@media (max-width: 480px) {

    .kaja-coupon-hints__grid { grid-template-columns: repeat(2, 1fr); }

}

/* Reference layout (screenshot A) */
.kaja-home-reference {
    background: #f7f3ee;
    padding-top: 14px;
}

.kaja-ref-section {
    max-width: 1220px;
    margin: 0 auto 26px;
    padding: 0 16px;
}

.kaja-ref-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.kaja-ref-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(127, 52, 68, 0.08);
    color: #7f3444;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.kaja-ref-title {
    text-align: left;
    letter-spacing: -0.02em;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.1;
    font-weight: 600;
    color: #2a1f18;
    margin: 12px 0 8px;
    font-family: Georgia, serif;
}

.kaja-ref-copy {
    max-width: 38rem;
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #645548;
}

.kaja-ref-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #eadfce;
    text-decoration: none !important;
    color: #2b2119 !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 8px 18px rgba(48, 34, 22, 0.06);
}

.kaja-ref-product-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.kaja-ref-mini-card {
    position: relative;
    background: linear-gradient(180deg, #fff 0%, #fbf7f1 100%);
    border: 1px solid #eadfce;
    border-radius: 22px;
    text-decoration: none !important;
    color: #2b2119 !important;
    display: block;
    padding: 10px;
    box-shadow: 0 12px 26px rgba(48, 34, 22, 0.07);
    transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease;
}

.kaja-ref-mini-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(48, 34, 22, 0.12);
    border-color: #dbc7ae;
}

.kaja-ref-mini-card img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.kaja-ref-mini-kicker {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f5ede4;
    color: #8b5d3a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.kaja-ref-mini-name {
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    margin-top: 10px;
    min-height: 2.4em;
}

.kaja-ref-mini-price {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-top: 5px;
    color: #7f3444;
}

.kaja-ref-collection-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.kaja-ref-collection-card {
    position: relative;
    display: block;
    min-height: 320px;
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none !important;
    box-shadow: 0 18px 40px rgba(32, 25, 20, 0.1);
}

.kaja-ref-collection-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.68);
    transition: transform .35s ease;
}

.kaja-ref-collection-card:hover img {
    transform: scale(1.04);
}

.kaja-ref-collection-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17, 12, 8, 0.04) 0%, rgba(17, 12, 8, 0.18) 35%, rgba(17, 12, 8, 0.78) 100%);
}

.kaja-ref-collection-card__content {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 1;
}

.kaja-ref-collection-card__content small {
    display: inline-block;
    margin-bottom: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.kaja-ref-collection-card__content span {
    display: block;
    color: #fff;
    font-size: 23px;
    font-weight: 600;
    font-family: Georgia, serif;
    line-height: 1.15;
}

.kaja-ref-collection-card__content em {
    display: inline-flex;
    margin-top: 10px;
    color: rgba(255, 250, 244, 0.9);
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
}

.kaja-ref-artisan {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 22px;
    background: linear-gradient(145deg, #fff 0%, #faf5ee 100%);
    border: 1px solid #ebdfd1;
    border-radius: 30px;
    padding: 16px;
    box-shadow: 0 18px 42px rgba(48, 34, 22, 0.08);
}

.kaja-ref-artisan-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
    display: block;
    min-height: 320px;
}

.kaja-ref-artisan-copy h2 {
    margin: 12px 0 10px;
    font-family: Georgia, serif;
    font-size: 34px;
    color: #2f241a;
}

.kaja-ref-artisan-copy p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.8;
    color: #5c4e42;
}

.kaja-ref-artisan-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.kaja-ref-artisan-tags span {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f7ede2;
    color: #7e5334;
    font-size: 12px;
    font-weight: 600;
}

.kaja-ref-artisan-copy a {
    display: inline-block;
    margin-bottom: 12px;
    color: #7f3444 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.kaja-ref-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    font-size: 12px;
    color: #5b4a39;
}

.kaja-ref-stats span {
    display: block;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid #eee1cf;
}

.kaja-ref-stats strong {
    display: block;
    font-size: 18px;
    color: #2d2017;
}

.kaja-ref-artist-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.kaja-ref-artist-chip {
    text-decoration: none !important;
    color: #3d2b20 !important;
    text-align: center;
    display: block;
    padding: 18px 12px 16px;
    border-radius: 22px;
    background: linear-gradient(180deg, #fff 0%, #faf6f0 100%);
    border: 1px solid #eadfce;
    box-shadow: 0 12px 28px rgba(48, 34, 22, 0.06);
    transition: transform .18s ease, box-shadow .22s ease;
}

.kaja-ref-artist-chip:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(48, 34, 22, 0.11);
}

.kaja-ref-artist-chip img {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    margin: 0 auto 12px;
    border: 1px solid #f1d6d8;
    background: radial-gradient(circle at 30% 30%, #ffdfe4 0%, #f3b9c4 45%, #d68897 100%);
}

.kaja-ref-artist-name {
    display: block;
    font-size: 15px;
    font-weight: 600;
    font-family: Georgia, serif;
}

.kaja-ref-artist-role {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #7b6554;
}

.kaja-ref-bestseller-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.kaja-ref-bestseller-grid .kaja-ref-mini-card img,
.kaja-ref-product-strip .kaja-ref-mini-card img {
    border: 1px solid #f1e6d6;
}

@media (max-width: 900px) {
    .kaja-ref-section-head { flex-direction: column; align-items: flex-start; }
    .kaja-ref-product-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .kaja-ref-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kaja-ref-artisan { grid-template-columns: 1fr; }
    .kaja-ref-artist-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .kaja-ref-bestseller-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

