

    /* CSS for Event Cards and Animations - Ideally move to an external stylesheet */
.event-grid-row {
    /* If using Bootstrap 3, this helps clear floats for grid alignment */
    /* For Bootstrap 4+, display:flex on .row is standard */
}

.event-card-wrapper {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    margin-bottom: 30px; /* Ensure consistent spacing */
    /* For Bootstrap 3, if .row doesn't have display:flex, you might need to float columns:
       float: left;
    */
}

.event-card-wrapper.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.event-card {
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Softer shadow */
    border: 1px solid #ddd; /* Subtle border */
    border-radius: 8px; /* Consistent rounded corners */
    background-color: #fff;
    display: flex; /* Key for equal height content distribution */
    flex-direction: column; /* Stack card elements vertically */
    height: 100%; /* Make card fill its wrapper height */
    overflow: hidden;
}

.event-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.event-card .event-card-img-container {
    position: relative; /* For positioning the badge */
    overflow: hidden; /* For image zoom effect */
    width: 100%;
    height: 200px; /* Fixed height for image container */
    background-color: #f0f0f0;
}

.event-card .event-image {
    display: block; /* Remove extra space below image */
    width: 100%;
    height: 100%; /* Image fills the container */
    object-fit: cover; /* Crop image to fit, maintain aspect ratio */
    transition: transform 0.4s ease;
}

.event-card:hover .event-image {
    transform: scale(1.08);
}

.event-card .card-body {
    padding: 15px;
    flex-grow: 1; /* Allows card body to expand and push footer down */
    display: flex;
    flex-direction: column;
}

.event-card .event-title {
    font-size: 1.1rem; /* Slightly smaller for BS3 context */
    font-weight: 600;
    color: #333;
    margin-top: 0;
    margin-bottom: 8px;
}
.event-card .event-title a {
    color: inherit;
    text-decoration: none;
}
.event-card .event-title a:hover {
    color: #2a6496; /* Bootstrap 3 link hover color */
}


.event-card .event-date-time,
.event-card .event-venue {
    font-size: 0.85rem;
    color: #666; /* Slightly darker muted grey */
    margin-bottom: 8px;
}
.event-card .event-date-time i,
.event-card .event-venue i {
    margin-right: 6px;
    color: #555; /* Icon color */
}

.event-card .event-summary {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.5;
    margin-bottom: 15px;
    /* Fixed lines using line-clamp (modern browsers) or min-height */
    min-height: 4.5em; /* Approx 3 lines, adjust as needed */
    /* For line clamping (better solution if supported):
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    */
}
.event-card .card-footer {
    padding: 10px 15px;
    background-color: #f9f9f9;
    border-top: 1px solid #eee;
    text-align: center; /* Center the button */
    margin-top: auto; /* Pushes footer to bottom of card-body if card-body is flex */
}

