/*
 Theme Name:   Paranormal Travel (GeneratePress Child)
 Template:     generatepress
 Version:      1.1.0
*/

/* =========================================
   1. CORE FONTS & GLOBALS
   ========================================= */
@font-face {
    font-family: 'canterburyregular';
    src: url('fonts/canterbury-webfont.woff2') format('woff2');
    font-weight: normal; font-style: normal;
}
@font-face {
    font-family: '28_days_laterregular';
    src: url('fonts/28_days_later-webfont.woff2') format('woff2');
    font-weight: normal; font-style: normal;
}

/* 1. The True Legacy Body (Color + House combined) */
html, body {
    background-color: #191d1a !important; 
    background-image: url('assets/images/accents/discover-amazing.jpg') !important;
    background-repeat: no-repeat !important;
    background-position: bottom right !important;
    background-attachment: fixed !important;
    background-size: 400px !important;
    color: #ffffff !important;
}

/* 2. Strip the paint off the middle containers so the house shows through */
#page, .site, .wp-site-blocks, .site-content, .entry-content, .site-main, .legacy-footer, .tour-section-container {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Hide default theme navigation and footer bloat */
.wp-block-navigation__container, .wp-block-page-list, .wp-block-template-part {
    display: none !important; 
}

/* Remove the div we created earlier since it's now on the body */
.site-background-anchor {
    display: none;
}

/* =========================================
   2. MIDDLE SECTION ACCENTS (BAT & HOUSE)
   ========================================= */
