/**
 * Print Stylesheet - okrock.ru
 * Optimized for printing article and album pages cleanly.
 *
 * Loaded with media="print" so it never blocks screen rendering.
 * All rules are wrapped in @media print for extra specificity safety.
 */

@media print {

    /* ========================================
       PAGE SETUP
       ======================================== */

    @page {
        margin: 2cm;
        size: A4;
    }

    @page :first {
        margin-top: 1.5cm;
    }

    /* ========================================
       GLOBAL RESETS FOR PRINT
       ======================================== */

    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        filter: none !important;
        animation: none !important;
        transition: none !important;
    }

    html {
        scroll-behavior: auto !important;
    }

    body {
        font-family: 'Georgia', 'Times New Roman', serif !important;
        font-size: 12pt !important;
        line-height: 1.6 !important;
        color: #000 !important;
        background: #fff !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Remove body pseudo-elements (vignette & grain overlay) */
    body::before,
    body::after {
        display: none !important;
        content: none !important;
    }

    /* ========================================
       HIDE NON-PRINTABLE ELEMENTS
       ======================================== */

    /* Navigation & chrome */
    nav,
    .site-header,
    .site-footer,
    footer,
    .footer-modern,
    .nav-modern,
    .nav-toggle,
    .nav-menu,
    .nav-actions,
    .header-bg,
    .header-blur,

    /* Interactive controls */
    .scroll-to-top-btn,
    .pwa-install-btn,
    .theme-toggle-btn,
    .search-btn,
    .search-modal-enhanced,
    #search-modal,

    /* Music player */
    .smp-player,
    .simple-music-player,
    .player-container,
    .bottom-player,

    /* Media elements */
    video,
    iframe,
    .video-player,
    .video-modal,

    /* UI components */
    .cookie-consent,
    .batch-action-bar,
    .skip-link,
    .skip-to-main,
    .reading-progress,
    .reading-progress-bar,
    .toast,
    .toast-container,

    /* Sharing & social */
    .sticky-share-bar,
    .share-btn-modern,
    .social-share,

    /* Navigation buttons */
    .article-prev-next,
    .related-section-modern,

    /* Album interactive controls */
    .album-controls,
    .track-play-btn,
    .track-add-to-queue-btn,
    #play-album-btn,
    #add-album-to-queue-btn,

    /* Mobile bottom nav */
    .bottom-nav-mobile,

    /* Breadcrumbs (optional - remove for cleaner print) */
    .breadcrumb,
    .breadcrumbs,

    /* Loading states */
    .loading-spinner,
    .album-loading-container,

    /* Admin controls */
    .admin-toolbar,
    .admin-sidebar,

    /* Popover & tooltip */
    .popover,
    [role="tooltip"],

    /* Filter controls */
    .era-filters,
    .filter-controls,

    /* Comments section (optional) */
    .comments-section,
    .album-interactions,

    /* Accessibility / utility widgets */
    .tts-reader,
    .tts-toolbar,

    /* Table of contents sidebar */
    .toc-auto,
    .toc-sticky,
    .article-toc,
    .article-grid-layout--has-toc .toc-auto,

    /* Quick nav floating button */
    .quick-nav,
    .quick-nav-btn,

    /* Page loader overlay */
    .page-loader,
    #page-loader,

    /* Social share bar */
    .social-share-bar,
    .share-bar-toast,

    /* Article image lightbox */
    .article-lightbox,

    /* Gallery slideshows */
    .gallery-slideshow,
    .gallery-slideshow-btn,

    /* Lyrics search widget */
    .lyrics-search,

    /* SPA progress bar */
    .spa-progress,

    /* Keyboard shortcuts modal */
    .keyboard-shortcuts-modal,
    .keyboard-shortcuts-overlay,

    /* Share track popup */
    .share-track-popup,
    .share-track-overlay,

    /* Guestbook form controls */
    .guestbook-form,
    .guestbook-pagination,

    /* Member page interactive controls */
    .member-back,
    .member-activity-timeline,
    .other-members-section,

    /* Speculation rules & scripts produce no visual output but just in case */
    script,
    .swup-progress-bar {
        display: none !important;
    }

    /* ========================================
       TYPOGRAPHY - OPTIMIZED FOR PAPER
       ======================================== */

    h1, h2, h3, h4, h5, h6 {
        color: #000 !important;
        page-break-after: avoid;
        break-after: avoid;
        orphans: 3;
        widows: 3;
        font-family: 'Arial', 'Helvetica Neue', sans-serif !important;
    }

    h1 {
        font-size: 18pt !important;
        margin-bottom: 8pt !important;
        border-bottom: 1pt solid #ccc;
        padding-bottom: 4pt;
    }

    h2 {
        font-size: 16pt !important;
        margin-bottom: 6pt !important;
    }

    h3 {
        font-size: 14pt !important;
        margin-bottom: 4pt !important;
    }

    h4, h5, h6 {
        font-size: 12pt !important;
        margin-bottom: 4pt !important;
    }

    p {
        color: #000 !important;
        font-size: 12pt !important;
        line-height: 1.6 !important;
        orphans: 3;
        widows: 3;
    }

    blockquote {
        border-left: 2pt solid #666 !important;
        padding-left: 12pt !important;
        margin: 8pt 0 !important;
        font-style: italic;
        color: #333 !important;
    }

    code, pre {
        font-size: 10pt !important;
        border: 0.5pt solid #ccc !important;
        padding: 2pt 4pt !important;
    }

    pre {
        white-space: pre-wrap !important;
        word-wrap: break-word !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* ========================================
       LINKS - SHOW URL AFTER TEXT
       ======================================== */

    a,
    a:visited {
        color: #000 !important;
        text-decoration: underline !important;
    }

    /* Show URL after external links (not internal nav or anchors) */
    .article-body-modern a[href^="http"]::after,
    .typography-content a[href^="http"]::after,
    .album-description a[href^="http"]::after {
        content: " (" attr(href) ")" !important;
        font-size: 9pt !important;
        font-weight: normal !important;
        color: #555 !important;
        word-break: break-all;
    }

    /* Don't show URL for image links or buttons */
    a[href^="http"] > img::after,
    .btn::after,
    a.btn::after {
        content: none !important;
    }

    /* ========================================
       IMAGES
       ======================================== */

    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Optional: grayscale for ink savings */
    .typography-content img,
    .article-body-modern img {
        filter: grayscale(100%) !important;
        -webkit-filter: grayscale(100%) !important;
    }

    /* Album artwork should remain in color */
    .album-artwork-large img,
    .album-cover img {
        filter: none !important;
        -webkit-filter: none !important;
    }

    /* Hero background images - hide the decorative ones */
    .article-bg-image {
        position: relative !important;
        height: auto !important;
        max-height: 200pt !important;
        object-fit: contain !important;
    }

    .article-hero-single {
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
        margin-bottom: 12pt !important;
    }

    /* ========================================
       PAGE BREAK CONTROL
       ======================================== */

    /* Avoid breaking inside key content blocks */
    .article-body-modern,
    .typography-content,
    .album-header,
    .track-item,
    .track-list,
    .album-info,
    .article-author-block,
    .article-tags-section,
    figure,
    table,
    .bento-card {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Allow the track list to break if it spans multiple pages */
    .album-tracks {
        page-break-inside: auto;
        break-inside: auto;
    }

    /* Each track row should not be split */
    .track-item {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* ========================================
       ARTICLE PAGE SPECIFICS
       ======================================== */

    .article-page-layout {
        padding: 0 !important;
        margin: 0 !important;
    }

    .article-grid-layout {
        display: block !important;
        max-width: 100% !important;
    }

    .article-title-hero {
        font-size: 20pt !important;
        text-align: left !important;
        margin-bottom: 6pt !important;
    }

    .article-meta-grid {
        margin-bottom: 8pt !important;
        font-size: 10pt !important;
        color: #555 !important;
    }

    .meta-item-modern svg {
        display: none !important;
    }

    .article-lead {
        font-size: 13pt !important;
        font-style: italic;
        border-left: 2pt solid #999;
        padding-left: 10pt;
        margin-bottom: 12pt !important;
    }

    .article-header-content {
        position: relative !important;
        padding: 0 !important;
    }

    .article-breadcrumbs-modern {
        display: none !important;
    }

    .article-author-block {
        margin-top: 12pt !important;
        padding-top: 8pt !important;
        border-top: 0.5pt solid #ccc !important;
        font-size: 10pt !important;
    }

    .smart-tags {
        margin-top: 8pt !important;
    }

    .smart-tag {
        border: 0.5pt solid #999 !important;
        padding: 1pt 4pt !important;
        font-size: 9pt !important;
        margin-right: 4pt !important;
    }

    /* ========================================
       ALBUM PAGE SPECIFICS
       ======================================== */

    .album-detail-page {
        padding: 0 !important;
    }

    .album-header {
        display: flex !important;
        gap: 12pt !important;
        margin-bottom: 16pt !important;
        align-items: flex-start !important;
    }

    .album-artwork-large {
        width: 150pt !important;
        height: auto !important;
        flex-shrink: 0 !important;
    }

    .album-artwork-large img {
        width: 150pt !important;
        height: auto !important;
        border: 0.5pt solid #ccc !important;
    }

    .album-info {
        flex: 1 !important;
    }

    .album-info h1,
    .album-info h2 {
        font-size: 18pt !important;
        margin-bottom: 4pt !important;
    }

    .album-meta {
        font-size: 10pt !important;
        color: #555 !important;
        margin-bottom: 8pt !important;
    }

    .album-meta-item {
        display: inline !important;
        margin-right: 8pt !important;
    }

    .album-description {
        font-size: 11pt !important;
        margin-bottom: 8pt !important;
    }

    /* Track listing */
    .album-tracks h2,
    .album-tracks h3 {
        font-size: 14pt !important;
        margin-bottom: 6pt !important;
        border-bottom: 0.5pt solid #ccc;
        padding-bottom: 3pt;
    }

    .track-list {
        border: 0.5pt solid #ddd !important;
    }

    .track-item {
        display: flex !important;
        align-items: baseline !important;
        padding: 3pt 6pt !important;
        border-bottom: 0.5pt solid #eee !important;
        font-size: 11pt !important;
    }

    .track-item:last-child {
        border-bottom: none !important;
    }

    .track-number {
        width: 20pt !important;
        text-align: right !important;
        padding-right: 6pt !important;
        color: #666 !important;
        font-size: 10pt !important;
    }

    .track-title {
        flex: 1 !important;
    }

    .track-duration {
        width: 40pt !important;
        text-align: right !important;
        color: #666 !important;
        font-size: 10pt !important;
    }

    /* Lyrics - show expanded for print */
    .lyrics-btn {
        display: none !important;
    }

    .track-lyrics {
        display: block !important;
        padding: 6pt 0 6pt 26pt !important;
        font-size: 10pt !important;
        font-style: italic;
        color: #333 !important;
        border-left: 1pt solid #ddd !important;
        margin-left: 20pt !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .lyrics-content {
        white-space: pre-wrap !important;
    }

    /* Album footer info */
    .album-footer {
        margin-top: 12pt !important;
        padding-top: 8pt !important;
        border-top: 0.5pt solid #ccc !important;
        font-size: 10pt !important;
    }

    /* ========================================
       LAYOUT OVERRIDES
       ======================================== */

    .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    main {
        padding: 0 !important;
        min-height: auto !important;
    }

    #swup {
        opacity: 1 !important;
    }

    /* Remove any transform/position artifacts */
    .transition-fade {
        opacity: 1 !important;
        transform: none !important;
    }

    /* Remove all reveal/scroll animations */
    [data-reveal],
    [data-stagger] > *,
    .scroll-reveal,
    .scroll-reveal-scale,
    .scroll-reveal-left,
    .scroll-animate,
    .scroll-animate-fade,
    .scroll-animate-scale,
    .text-reveal span,
    .album-detail-fade-in {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    /* ========================================
       TABLE PRINTING
       ======================================== */

    table {
        border-collapse: collapse !important;
        width: 100% !important;
    }

    th, td {
        border: 0.5pt solid #999 !important;
        padding: 4pt 6pt !important;
        font-size: 10pt !important;
    }

    thead {
        display: table-header-group !important;
    }

    tr {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* ========================================
       PRINT BUTTONS - HIDDEN IN PRINT
       ======================================== */

    .print-btn,
    .print-lyrics-btn,
    .print-article-btn,
    .print-album-lyrics-btn,
    [data-print-btn] {
        display: none !important;
    }

    /* ========================================
       LYRICS PAGE SPECIFICS
       ======================================== */

    /* Hide interactive controls on lyrics page */
    .lyrics-controls,
    .lyrics-search-wrapper,
    .lyrics-album-filter,
    .lyrics-search-hint,
    .lyrics-search-input,
    .lyrics-search-clear,
    .lyrics-track__chevron,
    .lyrics-track__preview,
    .lyrics-album__link,
    .lyrics-empty {
        display: none !important;
    }

    /* Show all lyrics expanded */
    .lyrics-track__body,
    .lyrics-track__body[hidden] {
        display: block !important;
    }

    .lyrics-track__toggle {
        pointer-events: none !important;
        cursor: default !important;
        border: none !important;
        padding: 4pt 0 !important;
    }

    /* Lyrics page layout */
    .lyrics-page {
        padding: 0 !important;
    }

    .lyrics-hero {
        padding: 0 !important;
        margin-bottom: 12pt !important;
        min-height: auto !important;
    }

    .lyrics-hero__title {
        font-size: 20pt !important;
        margin-bottom: 4pt !important;
    }

    .lyrics-hero__subtitle {
        font-size: 11pt !important;
        color: #555 !important;
        margin-bottom: 6pt !important;
    }

    .lyrics-hero__stats {
        font-size: 10pt !important;
        color: #666 !important;
    }

    /* Album sections in lyrics page */
    .lyrics-album {
        page-break-before: auto;
        margin-bottom: 16pt !important;
    }

    .lyrics-album:first-child {
        page-break-before: avoid;
    }

    .lyrics-album__header {
        display: flex !important;
        align-items: center !important;
        gap: 8pt !important;
        margin-bottom: 8pt !important;
        padding-bottom: 4pt !important;
        border-bottom: 1pt solid #ccc !important;
    }

    .lyrics-album__cover {
        width: 40pt !important;
        height: 40pt !important;
        border: 0.5pt solid #ccc !important;
    }

    .lyrics-album__cover--placeholder {
        display: none !important;
    }

    .lyrics-album__title {
        font-size: 14pt !important;
        margin-bottom: 0 !important;
    }

    .lyrics-album__meta {
        font-size: 9pt !important;
        color: #666 !important;
    }

    /* Track items in lyrics page */
    .lyrics-track {
        margin-bottom: 8pt !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .lyrics-track__number {
        font-weight: bold;
        margin-right: 4pt !important;
        color: #666 !important;
    }

    .lyrics-track__title {
        font-weight: bold;
        font-size: 11pt !important;
    }

    .lyrics-track__text {
        white-space: pre-wrap !important;
        font-family: 'Georgia', 'Times New Roman', serif !important;
        font-size: 10pt !important;
        line-height: 1.5 !important;
        color: #333 !important;
        margin-top: 4pt !important;
        padding-left: 16pt !important;
        border-left: 1pt solid #ddd !important;
    }

    /* Search highlight marks - show plain text in print */
    .lyrics-highlight {
        background: transparent !important;
        color: #000 !important;
        font-weight: normal !important;
    }

    /* ========================================
       ALBUM PRINT - ADDITIONAL ELEMENTS
       ======================================== */

    /* Hide album share bar, streaming, cover thumbs, navigation, copy links, lightbox */
    .album-share-bar,
    .album-streaming-platforms,
    .album-cover-thumbs,
    .album-navigation,
    .album-related-articles,
    .track-copy-link-btn,
    .track-download-btn,
    .album-cover-lightbox,
    #related-content-album,
    [data-component="offline-album"],
    [data-component="related-content"],
    [data-component="favorites"] {
        display: none !important;
    }

    /* ========================================
       ARTICLE PRINT - SOURCE URL
       ======================================== */

    /* Show source URL at end of article */
    .print-source-url {
        display: block !important;
        margin-top: 16pt !important;
        padding-top: 8pt !important;
        border-top: 0.5pt solid #ccc !important;
        font-size: 9pt !important;
        color: #555 !important;
        font-family: 'Arial', sans-serif !important;
    }

    /* Related content below article */
    #related-content-article {
        display: none !important;
    }

    /* ========================================
       MEMBER DETAIL PAGE
       ======================================== */

    .member-detail {
        padding: 0 !important;
    }

    .member-hero {
        display: flex !important;
        gap: 12pt !important;
        margin-bottom: 16pt !important;
        align-items: flex-start !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .member-photo-wrapper {
        width: 120pt !important;
        flex-shrink: 0 !important;
    }

    .member-photo-wrapper img {
        width: 120pt !important;
        height: auto !important;
        border: 0.5pt solid #ccc !important;
        filter: none !important;
        -webkit-filter: none !important;
    }

    .member-info {
        flex: 1 !important;
    }

    .member-info h1 {
        font-size: 18pt !important;
        margin-bottom: 4pt !important;
    }

    .member-role-display {
        font-size: 12pt !important;
        font-style: italic;
        color: #555 !important;
        margin-bottom: 4pt !important;
    }

    .member-meta {
        font-size: 10pt !important;
        color: #555 !important;
    }

    .member-meta-item {
        display: inline !important;
        margin-right: 8pt !important;
    }

    /* Hide tab navigation but show all tab panels */
    .member-tabs {
        display: none !important;
    }

    .member-tab-panel {
        display: block !important;
        padding: 0 !important;
    }

    .member-biography {
        font-size: 11pt !important;
        line-height: 1.6 !important;
        margin-bottom: 12pt !important;
    }

    .member-section {
        margin-bottom: 8pt !important;
    }

    .member-discography-grid {
        display: block !important;
    }

    .member-album-card {
        display: inline-block !important;
        margin-right: 8pt !important;
        margin-bottom: 4pt !important;
        font-size: 10pt !important;
        text-decoration: none !important;
    }

    .member-discography-heading {
        font-size: 13pt !important;
        margin-bottom: 6pt !important;
    }

    /* Deceased badge - show in print */
    .member-deceased-badge,
    .member-founder-badge {
        font-size: 9pt !important;
        border: 0.5pt solid #999 !important;
        padding: 1pt 4pt !important;
    }

    /* ========================================
       MEMBERS LISTING PAGE
       ======================================== */

    .member-card {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .member-card img {
        filter: none !important;
        -webkit-filter: none !important;
    }

    /* ========================================
       GUESTBOOK PAGE
       ======================================== */

    .guestbook-entry {
        page-break-inside: avoid;
        break-inside: avoid;
        margin-bottom: 8pt !important;
        padding-bottom: 6pt !important;
        border-bottom: 0.5pt solid #ddd !important;
    }

    .guestbook-entry-author {
        font-weight: bold;
        font-size: 11pt !important;
    }

    .guestbook-entry-date {
        font-size: 9pt !important;
        color: #666 !important;
    }

    .guestbook-entry-text {
        font-size: 11pt !important;
    }

    /* ========================================
       PRINT HEADER / FOOTER INFO
       ======================================== */

    /* Add source URL at the bottom of the page content */
    body::after {
        content: none !important;
    }

    /* ========================================
       CONCERT MAP PAGE
       ======================================== */

    /* Hide interactive map and controls (they are non-printable) */
    .concert-map-container,
    #concert-map,
    .concert-map-controls,
    .concert-map-decade-slider,
    .map-control-legend,
    .concert-map-filters,
    .concert-map-loading {
        display: none !important;
    }

    .concert-map-page {
        padding: 0 !important;
    }

    .concert-map-header {
        margin-bottom: 12pt !important;
    }

    .concert-map-header h1 {
        font-size: 20pt !important;
    }

    .concert-map-header p {
        font-size: 11pt !important;
    }

    /* Stats dashboard - show as simple list */
    .concert-map-stats-dashboard {
        margin-bottom: 12pt !important;
    }

    .concert-map-stats {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8pt !important;
    }

    .concert-map-stat {
        font-size: 10pt !important;
    }

    .concert-map-stat__dot {
        display: inline-block !important;
        width: 6pt !important;
        height: 6pt !important;
        border-radius: 50% !important;
        margin-right: 2pt !important;
    }

    /* Sidebar event list - show as a printable table */
    .concert-map-layout {
        display: block !important;
    }

    .concert-map-sidebar {
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .concert-map-sidebar__list {
        max-height: none !important;
        overflow: visible !important;
    }

    .concert-map-event {
        page-break-inside: avoid;
        break-inside: avoid;
        padding: 4pt 0 !important;
        border-bottom: 0.5pt solid #ddd !important;
        margin-bottom: 4pt !important;
    }

    .concert-map-event__badge {
        font-size: 8pt !important;
        padding: 1pt 4pt !important;
        border-radius: 2pt !important;
        color: #fff !important;
    }

    .concert-map-event__title {
        font-size: 11pt !important;
        font-weight: bold;
    }

    .concert-map-event__meta {
        font-size: 9pt !important;
        color: #555 !important;
    }

    /* ========================================
       API DOCS PAGE
       ======================================== */

    .api-docs-page {
        padding: 0 !important;
    }

    .api-docs-layout {
        display: block !important;
    }

    /* Hide sidebar navigation and interactive elements */
    .api-docs-sidebar,
    .api-docs-sidebar-toggle,
    .api-docs-search,
    .api-docs-try,
    .api-docs-try-btn,
    .api-docs-json-link,
    .api-docs-footer-link {
        display: none !important;
    }

    .api-docs-content {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .api-docs-hero {
        margin-bottom: 12pt !important;
        padding: 0 !important;
    }

    .api-docs-hero__title {
        font-size: 20pt !important;
    }

    .api-docs-hero__desc {
        font-size: 11pt !important;
    }

    .api-docs-info-grid {
        display: block !important;
    }

    .api-docs-info-card {
        margin-bottom: 6pt !important;
        padding: 4pt 0 !important;
        border-bottom: 0.5pt solid #ddd !important;
    }

    .api-docs-info-card h3 {
        font-size: 11pt !important;
        margin-bottom: 2pt !important;
    }

    .api-docs-code-inline {
        font-size: 10pt !important;
        border: 0.5pt solid #ccc !important;
        padding: 1pt 3pt !important;
    }

    .api-docs-section {
        margin-bottom: 12pt !important;
    }

    .api-docs-section__title,
    .api-docs-category__title {
        font-size: 14pt !important;
        margin-bottom: 6pt !important;
        border-bottom: 0.5pt solid #ccc !important;
        padding-bottom: 3pt !important;
    }

    .api-docs-code-block {
        font-size: 9pt !important;
        border: 0.5pt solid #ccc !important;
        padding: 4pt 6pt !important;
        white-space: pre-wrap !important;
        word-wrap: break-word !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .api-docs-endpoint {
        page-break-inside: avoid;
        break-inside: avoid;
        margin-bottom: 10pt !important;
        padding: 6pt 0 !important;
        border-bottom: 0.5pt solid #eee !important;
    }

    .api-docs-endpoint__header {
        margin-bottom: 4pt !important;
    }

    .api-docs-method-badge,
    .api-docs-method-badge--lg {
        font-size: 8pt !important;
        font-weight: bold !important;
        padding: 1pt 3pt !important;
        border: 0.5pt solid #999 !important;
    }

    .api-docs-endpoint__path {
        font-size: 10pt !important;
    }

    .api-docs-endpoint__summary {
        font-size: 11pt !important;
    }

    .api-docs-params__table {
        font-size: 9pt !important;
    }

    .api-docs-badge {
        font-size: 8pt !important;
        border: 0.5pt solid #999 !important;
        padding: 1pt 3pt !important;
    }

    /* ========================================
       CONTACTS PAGE
       ======================================== */

    .contacts-page-v2 {
        padding: 0 !important;
    }

    .contacts-hero {
        margin-bottom: 12pt !important;
        padding: 0 !important;
        min-height: auto !important;
    }

    .contacts-hero__title {
        font-size: 20pt !important;
    }

    .contacts-hero__subtitle {
        font-size: 11pt !important;
        color: #555 !important;
    }

    .contacts-grid {
        display: block !important;
    }

    /* Contact cards */
    .contact-card {
        page-break-inside: avoid;
        break-inside: avoid;
        margin-bottom: 8pt !important;
        padding: 6pt 0 !important;
        border-bottom: 0.5pt solid #ddd !important;
    }

    .contact-card__icon-wrap {
        display: none !important;
    }

    .contact-card__title {
        font-size: 12pt !important;
        margin-bottom: 2pt !important;
    }

    .contact-card__text {
        font-size: 10pt !important;
    }

    .contact-card__email-link {
        font-size: 11pt !important;
    }

    /* Hide interactive copy button and social links */
    .contact-card__copy-btn,
    .contact-social-links,
    .contacts-toast {
        display: none !important;
    }

    /* Hide contact form in print (not useful on paper) */
    .contact-form-section {
        display: none !important;
    }

    /* FAQ accordion: force all details open for print */
    .contacts-faq {
        page-break-before: auto;
        margin-top: 12pt !important;
    }

    .contacts-faq__title {
        font-size: 14pt !important;
        margin-bottom: 8pt !important;
        border-bottom: 0.5pt solid #ccc !important;
        padding-bottom: 3pt !important;
    }

    .contacts-faq__item {
        page-break-inside: avoid;
        break-inside: avoid;
        margin-bottom: 6pt !important;
    }

    /* Force all FAQ details elements to be open */
    .contacts-faq__item[open],
    .contacts-faq__item:not([open]) {
        display: block !important;
    }

    .contacts-faq__item > .contacts-faq__answer {
        display: block !important;
    }

    .contacts-faq__question {
        font-size: 11pt !important;
        font-weight: bold;
        cursor: default !important;
        list-style: none !important;
        margin-bottom: 2pt !important;
    }

    /* Remove the default disclosure triangle */
    .contacts-faq__question::-webkit-details-marker,
    .contacts-faq__question::marker {
        display: none !important;
        content: none !important;
    }

    .contacts-faq__answer {
        font-size: 10pt !important;
        padding-left: 8pt !important;
        border-left: 1pt solid #ddd !important;
    }

    /* ========================================
       OFFLINE PAGE
       ======================================== */

    /* The offline page uses inline styles and a standalone layout.
       No external print.css is loaded for it (no header/footer partial).
       These rules exist as a safeguard if print.css is ever linked. */

    .offline-container {
        max-width: 100% !important;
    }

    .offline-vinyl-wrapper,
    .offline-tonearm,
    .offline-bg-glow,
    .offline-retry,
    .offline-dynamic-section,
    .offline-last-visit {
        display: none !important;
    }

    .offline-heading {
        font-size: 16pt !important;
    }

    .offline-message {
        font-size: 11pt !important;
    }

    .offline-cached-links a {
        display: inline !important;
        padding: 0 !important;
        border: none !important;
    }

    /* ========================================
       TIMELINE PAGE (CLASSIC)
       ======================================== */

    .timeline-page {
        padding: 0 !important;
        max-width: 100% !important;
    }

    .timeline-page-header {
        margin-bottom: 12pt !important;
    }

    .timeline-page-header h1 {
        font-size: 20pt !important;
    }

    .timeline-subtitle {
        font-size: 11pt !important;
        color: #555 !important;
    }

    /* Remove the decorative vertical line */
    .timeline::before {
        display: none !important;
    }

    .timeline {
        padding-left: 0 !important;
    }

    /* Timeline items - remove animations and decoration */
    .timeline-item {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        padding-bottom: 10pt !important;
        page-break-inside: avoid;
        break-inside: avoid;
        border-bottom: 0.5pt solid #ddd !important;
        margin-bottom: 8pt !important;
    }

    /* Remove dot decoration */
    .timeline-item::before {
        display: none !important;
    }

    .timeline-item.memorial {
        background: transparent !important;
        border: 1pt solid #999 !important;
        padding: 6pt !important;
    }

    .timeline-year {
        font-size: 14pt !important;
        font-weight: bold;
    }

    .timeline-content h3 {
        font-size: 12pt !important;
    }

    .timeline-content p {
        font-size: 10pt !important;
        opacity: 1 !important;
    }

    .timeline-album-tag {
        font-size: 9pt !important;
        border: 0.5pt solid #999 !important;
        padding: 1pt 3pt !important;
    }

    .timeline-era::before {
        display: none !important;
    }

    .timeline-era span {
        font-size: 10pt !important;
        font-weight: bold;
        padding: 0 !important;
    }

    .timeline-cta {
        display: none !important;
    }

    /* ========================================
       TIMELINE IMMERSIVE (SCROLLYTELLING)
       ======================================== */

    /* Hide scroll-driven interactive elements */
    .scrollytelling-progress,
    .scrollytelling-sidebar,
    .year-counter,
    .scroll-indicator,
    .era-divider,
    .era-parallax-cover,
    .cta-links {
        display: none !important;
    }

    .scrollytelling {
        padding: 0 !important;
    }

    .scrollytelling-hero {
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
        margin-bottom: 12pt !important;
    }

    .hero-inner h1 {
        font-size: 20pt !important;
    }

    .hero-year-range {
        font-size: 14pt !important;
        margin-bottom: 4pt !important;
    }

    .hero-subtitle {
        font-size: 11pt !important;
    }

    .era-section {
        page-break-inside: avoid;
        break-inside: avoid;
        padding: 8pt 0 !important;
        margin-bottom: 10pt !important;
        border-bottom: 0.5pt solid #ddd !important;
        min-height: auto !important;
        height: auto !important;
    }

    .era-section.era-memorial {
        border: 1pt solid #999 !important;
        padding: 6pt !important;
    }

    .era-content {
        position: relative !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .era-label {
        font-size: 9pt !important;
        font-weight: bold;
        text-transform: uppercase !important;
    }

    .era-year-title {
        font-size: 16pt !important;
    }

    .era-name {
        font-size: 13pt !important;
        margin-bottom: 4pt !important;
    }

    .memorial-dates {
        font-size: 11pt !important;
        font-style: italic;
    }

    .era-description,
    .era-description.text-reveal,
    .era-description.text-reveal span {
        opacity: 1 !important;
        transform: none !important;
        font-size: 10pt !important;
    }

    .era-events {
        font-size: 10pt !important;
        padding-left: 16pt !important;
    }

    .era-events li {
        margin-bottom: 2pt !important;
    }

    .era-albums {
        margin-top: 4pt !important;
    }

    .era-album {
        font-size: 9pt !important;
        display: inline !important;
        margin-right: 6pt !important;
    }

    .era-album svg {
        display: none !important;
    }

    .scrollytelling-outro {
        min-height: auto !important;
        height: auto !important;
        padding: 12pt 0 !important;
    }

    .scrollytelling-outro h2 {
        font-size: 16pt !important;
    }

    .scrollytelling-outro p {
        font-size: 10pt !important;
        opacity: 1 !important;
    }

    /* ========================================
       ABOUT PAGE
       ======================================== */

    .about-page {
        padding: 0 !important;
    }

    .about-progress,
    .about-section-indicator,
    .about-share-btn,
    .about-hero__aurora {
        display: none !important;
    }

    .about-hero--enhanced {
        min-height: auto !important;
        padding: 0 !important;
        margin-bottom: 12pt !important;
    }

    .about-hero--enhanced h1 {
        text-shadow: none !important;
        font-size: 20pt !important;
    }

    .about-hero__years,
    .about-hero__subtitle {
        font-size: 11pt !important;
        color: #555 !important;
    }

    .about-member-card {
        page-break-inside: avoid;
        break-inside: avoid;
        margin-bottom: 8pt !important;
        border: 0.5pt solid #ddd !important;
    }

    .about-member-card img {
        width: 60pt !important;
        height: 60pt !important;
    }

    .about-number-card {
        display: inline-block !important;
        width: auto !important;
        margin-bottom: 4pt !important;
        border: 0.5pt solid #ddd !important;
    }

    .about-number-card__value {
        font-size: 16pt !important;
        color: #000 !important;
    }

    .about-number-card__label {
        font-size: 9pt !important;
        color: #555 !important;
    }

    /* ========================================
       HISTORY PAGE
       ======================================== */

    .history-page {
        padding: 0 !important;
    }

    .history-hero-share-btn,
    .history-hero [style*="hist-aurora"],
    .decade-nav,
    .history-filter,
    .history-search,
    .history-back-top,
    .history-lightbox,
    .history-share-btn,
    .history-skeleton {
        display: none !important;
    }

    .history-hero {
        min-height: auto !important;
        padding: 0 !important;
        margin-bottom: 12pt !important;
    }

    .history-hero__title {
        font-size: 20pt !important;
    }

    .history-hero__years,
    .history-hero__subtitle {
        font-size: 11pt !important;
        color: #555 !important;
    }

    .history-year-marker__label {
        font-size: 14pt !important;
        font-weight: bold !important;
        color: #000 !important;
    }

    .history-year-marker__line {
        border-bottom: 0.5pt solid #999 !important;
        background: none !important;
        height: 0 !important;
    }

    .history-item {
        page-break-inside: avoid;
        break-inside: avoid;
        opacity: 1 !important;
        transform: none !important;
        margin-bottom: 6pt !important;
        padding-bottom: 6pt !important;
        border-bottom: 0.5pt solid #ddd !important;
    }

    .history-dot {
        display: none !important;
    }

    .history-content {
        transform: none !important;
        padding-left: 0 !important;
    }

    .history-year {
        font-weight: bold !important;
        font-size: 10pt !important;
        color: #555 !important;
    }

    .history-category-badge {
        font-size: 8pt !important;
        border: 0.5pt solid #999 !important;
        padding: 1pt 4pt !important;
    }

    .history-title {
        font-size: 12pt !important;
        margin-bottom: 2pt !important;
    }

    .history-desc {
        font-size: 10pt !important;
        color: #333 !important;
    }

    .history-photo {
        margin: 4pt 0 !important;
    }

    .history-photo img {
        max-width: 200pt !important;
    }

    .history-more-link {
        margin-top: 12pt !important;
    }

    .history-more-link .btn-primary,
    .history-more-link .btn-secondary {
        display: inline !important;
        padding: 2pt 6pt !important;
        border: 0.5pt solid #999 !important;
        font-size: 10pt !important;
        text-decoration: underline !important;
    }

}
