/* --- 1. CORE SETTINGS & VARIABLES --- */
.dods-wrapper {
    /* Branding Colors */
    --primary-blue: #005F9C;
    --navy-dark: #2B386D;
    --text-muted: #525B6D;
    
    /* UI Variables */
    --bg: #ffffff;
    --border: #e5e7eb;
    --card-bg: #f9fafb;
    --radius: 16px;
    --shadow: 0 10px 25px rgba(0, 0, 0, .06);
    --max-w: 1170px;

    font-family: system-ui, -apple-system, sans-serif !important;
    overflow-x: hidden;
    width: 100%;
}

.dods-container {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
    padding-top:50px;
}

/* --- 2. FULL-WIDTH BREAKOUT SECTIONS --- */
.dods-hero, .dods-cta-band {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.dods-hero {
    padding: 44px 0 0;
    border-bottom: 1px solid var(--border);
    background: radial-gradient(1200px 500px at 20% -10%, rgba(15, 118, 110, .12), transparent 50%),
                radial-gradient(900px 450px at 90% 0%, rgba(37, 99, 235, .10), transparent 45%), #fff;
}



.dods-cta-band {
    padding: 56px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(15, 118, 110, .08), rgba(37, 99, 235, .06));
}

/* --- 3. GRIDS & LAYOUT --- */
.dods-hero-grid, .dods-grid-2, .dods-gallery, .dods-facts {
    display: grid;
    gap: 24px;
}

.dods-hero-grid { grid-template-columns: 1.25fr .75fr; align-items: center; gap: 40px; }
.dods-grid-2 { grid-template-columns: 1fr 1fr; }

.dods-grid-2-mid {
    grid-template-columns: 70% 30%;
    padding: 0 10px;
}

.dods-gallery { grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.dods-facts { grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }

/* --- 4. CARDS & BOXES --- */
.dods-card, .dods-hero-card, .dods-fact {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: var(--shadow);
}

.dods-ph {
    
}

.dods-fact { padding: 16px; background: var(--card-bg); }
.dods-fact .dods-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); display: block; }
.dods-fact .dods-value { font-size: 16px; font-weight: 800; color: var(--primary-blue); display: block; margin-top: 4px; }

.dods-ph {
    /*border: 1px dashed #cbd5e1;*/
    /*background: linear-gradient(135deg, #f8fafc, #eef2ff);*/
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-weight: 700;
    font-size: 12px;
    text-align: center;
}

.dods-ph img {
   height: 100%;
   width: auto;
}

