/* Telegram-стиль галереи - точная логика TG */

.telegram-gallery {
    display: grid;
    gap: 8px;
    width: 100%;
    margin: 0;
    background: transparent;
    overflow: hidden;
    border-radius: 12px;
}

/* ========================================
   1 ФОТО - одно на всю ширину
======================================== */
.telegram-gallery.count-1 {
    grid-template-columns: 1fr;
    grid-template-rows: 450px;
}

/* ========================================
   2 ФОТО - два рядом 50/50
======================================== */
.telegram-gallery.count-2 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 320px;
}

/* ========================================
   3 ФОТО - два сверху, одно снизу на всю ширину
======================================== */
.telegram-gallery.count-3 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 240px 240px;
}

.telegram-gallery.count-3 .tg-photo-item:nth-child(3) {
    grid-column: 1 / -1;
}

/* ========================================
   4 ФОТО - квадратная сетка 2x2
======================================== */
.telegram-gallery.count-4 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 240px 240px;
}

/* ========================================
   5 ФОТО - два сверху, три снизу
======================================== */
.telegram-gallery.count-5 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 260px 180px;
}

.telegram-gallery.count-5 .tg-photo-item:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1;
}

.telegram-gallery.count-5 .tg-photo-item:nth-child(2) {
    grid-column: 3;
    grid-row: 1;
}

/* ========================================
   6+ ФОТО - компактная сетка 6 колонок (динамическая подгрузка)
======================================== */
.telegram-gallery.count-more {
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 180px; /* Увеличена высота для названия */
}

/* ========================================
   Базовые стили
======================================== */
.tg-photo-item {
    position: relative;
    background: var(--surface-control);
    overflow: hidden;
    border-radius: var(--radius-16);
    transition: background 0.2s ease;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.tg-photo-item:hover {
    background: var(--surface-panel);
}

.tg-photo-link {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.tg-photo-preview {
    flex: 1;
    position: relative;
    overflow: hidden;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-8);
    margin: 0
}

.tg-photo-link img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Сохраняем пропорции */
    display: block;
}

.tg-photo-name {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-13);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    background: transparent;
    border-radius: 0 0 var(--radius-16) var(--radius-16);
}

/* Звездочка для главного фото */
.tg-photo-star {
    position: absolute;
    top: 6px;
    left: 6px;
    font-size: 16px;
    background: color-mix(in srgb, var(--fill-emphasis) 50%, transparent);
    backdrop-filter: blur(8px);
    padding: 3px 7px;
    border-radius: 10px;
    z-index: 2;
}

/* Действия */
.tg-photo-actions {
    position: absolute;
    bottom: 6px;
    right: 6px;
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 2;
}

.tg-photo-item:hover .tg-photo-actions {
    opacity: 1;
}

/* Кнопки */
.tg-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: color-mix(in srgb, var(--fill-emphasis) 60%, transparent);
    backdrop-filter: blur(8px);
    border-radius: 50%;
    font-size: 14px;
    cursor: pointer;
    transition-property: transform, background-color;
    transition-duration: var(--transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

.tg-btn:hover {
    background: color-mix(in srgb, var(--fill-emphasis) 75%, transparent);
}

.tg-btn:active {
    transform: scale(0.96);
}

/* Пустое состояние */
.tg-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-tertiary);
    background: var(--surface-subtle);
    border-radius: 8px;
}

.tg-empty-icon {
    font-size: 56px;
    margin-bottom: 12px;
    opacity: 0.4;
}

.tg-empty-text {
    font-size: var(--font-size-14);
    color: var(--text-tertiary);
}


/* ========================================
   АДАПТИВ ДЛЯ ПЛАНШЕТОВ
======================================== */
@media (max-width: 991px) {
    /* 6+ фото на планшетах - 4 колонки */
    .telegram-gallery.count-more {
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 170px; /* Увеличена для названия */
    }
}

/* ========================================
   АДАПТИВ ДЛЯ МОБИЛЬНЫХ
======================================== */
@media (max-width: 576px) {
    .telegram-gallery {
        gap: 8px;
    }
    
    /* 1 фото */
    .telegram-gallery.count-1 {
        grid-template-rows: 280px;
    }
    
    /* 2 фото */
    .telegram-gallery.count-2 {
        grid-template-rows: 180px;
    }
    
    /* 3 фото */
    .telegram-gallery.count-3 {
        grid-template-rows: 150px 150px;
    }
    
    /* 4 фото */
    .telegram-gallery.count-4 {
        grid-template-rows: 150px 150px;
    }
    
    /* 5 фото */
    .telegram-gallery.count-5 {
        grid-template-rows: 180px 120px;
    }
    
    /* 6+ фото */
    .telegram-gallery.count-more {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 150px; /* Увеличена для названия */
    }
    
    /* Кнопки всегда видны */
    .tg-photo-actions {
        opacity: 1;
    }
    
    .tg-btn {
        width: 28px;
        height: 28px;
        font-size: var(--font-size-14);
    }
    
    .tg-photo-star {
        font-size: 14px;
        padding: 2px 6px;
    }
}

@media (max-width: 380px) {
    .telegram-gallery.count-5 {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 160px 140px 140px;
    }
    
    .telegram-gallery.count-5 .tg-photo-item:nth-child(1) {
        grid-column: 1 / -1;
    }
    
    .telegram-gallery.count-5 .tg-photo-item:nth-child(2) {
        grid-column: auto;
        grid-row: auto;
    }
    
    .telegram-gallery.count-5 .tg-photo-item:nth-child(5) {
        grid-column: 1 / -1;
    }
}

/* PhotoSwipe */
.pswp__button {
    background: color-mix(in srgb, var(--fill-emphasis) 50%, transparent) !important;
    backdrop-filter: blur(8px);
    border-radius: 50%;
}

.pswp__button:hover {
    background: color-mix(in srgb, var(--fill-emphasis) 70%, transparent) !important;
}

.pswp__counter {
    background: color-mix(in srgb, var(--fill-emphasis) 50%, transparent);
    padding: 6px 12px;
    border-radius: 14px;
    backdrop-filter: blur(8px);
    font-size: var(--font-size-14);
    font-weight: 500;
}

.pswp__bg {
    background: var(--fill-emphasis) !important;
}

/* ===================================
   Weapon show page gallery
   =================================== */

.weapon-photos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--space-2);
    padding: var(--space-4);
}

.weapon-photo-item {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-8);
    overflow: hidden;
    background: var(--surface-control);
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.weapon-photo-item:hover { opacity: 0.85; }

.weapon-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===================================
   Weapon show page layout
   =================================== */

.weapon-show-layout,
.weapon-show-wrapper {
    max-width: 1024px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: 0 var(--space-2);
}

/* /weapons/{id}, /stages/{id} Inertia: gap main-колонки */
.weapon-show-page.stage-show-page.catalog-layout .catalog-main.catalog-main--content,
.weapon-show-page-layout .weapon-show-main,
.stage-show-page-layout .stage-show-main {
    gap: var(--space-4);
}

/*
 * Desktop ≥1280: context rail в AppShell. Ширина колонки — layout-utilities (.gc-page-grid).
 */
