/* =============================
Global Settings
============================= */
body {
    font-family: 'Overpass', sans-serif;
    background-color: #000;
    color: #fff;
    margin: 0;
    padding: 1rem;
    line-height: 1.6;
    text-align: center; /* Ensure all body text is centered by default */
}

a {
    color: #fff;
    text-decoration: none;
}
a:hover {
    color: #ffb6e1;
}

strong, b {
    font-weight: 900; /* ensures bold file is used */
}

/* =============================
Page Titles
============================= */
.page-title, .entry-title {
    display: none !important;
}

/* =============================
Headings
============================= */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Overpass', sans-serif;
    color: #fff;
    line-height: 1.2;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    text-align: center;
}

/* =============================
Paragraphs & Lists
============================= */
p, blockquote, li {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
    text-align: center;
}

@media (max-width: 768px) {
    p, blockquote, li {
        max-width: 100%;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

ul, ol {
    padding-left: 2rem;
    margin-bottom: 1rem;
    text-align: center;
}

/* =============================
Images & Figures
============================= */

/* Default figures */
.wp-block-image {
    display: block;
    margin: 0 auto;
    text-align: center;
    max-width: 100%;
}

.wp-block-image figure {
    display: block;
    margin: 0 auto;
    text-align: center;
    max-width: 100%;
}

/* Default images */
.wp-block-image img,
img {
    display: block;
    height: auto;
    max-width: 100%;
    margin: 0px auto;
}

/* Default captions */
.wp-block-image figcaption,
.wp-element-caption,
.wp-caption {
    display: block;
    margin: 0.5em auto 0.75em auto;
    padding: 0 6px;
    text-align: center;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.3;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* =============================
Rigorous Caption Max Width Fix
============================= */

/* Force figure shrink-wrap to image width */
.wp-block-image figure {
    display: inline-block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: content-box !important;
}

/* Ensure image is block and centered */
.wp-block-image figure img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0px auto !important;
}

/* Force captions to never exceed sibling image width or 1200px */
.wp-block-image figure figcaption,
.wp-element-caption,
.wp-caption {
    display: block !important;
    width: 100% !important;
    max-width: 700px !important;
    box-sizing: border-box !important;
    margin: 0.5em auto 1rem auto !important;
    padding: 0 16px !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    color: #fff !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
}

/* Wide/full images remain full width if necessary */
.wp-block-image.alignfull,
.wp-block-image.alignwide {
    width: 100% !important;
    max-width: 100% !important;
}

/* =============================
Alignments
============================= */

/* Center */
.wp-block-image.aligncenter {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Left/Right -> force center */
.wp-block-image.alignleft,
.wp-block-image.alignright {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Alignwide */
.wp-block-image.alignwide {
    max-width: 1006px !important;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.wp-block-image.alignwide img {
    width: 100%;
    max-width: 1006px;
    height: auto;
    margin: 0 auto;
}
.wp-block-image.alignwide figcaption {
    max-width: 500px !important;
}

/* Alignfull */
.wp-block-image.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.wp-block-image.alignfull img {
    width: 100%;
    max-width: 100vw;
    height: auto;
    margin: 0;
}
.wp-block-image.alignfull figcaption {
    width: 50%;
    max-width: 500px !important;
    margin-left: auto;
    margin-right: auto;
}

/* =============================
Responsive Adjustments
============================= */
@media (max-width: 1208px) {
    body {
        padding: 0.75rem;
    }
    p, blockquote, li, ul, ol {
        text-align: center !important;
    }
    .wp-caption, .wp-element-caption {
        font-size: 0.8rem;
        padding: 3px 5px;
    }
    .wp-block-image.alignwide,
    .wp-block-image.alignfull {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* =============================
Typography weight tweak
============================= */
body, p, blockquote, li, h1, h2, h3, h4, h5, h6 {
    font-weight: 349;
}

/* =============================
Top Full-Width Image Flush to Top
============================= */
.wp-block-image.alignfull:first-of-type {
    margin-top: 0 !important;
}
.wp-block-image.alignfull:first-of-type img {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    margin: 0 !important;
}

/* =============================
Slight Top Padding for All Images Except Top Full
============================= */
.wp-block-image:not(.alignfull):not(:first-of-type),
.wp-block-image.alignfull:not(:first-of-type) {
    padding-top: 7px !important;
}

/* =============================
Non-Full Images Horizontal Padding
============================= */
.wp-block-image:not(.alignfull) {
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
}

/* =============================
Left Text Alignment Override
============================= */
.has-text-align-left {
    text-align: left !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 800px;
}

html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.wp-block-image.alignfull,
.wp-block-image.alignfull img {
    width: 100% !important;
    max-width: 100% !important;
}

/* =============================
Minimum Text Edge Padding
============================= */
p, blockquote, li, ul, ol, h1, h2, h3, h4, h5, h6 {
    padding-inline: 25px;
    box-sizing: border-box;
}

/* =============================
Prevent Mobile Text Auto-Scaling
============================= */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* =============================
Caption Font Weight Adjustment
============================= */
.wp-block-image figcaption,
.wp-element-caption,
.wp-caption {
    font-weight: 370;
}

/* =============================
Smooth Link Hover Transition
============================= */
a, p {
    transition: color 0.52s ease-in-out;
}

a {
    color: #fff !important;
    text-decoration: none !important;
    transition: color 0.52s ease-in-out !important;
}

a * {
    color: inherit !important;
    transition: color 0.52s ease-in-out !important;
}

a:hover {
    color: #ffb6e1 !important;
}

/* =============================
LOADER STYLES (FINAL INTEGRATED)
============================= */
#loader {
    position: fixed;
    inset: 0; /* top/right/bottom/left = 0 */
    background: black;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    opacity: 1;
    transition: opacity 1.3s ease; /* smooth fade */
}

/* Temporarily remove body padding while loader visible */
body.loader-active {
    padding: 0 !important;
}

#loader img {
    max-width: 40vw;
    max-height: 40vh;
}

/* Trigger fade */
#loader.fade-out {
    opacity: 0;
}

/* Hide completely after fade */
#loader.hidden {
    display: none;
}


