:root {
    --pg-premium-orange: oklch(70.5% .213 47.604);
    --pg-premium-amber: oklch(76.9% .188 70.08);
}

.pg-root {
    width: 100%;
}

/* Дополнительный воздух после вводного текста типа контента */
.pg-list {
    margin-top: 1.75rem;
}

/* === Каталог === */
.pg-grid {
    --pg-grid-gap: 16px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--pg-grid-gap);
    width: 100%;
    align-items: start;
}

.pg-grid.is-masonry-ready {
    position: relative;
    display: block;
    min-height: 12rem;
}

.pg-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: .85rem;
    background: #e8edf4;
    box-shadow: 0 .08rem .35rem rgba(15, 23, 42, .08);
    transform: translateZ(0);
}

.pg-grid.is-masonry-ready .pg-card {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    will-change: transform, width;
    transition: transform .18s ease, width .18s ease;
}

.pg-card__media {
    position: relative;
    display: block;
    min-height: 150px;
    overflow: hidden;
    color: #fff;
    text-decoration: none !important;
    background: linear-gradient(180deg, #eef2f7, #dce3eb);
}

.pg-card__media img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .28s ease;
}

.pg-card:hover .pg-card__media img,
.pg-card:focus-within .pg-card__media img {
    transform: scale(1.015);
}

.pg-card__placeholder {
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    font-size: .85rem;
}

.pg-card__shade {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(5, 9, 18, .82) 0%, rgba(5, 9, 18, .2) 32%, transparent 58%);
    opacity: 0;
    transition: opacity .2s ease;
}

.pg-card__hover-title {
    position: absolute;
    z-index: 2;
    left: .75rem;
    right: .75rem;
    bottom: .7rem;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.28;
    opacity: 0;
    transform: translateY(.35rem);
    transition: opacity .2s ease, transform .2s ease;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

.pg-card:hover .pg-card__shade,
.pg-card:hover .pg-card__hover-title,
.pg-card:focus-within .pg-card__shade,
.pg-card:focus-within .pg-card__hover-title {
    opacity: 1;
}

.pg-card:hover .pg-card__hover-title,
.pg-card:focus-within .pg-card__hover-title {
    transform: translateY(0);
}

.pg-card__premium {
    position: absolute;
    z-index: 4;
    top: .55rem;
    left: .55rem;
    display: inline-flex;
    align-items: center;
    min-height: 1.4rem;
    padding: .22rem .5rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .055em;
    box-shadow: 0 .2rem .55rem rgba(0, 0, 0, .17);
}

.pg-card__likes {
    position: absolute;
    z-index: 4;
    top: .55rem;
    right: .55rem;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 1.35rem;
    padding: .2rem .45rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(17, 24, 39, .52);
    color: #fff;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.pg-card__likes svg {
    width: .75rem;
    height: .75rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-card__copy {
    position: absolute;
    z-index: 5;
    right: .55rem;
    bottom: .55rem;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50%;
    background: rgba(17, 24, 39, .62);
    color: #fff;
    cursor: pointer;
    opacity: .92;
    transition: transform .16s ease, background .16s ease, opacity .16s ease;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.pg-card__copy:hover,
.pg-card__copy:focus {
    background: rgba(17, 24, 39, .82);
    color: #fff;
    opacity: 1;
    outline: none;
    transform: scale(1.06);
}

.pg-card__copy svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-card__copy.is-loading {
    pointer-events: none;
    opacity: .6;
}

.pg-card__copy.is-copied {
    background: rgba(22, 163, 74, .88);
}

.pg-pagination {
    margin-top: 1.5rem;
    clear: both;
}

@media (max-width: 1199.98px) {
    .pg-grid:not(.is-masonry-ready) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    .pg-grid:not(.is-masonry-ready) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .pg-grid {
        --pg-grid-gap: 12px;
    }
    .pg-grid:not(.is-masonry-ready) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pg-card { border-radius: .7rem; }
    .pg-card__premium { top: .45rem; left: .45rem; }
    .pg-card__likes { top: .45rem; right: .45rem; }
    .pg-card__copy { right: .45rem; bottom: .45rem; }
}

/* === Страница промта === */
.pg-item__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    gap: 1.5rem;
    align-items: start;
}

.pg-item__media {
    display: flex;
    min-height: 18rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 1rem;
    background: #eef2f6;
}

.pg-item__media img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(78vh, 900px);
    object-fit: contain;
}

.pg-item__side {
    min-width: 0;
}

.pg-item__title {
    margin: 0 0 .8rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    font-size: clamp(1.6rem, 2.7vw, 2.25rem);
    line-height: 1.12;
}

.pg-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: 1rem;
}

.pg-meta-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: .32rem .68rem;
    border-radius: 999px;
    background: #f1f3f5;
    color: #273142;
    font-size: .8rem;
    font-weight: 700;
}

.pg-meta-chip--premium,
.pg-purchase__premium {
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff;
}

.pg-meta-chip--price {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
}

.pg-item__author {
    margin-bottom: 1rem;
}

.pg-prompt-box,
.pg-purchase,
.pg-item__description,
.pg-item__section {
    margin-top: 1rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: .85rem;
    background: #fff;
}

.pg-prompt-box__head {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .85rem;
}

.pg-prompt-box__head h2,
.pg-item__description h2,
.pg-item__section h2,
.pg-purchase h2 {
    margin: 0;
    font-size: 1.1rem;
}

.pg-prompt,
.pg-negative-prompt {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.55;
}

.pg-purchase__premium {
    display: inline-flex;
    margin-bottom: .7rem;
    padding: .3rem .6rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .05em;
}

.pg-purchase__price {
    margin: .7rem 0;
    font-size: 1.55rem;
    font-weight: 800;
}

.pg-copy-button.is-copied {
    pointer-events: none;
}

@media (max-width: 991.98px) {
    .pg-item__layout { grid-template-columns: 1fr; }
    .pg-item__media img { max-height: 72vh; }
}

@media (max-width: 767.98px) {
}

@media (max-width: 575.98px) {
    .pg-item__layout { gap: 1rem; }
    .pg-prompt-box__head { align-items: flex-start; flex-direction: column; }
    .pg-item__title { font-size: 1.55rem; }
}

@media (hover: none) {
    .pg-card__shade,
    .pg-card__hover-title {
        opacity: 0;
    }
}
/* === Поле "Модель или инструмент" === */
.pg-form-picker {
    position: relative;
    width: 100%;
}

.pg-form-picker__trigger {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .6rem .8rem;
    border: 1px solid #ced4da;
    border-radius: .7rem;
    background: #fff;
    color: #212529;
    text-align: left;
    cursor: pointer;
}

.pg-form-picker__trigger:focus,
.pg-form-picker.is-open .pg-form-picker__trigger {
    border-color: #86a8ff;
    box-shadow: 0 0 0 .2rem rgba(41, 98, 255, .12);
    outline: none;
}

.pg-form-picker__trigger::after {
    content: '';
    width: .5rem;
    height: .5rem;
    flex: 0 0 .5rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    opacity: .7;
}

.pg-form-picker__menu {
    position: absolute;
    z-index: 1055;
    top: calc(100% + .4rem);
    left: 0;
    right: 0;
    display: none;
    max-height: 22rem;
    overflow-y: auto;
    padding: .4rem;
    border: 1px solid #dee2e6;
    border-radius: .8rem;
    background: #fff;
    box-shadow: 0 .8rem 2.25rem rgba(15, 23, 42, .16);
}

