/* Ingetech Tableau v1.3.0 */
.ingetech-tableau {
    position: relative;
    max-width: var(--it-max-width);
    margin-left: var(--it-margin-left);
    margin-right: var(--it-margin-right);
    padding: var(--it-wrapper-padding);
    border-radius: var(--it-wrapper-radius);
    box-shadow: var(--it-wrapper-shadow);
    background-color: var(--it-wrapper-bg);
    background-image: var(--it-wrapper-bg-image);
    background-size: var(--it-wrapper-bg-size);
    background-position: var(--it-wrapper-bg-position);
    background-repeat: no-repeat;
    overflow: hidden;
}

.ingetech-tableau *,
.ingetech-tableau *::before,
.ingetech-tableau *::after {
    box-sizing: border-box;
}

.it-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--it-overlay-color);
    opacity: var(--it-overlay-opacity);
    pointer-events: none;
}

.it-scroll,
.it-spec-card {
    position: relative;
    z-index: 2;
}

/* TABLEAU MULTI-COLONNES */
.it-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-color: var(--it-scrollbar-color) var(--it-scrollbar-bg);
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.it-scroll::-webkit-scrollbar {
    height: 9px;
}

.it-scroll::-webkit-scrollbar-track {
    background: var(--it-scrollbar-bg);
    border-radius: 999px;
}

.it-scroll::-webkit-scrollbar-thumb {
    background: var(--it-scrollbar-color);
    border-radius: 999px;
}

.it-comparison-table {
    width: 100%;
    min-width: var(--it-mobile-min-width);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: var(--it-table-bg);
    border: var(--it-table-border-width) solid var(--it-table-border-color);
    border-radius: var(--it-table-radius);
    box-shadow: var(--it-table-shadow);
}

.it-comparison-table th,
.it-comparison-table td {
    padding: var(--it-cell-padding);
    color: var(--it-cell-color);
    font-size: var(--it-cell-size);
    line-height: var(--it-cell-line-height);
    text-align: var(--it-cell-align);
    vertical-align: middle;
    transition: background 0.2s ease, color 0.2s ease;
}

.it-comparison-table thead th {
    background: var(--it-header-bg);
    color: var(--it-header-color);
    font-size: var(--it-header-size);
    font-weight: var(--it-header-weight);
    text-transform: var(--it-header-transform);
    padding: var(--it-header-padding);
    text-align: var(--it-header-align);
}

.it-head-inner {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.it-dot {
    display: inline-block;
    width: var(--it-dot-size);
    height: var(--it-dot-size);
    border-radius: 999px;
    flex: 0 0 auto;
}

.hide-dots .it-dot {
    display: none;
}

.it-comparison-table tbody tr:nth-child(odd) th,
.it-comparison-table tbody tr:nth-child(odd) td {
    background: var(--it-row-odd-bg);
}

.it-comparison-table tbody tr:nth-child(even) th,
.it-comparison-table tbody tr:nth-child(even) td {
    background: var(--it-row-even-bg);
}

.it-comparison-table tbody tr.is-highlight th,
.it-comparison-table tbody tr.is-highlight td {
    background: var(--it-row-highlight-bg);
}

.it-comparison-table tbody tr.has-custom-bg th,
.it-comparison-table tbody tr.has-custom-bg td {
    background: var(--it-custom-row-bg);
}

.it-comparison-table tbody tr.has-custom-color th,
.it-comparison-table tbody tr.has-custom-color td {
    color: var(--it-custom-row-color);
}

.it-comparison-table tbody th {
    color: var(--it-first-col-color);
    font-weight: var(--it-first-col-weight);
}

.has-inner-borders .it-comparison-table th,
.has-inner-borders .it-comparison-table td {
    border-bottom: 1px solid var(--it-inner-border-color);
}

.has-vertical-borders .it-comparison-table th,
.has-vertical-borders .it-comparison-table td {
    border-right: 1px solid var(--it-inner-border-color);
}

.has-vertical-borders .it-comparison-table th:last-child,
.has-vertical-borders .it-comparison-table td:last-child {
    border-right: 0;
}

/* FICHES */
.it-spec-card {
    background: var(--it-spec-bg);
    border: var(--it-spec-border-width) solid var(--it-spec-border-color);
    border-radius: var(--it-spec-radius);
    box-shadow: var(--it-spec-shadow);
    padding: var(--it-spec-padding);
}

.it-spec-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: var(--it-spec-title-margin);
    color: var(--it-spec-title-color);
    font-size: var(--it-spec-title-size);
    font-weight: var(--it-spec-title-weight);
    text-transform: var(--it-spec-title-transform);
    line-height: 1.25;
}