@media (min-width: 1280px) {
    .weapon-show-page-layout .weapon-show-columns.split-layout {
        max-width: none;
        width: 100%;
        margin: 0;
        /* Иначе .split-layout держит area "sidebar" + column-gap — пустой трек справа */
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "main";
        gap: 0;
    }

    /* Classic Blade: сайдбар ещё в split-layout, не в .gc-context-rail */
    .page-container-flush:has(.weapon-show-columns > .split-left),
    .weapon-show-page-layout:has(> .weapon-show-columns > .split-left) {
        max-width: none;
    }

    .weapon-show-page-layout .weapon-show-columns.split-layout:has(> .split-left) {
        grid-template-columns: minmax(0, 1fr) var(--layout-event-loadout-sidebar-width, 360px);
        grid-template-areas: "main sidebar";
        gap: var(--layout-column-gap);
    }
}

/* Context rail: flush strip + card (без inset chrome) */
.weapon-show-context-rail .weapon-show-sidebar-cell {
    width: 100%;
}

.weapon-show-context-rail .weapon-show-sidebar-info-block {
    flex: 1 1 auto;
}

.weapon-show-context-rail .weapon-show-sidebar-cell > .weapon-show-sidebar-strip-cell .weapon-card-strip-pill {
    border-radius: 0;
}

/* Show rail: симметричный padding внутри полосы с учётом overlap блока снизу. */
.weapon-show-sidebar-strip-cell .weapon-card-strip-pill {
    --weapon-show-rail-strip-overlap: calc(var(--space-4) + var(--space-2));
    padding-block-start: var(--space-2);
    padding-block-end: calc(var(--space-2) + var(--weapon-show-rail-strip-overlap));
    padding-inline: var(--gc-inset-hover-edge, var(--space-1-5));
}

/* Форма без собственного бокса — триггер в sidebar; модалки в @stack('modals') */
form.weapon-note-compose-anchor-form,
form.weapon-opinion-editor-form {
    display: contents;
}

/* Полноэкранный редактор новой заметки — типографика и отступы тела (flex см. event-layout.css) */
#weaponNoteEditorModal .weapon-note-modal-body.description-editor-body,
#weaponOpinionEditorModal .weapon-opinion-modal-body.description-editor-body {
    padding: 0;
}

#weaponNoteEditorModal .weapon-note-modal-photos-strip,
#weaponOpinionEditorModal .weapon-opinion-modal-photos-strip {
    flex: 0 0 auto;
    padding: var(--space-2) var(--space-6) 0;
}

#weaponNoteEditorModal .weapon-note-modal-photos-strip.has-grid,
#weaponOpinionEditorModal .weapon-opinion-modal-photos-strip.has-grid {
    padding-bottom: var(--space-2);
}

#weaponNoteEditorModal .weapon-note-modal-photos-strip.has-grid .weapon-note-modal-photos-grid.gc-post-compose-media-preview,
#weaponOpinionEditorModal .weapon-opinion-modal-photos-strip.has-grid .weapon-opinion-modal-photos-grid.gc-post-compose-media-preview {
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-16);
}

.weapon-note-settings-summary {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.weapon-note-settings-modal__body {
    text-align: left;
}

.weapon-note-settings-modal__event-control {
    display: flex;
    width: 100%;
    max-width: 100%;
}

.weapon-note-settings-modal__event-control .gc-chip-select.weapon-note-settings-modal__event-btn {
    width: 100%;
    max-width: 100%;
}

.weapon-note-compose-tags-row--settings-modal {
    margin: 0;
    padding: 0;
    border-top: none;
}

.weapon-note-compose-tags-row__fieldset--wrap {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.weapon-note-modal-footer__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    width: 100%;
}

.weapon-note-modal-footer__toolbar-end {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
    margin-left: auto;
}

#weaponNoteEditorModal #weaponNoteEditorMount .stage-tiptap-editor p,
#weaponOpinionEditorModal #weaponOpinionEditorMount .stage-tiptap-editor p {
    line-height: 1.5;
}

#weaponNoteEditorModal #weaponNoteEditorMount .stage-tiptap-editor p.is-editor-empty:first-child::before,
#weaponOpinionEditorModal #weaponOpinionEditorMount .stage-tiptap-editor p.is-editor-empty:first-child::before {
    font-size: var(--font-size-15);
}

@media (max-width: 768px) {
    #weaponNoteEditorModal .weapon-note-modal-photos-strip,
    #weaponOpinionEditorModal .weapon-opinion-modal-photos-strip {
        padding: var(--space-2) var(--space-4) 0;
    }
}

