/* MasterBinder 0.0.9b — chrome compatto + card fit Binder */

/* =========================================================
   HEADER: più basso, brand e sottotitolo sulla stessa riga
   ========================================================= */
@media (min-width: 761px) {
    .main-header {
        height: 62px !important;
        min-height: 62px !important;
        padding: 5px 18px !important;
        align-items: center !important;
    }

    .brand-block {
        min-width: 0;
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        flex-wrap: nowrap !important;
    }

    .brand-title {
        flex: 0 0 auto;
        font-size: 28px !important;
        line-height: 34px !important;
    }

    .brand-subtitle {
        margin: 1px 0 0 !important;
        font-size: 12px !important;
        line-height: 18px !important;
        white-space: nowrap;
    }

    .brand-subtitle span {
        margin: 0 5px !important;
    }

    .header-right {
        min-height: 34px !important;
        height: 34px;
        gap: 6px !important;
    }

    .header-right .account-area {
        min-height: 32px !important;
        gap: 6px !important;
    }

    .header-right .header-link,
    .header-right .account-name,
    .header-right .role-badge,
    .header-right .header-button,
    .header-right > .header-status {
        min-height: 29px !important;
        height: 29px;
        display: inline-flex !important;
        align-items: center !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        line-height: 1 !important;
    }

    .header-right > .header-status {
        margin: 0 !important;
    }
}

/* =========================================================
   TAB BAR: leggermente più bassa e compatta
   ========================================================= */
@media (min-width: 761px) {
    .main-tabs {
        height: 36px !important;
        min-height: 36px !important;
        padding-left: 15px !important;
        align-items: flex-end !important;
        gap: 3px !important;
    }

    .tab {
        height: 31px !important;
        min-height: 31px !important;
        min-width: 132px !important;
        padding: 0 17px !important;
        font-size: 12.5px !important;
        border-radius: 6px 6px 0 0 !important;
    }
}

/* =========================================================
   BINDER DESKTOP: più spazio verticale al raccoglitore
   Header 62px + tabs 36px = 98px
   ========================================================= */
@media (min-width: 901px) {
    body.binder-detail-view .page-shell {
        height: calc(100dvh - 98px) !important;
        min-height: 0 !important;
        padding: 5px 12px 5px !important;
        overflow: hidden !important;
    }

    body.binder-detail-view .binder-detail-shell {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.binder-detail-view .binder-detail-toolbar {
        flex: 0 0 38px !important;
        min-height: 38px !important;
        height: 38px !important;
        padding: 3px 7px !important;
        margin-bottom: 4px !important;
        gap: 8px !important;
    }

    body.binder-detail-view .binder-title {
        font-size: 17px !important;
        line-height: 22px !important;
        font-weight: 650 !important;
    }

    body.binder-detail-view .binder-detail-toolbar .hunter-button {
        min-height: 29px !important;
        height: 29px !important;
        padding: 4px 10px !important;
        font-size: 11px !important;
    }

    body.binder-detail-view .binder-rightclick-help {
        font-size: 9px !important;
    }

    body.binder-detail-view .binder-spread-wrap {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 3px 3px 2px !important;
        overflow: hidden !important;
    }

    body.binder-detail-view .binder-spread {
        width: min(100%, 1380px) !important;
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) !important;
    }

    body.binder-detail-view .binder-page {
        min-height: 0 !important;
        padding: 6px !important;
    }

    body.binder-detail-view .binder-page-grid {
        min-height: 0 !important;
        gap: 6px !important;
    }

    body.binder-detail-view .binder-navigation {
        flex: 0 0 44px !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 4px 9px !important;
        gap: 8px !important;
    }

    body.binder-detail-view .binder-nav-arrow {
        min-height: 30px !important;
        height: 30px !important;
        font-size: 20px !important;
    }

    body.binder-detail-view .binder-jump-form input {
        min-height: 28px !important;
        height: 28px !important;
    }

    body.binder-detail-view .binder-navigation .hunter-button {
        min-height: 30px !important;
        padding: 4px 10px !important;
    }

    body.binder-detail-view .binder-page-status {
        font-size: 12px !important;
    }
}

/* =========================================================
   CARD FIT: la carta deve essere SEMPRE tutta dentro la tasca
   ========================================================= */
.binder-slot {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.binder-card-image-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 5px !important;
    margin: 0 !important;
    border: 0 !important;
    background: #0e1522 !important;
}

.binder-card-image-shell img {
    position: static !important;
    display: block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    height: auto !important;
    max-width: calc(100% - 4px) !important;
    max-height: calc(100% - 4px) !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

.binder-card-image-shell:not(:disabled):hover img {
    transform: none !important;
}

.binder-card-fallback {
    max-width: calc(100% - 8px) !important;
    max-height: calc(100% - 8px) !important;
    margin: auto !important;
}

/* Mobile/tablet: non comprimere aggressivamente il brand. */
@media (max-width: 760px) {
    .brand-block {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 10px;
    }

    .brand-subtitle {
        margin: 0 !important;
    }
}