/* --- 5. BUTTONS --- */
.dods-btn {
    display: inline-flex;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 700;
    transition: 0.2s ease;
    text-decoration: none !important;
}
.dods-primary { background: #FFCC33; color: #000; }
.dods-primary:hover { background: var(--primary-blue); color: #fff; }
.dods-secondary { border: 1px solid var(--primary-blue); color: var(--primary-blue); }
.dods-secondary:hover { background: var(--primary-blue); color: #fff; }

/* --- 6. FAQ ACCORDION --- */
.dods-faq details { 
    background: #f1f1f1; border-radius: 6px; margin-bottom: 12px; 
    font-weight: 400;
    
}
.dods-faq summary { padding: 15px 20px; cursor: pointer; font-weight: 700; color: var(--navy-dark); }
.dods-faq details[open] summary { 
    background: #FFCC33;
    border-radius: 6px;
    border-color: rgb(238, 238, 238);
    
}
.dods-faq details:not([open]):hover summary { 
    background: var(--primary-blue);
    color: #fff !important;
    border-radius: 6px;   
    
}

.dods-faq p { padding: 15px 20px; margin: 0 !important; }

.dod-days-title {
    font-weight: 800;
}

/* --- 7. POSTID-1124 OVERRIDES & TRIBE FIXES --- */
.postid-1124 #tribe-events-pg-template { 
    max-width: 100%; 
    padding-left:0px;
    padding-right:0px;
    padding-top:0px;
}

.postid-1124 .tribe-events-back { display: none !important; }

.postid-1124 h1, .postid-1124 h2, .postid-1124 summary { 
    color: var(--navy-dark) !important; 
    font-weight: 700;
}
.postid-1124 .dods-kicker, .postid-1124 .dods-kicker a { color: var(--primary-blue) !important; text-decoration: none !important; }
.postid-1124 p, .postid-1124 li { color: var(--text-muted) !important; }

.postid-1124 .dods-kicker a {
	border-bottom: 0px;
}

.postid-1124 .tribe-events-single-event-title,
.postid-1124 .tribe-events-schedule {
	display: none;
}

/* --- BUTTON ROW --- */
.dods-btn-row {
    display: flex;
    gap: 16px; /* space between buttons */
    flex-wrap: wrap; /* allows wrapping on smaller screens */
}

a.dods-btn:hover {
color:white 
}

.dod-topcontainer {
	max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    color: #333;
}

.postid-1124 .tribe-events-c-subscribe-dropdown__container {
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
}

.postid-1124 div[data-elementor-title="Footer"] h2 { 
    color: white !important;
}

.postid-1124 .tribe-events-nav-pagination {
    margin: 0 auto;
    max-width: 1240px;
    padding: 0 10px;
}

.dods-container.dods-grid-2 {
        margin: 60px auto;

}

h1.dod-top-tribe-events-single-event-title {
	color: #333 !important;
    font-weight: 700;
    font-size: 42px;
    font-family: var(--tec-font-family-sans-serif);
}




/* Container to hold the two columns */
.event-meta-container.dods-container {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap; /* Allows stacking on mobile */
    gap: 40px;
    justify-content: space-between;
    align-items: flex-start;
    padding: 40px 20px;
}

/* Individual Columns (Primary and Secondary) */
.event-meta-container .tribe-events-event-meta {
    flex: 1; /* Makes them take equal space */
    min-width: 300px; /* Forces stacking if screen is too narrow */
    width: auto !important; /* Overrides the inline 400px style */
    margin: 0 !important;
    background: #fff;
    padding: 20px;
    border-radius: 12px;
}

/* Ensure the Google Map takes full width of its column */
.tribe-events-venue-map {
    width: 100% !important;
    margin-top: 20px;
}

/* Responsive: Stack on smaller screens */
@media (max-width: 800px) {
    .event-meta-container.dods-container {
        flex-direction: column;
    }
    .event-meta-container .tribe-events-event-meta {
        width: 100% !important;
    }
}


/* Target the Secondary Meta Section (Venue + Map) */
.event-meta-container .tribe-events-event-meta.secondary {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px;
    align-items: flex-start;
    width: 100% !important; /* Ensure it fills its half of the main container */
    max-width: 100%;
}

/* Make the Venue text take up half */
.event-meta-container .tribe-events-meta-group-venue {
    flex: 1;
    margin-bottom: 0 !important;
}

/* Make the Map take up the other half */
.event-meta-container .tribe-events-venue-map {
    flex: 1;
    margin-top: 20 !important; /* Remove top margin so it aligns with text */
    min-height: 250px;
}

/* Ensure the Map Iframe fills the container */
.tribe-events-venue-map iframe {
    height: 100% !important;
    min-height: 250px;
    border-radius: 8px;
}

.event-meta-container.dods-container {
    max-width: 1200px;
    padding: 0 14px;
}

.dods-faq {
    font-family: Raleway, sans-serif;   
}

details p {
    margin-top: 10px !important;
    border: 1px solid rgb(238, 238, 238);
    background: white;
    border-radius: 6px;
    font-size: 14px !important;
    color: #535B6E !important;
}

.postid-1124 .dod-topcontainer {
    display:none;
}

.dods-hero-grid {
    padding-bottom: 60px;
}

.dods-gallery {
    padding-bottom:50px;
}

.image-event-container {
    max-width: 1140px;
    margin: 60px auto 0;
}

.dod-button-register a {
    float: right;
}

#what-is-dod-days, 
#faq {
    scroll-margin-top: 140px;   
}


/* Responsive: Stack them on mobile devices */
@media (max-width: 600px) {
    .event-meta-container .tribe-events-event-meta.secondary {
        flex-direction: column !important;
    }
    .tribe-events-venue-map {
        width: 100% !important;
        height: 200px !important;
    }
}

@media (max-width: 781px) {
    .wp-block-button.button-black-hover {
        width:100%;
    }
}

@media (max-width: 1024px) {
    .bod-blocks {
        padding: 0px 10px;
    }
}


@media (max-width: 900px) {
    .dods-hero-grid, .dods-grid-2, .dods-gallery, .dods-facts { grid-template-columns: 1fr; }
    .dods-facts { grid-template-columns: repeat(2, 1fr); }
    .dods-gallery { grid-template-columns: repeat(2, 1fr); }
    
    .dod-button-register a {
        float: left;
    }

}