/* Форма заметки: заметная зона ввода (не одна строка как у комментария в ленте) */
.weapon-show-page [data-weapon-note-compose] .gc-post-compose-form--stacked.gc-comment-compose--dock,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-form--stacked.gc-comment-compose--dock,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-form--stacked.gc-comment-compose--dock {
    gap: var(--space-6);
    padding: var(--space-4);
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-footer-editor,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-footer-editor,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-footer-editor {
    align-items: stretch;
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-footer .gc-post-compose-entry.gc-input-shell,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-footer .gc-post-compose-entry.gc-input-shell,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-footer .gc-post-compose-entry.gc-input-shell {
    min-height: 0;
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-entry--editor-only.gc-input-shell,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-entry--editor-only.gc-input-shell,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-entry--editor-only.gc-input-shell {
    padding: var(--space-4);
    border-radius: var(--radius-12);
    background-color: var(--surface-control);
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-editor-wrap,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-editor-wrap,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-editor-wrap {
    flex: 1 1 auto;
    min-height: calc(var(--space-8) * 8);
}

.weapon-show-page [data-weapon-note-compose] .weapon-note-compose-editor-host,
.weapon-show-page-layout [data-weapon-note-compose] .weapon-note-compose-editor-host,
.weapon-show-main [data-weapon-note-compose] .weapon-note-compose-editor-host {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: calc(var(--space-8) * 8);
    width: 100%;
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-height: calc(var(--space-8) * 7);
    padding: var(--space-1) 0;
    font-size: var(--font-size-15);
    line-height: 1.5;
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor p,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor p,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor p {
    line-height: 1.5;
}

.weapon-show-page [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor p.is-editor-empty:first-child::before,
.weapon-show-page-layout [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor p.is-editor-empty:first-child::before,
.weapon-show-main [data-weapon-note-compose] .gc-post-compose-entry .stage-tiptap-editor p.is-editor-empty:first-child::before {
    font-size: var(--font-size-15);
}

.weapon-show-history-panel__inner {
    min-width: 0;
}

/* Кнопка отправки — как «самолёт» в ленте (stacked + gc-dropdown-toggle у поста); здесь submit без дропдауна */
.weapon-show-page .gc-post-compose-form--stacked .gc-post-compose-footer-actions .gc-post-compose-send.weapon-note-compose-form-send:not(:disabled),
.weapon-show-page .gc-post-compose-form--stacked .gc-post-compose-dock.is-expanded .gc-post-compose-footer-actions .gc-post-compose-send.weapon-note-compose-form-send:not(:disabled) {
    width: 40px;
    min-width: 40px;
    height: 40px;
    align-self: center;
    background-color: var(--surface-panel);
    border-color: var(--border-subtle);
    color: var(--text-secondary);
}

.weapon-show-page .gc-post-compose-form--stacked .gc-post-compose-footer-actions .gc-post-compose-send.weapon-note-compose-form-send:hover:not(:disabled),
.weapon-show-page .gc-post-compose-form--stacked .gc-post-compose-dock.is-expanded .gc-post-compose-footer-actions .gc-post-compose-send.weapon-note-compose-form-send:hover:not(:disabled) {
    background-color: var(--surface-control);
    border-color: var(--border-subtle);
    color: var(--text-primary);
}

.weapon-note-compose-meta--compact {
    margin-top: var(--space-1);
    padding-top: var(--space-1);
    border-top: 1px solid var(--border-primary);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

/* Шестерёнка в ряду со скрепкой и отправкой — те же 40×40, без caret от .gc-dropdown-toggle */
.weapon-show-page .weapon-note-compose-settings-dropdown .weapon-note-compose-settings-toggle.gc-dropdown-toggle {
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    margin: 0;
    border-radius: var(--radius-16);
    font-size: inherit;
    font-weight: inherit;
    white-space: nowrap;
    gap: 0;
}

.weapon-show-page .weapon-note-compose-settings-dropdown .weapon-note-compose-settings-toggle.gc-dropdown-toggle::after {
    display: none;
}

.weapon-note-compose-settings-menu {
    min-width: min(100vw - var(--space-4), 20rem);
    max-width: min(100vw - var(--space-4), 22rem);
}

.weapon-note-compose-settings-menu .weapon-note-compose-settings-menu__body {
    margin: 0;
    padding: var(--space-2) var(--space-4);
}

.weapon-note-compose-settings-menu__stack {
    gap: var(--space-4);
}

.weapon-note-compose-settings-menu__label {
    display: block;
    margin: 0 0 var(--space-product-2);
    font-size: var(--font-size-13);
    font-weight: 600;
    color: var(--text-secondary);
}

.weapon-note-compose-settings-menu__control-wrap {
    width: 100%;
    max-width: 100%;
}

.weapon-note-compose-settings-menu__event-btn {
    width: 100%;
    max-width: 100%;
}

.weapon-note-compose-settings-visibility {
    margin: 0;
    padding: 0;
    border: none;
    min-width: 0;
}

.weapon-note-compose-settings-visibility > legend.weapon-note-compose-settings-menu__label {
    float: none;
    padding: 0;
    margin: 0 0 var(--space-product-2);
}

.weapon-note-compose-settings-visibility-radios {
    gap: 0;
}

.weapon-note-compose-settings-visibility-radios .weapon-note-compose-settings-visibility-radio.gc-radio-wrapper {
    margin-right: 0;
    margin-bottom: var(--space-1);
}

.weapon-note-compose-settings-visibility-radios .weapon-note-compose-settings-visibility-radio.gc-radio-wrapper:last-child {
    margin-bottom: 0;
}

/* Теги под строкой редактора */
.weapon-note-compose-tags-row {
    margin-top: var(--space-1);
    padding-top: var(--space-1);
    border-top: 1px solid var(--border-primary);
}

.weapon-note-compose-tags-row__fieldset {
    margin: 0;
    padding: 0;
    border: none;
    min-width: 0;
}

.weapon-show-note-edit > summary {
    list-style: none;
}

.weapon-show-note-edit > summary::-webkit-details-marker {
    display: none;
}

.weapon-show-note-edit > summary::marker {
    content: '';
}

.weapon-note-compose-dock {
    margin-top: var(--space-1);
}

.weapon-note-compose-meta:not(.weapon-note-compose-meta--compact) {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-primary);
}

.weapon-show-note-edit__panel {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}

.weapon-note-edit-cancel-row {
    margin-top: var(--space-4);
}

/* Hero — Figma head 1953:2134: название → галерея → мнение, gap space/3 */
.weapon-show-hero-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
    width: 100%;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.weapon-show-hero-stack .weapon-show-hero-cover-media {
    border-radius: var(--radius-16);
    overflow: hidden;
    /* better-ui image edge — на фото, не на всём header (title + thumbs) */
    outline: 1px solid color-mix(in srgb, var(--fill-emphasis) 10%, transparent);
}

.weapon-show-hero-stack
    :is(.weapon-show-hero-card, .weapon-show-about-rail-hero),
.weapon-show-hero-stack .weapon-show-hero-card.event-show-heading {
    gap: var(--space-3);
}

.weapon-show-event-heading.event-info-event-heading--hero
    .event-info-event-heading__hero-copy {
    gap: var(--space-product-2);
}

.weapon-show-event-heading.event-info-event-heading--hero
    .event-info-event-heading__date {
    font-family: var(--font-family-heading-alt);
    font-size: var(--type-heading-h1-size);
    line-height: var(--type-heading-h1-line-height);
    font-weight: 400;
    color: var(--text-primary);
}

/* Обложка + thumbs — Figma gallery 1953:2135, gap space/2 */
.weapon-show-hero-media {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
    width: 100%;
}

.weapon-show-hero-continuation {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0;
    background: transparent;
    color: var(--text-primary);
    border-radius: 0;
}

.weapon-show-hero-continuation__gallery .weapon-show-hero-thumbs,
.weapon-show-hero-media__gallery .weapon-show-hero-thumbs {
    width: 100%;
}

.weapon-show-hero-continuation__opinion:empty {
    display: none;
}

/* Figma 1953:2159 list-item / user-info */
.weapon-show-hero-opinion {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: var(--space-4);
    background: var(--surface-primary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-16);
    box-shadow: var(--shadow-lg);
}

.weapon-show-hero-opinion__avatar {
    display: flex;
    flex-shrink: 0;
    text-decoration: none;
}

.weapon-show-hero-opinion__main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    min-width: 0;
}

.weapon-show-hero-opinion__tag-wrap {
    display: flex;
    flex: none;
    max-width: 100%;
}

.weapon-show-hero-opinion__tag.gc-card-glow-shell--pill {
    margin: 0;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    padding-block: var(--space-1);
    padding-inline: var(--space-2);
    font-size: var(--type-ui-title-size);
    font-weight: 500;
    line-height: var(--type-ui-title-line-height);
    white-space: nowrap;
    border-radius: var(--radius-full);
    --gc-card-glow-radius: var(--radius-full);
    transform: rotate(-2deg);
    transform-origin: center;
    background: color-mix(
        in srgb,
        var(--fill-chromatic-violet) 38%,
        var(--fill-emphasis)
    );
    color: color-mix(
        in srgb,
        var(--fill-emphasis-inverse) 96%,
        var(--fill-chromatic-violet)
    );
    --gc-pill-mark-border: color-mix(
        in srgb,
        var(--fill-emphasis-inverse) 28%,
        var(--fill-chromatic-violet)
    );
    --gc-pill-mark-inset: color-mix(in srgb, var(--fill-emphasis-inverse) 18%, transparent);
}

html[data-theme='light'] .weapon-show-hero-opinion__tag.gc-card-glow-shell--pill[data-glow-tone='opinion'] {
    background: var(--accent-violet);
    color: var(--text-on-solid);
    --gc-pill-mark-border: color-mix(
        in srgb,
        var(--fill-emphasis-inverse) 40%,
        var(--tint-violet-deep)
    );
    --gc-pill-mark-inset: color-mix(in srgb, var(--fill-emphasis-inverse) 30%, transparent);
}

@media (prefers-color-scheme: light) {
    :root:not([data-theme]) .weapon-show-hero-opinion__tag.gc-card-glow-shell--pill[data-glow-tone='opinion'] {
        background: var(--accent-violet);
        color: var(--text-on-solid);
        --gc-pill-mark-border: color-mix(
            in srgb,
            var(--fill-emphasis-inverse) 40%,
            var(--tint-violet-deep)
        );
        --gc-pill-mark-inset: color-mix(in srgb, var(--fill-emphasis-inverse) 30%, transparent);
    }
}

.weapon-show-hero-opinion__text,
.weapon-show-hero-opinion__text .gc-text-content,
.weapon-show-hero-opinion__text.event-description-text,
.weapon-show-hero-opinion__text .gc-text-content p,
.weapon-show-hero-opinion__text.event-description-text p {
    width: 100%;
    min-width: 0;
    margin: 0;
    font-size: var(--type-body-size);
    font-weight: 400;
    line-height: var(--type-body-line-height);
    color: var(--text-secondary);
}

@media (max-width: 767px) {
    .weapon-show-layout,
    .weapon-show-wrapper {
        padding: 0;
    }
}

/* Характеристики: ключ — пунктир — значение (редактирование и прочие экраны) */
.weapon-specs {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0;
}

.weapon-spec-row {
    display: flex;
    align-items: baseline;
    gap: var(--space-1);
    font-size: var(--font-size-14);
}

.weapon-spec-row dt {
    color: var(--text-secondary);
    white-space: nowrap;
    font-weight: 400;
    flex-shrink: 0;
}

.weapon-spec-row dt::after {
    content: '';
}

.weapon-spec-row .weapon-spec-dots {
    flex: 1;
    border-bottom: 1px dotted var(--border-subtle);
    margin-bottom: 3px;
    min-width: 20px;
}

.weapon-spec-row dd {
    margin: 0;
    color: var(--text-primary);
    font-weight: 500;
    white-space: nowrap;
    text-align: right;
}

/* activity-divider уже определён в edit.php как инлайн-стиль оригинала.
   Здесь добавляем только то, чего нет в глобальных стилях. */
.activity-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: var(--space-2) 0;
    gap: var(--space-2);
    font-size: var(--font-size-13);
    color: var(--text-secondary);
}

.activity-divider::before,
.activity-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border-subtle);
}

/* Сайдбар /weapons/{id} — макет Figma MCP; полоса статуса только на lg в колонке сайдбара */

/* Десктоп: полоса сверху, стек характеристик заходит на неё — как медиа на weapon-card--strip */
.weapon-show-sidebar-strip-cell {
    display: flex;
    flex-direction: column;
    gap: 0;
    isolation: isolate;
    width: 100%;
    min-width: 0;
}

.weapon-show-sidebar-strip-cell > .weapon-sidebar-stack.weapon-sidebar-stack--overlap-strip {
    position: relative;
    z-index: 1;
    margin-top: calc(-1 * var(--gc-card-strip-overlap));
}

/* Моб.: как .subscriptions-main-strip-panel — overlap «тела», сабхедер скрыт <lg */
.weapon-show-main-strip-panel .weapon-show-strip-cell {
    isolation: isolate;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.weapon-show-main-strip-panel .weapon-show-strip-cell--strip .weapon-card-strip-row {
    position: relative;
    z-index: 0;
    padding: 0;
}

.weapon-show-main-strip-panel .weapon-show-strip-cell--strip .weapon-show-strip-cell-body {
    position: relative;
    z-index: 1;
    margin-top: calc(-1 * var(--gc-card-strip-overlap));
    background: var(--surface-panel);
    border-top-left-radius: calc(var(--radius-16) - 1px);
    border-top-right-radius: calc(var(--radius-16) - 1px);
}

.weapon-show-main-strip-panel.gc-show-main-panel .weapon-show-strip-cell--strip .weapon-card-strip-pill {
    border-top-left-radius: calc(var(--radius-16) - 1px);
    border-top-right-radius: calc(var(--radius-16) - 1px);
}

@media (max-width: 991.98px) {
    .weapon-show-main-strip-panel .weapon-show-strip-cell--strip .weapon-show-strip-cell-body {
        min-height: calc(var(--space-4) + var(--space-1));
    }

    /* Полоса + overlap-тело: без лишнего зазора над первым hero (padding даёт stage-editor.css у .gc-stage-show-hero). */
    .weapon-show-main-strip-panel:has(.weapon-show-strip-cell-body)
        .weapon-show-strip-cell--strip
        ~ .gc-stage-show-hero {
        padding-top: 0;
    }
}

@media (min-width: 992px) {
    .catalog-sidebar.catalog-sidebar--weapon-page {
        display: flex;
        flex-direction: column;
        gap: 0;
        background: transparent;
        overflow: visible;
        padding: 0;
    }
}

.weapon-sidebar-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
    width: 100%;
}

.weapon-sidebar-stack--skeleton {
    gap: var(--space-2);
}

.weapon-show-mobile-sidebar .weapon-sidebar-stack {
    width: 100%;
}

/* Сегменты: на lg+ — как отдельные gc-panel; на моб. — плоские блоки внутри одной поверхности */
@media (min-width: 992px) {
    .weapon-sidebar-segment {
        background-color: var(--surface-panel);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-16);
        min-width: 0;
        width: 100%;
    }

    .weapon-sidebar-segment--specs .weapon-sidebar-panel-specs__inner {
        padding: var(--space-4);
    }

    .weapon-sidebar-segment--owner,
    .weapon-sidebar-segment--public {
        padding: 0;
        overflow: visible;
    }
}

/* Моб.: без второй «карточки» — оболочка уже .gc-show-main-panel; gap 12px как в Figma body */
@media (max-width: 991.98px) {
    .weapon-show-mobile-sidebar .weapon-sidebar-stack {
        gap: var(--space-4);
        padding: 0;
        background: transparent;
        border: none;
        border-radius: 0;
        box-sizing: border-box;
    }

    .weapon-show-mobile-sidebar .weapon-sidebar-segment {
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0;
        margin: 0;
    }

    .weapon-show-mobile-sidebar .weapon-sidebar-segment--specs .weapon-sidebar-panel-specs__inner {
        padding: 0;
        gap: var(--space-4);
    }

}

/* ─── weapon-sidebar-stack: flex + длинные строки ─── */
.weapon-sidebar-stack .gc-stat-list .gc-stat-value,
.profile-show-sidebar-stack .gc-stat-list .gc-stat-value,
.stage-show-rail-stack .gc-stat-list .gc-stat-value {
    min-width: 0;
}

.weapon-sidebar-stack .gc-stat-value:has(.weapon-card-strip-shots-icon-wrap),
.profile-show-sidebar-stack .gc-stat-value:has(.weapon-card-strip-shots-icon-wrap),
.stage-show-rail-stack .gc-stat-value:has(.weapon-card-strip-shots-icon-wrap) {
    gap: var(--space-2);
}

.weapon-sidebar-stack .gc-stat-value .weapon-card-strip-shots-icon-wrap,
.profile-show-sidebar-stack .gc-stat-value .weapon-card-strip-shots-icon-wrap,
.stage-show-rail-stack .gc-stat-value .weapon-card-strip-shots-icon-wrap {
    color: currentColor;
}

.weapon-show-rail-hit-zones {
    display: flex;
    flex-direction: column;
    gap: var(--space-1-5);
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.gc-stat-list .gc-stat-item.weapon-show-rail-shots-stat {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
}

.weapon-show-rail-shots-stat__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.weapon-show-rail-hit-zones-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1) var(--space-2);
}

.weapon-show-rail-hit-zones-legend-item {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
}

.weapon-show-rail-hit-zones-swatch {
    width: var(--space-2);
    height: var(--space-2);
    border-radius: var(--radius-full);
    flex-shrink: 0;
    box-sizing: border-box;
}

.weapon-show-rail-shots {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding-inline: 0;
    box-sizing: border-box;
}

/* Kit chip-group rhythm — md chips, air between wraps */
.weapon-show-rail-shots.gc-chip-group {
    gap: var(--space-2);
    row-gap: var(--space-2);
}

/*
 * Outline filter chip (stages/channels rail), kit md (28).
 * Date muted / count primary; place trophy — muted text, не medal gold.
 */
.weapon-show-rail-shots .gc-chip {
    font-variant-numeric: tabular-nums;
    background: transparent;
    border-color: var(--border-default);
    color: var(--text-primary);
    box-shadow: none;
    transition-property: transform, background-color, border-color, box-shadow, color;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.weapon-show-rail-shot-date {
    color: var(--text-secondary);
    font-weight: 400;
}

.weapon-show-rail-shot-count {
    color: var(--text-primary);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.weapon-show-rail-shots a.gc-chip,
.weapon-show-rail-shots button.gc-chip {
    cursor: pointer;
    text-decoration: none;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
}

.weapon-show-rail-shots .gc-chip.gc-dropdown-toggle {
    background: transparent;
    border-color: var(--border-default);
    color: var(--text-primary);
    box-shadow: none;
}

.weapon-show-rail-shots .gc-chip.gc-dropdown-toggle::after {
    display: none;
}

.weapon-show-rail-shots .gc-dropdown {
    display: inline-flex;
    max-width: 100%;
}

.weapon-show-rail-shots .weapon-show-rail-shot-place-icon {
    flex-shrink: 0;
    font-size: var(--font-size-14);
    line-height: 1;
    /* muted — не --gc-rank-place-* gold (кислотный на chip) */
    color: var(--text-secondary);
    transform: translateY(-0.5px);
}

@media (hover: hover) and (pointer: fine) {
    .weapon-show-rail-shots a.gc-chip:hover,
    .weapon-show-rail-shots button.gc-chip:hover {
        background: var(--surface-interaction-control-hover);
        border-color: var(--border-default);
        color: var(--text-primary);
    }
}

.weapon-show-rail-shots a.gc-chip:active,
.weapon-show-rail-shots button.gc-chip:active {
    transform: scale(0.96);
}

html.gc-touch-scrolling .weapon-show-rail-shots a.gc-chip:active,
html.gc-touch-scrolling .weapon-show-rail-shots button.gc-chip:active {
    transform: none;
}

.weapon-show-rail-shots a.gc-chip:focus-visible,
.weapon-show-rail-shots button.gc-chip:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: 2px;
}

.weapon-sidebar-stack .event-info-community,
.weapon-sidebar-stack :is(.gc-interactive-row.interactive.weapon-sidebar-author-link, .gc-interactive-row.interactive.weapon-sidebar-public-link),
.weapon-show-mobile-owner-public-panel .gc-interactive-row.interactive.weapon-sidebar-author-link,
.weapon-show-mobile-owner-public-panel .gc-interactive-row.interactive.weapon-sidebar-public-link {
    min-width: 0;
}

.weapon-sidebar-stack .sidebar-name-wrapper {
    min-width: 0;
    flex: 1 1 0%;
}

.weapon-sidebar-stack .sidebar-name,
.weapon-sidebar-stack .sidebar-role {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Мобильный /weapons/{id}: ритм между hero / галереей и блоком характеристик */
@media (max-width: 991.98px) {
    .weapon-show-page .gc-stage-show-hero {
        padding-bottom: var(--space-2);
    }

    .weapon-show-page .weapon-show-mobile-sidebar.gc-stage-show-mobile-stats,
    .stage-show-page .gc-stage-show-mobile-stats.weapon-show-mobile-sidebar {
        padding: var(--space-2) var(--space-4) var(--space-4);
        gap: 0;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .gc-stage-show-mobile-stats.weapon-show-mobile-sidebar > .mobile-event-info-block {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 992px) {
    .catalog-sidebar.catalog-sidebar--weapon-page .weapon-sidebar-stack {
        max-width: 100%;
    }
}

.weapon-sidebar-panel-specs__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Плейсхолдер под AJAX (weapon-quick-status.js): пустой контейнер не даёт лишний gap в .gc-stat-list */
.weapon-sidebar-panel-specs__inner .gc-stat-list > .js-weapon-sidebar-status:not(:has(> *)),
.weapon-sidebar-stack .gc-stat-list > .js-weapon-sidebar-status:not(:has(> *)) {
    display: none;
}

/* Публичность: тот же паттерн, что владелец (event-info-community в sidebar.css) */
.weapon-sidebar-public-panel .weapon-sidebar-public-link .sidebar-name {
    font-weight: 500;
}

/* ─── История (/weapons/show): gc-list-section-shell + содержимое заметки ─── */

.weapon-note-timeline-item {
    scroll-margin-top: calc(var(--gc-nav-bar-height) + var(--space-4));
}

/* Якорь: фон карточки (--surface-primary shell) не трогаем — только обводка и тень снаружи */
.weapon-note-timeline-item.is-hash-target {
    position: relative;
    z-index: 2;
    animation: weapon-note-hash-target 2.4s ease-out forwards;
}

@keyframes weapon-note-hash-target {
    0%,
    22% {
        box-shadow:
            0 0 0 2px color-mix(in srgb, var(--accent-link) 52%, transparent),
            0 0 0 5px color-mix(in srgb, var(--surface-page) 100%, transparent),
            0 var(--space-2) var(--space-8) color-mix(in srgb, var(--fill-emphasis) 10%, transparent);
    }

    100% {
        box-shadow: none;
    }
}

.weapon-note-entry {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.weapon-note-entry .gc-post-media {
    border-radius: var(--radius-16);
}

.weapon-note-tag-chips.gc-chip-group {
    display: flex;
    width: 100%;
}

.weapon-note-entry__body:empty {
    display: none;
}

/* Sheet-модалки оружия: скругление сверху на узком экране (перебиваем modal-fullscreen-sm-down) */
@media (max-width: 575.98px) {
    #weaponNoteSettingsModal .modal-dialog.modal-fullscreen-sm-down .modal-content,
    #weaponNoteEventPickerModal .modal-dialog.modal-fullscreen-sm-down .modal-content,
    #weaponManualShotModal .modal-dialog .modal-content {
        border-radius: var(--radius-16) var(--radius-16) 0 0;
        overflow: hidden;
    }
}

/* Свёрнутый редактор заметки / мнения: верхние углы на адаптиве (Bootstrap modal-fullscreen обнуляет radius) */
@media (max-width: 767.98px) {
    #weaponNoteEditorModal.gc-event-description-modal--collapsed .modal-content,
    #weaponOpinionEditorModal.gc-event-description-modal--collapsed .modal-content {
        border-radius: var(--radius-16) var(--radius-16) 0 0;
        overflow: hidden;
    }
}

.gc-weapon-history-exercises-popup .gc-stage-best-result-popup__head .gc-list-content {
    flex: 1;
}


/* ─── Редактирование: сетка фото ─────────────────────────────────────────── */

.weapon-form-photo-toolbar {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}


.split-form-section--weapon-photos .weapon-create-photo-thumb,
.weapon-create-photo-section .weapon-create-photo-thumb {
    border: 1px dashed var(--border-subtle);
    background: var(--surface-control);
}

/* Макет Figma: заголовок секции и «Добавить фото» в одной строке */
.weapon-edit-photo-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    width: 100%;
    min-height: 28px;
}

.weapon-edit-photo-section-head .split-form-section-title {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.weapon-edit-photo-section-head .gc-bordered-action-sm {
    flex-shrink: 0;
}

.weapon-edit-photo-empty-hint {
    margin: 0;
    font-size: var(--font-size-13);
    color: var(--text-secondary);
    text-align: center;
    line-height: 1.4;
}

.weapon-edit-photos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-2);
}

/* Обложка (первый ряд): gc-briefing-img-container внутри */
.weapon-edit-photo-cover-wrap {
    grid-column: 1 / -1;
}

.weapon-edit-photo-cover-wrap .gc-briefing-img-container {
    width: 100%;
    aspect-ratio: var(--gc-media-cover-aspect);
}

.weapon-edit-photo-cover-wrap .weapon-edit-photo-primary-badge {
    z-index: 4;
}

/* Основное фото (legacy сетка без gc-briefing) — оставлено для совместимости */
.weapon-edit-photo-main {
    grid-column: 1 / -1;
    position: relative;
    border-radius: var(--radius-8);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--surface-control);
}

.weapon-edit-photo-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.weapon-edit-photo-item {
    position: relative;
    border-radius: var(--radius-8);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--surface-control);
}