.pg-form-picker.is-open .pg-form-picker__menu {
    display: block;
}

.pg-form-picker__search {
    position: sticky;
    z-index: 2;
    top: -.4rem;
    margin: -.4rem -.4rem .35rem;
    padding: .45rem;
    background: #fff;
}

.pg-form-picker__search input {
    width: 100%;
    min-height: 38px;
    padding: .45rem .65rem;
    border: 1px solid #dee2e6;
    border-radius: .6rem;
    outline: none;
}

.pg-form-picker__option {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .75rem;
    border: 0;
    border-radius: .55rem;
    background: transparent;
    color: #212529;
    text-align: left;
    cursor: pointer;
}

.pg-form-picker__option:hover,
.pg-form-picker__option:focus,
.pg-form-picker__option.is-selected {
    background: #f1f4f8;
    outline: none;
}

.pg-form-picker__option.is-selected::after {
    content: '✓';
    font-weight: 700;
}

.pg-model-other {
    display: none;
    margin-top: .55rem;
}

.pg-model-other.is-visible {
    display: block;
}

.pg-model-other input {
    width: 100%;
    min-height: 42px;
    padding: .6rem .8rem;
    border: 1px solid #ced4da;
    border-radius: .7rem;
}

/* === Группированный выбор тегов === */
.pg-tags-picker__chips,
.pg-card__taglist,
.pg-item__taglist {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.pg-tags-picker__chips {
    margin-bottom: .55rem;
}

.pg-tag,
.pg-tags-picker__chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .3rem .55rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #344054;
    font-size: .78rem;
    line-height: 1.2;
}

.pg-tags-picker__chip button {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    opacity: .65;
}

.pg-tags-picker__chip button:hover {
    opacity: 1;
}

.pg-tags-group {
    padding: .45rem .25rem .25rem;
}

.pg-tags-group + .pg-tags-group {
    margin-top: .25rem;
    border-top: 1px solid #edf0f3;
}

.pg-tags-group__title {
    padding: .35rem .5rem .25rem;
    color: #667085;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pg-tags-option__category {
    display: block;
    margin-top: .1rem;
    color: #98a2b3;
    font-size: .7rem;
}

.pg-tags-limit {
    margin-top: .4rem;
    color: #6c757d;
    font-size: .78rem;
}

.pg-tags-limit.is-full {
    color: #b42318;
}

.pg-card__taglist {
    margin-top: .55rem;
}

.pg-item__taglist .pg-tag {
    font-size: .86rem;
    padding: .4rem .7rem;
}

/* === Ограничение заголовка формы === */
.pg-title-counter {
    margin-top: .25rem;
    color: #98a2b3;
    font-size: .72rem;
    text-align: right;
}

.pg-title-counter.is-limit {
    color: #b54708;
    font-weight: 700;
}
.pg-card.is-free .pg-card__hover-title {
    right: 3.1rem;
}

/* === Компактная панель каталога 0.1.5 === */
.pg-catalog-bar {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1rem;
    padding: .45rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 .25rem 1rem rgba(15, 23, 42, .045);
}

.pg-catalog-search {
    position: relative;
    flex: 1 1 15rem;
    min-width: 11rem;
}

.pg-catalog-search__icon {
    position: absolute;
    top: 50%;
    left: .78rem;
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    color: #94a3b8;
    pointer-events: none;
    transform: translateY(-50%);
}

.pg-catalog-search__icon svg,
.pg-catalog-action svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-catalog-search input {
    width: 100%;
    min-height: 2.55rem;
    padding: .55rem 2.25rem .55rem 2.3rem;
    border: 0;
    border-radius: .72rem;
    background: #f5f7fa;
    color: #0f172a;
    outline: none;
    box-shadow: inset 0 0 0 1px transparent;
    transition: background .16s ease, box-shadow .16s ease;
}

.pg-catalog-search input:focus {
    background: #fff;
    box-shadow: inset 0 0 0 1px #8eb0ff, 0 0 0 .18rem rgba(41, 98, 255, .08);
}

.pg-catalog-search__clear {
    position: absolute;
    top: 50%;
    right: .55rem;
    display: none;
    width: 1.65rem;
    height: 1.65rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #94a3b8;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.pg-catalog-search__clear.is-visible { display: block; }

.pg-catalog-tabs {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .2rem;
    padding: .2rem;
    border-radius: .72rem;
    background: #f5f7fa;
}

.pg-catalog-tab,
.pg-catalog-action {
    display: inline-flex;
    min-height: 2.15rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .42rem .68rem;
    border: 0;
    border-radius: .58rem;
    background: transparent;
    color: #526071;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.pg-catalog-tab:hover,
.pg-catalog-action:hover {
    background: #fff;
    color: #1d4ed8;
}

.pg-catalog-tab.is-active,
.pg-catalog-action.is-active {
    background: #fff;
    color: #1d4ed8;
    box-shadow: 0 .08rem .35rem rgba(15, 23, 42, .09);
}

.pg-catalog-tab--premium.is-active {
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff;
}

.pg-catalog-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .35rem;
}

.pg-catalog-action {
    min-height: 2.55rem;
    padding-inline: .8rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.pg-catalog-action svg {
    width: .95rem;
    height: .95rem;
}

.pg-catalog-action--add {
    border-color: transparent;
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff !important;
    box-shadow: 0 .28rem .8rem rgba(234, 120, 22, .22);
}

.pg-catalog-action--add:hover,
.pg-catalog-action--add:focus {
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff !important;
    filter: saturate(1.08) brightness(.98);
    box-shadow: 0 .35rem 1rem rgba(234, 120, 22, .28);
}

.pg-catalog-filter {
    margin: -.35rem 0 1rem;
    padding: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
}

.pg-catalog-filter[hidden] { display: none !important; }

.pg-empty-state {
    display: flex;
    min-height: 12rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: 2rem;
    border: 1px dashed #cbd5e1;
    border-radius: 1rem;
    color: #64748b;
    text-align: center;
}

.pg-empty-state[hidden] { display: none !important; }
.pg-empty-state strong { color: #334155; font-size: 1rem; }

@media (max-width: 1199.98px) {
    .pg-catalog-bar { flex-wrap: wrap; }
    .pg-catalog-search { flex-basis: calc(100% - 12rem); }
    .pg-catalog-tabs { order: 3; flex: 1 1 100%; overflow-x: auto; justify-content: flex-start; }
}

@media (max-width: 767.98px) {
    .pg-catalog-bar {
        gap: .5rem;
        padding: .35rem;
        border-radius: .82rem;
    }
    .pg-catalog-search { flex: 1 1 100%; order: 1; }
    .pg-catalog-actions { order: 2; width: 100%; }
    .pg-catalog-actions .pg-catalog-action { flex: 1 1 0; }
    .pg-catalog-tabs { order: 3; margin: 0; padding-bottom: .25rem; }
    .pg-catalog-tab { min-height: 2.2rem; }
}


/* === Форма добавления / редактирования 0.1.6 === */
.pg-form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr);
    gap: 1.25rem;
    align-items: start;
    margin-top: 1rem;
}

.pg-form-main {
    min-width: 0;
}

.pg-prompt-form {
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 .3rem 1.2rem rgba(15, 23, 42, .045);
}

.pg-prompt-form .form-group,
.pg-prompt-form .field,
.pg-prompt-form .control-group,
.pg-prompt-form .form-row,
.pg-prompt-form .mb-3 {
    margin-bottom: .9rem;
}

.pg-prompt-form label {
    margin-bottom: .35rem;
    color: #263244;
    font-size: .82rem;
    font-weight: 700;
}

.pg-prompt-form input[type="text"],
.pg-prompt-form input[type="number"],
.pg-prompt-form input[type="url"],
.pg-prompt-form input[type="search"],
.pg-prompt-form select,
.pg-prompt-form textarea {
    border-radius: .72rem;
}

.pg-prompt-form textarea[name="prompt"] {
    min-height: 13rem;
    resize: vertical;
}

.pg-price-field--hidden {
    display: none !important;
}

.pg-form-preview-panel {
    position: sticky;
    top: 1rem;
    min-width: 0;
    padding: .85rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .45rem 1.5rem rgba(15, 23, 42, .07);
}

.pg-form-preview-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .7rem;
}

