/* ===================================
   WILES-MENSCH PROPOSAL PRINT STYLES
   Clean, tight, no boxes
   =================================== */

@media print {
    /* RESET FOR PRINT */
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
        border: none !important;
    }

    /* PAGE SETUP */
    @page {
        margin: 0.5in;
        size: letter portrait;
    }

    html,
    body {
        font-size: 10pt;
        line-height: 1.35;
        font-family: 'Inter', Arial, sans-serif;
    }

    /* HIDE DECORATIVE ELEMENTS */
    .recommended-badge,
    h2::after {
        display: none !important;
    }

    /* SHOW LOGOS */
    .logo-item {
        padding: 0 !important;
        background: none !important;
        border: none !important;
    }

    /* HEADER */
    .proposal-header {
        padding: 0 0 8pt;
        margin-bottom: 8pt;
        border-bottom: 1pt solid #000 !important;
    }

    .logo-lockup {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12pt;
    }

    .logo-rt7,
    .logo-wm {
        height: 0.4in !important;
        width: auto;
        filter: none !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .header-title {
        text-align: center;
    }

    .header-title h1 {
        font-size: 18pt;
        font-weight: 700;
        margin-bottom: 2pt;
    }

    .subtitle {
        font-size: 10pt;
        font-weight: 400;
    }

    /* TYPOGRAPHY */
    h2 {
        font-size: 12pt;
        font-weight: 700;
        margin-top: 12pt;
        margin-bottom: 6pt;
        padding-bottom: 0;
        text-transform: uppercase;
        letter-spacing: 0.5pt;
    }

    h3 {
        font-size: 11pt;
        font-weight: 700;
        margin-bottom: 3pt;
    }

    h4 {
        font-size: 10pt;
        font-weight: 700;
        margin-top: 6pt;
        margin-bottom: 3pt;
    }

    p {
        margin-bottom: 4pt;
        orphans: 3;
        widows: 3;
    }

    .lead {
        font-size: 10pt;
        line-height: 1.4;
        margin-bottom: 8pt;
    }

    /* CONTAINER */
    .container {
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    /* SECTIONS */
    section {
        padding: 6pt 0;
    }

    /* OVERVIEW */
    .overview {
        margin-bottom: 0;
    }

    /* NOTE FROM MARTY */
    .note-from-marty {
        padding: 4pt 0;
    }

    .marty-note {
        padding: 0;
        margin-bottom: 6pt;
    }

    .marty-note h3 {
        font-size: 10pt;
        margin-bottom: 3pt;
    }

    .marty-note h3::before {
        display: none;
    }

    .marty-note p {
        font-size: 9pt;
        line-height: 1.4;
        margin: 0;
    }

    /* OPTION CARDS */
    .option-card {
        margin-bottom: 12pt;
        page-break-inside: avoid;
    }

    .option-card.recommended .option-header h3:after {
        content: " (RECOMMENDED)";
        font-weight: 700;
        font-size: 9pt;
    }

    .option-header {
        padding: 0;
        margin-bottom: 4pt;
        border-bottom: 0.5pt solid #999 !important;
        padding-bottom: 4pt;
    }

    .option-tagline {
        font-size: 9pt;
        font-style: italic;
        margin-top: 2pt;
    }

    .option-body {
        padding: 0;
    }

    .option-description {
        font-size: 9pt;
        line-height: 1.4;
        margin-bottom: 6pt;
    }

    /* LISTS */
    .scope-list {
        list-style: none;
        margin: 0 0 6pt 0;
        padding: 0;
        columns: 2;
        column-gap: 12pt;
    }

    .scope-list li {
        padding-left: 10pt;
        margin-bottom: 2pt;
        font-size: 8.5pt;
        line-height: 1.3;
        break-inside: avoid;
    }

    .scope-list li:before {
        content: "✓ ";
        margin-left: -10pt;
        font-weight: 700;
    }

    /* PRICING TABLES */
    .pricing {
        margin-top: 6pt;
    }

    .pricing h4 {
        margin-bottom: 3pt;
    }

    .pricing-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 9pt;
    }

    .pricing-table tr {
        border-bottom: 0.5pt solid #ccc !important;
    }

    .pricing-table td {
        padding: 3pt 0;
        line-height: 1.2;
    }

    .pricing-table td:last-child {
        text-align: right;
        font-weight: 600;
        width: 80pt;
    }

    .pricing-table .included {
        font-weight: 700;
    }

    .pricing-table .total-row {
        border-top: 1pt solid #000 !important;
        border-bottom: none !important;
    }

    .pricing-table .total-row td {
        font-size: 10pt;
        padding-top: 4pt;
        font-weight: 700;
    }

    /* COMPARISON TABLE */
    .comparison {
        margin-top: 8pt;
    }

    .table-wrapper {
        overflow: visible;
    }

    .comparison-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 8.5pt;
        min-width: 0;
    }

    .comparison-table th,
    .comparison-table td {
        padding: 3pt 6pt;
        text-align: left;
        line-height: 1.25;
        border-bottom: 0.5pt solid #ccc !important;
    }

    .comparison-table thead tr {
        border-bottom: 1pt solid #000 !important;
    }

    .comparison-table th {
        font-weight: 700;
        font-size: 9pt;
    }

    .comparison-table .label {
        font-weight: 600;
    }

    .comparison-table .recommended-col {
        font-weight: 600;
    }

    /* ONGOING HOSTING */
    .ongoing-hosting {
        margin-top: 8pt;
    }

    .ongoing-grid {
        display: flex;
        gap: 24pt;
        margin-top: 6pt;
    }

    .ongoing-col {
        flex: 1;
    }

    .ongoing-col h4 {
        font-size: 10pt;
        margin-bottom: 4pt;
    }

    .ongoing-col ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .ongoing-col li {
        padding-left: 10pt;
        margin-bottom: 2pt;
        font-size: 9pt;
        line-height: 1.3;
    }

    .ongoing-col li:before {
        content: "✓ ";
        margin-left: -10pt;
    }

    .cost-list li {
        display: flex;
        justify-content: space-between;
        padding: 4pt 0;
        border-bottom: 0.5pt solid #ccc !important;
    }

    .cost-list li:before {
        display: none;
    }

    .cost-list li span {
        font-weight: 700;
    }

    /* TIMELINE */
    .timeline {
        margin-top: 8pt;
    }

    .timeline-grid {
        display: flex;
        gap: 12pt;
        margin-top: 4pt;
    }

    .timeline-item {
        flex: 1;
        padding: 0;
    }

    .timeline-item h4 {
        margin-top: 0;
        margin-bottom: 2pt;
        font-size: 9pt;
    }

    .timeline-item p {
        font-size: 9pt;
        margin-bottom: 0;
    }

    /* NEXT STEPS */
    .next-steps {
        margin-top: 8pt;
    }

    .steps-list {
        list-style: decimal;
        margin: 4pt 0 4pt 16pt;
        padding: 0;
    }

    .steps-list li {
        padding-left: 0;
        margin-bottom: 3pt;
        font-size: 9pt;
        line-height: 1.4;
    }

    .steps-list li:before {
        display: none;
    }

    .validity-note {
        margin-top: 6pt;
        font-size: 8pt;
        font-style: italic;
    }

    /* FOOTER */
    .proposal-footer {
        padding: 8pt 0 0;
        margin-top: 12pt;
        border-top: 1pt solid #000 !important;
    }

    .footer-content {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .footer-logo-img {
        height: 0.35in;
        width: auto;
        filter: none !important;
    }

    .footer-contact {
        text-align: right;
        font-size: 8pt;
    }

    .footer-contact p {
        margin-bottom: 1pt;
        line-height: 1.3;
    }

    .footer-contact a {
        text-decoration: none;
    }

    /* PAGE BREAKS */
    h2, h3, h4 {
        page-break-after: avoid;
    }

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

    /* LINKS */
    a {
        text-decoration: none;
    }

    a[href]:after {
        content: none !important;
    }
}
