/* ==========================================================================
   Print Styles – Duo Armonico
   Linked via <link rel="stylesheet" href="/assets/css/print.css" media="print">
   ========================================================================== */

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

html {
    font-size: 12pt;
}

body {
    font-family: Georgia, "Times New Roman", serif;
    background: #fff !important;
    color: #000;
    line-height: 1.5;
    margin: 0;
}

/* Typography */
h1 {
    font-size: 22pt;
}

h2 {
    font-size: 16pt;
}

h3 {
    font-size: 13pt;
}

h1,
h2,
h3 {
    page-break-after: avoid;
    orphans: 3;
    widows: 3;
}

p,
li {
    orphans: 3;
    widows: 3;
}

/* Links – show URL after link text */
a[href]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    font-style: italic;
    word-break: break-all;
}

/* Suppress URL for anchors, mailto and tel that aren't useful on paper */
a[href^="#"]::after,
a[href^="mailto:"]::after,
a[href^="tel:"]::after {
    content: none;
}

/* Hide non-printable elements (nav, toggles, hero video, video facades) */
.site-header,
.skip-link,
.theme-toggle,
.nav-toggle,
.hero-media,
.hero-overlay,
.hero-actions,
.gallery,
.section-cta,
.cta-band__action,
.video-strip,
video,
iframe,
.site-footer {
    display: none !important;
}

/* Sections use .reveal for scroll animations - make sure everything
   is fully visible on paper, even if it was never scrolled into view */
.reveal {
    opacity: 1 !important;
    transform: none !important;
}

/* Show hero text without the photo */
.hero {
    min-height: 0 !important;
    max-height: none !important;
    padding: 1.5rem 0 1rem;
    page-break-after: avoid;
}

.hero-content {
    position: static;
    padding: 0;
}

.hero-eyebrow,
.hero-subline {
    color: #000 !important;
}

/* Layout – single column */
.container,
.container.narrow {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.split-intro,
.artist-card,
.repertoire-grid,
.occasions-grid,
.value-grid,
.steps {
    display: block !important;
}

/* Artist cards – image left, text right in print */
.artist-card {
    display: grid !important;
    grid-template-columns: 28% 1fr;
    gap: 1rem;
    border: 1pt solid #ccc;
    padding: 0.5rem;
    margin-bottom: 1rem;
    page-break-inside: avoid;
}

.artist-card img {
    transform: none !important;
}

/* Sections */
.section,
.section-alt {
    padding: 1rem 0;
    border: none;
    page-break-inside: avoid;
}

.section-alt {
    border-top: 1pt solid #bbb;
    border-bottom: 1pt solid #bbb;
}

/* Tiles, occasions, steps */
.tile,
.occasion,
.step {
    border: 1pt solid #ccc;
    padding: 0.5rem;
    margin-bottom: 0.6rem;
    page-break-inside: avoid;
}

/* Frame card – keep image visible */
.frame-card {
    border: 1pt solid #ccc;
    padding: 0;
}

.frame-card img {
    aspect-ratio: auto;
    max-height: 120pt;
    object-fit: contain;
}

/* FAQ */
.faq-list details {
    border: none;
    padding: 0;
    box-shadow: none;
}

.faq-list details[open],
.faq-list details {
    display: block;
}

.faq-list summary {
    font-weight: bold;
    list-style: none;
}

.faq-list summary::after {
    content: none;
}

/* Contact band – show address/email only */
.cta-band {
    border: 1pt solid #ccc;
    padding: 0.8rem;
}

/* Eyebrow labels */
.eyebrow {
    font-size: 8pt;
    letter-spacing: 0.12em;
    color: #555 !important;
}
