:root {
    --ra4c-ink: #191918;
    --ra4c-muted: #68645e;
    --ra4c-paper: #f5f2ec;
    --ra4c-white: #fffdfa;
    --ra4c-line: rgba(25, 25, 24, .12);
    --ra4c-blue: #087abb;
    --ra4c-red: #e8322a;
    --ra4c-yellow: #f4c515;
}

.ra4cat,
.ra4cat * { box-sizing: border-box; }
.ra4cat { background: #fbfaf7; color: var(--ra4c-ink); font-family: Inter, "Helvetica Neue", Arial, sans-serif; }
.ra4cat-container { width: min(calc(100% - 64px), 1440px); margin-inline: auto; }
.ra4cat-eyebrow { margin: 0 0 12px; color: var(--ra4c-muted); font-size: 12px; font-weight: 750; letter-spacing: .095em; text-transform: uppercase; }

.ra4cat-hero { position: relative; overflow: hidden; background: var(--ra4c-paper); border-bottom: 1px solid var(--ra4c-line); }
.ra4cat-hero::before { content: ""; position: absolute; inset: auto auto 0 0; width: 34%; height: 4px; background: var(--ra4c-blue); box-shadow: 34vw 0 var(--ra4c-red), 68vw 0 var(--ra4c-yellow); }
.ra4cat-hero__grid { min-height: 430px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); align-items: stretch; gap: 70px; }
.ra4cat-hero__content { padding: 45px 0 58px; display: flex; flex-direction: column; justify-content: center; }
.ra4cat-breadcrumb { margin-bottom: 48px; }
.ra4cat-breadcrumb nav { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: #79756f; font-size: 12px; }
.ra4cat-breadcrumb a { color: inherit; text-decoration: none; }
.ra4cat-breadcrumb a:hover { color: var(--ra4c-ink); }
.ra4cat-hero h1 { max-width: 760px; margin: 0; font-size: clamp(45px, 5.1vw, 78px); font-weight: 780; line-height: .98; letter-spacing: -.052em; }
.ra4cat-hero__description { max-width: 660px; margin: 24px 0 0; color: #55514c; font-size: 16px; line-height: 1.72; }
.ra4cat-hero__description p { margin: 0; }
.ra4cat-hero__meta { margin-top: 33px; display: flex; flex-wrap: wrap; gap: 10px 26px; color: var(--ra4c-muted); font-size: 12px; font-weight: 650; }
.ra4cat-hero__meta span { display: inline-flex; align-items: center; gap: 9px; }
.ra4cat-hero__meta span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ra4c-blue); }
.ra4cat-hero__meta span:nth-child(2)::before { background: var(--ra4c-red); }
.ra4cat-hero__meta span:nth-child(3)::before { background: var(--ra4c-yellow); }
.ra4cat-hero__visual { position: relative; min-height: 430px; overflow: hidden; background: #e9e5de; }
.ra4cat-hero__visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ra4cat-hero__visual--empty { background: linear-gradient(135deg, #ece8e0, #dcd6cc); }
.ra4cat-hero__mark { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); transform: skewX(-17deg) scale(1.35); opacity: .85; }
.ra4cat-hero__mark span:nth-child(1) { background: var(--ra4c-blue); }
.ra4cat-hero__mark span:nth-child(2) { background: var(--ra4c-red); }
.ra4cat-hero__mark span:nth-child(3) { background: var(--ra4c-yellow); }

.ra4cat-subcategories { padding: 68px 0 72px; background: #fff; border-bottom: 1px solid var(--ra4c-line); }
.ra4cat-section-heading { margin-bottom: 25px; display: flex; align-items: end; justify-content: space-between; }
.ra4cat-section-heading h2, .ra4cat-products__top h2 { margin: 0; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.035em; }
.ra4cat-subcategory-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ra4cat-subcategory { overflow: hidden; border: 1px solid var(--ra4c-line); border-radius: 8px; background: var(--ra4c-paper); color: var(--ra4c-ink); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.ra4cat-subcategory:hover { transform: translateY(-3px); box-shadow: 0 16px 35px rgba(37, 29, 20, .1); }
.ra4cat-subcategory__image { aspect-ratio: 1.55; overflow: hidden; background: #ebe7df; }
.ra4cat-subcategory__image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.ra4cat-subcategory:hover img { transform: scale(1.035); }
.ra4cat-subcategory__body { padding: 17px 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.ra4cat-subcategory h3 { margin: 0 0 4px; font-size: 16px; }
.ra4cat-subcategory span { color: var(--ra4c-muted); font-size: 11px; }
.ra4cat-subcategory svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.ra4cat-products { padding: 72px 0 95px; }
.ra4cat-products__top { margin-bottom: 30px; display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.ra4cat-shop-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); align-items: start; gap: 36px; }
.ra4cat-sidebar { position: sticky; top: 125px; }
.ra4cat-sidebar__head { padding-bottom: 17px; border-bottom: 1px solid var(--ra4c-line); }
.ra4cat-sidebar__head h3 { margin: 0; font-size: 14px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.ra4cat-sidebar__close { display: none; }
.ra4cat-category-list { margin: 8px 0 0; padding: 0; list-style: none; }
.ra4cat-category-list li { border-bottom: 1px solid var(--ra4c-line); }
.ra4cat-category-list a { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--ra4c-muted); font-size: 13px; text-decoration: none; }
.ra4cat-category-list small { min-width: 25px; padding: 3px 7px; border-radius: 14px; background: #ebe7df; color: #66615a; text-align: center; }
.ra4cat-category-list a:hover, .ra4cat-category-list .is-current a { color: var(--ra4c-ink); font-weight: 700; }
.ra4cat-category-list .is-current a { box-shadow: inset 3px 0 var(--ra4c-yellow); padding-left: 12px; }
.ra4cat-help { margin-top: 25px; padding: 22px; border-radius: 8px; background: var(--ra4c-ink); color: #fff; }
.ra4cat-help svg { width: 26px; fill: none; stroke: var(--ra4c-yellow); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ra4cat-help h3 { margin: 15px 0 9px; font-size: 15px; }
.ra4cat-help p { margin: 0 0 16px; color: #bbb7af; font-size: 12px; line-height: 1.55; }
.ra4cat-help a { color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; }
.ra4cat-filter-toggle { display: none; align-items: center; gap: 8px; min-height: 44px; padding: 0 15px; border: 1px solid var(--ra4c-line); border-radius: 5px; background: #fff; color: var(--ra4c-ink); font: inherit; font-size: 12px; font-weight: 700; }
.ra4cat-filter-toggle svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.ra4cat-toolbar { min-height: 52px; margin-bottom: 20px; padding: 0 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--ra4c-line); }
.ra4cat-result-count .woocommerce-result-count { margin: 0; color: var(--ra4c-muted); font-size: 12px; }
.ra4cat-ordering .woocommerce-ordering { margin: 0; }
.ra4cat-ordering select { min-height: 40px; padding: 0 38px 0 12px; border: 1px solid var(--ra4c-line); border-radius: 4px; background-color: #fff; color: var(--ra4c-ink); font: inherit; font-size: 12px; }

.ra4cat-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ra4cat-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--ra4c-line); border-radius: 8px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ra4cat-card:hover { border-color: rgba(25,25,24,.22); box-shadow: 0 18px 38px rgba(34, 27, 19, .09); transform: translateY(-3px); }
.ra4cat-card__image { position: relative; aspect-ratio: 1.15; overflow: hidden; display: block; background: var(--ra4c-paper); }
.ra4cat-card__image img { width: 100%; height: 100%; display: block; object-fit: contain; padding: 18px; transition: transform .3s ease; }
.ra4cat-card:hover .ra4cat-card__image img { transform: scale(1.025); }
.ra4cat-card__sale { position: absolute; z-index: 2; top: 13px; left: 13px; padding: 6px 9px; border-radius: 3px; background: var(--ra4c-red); color: #fff; font-size: 10px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.ra4cat-card__body { flex: 1; padding: 18px; display: flex; flex-direction: column; }
.ra4cat-card__micro { min-height: 18px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; color: #8a857e; font-size: 9px; letter-spacing: .045em; text-transform: uppercase; }
.ra4cat-card__stock { display: inline-flex; align-items: center; gap: 5px; color: #3c7248; font-weight: 700; }
.ra4cat-card__stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ra4cat-card__stock--outofstock { color: var(--ra4c-red); }
.ra4cat-card h3 { margin: 12px 0 9px; font-size: 16px; line-height: 1.3; }
.ra4cat-card h3 a { color: var(--ra4c-ink); text-decoration: none; }
.ra4cat-card__description { margin: 0 0 17px; color: var(--ra4c-muted); font-size: 12px; line-height: 1.55; }
.ra4cat-card__bottom { margin-top: auto; padding-top: 15px; display: flex; align-items: end; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ra4c-line); }
.ra4cat-card__price { color: var(--ra4c-ink); font-size: 16px; font-weight: 750; }
.ra4cat-card__price del { display: block; color: #8b867f; font-size: 10px; font-weight: 500; }
.ra4cat-card__price ins { text-decoration: none; }
.ra4cat-card__action .button { min-height: 38px; padding: 0 13px !important; display: inline-flex !important; align-items: center; justify-content: center; border: 0 !important; border-radius: 4px !important; background: var(--ra4c-yellow) !important; color: var(--ra4c-ink) !important; font-size: 10px !important; font-weight: 750 !important; line-height: 1.2 !important; text-align: center; text-decoration: none !important; text-transform: uppercase; }
.ra4cat-card__action .button:hover { background: var(--ra4c-ink) !important; color: #fff !important; }
.ra4cat-pagination { margin-top: 45px; }
.ra4cat-pagination .woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; gap: 7px; border: 0; }
.ra4cat-pagination .woocommerce-pagination ul.page-numbers li { border: 0; }
.ra4cat-pagination .page-numbers a, .ra4cat-pagination .page-numbers span { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--ra4c-line); border-radius: 4px; background: #fff; color: var(--ra4c-ink); text-decoration: none; }
.ra4cat-pagination .page-numbers .current, .ra4cat-pagination .page-numbers a:hover { border-color: var(--ra4c-ink); background: var(--ra4c-ink); color: #fff; }
.ra4cat-empty { padding: 70px 25px; border: 1px solid var(--ra4c-line); background: #fff; text-align: center; }
.ra4cat-empty h2 { margin: 0 0 10px; }
.ra4cat-empty p { color: var(--ra4c-muted); }
.ra4cat-empty a { display: inline-flex; margin-top: 10px; padding: 13px 20px; background: var(--ra4c-yellow); color: var(--ra4c-ink); font-weight: 700; text-decoration: none; }
.ra4cat-overlay { display: none; }

@media (max-width: 1180px) {
    .ra4cat-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(350px, .75fr); gap: 40px; }
    .ra4cat-subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ra4cat-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 850px) {
    .ra4cat-container { width: min(calc(100% - 36px), 720px); }
    .ra4cat-hero__grid { width: 100%; grid-template-columns: 1fr; gap: 0; }
    .ra4cat-hero__content { width: calc(100% - 36px); margin-inline: auto; padding: 36px 0 45px; }
    .ra4cat-breadcrumb { margin-bottom: 32px; }
    .ra4cat-hero__visual { min-height: 330px; }
    .ra4cat-shop-layout { display: block; }
    .ra4cat-filter-toggle { display: inline-flex; }
    .ra4cat-sidebar { position: fixed; z-index: 10002; top: 0; bottom: 0; left: 0; width: min(340px, 88vw); padding: 25px; overflow-y: auto; background: #fff; transform: translateX(-105%); transition: transform .25s ease; }
    .ra4cat-sidebar.is-open { transform: translateX(0); }
    .ra4cat-sidebar__head { display: flex; align-items: center; justify-content: space-between; }
    .ra4cat-sidebar__close { display: block; border: 0; background: transparent; color: var(--ra4c-ink); font-size: 28px; cursor: pointer; }
    .ra4cat-overlay { position: fixed; z-index: 10001; inset: 0; display: block; background: rgba(20, 18, 15, .55); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
    .ra4cat-overlay.is-open { opacity: 1; visibility: visible; }
    body.ra4cat-lock { overflow: hidden; }
}

@media (max-width: 560px) {
    .ra4cat-hero h1 { font-size: 43px; }
    .ra4cat-hero__visual { min-height: 270px; }
    .ra4cat-hero__meta { display: grid; gap: 9px; }
    .ra4cat-subcategories, .ra4cat-products { padding: 50px 0 65px; }
    .ra4cat-subcategory-grid, .ra4cat-product-grid { grid-template-columns: 1fr; }
    .ra4cat-products__top { align-items: center; }
    .ra4cat-toolbar { align-items: flex-start; flex-direction: column; }
    .ra4cat-ordering, .ra4cat-ordering .woocommerce-ordering, .ra4cat-ordering select { width: 100%; }
    .ra4cat-card__image { aspect-ratio: 1.35; }
}