.it-spec-title img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.it-default-icon {
    color: var(--it-spec-icon-color);
    font-size: 28px;
    line-height: 1;
}

.it-spec-list {
    display: flex;
    flex-direction: column;
    gap: var(--it-spec-row-gap);
}

.it-spec-row {
    display: grid;
    grid-template-columns: minmax(180px, 45%) minmax(160px, 55%);
    gap: 28px;
    align-items: start;
}

.it-spec-label {
    color: var(--it-spec-label-color);
    font-size: var(--it-spec-text-size);
    font-weight: var(--it-spec-label-weight);
    line-height: var(--it-spec-line-height);
}

.it-spec-value {
    color: var(--it-spec-value-color);
    font-size: var(--it-spec-text-size);
    font-weight: var(--it-spec-value-weight);
    line-height: var(--it-spec-line-height);
    text-align: var(--it-spec-value-align);
}

.it-spec-data-group,
.it-spec-main-value,
.it-spec-note {
    display: block;
}

.it-spec-main-value {
    color: var(--it-spec-value-color);
    font-weight: var(--it-spec-value-weight);
}

.it-spec-note {
    color: var(--it-spec-note-color);
    font-size: 0.9em;
    font-weight: 400;
    margin-top: 3px;
    line-height: 1.35;
}

/* Liste de caractéristiques */
.it-type-spec_light {
    --it-spec-bg: #ffffff;
    --it-spec-border-color: transparent;
    --it-spec-border-width: 0px;
    --it-spec-title-color: #233240;
    --it-spec-icon-color: #233240;
    --it-spec-label-color: #233240;
    --it-spec-value-color: #233240;
    --it-wrapper-bg: #ffffff;
}

.it-type-spec_light .it-spec-card {
    box-shadow: none;
}

.it-type-spec_light .it-spec-row {
    grid-template-columns: minmax(220px, 52%) minmax(160px, 48%);
}

/* Carte technique détaillée */
.it-type-spec_dark {
    --it-wrapper-bg: #2f3f4e;
    --it-spec-bg: #2f3f4e;
    --it-spec-border-color: rgba(255,255,255,0.14);
    --it-spec-border-width: 1px;
    --it-spec-title-color: #BBCC41;
    --it-spec-icon-color: #BBCC41;
    --it-spec-label-color: rgba(255,255,255,0.58);
    --it-spec-value-color: #ffffff;
    --it-spec-note-color: #BBCC41;
}

.it-type-spec_dark .it-default-icon {
    display: none;
}

.it-type-spec_dark .it-spec-row {
    grid-template-columns: minmax(220px, 52%) minmax(180px, 48%);
}

.it-type-spec_dark .it-spec-value {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
}

/* Animations */
.it-animation-fade-up {
    animation: itFadeUp var(--it-animation-duration) ease both;
}

.it-animation-fade-in {
    animation: itFadeIn var(--it-animation-duration) ease both;
}

.it-animation-slide-left {
    animation: itSlideLeft var(--it-animation-duration) ease both;
}

