/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://example.com/generatepress-child/
 Description:  GeneratePress Child Theme
 Author:       Your Name
 Author URI:   https://example.com
 Template:     generatepress   
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         generatepress
 Text Domain:  generatepress_child
*/

/* ============================================== */
/* === Add your custom CSS below this line === */
/* ============================================== */




/*--------------------------------------------------------------
TX Music Plugin Styles (v1.6 - Corrected Image Display)
--------------------------------------------------------------*/

/* --- General Structure --- */
.tx-music-container {
    max-width: 1100px; /* Adjust max-width as needed */
    margin-left: auto;
    margin-right: auto;
    padding: 20px; /* Add some padding */
}

/* --- Two Column Layout (Desktop) --- */
.two-column-layout {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping on small screens, though handled by media query */
    gap: 30px; /* Space between columns */
    margin-bottom: 2rem; /* Space before full-width events */
}

.tx-main-column {
    flex: 2; /* Main column takes ~2/3 space */
    min-width: 0; /* Prevent flex overflow issues */
    order: 1; /* Main content first visually on desktop */
}

.tx-sidebar-column {
    flex: 1; /* Sidebar takes ~1/3 space */
    min-width: 280px; /* Minimum width for sidebar */
    order: 2; /* Sidebar second visually on desktop */
}

