/* Phase 2: Generator content model + archive presentation */
.rngw-single-generator .site-content,
.rngw-generator-archive .site-content {
    display: block;
}

.rngw-single-generator .content-area,
.rngw-generator-archive .content-area {
    width: 100%;
}

.rngw-single-generator .entry-meta,
.rngw-single-generator .post-image,
.rngw-single-generator .featured-image,
.rngw-single-generator .comments-area {
    display: none;
}

.rngw-generator-experience {
    margin-top: 8px;
}

.rngw-generator-article {
    max-width: 920px;
    margin: clamp(42px, 6vw, 76px) auto 0;
    color: #28384b;
    font-size: 1.05rem;
    line-height: 1.8;
}

.rngw-generator-article > :first-child {
    margin-top: 0;
}

.rngw-generator-article h2,
.rngw-generator-article h3 {
    color: #122033;
    line-height: 1.25;
}

.rngw-generator-article h2 {
    margin-top: 2.2em;
}

.rngw-related {
    width: 100%;
    margin: clamp(48px, 6vw, 78px) auto 0;
    padding-top: clamp(28px, 4vw, 44px);
    border-top: 1px solid #e7dfd2;
}

.rngw-section-heading {
    margin-bottom: 22px;
}

.rngw-section-heading .rngw-kicker {
    display: block;
    margin-bottom: 5px;
}

.rngw-section-heading h2 {
    margin: 0;
    color: #122033;
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    line-height: 1.15;
}

.rngw-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.rngw-related-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 96px;
    padding: 16px 18px;
    border: 1px solid #e7dfd2;
    border-radius: 16px;
    background: linear-gradient(145deg, #fffefa 0%, #fbf7f0 100%);
    color: #122033;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(20, 31, 49, .05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.rngw-related-card:hover,
.rngw-related-card:focus-visible {
    transform: translateY(-2px);
    border-color: #d6bd91;
    box-shadow: 0 14px 32px rgba(20, 31, 49, .09);
    color: #122033;
}

.rngw-related-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #122033;
    color: #e8d4a9;
    font-size: 13px;
}

.rngw-related-copy {
    min-width: 0;
}

.rngw-related-copy strong,
.rngw-related-copy small {
    display: block;
}

.rngw-related-copy strong {
    margin-bottom: 3px;
    font-size: .98rem;
    line-height: 1.25;
}

.rngw-related-copy small {
    color: #677386;
    font-size: .78rem;
    line-height: 1.4;
}

.rngw-related-arrow {
    color: #9f7c44;
    font-size: 1.1rem;
}

.rngw-archive-page {
    min-height: 60vh;
    background: #fff;
}

.rngw-archive-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(70px, 9vw, 118px) 24px clamp(62px, 8vw, 100px);
    background:
        radial-gradient(circle at 78% 8%, rgba(199, 165, 106, .22), transparent 28%),
        linear-gradient(135deg, #0e1c2d 0%, #162b43 58%, #1e3b55 100%);
    color: #fff;
}

.rngw-archive-hero::after {
    content: "";
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: -56px;
    height: 100px;
    border-radius: 50% 50% 0 0;
    background: #fff;
}

.rngw-archive-container {
    position: relative;
    z-index: 1;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.rngw-archive-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    color: #e8d4a9;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.rngw-archive-hero h1 {
    max-width: 820px;
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(2.3rem, 5vw, 4.6rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.rngw-archive-intro {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    line-height: 1.7;
}

.rngw-archive-content {
    width: min(1180px, calc(100% - 40px));
    margin: clamp(42px, 6vw, 72px) auto 80px;
}

.rngw-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.rngw-generator-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 230px;
    padding: 25px;
    overflow: hidden;
    border: 1px solid #e7dfd2;
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(199, 165, 106, .13), transparent 34%),
        #fffdf9;
    color: #122033;
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(20, 31, 49, .06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.rngw-generator-card:hover,
.rngw-generator-card:focus-visible {
    transform: translateY(-4px);
    border-color: #d3b77f;
    box-shadow: 0 22px 48px rgba(20, 31, 49, .11);
    color: #122033;
}

.rngw-generator-card .rngw-card-kicker {
    margin-bottom: 18px;
    color: #9b773e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.rngw-generator-card h2 {
    margin: 0 0 11px;
    color: #122033;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    line-height: 1.18;
}

.rngw-generator-card p {
    margin: 0 0 24px;
    color: #677386;
    font-size: .92rem;
    line-height: 1.58;
}

.rngw-card-link {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    margin-top: auto;
    color: #17324d;
    font-size: .84rem;
    font-weight: 800;
}

.rngw-archive-empty {
    padding: 40px;
    border: 1px solid #e7dfd2;
    border-radius: 20px;
    background: #fffdf9;
    text-align: center;
}

.rngw-archive-pagination {
    margin-top: 38px;
}

.rngw-archive-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.rngw-archive-pagination .page-numbers {
    display: grid;
    min-width: 40px;
    min-height: 40px;
    place-items: center;
    padding: 8px 12px;
    border: 1px solid #e7dfd2;
    border-radius: 10px;
    background: #fff;
    color: #122033;
    text-decoration: none;
}

.rngw-archive-pagination .current {
    border-color: #122033;
    background: #122033;
    color: #fff;
}

@media (max-width: 900px) {
    .rngw-related-grid,
    .rngw-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .rngw-related-grid,
    .rngw-archive-grid {
        grid-template-columns: 1fr;
    }

    .rngw-generator-article {
        font-size: 1rem;
    }

    .rngw-archive-content {
        width: min(100% - 26px, 1180px);
    }

    .rngw-generator-card {
        min-height: 0;
    }
}

/* Temporary compatibility for the cloned Home and Tools pages. */
.rngw-legacy-directory {
    width: 100%;
}

.rngw-legacy-grid {
    display: grid;
    grid-template-columns: repeat(var(--rngw-desktop-cols, 3), minmax(0, 1fr));
    gap: 18px;
}

.rngw-legacy-grid .rngw-generator-card h3 {
    margin: 0 0 11px;
    color: #122033;
    font-size: clamp(1.12rem, 1.7vw, 1.35rem);
    line-height: 1.2;
}

.rngw-legacy-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 24px;
}

.rngw-filter-pill {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 14px;
    border: 1px solid #e7dfd2;
    border-radius: 999px;
    background: #fff;
    color: #33445a;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.rngw-filter-pill:hover,
.rngw-filter-pill:focus-visible,
.rngw-filter-pill.is-active {
    border-color: #122033;
    background: #122033;
    color: #fff;
}

@media (max-width: 900px) {
    .rngw-legacy-grid {
        grid-template-columns: repeat(var(--rngw-tablet-cols, 2), minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .rngw-legacy-grid {
        grid-template-columns: repeat(var(--rngw-mobile-cols, 1), minmax(0, 1fr));
    }
}
