.gvvk-catalog {
    container-type: inline-size;
    container-name: gvvk;
    --ink: #162e41;
    --muted: #485d69;
    --key: #174d75;
    width: 100%;
    min-width: 0;
    color: var(--ink);
}
.gvvk-catalog *, .gvvk-catalog *::before, .gvvk-catalog *::after { box-sizing: border-box; }
.gvvk-catalog .gvvk-shelf {
    margin: 0 0 1.5rem;
    padding: clamp(1rem, 3.3%, 2rem);
    background: #edf1f3;
    border-radius: 4px;
    color: var(--ink);
    overflow: hidden;
}
.gvvk-catalog .gvvk-land { background: #083e6a; color: #fff; }
.gvvk-catalog .gvvk-bar {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin: 0 0 1.25rem;
}
.gvvk-catalog .gvvk-shelf h2 {
    margin: 0;
    padding: 0;
    border: 0;
    text-transform: none;
    color: inherit;
    font-family: inherit;
    font-size: clamp(1.22rem, 3vw, 1.72rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}
.gvvk-catalog .gvvk-track, .gvvk-catalog .gvvk-grid {
    list-style: none;
    margin: 0;
    padding: .25rem .25rem .6rem;
    column-gap: clamp(.85rem, 2.2%, 1.5rem);
    row-gap: 1.25rem;
    align-items: start;
    display: grid;
}
.gvvk-catalog .gvvk-track {
    grid-auto-flow: column;
    --gvvk-visible: 4;
    --gvvk-gap: .85rem;
    padding-inline: 0;
    column-gap: var(--gvvk-gap);
    grid-auto-columns: calc((100% + var(--gvvk-gap)) / var(--gvvk-visible) - var(--gvvk-gap));
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #8094a3 transparent;
}
.gvvk-catalog .gvvk-grid {
    margin-top: 1.35rem;
    grid-template-columns: repeat(auto-fill, minmax(min(130px, 44%), 1fr));
}
.gvvk-catalog .gvvk-card {
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    scroll-snap-align: start;
}
.gvvk-catalog .gvvk-card::before { content: none; }
.gvvk-catalog .gvvk-card a {
    display: block;
    color: inherit;
    text-decoration: none;
    box-shadow: none;
    border: 0;
}
.gvvk-catalog .gvvk-cover {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    width: 100%;
    aspect-ratio: 210 / 297;
    margin: 0 0 .65rem;
}
.gvvk-catalog .gvvk-cover img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    box-shadow: 0 2px 6px #10233338;
    object-fit: contain;
}
.gvvk-catalog .gvvk-name, .gvvk-catalog .gvvk-month { display: block; }
.gvvk-catalog .gvvk-name {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.24;
    overflow-wrap: anywhere;
    hyphens: auto;
}
.gvvk-catalog .gvvk-month {
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.4;
    margin-top: .18rem;
}
.gvvk-catalog .gvvk-land .gvvk-month { color: #d2e4f0; }
.gvvk-catalog .gvvk-controls { display: flex; gap: .4rem; }
.gvvk-catalog .gvvk-controls[hidden] { display: none; }
.gvvk-catalog .gvvk-controls button {
    appearance: none;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0 0 .12em;
    margin: 0;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font: 400 1.65rem/1 system-ui,sans-serif;
    cursor: pointer;
}
.gvvk-catalog .gvvk-controls button:disabled { opacity: .3; cursor: default; }
.gvvk-catalog a:focus-visible, .gvvk-catalog button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
.gvvk-catalog .gvvk-card a:hover .gvvk-name { text-decoration: underline; }
.gvvk-catalog .gvvk-more, .gvvk-catalog .gvvk-back, .gvvk-catalog .gvvk-paging a {
    display: inline-block;
    color: inherit;
    font-size: .94rem;
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: .2em;
}
.gvvk-catalog .gvvk-more { margin-top: 1.1rem; }
.gvvk-catalog .gvvk-back { margin-bottom: 1rem; }
.gvvk-catalog .gvvk-paging { display: flex; flex-wrap: wrap; gap: .7rem 1rem; align-items: center; margin-top: 1rem; }
.gvvk-catalog .gvvk-paging span { font-size: .9rem; }

.gvvk-cover img[data-cover]:not([src]){visibility:hidden}

.gvvk-search{margin:0 0 1.4rem}
.gvvk-search label{display:block;margin-bottom:.35rem;color:#152f46;font-weight:700}
.gvvk-search div{display:flex;gap:.5rem;max-width:34rem}
.gvvk-search input[type=search]{flex:1;min-width:0;padding:.6rem .8rem;border:1px solid #abb8c1;border-radius:4px;font:inherit;background:white;color:#152f46}
.gvvk-search button{padding:.6rem 1rem;border:0;border-radius:4px;background:#084a7f;color:white;font:inherit;cursor:pointer}

@container gvvk (max-width: 479px) { .gvvk-catalog .gvvk-track { --gvvk-visible: 3; } }
@container gvvk (max-width: 369px) { .gvvk-catalog .gvvk-track { --gvvk-visible: 2; } }
@container gvvk (max-width: 229px) { .gvvk-catalog .gvvk-track { --gvvk-visible: 1; } }
@container gvvk (min-width: 900px) { .gvvk-catalog .gvvk-track { --gvvk-visible: 5; } }

dialog.gvvk-issue-dialog[open]{position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;height:100%;max-width:none;max-height:none;background:#e8ebef;overflow:hidden}
.gvvk-issue-dialog iframe{display:block;width:100%;height:100%;border:0;margin:0}
.gvvk-issue-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:70px 16px 28px;background:#e8ebef;color:#142b41;font:600 17px/1.4 system-ui,sans-serif}
.gvvk-issue-loading img{display:block;min-height:0;max-height:100%;max-width:100%;width:auto;object-fit:contain}
.gvvk-issue-dialog>button{position:absolute;top:12px;right:16px;z-index:1;background:white;color:#142b41;border:1px solid #b3c3d0;border-radius:7px;padding:7px 12px;font:400 16px/1.4 system-ui,sans-serif}
.gvvk-issue-dialog>button[hidden]{display:none}
html:has(dialog.gvvk-issue-dialog[open]){overflow:hidden}
