/* Каталог гайдов. Кадр 2122:19429: пистолет, карточка, «Зачем оно тебе?». */

.gc-guides-types {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    width: min(100%, 1280px);
    margin-inline: auto;
    container-type: inline-size;
}
.gc-guides-types-intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    width: min(647px, calc(100% - var(--space-8)));
    margin-inline-start: var(--space-8);
}
.gc-guides-types-grid {
    display: grid;
    grid-template-columns: 591fr 280fr 280fr;
    gap: var(--space-4);
    margin-inline: 0;
}
.gc-guides-types-carousel { width: 100%; min-width: 0; }
.gc-guides-types-carousel .carousel-nav { top: 140px; }
.gc-guides-types-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    min-width: 0;
}
.gc-guides-types-pistol-copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
}
.gc-guides-types-copy {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}
.gc-guides-types-copy h3 {
    margin: 0;
    font-family: Unbounded, var(--font-family-heading);
    font-size: var(--font-size-24);
    font-weight: 700;
    line-height: var(--font-size-32);
    color: var(--text-primary);
    overflow-wrap: anywhere;
}
.gc-guides-types-copy p {
    margin: 0;
    font-size: var(--font-size-15);
    line-height: var(--line-height-body);
    color: var(--text-primary);
}
.gc-guides-types-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 215px;
    height: 215px;
    flex-shrink: 0;
}
.gc-guides-types-icon img {
    display: block;
    max-width: none;
    flex-shrink: 0;
}
.gc-guides-types-icon--scaled img {
    transform: scale(2.6875);
}
[data-theme="dark"] .gc-guides-types-icon img {
    filter: invert(1);
}
@container (max-width: 1099.98px) {
    .gc-guides-types-grid {
        display: flex;
        gap: var(--space-4);
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .gc-guides-types-grid::-webkit-scrollbar { display: none; }
    .gc-guides-types-group {
        flex: 0 0 85%;
        scroll-snap-align: start;
    }
    .gc-guides-types-pistol-copy { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
}
@container (max-width: 599.98px) {
    .gc-guides-types-grid { gap: var(--space-4); }
    .gc-guides-types-pistol-copy { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
    .gc-guides-types-copy { padding-inline: var(--space-4); }
    .gc-guides-types-intro { width: calc(100% - var(--space-8)); margin-inline: var(--space-4); gap: var(--space-4); }
}

.gc-document-package {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-8) + var(--space-2));
    width: min(100%, 1280px);
    margin-inline: auto;
}

.gc-document-package-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    width: min(100%, 692px);
    margin-inline: auto;
    text-align: center;
}

.gc-document-package-steps {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-16) + var(--space-4));
}

.gc-document-package-single {
    width: min(100%, 592px);
}

.gc-document-package-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.gc-document-package-meta p {
    margin: 0;
    font-size: var(--font-size-15);
    line-height: var(--line-height-body);
    color: var(--text-secondary);
    text-align: end;
}

.gc-document-package-title {
    max-width: 572px;
}

.gc-document-package-description {
    margin: 0;
    max-width: 700px;
    font-size: var(--font-size-15);
    line-height: var(--line-height-body);
    color: var(--text-primary);
}

.gc-document-package-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: var(--space-4);
    width: 100%;
}

@media (max-width: 991.98px) {
    .gc-document-package {
        gap: var(--space-8);
    }
    .gc-document-package-intro { gap: var(--space-4); }

    .gc-document-package-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .gc-document-package-meta p {
        text-align: start;
    }

    .gc-document-package-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.gc-legal-shell--hero {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-8);
}

.gc-guides-hero {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-16) * 2);
    width: 100%;
}



.gc-guides-hero-stage {
    width: min(100%, 1280px);
    margin-inline: auto;
}

.gc-guides-hero-frame {
    position: relative;
    padding-top: 21.67%;
}