.event-days-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    font-size: 0.75rem; /* Slightly smaller */
    font-weight: bold; /* Make it stand out */
    padding: 5px 8px;
    z-index: 10;
    border-radius: 4px;
    color: #fff; /* Default text color for badges */
    line-height: 1;
}
/* Badge specific colors - Bootstrap 3 doesn't have text-white/text-dark utilities */
.event-days-badge.badge-danger { background-color: #d9534f; }
.event-days-badge.badge-warning { background-color: #f0ad4e; color: #333; } /* Dark text for warning */
.event-days-badge.badge-primary { background-color: #337ab7; }
.event-days-badge.badge-info { background-color: #5bc0de; }


/* Fix for Bootstrap 3 grid if not using flexbox on .row */
.row::after {
    content: "";
    display: table;
    clear: both;
}
.mb-4 { /* Bootstrap 4 margin bottom utility, adding for BS3 */
    margin-bottom: 1.5rem !important; /* Approx 22.5px if base font is 15px */
}


         /* Add to your custom.css or theme's CSS file */
     .event-hero {
         position: relative;
         height: 60vh; /* Adjust as needed */
         min-height: 400px;
         background-size: cover;
         background-position: center center;
         color: #fff;
         display: flex;
         align-items: center; /* Vertically center content */
         justify-content: center; /* Horizontally center content */
         text-align: center;
     }
    .event-hero::before { /* Overlay for better text readability */
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0, 0, 0, 0.5); /* Dark overlay */
    }
    .event-hero-content {
        position: relative; /* To sit on top of the overlay */
        z-index: 2;
        padding: 20px;
    }
    .event-hero-content h1 {
        font-size: 3rem;
        font-weight: 700;
        margin-bottom: 0.5rem;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
    }
    .event-hero-content .event-subtitle,
    .event-hero-content .event-hero-date {
        font-size: 1.25rem;
        font-weight: 300;
        margin-bottom: 1.5rem;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
    }
    .event-hero-content .play-video-btn {
        font-size: 1rem;
        padding: 0.75rem 1.5rem;
        border-radius: 50px; /* Pill shape */
        font-weight: 600;
        background-color: rgba(255,255,255,0.9);
        color: #333;
        border: none;
    }
    .event-hero-content .play-video-btn:hover {
        background-color: #fff;
        color: #000;
    }
    .event-details-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .event-info-block h3, .ticket-purchase-box h3 {
        margin-top: 0;
        margin-bottom: 20px;
        font-weight: 600;
        border-bottom: 2px solid #eee;
        padding-bottom: 10px;
        color: #333;
    }
    .event-info-block h3 i, .ticket-purchase-box h3 i {
        margin-right: 10px;
        color: #555; /* Or your theme primary color */
    }
    .event-info-block .event-description-content {
        line-height: 1.7;
        font-size: 1.05rem;
        color: #444;
    }
    .event-info-block .event-description-content p {
        margin-bottom: 1em;
    }
    .event-info-block .event-description-content img {
        max-width: 100%;
        height: auto;
        border-radius: 5px;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    #event-map {
        border-radius: 5px;
        border: 1px solid #ddd;
    }
    .ticket-purchase-box {
        background-color: #f9f9f9;
        padding: 25px;
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        margin-top: 20px; /* Margin for smaller screens when it stacks */
    }
    .ticket-purchase-box .price-info {
        font-size: 1.1rem;
        margin-bottom: 0.75rem;
    }
    .ticket-purchase-box .price-info strong {
        font-weight: 600;
        color: #2c3e50;
    }
    .ticket-purchase-box .price-info .price {
        font-size: 1.8rem;
        color: #27ae60; /* Green for price */
        font-weight: 700;
    }
    .ticket-purchase-box .btn-purchase {
        font-size: 1.1rem;
        font-weight: bold;
        padding: 12px 20px;
        border-radius: 5px;
    }
    .social-share-buttons a {
        margin-right: 10px;
        font-size: 1.5rem;
        color: #555;
        transition: color 0.2s;
    }
    .social-share-buttons a:hover {
        color: #337ab7; /* Theme primary color */
    }

    /* For Video Modal (Basic styling - use a library like Bootstrap Modal or Magnific Popup) */
    .video-modal { display: none; position: fixed; z-index: 1050; top: 0; left: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.8); }
    .video-modal-content { position: relative; margin: 5% auto; padding: 0; width: 90%; max-width: 800px; }
    .video-modal-close { position: absolute; top: -30px; right: -10px; color: #fff; font-size: 35px; font-weight: bold; cursor: pointer; }
    .video-modal iframe { width: 100%; height: 450px; border: none; }


    /* Purchase Button Hover Effect */
    .btn-purchase {
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, letter-spacing 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    }
    .btn-purchase:hover {
        letter-spacing: 0.5px;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        /* Consider adding a specific darker background/border for your theme's primary color if Bootstrap's default hover isn't pronounced enough */
        /* e.g., background-color: #yourDarkerPrimary; border-color: #yourEvenDarkerPrimary; */
    }

    /* Video Modal Transitions */
    #videoModal {
        display: none; /* Initially hidden, JS will manage display for animation */
        opacity: 0;
    }
    #videoModal .video-modal-content {
        transform: scale(0.7); /* Initial state for animation */
    }

    /* Styling for Font Awesome spinner icon (ensure Font Awesome CSS is loaded via home-header.php) */
    .fa-spinner.fa-spin {
        animation: fa-spin 1s infinite linear;
    }
    @keyframes fa-spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(359deg); }
    }

    /* Styling for AJAX error messages in ticket purchase box */
    .ticket-purchase-box .alert {
        margin-top: 15px; /* Standard spacing */
    }




    /* Initial states for page load animations (jQuery will set opacity:0 and animate) */
    .content-title,
    .add-guests-row,
    .event-summary-table,
    .guests-list-table,
    .payment-summary-section { /* Combined animation target for payment sections */
        opacity: 0; /* Will be managed by jQuery */
    }

    /* Button Hover Effects */
    .btn {
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    }
    .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .btn-xs:hover {
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    /* Styling for Font Awesome spinner icon in modal button */
    .fa-spinner.fa-spin {
        animation: fa-spin 1s infinite linear;
    }
    @keyframes fa-spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(359deg); }
    }

    #paymentConfirmationModal .modal-body,
    #paymentConfirmationModal .modal-footer,
    #paymentConfirmationModal .modal-header {
        padding: 15px;
    }
    #paymentConfirmationModal .modal-header {
        border-bottom: 1px solid #e5e5e5;
    }

    form[name="checkoutWithGuests"] input[type="hidden"],
    form[name="checkoutWithOutGuests"] input[type="hidden"] {
        display: none;
    }

    /* Enhanced Payment Summary Panel */
    .payment-summary-section .panel-primary {
        border-color: #286090; /* Darker primary for distinct panel */
    }
    .payment-summary-section .panel-primary > .panel-heading {
        color: #fff;
        background-color: #337ab7; /* Standard Bootstrap primary */
        border-color: #2e6da4;
        text-align: center;
        font-weight: bold;
    }
    .payment-summary-section .panel-title {
        font-size: 1.3em; /* Slightly larger panel title */
    }
    .payment-summary-section .list-group-item .value-emphasis { /* Class for right-aligned values */
        font-weight: bold;
        color: #333;
    }
    .payment-summary-section .list-group-item.grand-total-item {
        background-color: #f5f5f5; /* Light grey for total emphasis */
        font-size: 1.25em;   /* Larger font for grand total */
        font-weight: bold;
        color: #286090;      /* Darker primary color for text */
    }
    .payment-summary-section .list-group-item.grand-total-item .pull-right {
        font-weight: bold;
    }
    .payment-summary-section .proceed-to-payment {
        font-size: 1.1em; /* Slightly larger button text */
        padding: 12px 0; /* More padding for a chunkier button */
    }
    .payment-summary-section .text-muted-summary { /* For notes like "No guests..." */
        color: #777;
        font-style: italic;
        margin-bottom: 15px;
        text-align: center;
    }

    /* In your custom stylesheet */
    .ticket-card {
        background-color: #fff;
        border-radius: 15px;
        /* box-shadow: 0 10px 25px rgba(0,0,0,0.1); /* Flare: shadow for depth */
        /* transition: transform 0.3s ease-in-out; /* Flare: for hover effect */
    }
    /* Flare: hover effect for the card */
    /* .ticket-card:hover { */
    /* transform: translateY(-5px); */
    /* box-shadow: 0 15px 30px rgba(0,0,0,0.15); */
    /* } */

    .qr-code-image {
        /* transition: transform 0.2s ease; */
    }
    /* .qr-code-image:hover { */
    /* transform: scale(1.05); /* Flare: slight zoom on hover */
    /* } */



    .ticket-wrapper-animation { /* Renamed to avoid conflict if .ticket-wrapper is global */
        opacity: 0;
        transform: translateY(20px);
        margin-top: 20px; /* This might be adjusted if your .container class has padding */
    }
    .ticket-container { /* This is the main ticket card styling */
        max-width: 700px;
        margin: 20px auto; /* Centering the ticket card itself if not full width */
        background-color: #fff;
        border: 1px solid #d3d6db;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        padding: 0;
        overflow: hidden;
    }
    .ticket-header {
        background: linear-gradient(135deg, #00529B 0%, #003865 100%); /* Pace primary blue gradient */
        color: #fff;
        padding: 25px 20px;
        text-align: center;
        border-bottom: 5px solid #FFB81C; /* Pace Gold accent */
    }
    .ticket-header img.logo {
        max-height: 50px;
        margin-bottom: 15px;
    }
    .ticket-header h1 { /* Changed from h1 to h2 if h1 is used by site template for page title */
        margin: 0;
        font-size: 1.8em; /* Slightly adjusted */
        font-weight: 300;
        letter-spacing: 1px;
    }
    .ticket-body {
        padding: 30px;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }
    .ticket-main-details {
        flex: 3;
        min-width: 0;
        padding-right: 20px;
        border-right: 2px dashed #e0e0e0;
    }
    .ticket-qr-section {
        flex: 2;
        min-width: 0;
        text-align: center;
        padding-left: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .ticket-main-details h2.event-title { /* More specific class for event title */
        font-size: 1.75em;
        color: #003865;
        margin-top: 0;
        margin-bottom: 15px;
        border-bottom: 1px solid #FFB81C;
        padding-bottom: 10px;
        font-weight: 400;
    }
    .ticket-main-details p {
        margin: 10px 0;
        font-size: 1em;
        color: #444;
    }
    .ticket-main-details p strong {
        color: #003865;
        min-width: 110px;
        display: inline-block;
        font-weight: 500;
    }
    .ticket-qr-section img.qr-code {
        max-width: 220px;
        width: 100%;
        height: auto;
        border: 6px solid #f0f0f0;
        padding: 6px;
        margin-bottom:15px;
        background-color: #fff;
    }
    .ticket-qr-section p.qr-instruction {
        font-size: 0.95em;
        color: #555;
        margin-top: 0;
        font-weight: 500;
    }
    .ticket-qr-section p.reg-id-display {
        font-size:0.8em;
        margin-top:10px;
        color: #666;
        word-break: break-all;
    }
    .ticket-footer {
        background-color: #f8f9fa;
        color: #555;
        padding: 20px;
        text-align: center;
        font-size: 0.9em;
        border-top: 1px solid #e0e0e0;
    }
    .attendee-info {
        background-color: #f9f9f9;
        padding: 15px;
        border-radius: 6px;
        margin-top:20px;
        border: 1px solid #e7e7e7;
    }
    .attendee-info h3 {
        margin-top:0;
        font-size: 1.2em;
        color: #00529B;
        margin-bottom: 10px;
        border-bottom: 1px solid #eee;
        padding-bottom: 5px;
    }
    /* Print button styling from printticket.php */
    .print-button-container { /* Added to wrap the print button if needed */
        text-align: center;
        margin-top: 15px; /* Space above the button if it's inside the ticket footer */
        margin-bottom: 5px;
    }
    .print-button {
        padding: 10px 25px;
        font-size: 1em;
        background-color: #007bff;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        transition: background-color 0.2s ease;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .print-button:hover {
        background-color: #0056b3;
    }
    .download-qr-link { /* Style for download link */
        font-size: 0.9em;
        margin-top: 5px;
    }
    .staff-checkin-link-info {
        font-size: 0.8em;
        margin-top: 10px;
        color: #666;
    }
    .staff-checkin-link-info a {
        color: #00529B;
        text-decoration: none;
    }
    .staff-checkin-link-info a:hover {
        text-decoration: underline;
    }


    @media print {
        body { background-color: #fff !important; margin: 0; padding: 0; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;}
        .ticket-wrapper-animation { opacity: 1 !important; transform: translateY(0) !important; margin-top: 0 !important; }
        .ticket-container { width: 100% !important; margin: 0 !important; box-shadow: none !important; border: 1px solid #ccc !important; border-radius: 0 !important;}
        .ticket-header { background: #003865 !important; color: #fff !important; border-bottom: 5px solid #FFB81C !important;}
        .ticket-main-details { border-right: 2px dashed #ccc !important;}
        /* Ensure site navigation and other non-ticket elements are hidden */
        #home-navigation, #home-menu, .site-header, .site-footer, .breadcrumb, .noprint { display: none !important; }
        .content { margin: 0 !important; padding: 0 !important; } /* Adjust main content wrapper for print */
        .container {max-width: none !important; padding:0 !important; margin:0 !important;}
        .print-button-container { display: none !important; }
        .ticket-footer { position: static !important; background-color: #f8f9fa !important; }
    }
    @media (max-width: 767px) {
        .ticket-body { flex-direction: column; }
        .ticket-main-details { border-right: none; border-bottom: 2px dashed #e0e0e0; padding-right: 0; padding-bottom: 20px; margin-bottom: 20px; }
        .ticket-qr-section { padding-left: 0; }
        .ticket-qr-section img.qr-code {max-width: 180px;}
        .ticket-header h1 { font-size: 1.6em; } /* Matches h2 styling for ticket header */
        .ticket-main-details h2.event-title { font-size: 1.4em; }
    }



    /* Page Load Animation */
    .content-wrapper-animated {
        opacity: 0;
        transform: translateY(15px);
        animation: fadeInUp 0.6s 0.1s ease-out forwards;
    }
    @keyframes fadeInUp {
        to { opacity: 1; transform: translateY(0); }
    }

    /* Result Block (Success/Error Messages) Styling & Animation */
    /* UserCake's resultBlock typically outputs divs with class .success and .error within a container */
    /* Let's assume resultBlock is wrapped or its direct children are the messages */
    /* If resultBlock itself is the container for .success/.error messages: */
    .alert-container .alert { /* Assuming resultBlock creates .alert elements within some container */
        opacity: 0;
        transform: translateY(-10px);
        animation: slideFadeDown 0.5s ease-out forwards;
        margin-bottom: 1.5rem;
        padding: 1rem 1.5rem;
        border-radius: .375rem; /* Smoother radius */
        border: 1px solid transparent;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
    @keyframes slideFadeDown {
        to { opacity: 1; transform: translateY(0); }
    }
    /* UserCake default .success and .errors styling - enhanced */
    .alert-container .success { /* Or directly .success if not nested under .alert */
        background-color: #d1e7dd;
        border-color: #badbcc;
        color: #0f5132;
    }
    .alert-container .error { /* Or directly .error */
        background-color: #f8d7da;
        border-color: #f5c2c7;
        color: #842029;
    }

    /* Table Styling */
    table.admin {
        width: 100%;
        border-collapse: separate; /* Allows for border-radius and spacing */
        border-spacing: 0;
        margin-bottom: 1.5rem;
        background-color: #fff;
        box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
        border-radius: .375rem;
        /* overflow: hidden; /* If using border-collapse: collapse and want rounded corners */
    }
    table.admin th, table.admin td {
        padding: .9rem 1rem;
        text-align: left;
        vertical-align: middle;
        border-bottom: 1px solid #dee2e6; /* Lighter border */
    }
    table.admin th {
        background-color: #e9ecef; /* Very light grey header */
        font-weight: 600;
        color: #495057;
        border-top-left-radius: .375rem; /* Rounded corners for header */
        border-top-right-radius: .375rem;
    }
    table.admin tr:last-child td {
        border-bottom: none;
    }
    table.admin tr:last-child td:first-child {
        border-bottom-left-radius: .375rem; /* Rounded corners for last row */
    }
    table.admin tr:last-child td:last-child {
        border-bottom-right-radius: .375rem;
    }
    table.admin tbody tr:hover {
        background-color: #f8f9fa; /* Subtle hover */
        transition: background-color 0.15s ease-in-out;
    }
    table.admin a {
        color: #007bff;
        text-decoration: none;
        transition: color 0.15s ease-in-out;
    }
    table.admin a:hover {
        color: #0056b3;
        text-decoration: underline;
    }
    table.admin input[type='checkbox'] {
        margin-right: 5px;
        transform: scale(1.1); /* Slightly larger checkboxes */
    }

    /* Form Element Styling */
    input[type="text"], input[type="email"], select, textarea {
        padding: .65rem .9rem;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        box-sizing: border-box;
        width: 100%;
        max-width: 400px;
        margin-bottom: .75rem;
        transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
        background-color: #fff;
        color: #495057;
    }
    input[type="text"]:focus, input[type="email"]:focus, select:focus, textarea:focus {
        border-color: #80bdff;
        box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
        outline: none;
    }
    label {
        display: block;
        margin-bottom: .5rem;
        font-weight: 500;
        color: #495057;
    }

    /* Button Styling */
    input[type="submit"], .button-style {
        background-color: #007bff;
        color: white;
        padding: .65rem 1.25rem;
        border: none;
        border-radius: .25rem;
        cursor: pointer;
        font-size: .95em;
        font-weight: 500;
        transition: background-color 0.15s ease-in-out, transform 0.1s ease, box-shadow 0.15s ease;
        text-decoration: none;
        display: inline-block;
        box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    }
    input[type="submit"]:hover, .button-style:hover {
        background-color: #0069d9;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }
    input[type="submit"]:active, .button-style:active {
        transform: translateY(1px);
        background-color: #005cbf;
    }
    input[type="submit"][name="Delete"], input[type="submit"][value="Delete"] { /* Style delete buttons differently */
        background-color: #dc3545;
    }
    input[type="submit"][name="Delete"]:hover, input[type="submit"][value="Delete"]:hover {
        background-color: #c82333;
    }
    input[type="submit"][name="Delete"]:active, input[type="submit"][value="Delete"]:active {
        background-color: #bd2130;
    }


    /* Specific for "regbox" style containers */
    #regbox {
        background-color: #ffffff;
        padding: 1.5rem;
        border: 1px solid #dee2e6;
        border-radius: .375rem;
        margin-bottom: 1.5rem;
        box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
    }
    #regbox p { margin-bottom: 1rem; }
    #regbox label { font-weight: normal; color: #333; }
    #regbox h3 { margin-top: 0; margin-bottom: 1rem; font-size: 1.25rem; color: #0056b3; }

    /* Titles and General Layout for home-* files */
    .content { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .content-title {
        font-size: 1.75rem;
        font-weight: 500;
        margin-bottom: 1.5rem;
        padding-bottom: .75rem;
        border-bottom: 1px solid #dee2e6;
        color: #343a40;
    }
    .content-title .text-muted {
        font-size: .95rem;
        font-weight: 400;
        color: #6c757d;
    }
    .content-title .pull-right {
        font-size: 1rem;
        color: #6c757d;
        font-weight: 500;
    }

    /* Layout for admin_page, admin_permission, admin_user (D2L Pace API style) */

    #left-nav ul { list-style-type: none; padding: 0; margin: 0; }
    #left-nav ul li a {
        display: block;
        padding: .75rem 1rem;
        color: #007bff;
        text-decoration: none;
        border-radius: .25rem;
        margin-bottom: .25rem;
        transition: background-color 0.15s ease, color 0.15s ease;
        font-weight: 500;
    }
    #left-nav ul li a:hover {
        background-color: #e9ecef;
        color: #0056b3;
    }
    #left-nav ul li.active a { /* If you add an 'active' class */
        background-color: #007bff;
        color: white;
    }



         /* Dashboard Specific Enhancements */
     .content-title u { /* Style the underline for the main title */
         border-bottom: 2px solid #d74b4b; /* Primary color from mvpready-admin.css */
         padding-bottom: 5px;
     }

    .row-stat {
        background-color: #fff;
        padding: 20px;
        margin-bottom: 20px; /* Was 1.25em, standardizing */
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        transition: all 0.3s ease;
        border: 1px solid #e9e9e9; /* Lighter border */
    }

    .row-stat:hover {
        transform: translateY(-5px);
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    }

    .row-stat-label {
        color: #777; /* Softer color */
        font-size: 0.85em; /* Slightly smaller */
        font-weight: 600;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .row-stat-value {
        font-size: 2.2em; /* Larger value */
        font-weight: 700; /* Bolder */
        color: #333;
        line-height: 1.1;
    }

    /* Specific KPI colors - you can add more */
    .row-stat.tickets { color: #337ab7; /* Bootstrap primary */ }
    .row-stat.revenue { color: #5cb85c; /* Bootstrap success */ }
    .row-stat.logins { color: #f0ad4e; /* Bootstrap warning */ }

    .row-stat.tickets .row-stat-value { color: #337ab7; }
    .row-stat.revenue .row-stat-value { color: #5cb85c; }
    .row-stat.logins .row-stat-value { color: #f0ad4e; }


    .portlet {
        background-color: #fff;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        margin-bottom: 25px; /* Consistent margin */
        border: 1px solid #e9e9e9;
    }

    .portlet-header {
        padding: 15px 20px;
        border-bottom: 1px solid #f0f0f0;
        background-color: #f9f9f9; /* Light header background */
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .portlet-header h3 {
        margin: 0;
        font-size: 1.2em; /* Consistent title size */
        font-weight: 600;
        color: #444;
    }
    .portlet-header h3 i {
        margin-right: 8px;
        color: #d74b4b; /* Primary icon color */
    }

    .portlet-body {
        padding: 20px;
    }

    .table-hover tbody tr:hover {
        background-color: #f5f5f5; /* Standard hover for tables */
    }

    .list-group-item {
        border-color: #f0f0f0; /* Lighter borders for list items */
        padding: 12px 15px;
    }
    .list-group-item strong {
        color: #333;
    }
    .list-group-item .badge {
        font-size: 0.9em;
        padding: 5px 8px;
    }
    .list-group-item small.text-muted {
        font-size: 0.85em;
        display: block;
        margin-top: 3px;
    }

    #content-container hr {
        margin-top: 25px;
        margin-bottom: 35px;
        border-top: 1px solid #eee;
    }

    /* Responsive adjustments for KPI cards */
    @media (max-width: 767px) {
        .row-stat {
            margin-bottom: 15px;
        }
        .row-stat-value {
            font-size: 1.8em;
        }
    }
    .text-muted { /* Ensure text-muted is not too light */
        color: #6c757d !important;
    }

    /* Modern styling for the event cards */
     .hero-welcome {
         /*background: linear-gradient(45deg, #343a40, #53595f);*/
         color: #222222;
         padding: 40px 20px;
         border-radius: 8px;
         margin-bottom: 30px;
     }
    .hero-welcome h1 {
        font-weight: 700;
        margin: 0;
        font-size: 2.5em;
    }
    .event-card {
        background-color: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 8px rgba(0,0,0,0.05);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        display: flex;
        flex-direction: column;
        height: 100%;
        margin-bottom: 30px;
    }
    .event-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 24px rgba(0,0,0,0.1);
    }
    .event-card-img-container {
        position: relative;
        height: 200px;
    }
    .event-card-img-container .event-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .event-card .card-body {
        padding: 20px;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }
    .event-card .event-title {
        font-size: 1.25em;
        font-weight: 600;
        margin-top: 0;
        flex-grow: 1;
    }
    .event-card .event-title a {
        color: #333;
        text-decoration: none;
    }
    .event-card .event-venue {
        color: #777;
        font-size: 0.9em;
    }
    .event-card .card-footer {
        background-color: #f9f9f9;
        padding: 15px 20px;
        border-top: 1px solid #eee;
    }
