/* ==========================================================================
   TWO AMERICAS — LUMINARIES BOOK
   COMPLETE REPLACEMENT — whole-file paste, replacing the entire existing
   ta-luminaries.css.

   All classes prefixed ta-lum- per project CSS isolation convention.
   Brand tokens: navy #1a2a4a, gold #b8860b, cream #faf8f4,
   near-black #0f0f0f, NC green #1a4a1a.
   ========================================================================== */

.ta-lum-book {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px 80px;
    background: #0f0f0f;
    color: #faf8f4;
}

/* ---- Chapter tabs (TOC) ---- */
.ta-lum-toc {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding-bottom: 24px;
    border-bottom: 1px solid #b8860b;
    margin-bottom: 40px;
}

.ta-lum-toc-btn {
    background: transparent;
    border: 1px solid #b8860b;
    color: #faf8f4;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.15s ease, color 0.15s ease;
}

.ta-lum-toc-btn:hover {
    background: rgba(184, 134, 11, 0.15);
}

.ta-lum-toc-btn.is-active {
    background: #b8860b;
    color: #0f0f0f;
    border-color: #b8860b;
}

.ta-lum-toc-num {
    font-style: italic;
    font-family: Georgia, "Times New Roman", serif;
}

/* ---- Chapter pages (top-level, one per chapter) ---- */
.ta-lum-page {
    display: none;
}
.ta-lum-page.is-active {
    display: block;
}

.ta-lum-chapter-head {
    text-align: center;
    margin-bottom: 32px;
}

.ta-lum-chapter-num {
    display: block;
    font-style: italic;
    color: #b8860b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    margin-bottom: 6px;
}

.ta-lum-chapter-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 400;
    color: #faf8f4;
    margin: 0;
}

.ta-lum-empty {
    text-align: center;
    color: #9a9a9a;
    font-style: italic;
    padding: 60px 0;
}

/* ---- Book nav (Prev / counter / Next) ---- */
.ta-lum-book-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-bottom: 28px;
}

.ta-lum-nav-btn {
    background: transparent;
    border: 1px solid #b8860b;
    color: #b8860b;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.ta-lum-nav-btn:hover:not(:disabled) {
    background: #b8860b;
    color: #0f0f0f;
}

.ta-lum-nav-btn:disabled {
    opacity: 0.3;
    cursor: default;
}

.ta-lum-page-counter {
    font-size: 13px;
    color: #d4c9b0;
    min-width: 60px;
    text-align: center;
}

/* ---- The flipbook itself ---- */
.ta-lum-flipbook {
    position: relative;
    perspective: 1800px;
    min-height: 400px;
}

.ta-lum-single-page {
    display: none;
    background: #16161a;
    border: 1px solid rgba(184, 134, 11, 0.35);
    border-radius: 6px;
    padding: 36px 40px 44px;
}

.ta-lum-single-page.is-active {
    display: block;
}

.ta-lum-single-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    margin-bottom: 22px;
}

.ta-lum-single-year {
    text-align: center;
    color: #b8860b;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.ta-lum-single-name {
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    font-weight: 700;
    color: #faf8f4;
    margin: 0 0 22px;
}

.ta-lum-single-achievement {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 24px;
    font-size: 15px;
    line-height: 1.65;
    color: #d4c9b0;
}

.ta-lum-single-bio {
    max-width: 680px;
    margin: 0 auto 28px;
    font-size: 15px;
    line-height: 1.7;
    color: #e8e4da;
}
.ta-lum-single-bio p {
    margin: 0 0 16px;
}

.ta-lum-single-sources {
    max-width: 680px;
    margin: 0 auto 24px;
    border-top: 1px solid rgba(184, 134, 11, 0.3);
    padding-top: 16px;
}

.ta-lum-sources-label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #b8860b;
    margin-bottom: 10px;
}

