/* Vineta — blocs du lot « d3 » (resources/themes/vineta/blocs-3.php) et
   affinages des variantes artisanat, joaillerie, hypermarche-tech, coques,
   raquettes, impression, soin-naturel et complements.

   Chargée après blocs.css : elle en réutilise les briques (boutons
   .vineta-btn, en-tête .vineta-tete, aplats, rangées, défilés, horloge) et
   les variables (--t-*, --vn-*, --vineta-*). Toujours sous `.theme-vineta`,
   classes préfixées `vineta-d3-`. Mobile d'abord (390 px), puis 768 px et
   1200 px ; propriétés logiques pour l'arabe ; aucune animation en
   mouvement réduit. */

/* ================================================================ commun */
.theme-vineta .vineta-d3-pastille {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 26px;
    padding: 3px 12px;
    border-radius: 999px;
    background: var(--vineta-d3-pastille, var(--vn-accent, var(--t-primary)));
    color: var(--vineta-d3-sur-pastille, var(--vn-sur-accent, #fff));
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .02em;
}
.theme-vineta :is(.vineta-d3-cartes__visuel, .vineta-d3-offre__visuel, .vineta-d3-centree__fond, .vineta-d3-atouts__visuel, .vineta-d3-liste__visuel, .vineta-d3-panneau__fond, .vineta-d3-vedette__visuel) > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.theme-vineta :is(.vineta-d3-offre__texte, .vineta-d3-centree__corps, .vineta-d3-lateral__grille > *, .vineta-d3-lateral__textes, .vineta-d3-atouts__grille > *, .vineta-d3-atout__textes, .vineta-d3-liste__grille > *, .vineta-d3-vedette__grille > *, .vineta-d3-cartes__pied) { min-width: 0; }
.theme-vineta :is(.vineta-d3-offre__titre, .vineta-d3-centree__titre, .vineta-d3-cartes__titre, .vineta-d3-vedette__nom, .vineta-d3-liste__ligne) { overflow-wrap: anywhere; hyphens: auto; }

/* ================================================== vignettes illustrées */
.theme-vineta .vineta-d3-cartes__cadre { position: relative; }
.theme-vineta .vineta-d3-cartes--panneau .vineta-d3-cartes__cadre {
    padding: 36px 16px;
    background: var(--vineta-d3-panneau);
}
.theme-vineta .vineta-d3-cartes--arrondi.vineta-d3-cartes--panneau .vineta-d3-cartes__cadre { border-radius: calc(var(--t-radius, 8px) * 1.5); }
.theme-vineta .vineta-d3-cartes--clair { --vineta-titre-section: #fff; }
.theme-vineta .vineta-d3-cartes--clair .vineta-d3-cartes__pied { color: #fff; }
.theme-vineta .vineta-d3-cartes--clair .vineta-phrase { color: color-mix(in srgb, #fff 82%, transparent); }
.theme-vineta .vineta-d3-cartes__liste {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 20px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.theme-vineta .vineta-d3-cartes--paysage .vineta-d3-cartes__liste { grid-template-columns: 1fr; }
.theme-vineta .vineta-d3-cartes__item { min-width: 0; }
.theme-vineta .vineta-d3-cartes__lien { display: flex; flex-direction: column; gap: 14px; height: 100%; color: var(--t-text); text-decoration: none; }
.theme-vineta .vineta-d3-cartes__visuel {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    background: var(--t-surface);
}
.theme-vineta .vineta-d3-cartes--portrait .vineta-d3-cartes__visuel { aspect-ratio: 3 / 4; }
.theme-vineta .vineta-d3-cartes--paysage .vineta-d3-cartes__visuel { aspect-ratio: 7 / 4; }
.theme-vineta .vineta-d3-cartes--rond .vineta-d3-cartes__visuel { border-radius: 50%; }
.theme-vineta .vineta-d3-cartes--arrondi:not(.vineta-d3-cartes--rond) .vineta-d3-cartes__visuel { border-radius: var(--t-radius, 8px); }
.theme-vineta .vineta-d3-cartes__visuel > img { transition: transform .6s ease; }
.theme-vineta a.vineta-d3-cartes__lien:hover .vineta-d3-cartes__visuel > img { transform: scale(1.05); }
.theme-vineta .vineta-d3-cartes__visuel .vineta-aplat::after { content: none; }
.theme-vineta .vineta-d3-cartes__pied { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.theme-vineta .vineta-d3-cartes__titre { font-family: var(--t-font-head); font-size: 17px; font-weight: 500; line-height: 1.3; }
.theme-vineta .vineta-d3-cartes__mention { color: var(--t-muted); font-size: 14px; }
.theme-vineta .vineta-d3-cartes--clair .vineta-d3-cartes__mention { color: inherit; opacity: .8; }
.theme-vineta .vineta-d3-cartes__plus { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.theme-vineta .vineta-d3-cartes__plus::after { content: "→"; font-size: 1.15em; line-height: 1; }
[dir="rtl"] .theme-vineta .vineta-d3-cartes__plus::after { content: "←"; }
.theme-vineta a.vineta-d3-cartes__lien:hover :is(.vineta-d3-cartes__titre, .vineta-d3-cartes__plus) { color: var(--vn-accent-texte, var(--t-primary)); }
.theme-vineta .vineta-d3-cartes--clair a.vineta-d3-cartes__lien:hover :is(.vineta-d3-cartes__titre, .vineta-d3-cartes__plus) { color: #fff; text-decoration: underline; }

/* Au début, nom en capitales et mention en exposant (Jewelry 2). */
.theme-vineta .vineta-d3-cartes--debut .vineta-d3-cartes__pied { align-items: flex-start; text-align: start; }
.theme-vineta .vineta-d3-cartes--debut .vineta-d3-cartes__titre { font-size: clamp(18px, 2vw, 24px); font-weight: 400; text-transform: uppercase; }
.theme-vineta .vineta-d3-cartes__exposant { margin-inline-start: 3px; font-family: var(--t-font-body); font-size: 11px; font-weight: 500; text-transform: none; vertical-align: super; }

/* Étiquette blanche posée en bas du visuel (Pod). */
.theme-vineta .vineta-d3-cartes__etiquette {
    position: absolute;
    inset-inline: 0;
    bottom: 16px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: max-content;
    max-width: calc(100% - 24px);
    margin-inline: auto;
    padding: 9px 18px;
    background: var(--t-bg);
    color: var(--t-text);
    text-align: center;
}
.theme-vineta .vineta-d3-cartes--etiquette .vineta-d3-cartes__titre { font-family: var(--t-font-body); font-size: 15px; }
/* Encart blanc dans le coin (« Summer Sales » de Pod). */
.theme-vineta .vineta-d3-cartes--encart .vineta-d3-cartes__etiquette {
    inset-inline: 16px auto;
    bottom: 16px;
    align-items: flex-start;
    margin: 0;
    padding: 16px 20px;
    text-align: start;
}
.theme-vineta .vineta-d3-cartes--encart .vineta-d3-cartes__titre { font-size: clamp(20px, 2.4vw, 28px); font-weight: var(--t-head-weight, 600); }
.theme-vineta .vineta-d3-cartes--encart .vineta-d3-cartes__plus { text-transform: none; letter-spacing: 0; text-decoration: underline; text-underline-offset: 4px; }
.theme-vineta .vineta-d3-cartes--encart .vineta-d3-cartes__plus::after { content: "↗"; }

/* Mosaïque : deux hautes, deux empilées (Pod). */
.theme-vineta .vineta-d3-cartes--mosaique .vineta-d3-cartes__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 210px; }
.theme-vineta .vineta-d3-cartes--mosaique .vineta-d3-cartes__visuel { flex: 1 1 auto; min-height: 0; aspect-ratio: auto; }

@media (min-width: 768px) {
    .theme-vineta .vineta-d3-cartes--panneau .vineta-d3-cartes__cadre { padding: 56px 40px; }
    .theme-vineta .vineta-d3-cartes__liste { grid-template-columns: repeat(var(--vineta-d3-colonnes, 3), minmax(0, 1fr)); gap: 28px 24px; }
    .theme-vineta .vineta-d3-cartes--paysage .vineta-d3-cartes__liste { grid-template-columns: repeat(var(--vineta-d3-colonnes, 2), minmax(0, 1fr)); }
    .theme-vineta .vineta-d3-cartes--mosaique .vineta-d3-cartes__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 320px; }
    .theme-vineta .vineta-d3-cartes--mosaique .vineta-d3-cartes__item:nth-child(-n+2) { grid-row: span 2; }
    .theme-vineta .vineta-d3-cartes--etiquette .vineta-d3-cartes__etiquette { bottom: 22px; padding: 10px 22px; }
    .theme-vineta .vineta-d3-cartes--encart .vineta-d3-cartes__etiquette { inset-inline: 32px auto; bottom: 32px; padding: 22px 32px; }
}

/* ============================================= bandeau en grandes lettres */
.theme-vineta .vineta-d3-geant { padding-block: 28px; color: var(--vineta-d3-lettres, var(--t-text)); overflow: hidden; }
.theme-vineta .vineta-d3-geant .vineta-defile__ligne { gap: 0 clamp(20px, 3vw, 44px); padding-inline-end: clamp(20px, 3vw, 44px); }
.theme-vineta .vineta-d3-geant__message {
    font-family: var(--t-font-head);
    font-size: clamp(34px, 6vw, 72px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
.theme-vineta .vineta-d3-geant--grand .vineta-d3-geant__message { font-size: clamp(28px, 4.4vw, 52px); }
.theme-vineta .vineta-d3-geant__message--contour { color: transparent; -webkit-text-stroke: 1.5px var(--vineta-d3-lettres, var(--t-text)); }
@supports not (-webkit-text-stroke: 1px #000) {
    .theme-vineta .vineta-d3-geant__message--contour { color: inherit; opacity: .55; }
}
.theme-vineta .vineta-d3-geant__symbole { display: inline-flex; color: var(--vineta-d3-symbole, currentColor); }
.theme-vineta .vineta-d3-geant__symbole svg { flex: none; width: clamp(28px, 3.6vw, 48px); height: auto; }

/* =================================================== cartes promotionnelles */
.theme-vineta .vineta-d3-offres__grille { display: grid; gap: 20px; }
.theme-vineta .vineta-d3-offre {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 280px;
    overflow: hidden;
    border-radius: calc(var(--t-radius, 8px) * 1.25);
    background: var(--vineta-d3-fond, var(--vineta-t3));
    color: var(--t-text);
}
.theme-vineta .vineta-d3-offres--basse .vineta-d3-offre { min-height: 200px; }
.theme-vineta .vineta-d3-offres--haute .vineta-d3-offre { min-height: 360px; }
.theme-vineta .vineta-d3-offre__visuel { position: absolute; inset: 0; }
.theme-vineta .vineta-d3-offres--cote .vineta-d3-offre__visuel { inset-inline-start: auto; width: 46%; }
.theme-vineta .vineta-d3-offres--cote .vineta-d3-offre__visuel > img { object-fit: contain; object-position: center bottom; }
.theme-vineta .vineta-d3-offre__texte {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    max-width: 64%;
    padding: 28px 22px;
}
.theme-vineta .vineta-d3-offre--clair { color: #fff; }
.theme-vineta .vineta-d3-offre--clair.vineta-d3-offre--photo .vineta-d3-offre__visuel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .05));
}
[dir="rtl"] .theme-vineta .vineta-d3-offre--clair.vineta-d3-offre--photo .vineta-d3-offre__visuel::after { background: linear-gradient(-90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .05)); }
.theme-vineta .vineta-d3-offre__surtitre { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--vineta-d3-surtitre, inherit); }
.theme-vineta .vineta-d3-offre__titre {
    margin: 0;
    font-family: var(--t-font-head);
    font-size: clamp(22px, 2.4vw, 32px);
    font-weight: var(--t-head-weight, 500);
    line-height: 1.2;
    color: inherit;
}
.theme-vineta .vineta-d3-offre__phrase { margin: 0; font-size: 14px; line-height: 1.6; opacity: .85; }
.theme-vineta .vineta-d3-offre__prix { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin: 0; font-size: 20px; font-weight: 500; color: var(--vn-accent-texte, var(--t-primary)); }
.theme-vineta .vineta-d3-offre--clair .vineta-d3-offre__prix { color: inherit; }
.theme-vineta .vineta-d3-offre__prix del { color: var(--t-muted); font-size: 14px; }
.theme-vineta .vineta-d3-offre__bouton { margin-block-start: 8px; }
.theme-vineta .vineta-d3-offre--clair .vineta-d3-offre__bouton:not(.vineta-btn--contour) { background: #fff; border-color: #fff; color: #111; }

@media (min-width: 768px) {
    .theme-vineta .vineta-d3-offres--duo .vineta-d3-offres__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .theme-vineta .vineta-d3-offres--trio .vineta-d3-offres__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .theme-vineta .vineta-d3-offres--mosaique .vineta-d3-offres__grille { grid-template-columns: 2fr 1fr; gap: 24px; }
    .theme-vineta .vineta-d3-offres--mosaique .vineta-d3-offre:first-child { grid-row: span 2; }
    .theme-vineta .vineta-d3-offres--mosaique.vineta-d3-offres--n2 .vineta-d3-offre:first-child { grid-row: auto; }
    .theme-vineta .vineta-d3-offres--mosaique .vineta-d3-offre:first-child .vineta-d3-offre__titre { font-size: clamp(30px, 3.2vw, 44px); }
    .theme-vineta .vineta-d3-offres--mosaique .vineta-d3-offre:first-child .vineta-d3-offre__texte { padding: 40px 36px; }
    .theme-vineta .vineta-d3-offres--mosaique .vineta-d3-offre:not(:first-child) { min-height: 0; }
    .theme-vineta .vineta-d3-offre__texte { padding: 36px 32px; max-width: 58%; }
    .theme-vineta .vineta-d3-offre:not(.vineta-d3-offre--photo) .vineta-d3-offre__texte,
    .theme-vineta .vineta-d3-offres--mosaique .vineta-d3-offre:not(:first-child) .vineta-d3-offre__texte { max-width: 100%; }
}

/* ======================================================= bannière centrée */
.theme-vineta .vineta-d3-centree__large { width: 100%; }
.theme-vineta .vineta-d3-centree--pleine { padding-block: 0; }
.theme-vineta .vineta-d3-centree__cadre {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    overflow: hidden;
    padding: 24px 16px;
}
.theme-vineta .vineta-d3-centree--contenu .vineta-d3-centree__cadre { border-radius: calc(var(--t-radius, 8px) * 1.25); }
.theme-vineta .vineta-d3-centree--basse .vineta-d3-centree__cadre { min-height: 240px; }
.theme-vineta .vineta-d3-centree--grande .vineta-d3-centree__cadre { min-height: 420px; }
.theme-vineta .vineta-d3-centree__fond { position: absolute; inset: 0; background: var(--vineta-d3-fond, var(--vineta-t1)); }
.theme-vineta .vineta-d3-centree__fond .vineta-aplat::after { content: none; }
.theme-vineta .vineta-d3-centree--clair.vineta-d3-centree--texte.vineta-d3-centree--photo .vineta-d3-centree__fond::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .35);
}
.theme-vineta .vineta-d3-centree__corps {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    max-width: 660px;
    padding: 12px 8px;
    text-align: center;
    color: var(--t-text);
}
.theme-vineta .vineta-d3-centree--clair.vineta-d3-centree--texte .vineta-d3-centree__corps { color: #fff; }
.theme-vineta .vineta-d3-centree--encart .vineta-d3-centree__corps { padding: 36px 24px; background: var(--t-bg); }
.theme-vineta .vineta-d3-centree__corps .vineta-d3-pastille { align-self: center; }
.theme-vineta .vineta-d3-centree__surtitre { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.theme-vineta .vineta-d3-centree__titre {
    margin: 0;
    font-family: var(--t-font-head);
    font-size: clamp(30px, 4.2vw, 54px);
    font-weight: var(--t-head-weight, 500);
    line-height: 1.12;
    color: inherit;
}
.theme-vineta .vineta-d3-centree__phrase { margin: 0; max-width: 520px; font-size: 15px; line-height: 1.6; opacity: .85; }
.theme-vineta .vineta-d3-centree__bouton { margin-block-start: 6px; }
.theme-vineta .vineta-d3-centree--clair.vineta-d3-centree--texte .vineta-d3-centree__bouton { background: #fff; border-color: #fff; color: #111; }
@media (min-width: 768px) {
    .theme-vineta .vineta-d3-centree__cadre { min-height: 420px; padding: 48px 24px; }
    .theme-vineta .vineta-d3-centree--basse .vineta-d3-centree__cadre { min-height: 300px; }
    .theme-vineta .vineta-d3-centree--grande .vineta-d3-centree__cadre { min-height: 600px; }
    .theme-vineta .vineta-d3-centree--encart .vineta-d3-centree__corps { padding: 52px 64px; }
}

/* ======================================= rayons en colonne et bons plans */
.theme-vineta .vineta-d3-lateral__grille { display: grid; gap: 28px; }
.theme-vineta .vineta-d3-lateral__rayons {
    overflow: hidden;
    border: 1.5px solid var(--vineta-d3-cadre, var(--t-primary));
    border-radius: calc(var(--t-radius, 8px) * 1.25);
}
.theme-vineta .vineta-d3-lateral__entete {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 14px 20px;
    background: var(--vineta-d3-cadre, var(--t-primary));
    color: var(--vineta-d3-sur-cadre, #fff);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.theme-vineta .vineta-d3-lateral__entete svg { flex: none; width: 18px; height: 18px; }
.theme-vineta .vineta-d3-lateral__liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 8px 0; list-style: none; }
.theme-vineta .vineta-d3-lateral__rayon { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 16px; color: var(--t-text); font-size: 14px; text-decoration: none; }
.theme-vineta .vineta-d3-lateral__rayon:hover { background: color-mix(in srgb, var(--vineta-d3-cadre, var(--t-primary)) 9%, var(--t-bg)); color: var(--t-text); }
.theme-vineta .vineta-d3-lateral__vignette { position: relative; flex: none; width: 36px; height: 36px; overflow: hidden; border-radius: 50%; background: var(--t-surface); }
.theme-vineta .vineta-d3-lateral__vignette img { width: 100%; height: 100%; object-fit: cover; }
.theme-vineta .vineta-d3-lateral__atouts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 12px;
    margin: 24px 0 0;
    padding: 24px 16px;
    border: 1px solid var(--t-border);
    border-radius: calc(var(--t-radius, 8px) * 1.25);
    list-style: none;
}
.theme-vineta .vineta-d3-lateral__atout { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 13px; color: var(--t-muted); }
.theme-vineta .vineta-d3-lateral__atout strong { color: var(--t-text); font-size: 15px; font-weight: 500; }
.theme-vineta .vineta-d3-lateral__icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-block-end: 4px;
    border: 1px solid var(--t-border);
    border-radius: 50%;
    color: var(--vineta-d3-icone, var(--vn-accent-texte, var(--t-primary)));
}
.theme-vineta .vineta-d3-lateral__icone .vineta-icone { width: 22px; height: 22px; }
.theme-vineta .vineta-d3-lateral__tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 24px; }
.theme-vineta .vineta-d3-lateral__textes { display: flex; flex-direction: column; gap: 6px; }
.theme-vineta .vineta-d3-horloge {
    display: flex;
    gap: 0;
    padding: 8px 6px;
    border: 1px solid var(--t-border);
    border-radius: calc(var(--t-radius, 8px) * 1.25);
    background: var(--t-bg);
}
.theme-vineta .vineta-d3-horloge .vineta-horloge__case { position: relative; display: flex; flex-direction: column; align-items: center; width: auto; height: auto; min-width: 56px; padding: 2px 8px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.theme-vineta .vineta-d3-horloge .vineta-horloge__case + .vineta-horloge__case::before { content: ":"; position: absolute; inset-inline-start: -3px; top: 4px; color: var(--t-muted); font-size: 20px; }
.theme-vineta .vineta-d3-horloge .vineta-horloge__valeur { color: var(--vn-accent-texte, var(--t-primary)); font-size: 26px; font-weight: 500; line-height: 1.2; }
.theme-vineta .vineta-d3-horloge .vineta-horloge__nom { color: var(--t-text); font-size: 12px; }
.theme-vineta .vineta-d3-lateral__produits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; margin: 0; padding: 0; list-style: none; }
.theme-vineta .vineta-d3-lateral__produits > li { min-width: 0; }
.theme-vineta .vineta-d3-lateral__produits .pq-shop-box { margin: 0; }
@media (min-width: 768px) {
    .theme-vineta .vineta-d3-lateral__produits { grid-template-columns: repeat(var(--vineta-d3-colonnes, 4), minmax(0, 1fr)); gap: 20px; }
    .theme-vineta .vineta-d3-lateral__atouts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .theme-vineta .vineta-d3-lateral__grille { grid-template-columns: 290px minmax(0, 1fr); gap: 28px; }
    .theme-vineta .vineta-d3-lateral__liste { grid-template-columns: 1fr; }
    .theme-vineta .vineta-d3-lateral__atouts { grid-template-columns: 1fr; gap: 28px; padding: 32px 20px; }
}

/* ===================================================== atouts et visuel */
.theme-vineta .vineta-d3-atouts__grille { display: grid; gap: 28px; }
.theme-vineta .vineta-d3-atouts__visuel {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: calc(var(--t-radius, 8px) * 1.25);
    background: var(--t-surface);
}
.theme-vineta .vineta-d3-atouts__visuel .vineta-aplat::after { content: none; }
.theme-vineta .vineta-d3-atouts__colonne .vineta-tete { margin-block-end: 12px; }
.theme-vineta .vineta-d3-atouts__liste { margin: 0; padding: 0; list-style: none; }
.theme-vineta .vineta-d3-atout { display: flex; align-items: flex-start; gap: 16px; padding-block: 18px; }
.theme-vineta .vineta-d3-atouts--liste .vineta-d3-atout + .vineta-d3-atout { border-block-start: 1px solid var(--t-border); }
.theme-vineta .vineta-d3-atout__icone { flex: none; display: inline-flex; color: var(--vineta-d3-icone, var(--vn-accent-texte, var(--t-primary))); }
.theme-vineta .vineta-d3-atout__icone .vineta-icone { width: 30px; height: 30px; }
.theme-vineta .vineta-d3-atout__textes { display: flex; flex-direction: column; gap: 6px; }
.theme-vineta .vineta-d3-atout__titre { font-family: var(--t-font-head); font-size: 19px; font-weight: 500; line-height: 1.3; color: var(--t-text); }
.theme-vineta .vineta-d3-atout__phrase { color: var(--t-muted); font-size: 14px; line-height: 1.6; }
.theme-vineta .vineta-d3-atouts--autour .vineta-d3-atout { flex-direction: column; gap: 12px; padding-block: 16px; }
.theme-vineta .vineta-d3-atouts--autour .vineta-d3-atout__titre { font-family: var(--t-font-body); font-size: 15px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.theme-vineta .vineta-d3-atouts--autour .vineta-d3-atouts__visuel { aspect-ratio: 1 / 1.05; }
@media (min-width: 768px) {
    .theme-vineta .vineta-d3-atouts--liste .vineta-d3-atouts__visuel { aspect-ratio: 4 / 5; }
    .theme-vineta .vineta-d3-atouts--liste .vineta-d3-atouts__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
    .theme-vineta .vineta-d3-atouts--visuel-droite.vineta-d3-atouts--liste .vineta-d3-atouts__visuel { order: 2; }
    .theme-vineta .vineta-d3-atouts--autour .vineta-d3-atouts__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
    .theme-vineta .vineta-d3-atouts--autour .vineta-d3-atouts__colonne--1 { order: -1; }
    .theme-vineta .vineta-d3-atouts--autour .vineta-d3-atout { padding-block: 24px; }
}

/* ===================================== visuel et liste de rayons */
.theme-vineta .vineta-d3-liste__grille { display: grid; gap: 20px; }
.theme-vineta .vineta-d3-liste__visuel {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / .92;
    border-radius: calc(var(--t-radius, 8px) * 1.5);
    background: var(--t-surface);
}
.theme-vineta .vineta-d3-liste__cadre {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    border: 1px solid var(--t-text);
    border-radius: calc(var(--t-radius, 8px) * 1.5);
}
.theme-vineta .vineta-d3-liste__titre { margin: 0 0 8px; font-family: var(--t-font-head); font-size: 22px; font-weight: var(--t-head-weight, 500); }
.theme-vineta .vineta-d3-liste__lignes { margin: 0; padding: 0; list-style: none; }
.theme-vineta .vineta-d3-liste__ligne {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding-block: 10px;
    border-block-end: 1px solid var(--t-border);
    color: var(--t-muted);
    font-family: var(--t-font-head);
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
}
.theme-vineta .vineta-d3-liste__ligne:hover, .theme-vineta .vineta-d3-liste__ligne--avant { color: var(--t-text); }
.theme-vineta .vineta-d3-liste__ligne--avant { min-height: 88px; border-block-end: 1.5px solid var(--t-text); }
.theme-vineta .vineta-d3-liste__fleche {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 36px;
    border-radius: 999px;
    background: var(--vineta-d3-fleche, var(--t-primary));
    color: var(--vineta-d3-sur-fleche, var(--t-on-primary, #fff));
    opacity: 0;
    transition: opacity .2s ease;
}
.theme-vineta .vineta-d3-liste__fleche svg { width: 18px; height: 18px; }
[dir="rtl"] .theme-vineta .vineta-d3-liste__fleche svg { transform: scaleX(-1); }
.theme-vineta .vineta-d3-liste__ligne--avant .vineta-d3-liste__fleche,
.theme-vineta .vineta-d3-liste__ligne:hover .vineta-d3-liste__fleche,
.theme-vineta .vineta-d3-liste__ligne:focus-visible .vineta-d3-liste__fleche { opacity: 1; }
@media (min-width: 768px) {
    .theme-vineta .vineta-d3-liste__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
    .theme-vineta .vineta-d3-liste--visuel-droite .vineta-d3-liste__visuel { order: 2; }
    .theme-vineta .vineta-d3-liste__cadre { padding: 32px 20px; }
}

/* ================================================= produits sur panneau */
.theme-vineta .vineta-d3-panneau__cadre {
    position: relative;
    overflow: hidden;
    padding: 44px 16px 36px;
    border-radius: 28px;
    background: var(--vineta-d3-fond, var(--t-dark));
}
.theme-vineta .vineta-d3-panneau__fond { position: absolute; inset: 0; }
.theme-vineta .vineta-d3-panneau__corps { position: relative; z-index: 1; }
.theme-vineta .vineta-d3-panneau--clair .vineta-d3-panneau__corps {
    --vineta-titre-section: #fff;
    color: #fff;
}
.theme-vineta .vineta-d3-panneau--clair .vineta-d3-panneau__corps :is(.vineta-phrase, .vineta-surtitre) { color: color-mix(in srgb, #fff 84%, transparent); }
/* Les cartes produit restent des îlots clairs, avec l'encre de la page. */
.theme-vineta .vineta-d3-panneau .pq-shop-box {
    --t-text: var(--vn-encre);
    --t-muted: var(--vn-encre-douce);
    margin: 0;
    overflow: hidden;
    border-radius: var(--t-radius, 8px);
    background: var(--t-bg);
    color: var(--vn-encre);
}
.t-card--minimal .vineta-d3-panneau .pq-shop-box .pq-product-detail { padding: 12px 14px 16px; }
.theme-vineta .vineta-d3-panneau__suite { margin: 28px 0 0; text-align: center; }
@media (min-width: 768px) {
    .theme-vineta .vineta-d3-panneau__cadre { padding: 64px 40px 48px; border-radius: 48px; }
}

/* ========================================================= produit vedette */
.theme-vineta .vineta-d3-vedette--panneau .vineta-d3-vedette__cadre { padding: 40px 16px; border-radius: 28px; background: var(--t-surface); }
.theme-vineta .vineta-d3-vedette__entete { margin: 0 0 28px; text-align: center; }
.theme-vineta .vineta-d3-vedette__grille { display: grid; gap: 24px; }
.theme-vineta .vineta-d3-vedette__vignettes { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; order: 2; overflow-x: auto; scrollbar-width: none; }
.theme-vineta .vineta-d3-vedette__vignettes li { position: relative; flex: none; width: 72px; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--t-border); border-radius: 8px; background: var(--t-bg); }
.theme-vineta .vineta-d3-vedette__vignettes li.is-actif { border-color: var(--t-text); }
.theme-vineta .vineta-d3-vedette__vignettes img { width: 100%; height: 100%; object-fit: cover; }
.theme-vineta .vineta-d3-vedette__visuel {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: calc(var(--t-radius, 8px) * 1.25);
    background: var(--t-bg);
}
.theme-vineta .vineta-d3-vedette__infos { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.theme-vineta .vineta-d3-vedette__marque { margin: 0; color: var(--t-muted); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.theme-vineta .vineta-d3-vedette__nom { margin: 0; font-family: var(--t-font-head); font-size: clamp(22px, 2.4vw, 30px); font-weight: 500; line-height: 1.25; }
.theme-vineta .vineta-d3-vedette__nom a { color: var(--t-text); text-decoration: none; }
.theme-vineta .vineta-d3-vedette__prix { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin: 0; }
.theme-vineta .vineta-d3-vedette__prix .pq-montant { color: var(--vineta-d3-prix, var(--vn-accent-texte, var(--t-primary))); font-size: 26px; font-weight: 600; }
.theme-vineta .vineta-d3-vedette__prix del { color: var(--t-muted); font-size: 18px; }
.theme-vineta .vineta-d3-vedette__remise { padding: 3px 10px; border-radius: 999px; background: #7a2e0e; color: #fff; font-size: 12px; font-weight: 600; }
.theme-vineta .vineta-d3-vedette__stock { margin: 0; padding: 4px 10px; border-radius: 6px; background: #e3f4e6; color: #17652a; font-size: 13px; font-weight: 500; }
.theme-vineta .vineta-d3-vedette__stock.is-epuise { background: #fde8e8; color: #9b1c1c; }
.theme-vineta .vineta-d3-vedette__actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: 100%; max-width: 460px; margin-block-start: 8px; }
.theme-vineta .vineta-d3-vedette__actions form { margin: 0; }
.theme-vineta .vineta-d3-vedette__commander { width: 100%; }
.theme-vineta .vineta-d3-vedette__commander::after { content: none; }
.theme-vineta .vineta-d3-vedette__fiche { align-self: flex-start; min-height: 44px; font-size: 14px; }
@media (min-width: 768px) {
    .theme-vineta .vineta-d3-vedette--panneau .vineta-d3-vedette__cadre { padding: 56px 40px; border-radius: 48px; }
    .theme-vineta .vineta-d3-vedette__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
    .theme-vineta .vineta-d3-vedette__grille--vignettes { grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr); }
    .theme-vineta .vineta-d3-vedette__vignettes { flex-direction: column; order: 0; align-self: start; }
    .theme-vineta .vineta-d3-vedette__vignettes li { width: 96px; }
}

/* ====================================================== mouvement réduit */
@media (prefers-reduced-motion: reduce) {
    /* Bandeau géant immobile : une seule ligne que l'on fait glisser au doigt,
       plutôt que des mots immenses empilés sur plusieurs lignes. */
    .theme-vineta .vineta-d3-geant .vineta-defile__fenetre { overflow-x: auto; scrollbar-width: none; }
    .theme-vineta .vineta-d3-geant .vineta-defile__fenetre::-webkit-scrollbar { display: none; }
    .theme-vineta .vineta-d3-geant .vineta-defile__piste { width: max-content; margin-inline: auto; padding-inline: 16px; }
    .theme-vineta .vineta-d3-geant .vineta-defile__ligne { flex-wrap: nowrap; white-space: nowrap; }
    .theme-vineta .vineta-d3-geant .vineta-defile__ligne > :last-child { display: none; }
    .theme-vineta .vineta-d3-cartes__visuel > img { transition: none; }
    .theme-vineta a.vineta-d3-cartes__lien:hover .vineta-d3-cartes__visuel > img { transform: none; }
}

/* ======================================================================
   VARIANTES — affinages tirés de chaque démo (classe body theme-vineta--<id>).
   Couleurs et polices viennent de resources/themes/vineta/variantes/<id>.php.
   ====================================================================== */

/* ------------------------------------------------------------ Artisanat
   Handcraft : barre brun tabac, Jost léger, boutons caramel en capitales,
   sections crème. Le caramel du gabarit (#BB8F60) n'offre que 2,9:1 avec un
   texte blanc : les boutons prennent ce caramel assombri (≥ 4,5:1). */
.theme-vineta--artisanat {
    --t-head-weight: 400;
    --vn-accent: color-mix(in srgb, var(--t-primary) 72%, #000);
    --vn-sur-accent: #fff;
    --vineta-d3-creme: #fff8eb;
}
.theme-vineta--artisanat .vn-topbar { background: #776041; }
.theme-vineta--artisanat :is(.vineta-diapo, .vineta-duo, .vineta-d3-offres, .vineta-d3-centree) .vineta-btn {
    background: var(--vn-accent); border-color: var(--vn-accent); color: var(--vn-sur-accent);
    font-size: 13px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
}
.theme-vineta--artisanat :is(.vineta-diapo, .vineta-duo, .vineta-d3-offres) .vineta-btn::after { content: none; }
.theme-vineta--artisanat :is(.vineta-diapo, .vineta-duo, .vineta-d3-offres) .vineta-btn:hover { background: var(--t-secondary); border-color: var(--t-secondary); }
.theme-vineta--artisanat .vineta-diapo__titre { font-weight: 400; }
.theme-vineta--artisanat .vineta-diapo__surtitre { font-size: 13px; font-weight: 500; opacity: 1; }
.theme-vineta--artisanat :is(.vineta-fond--teinte, .vineta-avis--citation) { background: var(--vineta-d3-creme); }
.theme-vineta--artisanat .vineta-duo__titre { font-weight: 400; }
.theme-vineta--artisanat .vineta-d3-offre__titre { font-weight: 400; }
.theme-vineta--artisanat .vineta-duo__visuel { aspect-ratio: 1 / 1.1; }
.theme-vineta--artisanat .vineta-onglet { font-size: clamp(22px, 2.6vw, 34px); font-weight: 400; }
.theme-vineta--artisanat .vineta-atouts--cartes .vineta-atout { border: 0; }
.theme-vineta--artisanat .vineta-atouts--cartes .vineta-atout__icone { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid var(--t-border); border-radius: 50%; }
.theme-vineta--artisanat .vineta-atouts--cartes .vineta-icone { width: 24px; height: 24px; }
@media (min-width: 992px) {
    .theme-vineta--artisanat .vineta-duo__grille { grid-template-columns: .8fr 1fr; }
    .theme-vineta--artisanat .vineta-avis--citation .vineta-avis__grille { grid-template-columns: .6fr 1fr; padding-inline: 6%; }
    .theme-vineta--artisanat .vineta-avis--citation .vineta-avis__corps { text-align: center; align-items: center; }
}

/* ------------------------------------------------------------ Joaillerie
   Jewelry 2 : barre brun tabac, Jost fin, bouton bronze carré, atouts dans
   des cadres gris, avis sur fond lin. */
.theme-vineta--joaillerie { --t-head-weight: 400; --vn-accent: var(--t-primary); --vn-sur-accent: #fff; }
.theme-vineta--joaillerie .vn-topbar { background: #776041; }
.theme-vineta--joaillerie .vineta-diapo__titre { font-weight: 400; font-size: clamp(38px, 5.4vw, 72px); }
.theme-vineta--joaillerie .vineta-diapo .vineta-btn { background: var(--t-primary); border-color: var(--t-primary); font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .03em; }
.theme-vineta--joaillerie .vineta-atouts--cartes .vineta-atout { border-color: #b2b2b2; border-radius: 0; padding-block: 34px; }
.theme-vineta--joaillerie .vineta-atouts--cartes .vineta-icone { width: 40px; height: 40px; }
.theme-vineta--joaillerie .vineta-fond--teinte { background: #eee7da; }
.theme-vineta--joaillerie .vineta-d3-cartes__plus::after { content: "↗"; }
.theme-vineta--joaillerie .vineta-d3-cartes--paysage .vineta-d3-cartes__titre { font-size: clamp(18px, 2vw, 24px); font-weight: 400; text-transform: uppercase; }
.theme-vineta--joaillerie .vineta-d3-geant__message { font-weight: 500; text-transform: uppercase; }
.theme-vineta--joaillerie .vineta-d3-geant__message--contour { text-transform: none; font-weight: 400; }

/* ------------------------------------------------------ Hypermarché tech
   Mega Electronic : barre blanche, violet électrique pour la colonne des
   rayons, boutons nuit, décompte en rouge corail foncé (lisible). */
.theme-vineta--hypermarche-tech { --t-head-weight: 500; --vn-accent: var(--t-secondary); --vineta-d3-pastille: #fff; --vineta-d3-sur-pastille: #111; }
.theme-vineta--hypermarche-tech .vn-topbar { background: #fff; color: var(--t-text); border-block-end: 1px solid var(--t-border); }
.theme-vineta--hypermarche-tech .vn-social a { border-color: var(--t-border); }
.theme-vineta--hypermarche-tech .t-bar { border-block-end: 1px solid var(--t-border); }
.theme-vineta--hypermarche-tech .vineta-d3-offre .vineta-d3-pastille { text-transform: uppercase; font-size: 10px; }
.theme-vineta--hypermarche-tech .vineta-d3-offre:nth-child(3) .vineta-d3-pastille { background: #f68e3e; color: #111; }
.theme-vineta--hypermarche-tech .vineta-d3-offre__prix { color: #b3261e; font-size: 26px; }
.theme-vineta--hypermarche-tech .vineta-d3-horloge .vineta-horloge__valeur { color: #c0392b; }
.theme-vineta--hypermarche-tech .vineta-d3-centree .vineta-d3-pastille { background: #d4a20b; color: #111; }

/* ----------------------------------------------------------------- Coques
   Phonecase : page gris perle, sections posées dans des cartes blanches
   arrondies, sur-titres corail (assombri pour la lecture), aplats francs. */
.theme-vineta--coques { --vn-accent: var(--t-secondary); --vineta-d3-pastille: #c93a31; --vineta-d3-sur-pastille: #fff; }
.theme-vineta--coques .vn-topbar { background: #313030; }
.theme-vineta--coques :is(.vineta-selection, .vineta-onglets, .vineta-avis, .vineta-atouts) > .container {
    padding: 40px 16px;
    border-radius: 16px;
    background: #fff;
}
.theme-vineta--coques .vineta-atouts > .container { padding-block: 18px; }
.theme-vineta--coques .vineta-diapo__visuel .vineta-aplat { background: var(--vineta-aplat-c); }
.theme-vineta--coques .vineta-diapo__visuel .vineta-aplat::after { content: none; }
.theme-vineta--coques .vineta-rayons--ronds .vineta-rayon__visuel { max-width: 150px; margin-inline: auto; }
.theme-vineta--coques .vineta-rayon__nom { font-size: 16px; }
.theme-vineta--coques .vineta-surtitre { color: #c93a31; font-weight: 500; }
.theme-vineta--coques .vineta-d3-offre__titre { font-size: clamp(24px, 2.6vw, 34px); font-weight: 400; }
.theme-vineta--coques .vineta-d3-offre__prix { color: #c93a31; }
.theme-vineta--coques .vineta-d3-atout__icone { color: #8a4fd6; }
.theme-vineta--coques .vineta-offre--image .vineta-horloge__case { border-radius: 4px; border-color: #f2a59e; }
.theme-vineta--coques .vineta-duo__titre { font-size: clamp(32px, 4vw, 56px); }
@media (min-width: 768px) {
    .theme-vineta--coques :is(.vineta-selection, .vineta-onglets, .vineta-avis, .vineta-atouts) > .container { padding: 56px 32px; }
}

/* -------------------------------------------------------------- Raquettes
   Pickleball : titres ronds très gras et penchés (Baloo 2 en oblique, à la
   place d'Agbalumo), diaporama partagé dégradé sarcelle, jaune soleil avec
   texte sombre (le blanc n'y serait pas lisible), avis sur panneau bleu. */
.theme-vineta--raquettes { --t-head-weight: 800; --vn-accent: var(--t-primary); --vn-sur-accent: #151515; --t-on-primary: #151515; }
.theme-vineta--raquettes .vn-topbar { background: linear-gradient(90deg, #3f7a4a, #a0763a); }
.theme-vineta--raquettes :is(.vineta-titre, .vineta-diapo__titre, .vineta-duo__titre, .vineta-atout__titre, .vineta-d3-liste__ligne, .vineta-d3-cartes__titre, .vineta-d3-geant__message) { font-style: italic; }
.theme-vineta--raquettes .vineta-diapo--split .vineta-diapo__contenu { background: linear-gradient(135deg, #5bb190, #0e8fb5); }
.theme-vineta--raquettes .vineta-diapo .vineta-btn { background: var(--t-primary); border-color: var(--t-primary); color: #151515; }
.theme-vineta--raquettes .vineta-diapo .vineta-btn::after { content: none; }
.theme-vineta--raquettes .vineta-diapo__titre { font-size: clamp(34px, 4.4vw, 56px); }
.theme-vineta--raquettes .vineta-atout__titre { font-family: var(--t-font-head); font-size: 19px; font-weight: 800; }
.theme-vineta--raquettes .vineta-d3-liste__ligne { font-size: 19px; font-weight: 700; }
.theme-vineta--raquettes .vineta-d3-liste__ligne--avant { color: #0d3b5a; }
.theme-vineta--raquettes .vineta-duo .vineta-btn { background: var(--t-primary); border-color: var(--t-primary); color: #151515; }
.theme-vineta--raquettes .vineta-avis.vineta-fond--sombre { background: none; }
.theme-vineta--raquettes .vineta-avis.vineta-fond--sombre > .container { padding: 48px 16px; border-radius: 28px; background: linear-gradient(180deg, #0a8fc4, #034862); }
.theme-vineta--raquettes .vineta-d3-cartes__titre { font-size: 22px; font-weight: 800; }
@media (min-width: 768px) {
    .theme-vineta--raquettes .vineta-diapo--split .vineta-diapo__visuel { flex-basis: 50%; }
    .theme-vineta--raquettes .vineta-avis.vineta-fond--sombre > .container { padding: 64px 32px; border-radius: 48px; }
}

/* ------------------------------------------------------------- Impression
   Pod : Playfair Display gras, bandeaux noirs défilants, encarts blancs,
   boutons noirs carrés, barre brune. */
.theme-vineta--impression { --t-head-weight: 700; --vn-accent: #111; --vn-sur-accent: #fff; }
.theme-vineta--impression .vn-topbar { background: #7e6449; }
.theme-vineta--impression .vineta-bandeau--sombre { background: #000; padding-block: 18px; }
.theme-vineta--impression .vineta-bandeau__message { font-family: var(--t-font-body); font-size: 20px; font-weight: 500; }
.theme-vineta--impression .vineta-bandeau + .vineta-d3-centree + .vineta-bandeau { margin-block-start: 56px; }
.theme-vineta--impression .vineta-d3-centree__titre { font-weight: 700; }
.theme-vineta--impression .vineta-d3-centree--encart .vineta-d3-centree__corps { max-width: 720px; }
.theme-vineta--impression .vineta-d3-cartes--etiquette .vineta-d3-cartes__titre::after { content: " ›"; }
.theme-vineta--impression .vineta-d3-cartes--mosaique .vineta-d3-cartes__titre { font-size: 18px; }
.theme-vineta--impression .vineta-d3-cartes--mosaique .vineta-d3-cartes__titre::after { content: none; }
.theme-vineta--impression .vineta-onglet { font-size: clamp(24px, 3vw, 38px); font-weight: 700; }
.theme-vineta--impression .vineta-fond--teinte { background: #faf1f2; }

/* ----------------------------------------------------------- Soin naturel
   Skincare 2 : titres en Playfair italique (oblique de synthèse : la police
   servie n'a pas d'italique), orange vif avec texte sombre (le blanc n'y
   atteint pas 4,5:1), bandes dégradées pêche-lavande. */
.theme-vineta--soin-naturel { --t-head-weight: 400; --vn-accent: var(--t-primary); --vn-sur-accent: #1a1a1a; --t-on-primary: #1a1a1a; --vineta-d3-degrade: linear-gradient(90deg, #feebd4, #e5e1fe); }
.theme-vineta--soin-naturel .vn-topbar { background: #776041; }
.theme-vineta--soin-naturel :is(.vineta-titre, .vineta-diapo__titre, .vineta-d3-centree__titre) { font-style: italic; }
.theme-vineta--soin-naturel .vineta-diapo__titre { font-size: clamp(38px, 5vw, 64px); }
.theme-vineta--soin-naturel :is(.vineta-diapo, .vineta-faq) .vineta-btn { background: var(--t-primary); border-color: var(--t-primary); color: #1a1a1a; }
.theme-vineta--soin-naturel .vineta-d3-vedette__nom { font-family: var(--t-font-body); font-weight: 500; }
.theme-vineta--soin-naturel .vineta-d3-vedette__prix .pq-montant { color: #b3261e; }
.theme-vineta--soin-naturel .vineta-atouts { background: var(--vineta-d3-degrade); }
.theme-vineta--soin-naturel .vineta-faq.vineta-fond--teinte { background: var(--vineta-d3-degrade); }
.theme-vineta--soin-naturel .vineta-d3-atout__icone { color: #c45f00; }
.theme-vineta--soin-naturel .vineta-selection .vineta-produits { padding: 40px 20px 24px; border: 1px solid #f2c9a5; border-radius: 16px; }
.theme-vineta--soin-naturel .vineta-selection .vineta-tete { position: relative; z-index: 1; margin-block-end: -22px; }
.theme-vineta--soin-naturel .vineta-selection .vineta-titre { padding-inline: 20px; background: var(--t-bg); }

/* ------------------------------------------------------------ Compléments
   Supplement : titres serrés (Montserrat resserré, à la place d'Oswald),
   violet électrique, diaporama posé sur le panneau bordeaux des rayons. */
.theme-vineta--complements { --t-head-weight: 600; --t-head-spacing: -0.03em; --vn-accent: var(--t-primary); --vn-sur-accent: #fff; }
.theme-vineta--complements .vn-topbar { background: #591399; }
.theme-vineta--complements :is(.vineta-diapo, .vineta-d3-offres, .vineta-d3-panneau) .vineta-btn { background: var(--t-primary); border-color: var(--t-primary); color: #fff; }
.theme-vineta--complements .vineta-diapo__titre { font-size: clamp(34px, 4.4vw, 56px); letter-spacing: -0.03em; }
.theme-vineta--complements .vineta-diapo__surtitre { color: #6a2fd0; opacity: 1; }
.theme-vineta--complements .vineta-diapo--encadre .vineta-diapo__cadre { border-radius: 0; }
.theme-vineta--complements .vineta-diapo + .vineta-d3-cartes { padding-block-start: 0; }
.theme-vineta--complements .vineta-d3-cartes__titre { font-weight: 600; letter-spacing: -0.02em; }
.theme-vineta--complements .vineta-atouts { padding-block: 18px; border-block-end: 1px solid var(--t-border); }
.theme-vineta--complements .vineta-d3-offre__titre { text-transform: uppercase; letter-spacing: -0.02em; font-weight: 600; }
.theme-vineta--complements .vineta-d3-offre__surtitre { color: #6a2fd0; }
.theme-vineta--complements .vineta-d3-offre--clair .vineta-d3-offre__surtitre { color: #fff; }
.theme-vineta--complements .vineta-d3-panneau__cadre { border-radius: 0; }

/* ------------------------------------------- retouches après comparaison */
/* Raquettes : le panneau texte du diaporama partagé garde le dégradé
   sarcelle même en texte blanc ; bouton jaune à texte sombre. */
.theme-vineta--raquettes .vineta-diapo--split .vineta-diapo__slide--clair .vineta-diapo__contenu { background: linear-gradient(135deg, #3f9f7c, #0b7fa3); }
.theme-vineta--raquettes .vineta-diapo__slide--clair .vineta-btn:not(.vineta-btn--contour) { background: var(--t-primary); border-color: var(--t-primary); color: #151515; }
@media (min-width: 992px) {
    .theme-vineta--raquettes .vineta-duo__grille { grid-template-columns: 1fr 1fr; }
    .theme-vineta--raquettes .vineta-duo__visuel { aspect-ratio: 1 / 1.05; }
}
/* Coques : ronds de taille fixe, aplats gris du gabarit pour l'offre limitée
   et la bannière « en action ». */
.theme-vineta--coques .vineta-rayons--ronds .vineta-rayon__visuel { width: 100%; }
.theme-vineta--coques :is(.vineta-offre__fond, .vineta-duo__visuel) .vineta-aplat { background: #d0ccc9; }
.theme-vineta--coques :is(.vineta-offre__fond, .vineta-duo__visuel) .vineta-aplat::after { content: none; }
.theme-vineta--coques .vineta-duo__visuel { aspect-ratio: 16 / 10; }
/* Impression : un blanc entre la grande bannière et le second bandeau. */
.theme-vineta--impression .vineta-d3-centree--grande { padding-block-end: 56px; }
/* Soin naturel : questions dans une carte blanche, sur le dégradé. */
.theme-vineta--soin-naturel .vineta-faq__liste { padding: 12px 24px; border-radius: 16px; background: #fff; }
/* Compléments : panneau bordeaux collé au diaporama, avis visuel à droite. */
.theme-vineta--complements .vineta-diapo { padding-block-end: 0; }
.theme-vineta--complements .vineta-d3-cartes--panneau { padding-block-start: 0; }
@media (min-width: 768px) {
    .theme-vineta--complements .vineta-avis--citation .vineta-avis__visuel { order: 2; }
}
