/* Ochaka — blocs du second lot (resources/themes/ochaka/blocs-2.php) et
   finitions des variantes Librairie, Auto, Santé, Accessoires, Art, Voyage,
   Soin, Mode urbaine, Mode chic et Mode studio.

   Chargée après blocs.css. Même règles : tout sous `.theme-ochaka`, classes
   `ochaka-d2-…`, couleurs et polices par les variables --t-* (chaque
   variante recolore les blocs sans une ligne de plus), mobile d'abord,
   propriétés logiques pour l'arabe, rien d'animé en mouvement réduit.
   Les règles `.theme-ochaka--<variante>` n'affinent que la variante
   nommée : elles reprennent le détail de sa démo d'origine (taille des
   onglets, arrondis, bandes de couleur) sur les blocs communs. */

/* ================================================================ communs */
.theme-ochaka :is(.ochaka-d2-duo, .ochaka-d2-mosaique, .ochaka-d2-prix, .ochaka-d2-etiquettes, .ochaka-d2-encadre, .ochaka-d2-affiche, .ochaka-d2-mots, .ochaka-d2-compte, .ochaka-d2-tuiles) { padding-block: 0; }
.theme-ochaka :is(.ochaka-d2-cartes, .ochaka-d2-lot, .ochaka-d2-avis, .ochaka-d2-vedette, .ochaka-d2-grille, .ochaka-d2-rayons, .ochaka-d2-image-texte, .ochaka-d2-comparer, .ochaka-d2-asym, .ochaka-d2-boutique, .ochaka-d2-geant) { padding-block: var(--ochaka-espace); }
.theme-ochaka .ochaka-d2-lot--plein { padding-block: 0; }
.theme-ochaka .ochaka-d2-cache { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.theme-ochaka :is([class^="ochaka-d2-"], [class*=" ochaka-d2-"]) img { display: block; max-width: 100%; }

/* Fonds de section partagés (avis, vedette, grille). */
.theme-ochaka .ochaka-d2-fond--teinte { background: color-mix(in srgb, var(--t-primary) 9%, var(--t-bg)); }
.theme-ochaka .ochaka-d2-fond--surface { background: var(--t-surface); }
.theme-ochaka .ochaka-d2-fond--principal { background: var(--t-primary); color: var(--t-on-primary, #fff); }
.theme-ochaka .ochaka-d2-fond--principal :is(.ochaka-titre, .ochaka-intro, .ochaka-lien-souligne) { color: var(--t-on-primary, #fff); }

/* Pastilles colorées (« Nouveau », « −20 % », « Hot »). La pastille par
   défaut (noire) suit la zone « badges » du marchand ; une couleur choisie
   dans le bloc (orange, rouge…) reste celle que le marchand y a choisie. */
.theme-ochaka .ochaka-d2-pastille {
    display: inline-block; align-self: flex-start; padding: 4px 12px;
    font-size: 14px; font-weight: 500; line-height: 1.4;
    color: var(--t-badge-text, var(--ochaka-sur-fonce)); background: var(--ochaka-pastille, var(--t-badge-bg, var(--ochaka-encre)));
}
.theme-ochaka :is(.ochaka-d2-pastille--orange, .ochaka-d2-pastille--rouge, .ochaka-d2-pastille--vert, .ochaka-d2-pastille--violet) { color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-pastille--orange { --ochaka-pastille: #e86f1a; }
.theme-ochaka .ochaka-d2-pastille--rouge { --ochaka-pastille: #c8102e; }
.theme-ochaka .ochaka-d2-pastille--vert { --ochaka-pastille: #3c8a2e; }
.theme-ochaka .ochaka-d2-pastille--violet { --ochaka-pastille: #6b5bd6; }
.theme-ochaka .ochaka-d2-pastille--principal { background: var(--t-primary); color: var(--t-on-primary, #fff); }

/* ===================================================== bannière deux panneaux */
.theme-ochaka .ochaka-d2-duo { padding-block-start: 12px; }
.theme-ochaka .ochaka-d2-duo__piste { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; }
.theme-ochaka .ochaka-d2-duo__slide { display: grid; gap: 12px; }
.theme-ochaka .ochaka-d2-duo__visuel,
.theme-ochaka .ochaka-d2-duo__panneau { min-height: 260px; border-radius: max(12px, var(--t-radius, 0px)); overflow: hidden; }
.theme-ochaka .ochaka-d2-duo__visuel img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-duo__panneau {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: clamp(32px, 5vw, 64px) 24px; text-align: center;
}
.theme-ochaka .ochaka-d2-duo__surtitre { margin: 0 0 14px; font-size: clamp(17px, 1.6vw, 22px); font-weight: 500; color: var(--t-text); }
.theme-ochaka .ochaka-d2-duo__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 600); font-size: calc(clamp(36px, 4.6vw, 64px) * var(--ochaka-echelle, 1)); line-height: 1.12; color: var(--t-text); }
.theme-ochaka .ochaka-d2-duo__texte { margin: 18px 0 0; font-size: 17px; color: var(--t-text); }
.theme-ochaka .ochaka-d2-duo__panneau .t-btn { margin-block-start: 30px; }
.theme-ochaka .ochaka-d2-duo__controles { display: flex; justify-content: center; margin-block-start: 14px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-duo__slide { grid-template-columns: 1fr 1fr; }
    .theme-ochaka .ochaka-d2-duo--visuel-end .ochaka-d2-duo__visuel { order: 2; }
    .theme-ochaka .ochaka-d2-duo__visuel,
    .theme-ochaka .ochaka-d2-duo__panneau { min-height: clamp(380px, 38vw, 500px); }
}

/* ====================================================== bannière et offres */
.theme-ochaka .ochaka-d2-mosaique { padding-block-start: 12px; }
.theme-ochaka .ochaka-d2-mosaique__grille { display: grid; gap: 12px; }
.theme-ochaka .ochaka-d2-mosaique__offres { display: grid; gap: 12px; }
.theme-ochaka .ochaka-d2-mosaique__principale,
.theme-ochaka .ochaka-d2-mosaique__offre { position: relative; isolation: isolate; display: flex; align-items: center; overflow: hidden; }
.theme-ochaka .ochaka-d2-mosaique__principale { min-height: 340px; }
.theme-ochaka .ochaka-d2-mosaique__offre { min-height: 200px; }
.theme-ochaka .ochaka-d2-mosaique__visuel { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-mosaique__texte { padding: clamp(24px, 3vw, 40px); max-width: 460px; }
.theme-ochaka .ochaka-d2-mosaique__surtitre { margin: 0 0 10px; font-size: 16px; font-weight: 500; color: var(--t-secondary); }
.theme-ochaka .ochaka-d2-mosaique__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 500); font-size: calc(clamp(30px, 3.2vw, 40px) * var(--ochaka-echelle, 1)); line-height: 1.3; color: var(--t-text); }
.theme-ochaka .ochaka-d2-mosaique__nom { margin: 0; font-family: var(--t-font-head); font-weight: 500; font-size: 21px; line-height: 1.45; color: var(--t-text); }
.theme-ochaka .ochaka-d2-mosaique__prix { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 0; }
.theme-ochaka .ochaka-d2-mosaique__prix span { font-size: clamp(28px, 2.6vw, 34px); font-weight: 600; color: var(--t-price, var(--t-primary)); }
.theme-ochaka .ochaka-d2-mosaique__prix del { font-size: 18px; color: var(--t-muted); }
.theme-ochaka .ochaka-d2-mosaique__texte .t-btn { margin-block-start: 26px; padding: 10px 26px; font-size: 16px; }
.theme-ochaka .ochaka-d2-mosaique__texte .t-btn.ochaka-d2-mosaique__petit-btn { margin-block-start: 16px; padding: 7px 20px; font-size: 15px; }
.theme-ochaka .ochaka-d2-mosaique__texte .ochaka-lien-souligne { margin-block-start: 8px; }
.theme-ochaka .ochaka-d2-mosaique--arrondi :is(.ochaka-d2-mosaique__principale, .ochaka-d2-mosaique__offre) { border-radius: 12px; }
.theme-ochaka .ochaka-d2-mosaique--arrondi .t-btn { background: var(--t-btn-bg, var(--t-primary)); border-color: var(--t-btn-bg, var(--t-primary)); color: var(--t-btn-text, var(--t-on-primary, #fff)); }
.theme-ochaka .ochaka-d2-mosaique--carre .ochaka-d2-mosaique__surtitre::before { content: "🔥 "; }
.theme-ochaka .ochaka-d2-mosaique--carre .ochaka-d2-mosaique__offre .ochaka-d2-mosaique__surtitre::before { content: none; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-mosaique__grille { grid-template-columns: 2fr 1fr; }
    .theme-ochaka .ochaka-d2-mosaique__grille--seule { grid-template-columns: 1fr; }
    .theme-ochaka .ochaka-d2-mosaique__principale { min-height: 440px; }
    .theme-ochaka .ochaka-d2-mosaique__offres { grid-template-rows: 1fr 1fr; }
}

/* ================================================ bannière produit avec prix */
.theme-ochaka .ochaka-d2-prix__cadre { position: relative; }
.theme-ochaka .ochaka-d2-prix__piste { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; }
.theme-ochaka .ochaka-d2-prix__slide { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 380px; overflow: hidden; background: var(--ochaka-saisi-surface, var(--ochaka-gris-clair)); }
.theme-ochaka .ochaka-d2-prix__slide::after {
    content: ""; position: absolute; z-index: -1; inset: 0;
    background: linear-gradient(90deg, color-mix(in srgb, var(--t-dark, #111) 92%, transparent), color-mix(in srgb, var(--t-dark, #111) 70%, transparent));
}
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-prix__slide::after { background: linear-gradient(90deg, color-mix(in srgb, var(--t-dark, #111) 96%, transparent) 0%, color-mix(in srgb, var(--t-dark, #111) 70%, transparent) 40%, transparent 72%); }
}
.theme-ochaka .ochaka-d2-prix__visuel { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-prix__texte { padding: clamp(28px, 4vw, 56px) clamp(20px, 3vw, 32px); max-width: 600px; color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-prix__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 500); font-size: calc(clamp(30px, 3.6vw, 46px) * var(--ochaka-echelle, 1)); line-height: 1.35; color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-prix__prix { display: flex; align-items: baseline; gap: 12px; margin: 20px 0 0; }
.theme-ochaka .ochaka-d2-prix__prix span { font-size: clamp(34px, 3.6vw, 48px); font-weight: 600; color: var(--t-price, color-mix(in srgb, var(--t-primary) 85%, var(--ochaka-sur-fonce))); }
.theme-ochaka .ochaka-d2-prix__prix del { font-size: 22px; color: rgba(255, 255, 255, .7); }
.theme-ochaka .ochaka-d2-prix__texte .t-btn { margin-block-start: 26px; padding: 11px 28px; font-size: 16px; }
.theme-ochaka .ochaka-d2-prix__fleches { position: absolute; inset-block-end: 24px; inset-inline-end: 48px; }
[dir="rtl"] .theme-ochaka .ochaka-d2-prix__slide::after { transform: scaleX(-1); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-prix__slide { min-height: 580px; }
}

/* ====================================================== tuiles à pastille */
.theme-ochaka .ochaka-d2-tuiles { padding-block: 12px; }
.theme-ochaka .ochaka-d2-tuiles__grille { display: grid; gap: 12px; }
.theme-ochaka .ochaka-d2-tuiles__tuile {
    position: relative; isolation: isolate; display: flex; align-items: center; min-height: 220px;
    overflow: hidden; text-decoration: none; color: inherit;
}
.theme-ochaka .ochaka-d2-tuiles__visuel { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.theme-ochaka .ochaka-d2-tuiles__tuile:hover .ochaka-d2-tuiles__visuel { transform: scale(1.04); }
.theme-ochaka .ochaka-d2-tuiles--clair .ochaka-d2-tuiles__tuile { color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-tuiles--clair .ochaka-d2-tuiles__tuile::after {
    content: ""; position: absolute; z-index: -1; inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .6) 60%, rgba(0, 0, 0, .3));
}
@media (min-width: 992px) {
    /* Sur grand écran le texte n'occupe que la moitié : le voile s'efface à droite. */
    .theme-ochaka .ochaka-d2-tuiles--clair .ochaka-d2-tuiles__tuile::after { background: linear-gradient(90deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .45) 45%, transparent 75%); }
}
[dir="rtl"] .theme-ochaka .ochaka-d2-tuiles--clair .ochaka-d2-tuiles__tuile::after { transform: scaleX(-1); }
.theme-ochaka .ochaka-d2-tuiles__texte { display: flex; flex-direction: column; gap: 14px; padding: 26px; max-width: 380px; }
.theme-ochaka .ochaka-d2-tuiles__titre { font-family: var(--t-font-head); font-size: calc(clamp(20px, 1.8vw, 24px) * var(--ochaka-echelle, 1)); font-weight: var(--ochaka-saisi-graisse, 500); line-height: 1.45; }
.theme-ochaka .ochaka-d2-tuiles__lien { align-self: flex-start; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-tuiles__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-ochaka .ochaka-d2-tuiles--n3 .ochaka-d2-tuiles__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .theme-ochaka .ochaka-d2-tuiles__tuile { min-height: 250px; }
}

/* ================================================= bandeau compte à rebours */
/* Rouge d'alerte du gabarit (une variante peut le changer par
   --ochaka-d2-alerte, comme l'orange d'Auto) ; la zone « promo » du
   marchand le remplace. */
.theme-ochaka .ochaka-d2-compte { --ochaka-d2-alerte: var(--t-sale, #c8102e); padding-block: 24px; }
.theme-ochaka .ochaka-d2-compte__bande {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 22px;
    padding: 18px 20px; border: 1px dashed var(--ochaka-d2-alerte);
    background: color-mix(in srgb, var(--ochaka-d2-alerte) 8%, var(--t-bg)); text-align: center;
}
.theme-ochaka .ochaka-d2-compte__titre { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 20px; font-weight: 500; color: var(--ochaka-d2-alerte); }
.theme-ochaka .ochaka-d2-compte__titre svg { --ochaka-flamme: #f2762e; color: var(--ochaka-flamme); }
.theme-ochaka .ochaka-d2-compte__cases { display: flex; gap: 6px; }
.theme-ochaka .ochaka-d2-compte__case {
    display: grid; place-items: center; min-width: 58px; padding: 7px 6px;
    border-radius: 8px; background: var(--ochaka-d2-alerte); color: var(--ochaka-sur-promo, var(--ochaka-sur-fonce)); line-height: 1.1;
}
.theme-ochaka .ochaka-d2-compte__nombre { font-size: 21px; font-weight: 600; font-variant-numeric: tabular-nums; }
.theme-ochaka .ochaka-d2-compte__unite { font-size: 11px; }
.theme-ochaka .ochaka-d2-compte .pq-promo-over { font-weight: 600; color: var(--ochaka-d2-alerte); }

/* =================================================== cartes promotionnelles */
.theme-ochaka .ochaka-d2-cartes__grille { display: grid; gap: 16px; }
.theme-ochaka .ochaka-d2-cartes__carte {
    position: relative; isolation: isolate; display: flex; overflow: hidden;
    background: var(--ochaka-d2-fond, var(--t-surface)); color: var(--ochaka-texte-carte);
}
.theme-ochaka .ochaka-d2-cartes__visuel { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-cartes__texte { display: flex; flex-direction: column; align-items: flex-start; padding: 26px; }
.theme-ochaka .ochaka-d2-cartes__surtitre { margin: 0 0 6px; font-size: 14px; font-weight: 500; text-transform: uppercase; color: var(--t-sale, #c8102e); }
.theme-ochaka .ochaka-d2-cartes__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 500); font-size: calc(clamp(24px, 2.2vw, 30px) * var(--ochaka-echelle, 1)); line-height: 1.2; color: var(--ochaka-encre-douce); }
.theme-ochaka .ochaka-d2-cartes__phrase { margin: 10px 0 0; max-width: 240px; font-size: 15px; line-height: 1.5; color: var(--ochaka-texte-carte-doux); }
.theme-ochaka .ochaka-d2-cartes__texte .ochaka-lien-souligne { margin-block-start: 6px; color: var(--ochaka-encre-douce); }
.theme-ochaka .ochaka-d2-cartes--lien .ochaka-d2-cartes__carte { border-radius: 12px; min-height: 200px; }
.theme-ochaka .ochaka-d2-cartes--bouton .ochaka-d2-cartes__carte { min-height: 220px; align-items: center; }
.theme-ochaka .ochaka-d2-cartes--bouton .ochaka-d2-cartes__titre { font-size: 21px; line-height: 1.45; }
.theme-ochaka .ochaka-d2-cartes--bouton .t-btn { margin-block-start: 18px; padding: 8px 22px; font-size: 15px; background: var(--t-btn-bg, var(--t-primary)); border-color: var(--t-btn-bg, var(--t-primary)); color: var(--t-btn-text, var(--t-on-primary, #fff)); }
.theme-ochaka .ochaka-d2-cartes--centre .ochaka-d2-cartes__carte { min-height: 300px; align-items: center; justify-content: center; }
.theme-ochaka .ochaka-d2-cartes--centre .ochaka-d2-cartes__texte { align-items: center; text-align: center; }
.theme-ochaka .ochaka-d2-cartes--centre .ochaka-d2-cartes__titre { font-size: clamp(26px, 2.6vw, 34px); }
.theme-ochaka .ochaka-d2-cartes--centre .t-btn { margin-block-start: 20px; padding: 10px 28px; font-size: 16px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-cartes__grille { grid-template-columns: repeat(var(--ochaka-colonnes, 3), minmax(0, 1fr)); }
}

/* ============================================================ achat groupé */
.theme-ochaka .ochaka-d2-lot__grille { display: grid; gap: 12px; }
.theme-ochaka .ochaka-d2-lot__visuel { position: relative; isolation: isolate; min-height: 360px; overflow: hidden; }
.theme-ochaka .ochaka-d2-lot__image { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-lot__panneau { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 3.4vw, 44px) clamp(20px, 3vw, 32px); }
.theme-ochaka .ochaka-d2-lot__badge { align-self: flex-start; margin: 0 0 18px; padding: 4px 12px; border-radius: 4px; background: var(--t-sale, var(--t-secondary)); font-size: 14px; color: var(--ochaka-sur-promo, var(--ochaka-sur-fonce)); }
.theme-ochaka .ochaka-d2-lot__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 500); font-size: calc(clamp(30px, 3.2vw, 42px) * var(--ochaka-echelle, 1)); line-height: 1.3; color: var(--t-text); }
.theme-ochaka .ochaka-d2-lot__texte { margin: 12px 0 0; font-size: 15px; }
.theme-ochaka .ochaka-d2-lot__liste { display: grid; gap: 14px; margin: 26px 0 0; padding: 0; list-style: none; }
.theme-ochaka .ochaka-d2-lot__produit { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding-block: 8px; }
.theme-ochaka .ochaka-d2-lot__produit + .ochaka-d2-lot__produit { border-top: 1px solid color-mix(in srgb, var(--t-text) 8%, transparent); padding-block-start: 22px; }
.theme-ochaka .ochaka-d2-lot__vignette { display: block; width: 72px; aspect-ratio: 5 / 6; overflow: hidden; background: var(--ochaka-blanc); }
.theme-ochaka .ochaka-d2-lot__vignette.ochaka-aplat { background: var(--t-surface); }
.theme-ochaka .ochaka-d2-lot__vignette img { width: 100%; height: 100%; object-fit: contain; }
.theme-ochaka .ochaka-d2-lot__infos { display: grid; gap: 6px; }
.theme-ochaka .ochaka-d2-lot__nom { font-size: 16px; font-weight: 500; line-height: 1.45; color: var(--t-text); }
.theme-ochaka .ochaka-d2-lot__prix { display: flex; gap: 10px; font-weight: 600; color: var(--t-price, var(--t-secondary)); }
.theme-ochaka .ochaka-d2-lot__stock { font-weight: 500; color: var(--ochaka-vert-stock); }
.theme-ochaka .ochaka-d2-lot__voir {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px;
    border-radius: 999px; background: var(--ochaka-blanc); font-size: 15px; font-weight: 500; color: var(--ochaka-encre); text-decoration: none; white-space: nowrap;
}
.theme-ochaka .ochaka-d2-lot__voir:hover { background: var(--t-primary); color: var(--t-on-primary, #fff); }
.theme-ochaka .ochaka-d2-lot__total { margin: 22px 0 0; text-align: center; font-size: 19px; color: var(--t-text); }
.theme-ochaka .ochaka-d2-lot__total strong { font-size: 21px; }
.theme-ochaka .ochaka-d2-lot__bouton { margin-block-start: 16px; width: 100%; text-transform: uppercase; letter-spacing: .04em; font-size: 15px; }
/* Carte légendée (Book) : visuel en haut, texte centré dessous. */
.theme-ochaka .ochaka-d2-lot--carte .ochaka-d2-lot__visuel,
.theme-ochaka .ochaka-d2-lot--carte .ochaka-d2-lot__panneau { border-radius: 12px; }
.theme-ochaka .ochaka-d2-lot--carte .ochaka-d2-lot__visuel { display: flex; flex-direction: column; justify-content: flex-start; min-height: 0; --ochaka-fond-lavande: #ececf3; background-color: var(--ochaka-saisi-surface, var(--ochaka-fond-lavande)); }
.theme-ochaka .ochaka-d2-lot--carte .ochaka-d2-lot__image { position: static; z-index: auto; height: auto; aspect-ratio: 1.15; }
.theme-ochaka .ochaka-d2-lot__legende { padding: 24px; text-align: center; }
.theme-ochaka .ochaka-d2-lot__accroche { margin: 0 0 8px; font-size: 15px; text-transform: uppercase; color: var(--t-sale, #c8102e); }
.theme-ochaka .ochaka-d2-lot__nom-carte { margin: 0; font-family: var(--t-font-head); font-size: clamp(24px, 2.2vw, 30px); color: var(--t-text); }
.theme-ochaka .ochaka-d2-lot__phrase { margin: 6px 0 0; font-size: 15px; }
.theme-ochaka .ochaka-d2-lot__bouton-carte { margin-block-start: 20px; padding: 10px 28px; font-size: 16px; background: var(--t-btn-bg, var(--t-secondary)); border-color: var(--t-btn-bg, var(--t-secondary)); color: var(--t-btn-text, var(--ochaka-sur-fonce)); }
/* Photo pleine (Art, Fashion 2) : moitié d'écran, points blancs pulsants. */
.theme-ochaka .ochaka-d2-lot--plein .ochaka-d2-lot__grille { gap: 0; }
.theme-ochaka .ochaka-d2-lot--plein .ochaka-d2-lot__visuel { min-height: 420px; }
.theme-ochaka .ochaka-d2-lot--plein .ochaka-d2-lot__panneau { padding-inline: clamp(20px, 4vw, 64px); }
.theme-ochaka .ochaka-d2-lot__point {
    position: absolute; inset-inline-start: var(--x); inset-block-start: var(--y);
    width: 22px; height: 22px; margin: -11px; border: 6px solid var(--ochaka-blanc); border-radius: 50%;
    background: var(--ochaka-gris-point); box-shadow: 0 0 0 6px rgba(255, 255, 255, .45);
}
/* Les points se placent depuis la gauche de la photo dans toutes les langues. */
[dir="rtl"] .theme-ochaka .ochaka-d2-lot__point { inset-inline-start: auto; left: var(--x); }
@media (prefers-reduced-motion: no-preference) {
    .theme-ochaka .ochaka-d2-lot__point { animation: ochaka-d2-pulse 2.4s ease-out infinite; }
}
@keyframes ochaka-d2-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); }
    100% { box-shadow: 0 0 0 16px rgba(255, 255, 255, 0); }
}
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-lot__grille { grid-template-columns: 1fr 1fr; }
    .theme-ochaka .ochaka-d2-lot--plein .ochaka-d2-lot__visuel { min-height: 720px; }
}

/* ================================================================ avis */
.theme-ochaka .ochaka-d2-avis__piste { display: grid; grid-auto-flow: column; grid-auto-columns: 88%; gap: 20px; }
.theme-ochaka .ochaka-d2-avis__avis { margin: 0; }
.theme-ochaka .ochaka-d2-avis__titre { margin: 0 0 12px; font-size: 18px; font-weight: 600; color: var(--t-text); }
.theme-ochaka .ochaka-d2-avis__citation { margin: 0; padding: 0; border: 0; background: none; }
.theme-ochaka .ochaka-d2-avis__citation p { margin: 0; font-size: 17px; line-height: 1.65; }
.theme-ochaka .ochaka-d2-avis__auteur { display: grid; gap: 4px; margin-block-start: 18px; }
.theme-ochaka .ochaka-d2-avis__nom { font-size: 18px; font-weight: 500; color: var(--t-text); }
.theme-ochaka .ochaka-d2-avis__produit-nom { display: block; font-size: 15px; font-weight: 500; color: var(--t-text); }
.theme-ochaka .ochaka-d2-avis__produit-prix { display: block; font-size: 14px; font-weight: 600; color: var(--t-text); }
/* Grande photo (Book, Art, Skin care, Fashion 3). */
.theme-ochaka .ochaka-d2-avis--photo .ochaka-d2-avis__avis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.theme-ochaka .ochaka-d2-avis__photo { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: var(--t-surface); }
.theme-ochaka .ochaka-d2-avis__photo img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-avis__etiquette { position: absolute; inset-inline: 8px; inset-block-end: 8px; display: block; padding: 10px 12px; background: var(--ochaka-blanc); text-decoration: none; }
.theme-ochaka .ochaka-d2-avis__guillemet { display: inline-block; margin-block-end: 14px; color: var(--ochaka-encre); }
/* Cartes à portrait (Car auto, Medical). */
.theme-ochaka .ochaka-d2-avis--carte .ochaka-d2-avis__avis { display: flex; flex-direction: column; border: 1px solid var(--t-border); background: var(--t-bg); }
.theme-ochaka .ochaka-d2-avis--carte .ochaka-d2-avis__corps { flex: 1; padding: 24px; text-align: center; }
.theme-ochaka .ochaka-d2-avis__portrait { width: 56px; height: 56px; margin: 0 auto 20px; border-radius: 50%; object-fit: cover; }
.theme-ochaka .ochaka-d2-avis--carte .ochaka-d2-avis__citation p { font-size: 15px; }
.theme-ochaka .ochaka-d2-avis--carte .ochaka-etoiles { justify-content: center; }
.theme-ochaka .ochaka-d2-avis__produit { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-top: 1px solid var(--t-border); background: color-mix(in srgb, var(--t-text) 2%, var(--t-bg)); text-decoration: none; }
.theme-ochaka .ochaka-d2-avis__vignette { flex: none; width: 56px; height: 56px; overflow: hidden; }
.theme-ochaka .ochaka-d2-avis__vignette img { width: 100%; height: 100%; object-fit: contain; }
.theme-ochaka .ochaka-d2-avis.ochaka-d2-fond--teinte .ochaka-d2-avis__avis { border-color: transparent; border-radius: 12px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-avis__piste { grid-auto-columns: calc((100% - 20px) / 2); }
    .theme-ochaka .ochaka-d2-avis--carte .ochaka-d2-avis__piste { grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; }
}
@media (min-width: 1200px) {
    .theme-ochaka .ochaka-d2-avis--photo .ochaka-d2-avis__piste { gap: 28px; grid-auto-columns: calc((100% - 28px) / 2); }
}

/* =================================================== vedette et sélection */
.theme-ochaka .ochaka-d2-vedette__grille { display: grid; gap: 12px; }
.theme-ochaka .ochaka-d2-vedette__carte { display: flex; flex-direction: column; padding: 14px; background: var(--t-surface); }
.theme-ochaka .ochaka-d2-vedette__visuel { display: block; aspect-ratio: 1; overflow: hidden; background: var(--ochaka-blanc); }
.theme-ochaka .ochaka-d2-vedette__visuel img { width: 100%; height: 100%; object-fit: contain; }
.theme-ochaka .ochaka-d2-vedette__visuel { position: relative; }
.theme-ochaka .ochaka-d2-vedette__initiale { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--t-font-head); font-size: 64px; color: color-mix(in srgb, var(--t-text) 18%, transparent); }
.theme-ochaka .ochaka-d2-vedette__infos { padding: 20px 6px 6px; }
.theme-ochaka .ochaka-d2-vedette__nom { margin: 0; font-family: var(--t-font-head); font-size: 22px; font-weight: 500; line-height: 1.4; }
.theme-ochaka .ochaka-d2-vedette__nom a { color: var(--t-text); text-decoration: none; }
.theme-ochaka .ochaka-d2-vedette__prix { display: flex; align-items: baseline; gap: 10px; margin: 12px 0 0; }
.theme-ochaka .ochaka-d2-vedette__prix span { font-size: 22px; font-weight: 600; color: var(--t-price, var(--t-text)); }
.theme-ochaka .ochaka-d2-vedette__prix del { color: var(--t-muted); }
.theme-ochaka .ochaka-d2-vedette__stock { margin: 8px 0 0; font-size: 14px; color: var(--t-secondary); }
.theme-ochaka .ochaka-d2-vedette__bouton { margin-block-start: 18px; width: 100%; background: var(--t-btn-bg, var(--t-primary)); border-color: var(--t-btn-bg, var(--t-primary)); color: var(--t-btn-text, var(--t-on-primary, #fff)); text-transform: uppercase; font-size: 15px; }
.theme-ochaka .ochaka-d2-vedette__autres { display: grid; gap: 12px; }
/* Petites cartes. */
.theme-ochaka .ochaka-d2-mini { display: grid; gap: 12px; padding: 12px; background: var(--t-bg); border: 1px solid var(--t-border); text-decoration: none; color: var(--t-text); }
.theme-ochaka .ochaka-d2-mini--ligne { grid-template-columns: 84px minmax(0, 1fr); align-items: center; border-radius: 10px; }
.theme-ochaka .ochaka-d2-mini__vignette { display: block; aspect-ratio: 1; overflow: hidden; background: var(--t-surface); }
.theme-ochaka .ochaka-d2-mini__vignette img { width: 100%; height: 100%; object-fit: contain; }
.theme-ochaka .ochaka-d2-mini__infos { display: grid; gap: 8px; }
.theme-ochaka .ochaka-d2-mini__nom { font-size: 16px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.theme-ochaka .ochaka-d2-mini__prix { display: flex; gap: 8px; font-size: 15px; font-weight: 600; color: var(--t-price, inherit); }
.theme-ochaka .ochaka-d2-mini__prix del { font-weight: 400; color: var(--t-muted); }
.theme-ochaka .ochaka-d2-mini:hover .ochaka-d2-mini__nom { text-decoration: underline; text-underline-offset: 3px; }
.theme-ochaka .ochaka-d2-vedette--grille .ochaka-d2-mini { border: 0; background: var(--t-surface); }
.theme-ochaka .ochaka-d2-vedette--grille .ochaka-d2-mini__vignette { background: var(--ochaka-blanc); }
@media (min-width: 576px) {
    .theme-ochaka .ochaka-d2-vedette__autres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-vedette--grille .ochaka-d2-vedette__grille { grid-template-columns: 1fr 3fr; }
    .theme-ochaka .ochaka-d2-vedette--grille .ochaka-d2-vedette__autres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .theme-ochaka .ochaka-d2-vedette--liste .ochaka-d2-vedette__grille { grid-template-columns: 1fr 2fr; gap: 16px; }
    .theme-ochaka .ochaka-d2-vedette--liste .ochaka-d2-vedette__carte { border-radius: 12px; }
    .theme-ochaka .ochaka-d2-vedette--centre .ochaka-d2-vedette__grille { grid-template-columns: 1fr 1.1fr 1fr; gap: 20px; align-items: stretch; }
    .theme-ochaka .ochaka-d2-vedette--centre .ochaka-d2-vedette__autres { grid-template-columns: 1fr; align-content: space-between; }
    .theme-ochaka .ochaka-d2-vedette--centre .ochaka-d2-vedette__carte { flex-direction: row; gap: 18px; align-items: center; background: var(--t-bg); border: 1px solid var(--t-border); border-radius: 12px; }
    .theme-ochaka .ochaka-d2-vedette--centre .ochaka-d2-vedette__visuel { flex: 1; aspect-ratio: 3 / 4; border-radius: 10px; background: var(--t-surface); }
    .theme-ochaka .ochaka-d2-vedette--centre .ochaka-d2-vedette__infos { flex: 1; }
    .theme-ochaka .ochaka-d2-vedette--cote .ochaka-d2-vedette__grille { grid-template-columns: 2fr 1fr; gap: 16px; }
    .theme-ochaka .ochaka-d2-vedette--cote .ochaka-d2-vedette__autres { grid-template-columns: 1fr; }
    .theme-ochaka .ochaka-d2-vedette--cote .ochaka-d2-vedette__carte { flex-direction: row; gap: 28px; align-items: center; border-radius: 12px; background: var(--t-bg); padding: 20px; }
    .theme-ochaka .ochaka-d2-vedette--cote .ochaka-d2-vedette__visuel { flex: 1; aspect-ratio: 1; background: var(--t-surface); border-radius: 10px; }
    .theme-ochaka .ochaka-d2-vedette--cote .ochaka-d2-vedette__infos { flex: 1; }
    .theme-ochaka .ochaka-d2-vedette--cote .ochaka-d2-mini { border: 0; border-radius: 12px; }
}
.theme-ochaka .ochaka-d2-vedette.ochaka-d2-fond--principal .ochaka-d2-vedette__bouton { background: var(--t-btn-bg, var(--ochaka-encre)); border-color: var(--t-btn-bg, var(--ochaka-encre)); color: var(--t-btn-text, var(--ochaka-sur-fonce)); }

/* ========================================================= grille produits */
.theme-ochaka .ochaka-d2-grille__liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
.theme-ochaka .ochaka-d2-grille__case { min-width: 0; }
.theme-ochaka .ochaka-d2-grille__case .pq-shop-box { margin: 0; }
.theme-ochaka .ochaka-d2-grille--entete-center .ochaka-entete { flex-direction: column; align-items: center; text-align: center; }
.theme-ochaka .ochaka-d2-grille--colonnes .ochaka-d2-grille__liste { gap: 0; }
.theme-ochaka .ochaka-d2-grille--colonnes .ochaka-d2-grille__case { padding: 16px; border-inline-end: 1px solid var(--t-border); }
.theme-ochaka .ochaka-d2-grille--cartes .ochaka-d2-grille__case { padding: 12px; border-radius: 12px; background: var(--t-bg); }
.theme-ochaka .ochaka-d2-fond--principal.ochaka-d2-grille .ochaka-d2-grille__liste { gap: 0; background: var(--t-bg); }
.theme-ochaka .ochaka-d2-fond--principal.ochaka-d2-grille .ochaka-d2-grille__case { padding: 16px; border-inline-end: 1px solid var(--t-border); color: var(--t-text); }
/* Compte à rebours en ronds, à côté du titre (Accessories). */
.theme-ochaka .ochaka-d2-chrono { display: inline-flex; gap: 6px; }
.theme-ochaka .ochaka-d2-chrono__rond {
    display: grid; place-items: center; align-content: center; width: 48px; height: 48px; border-radius: 50%;
    background: var(--t-primary); color: var(--t-on-primary, #fff); line-height: 1;
}
.theme-ochaka .ochaka-d2-chrono__rond span { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.theme-ochaka .ochaka-d2-chrono__rond small { font-size: 10px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-grille__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
    .theme-ochaka .ochaka-d2-grille__liste { grid-template-columns: repeat(var(--ochaka-colonnes, 4), minmax(0, 1fr)); gap: 40px 24px; }
    .theme-ochaka .ochaka-d2-grille--colonnes .ochaka-d2-grille__liste,
    .theme-ochaka .ochaka-d2-fond--principal.ochaka-d2-grille .ochaka-d2-grille__liste { gap: 0; }
}

/* ======================================================== rayons illustrés */
.theme-ochaka .ochaka-d2-rayons--entete-center .ochaka-entete { flex-direction: column; align-items: center; text-align: center; }
.theme-ochaka .ochaka-d2-rayons__liste {
    display: grid; grid-auto-flow: column; grid-auto-columns: 38%; gap: 16px; margin: 0; padding: 0; list-style: none;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.theme-ochaka .ochaka-d2-rayons__liste::-webkit-scrollbar { display: none; }
.theme-ochaka .ochaka-d2-rayons__rayon { scroll-snap-align: start; min-width: 0; }
.theme-ochaka .ochaka-d2-rayons__lien { display: flex; flex-direction: column; align-items: center; gap: 14px; text-decoration: none; color: var(--t-text); text-align: center; }
.theme-ochaka .ochaka-d2-rayons__visuel { position: relative; display: block; width: 100%; aspect-ratio: 1; overflow: hidden; }
.theme-ochaka .ochaka-d2-rayons__visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.theme-ochaka .ochaka-d2-rayons__lien:hover .ochaka-d2-rayons__visuel img { transform: scale(1.06); }
.theme-ochaka .ochaka-d2-rayons__nom { font-size: 17px; font-weight: 400; line-height: 1.35; }
.theme-ochaka .ochaka-d2-rayons__compte { color: var(--t-muted); }
.theme-ochaka .ochaka-d2-rayons__compte--dessous { margin-block-start: -8px; font-size: 14px; }
.theme-ochaka .ochaka-d2-rayons--rond .ochaka-d2-rayons__visuel { border-radius: 50%; background: color-mix(in srgb, var(--t-primary) 5%, var(--t-bg)); }
.theme-ochaka .ochaka-d2-rayons--rond .ochaka-d2-rayons__visuel img { object-fit: contain; padding: 10%; }
.theme-ochaka .ochaka-d2-rayons--carre .ochaka-d2-rayons__visuel { background: color-mix(in srgb, var(--t-primary) 5%, var(--t-bg)); }
.theme-ochaka .ochaka-d2-rayons--rectangle .ochaka-d2-rayons__visuel { aspect-ratio: 6 / 5; }
.theme-ochaka .ochaka-d2-rayons--rectangle .ochaka-d2-rayons__nom { font-weight: 600; }
.theme-ochaka .ochaka-d2-rayons--libre .ochaka-d2-rayons__visuel { aspect-ratio: 3 / 2; background: none; }
.theme-ochaka .ochaka-d2-rayons--libre .ochaka-d2-rayons__visuel img { object-fit: contain; }
.theme-ochaka .ochaka-d2-rayons--libre .ochaka-d2-rayons__visuel.ochaka-aplat::before { display: none; }
.theme-ochaka .ochaka-d2-rayons--tuile .ochaka-d2-rayons__visuel { aspect-ratio: 3 / 4; display: flex; align-items: flex-end; justify-content: center; }
.theme-ochaka .ochaka-d2-rayons--tuile .ochaka-d2-rayons__visuel img { position: absolute; inset: 0; }
.theme-ochaka .ochaka-d2-rayons__pilule {
    position: relative; margin: 0 12px 20px; padding: 10px 18px; min-width: 60%;
    border-radius: 999px; background: var(--ochaka-blanc); font-size: 16px; font-weight: 500; color: var(--ochaka-encre);
}
.theme-ochaka .ochaka-d2-rayons--tuile .ochaka-d2-rayons__liste { gap: 12px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-rayons__liste { grid-auto-columns: calc((100% - 3 * 16px) / 4); }
}
@media (min-width: 1200px) {
    .theme-ochaka .ochaka-d2-rayons__liste {
        grid-auto-flow: row; grid-template-columns: repeat(var(--ochaka-colonnes, 6), minmax(0, 1fr));
        gap: 26px; overflow: visible;
    }
    .theme-ochaka .ochaka-d2-rayons--tuile .ochaka-d2-rayons__liste { gap: 14px; }
}

/* ============================================================ image et texte */
.theme-ochaka .ochaka-d2-image-texte__grille { display: grid; gap: 28px; align-items: center; }
.theme-ochaka .ochaka-d2-image-texte__visuel { aspect-ratio: 3 / 2; overflow: hidden; }
.theme-ochaka .ochaka-d2-image-texte__visuel img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-image-texte__surtitre { margin: 0 0 14px; font-size: 15px; font-weight: 500; color: var(--t-secondary); }
.theme-ochaka .ochaka-d2-image-texte__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 600); font-size: calc(clamp(36px, 4.4vw, 60px) * var(--ochaka-echelle, 1)); line-height: 1.15; color: var(--t-text); }
.theme-ochaka .ochaka-d2-image-texte__phrase { margin: 16px 0 0; font-size: 17px; color: var(--t-text); }
.theme-ochaka .ochaka-d2-image-texte__texte .t-btn { margin-block-start: 30px; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-image-texte__grille { grid-template-columns: 1.3fr 1fr; gap: clamp(32px, 4vw, 48px); }
    .theme-ochaka .ochaka-d2-image-texte--visuel-end .ochaka-d2-image-texte__grille { grid-template-columns: 1fr 1.3fr; }
    .theme-ochaka .ochaka-d2-image-texte--visuel-end .ochaka-d2-image-texte__visuel { order: 2; }
}

/* ============================================================== avant/après */
.theme-ochaka .ochaka-d2-comparer__cadre { position: relative; aspect-ratio: 4 / 3; overflow: hidden; user-select: none; }
.theme-ochaka .ochaka-d2-comparer__photo { position: absolute; inset: 0; }
.theme-ochaka .ochaka-d2-comparer__photo img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-comparer__photo--apres { clip-path: inset(0 0 0 var(--pos, 50%)); }
.theme-ochaka .ochaka-d2-comparer__photo.ochaka-aplat::before { display: none; }
.theme-ochaka .ochaka-d2-comparer__photo--avant.ochaka-aplat { background: var(--ochaka-aplat-photo); }
.theme-ochaka .ochaka-d2-comparer__photo--apres.ochaka-aplat { --ochaka-aplat-peche: #ebd4c8; background: var(--ochaka-aplat-peche); }
.theme-ochaka .ochaka-d2-comparer__poignee {
    position: absolute; z-index: 2; inset-block: 0; left: var(--pos, 50%); width: 3px; margin-left: -1.5px; background: var(--ochaka-blanc); pointer-events: none;
}
.theme-ochaka .ochaka-d2-comparer__poignee svg {
    position: absolute; top: 50%; left: 50%; width: 36px; height: 36px; padding: 9px; transform: translate(-50%, -50%);
    border-radius: 50%; background: var(--ochaka-blanc); color: var(--ochaka-encre); box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}
.theme-ochaka .ochaka-d2-comparer__etiquette {
    position: absolute; z-index: 2; inset-block-end: 20px; padding: 8px 20px; border-radius: 999px;
    background: var(--ochaka-encre); color: var(--ochaka-sur-fonce); font-size: 14px; font-weight: 600; text-transform: uppercase; pointer-events: none;
}
.theme-ochaka .ochaka-d2-comparer__etiquette--avant { left: 20px; }
.theme-ochaka .ochaka-d2-comparer__etiquette--apres { right: 20px; }
.theme-ochaka .ochaka-d2-comparer__curseur {
    position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y;
}
.theme-ochaka .ochaka-d2-comparer__curseur[hidden] { display: none; }
.theme-ochaka .ochaka-d2-comparer__cadre:has(.ochaka-d2-comparer__curseur:focus-visible) { outline: 2px solid var(--t-secondary); outline-offset: 4px; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-comparer__cadre { aspect-ratio: 16 / 9; }
}

/* ======================================================== mots défilants */
.theme-ochaka .ochaka-d2-mots { padding-block: clamp(32px, 4vw, 56px); overflow: hidden; }
.theme-ochaka .ochaka-d2-mots__ligne { overflow: hidden; }
.theme-ochaka .ochaka-d2-mots__piste { display: flex; width: max-content; }
.theme-ochaka .ochaka-d2-mots__groupe { display: flex; gap: clamp(24px, 3vw, 56px); margin: 0; padding-inline-end: clamp(24px, 3vw, 56px); white-space: nowrap; }
.theme-ochaka .ochaka-d2-mots__mot { font-family: var(--t-font-head); font-size: clamp(34px, 4.4vw, 60px); font-weight: 600; line-height: 1.5; color: var(--t-text); }
.theme-ochaka .ochaka-d2-mots__mot--detoure { color: transparent; -webkit-text-stroke: 1px var(--t-text); font-weight: 400; }
@media (prefers-reduced-motion: no-preference) {
    .theme-ochaka .ochaka-d2-mots__piste { animation: ochaka-d2-mots var(--ochaka-d2-duree, 40s) linear infinite; }
    .theme-ochaka .ochaka-d2-mots__ligne--retour .ochaka-d2-mots__piste { animation-direction: reverse; }
    .theme-ochaka .ochaka-d2-mots:hover .ochaka-d2-mots__piste { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
    /* Immobile : une seule copie, rognée proprement au bord. */
    .theme-ochaka .ochaka-d2-mots__groupe[aria-hidden="true"] { display: none; }
}
@keyframes ochaka-d2-mots { to { transform: translateX(-50%); } }
[dir="rtl"] .theme-ochaka .ochaka-d2-mots__piste { animation-name: ochaka-d2-mots-rtl; }
@keyframes ochaka-d2-mots-rtl { to { transform: translateX(50%); } }

/* ============================================================== titre géant */
.theme-ochaka .ochaka-d2-geant { padding-block: clamp(20px, 3vw, 40px) 0; }
.theme-ochaka .ochaka-d2-geant__titre {
    margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 600); text-transform: var(--t-head-transform, uppercase); text-align: center;
    /* Taille calée sur le nombre de lettres : le mot remplit la largeur sans
       déborder (la taille des titres du marchand ne s'y applique donc pas). */
    font-size: calc(min(100vw, 1320px) * 1.6 / var(--lettres, 12)); line-height: .95; letter-spacing: var(--ochaka-saisi-espacement, -.02em); color: var(--t-text);
    white-space: nowrap; overflow: hidden;
}
.theme-ochaka .ochaka-d2-geant__ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-block: 22px; }
.theme-ochaka .ochaka-d2-geant__annonce { margin: 0; font-size: 15px; color: var(--t-text); }
.theme-ochaka .ochaka-d2-geant__annonce a { margin-inline-start: 10px; font-size: 13px; font-weight: 600; text-transform: uppercase; color: var(--t-text); text-decoration: underline; text-underline-offset: 3px; }
.theme-ochaka .ochaka-d2-geant__filet { flex: 1; min-width: 40px; height: 1px; background: var(--t-text); }
.theme-ochaka .ochaka-d2-geant__recherche { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; color: var(--t-text); text-decoration: none; }
@media (max-width: 767.98px) {
    .theme-ochaka .ochaka-d2-geant__filet { display: none; }
}

/* ============================================================= asymétrie */
.theme-ochaka .ochaka-d2-asym__grille { display: grid; gap: 24px; }
.theme-ochaka .ochaka-d2-asym__item { position: relative; isolation: isolate; }
.theme-ochaka .ochaka-d2-asym__visuel { aspect-ratio: 3 / 2; overflow: hidden; }
.theme-ochaka .ochaka-d2-asym__visuel img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-asym__nom { margin: 0; font-family: var(--t-font-head); font-size: calc(clamp(24px, 2.4vw, 32px) * var(--ochaka-echelle, 1)); font-weight: var(--ochaka-saisi-graisse, 600); color: var(--t-text); }
.theme-ochaka .ochaka-d2-asym__phrase { margin: 4px 0 0; }
.theme-ochaka .ochaka-d2-asym__texte { padding-block-start: 18px; }
.theme-ochaka .ochaka-d2-asym__texte .t-btn { margin-block-start: 22px; padding: 10px 26px; font-size: 16px; }
.theme-ochaka .ochaka-d2-asym__item--grand .ochaka-d2-asym__texte { position: absolute; inset-inline-start: 0; inset-block-end: 0; padding: clamp(20px, 3vw, 44px); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-asym__grille { grid-template-columns: 2fr 1fr; gap: 40px; align-items: start; }
    .theme-ochaka .ochaka-d2-asym__item--grand .ochaka-d2-asym__visuel { aspect-ratio: auto; height: 520px; }
    .theme-ochaka .ochaka-d2-asym__item--petit .ochaka-d2-asym__visuel { aspect-ratio: auto; height: 360px; }
}

/* ======================================================== boutique (Fashion 4) */
.theme-ochaka .ochaka-d2-boutique__grille { display: grid; gap: 32px; align-items: center; }
.theme-ochaka .ochaka-d2-boutique__texte { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 420px; margin-inline: auto; }
.theme-ochaka .ochaka-d2-boutique__macaron { position: relative; display: grid; place-items: center; width: 120px; height: 120px; margin-block-end: 26px; color: var(--t-text); }
.theme-ochaka .ochaka-d2-boutique__macaron svg:first-child { position: absolute; inset: 0; }
.theme-ochaka .ochaka-d2-boutique__circulaire { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; fill: currentColor; }
@media (prefers-reduced-motion: no-preference) {
    .theme-ochaka .ochaka-d2-boutique__macaron svg:first-child { animation: ochaka-d2-tourne 18s linear infinite; }
}
@keyframes ochaka-d2-tourne { to { transform: rotate(360deg); } }
.theme-ochaka .ochaka-d2-boutique__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 500); font-size: calc(clamp(34px, 3.6vw, 48px) * var(--ochaka-echelle, 1)); color: var(--t-text); }
.theme-ochaka .ochaka-d2-boutique__accroche { margin: 12px 0 0; font-size: 15px; }
.theme-ochaka .ochaka-d2-boutique__phrase { margin: 22px 0 0; font-size: 15px; line-height: 1.6; }
.theme-ochaka .ochaka-d2-boutique__texte .t-btn { margin-block-start: 34px; padding: 10px 28px; font-size: 16px; }
.theme-ochaka .ochaka-d2-boutique__visuel { aspect-ratio: 4 / 3; overflow: hidden; }
.theme-ochaka .ochaka-d2-boutique__visuel img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-boutique__grille { grid-template-columns: 1fr 2fr; gap: 60px; }
    .theme-ochaka .ochaka-d2-boutique__visuel { aspect-ratio: auto; height: 640px; }
}

/* =================================================== bannière à étiquettes */
.theme-ochaka .ochaka-d2-etiquettes { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 460px; overflow: hidden; }
.theme-ochaka .ochaka-d2-etiquettes--grande { min-height: clamp(460px, 50vw, 640px); }
.theme-ochaka .ochaka-d2-etiquettes__visuel { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-etiquettes__bas { display: grid; gap: 10px; width: 100%; padding: 16px; }
.theme-ochaka .ochaka-d2-etiquettes__etiquette {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; min-height: 52px; padding: 10px 24px;
    border-radius: 999px; background: var(--ochaka-blanc); text-decoration: none; color: var(--ochaka-encre);
}
.theme-ochaka .ochaka-d2-etiquettes__nom { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(18px, 1.8vw, 24px); }
.theme-ochaka .ochaka-d2-etiquettes__cta { flex: none; padding-inline-start: 18px; border-inline-start: 1px solid var(--ochaka-encre); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-d2-etiquettes__bas { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 24px; }
}

/* ======================================================= bannière encadrée */
.theme-ochaka .ochaka-d2-encadre { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 460px; overflow: hidden; }
.theme-ochaka .ochaka-d2-encadre__visuel { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-encadre.ochaka-aplat::before { display: none; }
.theme-ochaka .ochaka-d2-encadre__contenu { display: flex; justify-content: center; padding-block: 48px; }
.theme-ochaka .ochaka-d2-encadre__cadre { max-width: 620px; padding: clamp(28px, 4vw, 48px) clamp(24px, 5vw, 64px); background: var(--ochaka-blanc); text-align: center; }
.theme-ochaka .ochaka-d2-encadre__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 600); font-size: calc(clamp(36px, 4.4vw, 60px) * var(--ochaka-echelle, 1)); line-height: 1.1; color: var(--ochaka-encre); }
.theme-ochaka .ochaka-d2-encadre__phrase { margin: 16px 0 0; font-size: 17px; color: var(--ochaka-texte-carte); }
.theme-ochaka .ochaka-d2-encadre__cadre .t-btn { margin-block-start: 28px; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-encadre { min-height: 650px; }
}

/* ========================================================= bannière affiche */
.theme-ochaka .ochaka-d2-affiche { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 480px; overflow: hidden; color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-affiche__visuel { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-d2-affiche:has(.ochaka-d2-affiche__visuel)::after { content: ""; position: absolute; z-index: -1; inset: 0; background: rgba(0, 0, 0, var(--voile, .3)); }
.theme-ochaka .ochaka-d2-affiche__contenu { padding-block: 64px; }
.theme-ochaka .ochaka-d2-affiche__titre { margin: 0; max-width: 760px; font-family: var(--t-font-head); font-weight: var(--ochaka-saisi-graisse, 600); font-size: calc(clamp(40px, 5vw, 68px) * var(--ochaka-echelle, 1)); line-height: 1.05; text-transform: var(--t-head-transform, uppercase); color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-affiche__phrase { margin: 16px 0 0; max-width: 520px; font-size: 17px; color: rgba(255, 255, 255, .9); }
.theme-ochaka .ochaka-d2-affiche__bouton {
    display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin-block-start: 34px; padding: 12px 26px;
    /* Bouton blanc sur la photo, sauf si le marchand a choisi la couleur des boutons. */
    background: var(--t-btn-bg, var(--ochaka-blanc)); color: var(--t-btn-text, var(--ochaka-encre)); font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
}
.theme-ochaka .ochaka-d2-affiche__bouton:hover { background: var(--ochaka-btn-survol, var(--t-secondary)); color: var(--ochaka-btn-survol-texte, var(--ochaka-sur-fonce)); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-d2-affiche { min-height: 650px; }
}

/* ======================================================= bandeau code promo */
.theme-ochaka .ochaka-d2-code { padding-block: clamp(32px, 4vw, 56px); }
.theme-ochaka .ochaka-d2-code__bande {
    position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
    padding: 22px clamp(20px, 3vw, 36px); border-radius: var(--t-radius, 0); background: var(--t-primary); color: var(--t-on-primary, #fff);
}
.theme-ochaka .ochaka-d2-code__bande::before { content: ""; position: absolute; inset: 6px; border: 1px dashed rgba(255, 255, 255, .45); border-radius: inherit; pointer-events: none; }
.theme-ochaka .ochaka-d2-code--secondaire .ochaka-d2-code__bande { background: var(--t-secondary); color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-code--sombre .ochaka-d2-code__bande { background: var(--t-dark, #111); color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-d2-code__titre { position: relative; margin: 0; font-family: var(--t-font-head); font-size: clamp(20px, 2vw, 26px); font-weight: var(--ochaka-saisi-graisse, 600); color: inherit; }
.theme-ochaka .ochaka-d2-code__pilule {
    position: relative; display: inline-flex; align-items: center; gap: 18px; min-height: 48px; padding: 6px 8px 6px 22px;
    border-radius: 999px; background: var(--ochaka-blanc); color: var(--ochaka-encre);
}
.theme-ochaka .ochaka-d2-code__code { font-weight: 600; letter-spacing: .04em; text-transform: uppercase; user-select: all; }
.theme-ochaka .ochaka-d2-code__copier {
    min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: none; cursor: pointer;
    font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--t-primary);
}
.theme-ochaka .ochaka-d2-code--secondaire .ochaka-d2-code__copier { color: var(--t-secondary); }
.theme-ochaka .ochaka-d2-code__copier:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.theme-ochaka .ochaka-d2-code__statut { position: relative; flex-basis: 100%; text-align: end; font-size: 14px; color: inherit; }
.theme-ochaka .ochaka-d2-code__statut:empty { display: none; }

/* ================================================================ variantes
   Détails de chaque démo d'origine portés par les blocs communs du thème. */

/* --- Librairie (Book) : vert sauge, en-tête centré, cartes arrondies. */
.theme-ochaka--librairie { --ochaka-surface: #f7ede4; --t-dark: #24361f; --ochaka-accent-texte: #4f684c; --ochaka-fond-carte: #f8f8fc; --ochaka-aplat-sauge: #e5eff0; }
.theme-ochaka--librairie .ochaka-titre { font-weight: var(--ochaka-saisi-graisse, 400); }
.theme-ochaka--librairie .ochaka-carrousel .pq-shop-product-img,
.theme-ochaka--librairie .ochaka-d2-rayons__visuel img { border-radius: 4px; }
.theme-ochaka--librairie :is(.pq-shop-product-img, .pq-no-image) { background: var(--ochaka-saisi-surface, var(--ochaka-fond-carte)); }
.theme-ochaka--librairie .ochaka-d2-lot__bouton { background: var(--t-btn-bg, var(--t-secondary)); border-color: var(--t-btn-bg, var(--t-secondary)); }
.theme-ochaka--librairie .ochaka-d2-lot__panneau.ochaka-aplat--chaud { background: var(--t-surface); }
.theme-ochaka--librairie .ochaka-atouts { padding-block: clamp(40px, 5vw, 64px); }
.theme-ochaka--librairie .ochaka-d2-duo__panneau.ochaka-aplat--principal { background: var(--ochaka-aplat-sauge); }

/* --- Auto (Car auto) : orange vif, pied noir. */
.theme-ochaka--auto { --ochaka-surface: #f7f7f7; --t-dark: #1b1b1b; }
.theme-ochaka--auto .ochaka-titre { font-weight: var(--ochaka-saisi-graisse, 400); }
.theme-ochaka--auto .ochaka-d2-compte { --ochaka-d2-alerte: var(--t-sale, #d9431f); }
.theme-ochaka--auto .ochaka-d2-compte__case { border-radius: 0; }
.theme-ochaka--auto .ochaka-marques__logo img,
.theme-ochaka--auto .ochaka-marques img { filter: none; }

/* --- Santé (Medical) : bleu, surfaces bleu bébé, cartes arrondies. */
.theme-ochaka--sante { --ochaka-surface: #edf1fd; --t-dark: #13203f; --ochaka-accent-texte: #2f55c9; }
.theme-ochaka--sante .ochaka-titre { font-weight: var(--ochaka-saisi-graisse, 400); }
.theme-ochaka--sante .ochaka-articles__visuel,
.theme-ochaka--sante .ochaka-articles__carte img { border-radius: 12px; }
.theme-ochaka--sante .pq-shop-box .pq-button-contain .pq-cart-button { background: var(--t-btn-bg, #edf1fd); color: var(--t-btn-text, var(--ochaka-encre)); }

/* --- Accessoires (Accessories) : violet cosmique, sections sur fond lavande. */
.theme-ochaka--accessoires { --ochaka-surface: #f3f1fb; --t-dark: #2b2350; --ochaka-accent-texte: #5446b8; }
.theme-ochaka--accessoires .ochaka-titre { font-weight: var(--ochaka-saisi-graisse, 400); }

/* --- Art : crème et brun poudré, onglets en grands titres soulignés. */
.theme-ochaka--art { --ochaka-surface: #f5f4f2; --t-dark: #1a1a1a; --ochaka-chaud-a: #f5f4f2; --ochaka-chaud-b: #ebe6e0; --ochaka-brun-poudre: #b3907a; --ochaka-aplat-art: #f5f5f5; --ochaka-aplat-acier: #b4b9bf; }
.theme-ochaka--art .ochaka-titre { font-weight: var(--ochaka-saisi-graisse, 400); }
.theme-ochaka--art .ochaka-onglets__onglet { font-size: clamp(24px, 2.4vw, 32px); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ochaka-gris-barre); }
.theme-ochaka--art .ochaka-onglets__onglet[aria-selected="true"] { color: var(--ochaka-encre); }
.theme-ochaka--art .ochaka-defile { background: var(--t-topbar-bg, var(--ochaka-brun-poudre)); color: var(--t-topbar-text, var(--ochaka-sur-fonce)); }
.theme-ochaka--art .ochaka-duo__banniere { aspect-ratio: auto; min-height: 380px; }
.theme-ochaka--art .ochaka-atouts--cartes .ochaka-atouts__atout { background: var(--t-surface); }
.theme-ochaka--art .ochaka-diapo__slide.ochaka-aplat { background: var(--ochaka-saisi-surface, var(--ochaka-aplat-art)); }
.theme-ochaka--art .ochaka-diapo__slide.ochaka-aplat::before,
.theme-ochaka--art .ochaka-diapo__forme { display: none; }
.theme-ochaka--art .ochaka-diapo__titre { font-weight: var(--ochaka-saisi-graisse, 400); }
.theme-ochaka--art .ochaka-d2-lot__visuel.ochaka-aplat { background: var(--ochaka-aplat-acier); }
.theme-ochaka--art .ochaka-d2-lot__visuel.ochaka-aplat::before { display: none; }

/* --- Voyage (Travel) : vert profond, capitales, bouton carré blanc. */
.theme-ochaka--voyage { --ochaka-surface: #f4f4f2; --t-dark: #1f2723; --ochaka-accent-texte: #42514a; --ochaka-vert-voyage: #42514a; }
.theme-ochaka--voyage .ochaka-defile--sombre { background: var(--t-topbar-bg, var(--ochaka-vert-voyage)); }
.theme-ochaka--voyage .ochaka-titre { font-weight: var(--ochaka-saisi-graisse, 500); }
.theme-ochaka--voyage .ochaka-parallaxe.ochaka-aplat--sombre { background: var(--ochaka-vert-voyage); }

/* --- Soin (Skin care) : beige rosé, menu sur bande noire. */
.theme-ochaka--soin .ochaka-defile--clair { border-block: 1px solid var(--t-border); }

/* --- Soin, Mode urbaine (Fashion 2), Mode chic (Fashion 3), Mode studio
   (Fashion 4) : les visuels du gabarit sont des aplats beige rosé #E4DDD7,
   pleins et sans forme ; les vignettes produits sans photo aussi. */
:is(.theme-ochaka--soin, .theme-ochaka--mode-urbaine, .theme-ochaka--mode-chic, .theme-ochaka--mode-studio) {
    --ochaka-surface: #e4ddd7; --ochaka-chaud-a: #e4ddd7; --ochaka-chaud-b: #e4ddd7;
}
:is(.theme-ochaka--soin, .theme-ochaka--mode-urbaine, .theme-ochaka--mode-chic, .theme-ochaka--mode-studio) :is(.ochaka-aplat--chaud, .ochaka-aplat--leger.ochaka-aplat--chaud, .ochaka-insta__visuel.ochaka-aplat) { background: var(--ochaka-saisi-surface, var(--ochaka-aplat-photo)); }
:is(.theme-ochaka--soin, .theme-ochaka--mode-urbaine, .theme-ochaka--mode-chic, .theme-ochaka--mode-studio) :is(.ochaka-aplat--chaud, .ochaka-insta__visuel.ochaka-aplat)::before,
:is(.theme-ochaka--soin, .theme-ochaka--mode-urbaine, .theme-ochaka--mode-chic, .theme-ochaka--mode-studio) .ochaka-diapo__forme { display: none; }
/* Pied clair seulement : le pied sombre (choisi par Mode chic, ou par le
    marchand) garde son fond noir, sinon ses textes blancs disparaissent. */
:is(.theme-ochaka--soin, .theme-ochaka--mode-urbaine, .theme-ochaka--mode-chic, .theme-ochaka--mode-studio).t-footer-light .t-footer { background: var(--t-footer-bg, var(--t-bg)); }
/* Sur-titre de bannière rouge, en minuscules, comme « SALE OFF 50% » du gabarit. */
:is(.theme-ochaka--mode-urbaine, .theme-ochaka--mode-studio) .ochaka-diapo__surtitre { font-size: clamp(18px, 1.8vw, 24px); font-weight: 400; letter-spacing: 0; color: var(--t-secondary); }
.theme-ochaka--mode-urbaine .ochaka-diapo__slide--end .ochaka-diapo__texte { text-align: center; }
.theme-ochaka--mode-urbaine .ochaka-d2-lot__bouton { background: var(--t-btn-bg, var(--t-secondary)); border-color: var(--t-btn-bg, var(--t-secondary)); }
.theme-ochaka--mode-urbaine .ochaka-d2-lot__panneau.ochaka-aplat--neutre { background: var(--ochaka-saisi-surface, var(--ochaka-gris-clair)); }
/* Mode chic : les deux bannières forment une seule bande bord à bord. */
.theme-ochaka--mode-chic .ochaka-duo > .container { max-width: none; padding-inline: 0; }
.theme-ochaka--mode-chic .ochaka-duo__grille { gap: 0; }
.theme-ochaka--mode-chic .ochaka-duo__banniere { aspect-ratio: auto; min-height: 320px; align-items: center; }
.theme-ochaka--mode-chic .ochaka-duo__titre { font-weight: var(--ochaka-saisi-graisse, 400); font-size: clamp(30px, 3.2vw, 44px); }
.theme-ochaka--mode-chic .ochaka-duo__surtitre { color: var(--t-secondary); opacity: 1; }
.theme-ochaka--mode-studio .ochaka-onglets__onglet[aria-selected="true"] { color: var(--t-secondary); }
