/* Heading appearance classes retain typography when semantic heading levels change. */
/* Archive cards share the full content width; supplementary information follows. */
:is(.karaage-archive-layout, .karaage-single-layout) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--karaage-space-5);
    width: 100%;
    max-width: var(--karaage-container-width);
    padding: var(--karaage-space-2) var(--karaage-space-2) var(--karaage-space-5);
}
:is(.karaage-archive-layout, .karaage-single-layout) > main {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: var(--karaage-space-0);
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: var(--karaage-space-3) var(--karaage-space-4);
    margin: var(--karaage-space-3) var(--karaage-space-0) var(--karaage-space-4);
    padding: var(--karaage-space-0);
    list-style: none;
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li {
    display: block;
    min-width: 0;
    margin: var(--karaage-space-0);
    padding: var(--karaage-space-0);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: var(--karaage-color-transparent);
    box-shadow: none;
    transform: none;
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li > a,
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li:has(> figure) {
    display: grid;
    grid-template-columns: minmax(0, .36fr) minmax(0, .64fr);
    align-items: start;
    gap: var(--karaage-space-2);
    height: auto;
    color: inherit;
    font-weight: 400;
    opacity: 1;
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li figure {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    margin: var(--karaage-space-0);
    overflow: hidden;
    border-radius: 12px;
    background: var(--karaage-color-surface);
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li figure a {
    display: block;
    height: 100%;
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li :is(figcaption, .text_box, .column-content) {
    display: flex;
    flex-direction: column;
    gap: var(--karaage-space-1);
    min-width: 0;
    padding: var(--karaage-space-0);
    background: var(--karaage-color-transparent);
    overflow-wrap: anywhere;
}
.karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li :is(h3:not(:where(.karaage-heading-adjusted)), :where(.karaage-heading-look-h3)) {
    margin: var(--karaage-space-0);
    padding: var(--karaage-space-0);
    border: 0;
    color: var(--karaage-color-black);
    line-height: 1.6;
}
.karaage-archive-layout main :is(.column-meta, .shop-meta, .item-meta, .event-meta, .meta) {
    margin: var(--karaage-space-0);
}
.karaage-archive-layout .column-title { order: 0; }
.karaage-archive-layout :is(.column-excerpt, .native-excerpt) { order: 1; margin: var(--karaage-space-0); color: var(--karaage-color-text-muted); line-height: 1.7; }
.karaage-archive-layout .column-meta { order: 2; }
.karaage-archive-layout .column-tags { order: 3; margin: var(--karaage-space-0); gap: var(--karaage-space-1); }
.karaage-archive-layout .column-tags :is(.category-badge, .tag-item) {
    display: inline-block;
    padding: var(--karaage-space-1) var(--karaage-space-1);
    border-radius: 999px;
    background: var(--karaage-color-black);
    color: var(--karaage-color-white);
    font-size: 16px;
    line-height: 1.5;
}
.karaage-archive-layout a:focus-visible {
    outline: 2px solid var(--karaage-color-accent);
    outline-offset: 5px;
    border-radius: 12px;
}
:is(.karaage-archive-layout, .karaage-single-layout) > :is(.fse-sidebar-part, .aside_right) {
    width: 100%;
    min-width: 0;
    margin: var(--karaage-space-0);
}
:is(.karaage-archive-layout, .karaage-single-layout) .aside_right {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--karaage-space-3);
    width: 100%;
    min-width: 0;
    margin: var(--karaage-space-0);
    padding-top: var(--karaage-space-3);
    border-top: 1px solid var(--karaage-color-border);
}
:is(.karaage-archive-layout, .karaage-single-layout) .aside_right .sidebar-section {
    min-width: 0;
    margin: var(--karaage-space-0);
}
:is(.karaage-archive-layout, .karaage-single-layout) .aside_right .sidebar-rankings {
    grid-column: 1 / -1;
}
:is(.karaage-archive-layout, .karaage-single-layout) .sidebar-rankings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--karaage-space-2);
}
:is(.karaage-archive-layout, .karaage-single-layout) .sidebar-rankings .ranking-box { margin: var(--karaage-space-0); }
@media (max-width: 1024px) {
    .karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) {
        grid-template-columns: minmax(0, 1fr);
    }
    :is(.karaage-archive-layout, .karaage-single-layout) .aside_right {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    :is(.karaage-archive-layout, .karaage-single-layout) { gap: var(--karaage-space-3); padding-top: var(--karaage-space-2); }
    .karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) { gap: var(--karaage-space-3); }
    .karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li > a,
    .karaage-archive-layout main :is(.list_column, .list_shop, .list_item, .list_events) > li:has(> figure) {
        grid-template-columns: minmax(0, .34fr) minmax(0, .66fr);
        gap: var(--karaage-space-1);
    }
    :is(.karaage-archive-layout, .karaage-single-layout) .aside_right,
    :is(.karaage-archive-layout, .karaage-single-layout) .sidebar-rankings {
        grid-template-columns: minmax(0, 1fr);
    }
}