.ta-lum-single-sources ul {
    margin: 0;
    padding-left: 18px;
    font-size: 12.5px;
    line-height: 1.6;
    color: #9a9a9a;
}
.ta-lum-single-sources li {
    margin-bottom: 6px;
}

.ta-lum-single-pdf {
    display: block;
    text-align: center;
    color: #b8860b;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    margin-top: 10px;
}
.ta-lum-single-pdf:hover {
    text-decoration: underline;
}

/* ---- NC Local Lens badge — falls back gracefully if ta-nc-lens-badge.php
   isn't loaded; this just styles whatever markup ta_render_nc_lens_badge()
   outputs, scoped inside a single-page article. ---- */
.ta-lum-single-page [class*="nc-lens"],
.ta-lum-single-page [class*="nc_lens"],
.ta-lum-single-page [class*="nc-badge"] {
    max-width: 680px;
    margin: 0 auto 24px;
    border-left: 3px solid #1a4a1a;
    background: rgba(26, 74, 26, 0.12);
    padding: 12px 16px;
}

/* ---- Flip animation — bound DIRECTLY to the classes that actually get
   toggled (.ta-lum-page for chapter switches, .ta-lum-single-page for
   flipbook page turns). This is the fix for the earlier bug where the
   card/bio flip reused these classes without a matching animation binding,
   so animationend never fired and panels got stuck double-visible. ---- */
@keyframes taLumFlipOut {
    0%   { transform: rotateY(0deg);   opacity: 1; }
    100% { transform: rotateY(-90deg); opacity: 0; }
}
@keyframes taLumFlipIn {
    0%   { transform: rotateY(90deg);  opacity: 0; }
    100% { transform: rotateY(0deg);   opacity: 1; }
}

.ta-lum-page.is-flipping-out,
.ta-lum-single-page.is-flipping-out {
    display: block;
    animation: 0.5s ease 0s 1 normal forwards running taLumFlipOut;
}

.ta-lum-page.is-flipping-in,
.ta-lum-single-page.is-flipping-in {
    display: block;
    animation: 0.5s ease 0s 1 normal forwards running taLumFlipIn;
}

/* Mobile */
@media (max-width: 640px) {
    .ta-lum-chapter-title { font-size: 26px; }
    .ta-lum-single-page { padding: 24px 20px 30px; }
    .ta-lum-single-name { font-size: 22px; }
}
/* ==========================================================================
   TWO AMERICAS — NC LOCAL LENS BADGE
   Append this ENTIRE block to the END of ta-luminaries.css.

   Styles the .ta-lum-nc-badge markup output by ta_render_nc_lens_badge()
   in ta-nc-lens-badge.php. This is more specific than (and will override)
   the generic [class*="nc-badge"] fallback already in ta-luminaries.css,
   so both can coexist safely.
   ========================================================================== */

.ta-lum-nc-badge {
    max-width: 680px;
    margin: 0 auto 24px;
    background: rgba(26, 74, 26, 0.14);
    border-left: 3px solid #1a4a1a;
    border-radius: 4px;
    padding: 14px 18px;
}

.ta-lum-nc-badge-inner {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ta-lum-nc-badge-svg {
    width: 64px;
    height: 32px;
    flex-shrink: 0;
    fill: #3a7a3a;
    opacity: 0.85;
}

.ta-lum-nc-badge-text {
    flex: 1;
}

.ta-lum-nc-badge-eyebrow {
    display: block;
    font-size: 10.5px;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #5fae5f;
    text-transform: uppercase;
    margin-bottom: 3px;
}

.ta-lum-nc-badge-city {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 700;
    color: #faf8f4;
    margin-bottom: 4px;
}

.ta-lum-nc-badge-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #d4c9b0;
}

@media (max-width: 640px) {
    .ta-lum-nc-badge-inner { flex-direction: column; align-items: flex-start; }
    .ta-lum-nc-badge-svg { width: 56px; height: 28px; }
}