/* --- Header (Full Width) --- */
.tx-music-header {
    border-bottom: 2px solid #eee;
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}
.tx-music-header h1 { margin-bottom: 0.5rem; }
.tx-jump-link a { font-size: 0.9em; text-decoration: none; color: #0073aa; }
.tx-jump-link a:hover { text-decoration: underline; }

/* --- Main Image Container (Mobile Only) --- */
.mobile-top-image {
    display: none; /* *** HIDDEN ON DESKTOP *** */
    margin-bottom: 1.5rem;
}
.mobile-top-image img {
    width: 100%; height: auto; display: block;
    border-radius: 4px; aspect-ratio: 16 / 9; object-fit: cover;
}

/* --- Sidebar Image Gallery (Desktop Only Structure) --- */
.tx-music-gallery-side-images {
    display: grid; /* *** VISIBLE ON DESKTOP *** */
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 1rem; /* Padding from sidebar block */
}
.tx-music-gallery-side-images .tx-music-gallery-main {
    grid-column: 1 / -1; /* Make main image span both columns */
}
.tx-music-gallery-side-images img {
    width: 100%; height: auto; display: block;
    border-radius: 4px; aspect-ratio: 16 / 9; object-fit: cover;
}
.tx-music-gallery-side-images .tx-music-gallery-main img {
    aspect-ratio: 2 / 1; /* Wider aspect ratio for main image in sidebar */
}

/* --- Content Area --- */
.tx-music-content { margin-bottom: 2rem;     background-color: #f9f9f9; border: 1px solid #eaeaea;}
.tx-music-content h3 { margin-bottom: 1rem; }

/* --- Sidebar Blocks --- */
.tx-sidebar-block {
    background-color: #f9f9f9; border: 1px solid #eaeaea;
    padding: 1.2rem 1.5rem; margin-bottom: 1.5rem; border-radius: 5px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.tx-sidebar-block h3 { margin-top: 0; margin-bottom: 1rem; font-size: 1.2em; border-bottom: 1px solid #ddd; padding-bottom: 0.5rem; }
.tx-sidebar-block ul { list-style: none; padding: 0; margin: 0; }
.tx-sidebar-block li { padding: 0.4rem 0; border-bottom: 1px dotted #ddd; display: flex; align-items: center; gap: 8px; }
.tx-sidebar-block li:last-child { border-bottom: none; }
.tx-sidebar-block p { margin-bottom: 0.5rem; }
.tx-sidebar-block p strong { margin-right: 5px; }
.tx-sidebar-block .dashicons { color: #555; font-size: 18px; }

/* --- Taxonomy Links --- */
.tax-links a { background: #e0e0e0; color: #333; padding: 3px 8px; border-radius: 3px; text-decoration: none; font-size: 0.9em; margin-right: 5px; margin-bottom: 5px; display: inline-block; }
.tax-links a:hover { background: #ccc; }

/* --- Venue Hours --- */
.venue-hours-list { padding-left: 0; list-style: none; margin-top: 0.5rem; }
.venue-hours-list li { display: grid; grid-template-columns: 90px 1fr; padding: 3px 0; border: none; font-size: 0.95em; }
.venue-hours-list li strong { font-weight: bold; }

/* --- Events Section (Full Width) --- */
.tx-music-events-section.full-width-section {
    background-color: #ffffff; border: 1px solid #eaeaea;
    padding: 1.5rem; margin-top: 2rem; border-radius: 5px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.tx-music-events-section h3 { margin-top: 0; margin-bottom: 1rem; font-size: 1.4em; border-bottom: 1px solid #ddd; padding-bottom: 0.5rem; }
.tx-event-item { border-bottom: 1px solid #eee; padding-bottom: 1.5rem; margin-bottom: 1.5rem; overflow: hidden; }
.tx-event-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.tx-event-item img { width: 120px; height: auto; float: left; margin-right: 1rem; margin-bottom: 0.5rem; border-radius: 3px; }
.tx-event-item h4 { margin-top: 0; margin-bottom: 0.5rem; font-size: 1.2em; }
.tx-event-item p { margin-bottom: 0.5rem; font-size: 0.95em; line-height: 1.5; }
.tx-event-item p strong { font-weight: bold; }
.event-description { margin-top: 1rem; clear: both; }

/* --- Responsive Adjustments --- */
@media (max-width: 768px) {
    .two-column-layout {
        flex-direction: column; /* Stack columns */
    }

    /* Stack order: Main content first, then sidebar */
    .tx-main-column {
        order: 1;
        flex: 1 1 100%;
        min-width: auto;
    }
    .tx-sidebar-column {
        order: 2;
        flex: 1 1 100%;
        min-width: auto;
    }

    /* --- Mobile Image Display --- */
    .mobile-top-image {
         display: block; /* SHOW the separate main image container */
         order: -1; /* Place it visually before the columns stack */
    }
    .mobile-top-image img {
        aspect-ratio: 16 / 9; /* Ensure consistent mobile aspect ratio */
    }

    .tx-music-gallery-side-images {
       display: none; /* HIDE the sidebar gallery container entirely on mobile */
    }
} /* End @media */


/* --- Band Member Display Styles --- */
.tx-members-list-block,
.tx-member-of-block {
    /* Uses .tx-sidebar-block styles */
}

.tx-members-list-block h4,
.tx-member-of-block h4 {
    font-size: 1.1em;
    color: #333;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.tx-members-list-block h4:first-of-type {
    margin-top: 0; /* Remove top margin if it's the first heading */
}

.tx-members-list-block ul,
.tx-member-of-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tx-members-list-block li,
.tx-member-of-block li {
    padding: 0.4rem 0;
    border-bottom: 1px dotted #ddd;
    font-size: 0.95em;
}

.tx-members-list-block li:last-child,
.tx-member-of-block li:last-child {
    border-bottom: none;
}

.tx-members-list-block .member-role,
.tx-member-of-block .member-role {
    color: #555;
    font-style: italic;
}



/* This code is inside includes/frontend-profile.php */

.my-profiles-container {
    max-width: 900px;
    margin: 2rem 0; /* Changed 'auto' to '0' */
    padding: 1.5rem;
}
.profile-list, .event-list, .pending-requests {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 5px;
}
.profile-list h2, .event-list h2, .pending-requests h2 {
    margin-top: 0;
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}
.profile-item, .event-item-summary, .request-item {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed #ddd;
}
.profile-item:last-child, .event-item-summary:last-child, .request-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.profile-item h3, .event-item-summary h4, .request-item h4 {
    margin-bottom: 0.5rem;
}
.profile-item h3 a, .event-item-summary h4 a {
    text-decoration: none;
}
.profile-item-meta, .event-item-meta, .request-item-meta {
    font-size: 0.9em;
    color: #555;
    margin-top: 5px;
}
.request-item-actions {
    margin-top: 10px;
}
.request-item-actions .approve-link {
    color: #006799;
    text-decoration: none;
    font-weight: bold;
    margin-right: 15px;
}
.request-item-actions .decline-link {
    color: #a00;
    text-decoration: none;
}
.event-item-summary strong {
    font-weight: bold;
}
.no-items {
    font-style: italic;
    color: #777;
}
.tx-event-form {
    background: #f0f0f0;
    border: 1px solid #ccc;
    padding: 20px;
    border-radius: 5px;
    margin-top: 30px;
}
.tx-music-add-new-link {
    text-align: right;
    margin-bottom: 1.5rem;
    font-weight: bold;
}
.profile-notice-message {
    background: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 20px;
}