@keyframes itFadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes itFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes itSlideLeft {
    from { opacity: 0; transform: translateX(-28px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Responsive */
@media (max-width: 767px) {
    .it-responsive-scroll .it-scroll {
        overflow-x: auto !important;
    }

    .it-responsive-scroll .it-comparison-table {
        min-width: var(--it-mobile-min-width);
    }

    .it-responsive-cards .it-scroll {
        overflow-x: visible;
    }

    .it-responsive-cards .it-comparison-table,
    .it-responsive-cards .it-comparison-table thead,
    .it-responsive-cards .it-comparison-table tbody,
    .it-responsive-cards .it-comparison-table tr,
    .it-responsive-cards .it-comparison-table th,
    .it-responsive-cards .it-comparison-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .it-responsive-cards .it-comparison-table {
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .it-responsive-cards .it-comparison-table thead {
        display: none;
    }

    .it-responsive-cards .it-comparison-table tbody tr {
        margin-bottom: 16px;
        border: var(--it-table-border-width) solid var(--it-table-border-color);
        border-radius: var(--it-table-radius);
        overflow: hidden;
        background: var(--it-table-bg);
    }

    .it-responsive-cards .it-comparison-table tbody th,
    .it-responsive-cards .it-comparison-table tbody td {
        display: grid;
        grid-template-columns: minmax(110px, 38%) 1fr;
        gap: 12px;
        text-align: left;
        border-bottom: 1px solid var(--it-inner-border-color);
    }

    .it-responsive-cards .it-comparison-table tbody th::before,
    .it-responsive-cards .it-comparison-table tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        color: var(--it-first-col-color);
    }

    .it-spec-card {
        padding: var(--it-mobile-spec-padding);
    }

    .it-mobile-spec-stack .it-spec-row,
    .it-type-spec_dark.it-mobile-spec-stack .it-spec-row,
    .it-type-spec_light.it-mobile-spec-stack .it-spec-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .it-mobile-spec-stack .it-spec-value,
    .it-type-spec_dark.it-mobile-spec-stack .it-spec-value,
    .it-type-spec_light.it-mobile-spec-stack .it-spec-value {
        align-items: flex-start;
        text-align: left;
    }

    .it-spec-title {
        font-size: clamp(18px, 5vw, var(--it-spec-title-size));
    }
}


/* v1.3.2 — Les options responsive fonctionnent aussi pour Liste de caractéristiques et Carte technique détaillée */
@media (max-width: 767px) {

    /* OPTION : Scroll horizontal */
    .ingetech-tableau.it-responsive-scroll.it-type-spec_light,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-color: var(--it-scrollbar-color) var(--it-scrollbar-bg);
        scrollbar-width: thin;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light::-webkit-scrollbar,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark::-webkit-scrollbar {
        height: 9px;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light::-webkit-scrollbar-track,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark::-webkit-scrollbar-track {
        background: var(--it-scrollbar-bg);
        border-radius: 999px;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light::-webkit-scrollbar-thumb,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark::-webkit-scrollbar-thumb {
        background: var(--it-scrollbar-color);
        border-radius: 999px;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light .it-spec-card,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark .it-spec-card {
        min-width: var(--it-mobile-min-width) !important;
        width: var(--it-mobile-min-width) !important;
        max-width: none !important;
        padding: var(--it-spec-padding) !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light .it-spec-row {
        display: grid !important;
        grid-template-columns: minmax(220px, 52%) minmax(160px, 48%) !important;
        gap: 28px !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark .it-spec-row {
        display: grid !important;
        grid-template-columns: minmax(220px, 52%) minmax(180px, 48%) !important;
        gap: 24px !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light .it-spec-value {
        text-align: var(--it-spec-value-align) !important;
        align-items: initial !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark .it-spec-value {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        text-align: right !important;
    }

    /* OPTION : Cartes empilées */
    .ingetech-tableau.it-responsive-cards.it-type-spec_light,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-card,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-card {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: var(--it-mobile-spec-padding) !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-row,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-value,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-value {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-label,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-label,
    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-main-value,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-main-value,
    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-note,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-note {
        overflow-wrap: anywhere;
        text-align: left !important;
    }
}


/* v1.3.3 — Responsive tablette : Scroll horizontal / Cartes empilées */
@media (min-width: 768px) and (max-width: 1024px) {
    .ingetech-tableau.it-responsive-scroll.it-type-comparison .it-scroll {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-comparison .it-comparison-table {
        min-width: var(--it-tablet-min-width, var(--it-mobile-min-width)) !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-scroll {
        overflow-x: visible !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table thead,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tbody,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tr,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table th,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table {
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table thead {
        display: none;
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tbody tr {
        margin-bottom: 16px;
        border: var(--it-table-border-width) solid var(--it-table-border-color);
        border-radius: var(--it-table-radius);
        overflow: hidden;
        background: var(--it-table-bg);
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tbody th,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tbody td {
        display: grid;
        grid-template-columns: minmax(140px, 34%) 1fr;
        gap: 14px;
        text-align: left;
        border-bottom: 1px solid var(--it-inner-border-color);
    }

    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tbody th::before,
    .ingetech-tableau.it-responsive-cards.it-type-comparison .it-comparison-table tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        color: var(--it-first-col-color);
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-color: var(--it-scrollbar-color) var(--it-scrollbar-bg);
        scrollbar-width: thin;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light .it-spec-card,
    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark .it-spec-card {
        min-width: var(--it-tablet-min-width, var(--it-mobile-min-width)) !important;
        width: var(--it-tablet-min-width, var(--it-mobile-min-width)) !important;
        max-width: none !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_light .it-spec-row {
        grid-template-columns: minmax(220px, 52%) minmax(160px, 48%) !important;
        gap: 28px !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark .it-spec-row {
        grid-template-columns: minmax(220px, 52%) minmax(180px, 48%) !important;
        gap: 24px !important;
    }

    .ingetech-tableau.it-responsive-scroll.it-type-spec_dark .it-spec-value {
        align-items: flex-end !important;
        text-align: right !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-card,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-card {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-row,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .ingetech-tableau.it-responsive-cards.it-type-spec_light .it-spec-value,
    .ingetech-tableau.it-responsive-cards.it-type-spec_dark .it-spec-value {
        align-items: flex-start !important;
        text-align: left !important;
        width: 100% !important;
    }
}
