/* Spliff — Product Details V2 (Accordéon) */

.spliff-pdv2 {
    --pdv2-bg: #F4F4F4;
    --pdv2-text: #0F0F10;
    --pdv2-content: #1A1A1A;
    --pdv2-kicker: #A0A4AB;
    --pdv2-chevron: #3D5BFF;
    --pdv2-radius: 6px;
    --pdv2-gap: 12px;
    --pdv2-transition: 0.35s ease;

    width: 100%;
    box-sizing: border-box;
}

.spliff-pdv2 *,
.spliff-pdv2 *::before,
.spliff-pdv2 *::after {
    box-sizing: border-box;
}

.spliff-pdv2__kicker {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pdv2-kicker);
    margin: 0 0 14px 0;
}

.spliff-pdv2__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pdv2-gap);
}

.spliff-pdv2__item {
    background-color: var(--pdv2-bg);
    border-radius: var(--pdv2-radius);
    overflow: hidden;
}

/* ─── Séparateur entre items (mode "with-separator") ───
   Active une bordure inférieure sur chaque item sauf le dernier.
   Annule le fond et le radius pour un rendu de type "tableau".
   La couleur et l'épaisseur sont pilotées par les controls Elementor. */
.spliff-pdv2--with-separator .spliff-pdv2__list {
    gap: 0;
}

.spliff-pdv2--with-separator .spliff-pdv2__item {
    background-color: transparent;
    border-radius: 0;
}

.spliff-pdv2--with-separator .spliff-pdv2__item:not(:last-child) {
    border-bottom: 1px solid #E5E5E5;
}

.spliff-pdv2__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-appearance: none;
    appearance: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* ─── Override hover/active hérités du thème ───
   Le wrapper reçoit `.spliff-pdv2--no-hover` ou `--no-active` quand les toggles
   Elementor sont désactivés. Spécificité boostée (2 classes + pseudo) pour
   l'emporter même sur les CSS thème avec !important. */
.spliff-pdv2.spliff-pdv2--no-hover .spliff-pdv2__head:hover,
.spliff-pdv2.spliff-pdv2--no-hover .spliff-pdv2__head:hover .spliff-pdv2__title,
.spliff-pdv2.spliff-pdv2--no-hover .spliff-pdv2__head:hover .spliff-pdv2__chevron {
    background-color: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:active,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:focus,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:focus-visible,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:active .spliff-pdv2__title,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:focus .spliff-pdv2__title,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:active .spliff-pdv2__chevron,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:focus .spliff-pdv2__chevron {
    background-color: transparent !important;
    color: inherit !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Chevron garde sa couleur native même sous --no-hover/--no-active */
.spliff-pdv2.spliff-pdv2--no-hover .spliff-pdv2__head:hover .spliff-pdv2__chevron,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:active .spliff-pdv2__chevron,
.spliff-pdv2.spliff-pdv2--no-active .spliff-pdv2__head:focus .spliff-pdv2__chevron {
    color: var(--pdv2-chevron) !important;
}

.spliff-pdv2__title {
    flex: 1 1 auto;
    color: var(--pdv2-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.3;
}

.spliff-pdv2__chevron {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-left: 12px;
    color: var(--pdv2-chevron);
    transition: transform var(--pdv2-transition);
}

.spliff-pdv2__chevron svg {
    display: block;
    width: 100%;
    height: 100%;
}

.spliff-pdv2__item.is-open .spliff-pdv2__chevron {
    transform: rotate(180deg);
}

.spliff-pdv2__panel {
    overflow: hidden;
    max-height: 0;
    transition: max-height var(--pdv2-transition);
}

.spliff-pdv2__item.is-open .spliff-pdv2__panel {
    max-height: var(--pdv2-panel-height, 1200px);
}

.spliff-pdv2__panel[hidden] {
    display: block;
    max-height: 0;
}

.spliff-pdv2__panel-inner {
    padding: 0;
    color: var(--pdv2-content);
    font-size: 13px;
    line-height: 1.7;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spliff-pdv2__panel-inner > p {
    margin: 0 0 0.6em 0;
}

.spliff-pdv2__panel-inner > p:last-child {
    margin-bottom: 0;
}

.spliff-pdv2--placeholder {
    padding: 14px;
    background: #fff8e5;
    border: 1px dashed #d6b04a;
    color: #6c5410;
    border-radius: var(--pdv2-radius);
}

@media (max-width: 600px) {
    .spliff-pdv2__panel-inner {
        font-size: 12px;
    }
}
