/* Print Stylesheet - Swiss Design Principles */

@media print {
    /* Reset for print */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    
    /* Page setup */
    @page {
        margin: 2cm;
        size: A4;
    }
    
    /* Hide non-essential elements */
    .nav,
    .mega-footer,
    .skip-link,
    .cta-button,
    .form-submit,
    .faq-question::after {
        display: none !important;
    }
    
    /* Reset layout for print */
    body {
        font-size: 12pt;
        line-height: 1.4;
        color: #000000 !important;
        background: #ffffff !important;
    }
    
    .main {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    .grid-container {
        max-width: none !important;
        padding: 0 !important;
        display: block !important;
    }
    
    .grid-module {
        display: block !important;
        margin-bottom: 2cm !important;
        page-break-inside: avoid;
    }
    
    /* Typography for print */
    h1 {
        font-size: 24pt !important;
        margin-bottom: 12pt !important;
        page-break-after: avoid;
    }
    
    h2 {
        font-size: 18pt !important;
        margin-top: 24pt !important;
        margin-bottom: 12pt !important;
        page-break-after: avoid;
    }
    
    h3 {
        font-size: 14pt !important;
        margin-top: 18pt !important;
        margin-bottom: 6pt !important;
        page-break-after: avoid;
    }
    
    h4, h5, h6 {
        font-size: 12pt !important;
        margin-top: 12pt !important;
        margin-bottom: 6pt !important;
        page-break-after: avoid;
    }
    
    p {
        font-size: 11pt !important;
        line-height: 1.4 !important;
        margin-bottom: 12pt !important;
        text-align: justify;
        max-width: none !important;
    }
    
    /* Section titles */
    .section-title {
        font-size: 10pt !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5pt !important;
        margin-bottom: 12pt !important;
        border-bottom: 1pt solid #000000 !important;
        padding-bottom: 3pt !important;
    }
    
    /* Lists */
    ul, ol {
        margin-bottom: 12pt !important;
        padding-left: 18pt !important;
    }
    
    li {
        margin-bottom: 3pt !important;
        font-size: 11pt !important;
        line-height: 1.4 !important;
    }
    
    /* Principles list */
    .principles-list {
        display: block !important;
        margin-bottom: 12pt !important;
    }
    
    .principles-list li {
        display: inline !important;
        margin-right: 12pt !important;
        font-weight: 500 !important;
    }
    
    .principles-list li::before {
        content: '• ' !important;
    }
    
    /* Manifesto content */
    .manifesto-content {
        display: block !important;
    }
    
    .manifesto-column {
        margin-bottom: 18pt !important;
    }
    
    /* Programs grid */
    .programs-grid {
        display: block !important;
    }
    
    .program-tile {
        margin-bottom: 12pt !important;
        padding: 12pt !important;
        border: 1pt solid #000000 !important;
        page-break-inside: avoid;
    }
    
    .program-title {
        font-size: 11pt !important;
        font-weight: 600 !important;
        margin-bottom: 6pt !important;
    }
    
    .program-description {
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }
    
    /* Teams */
    .teams-grid {
        display: block !important;
    }
    
    .team-item {
        display: flex !important;
        justify-content: space-between !important;
        margin-bottom: 6pt !important;
        padding: 6pt 0 !important;
        border-bottom: 0.5pt solid #cccccc !important;
    }
    
    .team-name {
        font-size: 11pt !important;
        font-weight: 600 !important;
    }
    
    .team-count {
        font-size: 10pt !important;
    }
    
    /* Facts grid */
    .facts-grid {
        display: block !important;
    }
    
    .fact-item {
        display: inline-block !important;
        width: 30% !important;
        margin-right: 5% !important;
        margin-bottom: 18pt !important;
        text-align: center !important;
        vertical-align: top !important;
    }
    
    .fact-number {
        font-size: 24pt !important;
        font-weight: 700 !important;
        display: block !important;
        margin-bottom: 6pt !important;
    }
    
    .fact-label {
        font-size: 9pt !important;
        text-transform: uppercase !important;
    }
    
    /* Infrastructure */
    .infrastructure-content {
        display: block !important;
    }
    
    .infrastructure-item {
        margin-bottom: 18pt !important;
        page-break-inside: avoid;
    }
    
    .infrastructure-name {
        font-size: 12pt !important;
        font-weight: 600 !important;
        margin-bottom: 6pt !important;
    }
    
    .stat-row,
    .tech-category {
        display: flex !important;
        justify-content: space-between !important;
        margin-bottom: 3pt !important;
        font-size: 10pt !important;
    }
    
    /* Partners */
    .partners-grid {
        display: block !important;
    }
    
    .partner-logo {
        display: inline-block !important;
        margin-right: 12pt !important;
        margin-bottom: 6pt !important;
        font-size: 10pt !important;
        font-weight: 500 !important;
    }
    
    /* Contact form - show as text */
    .contact-form {
        display: none !important;
    }
    
    .contact-info::before {
        content: "Contact: " !important;
        font-weight: 600 !important;
    }
    
    /* FAQs */
    .faq-item {
        margin-bottom: 12pt !important;
        page-break-inside: avoid;
    }
    
    .faq-question {
        display: block !important;
        font-size: 11pt !important;
        font-weight: 600 !important;
        margin-bottom: 6pt !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }
    
    .faq-answer {
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
    }
    
    .faq-answer p {
        font-size: 10pt !important;
        margin-bottom: 6pt !important;
    }
    
    /* Location */
    .location-info {
        display: block !important;
    }
    
    .location-subtitle {
        font-size: 11pt !important;
        font-weight: 600 !important;
        margin-bottom: 6pt !important;
    }
    
    .address {
        margin-bottom: 12pt !important;
        font-size: 10pt !important;
    }
    
    .hours-item {
        display: flex !important;
        justify-content: space-between !important;
        margin-bottom: 3pt !important;
        font-size: 10pt !important;
    }
    
    /* Links */
    a {
        color: #000000 !important;
        text-decoration: underline !important;
    }
    
    a[href^="http"]:after {
        content: " (" attr(href) ")" !important;
        font-size: 8pt !important;
        color: #666666 !important;
    }
    
    /* Page breaks */
    .hero-section {
        page-break-after: avoid;
    }
    
    .section-title {
        page-break-after: avoid;
    }
    
    .program-tile,
    .team-item,
    .fact-item,
    .infrastructure-item,
    .faq-item {
        page-break-inside: avoid;
    }
    
    /* Borders and rules */
    .programs-section,
    .teams-section,
    .track-record-section,
    .infrastructure-section,
    .partners-section,
    .join-section,
    .governance-section,
    .press-section,
    .contact-section,
    .faqs-section,
    .location-section {
        border-top: 1pt solid #000000 !important;
        padding-top: 12pt !important;
        margin-top: 18pt !important;
    }
    
    /* Header for print */
    .hero-title::before {
        content: "Blockchain Club at Emory" !important;
        display: block !important;
        font-size: 10pt !important;
        font-weight: 400 !important;
        text-transform: uppercase !important;
        letter-spacing: 1pt !important;
        margin-bottom: 6pt !important;
        color: #666666 !important;
    }
}
