/* NWFR public page shells: one inset + sidebar top alignment.
   Linked from Views/Shared/_Layout.cshtml after style.css.
   Home hero / showcases are not content+sidebar shells and are left alone. */

.nwfr-site {
    --nwfr-page-pad-top: 4px;
    --nwfr-page-pad-x: 8px;
    --nwfr-page-pad-bottom: 32px;
    --nwfr-page-section-pad-top: 32px;
    --nwfr-page-section-pad-bottom: 48px;
}

/* Layout already offsets the sticky header with .col-lg-12.mt--70.
   Theme rainbow-section-gap adds another 70px. Tighten content shells
   so listing and detail pages start at the same height as Report Details. */
.nwfr-site .rainbow-blog-area.rainbow-section-gap,
.nwfr-site .rainbow-blog-section.rainbow-section-gap {
    padding-top: var(--nwfr-page-section-pad-top) !important;
    padding-bottom: var(--nwfr-page-section-pad-bottom) !important;
}

.nwfr-site .rainbow-blog-area.rainbow-section-gapTop,
.nwfr-site .rainbow-blog-section.rainbow-section-gapTop {
    padding-top: var(--nwfr-page-section-pad-top) !important;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .nwfr-site {
        --nwfr-page-section-pad-top: 24px;
        --nwfr-page-section-pad-bottom: 36px;
    }
}

@media only screen and (max-width: 767px) {
    .nwfr-site {
        --nwfr-page-section-pad-top: 20px;
        --nwfr-page-section-pad-bottom: 28px;
    }
}

/* Content + sidebar rows: keep the rail at the top of the main column. */
.nwfr-site .rainbow-blog-area > .container > .row,
.nwfr-site .rainbow-blog-section > .container > .row {
    align-items: flex-start;
}

/* Main detail card: same tight inset as Report Details.
   Beats style.css `.rainbow-blog-details-area { padding: 40px 20px !important }`. */
.nwfr-site .rainbow-blog-details-area {
    display: block;
    padding: var(--nwfr-page-pad-top) var(--nwfr-page-pad-x) var(--nwfr-page-pad-bottom) !important;
}