/* Карточка с gc-briefing-img-container + дропдаун «…» */
.weapon-edit-photo-item--card {
    aspect-ratio: auto;
    background: transparent;
    overflow: visible;
}

.weapon-edit-photo-item--card .gc-briefing-img-container {
    width: 100%;
    aspect-ratio: var(--gc-media-cover-aspect);
    border-radius: var(--radius-8);
    overflow: hidden;
}

.weapon-edit-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Плейсхолдер (нет фото вообще) — на всю ширину с надёжным 16:9 */
.weapon-edit-photo-placeholder {
    display: block;
    width: 100%;
    padding-top: 56.25%; /* 9/16 × 100% = гарантированный 16:9 */
    position: relative;
    border-radius: var(--radius-8);
    background: var(--surface-secondary);
}

/* Контент центрируем абсолютно */
.weapon-edit-photo-placeholder-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
}

/* Создание оружия: превью после кропа (вне grid редактирования) */
.weapon-create-photo-chosen {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    width: 100%;
}

.weapon-create-photo-chosen .weapon-edit-photo-main {
    grid-column: auto;
    border-radius: var(--radius-16);
    border: 1px solid var(--border-subtle);
}

/* Плейсхолдер фото — макет Figma: рамка, скругление lg, иконка альбома */
.weapon-create-photo-thumb.weapon-edit-photo-placeholder {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-16);
    cursor: pointer;
    transition-property: transform, border-color, background-color;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.weapon-create-photo-thumb.weapon-edit-photo-placeholder:active {
    transform: scale(0.96);
}