.gc-guides-hero-card {
    --gc-guides-hero-radius: calc(var(--radius-16) * 3);
    position: relative;
    z-index: 1;
    padding-block: var(--space-16);
    padding-inline: var(--space-8);
    border: 1px solid var(--border-default);
    border-radius: var(--gc-guides-hero-radius);
    background: var(--surface-elevated);
}

.gc-guides-hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8);
    max-width: 716px;
    text-align: start;
}

.gc-guides-hero-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin: 0;
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-full);
    background: var(--fill-emphasis);
    color: var(--text-on-solid);
    font-size: var(--font-size-15);
    font-weight: 500;
    line-height: var(--line-height-body);
}

.gc-guides-hero-card::after,
.gc-guides-hero-badge::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
}

.gc-guides-hero-card::after {
    box-shadow: inset 0 2px 0 0 color-mix(in srgb, var(--fill-emphasis-inverse) 20%, transparent);
}

.gc-guides-hero-badge::after {
    box-shadow: inset 0 1px 0 0 color-mix(in srgb, var(--fill-emphasis-inverse) 20%, transparent);
}

.gc-guides-hero-wordmark {
    display: block;
    width: 93px;
    height: 20px;
}

.gc-guides-hero-title {
    margin: 0;
    font-family: Unbounded, var(--font-family-heading);
    font-size: var(--font-size-48);
    font-weight: 700;
    line-height: calc(56 / 48);
    letter-spacing: 0;
    color: var(--text-primary);
}

.gc-guides-hero-title-lead {
    font-weight: 400;
}

.gc-guides-hero-lead p {
    margin: 0;
    font-size: var(--font-size-15);
    line-height: var(--line-height-body);
    font-weight: 400;
    color: var(--text-primary);
}

.gc-guides-hero-pistol {
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 0;
    width: 82.95%;
    aspect-ratio: 1022 / 374;
    transform: translateX(-50%);
    overflow: hidden;
    /* Слой со своим фоном страницы: иначе Chrome сбрасывает mix-blend-mode
       у transform + overflow на пересборке слоя при сужении окна. */
    isolation: isolate;
    background: var(--surface-page);
    pointer-events: none;
}

.gc-guides-hero-pistol img {
    position: absolute;
    width: 88.35%;
    height: 135.85%;
    left: 2.23%;
    top: -17.36%;
    max-width: none;
    mix-blend-mode: exclusion;
}

.gc-guides-hero-casing {
    position: absolute;
    z-index: 2;
    aspect-ratio: 1;
    object-fit: cover;
    filter: blur(6px);
    pointer-events: none;
}

.gc-guides-hero-casing--left {
    width: 8.5%;
    left: 12.3%;
    top: 10.8%;
    transform: translate(-50%, -50%) scaleY(-1) rotate(-45deg);
}

.gc-guides-hero-casing--right {
    width: 17.4%;
    left: 88.6%;
    top: 17%;
    transform: translate(-50%, -50%) scaleY(-1) rotate(135deg);
}

.gc-guides-purpose {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(var(--space-8) + var(--space-2));
    width: min(100%, 1280px);
    margin-inline: auto;
}

.gc-guides-purpose-intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-6);
    width: min(514px, calc(100% - var(--space-8)));
    margin-inline-start: var(--space-8);
    text-align: start;
}

.gc-guides-purpose-title {
    margin: 0;
    font-family: Unbounded, var(--font-family-heading);
    font-size: var(--font-size-48);
    font-weight: 400;
    line-height: calc(56 / 48);
    color: var(--text-primary);
}

.gc-guides-purpose-title-lead {
    font-weight: 700;
}

.gc-guides-purpose-lead {
    margin: 0;
    font-size: var(--font-size-15);
    line-height: var(--line-height-body);
    font-weight: 400;
    color: var(--text-primary);
}

.gc-guides-purpose-board {
    position: relative;
    width: 100%;
    padding: var(--space-1);
    border-radius: calc(var(--radius-16) * 3);
    background: var(--gray-1000);
    box-shadow: var(--shadow-md);
}