.legacy-middle-section { max-width: 1000px; margin: 80px auto; padding: 0 20px; }
.discover-container { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.discover-text { flex: 1; color: #40c0aa; font-size: 1.1rem; line-height: 1.6; }
.discover-image { flex: 1; text-align: right; }
.discover-image img { max-width: 100%; height: auto; }

/* =========================================
   3. BAT PAGE TRANSITION
   ========================================= */
#bat-transition-overlay {
    position: fixed; inset: 0; background-color: #191d1a;
    z-index: 99999; display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity 0.4s ease;
}
#bat-transition-overlay.active { opacity: 1; pointer-events: all; }
#bat-transition-overlay img { max-width: 250px; }

body { transition: opacity 0.4s ease; }
body.page-exiting .site-content, body.page-exiting .legacy-footer { opacity: 0 !important; }

/* =========================================
   4. WEATHERED TICKETS (BOOKING GRID)
   ========================================= */
.booking-bridge-container { max-width: 1200px; margin: 60px auto; padding: 0 20px; }
.bridge-intro { text-align: center; margin-bottom: 50px; }
.bridge-intro h1 { font-family: '28_days_laterregular', serif; color: #fff; font-size: 3.5rem; }

.occupancy-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
    gap: 40px; 
}

.haunted-ticket {
    background: #c2b280;
    background-image: radial-gradient(circle, transparent 20%, #8b7355 100%), 
                      url('https://www.transparenttextures.com/patterns/p6-dark.png');
    color: #2c1e0f; padding: 40px 30px; border: 2px solid #5d4037;
    position: relative; overflow: hidden; display: flex; flex-direction: column;
    justify-content: space-between; min-height: 450px; filter: sepia(0.2) contrast(1.1);
    box-shadow: 10px 10px 30px rgba(0,0,0,0.7); transition: transform 0.3s ease;
}

.haunted-ticket::before, .haunted-ticket::after {
    content: ''; position: absolute; width: 30px; height: 30px;
    background: #191d1a; border-radius: 50%; top: 50%; transform: translateY(-50%); z-index: 2;
}
.haunted-ticket::before { left: -15px; }
.haunted-ticket::after { right: -15px; }

.ticket-watermark {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 80%; opacity: 0.05; filter: grayscale(1); pointer-events: none;
}

.ticket-icon {
    font-size: 3.5rem; text-align: center; filter: grayscale(1) sepia(1) brightness(0.5);
    margin-bottom: 15px;
}

.ticket-label {
    font-family: 'Courier New', monospace !important; font-weight: 900;
    font-size: 1.8rem !important; border-bottom: 2px dashed #5d4037;
    text-align: center; color: #2c1e0f !important; text-transform: uppercase;
    margin-bottom: 20px !important; padding-bottom: 10px;
}

.ticket-body p { 
    font-family: 'Courier New', monospace; text-align: center; 
    color: #4e342e; position: relative; z-index: 3; font-weight: bold;
}

.ticket-footer { 
    margin-top: auto; display: flex; justify-content: center; padding-top: 20px; z-index: 3; 
}

.haunted-ticket:hover { transform: rotate(-1deg) translateY(-10px); }

/* =========================================
   5. TAILORED LEGACY FOOTER
   ========================================= */
.owlbg-separator {
    width: 100%; height: 150px; margin-top: 40px;
    background: url('assets/images/accents/owl-bg.jpg') no-repeat center bottom / cover;
}

.legacy-footer {
    background: #1d2021 url('assets/images/accents/footer-bg.jpg') no-repeat center bottom / 100% auto;
    color: #ffffff; padding: 60px 20px 20px; font-size: 0.85rem; line-height: 1.4;
}

.footer-grid {
    display: grid; grid-template-columns: 2fr 1fr 1.5fr; gap: 50px; max-width: 1200px; margin: 0 auto;
}

.footer-logo { background: #1d2021 url('assets/images/accents/footer-bg.jpg') no-repeat center bottom / 100% auto;
    width: 110px; margin-bottom: 20px; filter: drop-shadow(0 0 5px rgba(0,0,0,0.5)); }
.brand-text p { color: #a0a0a0; margin-bottom: 20px; }
.social-links-footer { font-size: 1.2rem; margin-bottom: 20px; display: flex; gap: 15px; }
.social-links-footer a { color: #fff; text-decoration: none; opacity: 0.7; transition: 0.3s; }
.social-links-footer a:hover { opacity: 1; color: #40c0aa; }

.payment-methods img { max-width: 200px; }

.footer-heading {
    font-family: sans-serif; text-transform: uppercase; letter-spacing: 1.5px;
    font-size: 1rem; margin-bottom: 30px; color: #fff; border-bottom: 1px solid #333; padding-bottom: 10px;
}

.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: #888; text-decoration: none; transition: 0.2s; }
.footer-links a:hover { color: #fff; padding-left: 5px; }

.subscribe-input-group { display: flex; margin-bottom: 25px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
.subscribe-input-group input { background: #2a2a2a; border: 1px solid #333; padding: 12px; color: #fff; flex: 1; font-size: 0.8rem; }
.subscribe-input-group button { background: #208091; border: none; padding: 0 20px; color: #fff; cursor: pointer; transition: 0.3s; }
.subscribe-input-group button:hover { background: #40c0aa; }

.social-hashtag { color: #40c0aa; font-weight: 700; margin-bottom: 8px; }
.ghostly-moto { color: #777; font-style: italic; font-size: 0.8rem; }
.support-contact { margin-top: 35px; color: #555; font-size: 0.75rem; }
.support-contact a { color: #d4ff00; text-decoration: none; font-weight: bold; }

.footer-copyright-bar {
    border-top: 1px solid #333; margin-top: 60px; padding: 25px 0 10px;
    text-align: center; position: relative; color: #555; font-size: 0.75rem;
}
.footer-copyright-bar span { color: #fff; font-weight: bold; }

.zombie-hand-scroll { position: absolute; right: 0; bottom: -10px; transition: transform 0.3s; }
.zombie-hand-scroll:hover { transform: scale(1.2) rotate(-5deg); }
.zombie-hand-scroll img { width: 45px; }

/* RESPONSIVENESS */
@media (max-width: 768px) {
    .footer-grid, .discover-container { grid-template-columns: 1fr; flex-direction: column; text-align: center; }
    .social-links-footer { justify-content: center; }
    .discover-image { text-align: center; margin-top: 30px; }
    .zombie-hand-scroll { position: relative; margin-top: 20px; display: block; }
}

/* =========================================
   6. SLIDER & HEADER OVERRIDES
   ========================================= */
.horror-slider-outer { 
    width: 100vw !important; 
    position: relative; 
    left: 50%; right: 50%; 
    margin-left: -50vw; margin-right: -50vw; 
    background: #000; 
    overflow: hidden; 
    z-index: 9999;
    margin-top: 0 !important;
    top: 0 !important;
    border-bottom: 3px solid #000;
}

.custom-slider-container { 
    position: relative; 
    width: 100%; 
    aspect-ratio: 683 / 169;
    background: #000;
    display: flex; 
    align-items: center; 
    justify-content: center;
}

.legacy-branding-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    text-align: center;
    width: 100%;
    pointer-events: none;
    padding: 2%; 
}

.main-title { 
    font-family: 'canterburyregular', serif !important; 
    font-size: clamp(1.5rem, 6vw, 4.5rem); 
    color: #fff; 
    margin: 0; 
    line-height: 1.1; 
    text-shadow: 3px 3px 10px #000; 
}

.sub-title { 
    font-family: '28_days_laterregular', sans-serif !important;
    font-size: clamp(0.8rem, 2.5vw, 2rem); 
    color: #ccff00; 
    margin: 0; 
    letter-spacing: 3px; 
    text-shadow: 2px 2px 5px #000; 
}

.tagline { 
    font-size: clamp(0.6rem, 1.5vw, 1.2rem); 
    color: #ff0000; 
    margin-top: 5px; 
    font-style: italic; 
    font-weight: bold; 
}

.h-slide { 
    position: absolute; 
    top: 0; left: 0;
    width: 100%; height: 100%; 
    background-size: cover; 
    background-position: center; 
    opacity: 0; 
    z-index: 1;
    transition: opacity 1.5s ease-in-out; 
}

.h-slide.active { opacity: 0.8 !important; } 

.entry-title, .page-title, .ttbm-tour-title, .post-title {
    display: none !important;
}

#primary, #content, .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* =========================================
   7. GUTENBERG LAYOUT OVERRIDES 
   ========================================= */

/* Force Gutenberg blocks inside our custom templates to use the full 1200px wrapper width */
.legacy-page-wrapper .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.legacy-single-wrapper .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
}

/* Ensure the columns expand fully */
.legacy-page-wrapper .wp-block-columns,
.legacy-single-wrapper .wp-block-columns {
    max-width: 100% !important;
    width: 100% !important;
}

/* Optional: Keep the review quote from stretching too far so it stays readable */
.legacy-page-wrapper .wp-block-quote {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.payment-methods-grid {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    align-items: center;
}

.payment-methods-grid img {
    height: 25px; /* Consistent height for all cards */
    width: auto;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
}

.social-links-footer a {
    font-family: Arial, sans-serif;
    font-weight: bold;
    font-size: 1.4rem;
}
/* =========================================
   FOOTER INTEREST RIBBON STYLES (STABILIZED)
   ========================================= */

/* 1. Constrain the parent panel so it doesn't break the CSS Grid */
.future-investigations-panel {
    width: 100%;
    min-width: 0; /* Crucial Grid fix */
}

/* 2. Flex row for the arrows and ribbon */
.para-ribbon-wrapper {
    display: flex;
    align-items: flex-start;
    width: 100%;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: nowrap;
}

/* 3. The magic fix: force the ribbon to shrink and allow scrolling */
.para-icon-ribbon {
    flex: 1 1 0%; /* The '0%' forces it to stay inside the wrapper */
    min-width: 0; /* Overrides the default auto-width blowout */
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.para-icon-ribbon::-webkit-scrollbar { 
    display: none; 
}

/* 2. Integrated "End-Cap" Arrows */
.ribbon-arrow {
    flex: 0 0 35px; /* Slimmer profile to blend in */
    height: 60px; /* Matches exact height of .para-icon-box */
    background: #1a1a1a; /* Matches icon box background */
    color: #666; /* Light gray for subtle blending */
    border: 1px solid #333; /* Matches icon box border */
    border-radius: 6px; /* Matches icon box curves */
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0;
    margin: 0;
}

.ribbon-arrow:hover {
    background: #252525;
    color: #fff;
    border-color: #444;
}

/* 4. Individual Icon Cards & Boxes */
.para-icon-item {
    flex: 0 0 80px;
    text-align: center;
    cursor: pointer;
}

.para-icon-box {
    width: 60px;
    height: 60px;
    margin: 0 auto 5px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s ease;
}

.para-icon-box img {
    width: 30px;
    height: 30px;
    filter: grayscale(1) opacity(0.5);
}

.para-icon-box .count {
    font-size: 0.6rem;
    color: #444;
}

.para-icon-item .label {
    display: block;
    font-size: 0.75rem;
    color: #ffffff;
    margin-top: 5px;
    font-weight: bold;
    white-space: nowrap;
}

/* 5. The "Selected" Active State Glow */
.para-icon-item input:checked + .para-icon-box {
    border: 2px solid #ff4500; /* Brand Orange */
    background: rgba(255, 69, 0, 0.2);
    box-shadow: 0 0 15px rgba(255, 69, 0, 0.6);
}

.para-icon-item input:checked + .para-icon-box img {
    filter: grayscale(0%) brightness(1.2);
}

/* 6. Fix alignment of the submit row below the ribbon */
.investigator-submit-row {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    width: 100%;
}
.investigator-submit-row input {
    flex: 1; 
    padding: 10px; 
    background: #111; 
    border: 1px solid #333; 
    color: #fff;
}
.investigator-submit-row button {
    padding: 10px 20px; 
    background: #ff4500; 
    color: #fff; 
    border: none; 
    cursor: pointer; 
    font-weight: bold;
}
a.ins-toggle-btn { 
    display:none;
}
/* The Green Glow for the 'Unlocked' state */
    .ticket-unlocked {
        border-color: #28a745 !important;
        box-shadow: 0 0 30px rgba(40, 167, 69, 0.8) !important;
        transform: scale(1.02);
        transition: all 0.5s ease;
    }

    /* Dim the button while working */
    .btn-working {
        background-color: #555 !important;
        cursor: wait !important;
        pointer-events: none;
    }
/* =========================================
   8. GETTYSBURG & SUCCESS PAGE (CLEANED)
   ========================================= */

/* The Owl Background (Fixed: Correct Path & No forced 600px void) */
.owlbg {
    background-image: url('assets/images/accents/owl-bg.jpg'); /* Fixed Path */
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

/* Gettysburg Header Wrap (Span-Friendly & Tight) */
.tour-header-wrap.owlbg {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 20px 20px;
    width: 100%;
}

.tour-header-wrap span.tour-main-title, h1.tour-main-title {
    display: block;
    font-family: 'Crimson Text', serif;
    font-size: clamp(2.5rem, 5vw, 4rem);
    color: #fff;
    margin: 0 auto 10px auto;
    text-shadow: 2px 2px 10px #000;
}

.tour-header-wrap .tour-intro-copy {
    max-width: 800px;
    margin: 0 auto;
    color: #ccc;
    font-size: 1.15rem;
    line-height: 1.4;
    font-style: italic;
}

/* Discover Amazing Section (Restored for non-success pages) */
.discover-amazing {
    background-image: url('assets/images/accents/discover-amazing.jpg');
    background-size: cover;
    background-position: center;
    margin-top: 50px;
    padding: 80px 20px;
}

/* Success Portal (The Dossier) */
.success-portal-wrap {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent; /* Lets the global legacy watermark show through! */
    padding: 40px 20px;
}

.dossier-card {
    background: rgba(10, 10, 10, 0.85);
    backdrop-filter: blur(10px);
    border: 1px solid #333;
    padding: 50px 40px;
    max-width: 600px;
    width: 100%;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0,0,0,0.9);
    border-radius: 4px;
}

.dossier-card .brand-name {
    font-family: 'Crimson Text', serif;
    font-size: 2rem;
    color: #e74c3c;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

.dossier-card .brand-sub {
    color: #888;
    letter-spacing: 5px;
    font-size: 0.8rem;
    text-transform: uppercase;
    margin-top: 5px;
    margin-bottom: 30px;
}

.dossier-card .portal-headline {
    font-family: 'Crimson Text', serif;
    font-size: 3.5rem;
    color: #fff;
    margin: 0 0 10px 0;
}

.dossier-card .portal-vibe {
    font-family: 'Crimson Text', serif;
    font-style: italic;
    color: #ccc;
    font-size: 1.4rem;
    margin-top: 0;
    margin-bottom: 30px;
}

.dossier-details {
    background: rgba(0,0,0,0.6);
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 30px;
    border: 1px solid #222;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    color: #aaa;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.detail-row strong { color: #fff; }
.detail-row .status-confirmed { color: #2ecc71; text-shadow: 0 0 10px rgba(46, 204, 113, 0.4); }

.dossier-divider {
    border: 0;
    border-top: 1px solid #333;
    margin: 15px 0;
}

.dossier-prep {
    color: #e74c3c;
    font-size: 0.9rem;
    margin: 0;
    font-weight: bold;
}

.btn-portal {
    display: inline-block;
    background: #dc143c;
    color: #fff;
    padding: 15px 35px;
    text-decoration: none;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 4px;
    transition: 0.3s;
}

.btn-portal:hover {
    background: #b01030;
    box-shadow: 0 0 15px rgba(220, 20, 60, 0.4);
}
/* Mobile Background Cleanup for Phone Viewports (< 768px) */
/* * Mobile Optimization: Remove clashing background accents 
 * Target: Phone-sized viewports per Admin UI Specs (768px)
 */
@media (max-width: 767px) {
    /* Remove fixed background image from global container */
    html, body {
        background-image: none !important;
    }

    /* Remove background from the Discover Amazing section */
    .discover-amazing {
        background-image: none !important;
        background-color: #191d1a; /* Enforce solid theme color for legibility */
        padding: 40px 20px;       /* Reduce padding for mobile density */
    }
}
/* FIX FOR GETTYSBURG GRID ALIGNMENT */
.wp-block-columns {
    display: flex !important;
    flex-wrap: wrap; /* Allows stacking on small mobile screens */
    gap: 20px;
    margin-bottom: 30px;
}

.wp-block-column.dossier-trigger {
    flex: 1 1 calc(33.333% - 20px) !important; /* Forces 3 columns on desktop */
    min-width: 280px; /* Prevents columns from becoming too narrow */
    display: flex;
    flex-direction: column;
    align-items: center; /* Centers image and text */
    text-align: center;
}

.dossier-trigger figure {
    width: 100% !important;
    margin: 0 0 15px 0 !important;
}

.dossier-trigger img {
    width: 100% !important;
    height: 200px !important; /* Uniform height for a professional grid */
    object-fit: cover; /* Ensures images don't stretch */
    border: 1px solid #333;
    transition: transform 0.2s ease;
}

.dossier-trigger:hover img {
    transform: scale(1.02);
    border-color: #8b0000;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 768px) {
    .wp-block-column.dossier-trigger {
        flex: 1 1 100% !important; /* Stacks to 1 column on mobile */
    }
}
/* =========================================
   9. DOSSIER CARD & SPATIAL INTEL
   ========================================= */

.dossier-card {
    background: #0a0a0a;
    border: 1px solid #333;
    padding: 50px;
    margin-bottom: 50px;
    position: relative; /* Anchor for the stamp */
}

.intel-stamp {
    position: absolute;
    top: 30px;
    right: 40px;
    border: 2px solid #8b0000;
    color: #8b0000;
    padding: 8px 16px;
    transform: rotate(-5deg);
    font-family: monospace;
    font-weight: bold;
    opacity: 0.5;
}

.dossier-header {
    border-bottom: 1px solid #222;
    margin-bottom: 40px;
    padding-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.target-type {
    color: #ffcc00;
    font-family: monospace;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.target-name {
    margin: 15px 0 10px;
    font-size: 3rem;
    color: #fff;
    font-weight: 400;
}

/* Spatial Intel Positioning */
.spatial-intel {
    text-align: right;
    font-family: monospace;
    color: #666;
    font-size: 0.85rem;
}

.spatial-label {
    color: #8b0000;
    font-weight: bold;
}

.dossier-content {
    display: flex;
    gap: 50px;
}

.field-notes {
    flex: 1.6;
}

.field-notes h3 {
    font-family: monospace;
    color: #444;
    margin-bottom: 20px;
    font-size: 1.1rem;
}

.notes-body {
    line-height: 1.8;
    color: #ccc;
    font-size: 1.1rem;
}

.visual-evidence {
    flex: 1;
}

.image-wrapper {
    border: 8px solid #fff;
    background: #fff;
    transform: rotate(1.5deg);
    box-shadow: 10px 10px 30px rgba(0,0,0,0.7);
}

.image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .dossier-header, .dossier-content {
        flex-direction: column;
        align-items: flex-start;
    }
    .spatial-intel {
        text-align: left;
        margin-top: 20px;
    }
}
/* --- PARATOURCO DOSSIER OVERLAY --- */
.para-dossier-card {
    background: #0a0a0a;
    border: 1px solid #444;
    padding: 50px;
    padding-bottom: 110px !important; /* Matches your successful Eastern State test */
    position: relative;
    box-shadow: 0 15px 40px rgba(0,0,0,0.9);
    height: auto !important; /* Forces the card to stretch to fit the data */
    min-height: 450px;
    display: block;
}

.para-intel-stamp {
    position: absolute;
    bottom: 35px;
    right: 35px;
    border: 2px solid #e74c3c;
    color: #e74c3c;
    padding: 6px 14px;
    transform: rotate(-6deg);
    font-family: monospace;
    font-size: 0.9rem;
    font-weight: bold;
    opacity: 0.7;
    pointer-events: none;
    z-index: 10;
}

.para-dossier-card .close-dossier {
    position: absolute;
    top: 20px;
    right: 20px;
    background: transparent;
    color: #555; /* Muted gray so it doesn't scream */
    border: 1px solid transparent;
    padding: 5px 10px;
    font-family: monospace;
    font-size: 0.85rem;
    cursor: pointer;
    transition: color 0.2s ease;
    z-index: 10;
}

.para-dossier-card .close-dossier:hover {
    color: #e74c3c; /* Subtle red only on hover */
}

.para-intel-stamp {
    position: absolute;
    bottom: 20px; /* Lowered from 40px to compensate for the photo shifting down */
    right: 20px;  /* Shifted right to peek out past the frame */
    border: 2px solid #e74c3c;
    color: #e74c3c;
    padding: 8px 16px;
    transform: rotate(-5deg);
    font-family: monospace;
    opacity: 0.8;
    font-weight: bold;
    z-index: 1 !important; /* Ensures it stays underneath the photo */
    pointer-events: none;
}

.para-dossier-header {
    margin-bottom: 20px; /* Reduced from 40px */
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
}

.para-target-badge {
    display: inline-block;
    background: #1a1a1a;
    border: 1px solid #333;
    border-left: 4px solid #e74c3c;
    color: #ffffff;
    padding: 8px 16px;
    font-family: monospace;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1.5px;
    font-size: 0.9rem; /* Smaller tactical label */
    margin-bottom: 2px;
}

.para-target-title {
    font-family: 'Oswald', sans-serif; /* Tactical impact */
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    color: #fff;
}

.para-target-coords {
    font-family: monospace;
    color: #eee;
    margin-top: 15px;
    font-size: 0.9rem; /* Compact coords */
    margin-bottom: 10px;
}

.para-dossier-body {
    display: flex;
    gap: 50px;
    align-items: flex-start;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}

.para-field-notes {
    flex: 1.6;
    min-width: 300px;
}

.para-field-notes-title {
    font-family: monospace;
    color: #aaa;
    margin-bottom: 20px;
    font-size: 1.1rem;
    letter-spacing: 1px;
}

.para-field-notes-content {
    line-height: 1.8;
    color: #eeeeee;
    font-size: 1.1rem;
}

.para-visual-evidence {
    flex: 1;
    min-width: 300px;
    display: flex;
    justify-content: center;
}

.para-evidence-frame {
    position: relative; 
    z-index: 10 !important; /* Forces the photo to sit on top of the stamp */
    border: 8px solid #fff;
    background: #fff;
    box-shadow: 15px 15px 40px rgba(0,0,0,0.8);
    transform: rotate(1.5deg);
    width: 100%;
}

.para-evidence-image {
    width: 100%;
    height: auto;
    display: block;
}
/* =========================================
   10. ADMIN UI VIEW MODAL (.ptc-view-card)
   ========================================= */
.ptc-view-card {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 650px;
    background: #0a0a0a;
    border: 1px solid #444;
    box-shadow: 0 15px 50px rgba(0,0,0,0.9);
    z-index: 999999;
    display: block;
}

/* Override the inline JS colors to match your dark tactical theme */
.ptc-view-card .ptc-modal-header {
    background: #1a1a1a !important;
    border-bottom: 2px solid #e74c3c !important;
    padding: 15px 20px !important;
}

.ptc-view-card .ptc-modal-body {
    background: #0a0a0a !important;
    color: #eeeeee !important;
    padding: 30px 20px !important;
    max-height: 70vh;
    overflow-y: auto;
}

.ptc-view-card .ptc-modal-body strong {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    color: #fff;
    letter-spacing: 1px;
}

.ptc-view-card .ptc-modal-body small {
    color: #ffcc00;
    font-family: monospace;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.ptc-view-card .ptc-modal-body hr {
    border-color: #333;
    margin: 15px 0 20px 0;
}

.ptc-view-card .ptc-modal-close {
    background: transparent !important;
    color: #888 !important;
    font-family: monospace;
    transition: 0.2s ease;
}

.ptc-view-card .ptc-modal-close:hover {
    color: #e74c3c !important;
}
/* --- Paratourco Booking Funnel --- */

/* 1. Fixed Haunted House Background */
.page-template-tour-booking body {
    background-color: #191d1a !important;
    background-image: url('assets/images/accents/discover-amazing.jpg') !important;
    background-repeat: no-repeat !important;
    background-position: bottom right !important;
    background-attachment: fixed !important;
    background-size: 400px !important;
    color: #eee;
}

/* Container transparency */
.page-template-tour-booking .site-main,
.page-template-tour-booking .booking-bridge-container {
    background: transparent !important;
}

/* 2. Typography */
.secure-title {
    font-family: 'Crimson Text', serif;
    font-size: 2.5rem;
    color: #fff;
    text-align: center;
    margin: 40px 0 10px;
    font-weight: 400;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8);
}

/* 3. Interaction Effects */
#capture-zone input:focus {
    outline: none;
    border-color: #e74c3c !important;
    box-shadow: 0 0 10px rgba(231, 76, 60, 0.3);
}

#bat-carrier,
.flying-bat {
    z-index: 9999 !important;
}

/* Helper for the JS flash effect */
.capture-flash {
    border-color: #e74c3c !important;
}
/* Tighten the Success Portal */
.success-portal-wrap {
    padding: 60px 20px;
    max-width: 650px; /* Makes the card feel more like a file folder */
    margin: 0 auto;
}

.portal-headline {
    font-size: 2.2rem !important; /* Smaller, punchier headline */
    line-height: 1.2;
    margin-bottom: 30px;
}

.dossier-card {
    background: #000;
    border: 1px solid #333;
    padding: 40px;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.detail-row {
    font-size: 0.9rem; /* Smaller labels */
    letter-spacing: 1px;
    text-transform: uppercase;
}

.detail-row strong {
    font-size: 1.1rem;
    color: #fff;
    float: right; /* Keeps it organized */
}

.dossier-prep {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #bbb;
    border-left: 2px solid #e74c3c; /* Adds a "top secret" red accent */
    padding-left: 15px;
}
/* The Bat Carrier: Default Hidden */
#bat-carrier {
    position: fixed;
    opacity: 0;
    pointer-events: none;
    transition: transform 1.2s cubic-bezier(0.45, 0.05, 0.55, 0.95), opacity 0.3s;
    z-index: 9999;
}

/* The Declarative Trigger */
body[data-booking-state="dispatching"] #bat-carrier {
    opacity: 1;
    transform: translate(-50vw, -50vh) scale(2) rotate(-15deg); /* Flies toward top-left HQ */
}

/* Ticket Unlocked State */
.haunted-ticket.ticket-unlocked {
    filter: brightness(1.5) sepia(0.5);
    transform: translateY(-10px);
    transition: all 0.5s ease;
}