@media (prefers-reduced-motion: reduce) {
    .weapon-create-photo-thumb.weapon-edit-photo-placeholder:active {
        transform: none;
    }
}

html.gc-touch-scrolling .weapon-create-photo-thumb.weapon-edit-photo-placeholder:active {
    transform: none;
}

/* Оружие create/edit: после фото тот же воздух, что у соседних секций (линия снята в split-form-layout) */
.split-form-scroll form > .split-form-section.weapon-create-photo-section ~ .split-form-section,
.split-form-scroll form > .split-form-section.split-form-section--weapon-photos ~ .split-form-section,
.split-form-scroll > .split-form-section.split-form-section--weapon-photos ~ .split-form-section,
.weapon-edit-side-panel-skeleton > .split-form-section.split-form-section--weapon-photos ~ .split-form-section {
    border-top: none;
}

/* Редактирование профиля — обложка 16:9, те же классы и кнопка, что на /weapons/create */
.profile-edit-cover-placeholder.weapon-edit-photo-placeholder {
    padding-top: 33.333333%;
}

.profile-edit-cover-placeholder .weapon-edit-photo-placeholder-inner {
    gap: var(--space-2);
}

.profile-edit-cover-placeholder__hint,
.stage-cover-empty-slot__hint {
    margin: 0;
    font-size: var(--font-size-13);
    color: var(--text-secondary);
    text-align: center;
    max-width: 36ch;
    line-height: 1.4;
}

