/* ============================================================
   MONDIAL PARTS — Fiche Produit (mpProd)  (Story 1.4)
   Layout premium : Galerie | Panneau infos + Onglets
   ============================================================ */

/* ── Masquer éléments natifs indésirables ── */
.social-sharing, .product-actions__share, .social-share,
.sharethis-inline-share-buttons,
[class*="share-button"], [class*="sharebuttons"],
[id*="share-buttons"] { display: none !important; }

#blockreassurance, .block-reassurance, .block_reassurance,
.blockreassurance, .product-additional-info .product-reassurance,
[id*="reassurance"], [class*="reassurance"] { display: none !important; }

/* Panes natifs PS : Description et Product Details (remplacés par tecdoc-info-block) */
#description, #product-description, #product-description-short,
#product-details { display: none !important; }

/* ============================================================
   WRAPPER PRINCIPAL
   ============================================================ */
.mpProd {
    background: var(--mp-surface-light);
    padding-bottom: var(--mp-space-3xl);
}

.mpProd__wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--mp-space-lg);
}

/* Fil d'Ariane */
.mpProd__wrap .breadcrumb-container,
.mpProd__wrap nav[aria-label*="Fil"] {
    padding: var(--mp-space-md) 0 var(--mp-space-sm);
    font-size: .82rem;
    color: var(--mp-text-muted);
}

/* ============================================================
   CORPS PRINCIPAL : 2 colonnes
   Galerie (42%) | Panneau infos (58%)
   ============================================================ */
.mpProd__main {
    display: grid;
    grid-template-columns: 42% 1fr;
    gap: var(--mp-space-xl);
    align-items: start;
    margin-top: var(--mp-space-lg);
}

/* ── Colonne gauche : galerie ── */
.mpProd__gallery {
    position: sticky;
    top: 100px;
}

/* Badges produit */
.mpProd__flags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mp-space-xs);
    margin-bottom: var(--mp-space-sm);
}

.mpProd__flag {
    font-size: .72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: var(--mp-radius-full);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.mpProd__flag--new         { background: var(--mp-accent); color: var(--mp-bg-deep); }
.mpProd__flag--on-sale     { background: var(--mp-accent); color: var(--mp-bg-deep); }
.mpProd__flag--online-only { background: rgba(230, 168, 23, 0.1); color: var(--mp-accent, #e6a817); }

/* Image principale */
.mpProd__cover {
    margin: 0;
    border-radius: var(--mp-radius-lg);
    overflow: hidden;
    background: var(--mp-surface-card);
    border: 1px solid var(--mp-border-subtle);
    box-shadow: var(--mp-shadow-lg);
    line-height: 0;
}

.mpProd__cover-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    max-height: 440px;
    transition: transform var(--mp-transition-slow), opacity .15s ease;
}

.mpProd__cover:hover .mpProd__cover-img {
    transform: scale(1.03);
}

/* Miniatures */
.mpProd__thumbs {
    display: flex;
    gap: var(--mp-space-sm);
    margin-top: var(--mp-space-sm);
    flex-wrap: wrap;
}

.mpProd__thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--mp-radius-sm);
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color var(--mp-transition-fast), box-shadow var(--mp-transition-fast);
    outline: none;
}

.mpProd__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mpProd__thumb:hover { border-color: var(--mp-border-subtle); }

.mpProd__thumb--active,
.mpProd__thumb:focus-visible {
    border-color: var(--mp-accent);
    box-shadow: 0 0 0 3px var(--mp-gold-glow);
}

/* ── Colonne droite : panneau infos ── */
.mpProd__panel {
    display: flex;
    flex-direction: column;
    gap: var(--mp-space-md);
}

/* ============================================================
   EN-TÊTE PRODUIT
   ============================================================ */
.mpProd__hd {
    background: var(--mp-surface-card);
    border: 1px solid var(--mp-border-subtle);
    border-top: 3px solid var(--mp-accent);
    border-radius: var(--mp-radius-lg);
    padding: var(--mp-space-lg) var(--mp-space-xl);
    box-shadow: var(--mp-shadow-md);
}