.gc-guides-purpose-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: var(--space-1);
    width: 100%;
    margin-bottom: var(--space-1);
}

.gc-guides-purpose-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    min-height: 0;
    overflow: hidden;
    padding: calc(var(--space-6) + var(--space-1));
    border-radius: calc(var(--radius-16) * 3 - var(--space-1));
    background: var(--surface-primary);
}

.gc-guides-purpose-card--collect {
    gap: var(--space-4);
}

.gc-guides-purpose-card-title {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: Unbounded, var(--font-family-heading);
    font-size: var(--font-size-24);
    font-weight: 700;
    line-height: var(--font-size-32);
    color: var(--text-primary);
}

/* Сдвиг и размер — доли ширины карточки 635px, чтобы кадр не плющился от её высоты. */
.gc-guides-purpose-photo {
    position: absolute;
    z-index: 0;
    top: 0;
    height: auto;
    max-width: none;
    object-fit: contain;
    pointer-events: none;
}

.gc-guides-purpose-photo--hunt {
    z-index: 2;
    left: 20.281%;
    top: -39px;
    width: 37.207%;
    aspect-ratio: 1;
}

.gc-guides-purpose-tags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-2);
    width: 285px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-guides-purpose-card--wide-tags .gc-guides-purpose-tags {
    width: 357px;
}

.gc-guides-purpose-card--collect .gc-guides-purpose-tags {
    width: 387px;
}

.gc-guides-purpose-tag {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-full);
    background: var(--surface-subtle);
    color: var(--text-primary);
    font-size: var(--font-size-15);
    font-weight: 500;
    line-height: var(--line-height-body);
    white-space: normal;
}

.gc-guides-purpose-tag::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 1px 0 0 color-mix(in srgb, var(--fill-emphasis-inverse) 20%, transparent);
}

.gc-guides-purpose-tag--limit {
    background: var(--tint-tinted-rose);
}

.gc-guides-purpose-note {
    margin: 0;
    padding: var(--space-6);
    color: var(--text-primary);
    font-size: var(--font-size-15);
    font-weight: 400;
    line-height: var(--line-height-body);
    text-align: center;
}

.gc-guides-tenure {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(var(--space-8) + var(--space-2));
    width: min(100%, 1280px);
    margin-inline: auto;
    container-type: inline-size;
}

.gc-guides-tenure-intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-6);
    width: min(692px, calc(100% - var(--space-8)));
    margin-inline-start: var(--space-8);
}

.gc-guides-tenure-title {
    margin: 0;
    font-family: Unbounded, var(--font-family-heading);
    font-size: var(--font-size-48);
    font-weight: 700;
    line-height: calc(56 / 48);
    color: var(--text-primary);
}

.gc-guides-tenure-lead {
    margin: 0;
    font-size: var(--font-size-15);
    font-weight: 400;
    line-height: var(--line-height-body);
    color: var(--text-primary);
}

.gc-guides-tenure-cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    width: 100%;
}

.gc-guides-tenure-note {
    width: min(100%, 442px);
    margin-inline: auto;
    text-align: center;
}

.gc-guides-tenure-grid {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: var(--space-4);
    width: 100%;
}

.gc-guides-tenure-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 499px;
    border: 1px solid var(--border-subtle);
    border-radius: calc(var(--radius-16) * 3);
    background: var(--surface-primary);
}

@container (min-width: 1100px) {
    .gc-guides-tenure-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        justify-items: stretch;
    }

}

.gc-guides-tenure-card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(var(--space-4) + var(--space-1));
    width: 100%;
    padding: var(--space-8);
}

.gc-guides-tenure-card-title {
    margin: 0;
    font-family: Unbounded, var(--font-family-heading);
    font-size: var(--font-size-24);
    font-weight: 700;
    line-height: var(--font-size-32);
    color: var(--text-primary);
}