.weapon-create-photo-thumb .weapon-edit-photo-placeholder-inner {
    gap: var(--space-4);
}

.weapon-create-photo-thumb-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    line-height: 0;
}

.weapon-create-photo-thumb-svg {
    width: var(--space-8);
    height: var(--space-8);
    display: block;
    flex-shrink: 0;
}

.weapon-create-photo-chosen-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
}

/* Оверлей с кнопками поверх фото */
.weapon-edit-photo-actions {
    position: absolute;
    top: var(--space-1);
    right: var(--space-1);
    display: flex;
    gap: var(--space-1);
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.weapon-edit-photo-main:hover .weapon-edit-photo-actions,
.weapon-edit-photo-item:hover .weapon-edit-photo-actions {
    opacity: 1;
}

.weapon-edit-photo-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--radius-8);
    border: none;
    background: color-mix(in srgb, var(--fill-emphasis) 55%, transparent);
    color: var(--text-on-solid);
    cursor: pointer;
    font-size: var(--font-size-14);
    backdrop-filter: blur(4px);
    transition: background var(--transition-fast);
}

.weapon-edit-photo-btn:hover {
    background: color-mix(in srgb, var(--fill-emphasis) 75%, transparent);
}

.weapon-edit-photo-btn-danger:hover {
    background: rgba(var(--danger-color-rgb), 0.85);
}

