/* Print Styles for Binder Labels */
/* Label size: 2.5in wide × 3.5in tall */
/* Layout: 2 columns × 3 rows = 6 labels per page */

@media print {
    /* Page setup - remove all margins from page */
    @page {
        size: letter portrait;
        margin: 0.25in;
    }
    
    /* Hide browser headers/footers */
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        background: white;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    /* Hide non-printable elements */
    .container {
        box-shadow: none;
        border-radius: 0;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100%;
        background: white;
    }
    
    header,
    .search-section,
    .results-header,
    .set-header,
    button,
    .btn-text,
    .btn-icon {
        display: none !important;
    }
    
    /* Results container */
    .results-container {
        display: grid;
        grid-template-columns: repeat(3, 2.45in);
        grid-auto-rows: 3.3in;
        gap: 0.1in;
        margin: 0;
        padding: 0;
    }
    
    /* Make sets transparent for layout - all cards flow continuously */
    .set {
        display: contents;
    }
    
    /* Hide individual card grids, use container grid instead */
    .cards-grid {
        display: contents;
    }
    
    /* Card label styling - max 2.5in x 3.5in */
    .card {
        width: 2.45in;
        height: 3.3in;
        padding: 0.1in;
        box-sizing: border-box;
        box-shadow: none;
        border: 1px solid #999;
        border-radius: 4px;
        page-break-inside: avoid;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        background: #f9f9f9;
        cursor: default;
        overflow: hidden;
        position: relative;
    }
    
    /* Adjust for no images */
    body:not(.print-with-images) .results-container {
        grid-auto-rows: 3.3in;
    }
    
    body:not(.print-with-images) .card {
        height: 3.3in;
        justify-content: center;
        gap: 0.05in;
    }
    
    body:not(.print-with-images) .set-info {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    body:not(.print-with-images) .card-info {
        flex-direction: column;
        gap: 0.05in;
    }
    
    /* When WITH images, tighter spacing */
    body.print-with-images .card {
        height: 3.3in;
        justify-content: flex-start;
        padding: 0.1in;
        overflow: hidden;
        gap: 0 !important;
    }
    
    /* Push text content to bottom */
    body.print-with-images .set-info {
        margin-top: auto !important;
        margin-bottom: 0.01in !important;
    }
    
    body.print-with-images .card-number {
        margin-top: 0 !important;
    }
    
    .card:hover {
        transform: none;
        box-shadow: none;
    }
    
    /* Card image - fills available space */
    .card-image-container {
        width: 100% !important;
        height: 2.6in !important;
        max-height: 2.6in !important;
        min-height: 2.6in !important;
        margin: 0 !important;
        padding: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden;
        flex-shrink: 0;
        flex-grow: 0;
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: relative !important;
    }
    
    body:not(.print-with-images) .card-image-container {
        display: none !important;
    }
    
    .card-image {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        transform: none !important;
    }
    
    /* Card name - hide when images shown, show when not */
    .card-name {
        font-size: 9pt;
        font-weight: bold;
        line-height: 1.1;
        color: black;
        text-align: center;
        margin-bottom: 0.02in;
        width: 100%;
        max-height: 0.4in;
        word-wrap: break-word;
        overflow-wrap: break-word;
        display: block;
        visibility: visible;
        flex-shrink: 0;
    }
    
    body.print-with-images .card-name {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
        visibility: hidden !important;
    }
    
    /* Set info container - set icon and name only */
    .card .set-info {
        display: flex !important;
        align-items: baseline;
        justify-content: center;
        gap: 0.03in;
        margin: 0 !important;
        width: 100%;
        font-size: 8pt;
        color: #333;
        visibility: visible;
        flex-shrink: 0;
        flex-grow: 0;
        line-height: 1;
    }
    
    .card .set-symbol {
        height: 14px;
        width: auto;
        display: inline-block !important;
        visibility: visible;
        flex-shrink: 0;
    }
    
    .card .set-name {
        display: inline-block !important;
        visibility: visible;
        color: #333;
        font-size: 8pt;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    /* Card info container - holds variant and number on same line */
    .card-info {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.05in;
        width: 100%;
        flex-shrink: 0;
        margin: 0;
    }
    
    /* Card number - separate line below set info */
    .card-number {
        font-size: 8pt;
        font-weight: bold;
        color: #333;
        text-align: center;
        margin: 0 !important;
        width: 100%;
        display: block !important;
        visibility: visible !important;
        flex-shrink: 0;
        flex-grow: 0;
    }
    
    body.print-with-images .card-number {
        display: inline-block !important;
        width: auto !important;
    }
    
    /* Variant - hide when images shown */
    .card-variant {
        font-size: 7pt;
        background: white;
        color: #444;
        border: 1px solid #999;
        border-radius: 3px;
        padding: 2px 5px;
        display: inline-block;
        text-align: center;
        max-width: 90%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        visibility: visible;
        flex-shrink: 0;
        margin: 0 !important;
    }
    
    body.print-with-images .card-variant {
        display: inline-block !important;
        border: 1px solid #999 !important;
        background: white !important;
        padding: 2px 5px !important;
        margin-right: 0.05in !important;
        font-size: 8pt !important;
        font-weight: bold !important;
    }
    
    /* Rarity - hide in print */
    .card-rarity {
        display: none;
    }
    
    /* Remove set labels */
    .set::before {
        display: none;
    }
}