.pg-form-preview-panel__head strong {
    color: #111827;
    font-size: .95rem;
}

.pg-form-preview-panel__status {
    padding: .2rem .45rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}

.pg-form-preview-panel.is-reviewed .pg-form-preview-panel__status {
    background: #ecfdf3;
    color: #067647;
}

.pg-preview-card {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border-radius: .9rem;
    background: linear-gradient(180deg, #eef2f7, #dce3eb);
}

.pg-preview-card__image,
.pg-preview-card__placeholder {
    display: block;
    width: 100%;
    min-height: 230px;
}

.pg-preview-card__image {
    height: auto;
    max-height: 430px;
    object-fit: cover;
}

.pg-preview-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: #94a3b8;
    font-size: .8rem;
    text-align: center;
}

.pg-preview-card__shade {
    position: absolute;
    inset: auto 0 0;
    height: 48%;
    background: linear-gradient(to top, rgba(5, 9, 18, .84), rgba(5, 9, 18, 0));
    pointer-events: none;
}

.pg-preview-card__title {
    position: absolute;
    z-index: 2;
    left: .75rem;
    right: .75rem;
    bottom: .7rem;
    color: #fff;
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.25;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

.pg-preview-card__premium {
    position: absolute;
    z-index: 3;
    top: .55rem;
    left: .55rem;
    display: none;
    padding: .24rem .5rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .045em;
}

.pg-preview-card.is-premium .pg-preview-card__premium {
    display: inline-flex;
}

.pg-preview-info {
    display: grid;
    gap: .55rem;
    margin-top: .75rem;
}

.pg-preview-info__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #eef2f7;
    font-size: .78rem;
}

.pg-preview-info__row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.pg-preview-info__label {
    color: #94a3b8;
}

.pg-preview-info__value {
    min-width: 0;
    color: #334155;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

.pg-preview-prompt {
    max-height: 9rem;
    overflow: auto;
    margin-top: .75rem;
    padding: .75rem;
    border-radius: .75rem;
    background: #f8fafc;
    color: #475569;
    font-size: .78rem;
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.pg-preview-button {
    display: inline-flex;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .5rem .85rem;
    border: 0;
    border-radius: .65rem;
    background: #111827;
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 .25rem .7rem rgba(15, 23, 42, .14);
}

.pg-preview-button:hover,
.pg-preview-button:focus {
    background: #0f172a;
    color: #fff;
    outline: none;
}

.pg-preview-required-note {
    display: none;
    margin-top: .6rem;
    padding: .55rem .7rem;
    border: 1px solid #fed7aa;
    border-radius: .65rem;
    background: #fff7ed;
    color: #9a3412;
    font-size: .76rem;
}

.pg-preview-required-note.is-visible {
    display: block;
}

.pg-prompt-form .pg-form-actions-enhanced {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #edf2f7;
}

@media (max-width: 991.98px) {
    .pg-form-shell {
        grid-template-columns: 1fr;
    }
    .pg-form-preview-panel {
        position: static;
        order: -1;
    }
}

@media (max-width: 575.98px) {
    .pg-list { margin-top: 1.25rem; }
    .pg-prompt-form,
    .pg-form-preview-panel { padding: .7rem; border-radius: .82rem; }
    .pg-preview-card { min-height: 190px; }
    .pg-preview-card__image,
    .pg-preview-card__placeholder { min-height: 190px; }
}

/* === Нативное модальное окно InstantCMS для добавления промта === */
#icms_modal.pg-native-prompt-modal .modal-dialog {
    max-width: min(1120px, calc(100vw - 2rem));
}

#icms_modal.pg-native-prompt-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 1.75rem 4.5rem rgba(2, 6, 23, .32);
}

#icms_modal.pg-native-prompt-modal .modal-header {
    position: relative;
    display: flex;
    min-height: 3.7rem;
    align-items: center;
    padding: .75rem 3.75rem .75rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
    color: #0f172a;
}

#icms_modal.pg-native-prompt-modal .modal-title {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

/* Внутренний H1 дублирует заголовок штатной модалки InstantCMS. */
#icms_modal.pg-native-prompt-modal .modal-body > h1,
#icms_modal.pg-native-prompt-modal .modal-body .pg-duplicate-add-heading {
    display: none !important;
}

#icms_modal.pg-native-prompt-modal .modal-close {
    position: absolute !important;
    z-index: 5;
    top: 50% !important;
    right: .8rem !important;
    display: inline-flex !important;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: .6rem;
    background: transparent !important;
    color: #334155 !important;
    line-height: 1 !important;
    transform: translateY(-50%);
    opacity: 1;
}

#icms_modal.pg-native-prompt-modal .modal-close:hover,
#icms_modal.pg-native-prompt-modal .modal-close:focus {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    outline: none;
}

#icms_modal.pg-native-prompt-modal .modal-close svg {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    fill: currentColor;
}

#icms_modal.pg-native-prompt-modal .modal-body {
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1rem;
    background: #f8fafc;
}

#icms_modal.pg-native-prompt-modal .pg-form-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
    align-items: start;
}

#icms_modal.pg-native-prompt-modal .pg-form-main,
#icms_modal.pg-native-prompt-modal .pg-form-preview-panel {
    min-width: 0;
}

#icms_modal.pg-native-prompt-modal .pg-prompt-form {
    margin: 0;
    box-shadow: none;
}

#icms_modal.pg-native-prompt-modal .pg-form-preview-panel {
    top: 0;
}

#icms_modal.pg-native-prompt-modal .pg-form-actions-enhanced {
    position: sticky;
    z-index: 3;
    bottom: -1rem;
    margin: 1rem -1rem -1rem;
    padding: .85rem 1rem;
    border-top: 1px solid #e5e7eb;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

/* Для промтов штатное поле изображения показываем крупнее обычного круглого аватара. */
.pg-prompt-form .form-group.ft_image {
    min-height: auto;
    padding-left: 0;
    align-items: flex-start;
}

.pg-prompt-form .form-group.ft_image > label,
.pg-prompt-form .form-group.ft_image .icms-forms-hint {
    width: 100%;
    margin: 0 0 .45rem;
}