/* Marque */
.mpProd__hd-brand {
    display: inline-flex;
    align-items: center;
    gap: var(--mp-space-xs);
    font-family: var(--mp-font-display);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mp-accent, #e6a817);
    text-decoration: none;
    border: 1.5px solid var(--mp-accent, #e6a817);
    border-radius: var(--mp-radius-sm);
    padding: 2px 10px;
    margin-bottom: var(--mp-space-sm);
    transition: background var(--mp-transition-fast), color var(--mp-transition-fast);
}

.mpProd__hd-brand:hover {
    background: var(--mp-accent, #e6a817);
    color: var(--mp-bg-deep, #0d0d0d);
}

/* Référence (h1) */
.mpProd__hd-ref {
    font-family: var(--mp-font-display);
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--mp-text-primary);
    margin: var(--mp-space-xs) 0 var(--mp-space-sm);
    line-height: 1.2;
    letter-spacing: -.02em;
}

/* Groupe produit / désignation */
.mpProd__hd-group {
    font-size: .85rem;
    color: var(--mp-text-muted);
    margin: 0;
    line-height: 1.5;
    border-top: 1px solid var(--mp-border-light);
    padding-top: var(--mp-space-sm);
    margin-top: var(--mp-space-xs);
}

/* ============================================================
   ZONE PRIX + PANIER
   ============================================================ */
.mpProd__purchase {
    background: var(--mp-surface-card);
    border: 1px solid var(--mp-border-subtle);
    border-top: 3px solid var(--mp-accent);
    border-radius: var(--mp-radius-lg);
    padding: var(--mp-space-lg) var(--mp-space-xl);
    box-shadow: var(--mp-shadow-md);
}

/* ── Prix ── */
.mpProd__price-wrap {
    margin-bottom: var(--mp-space-md);
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--mp-space-sm);
}

.mpProd__price-current {
    font-family: var(--mp-font-display);
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--mp-text-primary);
    letter-spacing: -.03em;
    line-height: 1;
}

.mpProd__price-old {
    font-size: 1rem;
    color: var(--mp-text-muted);
    text-decoration: line-through;
    font-weight: 400;
}

.mpProd__price-badge {
    background: var(--mp-warning-light);
    color: var(--mp-warning-dark);
    font-size: .75rem;
    font-weight: 700;
    border-radius: var(--mp-radius-full);
    padding: 2px 9px;
}

.mpProd__price-tax {
    width: 100%;
    font-size: .75rem;
    color: var(--mp-text-light);
    margin-top: -6px;
}

/* ── Formulaire panier ── */
.mpProd__cart-form { margin: 0; }

.mpProd__cart-row {
    display: flex;
    align-items: center;
    gap: var(--mp-space-md);
    flex-wrap: wrap;
}

/* Sélecteur quantité */
.mpProd__qty {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--mp-border-subtle);
    border-radius: var(--mp-radius-md);
    overflow: hidden;
    flex-shrink: 0;
}

.mpProd__qty-btn {
    background: var(--mp-surface-light);
    border: none;
    width: 38px;
    height: 50px;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--mp-text-primary);
    cursor: pointer;
    transition: background var(--mp-transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mpProd__qty-btn:hover { background: var(--mp-border-subtle); }

.mpProd__qty-input {
    width: 52px;
    text-align: center;
    border: none;
    border-left: 1.5px solid var(--mp-border-subtle);
    border-right: 1.5px solid var(--mp-border-subtle);
    font-size: 1rem;
    font-weight: 700;
    color: var(--mp-text-primary);
    height: 50px;
    outline: none;
    -moz-appearance: textfield;
    background: var(--mp-surface-card);
}

.mpProd__qty-input::-webkit-inner-spin-button,
.mpProd__qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Bouton Ajouter au panier */
.mpProd__add-btn {
    flex: 1;
    min-width: 200px;
    background: var(--mp-accent);
    color: var(--mp-bg-deep);
    border: none;
    border-radius: var(--mp-radius-md);
    font-family: var(--mp-font-display);
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 0 28px;
    height: 50px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 2px 8px rgba(230, 168, 23, 0.2);
    transition: filter var(--mp-transition-fast), transform var(--mp-transition-fast), box-shadow var(--mp-transition-fast);
}

.mpProd__add-btn:hover:not(:disabled) {
    filter: brightness(1.06);
    transform: translateY(-2px);
    box-shadow: var(--mp-shadow-gold);
}

.mpProd__add-btn:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(230, 168, 23, 0.2);
}

