/* SWC Archive — site-wide rules loaded on every front-end page (wp_head 102, after the Customizer CSS).
   Footer disclaimer: the copyright line and the trademark/fair-use paragraph were stretching the full
   width of the footer on wide screens. Constrain and tighten them, consistently on every page type. */

.site-footer .footer-html-inner {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.site-footer .footer-html p {
    margin: 0 0 8px;
    font-size: 0.82rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.62) !important;
}

.site-footer .footer-html p:last-child {
    margin-bottom: 0;
}

/* First line is the © line: give it a little more presence than the legal text */
.site-footer .footer-html-inner > p:first-child {
    font-size: 0.9rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 10px;
}

.site-footer .footer-html b,
.site-footer .footer-html strong {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 640px) {
    .site-footer .footer-html-inner {
        max-width: 100%;
        padding: 0 6px;
    }
    .site-footer .footer-html p {
        font-size: 0.78rem;
        line-height: 1.5;
    }
}

/* ---- Site dark --------------------------------------------------------------------------------
   One value for every dark surface (page gradients start and end on it, the footer and the theme shell
   are painted with it). Two near-identical darks (#020617 / #020817) used to meet at the footer edge. */
:root {
    --swc-bg: #020617;
    /* One link / button blue for every light surface (names, panel titles, active tabs and filters,
       icons, adjusted prices). Follows the Kadence palette: palette1 #2B6CB0, palette2 #215387. */
    --swc-blue: var(--global-palette1, #2b6cb0);
    --swc-blue-hover: var(--global-palette2, #215387);
    --swc-blue-soft: rgba(43, 108, 176, 0.08);
    --swc-blue-line: rgba(43, 108, 176, 0.28);
}

/* ---- Star field ----------------------------------------------------------------------
   The dark panels (page backgrounds, heroes, the guest frame, the footer) were meant to sit on a
   scattered star field, but each one used two repeating radial-gradient dots on 48/78 px tiles,
   which reads as a regular grid. These rules swap every one of those layers for one shared tile
   (assets/img/starfield.svg: ~340 stars, random positions, varied size and brightness, a few with a
   soft halo) on a 1600×1200 tile so repetition is not visible. Each element keeps its own opacity. */
.swc-guest-profile-inner::before,
.swc-homepage-v1:before,
.swc-home-hero:before, .swc-home-gateway:before,
.single-guest .swc-guest-page-frame::before,
.swc-celebration-archive-v2:before,
.swc-ca-hero:before,
.swc-guest-archive-v1:before,
.swc-panel-archive::before,
.swc-ga-hero:before, .swc-ga-featured:before,
.swc-dashboard-v5:before,
.swc-dashboard-v5-hero:before,
.swc-panel-v4-hero::before, .swc-panel-v4-guest-spotlight::before,
.single-guest .entry-content::before,
.site-footer:before {
    background-image: url("../img/starfield.svg");
    background-size: 1600px 1200px;
    background-repeat: repeat;
    background-position: 0 0;
}
/* Offset a few layers so nested panels don't show the same stars twice */
.swc-dashboard-v5-hero:before,
.swc-home-hero:before, .swc-home-gateway:before,
.swc-ca-hero:before,
.swc-ga-hero:before, .swc-ga-featured:before,
.swc-panel-v4-hero::before, .swc-panel-v4-guest-spotlight::before,
.swc-guest-profile-inner::before {
    background-position: 613px 377px;
}
.site-footer:before {
    background-position: 1021px 211px;
}

/* ---- Footer: let the star field show through and run continuously from the page ----------------
   The Customizer CSS paints every footer wrapper opaque and stacks them above the footer's ::before
   star layer, so that layer was never visible. Keep the footer itself dark, make every inner wrapper
   (including Kadence's .site-container, which otherwise shows as a starless block) transparent, and
   drop the top border and shadow so page and footer read as one surface. */
.site-footer-wrap,
.site-footer-section,
.site-bottom-footer-wrap,
.site-middle-footer-wrap,
.site-top-footer-wrap,
.site-footer-row-container-inner,
.site-footer .site-container {
    background: transparent !important;
}
.site-footer {
    background: var(--swc-bg) !important;
    box-shadow: none !important;
    border-top: 0 !important;
}
.site-footer:before {
    opacity: 0.3;
}

/* ---- Fade every dark shell into the footer -----------------------------------------------------
   The shells use 135deg gradients, so their bottom edge is not one colour and a faint step showed
   where each met the flat footer. An inset shadow (painted with the background, under the stars)
   eases the last ~200px to the site dark. */
.swc-homepage-v1,
.swc-celebration-archive-v2,
.swc-guest-archive-v1,
.swc-dashboard-v5,
.swc-panel-v4,
.single-guest .swc-guest-page-frame {
    box-shadow: inset 0 -220px 160px -120px var(--swc-bg);
}

/* ---- Theme shell on the single pages ------------------------------------------------------------
   The Customizer paints body/header/footer of single celebration, guest and panel pages in the old
   dark; repaint the page shell with the site dark so the band between a shell and the footer matches. */
body.single-celebration, body.single-guest, body.single-panel,
.single-celebration .site, .single-guest .site, .single-panel .site,
.single-celebration .content-area, .single-guest .content-area, .single-panel .content-area,
.single-celebration .site-main, .single-guest .site-main, .single-panel .site-main,
.single-celebration .content-bg, .single-guest .content-bg, .single-panel .content-bg,
.single-celebration .entry-content-wrap, .single-guest .entry-content-wrap, .single-panel .entry-content-wrap {
    background-color: var(--swc-bg) !important;
}

/* ---- Dark shell on the shortcode pages (home, celebration archive, guests archive) --------------
   Kadence's page shell was white under/around these dark layouts, leaving a white strip above the
   footer. Paint the shell the site's dark colour so page and footer are one continuous surface. */
body.swc-dark-shell,
.swc-dark-shell .site,
.swc-dark-shell .content-area,
.swc-dark-shell .site-main,
.swc-dark-shell .content-bg,
.swc-dark-shell .entry-content-wrap,
.swc-dark-shell .site-container {
    background: var(--swc-bg) !important;
}

/* ---- Plain text pages (About…): body.swc-text-page from site/assets.php. One reading column on the dark
   shell, headings in white and the homepage gold, matching the By the Numbers pages. ---- */
body.swc-text-page .content-area {
    background: url("../img/starfield.svg") 0 0 / 1600px 1200px repeat, var(--swc-bg) !important;
    padding: 48px 22px 72px;
}
body.swc-text-page .content-container,
body.swc-text-page .site-main,
body.swc-text-page .content-bg,
body.swc-text-page .entry-content-wrap {
    background: transparent !important;
}
/* The card: the By the Numbers hero card's gradient, with its own offset star layer. */
body.swc-text-page .entry-content {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 56px);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 24px;
    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.55) 0%, rgba(2, 6, 23, 0.35) 48%, rgba(2, 6, 23, 0.6) 100%),
        linear-gradient(135deg, #0b1830 0%, #10284a 54%, #0c1f3a 100%);
    box-shadow: 0 22px 60px rgba(4, 12, 24, 0.24);
    color: #cbd5e1;
    font-size: 1.05rem;
    line-height: 1.7;
}
body.swc-text-page .entry-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url("../img/starfield.svg") 613px 377px / 1600px 1200px repeat;
    opacity: 0.22;
}
body.swc-text-page .entry-content > :last-child { margin-bottom: 0; }
body.swc-text-page .entry-content h1 {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(2.1rem, 5vw, 3.2rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    text-wrap: balance;
}
body.swc-text-page .entry-content h1 + p {
    margin-bottom: 8px;
    color: #f8fafc;
    font-size: 1.18rem;
    line-height: 1.6;
}
body.swc-text-page .entry-content h2 {
    margin: 44px 0 12px;
    color: #f6c84c;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
body.swc-text-page .entry-content p { margin: 0 0 16px; }
body.swc-text-page .entry-content ul { margin: 0 0 16px; padding: 0; list-style: none; }
body.swc-text-page .entry-content li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 22px;
}
body.swc-text-page .entry-content li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.68em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #f6c84c;
}
body.swc-text-page .entry-content a {
    color: #60a5fa;
    font-weight: 600;
    text-decoration: none;
}
body.swc-text-page .entry-content a:hover,
body.swc-text-page .entry-content a:focus-visible { color: #fff; text-decoration: underline; }
@media (max-width: 640px) {
    body.swc-text-page .content-area { padding: 24px 12px 48px; }
    body.swc-text-page .entry-content { padding: 28px 20px; border-radius: 18px; font-size: 1rem; }
    body.swc-text-page .entry-content h1 + p { font-size: 1.08rem; }
}

/* ---- Badge trim on the light cards (home, celebration, guest and panel pages, both archive directories) ----
   The News sheet's frame (theme badge.css): a gold hairline, kept with each card's own drop shadow. The last light card on the page ends with the theme's logo strip (.swc-badge-foot, printed by
   swc_archive_badge_foot(); the guest and panel archive directories too); --pad-x and --sheet-radius tell the strip the card's padding and corner radius so it
   runs edge to edge and rounds with the card. Cards are spaced at least 26 px apart so the rings do not touch. */
.swc-home-latest,
.swc-home-planning,
.swc-dashboard-v5-highlights,
.swc-dashboard-v5-main-panel,
.swc-dashboard-v5-deep,
.single-guest .swc-guest-archive-wrap,
.swc-panel-v4-guest-spotlight,
.swc-panel-v4-body,
.swc-ga-directory,
.swc-pa-directory,
.swc-ca-events-section {
    box-shadow: 0 0 0 2px #f6c84c, 0 26px 70px rgba(0, 0, 0, 0.28);
}
.swc-home-latest,
.swc-home-planning { --pad-x: 26px; --sheet-radius: 26px; }
.swc-dashboard-v5-main-panel { --pad-x: 0px; --sheet-radius: 20px; }
.swc-ga-directory,
.swc-pa-directory { --pad-x: 26px; --sheet-radius: 26px; }
.swc-ca-events-section { --pad-x: 24px; --sheet-radius: 24px; }
.swc-dashboard-v5-deep { --pad-x: 26px; --sheet-radius: 20px; }
.single-guest .swc-guest-archive-wrap,
.swc-panel-v4-guest-spotlight,
.swc-panel-v4-body { --pad-x: 22px; --sheet-radius: 28px; }

.swc-dashboard-v5-hero { margin-bottom: 26px; }
.single-guest .swc-guest-page-frame > .swc-guest-archive-wrap { margin-top: 26px !important; }
.swc-panel-v4-guest-spotlight,
.swc-panel-v4-body { margin-top: 26px; }

/* The card that holds the strip loses its bottom padding: the strip closes it. */
:is(.swc-home-planning, .swc-dashboard-v5-main-panel, .swc-dashboard-v5-deep, .swc-guest-archive-wrap, .swc-panel-v4-guest-spotlight, .swc-panel-v4-body, .swc-ga-directory, .swc-pa-directory, .swc-ca-events-section):has(> .swc-badge-foot) {
    padding-bottom: 0 !important;
}
.swc-home-planning > .swc-badge-foot,
.swc-panel-v4-body > .swc-badge-foot { grid-column: 1 / -1; margin-top: 2px; }
.swc-dashboard-v5-main-panel > .swc-badge-foot { margin-top: 0; }
.swc-badge-foot { position: relative; z-index: 1; }

@media (max-width: 640px) {
    .swc-home-latest,
    .swc-home-planning,
    .swc-ga-directory { --pad-x: 18px; --sheet-radius: 22px; }
}
@media (max-width: 860px) {
    .swc-dashboard-v5-deep { --pad-x: 16px; --sheet-radius: 16px; }
}
@media (max-width: 760px) {
    .single-guest .swc-guest-archive-wrap { --pad-x: 16px; --sheet-radius: 22px; }
}
@media (max-width: 700px) {
    .swc-panel-v4-guest-spotlight,
    .swc-panel-v4-body { --sheet-radius: 22px; }
}
@media (max-width: 600px) {
    .swc-pa-directory { --pad-x: 18px; --sheet-radius: 20px; }
}