.pg-prompt-form .form-group.ft_image .widget_image_single {
    position: static;
    margin-top: .2rem;
}

.pg-prompt-form .widget_image_single .block,
.pg-prompt-form .widget_image_single .multi-block {
    width: 112px;
    height: 88px;
    border-radius: .75rem;
}

.pg-prompt-form .widget_image_single .preview > div,
.pg-prompt-form .widget_image_single .qq-upload-button,
.pg-prompt-form .widget_image_single .qq-upload-drop-area {
    border-radius: .75rem;
}

.pg-prompt-form .widget_image_single .preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pg-prompt-form .widget_image_single .qq-upload-button {
    background-size: 30px 24px;
}

.pg-form-preview-panel__status {
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    #icms_modal.pg-native-prompt-modal .pg-form-shell {
        grid-template-columns: 1fr;
    }
    #icms_modal.pg-native-prompt-modal .pg-form-preview-panel {
        position: static;
        order: -1;
    }
}

@media (max-width: 575.98px) {
    #icms_modal.pg-native-prompt-modal .modal-dialog {
        max-width: 100%;
        min-height: 100%;
        margin: 0;
    }
    #icms_modal.pg-native-prompt-modal .modal-content {
        min-height: 100vh;
        border-radius: 0;
    }
    #icms_modal.pg-native-prompt-modal .modal-body {
        max-height: calc(100vh - 3.7rem);
        padding: .65rem;
    }
}


/* === Обязательные теги === */
.pg-tags-picker.is-invalid .pg-form-picker__trigger {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .15rem rgba(220, 53, 69, .12);
}

.pg-tags-required-error {
    display: none;
    margin-top: .4rem;
    color: #dc3545;
    font-size: .75rem;
    font-weight: 600;
}

.pg-tags-required-error.is-visible {
    display: block;
}

/* Немного компактнее поле тегов в модалке, чтобы важные поля были видны раньше. */
#icms_modal.pg-native-prompt-modal .pg-tags-picker__chips:empty {
    display: none;
}

/* === Интерактив: лайки, сохранение, поделиться === */
button.pg-card__likes {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.pg-card__likes.is-active,
.pg-like-button.is-active {
    background: rgba(225, 29, 72, .9);
    border-color: rgba(255, 255, 255, .55);
}

.pg-card__likes.is-active svg,
.pg-like-button.is-active svg {
    fill: currentColor;
}

.pg-card__likes.is-loading,
.pg-action-button.is-loading,
.pg-card__unsave.is-loading {
    pointer-events: none;
    opacity: .58;
}

.pg-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: .85rem 0 .65rem;
}

.pg-action-button {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 2.35rem;
    padding: .48rem .72rem;
    border: 1px solid rgba(148, 163, 184, .42);
    border-radius: .7rem;
    background: #fff;
    color: #172033;
    font-size: .82rem;
    font-weight: 650;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.pg-action-button:hover,
.pg-action-button:focus {
    border-color: rgba(37, 99, 235, .45);
    background: #f8fafc;
    color: #1d4ed8;
    outline: none;
    transform: translateY(-1px);
}

.pg-action-button.is-active {
    border-color: rgba(37, 99, 235, .25);
    background: #eff6ff;
    color: #1d4ed8;
}

.pg-action-button.pg-like-button.is-active {
    border-color: rgba(225, 29, 72, .22);
    background: #fff1f2;
    color: #e11d48;
}

.pg-action-button svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-action-button b {
    min-width: 1.15rem;
    padding: .12rem .3rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    font-size: .7rem;
    text-align: center;
}

.pg-saved-link {
    margin: 0 0 .9rem;
    font-size: .78rem;
}

.pg-saved-link a {
    color: #64748b;
    text-decoration: none;
}

.pg-saved-link a:hover {
    color: #2563eb;
}

.pg-card__unsave {
    position: absolute;
    z-index: 5;
    right: .55rem;
    bottom: .55rem;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    background: rgba(37, 99, 235, .88);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.pg-card__unsave svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1.6;
}

/* === Похожие промты === */
.pg-similar {
    margin-top: 1.55rem;
}

.pg-similar__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}

.pg-similar__head h2 {
    margin: 0;
    font-size: 1.35rem;
}

.pg-similar__head span {
    color: #64748b;
    font-size: .78rem;
}

.pg-similar-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.pg-similar-card {
    position: relative;
    overflow: hidden;
    border-radius: .85rem;
    background: #e8edf4;
    box-shadow: 0 .08rem .35rem rgba(15, 23, 42, .08);
}

.pg-similar-card > a {
    display: block;
    color: inherit;
    text-decoration: none !important;
}

.pg-similar-card__media {
    position: relative;
    display: block;
    min-height: 150px;
    overflow: hidden;
    background: linear-gradient(180deg, #eef2f7, #dce3eb);
}

.pg-similar-card__media img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .25s ease;
}

.pg-similar-card:hover img {
    transform: scale(1.015);
}

.pg-similar-card:hover .pg-card__shade,
.pg-similar-card:hover .pg-card__hover-title,
.pg-similar-card:focus-within .pg-card__shade,
.pg-similar-card:focus-within .pg-card__hover-title {
    opacity: 1;
}

.pg-similar-card:hover .pg-card__hover-title,
.pg-similar-card:focus-within .pg-card__hover-title {
    transform: translateY(0);
}

/* === Сохранённые === */
.pg-saved-page {
    margin-top: 1rem;
}

.pg-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.pg-page-head h1 {
    margin: 0 0 .3rem;
    font-size: 1.8rem;
}

.pg-page-head p {
    margin: 0;
    color: #64748b;
}

/* === Toast === */
.pg-toast {
    position: fixed;
    z-index: 10050;
    left: 50%;
    bottom: 1.35rem;
    max-width: min(90vw, 28rem);
    padding: .72rem 1rem;
    border-radius: .7rem;
    background: rgba(15, 23, 42, .94);
    color: #fff;
    font-size: .84rem;
    font-weight: 600;
    box-shadow: 0 .65rem 1.6rem rgba(15, 23, 42, .22);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, .8rem);
    transition: opacity .18s ease, transform .18s ease;
}

.pg-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.pg-toast.is-error {
    background: rgba(185, 28, 28, .96);
}

@media (max-width: 991.98px) {
    .pg-similar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .pg-item-actions { gap: .45rem; }
    .pg-action-button { flex: 1 1 auto; justify-content: center; }
    .pg-similar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pg-similar__head { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .pg-page-head { align-items: flex-start; flex-direction: column; }
}

/* === 0.1.14: автор, сохранённые, Яндекс Поделиться, кликабельные теги === */
.pg-item__author {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: .65rem;
    margin: 0 0 .85rem;
    padding: .55rem .72rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .75rem;
    background: rgba(255, 255, 255, .72);
}

.pg-author-icon {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef4ff;
    color: #2563eb;
}

.pg-author-icon svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-author-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .08rem;
}

.pg-author-label {
    color: #94a3b8;
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pg-author-value,
.pg-author-value a {
    color: #1d4ed8;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
}

.pg-author-value a:hover {
    color: #1e40af;
}

.pg-saved-link {
    margin: 0 0 .95rem;
}

.pg-saved-button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.25rem;
    padding: .46rem .72rem;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: .7rem;
    background: #eff6ff;
    color: #1d4ed8 !important;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .16s ease, transform .16s ease, border-color .16s ease;
}