.mpProd__add-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
    .mpProd__add-btn { transition: none; }
    .mpProd__cover-img { transition: none; }
    .mpProd__cover:hover .mpProd__cover-img { transform: none; }
}

/* Disponibilité */
.mpProd__avail {
    font-size: .8rem;
    font-weight: 600;
    margin-top: var(--mp-space-sm);
    padding: 5px 12px;
    border-radius: var(--mp-radius-sm);
    display: inline-block;
}

.mpProd__avail--available           { background: var(--mp-success-light); color: var(--mp-success-dark); }
.mpProd__avail--last_remaining_items { background: var(--mp-warning-light); color: var(--mp-warning-dark); }
.mpProd__avail--unavailable         { background: #fee2e2; color: #991b1b; }

/* ============================================================
   SECTION ONGLETS BAS DE PAGE
   ============================================================ */
.mpProd__fiche {
    margin-top: var(--mp-space-xl);
    background: var(--mp-surface-card);
    border: 1px solid var(--mp-border-subtle);
    border-radius: var(--mp-radius-lg);
    overflow: hidden;
    box-shadow: var(--mp-shadow-md);
}

/* ── Navigation onglets ── */
.mpProd__tab-nav {
    display: flex;
    align-items: stretch;
    border-bottom: 2px solid var(--mp-border-subtle);
    background: var(--mp-surface-light);
    gap: 0;
    padding: 0 var(--mp-space-md);
    overflow-x: auto;
    scrollbar-width: none;
}

.mpProd__tab-nav::-webkit-scrollbar { display: none; }

.mpProd__tab-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    padding: 14px 20px;
    font-family: var(--mp-font-body);
    font-size: .83rem;
    font-weight: 600;
    color: var(--mp-text-muted);
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--mp-transition-fast), border-color var(--mp-transition-fast);
    letter-spacing: .01em;
}

.mpProd__tab-btn:hover {
    color: var(--mp-text-primary);
}

.mpProd__tab-btn--active {
    color: var(--mp-text-primary) !important;
    border-bottom-color: var(--mp-accent) !important;
}

.mpProd__tab-btn svg {
    opacity: .5;
    flex-shrink: 0;
    transition: opacity var(--mp-transition-fast);
}

.mpProd__tab-btn:hover svg,
.mpProd__tab-btn--active svg { opacity: 1; }

/* ── Panneaux de contenu ── */
.mpProd__tab-pane {
    display: none;
    padding: var(--mp-space-xl);
    animation: mpFadeIn .18s ease;
}

.mpProd__tab-pane--active { display: block; }

@keyframes mpFadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .mpProd__tab-pane { animation: none; }
}

/* ============================================================
   TABLE CRITÈRES TECHNIQUES
   ============================================================ */