.gc-guides-tenure-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 1px 0 0 color-mix(in srgb, var(--fill-emphasis-inverse) 10%, transparent);
}

.gc-guides-tenure-card .gc-guides-purpose-tags {
    max-width: 100%;
    margin-top: auto;
}

.gc-guides-tenure-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    width: 100%;
}

.gc-guides-tenure-copy--tight {
    gap: var(--space-3);
}

.gc-guides-tenure-photo {
    position: absolute;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.gc-guides-tenure-photo img {
    position: absolute;
    max-width: none;
}

.gc-guides-tenure-photo--semi {
    left: calc(50% - 31px);
    top: calc(50% + 40.5px);
    width: 179.326923%;
    height: auto;
    aspect-ratio: 746 / 197;
    transform: translate(-50%, -50%);
}

.gc-guides-tenure-photo--semi img {
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translate(-50%, -50%);
}

/* The third card masks the shared illustration, as in the Figma layer order. */
.gc-guides-tenure-card:last-child {
    z-index: 1;
}

@container (max-width: 1099.98px) {
    .gc-guides-tenure-card {
        min-height: 0;
        overflow: clip;
    }

    .gc-guides-tenure-photo--semi {
        position: relative;
        flex-shrink: 0;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        min-height: 140px;
        aspect-ratio: 746 / 335;
        overflow: visible;
        transform: none;
    }

    .gc-guides-tenure-photo--semi img {
        width: 170%;
        height: auto;
        left: 55%;
    }

    .gc-guides-tenure-card .gc-guides-purpose-tags {
        order: 1;
        margin-top: var(--space-2);
    }
}

@media (max-width: 991.98px) {
    .gc-guides-hero-frame {
        overflow: clip;
    }

    .gc-guides-hero {
        gap: var(--space-16);
    }
    .gc-guides-purpose,
    .gc-guides-tenure { gap: var(--space-8); }

    .gc-guides-hero-card {
        padding: var(--space-6);
        --gc-guides-hero-radius: var(--radius-20);
    }

    .gc-guides-hero-title,
    .gc-guides-purpose-title,
    .gc-guides-tenure-title {
        font-size: clamp(var(--font-size-24), 7vw, var(--font-size-32));
        line-height: 1.25;
    }

    .gc-guides-tenure {
        margin-top: 0;
    }

    .gc-guides-tenure-grid {
        gap: var(--space-4);
    }

    .gc-guides-purpose-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
        grid-template-rows: none;
        aspect-ratio: auto;
    }

    .gc-guides-purpose-card {
        padding: var(--space-6);
    }

    .gc-guides-hero-copy {
        gap: var(--space-6);
    }

    .gc-guides-purpose-intro,
    .gc-guides-tenure-intro {
        width: calc(100% - var(--space-8));
        margin-inline: var(--space-4);
        gap: var(--space-4);
    }

    .gc-guides-tenure-card-body {
        padding: var(--space-6);
    }

    .gc-guides-purpose-tags,
    .gc-guides-purpose-card--wide-tags .gc-guides-purpose-tags,
    .gc-guides-purpose-card--collect .gc-guides-purpose-tags {
        max-width: 100%;
    }

    .gc-guides-purpose-tag {
        white-space: normal;
    }

    .gc-guides-hero-casing--left {
        width: 14%;
    }

    .gc-guides-hero-casing--right {
        width: 24%;
    }

    .gc-document-package-title {
        font-size: clamp(var(--font-size-24), 8vw, var(--font-size-32));
    }
}