/* Бейдж "Обложка" */
.weapon-edit-photo-primary-badge {
    position: absolute;
    bottom: var(--space-1);
    left: var(--space-1);
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px 8px;
    background: color-mix(in srgb, var(--fill-emphasis) 55%, transparent);
    color: var(--text-on-solid);
    font-size: var(--font-size-13);
    font-weight: 500;
    border-radius: var(--radius-8);
    backdrop-filter: blur(4px);
}

/* ===================================
   Weapon show — event show layout (/weapons/{id})
   =================================== */

.weapon-show-tab-stack {
    display: flex;
    flex-direction: column;
    gap: var(--layout-section-gap);
    min-width: 0;
    width: 100%;
}

@media (max-width: 991.98px) {
    .weapon-show-tab-stack {
        gap: var(--space-3);
    }

    .page-container-flush:has(.weapon-show-page-layout) {
        padding-top: 0;
    }

    .weapon-show-page-layout.event-show-page-layout {
        padding-top: var(--space-2);
    }
}

@media (min-width: 1280px) {
    .weapon-show-main .weapon-show-tab-stack {
        gap: var(--space-6);
    }
}

:is(.weapon-show-hero-card.event-show-hero-card, .weapon-show-about-rail-hero) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    /* Без обложки не наследуем event list-frame (surface-secondary + padding) —
       название на canvas, как подпись после cover; медиа просто не рендерится. */
    background: transparent;
    border: none;
    padding: 0;
}

/* Без обложки: тот же горизонтальный ритм заголовка, что у варианта с обложкой (canvas, без list-row inset). */
.weapon-show-hero-stack
    :is(.weapon-show-hero-card, .weapon-show-about-rail-hero):not(.weapon-show-hero-card--has-cover):not(.weapon-show-about-rail-hero--has-cover)
    .event-info-event-heading--hero,
.weapon-show-rail-fallback-about
    .weapon-show-about-rail-hero:not(.weapon-show-about-rail-hero--has-cover)
    .event-info-event-heading--hero {
    padding: 0;
}

/* Weapon show: scrim под обложкой — fill-emphasis (chromatic), любая тема и ширина */
:is(.weapon-show-hero-card--has-cover, .weapon-show-about-rail-hero--has-cover) {
    background: transparent;
    /* event-show outline на весь --has-cover; у оружия title сверху + thumbs —
       край только на .weapon-show-hero-cover-media. */
    outline: none;
}

/* Weapon show: заголовок под обложкой — как gc-profile-hero-body__profile (только padding-top) */
.weapon-show-hero-stack
    :is(.weapon-show-hero-card--has-cover, .weapon-show-about-rail-hero--has-cover) {
    overflow: visible;
    border-radius: 0;
}

.weapon-show-hero-stack
    :is(.weapon-show-hero-card--has-cover, .weapon-show-about-rail-hero--has-cover)
    > .event-show-hero-card__body {
    box-sizing: border-box;
    padding: var(--space-4) 0 0;
    background: transparent;
    color: var(--text-primary);
}

.weapon-show-hero-stack:not(:has(.weapon-show-hero-continuation))
    :is(.weapon-show-hero-card--has-cover, .weapon-show-about-rail-hero--has-cover)
    > .event-show-hero-card__body {
    padding-bottom: 0;
}

.weapon-show-event-heading.event-info-event-heading--hero
    .event-info-event-heading__meta
    .event-info-event-heading__title {
    color: var(--text-secondary);
}

:is(.weapon-show-hero-card--has-cover, .weapon-show-about-rail-hero--has-cover)
    :is(.event-show-hero-card__body--after-caption) {
    --_caption-bar-bg: var(--fill-emphasis);
    --_caption-bar-bg-hover: var(--gray-800);
    --_caption-bar-fg: var(--text-on-solid);
    background-color: var(--fill-emphasis);
    color: var(--text-on-solid);
}


/*
 * Thumbs fill the cover width (Figma 1953:2135 is 768 + 156×88 samples).
 * Max 4 per row: incomplete last row stays one cell, not stretched.
 * Phone <768: 2 per row for tap size.
 */
.weapon-show-hero-thumbs {
    --weapon-show-gallery-cols: 4;
    display: grid;
    grid-template-columns: repeat(var(--weapon-show-gallery-cols), minmax(0, 1fr));
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
}

.weapon-show-hero-thumb {
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    aspect-ratio: 16 / 9;
    padding: 0;
    border: none;
    border-radius: var(--radius-10);
    overflow: hidden;
    background: transparent;
}

@media (max-width: 767.98px) {
    .weapon-show-hero-thumbs {
        --weapon-show-gallery-cols: 2;
    }
}

.weapon-show-hero-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: var(--radius-10);
}

.weapon-show-hero-cover-chrome {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--space-2);
    padding: var(--space-4);
    box-sizing: border-box;
    pointer-events: none;
}

.weapon-show-hero-cover-chrome__strip.weapon-card-strip-row {
    padding: 0;
    min-width: 0;
    justify-self: start;
    pointer-events: auto;
}

.weapon-show-hero-cover-chrome__strip .weapon-card-strip-pill {
    box-shadow: var(--shadow-sm);
}

.weapon-show-hero-cover-chrome__actions {
    justify-self: end;
    pointer-events: auto;
}

@media (min-width: 1280px) {
    .weapon-show-hero-cover-chrome__strip.weapon-card-strip-row {
        display: none;
    }
}

/*
 * Rail fallback (<1280): hero на canvas как desktop (≥1280), без secondary-карточки
 * вокруг названия/обложки. Карточка surface-secondary — только у блока specs ниже.
 */
.weapon-show-rail-fallback-about .sidebar-event-info-block:has(.weapon-show-hero-stack) {
    padding: 0;
    overflow: visible;
    background: transparent;
    border: none;
    border-radius: 0;
}

.weapon-show-rail-fallback-about .sidebar-event-info-block:has(.weapon-show-hero-stack) + .sidebar-event-info-block > .event-show-about-rail-body {
    padding-inline: var(--gc-list-zone-padding);
}

/*
 * Adaptive specs card: chips в fallback скрыты (.weapon-show-rail-shots { display:none }).
 * Держим тот же padding-block, что desktop --rail (hover-edge), без лишнего space/4 снизу.
 */
.weapon-show-rail-fallback-about .sidebar-event-info-block:not(:has(.weapon-show-hero-stack)).gc-inset-list--rail {
    padding-block-end: var(--gc-inset-hover-edge, var(--space-1-5));
}

.weapon-show-rail-fallback-about .weapon-show-rail-shots {
    display: none;
}

.weapon-show-history-feed {
    width: 100%;
    min-width: 0;
    overflow: visible;
}

/* Rail fallback: hero (canvas) + тот же Sidebar chrome, что desktop aside */
.weapon-show-rail-fallback-about {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    width: 100%;
    min-width: 0;
}

.weapon-show-main .weapon-show-history-months.events-index-months {
    width: 100%;
}