/* Title through body share the card edge. */
.nwfr-site .rainbow-blog-details-area > :first-child,
.nwfr-site .rainbow-blog-details-area .post-page-banner,
.nwfr-site .rainbow-blog-details-area .post-page-banner .content,
.nwfr-site .rainbow-blog-details-area .post-page-banner .content .title,
.nwfr-site .rainbow-blog-details-area .post-page-banner h3.title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.nwfr-site .rainbow-blog-details-area .post-page-banner,
.nwfr-site .rainbow-blog-details-area .post-page-banner .content,
.nwfr-site .rainbow-blog-details-area .post-page-banner h3.title,
.nwfr-site .rainbow-blog-details-area .post-page-banner .rainbow-meta-list,
.nwfr-site .rainbow-blog-details-area .blog-details-content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Direct card sections (body, photos, Hot Spots, comments) share that inset. */
.nwfr-site .rainbow-blog-details-area > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nwfr-site .rainbow-blog-details-area .section-title,
.nwfr-site .rainbow-blog-details-area .section-title > .title {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Nested AiWave/Bootstrap containers inside the card add a second gutter. */
.nwfr-site .rainbow-blog-details-area .container {
    width: 100%;
    max-width: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nwfr-site .rainbow-blog-details-area .container > .row {
    --bs-gutter-x: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.nwfr-site .rainbow-blog-details-area .container > .row > .col-lg-12,
.nwfr-site .rainbow-blog-details-area .container > .row > .col-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Direct content rows (Report Details meta, area facts) share the card inset.
   Photo grids nested under .content keep their column gutters. */
.nwfr-site .rainbow-blog-details-area > .blog-details-content > .row,
.nwfr-site .rainbow-blog-details-area > .post-page-banner > .row {
    --bs-gutter-x: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.nwfr-site .rainbow-blog-details-area > .blog-details-content > .row > [class*="col-"],
.nwfr-site .rainbow-blog-details-area > .post-page-banner > .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nwfr-site .rainbow-blog-details-area .blog-details-content {
    padding-top: 12px !important;
}

/* Listing / hub headers in the main column: no extra .content inset. */
.nwfr-site .rainbow-blog-area > .container > .row > [class*="col-lg-8"] > .section-title:first-child,
.nwfr-site .rainbow-blog-section > .container > .row > [class*="col-lg-8"] > .section-title:first-child,
.nwfr-site .rainbow-blog-area > .container > .row > [class*="col-lg-12"] > .section-title:first-child,
.nwfr-site .rainbow-blog-section > .container > .row > [class*="col-lg-12"] > .section-title:first-child {
    margin-top: 0;
    padding-top: 0;
}

.nwfr-site .rainbow-blog-area .section-title > .content,
.nwfr-site .rainbow-blog-section .section-title > .content,
.nwfr-site .rainbow-blog-area .section-title > .content .title,
.nwfr-site .rainbow-blog-section .section-title > .content .title,
.nwfr-site .rainbow-blog-area .section-title:first-child h3.title,
.nwfr-site .rainbow-blog-section .section-title:first-child h3.title {
    margin-top: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Desktop: sidebar top matches the main column. Neutralize theme utilities
   (mt_md--40, mt_sm--40, first-widget mt--40) without editing each view.
   Stacked (sub-lg) pages keep a small gap between main and rail. */
@media only screen and (min-width: 992px) {
    .nwfr-site .rainbow-blog-area > .container > .row > [class*="col-lg-4"],
    .nwfr-site .rainbow-blog-section > .container > .row > [class*="col-lg-4"] {
        margin-top: 0 !important;
        padding-top: 0;
    }

    .nwfr-site .rainbow-sidebar,
    .nwfr-site .col-lg-4 > aside.rainbow-sidebar {
        margin-top: 0 !important;
        padding-top: 0;
    }

    .nwfr-site .rainbow-sidebar > :first-child,
    .nwfr-site .col-lg-4 > .rainbow-sidebar:first-child,
    .nwfr-site .col-lg-4 > aside:first-child,
    .nwfr-site .col-lg-4 > .nwfr-ad-placeholder--rail:first-child,
    .nwfr-site .rainbow-sidebar > .rbt-single-widget:first-child,
    .nwfr-site .rainbow-sidebar > .site-search-stub:first-child {
        margin-top: 0 !important;
    }
}

/* HideAdPlaceholders=true: keep ad markup optional but collapse any leftover slots. */
.nwfr-site.nwfr-hide-ad-placeholders .nwfr-ad-ingrid,
.nwfr-site.nwfr-hide-ad-placeholders .nwfr-ad-row,
.nwfr-site.nwfr-hide-ad-placeholders .nwfr-ad-placeholder,
.nwfr-site.nwfr-hide-ad-placeholders .nwfr-ad-slot {
    display: none !important;
}

/* Steel data-field labels (Species, Time, State, Views, etc.).
   Same color/weight as Report Details .report-meta-label.
   Only labels: do not restyle links (Spark) or body copy. */
.nwfr-site .report-meta-label,
.nwfr-site .nwfr-meta-label {
    color: #4A86AB;
    font-weight: 700;
}

/* Listing cards: <span><strong>Label:</strong> value</span> */
.nwfr-site .rainbow-pricing .pricing-header .subtitle > span > strong,
.nwfr-site .rainbow-pricing .subtitle > span > strong,
.nwfr-site .video-row-meta > span > strong,
.nwfr-site .fishpic-meta > strong,
.nwfr-site .create-report-hs-coords strong {
    color: #4A86AB;
    font-weight: 700;
}

/* Detail / create-preview meta rows and related-tile captions */
.nwfr-site .rainbow-blog-details-area .row [class*="col-"] > span > strong,
.nwfr-site .blog-details-content .row [class*="col-"] > span > strong,
.nwfr-site .blog-details-content [class*="col-"] > span > strong,
.nwfr-site #preview-hotspot-list > p > strong {
    color: #4A86AB;
    font-weight: 700;
}

/* Comments are the last block in the details card: sit tight under Submit. */
.nwfr-site .rainbow-blog-details-area:has(.report-comments-section),
.nwfr-site .rainbow-blog-details-area:has(.report-comments-wrap) {
    padding-bottom: 8px !important;
}

.nwfr-site .report-comments-wrap,
.nwfr-site .report-comments-section,
.nwfr-site #composeDock {
    margin-bottom: 0;
    padding-bottom: 0;
}