@container (max-width: 1099.98px) {
    .gc-guides-purpose-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
    }
    .gc-guides-hero-title,
    .gc-guides-purpose-title,
    .gc-guides-tenure-title {
        font-size: clamp(var(--font-size-24), 7cqw, var(--font-size-32));
        line-height: 1.25;
    }
    .gc-guides-purpose-photo--hunt {
        left: auto;
        right: var(--space-6);
        top: var(--space-4);
        width: 96px;
    }
    .gc-guides-purpose-card:first-child .gc-guides-purpose-tags {
        margin-top: var(--space-8);
        max-width: 100%;
    }
    .gc-guides-purpose-board { border-radius: var(--radius-20); }
    .gc-guides-purpose-card { border-radius: var(--radius-16); }
    .gc-guides-purpose-note { text-align: start; }
    .gc-guides-tenure-card { border-radius: var(--radius-20); }
    .gc-guides-tenure-intro br { display: none; }
}

@media (min-width: 992px) and (max-width: 1439.98px) {
    .gc-guides-hero { gap: var(--space-16); }
}

@media (max-width: 599.98px) {
    .gc-guides-types-copy p,
    .gc-guides-purpose-lead,
    .gc-guides-tenure-lead,
    .gc-guides-hero-lead p,
    .gc-document-package-description,
    .gc-guides-purpose-note { line-height: 1.6; }
    .gc-guides-hero-lead p + p { margin-top: var(--space-4); }
    .gc-document-package-steps { gap: var(--space-8); }
    .gc-guides-types-copy h3 { font-size: var(--font-size-20); line-height: 1.4; }
}

