/* ==========================================================================
 * RankwellPress — PAGE LAYOUT (Flexible Grid)
 * ========================================================================== */

.rankwellpress-page-layout * { box-sizing: border-box; }

.rankwellpress-page-layout {
    display: grid;
    gap: 30px;
    margin: 30px 0;
    align-items: start;
}

.rankwellpress-page-header {
    margin-bottom: var(--rw-space-5, 1.5rem);
    padding-bottom: var(--rw-space-3, 0.75rem);
    border-bottom: 2px solid var(--rw-border-light, #e5e7eb);
}

.rankwellpress-page-title {
    font-size: clamp(24px, 4vw, 36px);
    font-weight: 700;
    color: var(--rw-text-heading, #111827);
    margin: 0;
    line-height: 1.2;
}

.rankwellpress-page-featured-image {
    margin-bottom: var(--rw-space-5, 1.5rem);
    border-radius: var(--rw-radius-lg, 12px);
    overflow: hidden;
    box-shadow: var(--rw-shadow-sm, 0 1px 3px rgba(0,0,0,0.06));
}

.rankwellpress-page-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

.rankwellpress-page-content {
    overflow-wrap: break-word;
    word-wrap: break-word;
    color: var(--rw-text-body, #4b5563);
    line-height: 1.7;
}

.rankwellpress-page-content img,
.rankwellpress-page-content iframe,
.rankwellpress-page-content video {
    max-width: 100% !important;
    height: auto;
}

.rankwellpress-page-links {
    margin-top: 30px;
    padding: 15px 0;
    border-top: 1px solid var(--rw-border-light, #e5e7eb);
}

@media (min-width: 769px) {
    .rankwellpress-page-layout.has-sidebar-right {
        grid-template-columns: minmax(0, 1fr) var(--rw-sidebar-width, 320px);
        grid-template-areas: "content sidebar";
    }
    .rankwellpress-page-layout.has-sidebar-left {
        grid-template-columns: var(--rw-sidebar-width, 320px) minmax(0, 1fr);
        grid-template-areas: "sidebar content";
    }
    .rankwellpress-page-layout.has-sidebar-none {
        grid-template-columns: minmax(0, 800px);
        justify-content: center;
        grid-template-areas: "content";
    }
    .rankwellpress-page-main { grid-area: content; min-width: 0; }
    .rankwellpress-page-sidebar {
        grid-area: sidebar;
        min-width: 0;
        position: sticky;
        top: 90px;
    }
}

@media (max-width: 768px) {
    .rankwellpress-page-layout {
        grid-template-columns: 1fr;
        grid-template-areas: "content" "sidebar";
    }
    .rankwellpress-page-main { grid-area: content; min-width: 0; }
    .rankwellpress-page-sidebar { grid-area: sidebar; width: 100%; position: static; margin-top: 40px; }
}



/* ==========================================================================
 * Tables inside page content (bulletin / profile tables)
 * ========================================================================== */

.rankwellpress-page-content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.95rem;
    line-height: 1.5;
    display: table; /* prevent theme from forcing block */
}

.rankwellpress-page-content th,
.rankwellpress-page-content td {
    padding: 10px 14px;
    border: 1px solid var(--rw-border-light, #e5e7eb);
    text-align: left;
    vertical-align: top;
    overflow-wrap: break-word;
    word-break: normal;
}

.rankwellpress-page-content th {
    background-color: var(--rw-bg-subtle, #f9fafb);
    font-weight: 600;
    color: var(--rw-text-heading, #111827);
}

.rankwellpress-page-content tbody tr:nth-child(even) {
    background-color: var(--rw-bg-subtle, #f9fafb);
}

.rankwellpress-page-content tbody tr:hover {
    background-color: var(--rw-bg-hover, #f3f4f6);
}

/* Responsive wrapper — wrap tables in <div class="rw-table-wrap"> if they're wide */
.rw-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
}

.rw-table-wrap table {
    margin: 0;
    min-width: 600px; /* forces scroll instead of squishing on mobile */
}

/* Mobile: let tables scroll instead of breaking layout */
@media (max-width: 768px) {
    .ranknewsng-page-content table,
    .rankwellpress-page-content table {
        font-size: 0.85rem;
    }
    .rankwellpress-page-content th,
    .rankwellpress-page-content td {
        padding: 8px 10px;
    }
}