/* Category archive only: warm product cards, independent of the shared story cards. */
.cl-cat-grid { gap:16px; padding:8px 0 16px; }
.cl-category-card {
    display:flex; flex-direction:column; min-width:0; overflow:hidden;
    background:#fff; border:0; border-radius:16px;
    box-shadow:0 2px 12px rgb(0 0 0 / 4%);
    transition:transform .2s ease,box-shadow .2s ease;
}
.cl-category-card-image {
    display:block; position:relative; aspect-ratio:1/1; overflow:hidden;
    background:#fff; color:var(--cl-ink);
}
.cl-category-card-image img {
    display:block; width:100%; height:100%; object-fit:contain; object-position:center; margin:0;
    transition:transform .3s ease;
}
.cl-category-card-image > a { display:block; width:100%; height:100%; }
.cl-category-card-badge {
    position:absolute; bottom:10px; left:10px; padding:7px 13px;
    background:var(--cl-yellow); color:var(--cl-ink); border-radius:999px;
    font-size:12px; font-weight:800; line-height:1.2;
}
.cl-category-card-copy { display:flex; flex:1; flex-direction:column; padding:12px; }
.cl-category-card h2 { font:800 15px/1.4 var(--font-nunito),sans-serif; margin:0 0 6px; }
.cl-category-card h2 a { color:var(--cl-ink); text-decoration:none; }
.cl-category-card-category {
    display:block; margin-bottom:5px; color:#858585;
    font-size:10px; font-weight:600; line-height:1.4; letter-spacing:.08em;
    text-transform:uppercase; overflow-wrap:anywhere;
}
.cl-category-card-price { padding:0 0 8px; color:#fab008; font-size:16px; font-weight:700; line-height:1.3; }
.cl-category-card-price-prefix { color:#35342f; }
.cl-category-card-action { margin-top:auto; }
.cl-category-card-price del { color:#938779; font-size:14px; font-weight:500; }
.cl-category-card-price ins { text-decoration:none; background:none; color:inherit; }
.cl-category-card-price .woocommerce-price-suffix { font-size:11px; font-weight:500; }
.cl-category-card-action .button {
    position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; gap:6px;
    width:100%; min-height:40px; padding:8px 16px; border:0; border-radius:0; background:none; box-shadow:none;
    color:var(--cl-ink); font:400 20px/1.1 var(--font-brush),cursive; letter-spacing:.01em;
    text-decoration:none; text-align:center;
}
.cl-category-card-action .button::before {
    content:""; position:absolute; inset:-2px -8px; z-index:-1; transform:rotate(-1.2deg);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 50' preserveAspectRatio='none'%3E%3Cpath fill='%23ffd233' d='M6 14C14 6 40 9 70 6c32-3 62 1 92-1 18-1 30 2 34 8 3 5-2 8 0 13 2 6-1 11-6 15-9 6-34 3-62 5-34 2-70 3-100 1C14 45 4 41 3 34c-1-6 4-9 2-14-1-3 0-4 1-6z'/%3E%3Cpath fill='%23ffd233' d='M0 22c-2 3 0 6 3 7l4-3zM196 20l4 3-1 6-5-2z'/%3E%3Cpath fill='%23f4c744' opacity='.55' d='M20 18c30-3 60-1 90-2 28-1 50 0 70 2-22 3-48 2-76 3-30 1-60 2-84-3z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    pointer-events:none; transition:transform .3s ease;
}
.cl-category-card-action .button::after {
    content:"\2192"; display:inline-block; font-family:var(--font-nunito),sans-serif; font-weight:800; font-size:16px; transition:transform .25s ease;
}
.cl-category-card a:focus-visible { outline:3px solid #a26715; outline-offset:3px; }
.cl-category-card h2 a:hover { color:#98620f; }
.cl-cat-sort-bar { margin:6px 0 8px; padding:8px 12px; background:#fbf7ef; border:0; border-radius:14px; flex-wrap:wrap; }
.cl-cat-sort-bar .woocommerce-result-count { color:#817566; font-size:12px; line-height:1.5; }
.cl-cat-sort-bar .orderby { font-size:13px; max-width:100%; }
@media (hover:hover) {
    .cl-category-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgb(0 0 0 / 7%); }
    .cl-category-card:hover .cl-category-card-image img { transform:scale(1.035); }
    .cl-category-card-action .button:hover::before { transform:rotate(-2.2deg); }
    .cl-category-card-action .button:hover::after { transform:translateX(4px); }
}
@media (max-width:1023px) { .cl-cat-grid { gap:14px; } }
@media (max-width:639px) {
    .cl-cat-grid { gap:10px; }
    .cl-category-card { border-radius:16px; }
    .cl-category-card-copy { padding:12px 10px; }
    .cl-category-card h2 { font-size:13px; }
    .cl-category-card-category { font-size:9px; letter-spacing:.06em; }
    .cl-category-card-price { font-size:15px; }
    .cl-category-card-badge { bottom:8px; left:8px; padding:5px 9px; font-size:10px; }
    .cl-category-card-action .button { min-height:44px; padding:8px; font-size:17px; }
    .cl-cat-sort-bar .woocommerce-ordering { max-width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    .cl-category-card,.cl-category-card-image img,.cl-category-card-action .button::before,.cl-category-card-action .button::after { transition:none; }
    .cl-category-card:hover,.cl-category-card:hover .cl-category-card-image img { transform:none; }
}

.cl-category-card-image picture { display:block; width:100%; height:100%; }
