/* ==========================================================================
   Single CPT — Shared Layout
   Used by single-podcast.php, single-message.php, and future CPT singles.
   Modifier classes (e.g. .rw-single-podcast) handle per-type tweaks.
   ========================================================================== */

.rw-single-cpt-grid {
    max-width:             1220px;
    margin:                auto;
    padding:               60px 20px;
    display:               grid;
    grid-template-columns: 1fr 360px;
    gap:                   40px;
    align-items:           start;
}

/* ==========================================================================
   Content Column
   ========================================================================== */

.rw-single-cpt__content {
    display:        flex;
    flex-direction: column;
    gap:            0;
    min-width:      0; /* prevent grid blowout */
}

/* ==========================================================================
   Video Embed
   ========================================================================== */

.rw-single-cpt__video {
    position:       relative;
    padding-bottom: 56.25%; /* 16:9 */
    height:         0;
    overflow:       hidden;
    border-radius:  var( --rw-corners );
    margin-bottom:  20px;
}

.rw-single-cpt__video iframe {
    position: absolute;
    top:      0;
    left:     0;
    width:    100%;
    height:   100%;
}

/* ==========================================================================
   Transistor Embed
   ========================================================================== */

.rw-single-cpt__transistor {
    margin-bottom:  20px;
    border-radius:  var( --rw-corners );
    overflow:       hidden;
}

.rw-single-cpt__transistor iframe {
    display: block;
}

/* ==========================================================================
   Term Labels
   ========================================================================== */

.rw-single-cpt__terms {
    display:     flex;
    flex-wrap:   wrap;
    align-items: center;
    gap:         6px;
    margin-bottom: 10px;
}

.rw-single-cpt__term {
    color:           var( --rw-primary );
    font-weight:     600;
    text-decoration: none;
    font-size:       0.9rem;
}

.rw-single-cpt__term:hover {
    text-decoration: none;
    color: var(--rw-secondary);
}

.rw-single-cpt__term:focus {
    text-decoration: none;
    color: var( --rw-primary );
}

.rw-single-cpt__term-sep {
    color: #000;
}

/* ==========================================================================
   Title
   ========================================================================== */

.rw-single-cpt-grid h1,
.rw-single-cpt__title {
    font-size:   50px;
    font-weight: 700;
    line-height: 1.1;
    margin:      0 0 15px;
}

/* ==========================================================================
   Meta Row
   ========================================================================== */

.rw-single-cpt__meta {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            8px;
    font-size:      18px;
    margin:         0 0 20px;
    letter-spacing: 1px;
    color:          #000;
}

.rw-single-cpt__meta-sep {
    color: #ccc;
}

/* ==========================================================================
   Body Content
   ========================================================================== */

.rw-single-cpt__body {
    font-size:   1rem;
    line-height: 1.7;
}

.rw-single-cpt__body p {
    margin-bottom: 1em;
}

ul.related-resources__links {
    padding: 0;
    margin: 10px 0 0 0;
    list-style: none;
    display: flex;
    gap: 30px;
    font-weight: 600;
}

ul.related-resources__links li a, ul.related-resources__links li a:focus {
    color: var(--rw-primary);
    text-decoration: none;
}

ul.related-resources__links li a:hover {
    color: var(--rw-secondary);
    text-decoration: none;
}

/* ==========================================================================
   Sidebar
   ========================================================================== */

.rw-single-cpt__sidebar {
    position: sticky;
    top:      225px;
}

/* ==========================================================================
   Related Slider Section
   ========================================================================== */

.rw-single-cpt__related {
    padding: 60px 20px;
}

.rw-single-cpt__related-header {
    margin-bottom: 30px;
}

.rw-single-cpt__related-header h2 {
    margin: 0;
}

/* ==========================================================================
   Podcast-specific tweaks
   ========================================================================== */

.rw-single-podcast .rw-widget-podcast-listen {
    /* any podcast listen sidebar tweaks go here */
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media ( max-width: 1024px ) {
    .rw-single-cpt-grid {
        grid-template-columns: 1fr 300px;
        gap:                   30px;
    }

    .rw-single-cpt-grid h1,
    .rw-single-cpt__title {
        font-size: 38px;
    }
}

@media ( max-width: 992px ) {
    .rw-single-cpt-grid {
        grid-template-columns: 1fr;
        padding:               40px 20px;
    }

    .rw-single-cpt__sidebar {
        position: static;
    }

    .rw-single-cpt-grid h1,
    .rw-single-cpt__title {
        font-size: 30px;
    }

    .rw-single-cpt__meta {
        font-size: 15px;
    }
}