/* Ochaka — styles ajoutés pour reconstituer fidèlement les démos du gabarit :
   nouveaux blocs (resources/themes/ochaka/blocs-1.php) et nouvelles options des
   blocs existants (styles d'avis, d'articles, d'onglets, de bannières…).
   Chargée après blocs.css. Mêmes règles : tout sous `.theme-ochaka`, couleurs
   par les variables --t-*, mobile d'abord, propriétés logiques, rien qui
   bouge en mouvement réduit. */

/* ============================================================ communs */
/* Titre de section au début (« Our Blog », « Customer Reviews » de Jewelry). */
.theme-ochaka .ochaka-titre-debut .ochaka-entete { align-items: flex-start; text-align: start; }
.theme-ochaka .ochaka-titre-debut .ochaka-entete--avec-suite { justify-content: space-between; }
@media (max-width: 767.98px) {
    .theme-ochaka .ochaka-titre-debut .ochaka-entete--avec-suite { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
/* Lien « Voir tout ⊙ » des en-têtes en ligne (High-tech, Pet store). */
.theme-ochaka .ochaka-onglets__lien-tete {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    font-size: 15px;
    font-weight: 500;
    color: var(--t-text);
    text-decoration: none;
    white-space: nowrap;
}
.theme-ochaka .ochaka-onglets__lien-tete:hover { color: var(--ochaka-accent-texte); }

/* Compte à rebours en cases colorées (Pet store, Electronic market). */
.theme-ochaka .ochaka-chrono--cases { gap: 6px; justify-content: flex-start; }
.theme-ochaka .ochaka-chrono--cases .ochaka-chrono__case {
    min-width: 48px;
    padding: 8px 6px 6px;
    border-radius: 8px;
    background: var(--ochaka-chrono-fond, var(--t-primary));
    color: var(--ochaka-chrono-texte, var(--t-on-primary, #fff));
}
.theme-ochaka .ochaka-chrono--cases .ochaka-chrono__nombre { font-family: var(--t-font-body); font-size: 20px; font-weight: 600; }
.theme-ochaka .ochaka-chrono--cases .ochaka-chrono__unite { margin-block-start: 2px; font-size: 11px; color: inherit; opacity: .85; }

/* ============================================================ rayons pointillés (Organic) */
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__lien {
    padding: 22px 14px 18px;
    border: 1px dashed var(--ochaka-pointille, #8bc58f);
    border-radius: 12px;
    background: var(--t-bg);
}
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__element:nth-child(4n+2) .ochaka-rayons__lien { --ochaka-pointille: #f0a46c; }
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__element:nth-child(4n+3) .ochaka-rayons__lien { --ochaka-pointille: #f6cf6a; }
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__element:nth-child(4n+4) .ochaka-rayons__lien { --ochaka-pointille: #e98f8f; }
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__visuel { width: 74%; aspect-ratio: 1; border-radius: 8px; background: none; }
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__visuel.ochaka-aplat { background: color-mix(in srgb, var(--t-primary) 6%, var(--t-bg)); }
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__visuel img { object-fit: contain; }
.theme-ochaka .ochaka-rayons--pointille .ochaka-rayons__lien:hover { border-style: solid; }

/* ============================================================ collections : mosaïque (Watch) */
@media (min-width: 992px) {
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__grille {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-auto-rows: 1fr;
        height: clamp(460px, 44vw, 600px);
    }
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__tuile { aspect-ratio: auto; }
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__tuile:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__tuile:nth-child(2) { grid-column: 2 / span 2; grid-row: 1; }
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__tuile:nth-child(3) { grid-column: 2; grid-row: 2; }
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__tuile:nth-child(4) { grid-column: 3; grid-row: 2; }
    .theme-ochaka .ochaka-collections--mosaique .ochaka-collections__tuile:nth-child(5) { grid-column: 4; grid-row: 1 / span 2; }
    .theme-ochaka .ochaka-collections--mosaique.ochaka-collections--n4 .ochaka-collections__tuile:nth-child(4) { grid-column: 3 / span 2; }
}
/* Texte posé sombre (Sneaker : titre noir et bouton noir sur visuel clair). */
.theme-ochaka .ochaka-collections--ton-sombre .ochaka-collections__pose { color: var(--t-text); background: none; }
.theme-ochaka .ochaka-collections--ton-sombre .ochaka-collections__pose .t-btn.ochaka-btn-blanc { 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-collections--ton-sombre .ochaka-collections__phrase { color: var(--t-muted); opacity: 1; }

/* ============================================================ onglets : pilules, en-tête en ligne */
.theme-ochaka .ochaka-onglets--pilule .ochaka-onglets__barre { gap: 8px; }
.theme-ochaka .ochaka-onglets--pilule .ochaka-onglets__onglet {
    padding: 0 26px;
    border: 1px solid var(--t-border);
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
}
.theme-ochaka .ochaka-onglets--pilule .ochaka-onglets__onglet[aria-selected="true"] {
    border-color: var(--t-primary);
    background: var(--t-primary);
    color: var(--ochaka-onglet-actif, var(--t-on-primary, #fff));
}
.theme-ochaka .ochaka-onglets--tete-ligne .ochaka-onglets__tete { margin-block-end: 28px; padding-block-end: 18px; border-block-end: 1px solid var(--t-border); }
.theme-ochaka .ochaka-onglets--tete-ligne .ochaka-entete { align-items: flex-start; text-align: start; margin: 0; }
.theme-ochaka .ochaka-onglets--tete-ligne .ochaka-onglets__barre { justify-content: flex-start; margin: 16px 0 0; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-onglets--tete-ligne .ochaka-onglets__tete { display: flex; align-items: center; gap: 32px; }
    .theme-ochaka .ochaka-onglets--tete-ligne .ochaka-onglets__barre { flex: 1; justify-content: center; margin: 0; }
    .theme-ochaka .ochaka-onglets--tete-ligne .ochaka-onglets__lien-tete { margin-inline-start: auto; }
}
.theme-ochaka .ochaka-onglets--tete-ligne .ochaka-titre { font-size: calc(clamp(26px, 2.6vw, 34px) * var(--ochaka-echelle, 1)); }

/* ============================================================ carrousel : grille, fond gris */
.theme-ochaka .ochaka-carrousel--fond-gris { background: var(--t-surface); }
.theme-ochaka .ochaka-carrousel--fond-gris .pq-shop-box { padding: 16px; background: var(--t-bg); }

/* ============================================================ offre : bandeau et encadré */
.theme-ochaka .ochaka-offre--bandeau,
.theme-ochaka .ochaka-offre--encadre { background: none; }
.theme-ochaka .ochaka-offre--bandeau { padding-block: clamp(24px, 3vw, 40px); }
.theme-ochaka .ochaka-offre__bande {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px 22px;
    padding: 18px 20px;
    border: 1px dashed var(--t-secondary);
    border-radius: 10px;
    background: color-mix(in srgb, var(--t-secondary) 7%, var(--t-bg));
    --ochaka-chrono-fond: var(--t-secondary);
    --ochaka-chrono-texte: #fff;
}
.theme-ochaka .ochaka-offre__bande-texte { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--ochaka-accent-texte); }
.theme-ochaka .ochaka-offre__bande-titre { font-size: 18px; font-weight: 600; }
.theme-ochaka .ochaka-offre__bande-surtitre { margin-inline-start: 8px; color: var(--t-muted); }
.theme-ochaka .ochaka-offre__bande .ochaka-chrono__case { min-width: 44px; }
.theme-ochaka .ochaka-offre--encadre { padding-block: var(--ochaka-espace); }
.theme-ochaka .ochaka-offre--encadre .ochaka-offre__grille { position: relative; background: var(--t-surface); }
.theme-ochaka .ochaka-offre__cote { display: none; position: relative; overflow: hidden; }
.theme-ochaka .ochaka-offre__cote img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-offre--encadre .ochaka-offre__grille { grid-template-columns: 1fr 2fr 1fr; align-items: start; min-height: 440px; padding-inline: 12px; }
    .theme-ochaka .ochaka-offre__cote { display: block; aspect-ratio: 4 / 5; }
    .theme-ochaka .ochaka-offre__cote--debut { margin-block-start: 40px; width: 80%; }
    .theme-ochaka .ochaka-offre__cote--fin { margin-block-start: 30px; width: 80%; justify-self: end; aspect-ratio: 4 / 6; }
}
/* Texture de fond (Organic : la tache de pinceau beige sous le raisin). */
.theme-ochaka .ochaka-offre--texture { background: var(--ochaka-texture) center / cover no-repeat, var(--t-bg); }
.theme-ochaka .ochaka-offre__visuel--detoure { background: none; }
.theme-ochaka .ochaka-offre__visuel--detoure > img { position: relative; inset: auto; width: min(100%, 460px); height: auto; object-fit: contain; }

/* ============================================================ lookbook : cartes produits, panneau */
.theme-ochaka .ochaka-look--produits .ochaka-look__grille { align-items: start; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-look--produits .ochaka-look__grille { grid-template-columns: 1fr 1fr; gap: var(--ochaka-gouttiere); }
    .theme-ochaka .ochaka-look--produits .ochaka-look__texte { padding-block-start: clamp(24px, 3vw, 48px); padding-inline-start: 24px; }
    .theme-ochaka .ochaka-look--produits.ochaka-look--visuel-end .ochaka-look__texte { padding-inline: 0 24px; }
}
.theme-ochaka .ochaka-look--produits .ochaka-look__scene { aspect-ratio: 5 / 6; }
.theme-ochaka .ochaka-look--produits .ochaka-look__titre { font-size: calc(clamp(30px, 3vw, 40px) * var(--ochaka-echelle, 1)); }
.theme-ochaka .ochaka-look__cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ochaka-gouttiere); margin-block-start: 28px; }
.theme-ochaka .ochaka-look__cartes .pq-shop-box { margin: 0; }
/* Panneau (Pet store) : photo à gauche, panneau de la couleur principale à
   droite, pastille vive, liste des produits du lot et grand bouton. */
.theme-ochaka .ochaka-look--panneau { padding-block: 0; }
.theme-ochaka .ochaka-look--panneau .ochaka-look__grille { gap: 0; align-items: stretch; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-look--panneau .ochaka-look__grille { grid-template-columns: 1fr 1fr; }
}
.theme-ochaka .ochaka-look--panneau .ochaka-look__scene { aspect-ratio: auto; min-height: 380px; }
.theme-ochaka .ochaka-look--panneau .ochaka-look__texte {
    padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 56px);
    background: var(--t-primary);
    color: var(--t-on-primary, #fff);
}
.theme-ochaka .ochaka-look--panneau .ochaka-look__titre,
.theme-ochaka .ochaka-look--panneau .ochaka-look__nom,
.theme-ochaka .ochaka-look--panneau .ochaka-look__prix { color: inherit; }
.theme-ochaka .ochaka-look--panneau .ochaka-intro,
.theme-ochaka .ochaka-look--panneau .ochaka-surtitre { color: color-mix(in srgb, currentColor 75%, transparent); }
.theme-ochaka .ochaka-look__badge {
    display: inline-block;
    margin: 0 0 16px;
    padding: 5px 12px;
    border-radius: 6px;
    /* Pastille de remise du lot : zone « promo » si le marchand l'a choisie. */
    background: var(--t-sale, var(--ochaka-vif, var(--t-secondary)));
    color: var(--ochaka-sur-promo, var(--ochaka-vif-texte, #111));
    font-size: 14px;
    font-weight: 600;
}
.theme-ochaka .ochaka-look--panneau .ochaka-look__liste { border-color: color-mix(in srgb, currentColor 20%, transparent); }
.theme-ochaka .ochaka-look--panneau .ochaka-look__ligne { border-color: color-mix(in srgb, currentColor 20%, transparent); }
.theme-ochaka .ochaka-look--panneau .ochaka-look__vignette { border-radius: 8px; background-color: rgba(255, 255, 255, .85); }
.theme-ochaka .ochaka-look--panneau .ochaka-look__texte > .t-btn {
    display: flex;
    justify-content: center;
    width: 100%;
    background: var(--t-btn-bg, var(--ochaka-vif, var(--t-secondary)));
    border-color: var(--t-btn-bg, var(--ochaka-vif, var(--t-secondary)));
    color: var(--t-btn-text, var(--ochaka-vif-texte, #111));
    text-transform: uppercase;
    font-size: 15px;
}
.theme-ochaka .ochaka-look--panneau .ochaka-look__texte > .t-btn:hover { background: var(--ochaka-btn-survol, var(--ochaka-blanc)); border-color: var(--ochaka-btn-survol, var(--ochaka-blanc)); color: var(--ochaka-btn-survol-texte, var(--ochaka-encre-douce)); }

/* ============================================================ avis : fonds, photo, portrait, composition */
.theme-ochaka .ochaka-avis--fond-gris { background: var(--t-surface); }
.theme-ochaka .ochaka-avis--fond-sombre { background: var(--ochaka-avis-sombre, #7d7d7d); }
.theme-ochaka .ochaka-avis--fond-sombre .ochaka-entete :is(.ochaka-titre, .ochaka-intro, .ochaka-surtitre) { color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-avis--fond-gris .ochaka-avis__carte,
.theme-ochaka .ochaka-avis--fond-sombre .ochaka-avis__carte { border-color: transparent; }
.theme-ochaka .ochaka-avis--titre-start .ochaka-entete { align-items: flex-start; text-align: start; }
@media (max-width: 767.98px) {
    .theme-ochaka .ochaka-avis--titre-start .ochaka-entete--avec-suite { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.theme-ochaka .ochaka-avis__corps { display: flex; flex-direction: column; gap: 12px; }
.theme-ochaka .ochaka-avis__auteur { margin-block-start: 4px; }
/* Photo et citation côte à côte (Jewelry). */
.theme-ochaka .ochaka-avis--photo .ochaka-avis__carte { flex-direction: row; gap: clamp(16px, 2vw, 28px); padding: 0; border: 0; background: none; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-avis--photo .ochaka-avis__carte { flex-basis: calc((100% - var(--ochaka-gouttiere) * 2) / 2); }
}
@media (min-width: 1200px) {
    .theme-ochaka .ochaka-avis--photo .ochaka-avis__carte { flex-basis: calc((100% - var(--ochaka-gouttiere) * 2) / 2); }
}
.theme-ochaka .ochaka-avis__photo { position: relative; flex: 0 0 44%; aspect-ratio: 3 / 4; overflow: hidden; }
.theme-ochaka .ochaka-avis__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-avis__etiquette {
    position: absolute;
    inset-inline: 8px;
    inset-block-end: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    background: var(--t-bg);
    color: var(--t-text);
    text-decoration: none;
    font-size: 14px;
}
.theme-ochaka .ochaka-avis__guillemet {
    display: grid;
    place-items: center;
    width: 34px;
    height: 30px;
    background: var(--t-dark, #000);
    color: var(--ochaka-sur-fonce);
    font-family: Georgia, serif;
    font-size: 34px;
    line-height: 1;
    padding-block-start: 10px;
    clip-path: polygon(0 0, 100% 0, 100% 78%, 34% 78%, 12% 100%, 14% 78%, 0 78%);
}
.theme-ochaka .ochaka-avis--photo .ochaka-avis__citation p { font-size: clamp(16px, 1.5vw, 19px); }
.theme-ochaka .ochaka-avis--photo .ochaka-avis__nom { font-size: 18px; font-weight: 500; }
/* Cartes centrées à portrait rond (Sneaker). */
.theme-ochaka .ochaka-avis--portrait .ochaka-avis__carte { align-items: center; padding: 28px 0 0; text-align: center; overflow: hidden; }
.theme-ochaka .ochaka-avis--portrait .ochaka-avis__corps { align-items: center; padding-inline: 20px; }
.theme-ochaka .ochaka-avis--portrait .ochaka-avis__auteur { justify-content: center; }
.theme-ochaka .ochaka-avis__portrait {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    overflow: hidden;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 600;
    color: color-mix(in srgb, var(--t-text) 45%, transparent);
}
.theme-ochaka .ochaka-avis__portrait img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-avis--portrait .ochaka-avis__citation p { font-size: 15px; }
.theme-ochaka .ochaka-avis--portrait .ochaka-avis__produit { align-self: stretch; margin-block-start: auto; padding: 12px 16px; border-block-start: 1px solid var(--t-border); background: var(--t-surface); text-align: start; }
/* Citation à gauche, composition d'images à droite (Decor). */
.theme-ochaka .ochaka-avis__split { display: grid; gap: 40px; align-items: center; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-avis__split { grid-template-columns: 1fr 1fr; gap: 56px; }
}
.theme-ochaka .ochaka-avis--split .ochaka-avis__colonne { min-width: 0; }
.theme-ochaka .ochaka-avis--split .ochaka-entete { align-items: flex-start; text-align: start; }
.theme-ochaka .ochaka-avis--split .ochaka-avis__carte { flex-basis: 100%; flex-direction: row; align-items: flex-start; gap: 20px; padding: 0; border: 0; background: none; }
.theme-ochaka .ochaka-avis--split .ochaka-avis__corps { flex: 1; }
.theme-ochaka .ochaka-avis--split .ochaka-avis__guillemet { flex: none; }
.theme-ochaka .ochaka-avis--split .ochaka-avis__carte > .ochaka-avis__corps > .ochaka-avis__guillemet { display: none; }
.theme-ochaka .ochaka-avis--split .ochaka-avis__citation p { font-size: 18px; }
.theme-ochaka .ochaka-avis__bas { margin-block-start: 24px; padding-inline-start: 54px; }
.theme-ochaka .ochaka-avis__compo { position: relative; min-height: 360px; }
.theme-ochaka .ochaka-avis__compo-grande { position: absolute; inset: 0 0 12% 0; overflow: hidden; }
.theme-ochaka .ochaka-avis__compo-petite { position: absolute; inset-inline-start: 0; inset-block-end: 0; width: 36%; aspect-ratio: 1; overflow: hidden; border: 6px solid var(--t-bg); border-inline-start: 0; border-block-end: 0; }
.theme-ochaka .ochaka-avis__compo img { width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-avis__compo-produit {
    position: absolute;
    inset-inline-start: 36%;
    inset-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 34%;
    padding: 18px;
    background: var(--t-bg);
    color: var(--t-text);
    text-decoration: none;
}
@media (min-width: 992px) {
    .theme-ochaka .ochaka-avis__compo { min-height: 460px; }
}

/* ============================================================ articles : liste */
@media (min-width: 768px) {
    .theme-ochaka .ochaka-articles--liste .ochaka-articles__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-ochaka .ochaka-articles--liste .ochaka-articles__carte { display: grid; grid-template-columns: 46% 1fr; grid-template-rows: auto auto 1fr auto; column-gap: clamp(16px, 2.4vw, 28px); align-items: start; }
    .theme-ochaka .ochaka-articles--liste .ochaka-articles__visuel { grid-row: 1 / span 4; aspect-ratio: 1; }
    .theme-ochaka .ochaka-articles--liste .ochaka-articles__date { position: static; display: inline-block; margin-block-end: 6px; }
}

/* ============================================================ Instagram : espacée */
.theme-ochaka .ochaka-insta--espace .ochaka-insta__grille { gap: 8px; }

/* ============================================================ double bannière : bande, petites */
/* Bande (Decor) : les deux textes centrés partagent un même fond. */
.theme-ochaka .ochaka-duo--bande .ochaka-duo__grille { gap: 0; background: var(--ochaka-chaud-a, #ece6e0); }
.theme-ochaka .ochaka-duo--bande .ochaka-duo__banniere { aspect-ratio: auto; min-height: 300px; align-items: center; justify-content: center; background: none; }
.theme-ochaka .ochaka-duo--bande .ochaka-duo__banniere.ochaka-aplat::before { content: none; }
.theme-ochaka .ochaka-duo--bande .ochaka-duo__texte { max-width: 380px; text-align: center; }
.theme-ochaka .ochaka-duo--bande .ochaka-duo__surtitre { font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; color: var(--ochaka-accent-texte); opacity: 1; }
.theme-ochaka .ochaka-duo--bande .ochaka-duo__accroche { color: var(--t-muted); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-duo--bande .ochaka-duo__banniere { min-height: 400px; }
}
/* Petites bannières (Electronic market, Organic) : texte à gauche, lien souligné. */
.theme-ochaka .ochaka-duo--petites { padding-block: clamp(28px, 4vw, 48px); }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__banniere { aspect-ratio: auto; min-height: 160px; align-items: center; border-radius: max(var(--t-radius, 0px), 4px); }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__texte { padding: 22px 24px; max-width: 62%; }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__surtitre { font-size: 13px; font-weight: 600; text-transform: uppercase; color: var(--ochaka-accent-texte); opacity: 1; }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__banniere--clair .ochaka-duo__surtitre { color: inherit; }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__titre { font-size: clamp(18px, 1.6vw, 22px); font-weight: 600; }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__accroche { font-size: 15px; }
.theme-ochaka .ochaka-duo--petites .ochaka-lien-souligne { min-height: 32px; margin-block-start: 6px; font-size: 12px; color: inherit; }
.theme-ochaka .ochaka-duo__badge {
    display: inline-block;
    margin: 0 0 12px;
    padding: 4px 12px;
    border-radius: 999px;
    /* Pastille de bannière : zone « badges » si le marchand l'a choisie. */
    background: var(--t-badge-bg, var(--ochaka-badge, var(--t-secondary)));
    color: var(--t-badge-text, var(--ochaka-sur-fonce));
    font-size: 13px;
    font-weight: 600;
}
.theme-ochaka .ochaka-duo--petites .ochaka-duo__banniere:nth-child(1) { --ochaka-badge: #3c9a3f; }
.theme-ochaka .ochaka-duo--petites .ochaka-duo__banniere:nth-child(3) { --ochaka-badge: #111; }

/* ============================================================ coupon : ligne, bon d'achat */
/* Ligne (Organic) : bande de la couleur principale, titre blanc, code et
   « Copier » dans une pilule blanche. */
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__carte,
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__carte { -webkit-mask: none; mask: none; }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__carte { padding: 20px clamp(20px, 2.4vw, 28px); background: var(--t-primary); color: var(--t-on-primary, #fff); border-radius: 8px; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .18); }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__carte::before { content: none; }
.theme-ochaka .ochaka-coupon--ligne :is(.ochaka-coupon__titre, .ochaka-coupon__accroche, .ochaka-surtitre) { color: inherit; }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__titre { font-size: clamp(20px, 2vw, 26px); }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__action { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 0; padding: 6px; border-radius: 999px; background: var(--ochaka-blanc); color: var(--ochaka-encre-douce); }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__code { padding: 8px 16px; border: 0; background: none; font-family: var(--t-font-body); font-size: 15px; letter-spacing: .02em; color: var(--ochaka-encre-douce); }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__copier { padding: 8px 16px; border: 0; background: none; color: var(--t-primary); font-size: 14px; text-transform: uppercase; }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__copier:hover { background: none; color: var(--ochaka-encre-douce); }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__statut { flex-basis: 100%; min-height: 0; text-align: center; font-size: 13px; }
.theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__statut:empty { display: none; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-coupon--ligne .ochaka-coupon__carte { grid-template-columns: 1fr auto; }
}
/* Bon d'achat (Electronic market) : titre dans la couleur d'accent, deux
   boutons pilule à droite, sur une bande grise. */
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__carte { background: var(--t-surface); color: var(--t-text); }
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__carte::before { content: none; }
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__titre { color: var(--ochaka-accent-texte); }
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__accroche { color: var(--t-text); font-size: 18px; font-weight: 500; }
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__action { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__code { padding: 10px 18px; border-width: 1px; font-size: 16px; letter-spacing: .08em; }
.theme-ochaka .ochaka-coupon--bon .ochaka-coupon__statut:empty { display: none; }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-coupon--bon .ochaka-coupon__carte { grid-template-columns: 1fr auto; }
}

/* ============================================================ tuile et sélection */
.theme-ochaka .ochaka-tuile-produits { padding-block: var(--ochaka-espace); }
.theme-ochaka .ochaka-tuile-produits__grille { display: grid; gap: var(--ochaka-gouttiere); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-tuile-produits__grille { grid-template-columns: 1.15fr 2.85fr; align-items: start; }
}
.theme-ochaka .ochaka-tuile-produits__tuile { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 260px; padding: clamp(24px, 3vw, 44px); overflow: hidden; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-tuile-produits__tuile { aspect-ratio: 1; min-height: 0; }
}
.theme-ochaka .ochaka-tuile-produits__visuel { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-tuile-produits__tuile--clair { color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-tuile-produits__tuile--sombre { color: var(--t-text); }
.theme-ochaka .ochaka-tuile-produits__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--t-head-weight, 600); font-size: calc(clamp(36px, 3.6vw, 52px) * var(--ochaka-echelle, 1)); line-height: 1.05; color: inherit; }
.theme-ochaka .ochaka-tuile-produits__phrase { margin: 6px 0 14px; color: inherit; opacity: .9; }
.theme-ochaka .ochaka-tuile-produits__tuile .ochaka-lien-souligne { color: inherit; }
.theme-ochaka .ochaka-tuile-produits__case { flex: 0 0 calc((100% - var(--ochaka-gouttiere)) / 2 - 12px); }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-tuile-produits__case { flex-basis: calc((100% - 2 * var(--ochaka-gouttiere)) / 3); }
}
.theme-ochaka .ochaka-tuile-produits__case .pq-shop-box { margin: 0; }

/* ============================================================ texte et images superposées */
.theme-ochaka .ochaka-image-texte { padding-block: var(--ochaka-espace); }
.theme-ochaka .ochaka-image-texte__grille { display: grid; gap: 40px; align-items: center; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-image-texte__grille { grid-template-columns: 5fr 7fr; gap: 48px; }
    .theme-ochaka .ochaka-image-texte--visuels-start .ochaka-image-texte__visuels { order: -1; }
}
.theme-ochaka .ochaka-image-texte__titre { margin: 0; font-family: var(--t-font-head); font-weight: var(--t-head-weight, 600); font-size: calc(clamp(32px, 4vw, 52px) * var(--ochaka-echelle, 1)); line-height: 1.08; color: var(--t-text); }
.theme-ochaka .ochaka-image-texte__texte .ochaka-surtitre { letter-spacing: .02em; font-weight: 500; font-size: 16px; }
.theme-ochaka .ochaka-image-texte__texte .ochaka-intro { margin-block-start: 22px; }
.theme-ochaka .ochaka-image-texte__texte .t-btn { margin-block-start: 28px; }
.theme-ochaka .ochaka-image-texte__visuels { position: relative; aspect-ratio: 1 / .82; }
.theme-ochaka .ochaka-image-texte__grand,
.theme-ochaka .ochaka-image-texte__petit { position: absolute; overflow: hidden; }
.theme-ochaka .ochaka-image-texte__grand { inset-block-start: 0; inset-inline-end: 0; width: 78%; height: 76%; }
.theme-ochaka .ochaka-image-texte__petit { inset-block-end: 0; inset-inline-start: 0; width: 62%; height: 62%; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .3); }
.theme-ochaka .ochaka-image-texte__petit.ochaka-aplat--neutre { background: color-mix(in srgb, var(--t-text) 3%, var(--t-bg)); }
.theme-ochaka .ochaka-image-texte img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================ offres du jour */
.theme-ochaka .ochaka-offres-jour { padding-block: var(--ochaka-espace); }
.theme-ochaka .ochaka-offres-jour__grille { display: grid; gap: 28px var(--ochaka-gouttiere); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-offres-jour__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}
.theme-ochaka .ochaka-offres-jour__carte { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(14px, 2vw, 24px); align-items: stretch; }
.theme-ochaka .ochaka-offres-jour__visuel { position: relative; display: block; min-height: 220px; overflow: hidden; border-radius: 12px; }
.theme-ochaka .ochaka-offres-jour__visuel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-offres-jour__infos { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.theme-ochaka .ochaka-offres-jour__nom { margin: 0; font-family: var(--t-font-head); font-size: clamp(18px, 1.6vw, 21px); font-weight: 500; line-height: 1.3; }
.theme-ochaka .ochaka-offres-jour__nom a { color: var(--t-primary); text-decoration: none; }
.theme-ochaka .ochaka-offres-jour__nom a:hover { text-decoration: underline; }
.theme-ochaka .ochaka-offres-jour__prix { display: flex; align-items: baseline; gap: 10px; margin: 0; padding-block-end: 12px; border-block-end: 1px solid var(--t-border); }
.theme-ochaka .ochaka-offres-jour__prix-actuel { font-size: 20px; font-weight: 600; color: var(--t-price, var(--t-text)); }
.theme-ochaka .ochaka-offres-jour__prix del { color: var(--t-muted); }
.theme-ochaka .ochaka-offres-jour__stock { margin: 0; font-size: 14px; color: var(--t-muted); }
.theme-ochaka .ochaka-offres-jour__chrono { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-block-start: auto; }
.theme-ochaka .ochaka-offres-jour__vite { display: flex; flex-direction: column; margin: 0; font-size: 13px; line-height: 1.3; color: var(--t-muted); }
.theme-ochaka .ochaka-offres-jour__vite strong { font-size: 16px; color: var(--t-text); }
.theme-ochaka .ochaka-offres-jour .ochaka-lien-souligne { align-self: flex-start; min-height: 36px; }

/* ============================================================ listes compactes */
.theme-ochaka .ochaka-colonnes { padding-block: var(--ochaka-espace); }
.theme-ochaka .ochaka-colonnes__grille { display: grid; gap: 36px var(--ochaka-gouttiere); }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-colonnes__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
    .theme-ochaka .ochaka-colonnes__grille { grid-template-columns: repeat(var(--ochaka-colonnes, 3), minmax(0, 1fr)); gap: 36px 32px; }
}
.theme-ochaka .ochaka-colonnes__tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 12px; padding-block-end: 12px; border-block-end: 1px solid var(--t-border); }
.theme-ochaka .ochaka-colonnes__titre { margin: 0; font-family: var(--t-font-head); font-size: calc(clamp(24px, 2.4vw, 32px) * var(--ochaka-echelle, 1)); font-weight: var(--t-head-weight, 600); }
.theme-ochaka .ochaka-colonnes__liste { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.theme-ochaka .ochaka-colonnes__vide { margin: 0; color: var(--t-muted); }
.theme-ochaka .ochaka-colonnes__ensemble { display: grid; gap: var(--ochaka-gouttiere); }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-colonnes--avec-banniere .ochaka-colonnes__ensemble { grid-template-columns: 1fr 2fr; }
}
@media (min-width: 768px) {
    .theme-ochaka .ochaka-colonnes__liste--grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ochaka-gouttiere); }
}
@media (min-width: 1200px) {
    .theme-ochaka .ochaka-colonnes--liste:not(.ochaka-colonnes--avec-banniere) .ochaka-colonnes__liste--grille { grid-template-columns: repeat(var(--ochaka-colonnes, 3), minmax(0, 1fr)); }
}
.theme-ochaka .ochaka-colonnes--avec-banniere .ochaka-ligne-produit { padding: 14px; border: 1px solid var(--t-border); border-radius: 12px; }
.theme-ochaka .ochaka-colonnes__banniere { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; min-height: 320px; padding: 32px; overflow: hidden; border-radius: max(var(--t-radius, 0px), 12px); text-align: center; }
.theme-ochaka .ochaka-colonnes__banniere > img { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-colonnes__banniere--clair { color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-colonnes__banniere--sombre { color: var(--t-text); }
.theme-ochaka .ochaka-colonnes__banniere-titre { margin: 0; font-family: var(--t-font-head); font-size: calc(clamp(32px, 3.2vw, 46px) * var(--ochaka-echelle, 1)); font-weight: var(--ochaka-saisi-graisse, 700); line-height: 1.05; text-transform: var(--t-head-transform, uppercase); color: inherit; }
.theme-ochaka .ochaka-colonnes__banniere-phrase { margin: 8px 0 0; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: inherit; }
.theme-ochaka .ochaka-colonnes__banniere .t-btn { margin-block-start: 24px; }
.theme-ochaka .ochaka-ligne-produit { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; color: var(--t-text); text-decoration: none; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-ligne-produit { grid-template-columns: 88px 1fr; }
}
.theme-ochaka .ochaka-ligne-produit__vignette { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background-color: var(--t-surface); }
.theme-ochaka .ochaka-ligne-produit__vignette img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-ochaka .ochaka-ligne-produit__infos { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.theme-ochaka .ochaka-ligne-produit__nom { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; font-weight: 500; line-height: 1.35; }
.theme-ochaka .ochaka-ligne-produit:hover .ochaka-ligne-produit__nom { color: var(--ochaka-accent-texte); }
.theme-ochaka .ochaka-ligne-produit__prix { display: flex; align-items: baseline; gap: 8px; }
.theme-ochaka .ochaka-ligne-produit__actuel { font-size: 18px; font-weight: 600; color: var(--t-price, inherit); }
.theme-ochaka .ochaka-ligne-produit__prix del { font-size: 14px; color: var(--t-muted); }
.theme-ochaka .ochaka-ligne-produit:focus-visible { outline: 2px solid var(--t-secondary); outline-offset: 3px; }

/* ============================================================ grande bannière et petites offres */
.theme-ochaka .ochaka-trio { padding-block: var(--ochaka-espace); background: var(--ochaka-saisi-surface, var(--ochaka-trio-fond, var(--t-surface))); }
.theme-ochaka .ochaka-trio__grille { display: grid; gap: var(--ochaka-gouttiere); }
@media (min-width: 768px) {
    .theme-ochaka .ochaka-trio__grille { grid-template-columns: 1fr 1fr; }
    .theme-ochaka .ochaka-trio__banniere--petite:last-child:nth-child(even) { grid-column: 1 / -1; }
}
@media (min-width: 992px) {
    .theme-ochaka .ochaka-trio__grille { grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: minmax(240px, auto); }
    .theme-ochaka .ochaka-trio__banniere--grande { grid-row: span 2; }
    .theme-ochaka .ochaka-trio--n4 .ochaka-trio__banniere:nth-child(4) { grid-column: 2 / span 2; }
    .theme-ochaka .ochaka-trio--n2 .ochaka-trio__banniere:nth-child(2) { grid-column: 2 / span 2; grid-row: span 2; }
    .theme-ochaka .ochaka-trio--n3 .ochaka-trio__banniere:nth-child(3) { grid-column: 2 / span 2; }
    .theme-ochaka .ochaka-trio--n3 .ochaka-trio__banniere:nth-child(2) { grid-column: 2 / span 2; }
}
.theme-ochaka .ochaka-trio__banniere {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: 220px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    border-radius: var(--t-radius, 0);
}
.theme-ochaka .ochaka-trio__banniere--grande { min-height: 380px; align-items: flex-end; }
.theme-ochaka .ochaka-trio__visuel { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.theme-ochaka a.ochaka-trio__banniere:hover .ochaka-trio__visuel { transform: scale(1.04); }
.theme-ochaka a.ochaka-trio__banniere:focus-visible { outline: 2px solid var(--t-secondary); outline-offset: 3px; }
.theme-ochaka .ochaka-trio__banniere--clair { color: var(--ochaka-sur-fonce); }
.theme-ochaka .ochaka-trio__banniere--clair:has(.ochaka-trio__visuel)::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .5), transparent 70%); }
.theme-ochaka .ochaka-trio__banniere--sombre { color: var(--t-text); }
.theme-ochaka .ochaka-trio__texte { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: clamp(20px, 2.6vw, 36px); }
.theme-ochaka .ochaka-trio__surtitre { font-size: 15px; opacity: .85; }
.theme-ochaka .ochaka-trio__titre { font-family: var(--t-font-head); font-size: calc(clamp(26px, 2.6vw, 36px) * var(--ochaka-echelle, 1)); font-weight: var(--t-head-weight, 600); line-height: 1.1; }
.theme-ochaka .ochaka-trio__banniere--grande .ochaka-trio__titre { font-size: calc(clamp(34px, 4vw, 56px) * var(--ochaka-echelle, 1)); text-transform: var(--t-head-transform, uppercase); }
.theme-ochaka .ochaka-trio__phrase { opacity: .85; }
.theme-ochaka .ochaka-trio__texte .t-btn { margin-block-start: 18px; }
.theme-ochaka .ochaka-trio__texte .ochaka-lien-souligne { min-height: 32px; color: inherit; }

@media (prefers-reduced-motion: reduce) {
    .theme-ochaka .ochaka-trio__visuel { transition: none; }
}

/* ============================================================ retouches de fidélité */
/* Rayons : flèches de part et d'autre de la rangée, titre centré au-dessus. */
.theme-ochaka .ochaka-rayons__cadre { position: relative; }
.theme-ochaka .ochaka-rayons__cadre > .ochaka-fleches {
    position: absolute;
    z-index: 2;
    inset-inline: -12px;
    inset-block-start: 38%;
    justify-content: space-between;
    pointer-events: none;
}
.theme-ochaka .ochaka-rayons__cadre > .ochaka-fleches .ochaka-rond { width: 40px; height: 40px; pointer-events: auto; box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .4); }
.theme-ochaka .ochaka-rayons__cadre > .ochaka-fleches[hidden] { display: none; }
@media (max-width: 767.98px) {
    .theme-ochaka .ochaka-rayons__cadre > .ochaka-fleches { display: none; }
}
/* Carte produit sans photo : l'aplat beige des démos (froid pour Gym et Watch). */
.theme-ochaka .pq-no-image { background: var(--ochaka-saisi-surface, var(--ochaka-carte-fond, #e9e3de)); }
/* Diaporama : texte aligné à droite quand la diapositive l'est (Watch). */
.theme-ochaka .ochaka-diapo__slide--end .ochaka-diapo__contenu { text-align: end; }
.theme-ochaka .ochaka-diapo__slide--end .ochaka-diapo__prix { justify-content: flex-end; }
/* Sans voile : texte clair posé tel quel sur un visuel uni (Organic). */
.theme-ochaka .ochaka-diapo--sans-voile .ochaka-diapo__slide--clair::after { content: none; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-diapo--duo .ochaka-diapo__slide { min-height: 620px; }
    .theme-ochaka .ochaka-diapo--vitrine .ochaka-diapo__slide { min-height: 620px; }
}
/* Offre : le bandeau et l'encadré n'ont pas de fond de section. */
.theme-ochaka .ochaka-offre.ochaka-offre--bandeau,
.theme-ochaka .ochaka-offre.ochaka-offre--encadre { background: none; }
.theme-ochaka .ochaka-offre.ochaka-offre--texture { background: var(--ochaka-texture) center / 100% 100% no-repeat, var(--t-bg); }
/* Avis « composition » : le guillemet noir à gauche de la citation. */
.theme-ochaka .ochaka-avis--split .ochaka-avis__corps { position: relative; padding-inline-start: 54px; }
.theme-ochaka .ochaka-avis--split .ochaka-avis__carte > .ochaka-avis__corps > .ochaka-avis__guillemet { display: grid; position: absolute; inset-inline-start: 0; inset-block-start: 0; }
/* Collections au texte posé sombre (Sneaker) : nom, phrase puis bouton. */
.theme-ochaka .ochaka-collections--ton-sombre .ochaka-collections__nom { order: 1; }
.theme-ochaka .ochaka-collections--ton-sombre .ochaka-collections__phrase { order: 2; }
.theme-ochaka .ochaka-collections--ton-sombre .ochaka-collections__pose .t-btn { order: 3; }
/* En-tête « menu à gauche, logo au centre » : menu resserré pour tenir sur une ligne. */
@media (min-width: 992px) {
    .theme-ochaka.t-header--split .t-nav__liste { gap: 4px 20px; }
    .theme-ochaka.t-header--split .t-nav__liste a { font-size: 15px; }
}
/* Variante appliquée : le diaporama reste uni, comme les aplats des démos
   (l'anneau décoratif ne garde son rôle que sur le thème de base). */
body[class*="theme-ochaka--"] .ochaka-diapo__forme { display: none; }
@media (min-width: 992px) {
    .theme-ochaka .ochaka-offres-jour__visuel { min-height: 300px; }
}
/* Vitrine sur téléphone : les points passent sous la carte, sans la chevaucher. */
@media (max-width: 991.98px) {
    .theme-ochaka .ochaka-diapo--vitrine .ochaka-diapo__contenu { padding-block-end: 48px; }
    .theme-ochaka .ochaka-diapo--vitrine .ochaka-diapo__controles { inset-block-end: 8px; }
}