.mpCrit {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

.mpCrit__row {
    border-bottom: 1px solid var(--mp-border-light);
    transition: background var(--mp-transition-fast);
}

.mpCrit__row:last-child { border-bottom: none; }
.mpCrit__row:hover { background: var(--mp-surface-light); }

.mpCrit__key {
    width: 220px;
    min-width: 160px;
    text-align: left;
    padding: 10px 16px 10px 0;
    font-weight: 500;
    color: var(--mp-text-muted);
    font-size: .82rem;
    white-space: nowrap;
    vertical-align: top;
}

.mpCrit__val {
    padding: 10px 0;
    font-weight: 600;
    color: var(--mp-text-secondary);
    vertical-align: top;
    word-break: break-word;
}

/* ============================================================
   CHIP COMPTEUR SUR ONGLET VÉHICULES
   ============================================================ */
.mpTab__chip {
    background: var(--mp-accent);
    color: var(--mp-bg-deep);
    font-size: .65rem;
    font-weight: 700;
    border-radius: var(--mp-radius-full);
    padding: 1px 7px;
    line-height: 1.6;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Tablette (≤ 1024px) */
@media (max-width: 1024px) {
    .mpProd__main {
        grid-template-columns: 46% 1fr;
        gap: var(--mp-space-lg);
    }
    .mpProd__hd-ref { font-size: 1.4rem; }
}

/* Mobile (≤ 768px) */
@media (max-width: 768px) {
    .mpProd__main {
        grid-template-columns: 1fr;
        gap: var(--mp-space-md);
    }
    .mpProd__gallery { position: static; }

    .mpProd__hd,
    .mpProd__purchase { padding: var(--mp-space-md); }

    .mpProd__hd-ref { font-size: 1.25rem; }

    .mpProd__price-current { font-size: 1.8rem; }

    .mpProd__purchase .add-to-cart,
    .mpProd__purchase .btn-add-to-cart,
    .mpProd__purchase [data-button-action="add-to-cart"] {
        width: 100% !important;
        justify-content: center !important;
    }

    .mpProd__tab-btn {
        padding: 11px 14px;
        font-size: .8rem;
    }

    .mpProd__tab-pane { padding: var(--mp-space-md); }

    .mpCrit__key {
        width: 130px;
        min-width: 100px;
        font-size: .78rem;
    }
}

/* Très petit mobile (≤ 480px) */
@media (max-width: 480px) {
    .mpProd__wrap { padding: 0 var(--mp-space-md); }
    .mpProd__hd-ref { font-size: 1.1rem; }
}

/* ============================================================
   CSS VÉHICULES COMPATIBLES (tcd-*)
   ============================================================ */
.tcd-compat, .tcd-compat *,
.tcd-modal, .tcd-modal *,
.tcd-desc-block, .tcd-desc-block * { box-sizing: border-box; }

/* ── Description produit ── */
.tcd-desc-block { margin-bottom: 1.5rem; }

.tcd-desc-hd {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .9rem;
    font-weight: 700;
    color: var(--mp-text-primary);
    padding-bottom: .75rem;
    margin-bottom: .875rem;
    border-bottom: 2px solid var(--mp-border-subtle);
}

.tcd-desc-hd svg { color: var(--mp-accent, #e6a817); flex-shrink: 0; }
.tcd-desc-content { font-size: .88rem; color: var(--mp-text-secondary); line-height: 1.7; }
.tcd-desc-content p { margin: 0 0 .6rem; }
.tcd-desc-content p:last-child { margin-bottom: 0; }

/* ── Corps principal ── */
.tcd-compat { padding: .125rem 0 .5rem; }

/* ── En-tête ── */
.tcd-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
    padding-bottom: .875rem;
    margin-bottom: .75rem;
    border-bottom: 2px solid var(--mp-border-subtle);
}

.tcd-head__left  { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.tcd-head__ico   { color: var(--mp-accent, #e6a817); flex-shrink: 0; }
.tcd-head__title { font-size: .95rem; font-weight: 700; color: var(--mp-text-primary); }
.tcd-head__src   { font-size: .7rem; color: #bbb; white-space: nowrap; }
.tcd-head__src strong { color: #999; font-weight: 600; }

/* ── Chips ── */
.tcd-chip {
    border-radius: 999px;
    font-size: .69rem;
    font-weight: 700;
    padding: 2px 9px;
    line-height: 1.5;
    white-space: nowrap;
}

.tcd-chip--blue { background: var(--mp-accent, #e6a817); color: var(--mp-bg-deep, #0d0d0d); }
.tcd-chip--grey { background: #f2f3f5; color: #666; border: 1px solid #e0e2e6; }

/* ── Barre filtre ── */
.tcd-filter-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid var(--mp-border-subtle);
    border-radius: 8px;
    padding: 7px 13px;
    margin-bottom: .875rem;
    background: var(--mp-surface-card);
    transition: border-color var(--mp-transition-fast);
}

.tcd-filter-bar:focus-within { border-color: var(--mp-accent); }

.tcd-filter-bar__input {
    flex: 1;
    border: none;
    outline: none;
    font-size: .84rem;
    color: var(--mp-text-primary);
    background: none;
    min-width: 0;
}

.tcd-filter-bar__input::placeholder { color: #b0b0b0; }
.tcd-filter-bar__clear { cursor: pointer; line-height: 1; display: flex; align-items: center; flex-shrink: 0; padding: 2px; }
.tcd-filter-bar__clear:hover svg { stroke: #555; }

/* ── Grille des marques ── */
.tcd-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: #e0e2e6;
    border: 1.5px solid #e0e2e6;
    border-radius: 10px;
    overflow: hidden;
}

.tcd-brand-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    background: var(--mp-surface-card);
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    color: var(--mp-text-primary);
    transition: background var(--mp-transition-fast), color var(--mp-transition-fast);
    min-width: 0;
}

.tcd-brand-row:hover { background: rgba(230, 168, 23, 0.06); color: var(--mp-accent-hover, #d4970f); }
.tcd-brand-row:hover .tcd-brand-row__ico { color: var(--mp-accent-hover, #d4970f); }
.tcd-brand-row:hover .tcd-brand-row__cnt { background: rgba(230, 168, 23, 0.15); color: var(--mp-accent-hover, #d4970f); }
.tcd-brand-row.tcd-hidden { display: none !important; }

.tcd-brand-row__ico  { color: #999; flex-shrink: 0; display: flex; align-items: center; transition: color var(--mp-transition-fast); }

.tcd-brand-row__name {
    flex: 1;
    font-size: .795rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tcd-brand-row__cnt {
    flex-shrink: 0;
    background: #f2f3f5;
    color: #666;
    font-size: .67rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 1px 7px;
    line-height: 1.55;
    transition: background var(--mp-transition-fast), color var(--mp-transition-fast);
}

.tcd-no-results {
    grid-column: 1 / -1;
    padding: 28px 16px;
    text-align: center;
    color: #b0b0b0;
    font-size: .84rem;
    background: var(--mp-surface-card);
}

/* ── Modal ── */
.tcd-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.tcd-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(5, 12, 30, .55);
    backdrop-filter: blur(3px);
}

.tcd-modal__panel {
    position: relative;
    background: var(--mp-surface-card);
    border-radius: 14px;
    box-shadow: var(--mp-shadow-xl);
    width: min(96vw, 920px);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: tcdSlideIn .22s cubic-bezier(.34, 1.08, .64, 1);
}

@keyframes tcdSlideIn {
    from { opacity: 0; transform: translateY(16px) scale(.98); }
    to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .tcd-modal__panel { animation: none; }
}

.tcd-modal__hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 20px;
    background: var(--mp-bg-deep, #0d0d0d);
    color: #fff;
    flex-shrink: 0;
    border-bottom: 3px solid var(--mp-accent, #e6a817);
}

.tcd-modal__hd-info  { display: flex; align-items: center; gap: 12px; }
.tcd-modal__hd-make  { font-size: 1rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.tcd-modal__hd-ref   { font-size: .74rem; opacity: .68; margin-top: 2px; }

.tcd-modal__hd-close {
    background: rgba(255, 255, 255, .1);
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    padding: 6px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--mp-transition-fast);
    flex-shrink: 0;
}

.tcd-modal__hd-close:hover { background: var(--mp-accent, #e6a817); color: var(--mp-bg-deep, #0d0d0d); }

.tcd-modal__toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 18px;
    border-bottom: 1px solid #e0e2e6;
    background: #f5f5f5;
    flex-shrink: 0;
}

.tcd-modal__search-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--mp-surface-card);
    border: 1.5px solid #e0e2e6;
    border-radius: 7px;
    padding: 6px 12px;
    transition: border-color var(--mp-transition-fast);
}

.tcd-modal__search-wrap:focus-within { border-color: var(--mp-accent, #e6a817); }

#tcdVSearch {
    flex: 1;
    border: none;
    outline: none;
    font-size: .835rem;
    color: var(--mp-text-primary);
    background: none;
    font-family: inherit;
}

#tcdVSearch::placeholder { color: #b0b0b0; }
.tcd-modal__vcnt { font-size: .74rem; color: #999; white-space: nowrap; flex-shrink: 0; font-weight: 600; min-width: 60px; text-align: right; }
.tcd-modal__body { overflow-y: auto; flex: 1; }

/* ── Loader ── */
.tcd-loader { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 60px 20px; color: #999; font-size: .84rem; }

.tcd-spin {
    display: inline-block;
    width: 26px;
    height: 26px;
    border: 2.5px solid #e0e2e6;
    border-top-color: var(--mp-accent);
    border-radius: 50%;
    animation: tcdRot .7s linear infinite;
    flex-shrink: 0;
}

@keyframes tcdRot { to { transform: rotate(360deg); } }

/* ── Table véhicules ── */
.tcd-vtable { width: 100%; border-collapse: collapse; font-size: .82rem; }

.tcd-vtable thead th {
    position: sticky;
    top: 0;
    background: #f5f5f5;
    padding: 9px 16px;
    text-align: left;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #8a8f99;
    border-bottom: 2px solid #e0e2e6;
    white-space: nowrap;
    z-index: 1;
}

.tcd-vtable tbody td {
    padding: 9px 16px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    color: var(--mp-text-secondary);
}

.tcd-vtable tbody tr:last-child td { border-bottom: none; }
.tcd-vtable tbody tr:hover td { background: rgba(230, 168, 23, 0.04); }
.tcd-vrow--hidden { display: none !important; }

.tcd-cell-model { font-weight: 700; color: var(--mp-text-primary); }
.tcd-cell-model small { display: block; color: #8a8f99; font-size: .74rem; font-weight: 400; margin-top: 2px; }

.tcd-yr  { display: inline-block; background: rgba(230, 168, 23, 0.08); color: var(--mp-accent, #e6a817); border-radius: 5px; padding: 2px 8px; font-size: .74rem; font-weight: 700; white-space: nowrap; }
.tcd-pow { white-space: nowrap; font-size: .79rem; color: var(--mp-text-secondary); }
.tcd-pow b { color: var(--mp-text-primary); font-weight: 700; }
.tcd-ccm  { color: #778; font-size: .78rem; }
.tcd-body { color: #aab; font-size: .74rem; font-style: italic; }
.tcd-empty { padding: 50px 20px; text-align: center; color: #b0b0b0; font-size: .84rem; }

/* ── Responsive véhicules ── */
@media (max-width: 900px) { .tcd-grid { grid-template-columns: repeat(3, 1fr); } }

@media (max-width: 600px) {
    .tcd-grid { grid-template-columns: repeat(2, 1fr); }
    .tcd-brand-row__name { font-size: .74rem; }
    .tcd-modal__panel { max-height: 92vh; border-radius: 10px; }
    .tcd-modal__hd { padding: 12px 14px; }
    .tcd-vtable thead th,
    .tcd-vtable tbody td { padding: 8px 10px; }
}

/* ============================================================
   TECDOC INFO BLOCK — Données article TecDoc sur fiche produit
   (migré depuis article_info.tpl — Story 1.7 AC1)
   Couleurs TecDoc (var(--mp-accent, #e6a817), var(--mp-accent, #e6a817)) intentionnellement conservées.
   ============================================================ */

.tecdoc-info-block {
    border: 1px solid #e0e4ea;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 1.25rem;
    font-size: 0.875rem;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}

/* En-tête */
.tecdoc-info-block__header {
    background: var(--mp-bg-deep, #0d0d0d);
    color: #fff;
    padding: 7px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.76rem;
    letter-spacing: .01em;
}
.tecdoc-info-block__badge {
    background: var(--mp-accent, #e6a817);
    color: var(--mp-bg-deep, #0d0d0d);
    font-weight: 700;
    font-size: 0.68rem;
    padding: 1px 6px;
    border-radius: 3px;
    letter-spacing: .06em;
}
.tecdoc-info-block__label { opacity: .85; }

/* Tableau infos */
.tecdoc-info-block__table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.tecdoc-info-block__table tr { border-bottom: 1px solid #f2f4f7; }
.tecdoc-info-block__table tr:last-child { border-bottom: none; }
.tecdoc-info-block__table th {
    width: 130px;
    text-align: left;
    padding: 7px 14px;
    font-weight: 500;
    font-size: .8rem;
    color: #6b7280;
    vertical-align: top;
    white-space: nowrap;
}
.tecdoc-info-block__table td {
    padding: 7px 14px 7px 0;
    font-weight: 500;
    color: #1a1a2e;
    vertical-align: top;
    word-break: break-word;
}
.tecdoc-info-block__ref {
    font-family: monospace;
    font-size: .9rem;
    letter-spacing: .02em;
}

/* Numéros de référence */
.tecdoc-info-block__trade-refs { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.tecdoc-info-block__trade-ref {
    background: rgba(230, 168, 23, 0.1);
    color: var(--mp-accent, #e6a817);
    border-radius: 3px;
    padding: 1px 6px;
    font-size: .8rem;
    font-weight: 600;
}
.tecdoc-info-block__trade-sep { color: #bbb; font-size: .8rem; }

/* Lien compatibilité */
.tecdoc-info-block__compat-link {
    color: var(--mp-accent, #e6a817);
    text-decoration: none;
    font-weight: 600;
    font-size: .82rem;
}
.tecdoc-info-block__compat-link:hover { text-decoration: underline; }

/* Équipementier (section accordéon) */
.tecdoc-info-block__supplier { border-top: 1px solid #f2f4f7; }
.tecdoc-info-block__supplier-btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 9px 14px;
    font-size: .82rem;
    font-weight: 600;
    color: #444;
    cursor: pointer;
    text-align: left;
    transition: background .12s;
}
.tecdoc-info-block__supplier-btn:hover { background: #f8f9fa; }
.tecdoc-info-block__supplier-chevron { margin-left: auto; transition: transform .2s; }
.tecdoc-info-block__supplier-btn.open .tecdoc-info-block__supplier-chevron { transform: rotate(180deg); }
.tecdoc-info-block__supplier-content { padding: 0 14px 12px; }

/* Table adresse équipementier */
.tecdoc-supplier-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.tecdoc-supplier-table th {
    text-align: left;
    padding: 4px 10px 4px 0;
    color: #6b7280;
    font-weight: 500;
    white-space: nowrap;
    width: 120px;
}
.tecdoc-supplier-table td { padding: 4px 0; color: #222; }
.tecdoc-supplier-table a { color: var(--mp-accent, #e6a817); }

/* Réf. OE groupées par constructeur */
.tecdoc-oe-wrap { display: flex; flex-direction: column; gap: 6px; }
.tecdoc-oe-select {
    border: 1.5px solid #e0e2e6;
    border-radius: 6px;
    padding: 4px 28px 4px 10px;
    font-size: .8rem;
    font-weight: 600;
    color: #1a1a2e;
    background: #f7f7f7;
    cursor: pointer;
    max-width: 260px;
    transition: border-color .15s;
}
.tecdoc-oe-select:focus { outline: none; border-color: var(--mp-accent, #e6a817); }
.tecdoc-oe-list { display: flex; flex-wrap: wrap; gap: 4px; }
.tecdoc-oe-ref {
    background: rgba(230, 168, 23, 0.08);
    color: var(--mp-accent, #e6a817);
    border-radius: 3px;
    padding: 2px 7px;
    font-size: .78rem;
    font-weight: 600;
    font-family: monospace;
    letter-spacing: .01em;
}
