/* My Sakura — configurateur de dégradé. Tout est préfixé .msk pour ne pas toucher au thème du site. */
.msk-masque{display:none!important}
form.msk-actif .woocommerce-variation-price{display:none!important}
.msk{--msk-ink:#1D1D1F;--msk-muted:#6E6E73;--msk-faint:#86868B;--msk-line:#D2D2D7;--msk-hair:#E8E8ED;--msk-stage:#F5F5F7;--msk-bg:#FFFFFF;--msk-gold:#A8823A;--msk-err:#B3261E;--msk-focus:#0071E3;
  --msk-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;--msk-doux:cubic-bezier(.3,.7,.2,1);
  box-sizing:border-box;container-type:inline-size;font-family:var(--msk-font);font-size:15px;line-height:1.45;color:var(--msk-ink);background:var(--msk-bg);margin:8px 0 28px;text-align:left;-webkit-font-smoothing:antialiased}
.msk *,.msk *::before,.msk *::after{box-sizing:border-box}
.msk p{margin:0;padding:0}
.msk button{all:unset;box-sizing:border-box;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.msk button:focus-visible,.msk input:focus-visible{outline:2px solid var(--msk-focus);outline-offset:2px}
.msk [hidden]{display:none!important}

/* En-tête */
.msk .msk-sur{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--msk-gold)}
.msk .msk-h{margin:0;padding:0;font-family:var(--msk-font);font-size:clamp(26px,5cqi,36px);font-weight:600;letter-spacing:-.022em;line-height:1.08;color:var(--msk-ink);text-wrap:balance}
.msk .msk-sous{margin:8px 0 24px;color:var(--msk-muted);font-size:16px;line-height:1.4}
.msk .msk-erreur{margin:0 0 16px;padding:12px 16px;border-radius:14px;background:#FDEDEB;color:var(--msk-err);font-size:14px;font-weight:600}

/* Grille : aperçu à gauche (collé à l'écran), choix à droite ; une seule colonne quand la place manque */
.msk .msk-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.msk .msk-colg,.msk .msk-cold{min-width:0}
.msk .msk-colg{background:var(--msk-bg)}
@container (min-width:760px){.msk .msk-grille{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:44px;align-items:start}}

/* Aperçu du tissu */
.msk .msk-scene{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:22px;overflow:hidden;background:radial-gradient(120% 95% at 50% 18%,#FDFDFE 0%,var(--msk-stage) 58%,#EBEBEF 100%)}
@container (min-width:760px){.msk .msk-scene{aspect-ratio:1/1}}
.msk .msk-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.msk .msk-vide{position:absolute;inset:0 0 6%;display:flex;align-items:center;justify-content:center;padding:0 22%;text-align:center;font-size:13px;line-height:1.4;color:var(--msk-muted);pointer-events:none}
.msk .msk-legende{margin:14px 0 0;min-height:24px;font-size:18px;font-weight:600;letter-spacing:-.012em;text-align:center;line-height:1.3}
.msk .msk-legende .msk-fleche{color:var(--msk-faint);font-weight:400;margin:0 .3em}
.msk .msk-mesures{margin:3px 0 0;font-size:12.5px;color:var(--msk-muted);text-align:center;font-variant-numeric:tabular-nums}
.msk .msk-formats{display:flex;justify-content:center;gap:6px;margin:12px 0 0}
.msk .msk-formats button{padding:6px 12px;border-radius:999px;background:var(--msk-stage);font-size:12.5px;color:var(--msk-muted);transition:background .2s,color .2s}
.msk .msk-formats button[aria-pressed="true"]{background:var(--msk-ink);color:#fff}

/* Étapes */
.msk .msk-etape{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--msk-hair)}
.msk .msk-cold .msk-etape:last-child{border-bottom:0;margin-bottom:0}
.msk .msk-couleurs{margin-top:34px;padding-top:30px;border-top:1px solid var(--msk-hair)}
@container (min-width:760px){.msk .msk-couleurs .msk-et{font-size:24px}.msk .msk-cold{align-self:center}}
.msk .msk-et{margin:0 0 14px;padding:0;font-family:var(--msk-font);font-size:20px;font-weight:600;letter-spacing:-.014em;line-height:1.3;color:var(--msk-faint)}
.msk .msk-et span{color:var(--msk-ink)}
.msk .msk-tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.msk .msk-tuile{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:13px 16px;border-radius:14px;border:1px solid var(--msk-line);background:var(--msk-bg);transition:border-color .2s,box-shadow .25s var(--msk-doux),transform .15s}
.msk .msk-tuile:hover{border-color:var(--msk-faint)}
.msk .msk-tuile:active{transform:scale(.985)}
.msk .msk-tuile[aria-pressed="true"]{border-color:var(--msk-ink);box-shadow:inset 0 0 0 1px var(--msk-ink)}
.msk .msk-tuile[aria-disabled="true"]{opacity:.35;cursor:not-allowed}
.msk .msk-tuile-a{font-size:15px;font-weight:600;line-height:1.25}
.msk .msk-tuile-b{font-size:12.5px;color:var(--msk-muted)}

/* Familles : toutes visibles d'un coup */
.msk .msk-familles{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.msk .msk-familles button{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--msk-line);background:var(--msk-bg);font-size:13px;line-height:1.2;transition:border-color .2s,box-shadow .2s,background .2s}
.msk .msk-familles button:hover{border-color:var(--msk-faint)}
.msk .msk-familles button i{flex:none;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.msk .msk-familles button[aria-pressed="true"]{border-color:var(--msk-ink);box-shadow:inset 0 0 0 1px var(--msk-ink);font-weight:600}

.msk .msk-courant{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.msk .msk-fam-nom{font-size:15px;font-weight:600}
.msk .msk-fam-nom span{font-weight:400;color:var(--msk-muted)}
.msk .msk-chercher{display:flex;align-items:center;gap:10px;height:48px;padding:0 8px 0 16px;margin:0 0 16px;border-radius:14px;background:var(--msk-stage);color:var(--msk-faint);cursor:text;transition:box-shadow .2s,background .2s}
.msk input.msk-recherche{all:unset;display:block;flex:1;width:100%;min-width:0;font-family:var(--msk-font);font-size:16px;color:var(--msk-ink)}
.msk input.msk-recherche::-webkit-search-cancel-button{display:none}
.msk .msk-effacer{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#C7C7CC;color:#fff;font-size:17px;line-height:1}
.msk .msk-chercher:focus-within{background:var(--msk-bg)}
.msk input.msk-recherche::placeholder{color:var(--msk-faint)}
.msk .msk-chercher:focus-within{box-shadow:0 0 0 2px var(--msk-focus)}

/* Nuances : nom et numéro toujours visibles, sans survol */
.msk .msk-nuances{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:16px 10px}
.msk .msk-nu{display:flex;flex-direction:column;align-items:stretch;min-width:0;position:relative;text-align:left}
.msk .msk-nu-c{display:block;width:100%;aspect-ratio:1;border-radius:22%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);transition:transform .3s var(--msk-doux),box-shadow .3s var(--msk-doux)}
.msk .msk-nu:hover .msk-nu-c{transform:translateY(-3px) scale(1.04);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 10px 20px -6px rgba(0,0,0,.28)}
.msk .msk-nu:active .msk-nu-c{transform:scale(.96)}
.msk .msk-nu[data-role] .msk-nu-c{box-shadow:0 0 0 2px var(--msk-bg),0 0 0 4px var(--msk-ink)}
.msk .msk-nu-n{margin-top:8px;font-size:12.5px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.msk .msk-nu-p{font-weight:500;color:var(--msk-gold)}
.msk .msk-nu-i{font-size:11px;color:var(--msk-muted);font-variant-numeric:tabular-nums}
.msk .msk-nu[data-role]::after{content:attr(data-role);position:absolute;top:6px;left:6px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--msk-ink);font-size:10px;font-weight:700;letter-spacing:.04em;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.msk .msk-nuances.msk-in .msk-nu{animation:msk-entree .42s var(--msk-doux) both;animation-delay:calc(var(--i, 0) * 16ms)}
@keyframes msk-entree{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.msk .msk-aucune{grid-column:1/-1;font-size:13.5px;color:var(--msk-muted);padding:6px 0}

/* Récapitulatif */
.msk .msk-resume{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;border-radius:18px;background:var(--msk-stage)}
.msk .msk-resume-c{flex:none;width:40px;height:52px;border-radius:7px;background:#E3E3E8;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.msk .msk-resume-t{flex:1;min-width:0;display:flex;flex-direction:column}
.msk .msk-resume-n{font-size:15px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.msk .msk-resume-d{font-size:12.5px;color:var(--msk-muted)}
.msk .msk-resume-p{flex:none;font-size:17px;font-weight:600;white-space:nowrap}
.msk .msk-note{margin:12px 0 0;font-size:12px;color:var(--msk-faint)}
@container (min-width:760px){.msk .msk-nuances{grid-template-columns:repeat(9,minmax(0,1fr));gap:20px 14px}}
/* ---------- Haut de gamme : progression, cartes de couleur, réactions ---------- */
.msk{--msk-ressort:cubic-bezier(.34,1.56,.64,1)}
.msk .msk-progres{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:-6px 0 28px;padding:0}
.msk .msk-progres li{display:flex;align-items:center;gap:8px;margin:0;padding:0;font-size:13px;color:var(--msk-faint);transition:color .3s}
.msk .msk-progres li::before{content:"";display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--msk-line);font-size:11px;font-weight:700;color:#fff;transition:all .4s var(--msk-ressort)}
.msk .msk-progres li.msk-fait{color:var(--msk-ink)}
.msk .msk-progres li.msk-fait::before{content:"✓";background:var(--msk-ink);border-color:var(--msk-ink)}
.msk .msk-progres li.msk-ici{color:var(--msk-ink);font-weight:600}
.msk .msk-progres li.msk-ici::before{border-color:var(--msk-ink);box-shadow:0 0 0 4px rgba(29,29,31,.08)}

/* Tuiles matière / dimensions */
.msk .msk-tuile{position:relative;overflow:hidden;padding-right:40px;transition:border-color .25s,box-shadow .35s var(--msk-doux),transform .25s var(--msk-doux),background .25s}
.msk .msk-tuile:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(0,0,0,.25)}
.msk .msk-tuile:active{transform:scale(.97)}
.msk .msk-tuile[aria-pressed="true"]{background:linear-gradient(180deg,#FFFFFF,#FAFAFC);box-shadow:inset 0 0 0 1px var(--msk-ink),0 12px 28px -14px rgba(0,0,0,.35)}
.msk .msk-tuile::after{content:"";position:absolute;top:50%;right:12px;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--msk-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;transform:scale(0);opacity:0;transition:transform .45s var(--msk-ressort),opacity .2s}
.msk .msk-tuile[aria-pressed="true"]::after{transform:scale(1);opacity:1}

/* Cartes couleur du haut / du bas */
.msk .msk-cartes{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:stretch;gap:10px;margin:0 0 12px}
.msk .msk-carte{position:relative;display:flex;align-items:center;gap:16px;min-width:0;padding:14px;border-radius:22px;background:var(--msk-stage);border:1px solid transparent;transition:background .3s,box-shadow .4s var(--msk-doux),transform .3s var(--msk-doux),border-color .3s}
.msk .msk-carte:hover{transform:translateY(-2px)}
.msk .msk-carte:active{transform:scale(.98)}
.msk .msk-carte[aria-pressed="true"]{background:var(--msk-bg);border-color:var(--msk-ink);box-shadow:0 0 0 3px rgba(29,29,31,.08),0 18px 36px -18px rgba(0,0,0,.35)}
.msk .msk-carte-ech{position:relative;flex:none;width:84px;height:84px;border-radius:18px;display:flex;align-items:center;justify-content:center;border:1.5px dashed #B8B8BF;transition:background-color .45s var(--msk-doux),border-color .3s}
.msk .msk-carte.msk-pleine .msk-carte-ech{border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 8px 18px -8px rgba(0,0,0,.4)}
.msk .msk-carte-plus{font-size:28px;font-weight:300;color:#A1A1A8;line-height:1}
.msk .msk-carte.msk-pleine .msk-carte-plus{display:none}
.msk .msk-carte-t{display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:26px}
.msk .msk-carte-r{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--msk-muted)}
.msk .msk-carte-r b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--msk-ink);color:#fff;font-size:10.5px;font-weight:600}
.msk .msk-carte-n{font-size:19px;font-weight:600;letter-spacing:-.015em;line-height:1.2;overflow-wrap:anywhere}
.msk .msk-carte:not(.msk-pleine) .msk-carte-n{color:var(--msk-faint);font-weight:500}
.msk .msk-carte-i{font-size:12.5px;color:var(--msk-muted);font-variant-numeric:tabular-nums}
.msk .msk-carte-ok{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:#1F8F4E;color:#fff;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .45s var(--msk-ressort)}
.msk .msk-carte-ok svg{width:12px;height:12px}
.msk .msk-carte.msk-pleine .msk-carte-ok{transform:scale(1)}
.msk .msk-carte-fleche{display:flex;align-items:center;justify-content:center;color:var(--msk-faint)}
.msk .msk-carte-fleche svg{width:22px;height:22px}
.msk .msk-carte.msk-appel{animation:msk-appel 1.2s var(--msk-doux) 2}
@keyframes msk-appel{0%,100%{box-shadow:0 0 0 3px rgba(29,29,31,.08),0 18px 36px -18px rgba(0,0,0,.35)}50%{box-shadow:0 0 0 9px rgba(29,29,31,.10),0 18px 36px -18px rgba(0,0,0,.35)}}
.msk .msk-carte-ech.msk-pop{animation:msk-pop .55s var(--msk-ressort)}
@keyframes msk-pop{0%{transform:scale(.8)}100%{transform:scale(1)}}
.msk .msk-guide{display:block;margin:0 0 22px;min-height:22px;font-size:14.5px;color:var(--msk-muted)}
.msk .msk-guide b{color:var(--msk-ink);font-weight:600}
.msk .msk-guide.msk-fini{display:flex;align-items:center;gap:8px;color:#1F8F4E;font-weight:500}
.msk .msk-guide i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#1F8F4E;color:#fff;font-size:11px;flex:none}
@container (max-width:560px){.msk .msk-cartes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.msk .msk-carte-fleche{display:none}.msk .msk-carte{flex-direction:column;align-items:stretch;gap:10px;padding:10px;border-radius:18px}.msk .msk-carte-ech{width:100%;height:70px;border-radius:12px}.msk .msk-carte-n{font-size:16px}.msk .msk-carte-t{padding-right:0}.msk .msk-carte-ok{top:16px;right:16px}}

/* Nuances : réaction au choix */
.msk .msk-nu.msk-choisie .msk-nu-c{animation:msk-choix .6s var(--msk-ressort)}
@keyframes msk-choix{0%{transform:scale(.86)}100%{transform:scale(1)}}

/* Barre de rappel, collée en bas de l'écran pendant le choix des couleurs */
.msk .msk-barre{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin:24px auto 0;padding:6px 10px 6px 6px;border-radius:999px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 12px 32px -10px rgba(0,0,0,.3)}
.msk .msk-barre-tissu{flex:none;width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.msk .msk-barre-b{display:flex;align-items:center;gap:7px;min-width:0;padding:4px 10px 4px 4px;border-radius:999px;transition:background .25s}
.msk .msk-barre-b[aria-pressed="true"]{background:rgba(29,29,31,.08)}
.msk .msk-barre-b i{flex:none;width:24px;height:24px;border-radius:50%;background:#E3E3E8;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.msk .msk-barre-b span{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.msk .msk-barre-b small{font-size:10.5px;color:var(--msk-muted)}
.msk .msk-barre-b b{font-size:13px;font-weight:600;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msk .msk-barre-fl{color:var(--msk-faint)}

/* Récapitulatif prêt */
.msk .msk-resume{transition:background .4s,box-shadow .4s}
.msk .msk-resume-ok{display:none;flex:none;width:26px;height:26px;border-radius:50%;background:#1F8F4E;color:#fff;align-items:center;justify-content:center}
.msk .msk-resume-ok svg{width:14px;height:14px}
.msk .msk-resume.msk-pret{background:#F1F8F3;box-shadow:inset 0 0 0 1px rgba(31,143,78,.22)}
.msk .msk-resume.msk-pret .msk-resume-ok{display:flex;animation:msk-pop .55s var(--msk-ressort)}

@media (prefers-reduced-motion:reduce){.msk *{transition:none!important;animation:none!important}}