.gc-guides-purpose-tag--exam {
    background: var(--accent-link);
    color: var(--text-on-solid);
    border-color: transparent;
}
.gc-guides-hunting-layout { width: 100%; }
.gc-guides-hunting-copy { display: flex; flex-direction: column; gap: var(--space-4); max-width: 572px; width: 48%; }
.gc-guides-hunting-description { font-size: var(--font-size-15); line-height: var(--line-height-body); color: var(--text-primary); }
.gc-guides-hunting-description p { margin: 0; }
.gc-guides-hunting-description p + p { margin-top: var(--space-6); }
.gc-guides-hunting-ticket {
    position: absolute; top: var(--space-8); right: var(--space-8);
    width: 35.234375%; aspect-ratio: 451 / 329; overflow: hidden;
    border: 1px solid var(--tint-green-deep); border-radius: calc(var(--radius-16) * 2);
    background: var(--tint-green-deep);
    box-shadow: inset 0 2px 0 color-mix(in srgb, var(--gray-0) 25%, transparent);
}
.gc-guides-hunting-ticket-glow { position: absolute; width: 236.63%; aspect-ratio: 1; left: -35.61%; top: -146.68%; background: url('../uploads/assets/guides-hunting-glow.svg') center / contain no-repeat; }
.gc-guides-hunting-ticket-emblem { position: absolute; width: 23.06%; height: 32.52%; left: 38.58%; top: 14.13%; background: url('../uploads/assets/guides-hunting-emblem.svg') center / contain no-repeat; transform: scaleY(-1); }
.gc-guides-hunting-ticket-line { position: absolute; width: 35.48%; height: 5.17%; left: 31.93%; top: 51.67%; border-radius: var(--radius-full); background: color-mix(in srgb, var(--gray-0) 20%, transparent); }
.gc-guides-hunting-ticket-line--wide { width: 68.74%; height: 10.03%; left: 15.3%; top: 71.73%; }
@container (max-width: 1099.98px) {
    .gc-guides-hunting-copy { width: 100%; max-width: none; }
    .gc-guides-hunting-layout { display: flex; flex-direction: column; gap: var(--space-8); }
    .gc-guides-hunting-ticket { position: relative; inset: auto; width: min(100%, 451px); align-self: center; }
}
@media (max-width: 991.98px) {
    .gc-guides-hunting-description { line-height: 1.6; }
    .gc-guides-hunting-ticket { border-radius: var(--radius-20); }
}
.gc-guides-hunting-section { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.gc-guides-hunting-instructions { width: 100%; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.gc-guides-hunting-instructions-heading { display: flex; flex-direction: column; gap: var(--space-2); }
.gc-guides-hunting-region { margin: 0; color: var(--text-secondary); font-size: var(--font-size-15); line-height: var(--line-height-body); }
.gc-guides-hunting-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.gc-guides-hunting-step-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-2-5); font-size: var(--font-size-15); line-height: var(--line-height-body); }
.gc-guides-hunting-step-copy h5 { margin: 0; font-family: Unbounded, sans-serif; font-size: var(--font-size-24); line-height: 32px; font-weight: 700; color: var(--text-primary); }
.gc-guides-hunting-step-copy p { margin: 0; color: var(--text-primary); }
.gc-guides-hunting-step-copy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.gc-guides-hunting-helpers { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
@media (max-width: 599.98px) {
    .gc-guides-hunting-step-copy { flex-basis: calc(100% - 64px); line-height: 1.6; }
}
@media (max-width: 599.98px) {
    .gc-guides-hunting-step-copy { display: contents; }
    .gc-guides-hunting-step-copy h5 { flex: 1; align-self: center; font-size: var(--font-size-20); line-height: 1.4; }
    .gc-guides-hunting-step-copy p { flex-basis: 100%; font-size: var(--font-size-15); line-height: 1.6; }
}

.gc-guides-hunting-helpers > p { text-align: center; }
@container (max-width: 1099.98px) { .gc-guides-hunting-list { grid-template-columns: minmax(0, 1fr); } }

.gc-guides-hunting-helpers > p { padding-inline: var(--space-12); }

.gc-guides-purpose-tag--number { width: 40px; height: 40px; min-width: 40px; flex: 0 0 40px; padding: 0; border-radius: var(--radius-full); display: inline-flex; align-items: center; justify-content: center; }

.gc-guides-purpose-tag--step { background: var(--fill-emphasis); color: var(--text-on-solid); }
.gc-guides-step-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); width: 100%; }
.gc-guides-step-meta > p { margin: 0; color: var(--text-secondary); font-size: var(--font-size-15); line-height: var(--line-height-body); }
.gc-guides-step-title { max-width: 572px; }
.gc-guides-safety-section { position: relative; isolation: isolate; background: var(--surface-page); padding-top: 224px; }
.gc-guides-safety-illustration { position: absolute; z-index: 2; pointer-events: none; top: 0; left: 50%; transform: translateX(-50%); width: min(800px, 62.5%); aspect-ratio: 800 / 322; background: url('../uploads/assets/guides-safety-weapon.png') 44% 59.57% / 134.21% auto no-repeat; mix-blend-mode: darken; }
.gc-guides-safety-content { position: relative; display: flex; flex-direction: column; gap: var(--space-4); }
.gc-guides-safety-copy { display: flex; flex-direction: column; gap: var(--space-4); }
.gc-guides-safety-copy > p, .gc-guides-step-description { margin: 0; font-size: var(--font-size-15); line-height: var(--line-height-body); color: var(--text-primary); }
.gc-guides-safety-copy > p { max-width: 747px; }
.gc-guides-step-heading { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.gc-guides-safety-content .gc-guides-hunting-step-copy { justify-content: space-between; align-self: stretch; }
.gc-guides-safety-content .gc-guides-hunting-list { min-height: 205px; }
@container (max-width: 1099.98px) {
    .gc-guides-safety-section { padding-top: 0; overflow-x: clip; }
    .gc-guides-safety-illustration {
        position: relative;
        inset: auto;
        transform: none;
        width: 150%;
        margin: 0 0 var(--space-4) -25%;
    }
}
@media (max-width: 599.98px) { .gc-guides-step-meta { flex-wrap: wrap; } .gc-guides-step-meta > p { flex-basis: 100%; } .gc-guides-step-heading .gc-guides-tenure-card-title { font-size: var(--font-size-20); line-height: 1.4; } }

[data-theme="dark"] .gc-guides-safety-illustration { filter: invert(1); mix-blend-mode: screen; }

.gc-guides-step-description a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Additional process steps reuse the document-package and guide-step panels. */
.gc-guides-legal-resources { display: flex; flex-direction: column; gap: var(--space-2); }
.gc-guides-legal-resources > p { margin: 0; text-align: center; color: var(--text-secondary); font-size: var(--font-size-15); line-height: var(--line-height-body); }
.gc-guides-resource-links { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); }
.gc-guides-resource-links a { text-decoration: none; }
.gc-guides-resource-links a:hover { background: var(--surface-hover); }
.gc-guides-resource-links a:focus-visible { outline: var(--gc-focus-outline); outline-offset: 2px; }
.gc-guides-purpose-tag--license-green, .gc-guides-purpose-tag--license-blue { flex-shrink: 0; border-color: transparent; }
.gc-guides-purpose-tag--license-green { background: var(--tint-tinted-green); color: var(--tint-green-deep); }
.gc-guides-purpose-tag--license-blue { background: var(--tint-tinted-blue); color: var(--tint-blue-deep); }
.gc-guides-purchase { position: relative; isolation: isolate; width: 100%; padding-top: 143px; }
.gc-guides-purchase > header { position: relative; z-index: 1; }
.gc-guides-purchase-weapon { position: absolute; z-index: 1; top: 0; left: 50%; transform: translateX(-50%); width: 83.90625%; margin: 0; aspect-ratio: 1074 / 215; pointer-events: none; }
.gc-guides-purchase-weapon img { display: block; width: 100%; height: 100%; object-fit: contain; transform: none; filter: drop-shadow(-1px 3px 3px color-mix(in srgb, var(--gray-1000) 13%, transparent)) drop-shadow(-5px 15px 7px color-mix(in srgb, var(--gray-1000) 33%, transparent)); }
.gc-guides-purchase-glow { position: absolute; z-index: -1; pointer-events: none; width: 68.624%; aspect-ratio: 878.393 / 800.703; background-size: contain; background-repeat: no-repeat; transform: rotate(7deg); }
.gc-guides-purchase-glow--blue { left: -19.5%; top: -272px; background-image: url('../uploads/assets/guides-purchase-blue.svg'); }
.gc-guides-purchase-glow--purple { left: 26.9%; top: -171px; background-image: url('../uploads/assets/guides-purchase-purple.svg'); }
@container (max-width: 1099.98px) {
    .gc-guides-purchase-glow--blue { top: -10%; }
    .gc-guides-purchase-glow--purple { top: 10%; }
}