/* Hero cover: briefing blur/sharp inside classic media shell */
.weapon-show-hero-cover-media .gc-briefing-img-container {
    width: 100%;
    height: 100%;
    border-radius: 0;
}

.weapon-show-hero-cover-media .gc-briefing-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Inertia: ⋯ на карточке настрела (classic открывает popup) */
.weapon-show-history-feed .profile-history-feed-card--shot:has(.weapon-note-timeline-item__feed-actions) {
    position: relative;
    padding-inline-end: calc(var(--space-8) + var(--space-2));
}

.weapon-history-shot-badge-trigger {
    display: inline-flex;
    cursor: pointer;
    border: none;
    padding: 0;
    background: transparent;
    font: inherit;
    color: inherit;
}

.weapon-history-shot-badge-trigger:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: 2px;
    border-radius: var(--radius-4);
}


/* Sidebar show-rail — Figma Surface/Secondary (как event loadout) */
.weapon-show-page-layout .sidebar-event-info-block {
    background: var(--surface-secondary);
    border: 1px solid var(--border-subtle);
}

.weapon-show-sidebar-cell {
    display: flex;
    flex-direction: column;
    gap: 0;
    isolation: isolate;
    width: 100%;
    min-width: 0;
}

.weapon-show-sidebar-cell > .weapon-show-sidebar-strip-cell {
    position: relative;
    z-index: 0;
    padding: 0;
}

.weapon-show-sidebar-cell > .weapon-show-sidebar-strip-cell .weapon-card-strip-row {
    padding: 0;
}

.weapon-show-sidebar-info-block--overlap-strip {
    position: relative;
    z-index: 1;
    margin-top: calc(-1 * (var(--space-4) + var(--space-2)));
}

.weapon-show-sidebar-cell > .weapon-show-sidebar-strip-cell .weapon-card-strip-pill {
    border-top-left-radius: calc(var(--radius-16) - 1px);
    border-top-right-radius: calc(var(--radius-16) - 1px);
}

.weapon-sidebar-stack--show-rail {
    gap: var(--space-2);
}

.weapon-show-sidebar-info-block .weapon-sidebar-stack--show-rail,
.weapon-show-rail-fallback-about .weapon-show-about-rail-body .weapon-sidebar-stack--show-rail {
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
}

.weapon-show-rail-identity,
.stage-show-rail-identity {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.weapon-show-sidebar-info-block:not(.gc-inset-list--rail) .weapon-sidebar-stack--show-rail > .gc-stat-list,
.weapon-show-rail-fallback-about .weapon-show-about-rail-body .weapon-sidebar-stack--show-rail > .gc-stat-list,
.sidebar-event-info-block:not(.gc-inset-list--rail) .weapon-sidebar-stack--show-rail > .gc-stat-list {
    padding: 0 var(--space-2);
    margin: calc(-1 * var(--space-1)) 0 0;
    box-sizing: border-box;
}

/* Чипы настрела — отдельный ритм от stat-list (стек show-rail = space/2) */
.weapon-show-sidebar-info-block .weapon-sidebar-stack--show-rail > .gc-stat-list + .weapon-show-rail-shots,
.weapon-show-rail-fallback-about .weapon-show-about-rail-body .weapon-sidebar-stack--show-rail > .gc-stat-list + .weapon-show-rail-shots {
    margin-top: var(--space-2);
}

.weapon-show-rail-fallback-about .weapon-sidebar-stack--show-rail .gc-interactive-row {
    border-radius: var(--radius-12);
}


.weapon-catalog-caliber-field {
    margin-top: 0;
}

/* Side panel edit — skeleton (структура как _weapon_edit_form) */
.weapon-edit-side-panel-skeleton__section-title {
    width: 6.5rem;
    height: 13px;
    border-radius: var(--radius-8);
}

.weapon-edit-side-panel-skeleton__section-title--md {
    width: 5.5rem;
}

.weapon-edit-side-panel-skeleton__section-title--sm {
    width: 4.5rem;
}

.weapon-edit-side-panel-skeleton__section-title--lg {
    width: 5rem;
}

.weapon-edit-side-panel-skeleton__photo-action {
    width: 7.5rem;
    height: 28px;
    border-radius: var(--radius-8);
    flex-shrink: 0;
}

.weapon-edit-side-panel-skeleton__cover {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-12);
    border: 1px dashed var(--border-subtle);
}

.weapon-edit-side-panel-skeleton__field-block {
    flex: 1;
    min-width: 0;
}

.weapon-edit-side-panel-skeleton__label {
    width: 2.5rem;
    height: 12px;
    border-radius: var(--radius-8);
}

.weapon-edit-side-panel-skeleton__label--wide {
    width: 9rem;
}

.weapon-edit-side-panel-skeleton__field {
    width: 100%;
    height: var(--gc-input-min-height);
    border-radius: var(--radius-12);
}

.weapon-edit-side-panel-skeleton__toggle-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    width: 100%;
}

.weapon-edit-side-panel-skeleton__toggle-group > .weapon-edit-side-panel-skeleton__toggle-row {
    padding: var(--space-4);
    margin: 0;
}

.weapon-edit-side-panel-skeleton__privacy-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-16);
    background: var(--surface-panel);
}

.weapon-edit-side-panel-skeleton__radio-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.weapon-edit-side-panel-skeleton__toggle-copy {
    flex: 1;
    min-width: 0;
}

.weapon-edit-side-panel-skeleton__line--title {
    width: 42%;
    max-width: 12rem;
    height: 14px;
    border-radius: var(--radius-8);
}

.weapon-edit-side-panel-skeleton__line--meta {
    width: 100%;
    height: 12px;
    border-radius: var(--radius-8);
}

.weapon-edit-side-panel-skeleton__pill {
    width: 40px;
    height: 24px;
    border-radius: var(--radius-full);
    flex-shrink: 0;
}

.weapon-edit-side-panel-skeleton__radio-row {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    width: 100%;
}

.weapon-edit-side-panel-skeleton__radio-dot {
    width: 18px;
    height: 18px;
    border-radius: var(--radius-full);
    flex-shrink: 0;
    margin-top: var(--space-1);
}

.weapon-edit-side-panel-skeleton__btn {
    width: 88px;
    height: 36px;
    border-radius: var(--radius-8);
}

.weapon-edit-side-panel-skeleton__btn--primary {
    width: 100px;
}

/* Share hash: fullscreen logbook article (GcModal modal-fullscreen) */
.gc-modal.weapon-note-article-modal.gc-modal-is-open {
    align-items: stretch !important;
    justify-content: stretch !important;
}

.gc-modal.weapon-note-article-modal .modal-dialog.modal-fullscreen .modal-content {
    background: var(--surface-page);
    border: none;
    border-radius: 0;
}

.gc-modal.weapon-note-article-modal .modal-header {
    background: var(--surface-page);
}

.weapon-note-article-modal__title {
    margin: 0;
    font-size: var(--type-heading-h1-size);
    font-weight: 550;
    line-height: var(--type-heading-h1-line-height);
    color: var(--text-primary);
}

.weapon-note-article-modal__media.gc-post-media {
    margin-bottom: 0;
    border-radius: var(--radius-16);
}

