/* =============================================================
   Arman_BandenSwitcher   banden-switcher.css
   Laad via: Arman_BandenSwitcher::css/banden-switcher.css
   ============================================================= */

/* -------------------------------------------------------------
   1. INCH TABS (inch-tabs.phtml)
   ------------------------------------------------------------- */
.banden-inch-filter {
    margin: 20px 0 10px;
}
.banden-switcher-title {
    font-size: 1.4em;
    margin-bottom: 12px;
    font-weight: 600;
    color: #21314b;
}
.inch-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.inch-tab {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid #21314b;
    border-radius: 4px;
    background: #fff;
    color: #21314b;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: .03em;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease, box-shadow 0.25s ease;
    box-shadow: none;
}
.inch-tab:hover {
    background: #EF5B33;
    border-color: #EF5B33;
    color: #fff;
}
.inch-tab.active {
    background: #21314b;
    border-color: #21314b;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}

/* -------------------------------------------------------------
   2. SIZE SWITCHER TABEL (size-switcher.phtml)
   ------------------------------------------------------------- */
.banden-model-title {
    font-size: 1.6em;
    font-weight: 700;
    color: #21314b;
    margin-bottom: 6px;
}
.banden-model-text {
    color: #555;
    margin-bottom: 20px;
    font-size: 0.95em;
}
.banden-size-switcher {
    margin: 20px 0 40px !important;
    padding-bottom: 40px !important;
    font-family: inherit;
}
.banden-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
}
.banden-table th {
    background: #21314b;
    color: #fff;
    padding: 10px 12px;
    text-align: center;
    font-weight: 600;
    letter-spacing: .03em;
}
.banden-table th.sortable-price {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.banden-table th.sortable-price:hover {
    background: #EF5B33;
}
.sort-icon {
    font-size: 0.85em;
    opacity: 0.7;
    margin-left: 4px;
}
.banden-table th.sort-asc .sort-icon,
.banden-table th.sort-desc .sort-icon {
    opacity: 1;
}
.banden-table td {
    padding: 9px 12px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}
.banden-table tbody tr:nth-child(even) {
    background: #f5f5f5;
}
.banden-table tbody tr:hover {
    background: #fdf0ec;
}
.banden-row.current-product {
    background: #e8edf3 !important;
    font-weight: 600;
}
.banden-row td:first-child a {
    display: block;
    width: 100%;
    color: #21314b;
    font-weight: 500;
    text-decoration: none;
}
.banden-row td:first-child a:hover {
    color: #EF5B33;
}
.current-label {
    font-size: 0.78em;
    color: #21314b;
    margin-left: 4px;
}
.label-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 3px;
    font-weight: 600;
    font-size: 0.9em;
    min-width: 28px;
    text-align: center;
    color: #ffffff;
}
.label-badge--grip {
    background-color: #4ba6dd;
    color: #ffffff;
}
.label-badge--db {
    background-color: #000000;
    color: #ffffff;
    min-width: 36px;
}
.ms-check {
    color: #21314b;
    font-size: 1.2em;
    font-weight: bold;
}

/* -------------------------------------------------------------
   3. PRODUCT LABELS (product-labels.phtml)
   ------------------------------------------------------------- */