.gc-guides-license-list { min-height: 280px; }
[data-theme="dark"] .gc-guides-purpose-tag--license-green { color: color-mix(in srgb, var(--tint-green-bright) 50%, var(--gray-0)); }
[data-theme="dark"] .gc-guides-purpose-tag--license-blue { color: color-mix(in srgb, var(--tint-blue-bright) 65%, var(--gray-0)); }

.gc-guides-preparation, .gc-guides-completion { display: flex; flex-direction: column; gap: var(--space-4); }
.gc-guides-card-eyebrow { margin: 0; color: var(--text-primary); font-size: var(--font-size-15); font-weight: 600; line-height: var(--line-height-body); }
.gc-guides-permit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.gc-guides-permit-grid .gc-document-folder__copy { gap: var(--space-4); }
@container (max-width: 1099.98px) {
    .gc-guides-purchase { padding-top: 0; overflow-x: clip; }
    .gc-guides-purchase-weapon { position: relative; inset: auto; transform: none; width: 160%; margin: 0 0 var(--space-4) -30%; }
    .gc-guides-permit-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
}

/* Mobile illustrations bleed to the viewport while copy keeps its section inset. */
@media (max-width: 991.98px) {
    .gc-guides-safety-section, .gc-guides-purchase { overflow: visible; }
    .gc-guides-safety-section { isolation: isolate; }
    .gc-guides-safety-section::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0 calc(50% - 50vw);
        background: var(--surface-page);
        pointer-events: none;
    }
    .gc-guides-safety-illustration, .gc-guides-purchase-weapon {
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        overflow: clip;
    }
    .gc-guides-safety-illustration {
        aspect-ratio: 800 / 483;
        background-size: 201.315% auto;
    }
    .gc-guides-purchase-weapon { aspect-ratio: 1074 / 344; }
    .gc-guides-purchase-weapon img { position: relative; left: -30%; width: 160%; height: auto; }
}

