@media print {
    * {
        box-sizing: border-box;
    }

    html,
    body {
        font-size: 1em;
        line-height: 1.5;
        color: #000;
        background: none;
        margin: 0;
        padding: 0;
    }

    body {
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    header,
    nav,
    footer,
    .navbar,
    .nav-links,
    .menu,
    .sidebar,
    .contrast-toggle,
    .scroll-to-top,
    .carousel,
    .carousel-dots,
    .festival-section,
    .video-wrapper,
    .video-description,
    video,
    iframe,
    .spotify-embed,
    .info-image {
        display: none !important;
    }

    .intro-section {
        display: block !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .intro-left,
    .intro-right {
        width: 100% !important;
        margin: 0 0 1em 0 !important;
        padding: 0 !important;
        flex: none !important;
    }

    img,
    .artist-image,
    .logo-image {
        max-width: 100% !important;
        height: auto !important;
        width: auto;
        max-height: 200px;
    }

    .artists-section {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .artists-table-wrapper {
        overflow: visible !important;
        padding: 0 !important;
        display: block !important;
        width: 100% !important;
    }

    .artists-table {
        table-layout: auto !important;
        width: 100% !important;
        border-collapse: collapse !important;
        word-wrap: break-word !important;
        font-size: 0.9em !important;
    }

    .artists-table th,
    .artists-table td {
        padding: 0.5em !important;
        text-align: left !important;
        vertical-align: top !important;
        word-break: break-word !important;
        border: 1px solid #999 !important;
    }

    .table-header-row a::after {
        content: "" !important; 
    }

    details summary {
        display: none !important;
    }

    details {
        display: block !important;
    }

    details::before {
        content: "";
    }

    .info-container img {
        display: none !important;
    }

    .form-container {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background: none !important;
        border: none !important;
    }

    a::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #555;
    }
}