.pg-saved-button:hover,
.pg-saved-button:focus {
    border-color: rgba(37, 99, 235, .35);
    background: #dbeafe;
    color: #1d4ed8 !important;
    outline: none;
    transform: translateY(-1px);
}

.pg-saved-button svg {
    width: .95rem;
    height: .95rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-share-panel {
    margin: -.15rem 0 .9rem;
    padding: .72rem .8rem;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 .28rem .9rem rgba(15, 23, 42, .07);
}

.pg-share-panel[hidden] {
    display: none !important;
}

.pg-share-panel .shareme {
    margin-bottom: .45rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}

.pg-action-button.pg-share-button.is-active {
    border-color: rgba(37, 99, 235, .25);
    background: #eff6ff;
    color: #1d4ed8;
}

.pg-tag--link {
    color: #475569 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: color .14s ease, background .14s ease, border-color .14s ease, transform .14s ease;
}

.pg-tag--link:hover,
.pg-tag--link:focus {
    border-color: rgba(37, 99, 235, .22);
    background: #eff6ff;
    color: #1d4ed8 !important;
    outline: none;
    transform: translateY(-1px);
}

.pg-category-chip {
    display: inline-flex;
    align-items: center;
    gap: .36rem;
    min-height: 1.8rem;
    padding: .3rem .62rem;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 999px;
    background: #f8fafc;
    color: #475569 !important;
    font-size: .76rem;
    font-weight: 650;
    line-height: 1;
    text-decoration: none !important;
}

.pg-category-chip:hover {
    background: #eef2ff;
    color: #3730a3 !important;
}

.pg-category-chip.is-primary {
    border-color: rgba(37, 99, 235, .2);
    background: #eff6ff;
    color: #1d4ed8 !important;
}

.pg-category-chip span {
    padding: .13rem .3rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pg-active-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: .65rem 0 .2rem;
    padding: .52rem .7rem;
    border: 1px solid rgba(37, 99, 235, .15);
    border-radius: .7rem;
    background: #eff6ff;
    color: #334155;
    font-size: .8rem;
}

.pg-active-filter a {
    color: #1d4ed8;
    font-weight: 700;
    text-decoration: none !important;
}

/* На странице сохранённых промтов лайки намеренно не показываются. */
.pg-saved-page .pg-card__likes {
    display: none !important;
}

@media (max-width: 575.98px) {
    .pg-item__author {
        width: 100%;
    }
    .pg-saved-button {
        width: 100%;
        justify-content: center;
    }
    .pg-active-filter {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* 0.1.15: серверные фильтры, подгрузка, статистика и жалобы */
.pg-catalog-tab {
    text-decoration: none !important;
}

.pg-advanced-filter {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    align-items: end;
}
.pg-advanced-filter label {
    margin: 0;
    min-width: 0;
}
.pg-advanced-filter label > span {
    display: block;
    margin-bottom: .35rem;
    font-size: .78rem;
    font-weight: 600;
    color: #64748b;
}
.pg-advanced-filter__actions {
    grid-column: 1 / -1;
    display: flex;
    gap: .5rem;
    justify-content: flex-end;
    padding-top: .15rem;
}

.pg-filter-tags {
    grid-column: 1 / -1;
    display: grid;
    gap: 1rem;
    margin-top: .25rem;
    padding-top: .9rem;
    border-top: 1px solid #eef2f7;
}

.pg-filter-tags__head {
    color: #334155;
    font-size: .82rem;
    font-weight: 800;
}

.pg-filter-tag-group {
    display: grid;
    gap: .45rem;
}

.pg-filter-tag-group__title {
    color: #94a3b8;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.pg-filter-tag-group__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}

.pg-filter-tag-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.95rem;
    padding: .28rem .68rem;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #64748b !important;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.1;
    text-decoration: none !important;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.pg-filter-tag-chip:hover,
.pg-filter-tag-chip:focus {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #0f172a !important;
}

.pg-filter-tag-chip.is-active {
    border-color: #0f172a;
    background: #0f172a;
    color: #fff !important;
    box-shadow: 0 .2rem .55rem rgba(15, 23, 42, .14);
}

.pg-load-more-sentinel {
    min-height: 44px;
    margin: 1rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: .8rem;
}
.pg-load-more-sentinel.is-loading::before {
    content: '';
    width: 18px;
    height: 18px;
    margin-right: .5rem;
    border: 2px solid #cbd5e1;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: pgSpin .7s linear infinite;
}
.pg-load-more-sentinel.is-loading::after { content: attr(data-label); }
.pg-pagination--fallback[hidden] { display: none !important; }
.pg-pagination--fallback:not([hidden]) { opacity: .75; }
@keyframes pgSpin { to { transform: rotate(360deg); } }

.pg-item-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: .55rem 0 .15rem;
}
.pg-item-stats span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .26rem .48rem;
    border-radius: 999px;
    background: rgba(148,163,184,.10);
    color: #64748b;
    font-size: .76rem;
    line-height: 1;
}
.pg-item-stats svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pg-report-wrap { margin-top: .45rem; }
.pg-report-toggle {
    border: 0;
    background: transparent;
    padding: .15rem 0;
    color: #94a3b8;
    font-size: .76rem;
    cursor: pointer;
}
.pg-report-toggle:hover { color: #dc2626; }
.pg-report-form {
    margin-top: .45rem;
    padding: .65rem;
    border: 1px solid #e2e8f0;
    border-radius: .7rem;
    background: #fff;
}
.pg-report-form > * + * { margin-top: .45rem; }
.pg-duplicate-warning { margin-bottom: .75rem; }

@media (max-width: 991.98px) {
    .pg-advanced-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .pg-advanced-filter { grid-template-columns: 1fr; }
    .pg-advanced-filter__actions { justify-content: stretch; }
    .pg-advanced-filter__actions .btn { flex: 1 1 0; }
}

/* === 0.1.18: masonry похожих, аватар автора, drawer-фильтры, SEO === */
.pg-author-avatar {
    display: block;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    overflow: hidden;
    border-radius: 50%;
    background: #e2e8f0;
    box-shadow: 0 0 0 2px #fff, 0 .1rem .35rem rgba(15,23,42,.12);
}
.pg-author-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Похожие используют тот же masonry и размеры карточек, что и основной каталог. */
.pg-similar-grid.pg-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--pg-grid-gap);
}
.pg-similar-grid .pg-card { width: auto; }

html.pg-filter-drawer-open,
body.pg-filter-drawer-open { overflow: hidden !important; }

.pg-filter-backdrop {
    position: fixed;
    z-index: 10980;
    inset: 0;
    background: rgba(15, 23, 42, .38);
    opacity: 0;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    transition: opacity .2s ease;
}
.pg-filter-backdrop.is-open { opacity: 1; }
.pg-filter-backdrop[hidden] { display: none !important; }

.pg-catalog-filter.pg-filter-drawer {
    position: fixed;
    z-index: 10990;
    top: 0;
    right: 0;
    width: min(31rem, 94vw);
    height: 100vh;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: 1px solid #e2e8f0;
    border-radius: 0;
    background: #fff;
    box-shadow: -1.15rem 0 2.8rem rgba(15,23,42,.18);
    transform: translateX(103%);
    transition: transform .24s ease;
    overflow: hidden;
}
.pg-catalog-filter.pg-filter-drawer.is-open { transform: translateX(0); }
.pg-filter-drawer__head {
    display: flex;
    min-height: 4.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(255,255,255,.96);
}
.pg-filter-drawer__head > div { display: grid; gap: .12rem; }
.pg-filter-drawer__head strong { font-size: 1.08rem; color: #0f172a; }
.pg-filter-drawer__head span { color: #64748b; font-size: .76rem; }
.pg-filter-drawer__close {
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #334155;
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
}
.pg-filter-drawer__close:hover { background: #e2e8f0; color: #0f172a; }
.pg-filter-drawer__body {
    height: calc(100vh - 4.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1rem 1.1rem 1.5rem;
}
.pg-filter-drawer .pg-advanced-filter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .9rem;
    align-items: end;
}
.pg-filter-drawer .pg-filter-tags,
.pg-filter-drawer .pg-advanced-filter__actions { grid-column: 1 / -1; }
.pg-filter-drawer .pg-advanced-filter__actions {
    position: sticky;
    bottom: -1.5rem;
    z-index: 2;
    margin: .3rem -1.1rem -1.5rem;
    padding: .8rem 1.1rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: rgba(255,255,255,.96);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.pg-seo-text {
    margin-top: 2rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
    color: #475569;
    font-size: .94rem;
    line-height: 1.7;
}
.pg-seo-text > :last-child { margin-bottom: 0; }
.pg-seo-landing { margin-top: 1rem; }
.pg-seo-landing__head { margin-bottom: 1.2rem; }
.pg-seo-landing__head h1 { margin: .35rem 0 .55rem; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.12; }
.pg-seo-landing__head p { max-width: 54rem; margin: 0; color: #64748b; line-height: 1.6; }
.pg-seo-landing__back {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    margin-bottom: .55rem;
    padding: .48rem .72rem;
    border: 1px solid rgba(37, 99, 235, .24);
    border-radius: .68rem;
    background: #fff;
    color: #1d4ed8 !important;
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.15;
    text-decoration: none !important;
    box-shadow: 0 .16rem .5rem rgba(37, 99, 235, .06);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.pg-seo-landing__back:hover,
.pg-seo-landing__back:focus {
    border-color: rgba(37, 99, 235, .42);
    background: #eff6ff;
    color: #1d4ed8 !important;
    box-shadow: 0 .24rem .7rem rgba(37, 99, 235, .11);
    outline: none;
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .pg-filter-drawer .pg-advanced-filter { grid-template-columns: 1fr; }
    .pg-filter-drawer .pg-filter-tags,
    .pg-filter-drawer .pg-advanced-filter__actions { grid-column: 1; }
    .pg-catalog-filter.pg-filter-drawer { width: 100vw; }
}

/* SEO heading for the root catalog and category landing pages */
.pg-catalog-seo-head {
    margin: 0 0 1rem;
}
.pg-catalog-seo-head h1 {
    margin: 0 0 .35rem;
    font-size: clamp(1.55rem, 2.3vw, 2.2rem);
    line-height: 1.15;
    font-weight: 700;
}
.pg-catalog-seo-head p {
    margin: 0;
    max-width: 980px;
    color: #6c757d;
    font-size: .96rem;
    line-height: 1.55;
}
@media (max-width: 575.98px) {
    .pg-catalog-seo-head {
        margin-bottom: .8rem;
    }
    .pg-catalog-seo-head h1 {
        font-size: 1.45rem;
    }
    .pg-catalog-seo-head p {
        font-size: .9rem;
    }
}
.pg-seo-text h2 {
    margin: 1.35rem 0 .65rem;
    font-size: 1.2rem;
    line-height: 1.3;
    color: #1f2937;
}
.pg-seo-text p {
    margin: 0 0 .9rem;
}

/* === 0.1.70: общие стили Prompt Gallery без дополнительных CSS-файлов === */

/* Внутренняя карточка: небольшой отступ под кнопкой «Назад в галерею». */
.pg-item__back {
    margin: 0 0 .5rem;
}

.pg-back-gallery {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 2.1rem;
    padding: .38rem .68rem;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: .68rem;
    background: #fff;
    color: #1d4ed8 !important;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.pg-back-gallery:hover,
.pg-back-gallery:focus {
    border-color: rgba(37, 99, 235, .34);
    background: #eff6ff;
    color: #1d4ed8 !important;
    outline: none;
    transform: translateY(-1px);
}

.pg-item__media-column {
    min-width: 0;
}

.pg-item__tags-under-media {
    margin-top: 1rem;
}

.pg-item__tags-under-media .pg-item__taglist {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}

/* Компактный выпадающий каталог разделов сразу под панелью поиска. */
.pg-hubs-dropdown {
    margin: -.25rem 0 1rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .9rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 .18rem .7rem rgba(15,23,42,.045);
    overflow: hidden;
}

.pg-hubs-dropdown__summary,
.pg-hub-accordion__summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.pg-hubs-dropdown__summary::-webkit-details-marker,
.pg-hub-accordion__summary::-webkit-details-marker {
    display: none;
}

.pg-hubs-dropdown__summary {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .7rem;
    min-height: 3.1rem;
    padding: .72rem .9rem;
    color: #172033;
}

.pg-hubs-dropdown__summary:hover {
    background: #f8fafc;
}

.pg-hubs-dropdown__title {
    font-size: .9rem;
    font-weight: 800;
}

.pg-hubs-dropdown__hint {
    min-width: 0;
    color: #94a3b8;
    font-size: .75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pg-hubs-dropdown__chevron,
.pg-hub-accordion__summary::after {
    content: '';
    width: .48rem;
    height: .48rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform .18s ease;
    opacity: .58;
}

.pg-hubs-dropdown[open] > .pg-hubs-dropdown__summary .pg-hubs-dropdown__chevron,
.pg-hub-accordion[open] > .pg-hub-accordion__summary::after {
    transform: rotate(225deg);
}

.pg-hubs-dropdown__panel {
    display: grid;
    gap: .55rem;
    padding: 0 .75rem .75rem;
    border-top: 1px solid #eef2f7;
    background: #fbfcfe;
}

.pg-hub-accordion {
    border: 1px solid #e8edf3;
    border-radius: .72rem;
    background: #fff;
    overflow: hidden;
}

.pg-hub-accordion:first-child {
    margin-top: .75rem;
}

.pg-hub-accordion__summary {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: .55rem;
    min-height: 2.75rem;
    padding: .65rem .75rem;
    color: #334155;
    font-size: .82rem;
    font-weight: 800;
}

.pg-hub-accordion__summary:hover {
    background: #f8fafc;
}

.pg-hub-accordion__count {
    min-width: 1.65rem;
    padding: .12rem .42rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #64748b;
    font-size: .67rem;
    font-weight: 800;
    text-align: center;
}

.pg-hub-accordion__links {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
    padding: .15rem .75rem .75rem;
}

.pg-hub-link {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: .3rem .58rem;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #526071 !important;
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.15;
    text-decoration: none !important;
    transition: border-color .14s ease, background .14s ease, color .14s ease, transform .14s ease;
}

.pg-hub-link:hover,
.pg-hub-link:focus {
    border-color: rgba(37,99,235,.28);
    background: #eff6ff;
    color: #1d4ed8 !important;
    outline: none;
    transform: translateY(-1px);
}


/* Native <details> must really collapse even though child blocks have author-level display rules. */
.pg-hubs-dropdown:not([open]) > .pg-hubs-dropdown__panel {
    display: none !important;
}
.pg-hub-accordion:not([open]) > .pg-hub-accordion__links {
    display: none !important;
}

/* Same catalog toolbar is used on every Prompt Gallery listing/SEO page. */
.pg-seo-landing .pg-catalog-bar {
    margin-top: 0;
}
.pg-seo-landing .pg-hubs-dropdown {
    margin-top: -.25rem;
}

/* Описания листинга идут последними, после каталога, пагинации и SEO-текста. */
.pg-list-tail {
    display: grid;
    gap: .65rem;
    margin-top: 1.6rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(148,163,184,.2);
}

.pg-list-tail .category_description,
.pg-list-tail .pg-catalog-seo-head {
    margin: 0;
    color: #6c757d;
    font-size: .88rem;
    line-height: 1.55;
}

.pg-list-tail .pg-catalog-seo-head p,
.pg-list-tail .category_description p,
.pg-list-tail .category_description {
    margin-bottom: 0;
}

.pg-list-tail .pg-catalog-seo-head { order: 1; }
.pg-list-tail .category_description { order: 2; }

@media (max-width: 767.98px) {
    .pg-hubs-dropdown__summary {
        grid-template-columns: 1fr auto;
    }
    .pg-hubs-dropdown__hint {
        display: none;
    }
    .pg-hub-accordion__links {
        gap: .35rem;
    }
    .pg-hub-link {
        font-size: .7rem;
    }
}


/* === 0.1.79: штатный контекст страницы InstantCMS ===
   Класс pg-prompts-listing-page назначается через Панель управления -> Виджеты -> Страницы
   для группы листингов prompts. Никаких URL-проверок, :has() и DOM-перестановок здесь нет. */
@media (min-width: 992px) {
    body.pg-prompts-listing-page section.container.its-row-container,
    body.pg-prompts-listing-page .container.its-row-container,
    body.pg-prompts-listing-page main > .container {
        width: 100%;
        max-width: none;
    }

    body.pg-prompts-listing-page main .its-layout-row,
    body.pg-prompts-listing-page main .its-position {
        max-width: none;
    }

    body.pg-prompts-listing-page main .pg-root.pg-list,
    body.pg-prompts-listing-page main .pg-seo-landing,
    body.pg-prompts-listing-page main .pg-grid {
        width: 100%;
        max-width: none;
    }
}

/* === Prompt Gallery: multi-model + tag dialog === */
.pg-model-picker__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem}.pg-model-picker__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .58rem;border-radius:999px;background:#eef2f7;color:#344054;font-size:.78rem}.pg-model-picker__chip button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;opacity:.65}.pg-model-picker__chip button:hover{opacity:1}.pg-model-picker__menu{max-height:25rem}.pg-model-other{padding:.45rem .35rem .2rem;border-top:1px solid #edf0f3}.pg-model-other__row{display:flex;gap:.5rem;align-items:center}.pg-model-other__row input{flex:1 1 auto;min-width:0}.pg-model-limit{margin-top:.4rem;color:#6c757d;font-size:.78rem}.pg-model-limit.is-full{color:#b42318}.pg-form-picker__option:disabled{opacity:.45;cursor:not-allowed}
.pg-tag-dialog{position:fixed!important;z-index:2147483600!important;inset:0;display:none;align-items:center;justify-content:center;padding:2rem;filter:none!important;-webkit-filter:none!important}.pg-tag-dialog.is-open{display:flex}.pg-tag-dialog__backdrop{position:absolute;z-index:0;inset:0;background:rgba(15,23,42,.62);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}.pg-tag-dialog__panel{filter:none!important;-webkit-filter:none!important}.pg-tag-dialog__panel{position:relative;z-index:1;display:flex;width:min(980px,calc(100vw - 3rem));max-height:min(760px,calc(100vh - 3rem));flex-direction:column;overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 4rem rgba(15,23,42,.28)}.pg-tag-dialog__head,.pg-tag-dialog__footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e9ecef}.pg-tag-dialog__footer{border-top:1px solid #e9ecef;border-bottom:0}.pg-tag-dialog__subtitle{margin-top:.15rem;color:#7c8798;font-size:.8rem}.pg-tag-dialog__close{width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:50%;background:#f1f4f8;font-size:1.5rem;line-height:1;cursor:pointer}.pg-tag-dialog__search{flex:0 0 auto;padding:.85rem 1.15rem .55rem}.pg-tag-dialog__search input{width:100%;min-height:44px;padding:.6rem .8rem;border:1px solid #d8dee8;border-radius:.75rem;outline:none}.pg-tag-dialog__selected{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.4rem;min-height:.5rem;padding:.3rem 1.15rem .75rem}.pg-tag-dialog__selected-chip{padding:.35rem .6rem;border:0;border-radius:999px;background:#eef2f7;color:#344054;font-size:.78rem;cursor:pointer}.pg-tag-dialog__body{overflow-y:auto;padding:.4rem 1.15rem 1.1rem}.pg-tag-dialog__group+.pg-tag-dialog__group{margin-top:1.15rem}.pg-tag-dialog__group-title{margin:0 0 .55rem;color:#667085;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.pg-tag-dialog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.pg-tag-dialog__option{min-height:42px;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:.7rem;background:#fff;color:#334155;text-align:left;cursor:pointer}.pg-tag-dialog__option:hover{border-color:#b8c5d8;background:#f8fafc}.pg-tag-dialog__option.is-selected{border-color:#7ba2ff;background:#eef4ff;box-shadow:inset 0 0 0 1px rgba(55,105,255,.12)}.pg-tag-dialog__option.is-selected::after{content:' ✓';font-weight:700}.pg-tag-dialog__option:disabled{opacity:.42;cursor:not-allowed}.pg-tag-dialog__count{color:#667085;font-size:.85rem}.pg-tag-dialog__actions{display:flex;gap:.55rem}@media(max-width:767.98px){.pg-tag-dialog{padding:.5rem;align-items:stretch}.pg-tag-dialog__panel{width:100%;max-height:calc(100vh - 1rem);border-radius:.9rem}.pg-tag-dialog__grid{grid-template-columns:1fr 1fr}}@media(max-width:479.98px){.pg-tag-dialog__grid{grid-template-columns:1fr}}


/* Prompt Gallery: восстановление отступов в окне выбора моделей */
.pg-model-dialog .pg-tag-dialog__body {
    padding: 1rem 1.15rem 1.1rem !important;
}

.pg-model-dialog .pg-model-dialog__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .55rem !important;
}

.pg-model-dialog .pg-model-dialog__option {
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: .6rem .8rem !important;
    margin: 0 !important;
    border: 1px solid #dbe3ee;
    border-radius: .75rem;
    background: #fff;
    color: #334155;
    text-align: left;
}

.pg-model-dialog .pg-tag-dialog__footer {
    padding: .9rem 1.15rem 1rem !important;
}

@media (max-width: 767.98px) {
    .pg-model-dialog .pg-model-dialog__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 479.98px) {
    .pg-model-dialog .pg-model-dialog__grid {
        grid-template-columns: 1fr !important;
    }
}


/* Prompt Gallery: сворачивание длинного промта */
.pg-prompt-preview {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.55;
}

.pg-prompt-expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: .65rem;
    padding: .38rem .72rem;
    border: 1px solid #cfd8e6;
    border-radius: .65rem;
    background: #f8fafc;
    color: #2563eb;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.pg-prompt-expand:hover,
.pg-prompt-expand:focus {
    border-color: #9eb7dc;
    background: #eff6ff;
    color: #1d4ed8;
    outline: none;
}

.pg-prompt-expand[aria-expanded="true"] {
    color: #64748b;
}


/* Prompt Gallery: зелёная плашка бесплатного промта */
.pg-meta-chip--free {
    background: linear-gradient(90deg, #16a34a, #22c55e) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(22, 163, 74, .16);
}

/* === Secure paid prompts: teaser + purchase + unlocked details === */
.pg-paid-public__text,
.pg-paid-private__text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.55;
}

.pg-paid-examples {
    margin: .7rem 0 0;
    padding-left: 1.25rem;
    color: #344054;
}

.pg-paid-examples li + li {
    margin-top: .35rem;
}

.pg-purchase__balance {
    margin-top: -.15rem;
    color: #667085;
    font-size: .82rem;
}

.pg-purchase__balance strong {
    color: #172033;
    font-weight: 800;
}

.pg-purchase__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: .65rem;
    margin-top: 1rem;
}

.pg-purchase__form {
    display: flex;
    margin: 0;
}

.pg-purchase__buy,
.pg-purchase__topup {
    display: inline-flex;
    min-height: 2.7rem;
    align-items: center;
    justify-content: center;
    padding: .68rem 1rem;
    border-radius: .72rem;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, opacity .15s ease;
}

.pg-purchase__buy {
    border: 0;
    background: linear-gradient(90deg, var(--pg-premium-orange), var(--pg-premium-amber));
    color: #fff !important;
    box-shadow: 0 .3rem .85rem rgba(234, 120, 22, .22);
    cursor: pointer;
}

.pg-purchase__buy:hover,
.pg-purchase__buy:focus {
    color: #fff !important;
    filter: saturate(1.06) brightness(.98);
    transform: translateY(-1px);
    box-shadow: 0 .4rem 1rem rgba(234, 120, 22, .28);
    outline: none;
}

.pg-purchase__buy:disabled {
    cursor: not-allowed;
    opacity: .48;
    filter: grayscale(.2);
    transform: none;
    box-shadow: none;
}

.pg-purchase__topup {
    border: 1px solid rgba(37, 99, 235, .26);
    background: #fff;
    color: #1d4ed8 !important;
}

.pg-purchase__topup:hover,
.pg-purchase__topup:focus {
    border-color: rgba(37, 99, 235, .48);
    background: #eff6ff;
    color: #1d4ed8 !important;
    transform: translateY(-1px);
    outline: none;
}

.pg-purchase__notice {
    margin-top: .75rem;
    color: #667085;
    font-size: .76rem;
    line-height: 1.45;
}

.pg-purchase__notice--warning {
    color: #b54708;
}

@media (max-width: 575.98px) {
    .pg-purchase__actions,
    .pg-purchase__form {
        width: 100%;
    }

    .pg-purchase__buy,
    .pg-purchase__topup {
        width: 100%;
    }
}

/* === Paid prompts: link for authors + authors info modal/page === */
.pg-purchase__author-info {
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.pg-purchase__author-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.45rem;
    padding: .62rem .85rem;
    border: 1px solid #d8e5ff;
    border-radius: .72rem;
    background: #f7faff;
    color: #2563eb !important;
    font-size: .8rem;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 .18rem .55rem rgba(37, 99, 235, .06);
    transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.pg-purchase__author-link:hover,
.pg-purchase__author-link:focus {
    border-color: #b7cffd;
    background: #eef5ff;
    color: #1d4ed8 !important;
    transform: translateY(-1px);
    box-shadow: 0 .28rem .75rem rgba(37, 99, 235, .11);
    outline: none;
}

.pg-authors-info {
    width: min(620px, calc(100vw - 2rem));
    padding: 1rem 1.1rem 1.15rem;
    color: #344054;
}

.pg-authors-info h2 {
    margin: 0 0 .65rem;
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
}

.pg-authors-info > p {
    margin: 0 0 .9rem;
    line-height: 1.55;
}

.pg-authors-info__share {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem .8rem;
    border: 1px solid #e2e8f0;
    border-radius: .72rem;
    background: #f8fafc;
}

.pg-authors-info__share + .pg-authors-info__share {
    margin-top: .5rem;
}

.pg-authors-info__share span {
    color: #667085;
    font-size: .85rem;
}

.pg-authors-info__share strong {
    color: #0f172a;
    font-size: 1rem;
}

.pg-authors-info__benefits {
    margin: .95rem 0 .8rem;
    padding-left: 1.2rem;
}

.pg-authors-info__benefits li {
    line-height: 1.45;
}

.pg-authors-info__benefits li + li {
    margin-top: .35rem;
}

.pg-authors-info .pg-authors-info__note {
    margin: .9rem 0 0;
    color: #7c8798;
    font-size: .78rem;
}

.pg-item__source {
    margin-top: .65rem;
}

.pg-item__source-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    max-width: 100%;
    padding: .42rem .65rem;
    border: 1px solid #dfe7f3;
    border-radius: .65rem;
    background: #fff;
    color: #2563eb !important;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.pg-item__source-link small {
    overflow: hidden;
    color: #7c8798;
    font-size: .72rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pg-item__source-link:hover,
.pg-item__source-link:focus {
    border-color: #b7cffd;
    background: #f7faff;
    color: #1d4ed8 !important;
    transform: translateY(-1px);
    outline: none;
}

@media (max-width: 575.98px) {
    .pg-authors-info {
        width: calc(100vw - 1rem);
        padding: .8rem;
    }

    .pg-purchase__author-link {
        width: 100%;
    }
}

/* === Authors info: publication rules === */
.pg-authors-info__section {
    margin-top: 1.05rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.pg-authors-info__section h3 {
    margin: 0 0 .45rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.pg-authors-info__intro {
    margin: 0 0 .7rem !important;
    color: #667085;
    font-size: .84rem;
}

.pg-authors-info__rules {
    margin: 0;
    padding-left: 1.15rem;
}

.pg-authors-info__rules li {
    color: #475467;
    font-size: .84rem;
    line-height: 1.48;
}

.pg-authors-info__rules li + li {
    margin-top: .42rem;
}

.pg-authors-info__rules strong {
    color: #1d2939;
}

.pg-authors-info__moderation {
    margin-top: 1rem;
    padding: .8rem .9rem;
    border: 1px solid #dbeafe;
    border-radius: .72rem;
    background: #eff6ff;
    color: #344054;
}

.pg-authors-info__moderation > strong {
    display: block;
    margin-bottom: .25rem;
    color: #1d4ed8;
    font-size: .86rem;
}

.pg-authors-info__moderation p {
    margin: 0;
    font-size: .8rem;
    line-height: 1.5;
}

/* Back-to-catalog button on content-list based Prompt Gallery landings. */
.pg-catalog-back-wrap {
    margin: 0 0 .65rem;
}
.pg-catalog-back-wrap .pg-seo-landing__back {
    margin-bottom: 0;
}

