/* Infos produit (onglets). Tout est piloté par des variables CSS :
   le shortcode utilise les valeurs par défaut ci-dessous, le widget Elementor
   surcharge ces variables via ses contrôles (selectors sur {{WRAPPER}} .cd-infos). */

.cd-infos {
    /* Palette (reliée aux couleurs globales Elementor si présentes) */
    --cd-dark: var(--e-global-color-465d943, #031325);
    --cd-soft: var(--e-global-color-9d47444, #DEE6F0);
    --cd-rose: var(--e-global-color-b2e1c3e, #D62688);

    /* Onglets */
    --cd-tab-gap: 24px;
    --cd-tab-fs: 17px;
    --cd-tab-radius: 0;
    /* Normal */
    --cd-tab-color: var(--cd-dark);
    --cd-tab-bg: transparent;
    --cd-tab-opacity: .55;
    /* Survol */
    --cd-tab-color-hover: var(--cd-rose);
    --cd-tab-bg-hover: transparent;
    /* Actif */
    --cd-tab-color-active: var(--cd-dark);
    --cd-tab-bg-active: transparent;
    --cd-tab-indicator: var(--cd-rose);

    /* Composition */
    --cd-card-bg: #fff;
    --cd-card-border: var(--cd-soft);
    --cd-card-radius: 12px;
    --cd-card-hover: var(--cd-rose);
    --cd-img-size: 64px;
    --cd-name-color: var(--cd-dark);
    --cd-qty-color: var(--cd-rose);

    /* Documents */
    --cd-doc-bg: #EAF0F7;
    --cd-doc-bg-hover: #dde5f1;
    --cd-doc-color: var(--cd-dark);
    --cd-doc-radius: 50px;
    --cd-doc-fs: 15px;
    --cd-doc-icon-size: 15px;

    margin: 24px 0;
    font-family: inherit;
}

/* --- Navigation --- */
.cd-infos__nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cd-tab-gap);
    border-bottom: 1px solid var(--cd-soft);
    margin-bottom: 24px;
}
/* Sélecteurs préfixés .cd-infos (spécificité 0,2,0) + !important sur les
   propriétés que le thème / un ancien snippet pourraient écraser (fond, texte,
   bordure). Les valeurs restent pilotées par les variables → contrôle Elementor
   intact, mais la mise en forme d'état n'est plus « volée » par une autre CSS. */
.cd-infos .cd-infos__tab {
    appearance: none;
    -webkit-appearance: none;
    border: 0 !important;
    border-radius: var(--cd-tab-radius) !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px;
    padding: 10px 2px;
    font-size: var(--cd-tab-fs);
    font-weight: 500;
    color: var(--cd-tab-color) !important;
    background: var(--cd-tab-bg) !important;
    opacity: var(--cd-tab-opacity);
    box-shadow: none !important;
    cursor: pointer;
    transition: opacity .2s ease, color .2s ease, background-color .2s ease;
}
.cd-infos .cd-infos__tab:hover {
    opacity: 1;
    color: var(--cd-tab-color-hover) !important;
    background: var(--cd-tab-bg-hover) !important;
}
.cd-infos .cd-infos__tab:focus,
.cd-infos .cd-infos__tab:focus-visible {
    outline: none;
    box-shadow: none !important;
}
.cd-infos .cd-infos__tab.is-active {
    opacity: 1;
    font-weight: 700;
    color: var(--cd-tab-color-active) !important;
    background: var(--cd-tab-bg-active) !important;
    border-bottom-color: var(--cd-tab-indicator) !important;
}

/* --- Panneaux --- */
.cd-infos__panel {
    display: none;
    animation: cdFade .25s ease;
}
.cd-infos__panel.is-active {
    display: block;
}
@keyframes cdFade {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}
.cd-tab__desc {
    color: var(--cd-dark);
    line-height: 1.6;
}

/* --- Composition (liste) --- */
.cd-composants__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cd-composants__item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 14px;
    border: 1px solid var(--cd-card-border);
    border-radius: var(--cd-card-radius);
    background: var(--cd-card-bg);
}
.cd-composants__item a {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    text-decoration: none;
    color: var(--cd-name-color);
}
.cd-composants__item--link {
    transition: border-color .2s ease, box-shadow .2s ease;
}
.cd-composants__item--link:hover {
    border-color: var(--cd-card-hover);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .10);
}
.cd-composants__img {
    flex: 0 0 var(--cd-img-size);
    width: var(--cd-img-size);
    height: var(--cd-img-size);
    border-radius: 8px;
    overflow: hidden;
    background: var(--cd-soft);
    display: flex;
    align-items: center;
    justify-content: center;
}
.cd-composants__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.cd-composants__nom {
    flex: 1 1 auto;
    font-weight: 600;
    color: var(--cd-name-color);
}
.cd-composants__qty {
    flex: 0 0 auto;
    font-weight: 700;
    color: var(--cd-qty-color);
    white-space: nowrap;
}

/* --- Documents (boutons pilule) --- */
.cd-infos .cd-documents-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.cd-infos .cd-documents-list li {
    margin: 0;
    padding: 0;
    list-style: none;
}
.cd-infos .cd-documents-list a.button-docs {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--cd-doc-bg);
    color: var(--cd-doc-color);
    padding: 10px 20px;
    border-radius: var(--cd-doc-radius);
    font-size: var(--cd-doc-fs);
    font-weight: 500;
    line-height: 1.2;
    border: 0;
    box-shadow: none;
    text-decoration: none;
    transition: background .2s ease;
}
.cd-infos .cd-documents-list a.button-docs:hover {
    background: var(--cd-doc-bg-hover);
    color: var(--cd-doc-color);
    box-shadow: none;
}
.cd-infos a.button-docs .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.cd-infos a.button-docs .elementor-button-text {
    color: var(--cd-doc-color);
}
.cd-infos a.button-docs .elementor-button-icon,
.cd-infos a.button-docs .ckwc-doc-icon {
    display: inline-flex;
    align-items: center;
    color: var(--cd-doc-color);
    margin: 0;
}
.cd-infos a.button-docs svg {
    width: var(--cd-doc-icon-size);
    height: var(--cd-doc-icon-size);
    fill: var(--cd-doc-color);
}

/* --- Produits similaires : pas d'extrait dans la boucle (scopé, non global) --- */
.cd-upsells-loop .woocommerce-loop-product__excerpt {
    display: none;
}

@media (max-width: 768px) {
    .cd-infos__nav { gap: 16px; }
    .cd-infos__tab { padding: 8px 2px; font-size: 15px; }
    .cd-composants__img { flex-basis: 52px; width: 52px; height: 52px; }
}