.gc-guides-purpose-tag--permit { flex-shrink: 0; border-color: transparent; background: var(--tint-tinted-violet); color: var(--tint-violet-deep); }
[data-theme="dark"] .gc-guides-purpose-tag--permit { color: color-mix(in srgb, var(--tint-violet-bright) 65%, var(--gray-0)); }
.gc-guides-outro { display: flex; flex-direction: column; align-items: center; gap: calc(var(--space-8) + var(--space-2)); width: 100%; margin-top: calc(-1 * var(--space-12)); }
.gc-guides-outro-copy { display: flex; flex-direction: column; gap: var(--space-6); text-align: center; width: min(100%, 1007px); }
.gc-guides-outro-communities { width: 100%; text-align: center; display: flex; flex-direction: column; gap: var(--space-3); }
.gc-guides-outro-communities > p { color: var(--text-secondary); }
.gc-guides-outro-credits { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--space-8) + var(--space-2)); margin-top: calc(var(--space-8) + var(--space-2)); }
.gc-guides-outro-credit { display: flex; align-items: center; gap: var(--space-3); text-decoration: none; color: var(--text-primary); font-size: var(--font-size-15); line-height: var(--line-height-body); }
.gc-guides-outro-credit > span { display: flex; flex-direction: column; }
.gc-guides-outro-credit-label { color: var(--text-secondary); font-size: var(--font-size-13); }
.gc-guides-outro-credit[href]:hover { text-decoration: none; }
.gc-guides-outro-credit > .gc-img-slot { transition: transform 150ms ease-out; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 .gc-guides-outro-credit[href]:hover > .gc-img-slot { transform: scale(1.1); }
}
@media (max-width: 991.98px) { .gc-guides-outro { margin-top: 0; } }
@media (max-width: 599.98px) {
 .gc-guides-outro-copy { padding-inline: var(--space-4); }
 .gc-guides-outro-credits { flex-direction: column; gap: var(--space-6); margin-top: 0; }
 .gc-guides-permit-grid .gc-guides-step-heading { flex-wrap: wrap; }
}

.gc-guides-outro-art { width: min(100%, 993px); margin-top: calc(var(--space-8) + var(--space-2)); overflow: clip; }
.gc-guides-outro-art img { display: block; width: 100%; height: auto; }
@media (max-width: 599.98px) {
 .gc-guides-outro-art { width: 100vw; max-width: none; }
 .gc-guides-outro-art img { width: 170%; max-width: none; margin-left: -35%; }
}

/* The final illustration meets the page edge; no empty document footer. */
.gc-legal-shell--hero:has(.gc-guides-outro) > .gc-legal-page:empty { display: none; }
.gc-auth-right-inner:has(.gc-guides-outro),
.gc-auth-split-wrapper--document:has(.gc-guides-outro) { padding-bottom: 0; }
@media (min-width: 992px) and (max-width: 1439.98px) {
 .gc-guides-outro { margin-top: var(--space-4); }
}

.gc-auth-right:has(.gc-guides-outro) > .gc-auth-footer { display: none; }
body.gc-auth-body.gc-legal-body .gc-auth-split-wrapper--document:has(.gc-guides-outro) { padding-bottom: 0 !important; }

.gc-guides-inline-emoji { display: inline-block; width: 1.25em; height: 1.25em; vertical-align: -0.22em; object-fit: contain; }