.product-attribute-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: 600;
    line-height: 1;
    background: #f3f5f8;
    color: #21314b;
    min-height: 28px;
}
.product-attribute-item .attribute-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 3px;
    flex-shrink: 0;
}
.product-attribute-item .attribute-icon i {
    color: #fff;
    font-size: 0.8em;
    line-height: 1;
}
.product-attribute-item.seizoen {
    position: relative;
    padding-left: 28px;
}
.product-attribute-item.seizoen .ico {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-size: contain;
    background-repeat: no-repeat;
}
.product-attribute-item.energielabel {
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 4px;
}
.product-attribute-item.energielabel.a { background: #00a753; }
.product-attribute-item.energielabel.b { background: #97cb31; }
.product-attribute-item.energielabel.c { background: #fef301; }
.product-attribute-item.energielabel.d { background: #feb800; }
.product-attribute-item.energielabel.e { background: #f2020a; }
.product-attribute-item.energielabel.f { background: #ec690d; }
.product-attribute-item.grip-op-glad-wegdek,
.product-attribute-item.externe-rolgeluid-auto-db {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 4px;
}

/* -------------------------------------------------------------
   4. FINDER WRAPPER (finder-wrapper.phtml)
   ------------------------------------------------------------- */
.finder-bottom-wrapper {
    width: 100%;
    padding: 40px 20px;
    box-sizing: border-box;
    margin-top: 20px;
}
.finder-bottom-wrapper h2 {
    color: #21314b;
    font-size: 1.6em;
    font-weight: 700;
    margin-bottom: 10px;
}
.finder-bottom-wrapper p {
    color: #555;
    margin-bottom: 20px;
}

/* -------------------------------------------------------------
   5. BRAND LIST (brand-list.phtml)
   ------------------------------------------------------------- */
.product-brand-list {
    width: 100%;
    padding: 40px 20px;
    box-sizing: border-box;
    margin-top: 20px;
}
.product-brand-list h2 {
    color: #21314b;
    font-size: 1.6em;
    font-weight: 700;
    margin-bottom: 10px;
}
.product-brand-list p {
    color: #555;
    margin-bottom: 20px;
}

/* -------------------------------------------------------------
   6. RESPONSIVE
   ------------------------------------------------------------- */

/* Chevron pijl alleen op mobiel */
.banden-card-arrow { display: none; }
@media (max-width: 768px) {
    .product-attribute-item {
        font-size: 0.85em;
        min-height: 24px;
        padding: 0 8px;
    }
    .product-attribute-item .attribute-icon {
        width: 16px;
        height: 16px;
    }

    /* =====================================================
       MOBIEL: tabel wordt vervangen door cards
       ===================================================== */

    .banden-table thead { display: none; }
    .banden-table,
    .banden-table tbody { display: block; width: 100%; }

    /* Groepheader */
    .banden-table tr.banden-group-header { display: flex; }
    .banden-table tr.banden-group-header td {
        display: block;
        width: 100%;
        border-radius: 8px 8px 0 0;
        margin-top: 12px;
        margin-bottom: 0;
    }

    /* Elke data-rij = card */
    .banden-table tr.banden-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        gap: 0;
        background: #fff;
        border: 1px solid #dde4ee;
        border-radius: 10px;
        margin-bottom: 10px;
        padding: 0;
        overflow: hidden;
        box-shadow: 0 2px 6px rgba(0,0,0,0.07);
    }
    .banden-table tr.banden-row.is-variant {
        border-top: none;
        border-radius: 0 0 10px 10px;
        margin-top: -1px;
        border-left: 4px solid #EF5B33;
    }
    .banden-table tr.banden-row.is-variant + tr.banden-row.is-variant {
        border-radius: 0;
        margin-bottom: 0;
    }
    .banden-table tr.banden-row.is-variant:last-of-type,
    .banden-table tr.banden-row.is-variant:not(:has(+ tr.is-variant)) {
        border-radius: 0 0 10px 10px;
        margin-bottom: 10px;
    }
    .banden-table tr.banden-row.current-product {
        border-color: #21314b;
        border-width: 2px;
    }

    /* Verberg alle td standaard */
    .banden-table tr.banden-row td {
        display: none;
        border: none;
        padding: 10px 14px;
        font-size: 0.9em;
        text-align: left;
    }

    /* === MAAT: volle breedte bovenaan === */
    .banden-table tr.banden-row td:nth-child(1) {
        display: block;
        grid-column: 1 / -1;
        background: #f4f7fb;
        font-size: 1.05em;
        font-weight: 700;
        color: #21314b;
        padding: 11px 14px;
        border-bottom: 1px solid #dde4ee;
    }
    .banden-card-arrow { display: inline-block; }

    .banden-table tr.banden-row td:nth-child(1) a {
        color: #21314b;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .banden-card-arrow {
        color: #EF5B33;
        font-size: 0.85em;
        flex-shrink: 0;
        margin-left: 8px;
    }



    /* === LABELS: zuinigheid + grip naast elkaar === */
    .banden-table tr.banden-row td:nth-child(4),
    .banden-table tr.banden-row td:nth-child(5) {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 8px 14px;
    }
    .banden-table tr.banden-row td:nth-child(4)::before { content: "Zuinigheid"; display: block; font-size: 0.72em; color: #999; font-weight: 600; text-transform: uppercase; margin-bottom: 3px; }
    .banden-table tr.banden-row td:nth-child(5)::before { content: "Grip nat"; display: block; font-size: 0.72em; color: #999; font-weight: 600; text-transform: uppercase; margin-bottom: 3px; }
    .banden-table tr.banden-row td:nth-child(4),
    .banden-table tr.banden-row td:nth-child(5) {
        flex-direction: column;
        align-items: flex-start;
    }

    /* === DRAAGVERMOGEN + SNELHEIDSINDEX: 2 kolommen === */
    .banden-table tr.banden-row td:nth-child(2),
    .banden-table tr.banden-row td:nth-child(3) {
        display: flex;
        flex-direction: column;
        padding: 8px 14px;
        border-bottom: 1px solid #f0f3f8;
    }
    .banden-table tr.banden-row td:nth-child(2)::before { content: "Draagvermogen"; font-size: 0.72em; color: #999; font-weight: 600; text-transform: uppercase; margin-bottom: 3px; }
    .banden-table tr.banden-row td:nth-child(3)::before { content: "Snelheidsindex"; font-size: 0.72em; color: #999; font-weight: 600; text-transform: uppercase; margin-bottom: 3px; }

    /* === PRIJS: volle breedte onderaan === */
    .banden-table tr.banden-row td:nth-child(10) {
        display: block;
        grid-column: 1 / -1;
        background: #21314b;
        color: #fff;
        font-size: 1.2em;
        font-weight: 700;
        padding: 11px 14px;
        border-top: none;
        text-align: right;
    }
    .banden-table tr.banden-row td:nth-child(10) span {
        font-size: 0.75em;
        font-weight: 400;
        opacity: 0.85;
        margin-left: 6px;
    }
}
.banden-table tbody tr.banden-group-header + tr td {
    border-top: none;
}
.group-maat-label {
    font-size: 1em;
    font-weight: 700;
    color: #fff;
    margin-right: 10px;
}
.group-variant-badge {
    display: inline-block;
    background: #EF5B33;
    color: #fff;
    font-size: 0.75em;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
    vertical-align: middle;
    letter-spacing: 0.02em;
}

/* Variant-rijen (onder een groepheader) */
.banden-table tbody tr.banden-row.is-variant {
    background: #f8fafc;
}
.banden-table tbody tr.banden-row.is-variant:hover {
    background: #fdf0ec;
}
.banden-table tbody tr.banden-row.is-variant td:first-child {
    padding-left: 28px;
    border-left: 3px solid #EF5B33;
}

/* Variant maat label in eerste kolom */
.variant-maat-label {
    font-size: 0.85em;
    color: #888;
    font-style: italic;
}

/* Sorteerbare Maat-header */
.banden-table th.sortable-size {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.banden-table th.sortable-size:hover { background: #EF5B33; }