/* Configurateur verre trempé imprimé – styles isolés sous .pk-cfg
   La police est héritée du site. Réglez la couleur de marque dans --pk-accent. */
.pk-cfg{
  --pk-accent:#0E7C86;      /* couleur de marque plakglass.fr (bleu-vert), relevée sur la barre du site ; à confirmer */
  --pk-accent-ink:#FFFFFF;
  --pk-ink:#1D2A2D; --pk-muted:#5E6B6D; --pk-line:#D8DEDD; --pk-bg:#F4F6F6; --pk-surface:#FFFFFF;
  --pk-glass:#6FA89A; --pk-glass-tint:rgba(111,168,154,.14);
  --pk-err:#B42318; --pk-err-bg:#FDECEA; --pk-warn:#8A4B00; --pk-warn-bg:#FFF3E0;
  --pk-ok:#2F7D5B; --pk-ok-bg:#E7F4EC; --pk-info-bg:#EAF0FB; --pk-cham:#C07A00;
  --pk-sticky-top:12px;     /* À ADAPTER si l'en-tête du site est fixe */
  color:var(--pk-ink); font-size:15px; line-height:1.5; margin:24px 0 40px;
}
.pk-cfg *,.pk-cfg *::before,.pk-cfg *::after{box-sizing:border-box}
.pk-cfg h2,.pk-cfg h3{margin:0;line-height:1.25}
.pk-cfg .pk-titre{font-size:1.5rem;margin-bottom:14px}
.pk-cfg .pk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:start}
@media (max-width:900px){.pk-cfg .pk-grid{grid-template-columns:1fr}}

.pk-cfg .pk-step{background:var(--pk-surface);border:1px solid var(--pk-line);border-radius:12px;padding:16px;margin-bottom:12px}
.pk-cfg .pk-step h3{font-size:1.05rem;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pk-cfg .pk-n{width:26px;height:26px;border-radius:50%;border:2px solid var(--pk-glass);display:inline-grid;place-items:center;font-size:.8rem;flex:none}
.pk-cfg .pk-hint{color:var(--pk-muted);font-size:.85rem;margin:8px 0 0}
.pk-cfg .pk-hint-top{margin-top:0}
.pk-cfg .pk-sub{margin-top:14px}
.pk-cfg .pk-lbl,.pk-cfg .pk-field label{font-size:.83rem;color:var(--pk-muted);font-weight:500;display:block}

.pk-cfg .pk-chips{display:flex;flex-wrap:wrap;gap:8px}
.pk-cfg .pk-chips label{position:relative;margin:0}
.pk-cfg .pk-chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;width:100%;height:100%}
.pk-cfg .pk-chips span{display:inline-block;padding:7px 13px;border:1.5px solid var(--pk-line);border-radius:999px;cursor:pointer;font-weight:500;font-size:.92rem;background:var(--pk-surface)}
.pk-cfg .pk-chips input:checked + span{border-color:var(--pk-accent);background:var(--pk-accent);color:var(--pk-accent-ink)}
.pk-cfg .pk-chips input:focus-visible + span{outline:2px solid var(--pk-accent);outline-offset:2px}

.pk-cfg .pk-row{display:flex;flex-wrap:wrap;gap:10px}
.pk-cfg .pk-field{display:flex;flex-direction:column;gap:4px;min-width:90px;flex:1}
/* champs côte à côte : libellés alignés en haut, zones de saisie calées en bas (même si un libellé fait plusieurs lignes) */
.pk-cfg .pk-row,.pk-cfg .pk-cut{align-items:stretch}

.pk-cfg .pk-w180{max-width:180px}
.pk-cfg .pk-fixrow{align-items:flex-end}
.pk-cfg .pk-fixmin{padding:8px 12px;font-size:.88rem}
.pk-cfg input[type=number],.pk-cfg input[type=search],.pk-cfg select{font:inherit;color:var(--pk-ink);background-color:var(--pk-bg);border:1.5px solid var(--pk-line);border-radius:8px;padding:0 10px;width:100%;margin:0;box-sizing:border-box;height:40px;line-height:normal}
/* champs et menus déroulants : même hauteur partout ; flèche du menu dessinée ici pour un rendu identique sur tous les navigateurs */
.pk-cfg select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2355615f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:12px 8px}
.pk-cfg select::-ms-expand{display:none}
.pk-cfg input[type=file]{display:block;margin-top:6px;font:inherit;font-size:.9rem;max-width:100%}
/* Sélecteur de visuel : bouton « Choisir un fichier » personnalisé (champ natif masqué mais accessible au clavier) */
.pk-cfg .pk-file{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;margin-top:6px}
.pk-cfg .pk-fileIn{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pk-cfg .pk-fileBtn{display:inline-flex;align-items:center;gap:8px;margin:0;line-height:1.2}
.pk-cfg .pk-fileBtn:hover{filter:brightness(1.08)}
.pk-cfg .pk-fileIn:focus-visible + .pk-fileBtn{outline:3px solid var(--pk-accent);outline-offset:2px}
.pk-cfg .pk-fileName{font-size:.9rem;color:var(--pk-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.pk-cfg .pk-fileName.pk-on{color:var(--pk-ink);font-weight:600}
.pk-cfg input[type=range]{width:100%;accent-color:var(--pk-accent)}
.pk-cfg input:focus-visible,.pk-cfg select:focus-visible,.pk-cfg button:focus-visible,.pk-cfg summary:focus-visible{outline:2px solid var(--pk-accent);outline-offset:2px}

.pk-cfg .pk-btn{font:inherit;cursor:pointer;border-radius:8px;background:var(--pk-accent);color:var(--pk-accent-ink);border:0;padding:10px 16px;font-weight:600}
.pk-cfg .pk-btn.pk-ghost{background:transparent;color:var(--pk-ink);border:1.5px solid var(--pk-line)}
.pk-cfg .pk-btn[disabled]{opacity:.45;cursor:not-allowed}
.pk-cfg .pk-cart{width:100%;margin-top:14px;font-size:1.02rem;padding:12px 16px}

.pk-cfg .pk-shtabs{display:flex;gap:4px;padding:5px;margin:0 0 14px;background:var(--pk-surface);border:1px solid var(--pk-line);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.pk-cfg .pk-shtab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;border:0;border-radius:10px;background:transparent;color:var(--pk-ink);font:inherit;font-size:.8rem;line-height:1.2;cursor:pointer;text-align:center}
.pk-cfg .pk-shtab:hover{background:var(--pk-bg)}
.pk-cfg .pk-shtab[aria-selected="true"]{background:var(--pk-accent);color:var(--pk-accent-ink);font-weight:600}
.pk-cfg .pk-shtab:focus-visible{outline:2px solid var(--pk-accent);outline-offset:2px}
.pk-cfg .pk-shtab svg{flex:none}
.pk-cfg .pk-shpanel[hidden]{display:none}
.pk-cfg .pk-prodsel{margin:0 0 16px}
.pk-cfg .pk-prodq{margin:0 0 8px;font-weight:600}
.pk-cfg .pk-prodtabs{flex-wrap:wrap}
.pk-cfg .pk-prodtabs .pk-shtab{flex:1 1 110px}
@media (max-width:640px){.pk-cfg .pk-prodtabs .pk-shtab{flex:1 1 30%}} /* mobile : 3 choix par ligne */
.pk-cfg .pk-grid[hidden]{display:none}
.pk-cfg .pk-prodtabs .pk-shtab[aria-checked="true"]{background:var(--pk-accent);color:var(--pk-accent-ink);font-weight:600}
.pk-cfg .pk-dpihelp{margin:8px 0 4px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--pk-err);background:var(--pk-surface);font-size:.86rem;line-height:1.5}
.pk-cfg .pk-dpihelp[hidden]{display:none}
.pk-cfg .pk-dpit{margin:0 0 6px;font-weight:700}
.pk-cfg .pk-dpihelp p{margin:4px 0}
.pk-cfg .pk-dpihelp ol,.pk-cfg .pk-dpihelp ul{margin:6px 0;padding-left:20px}
.pk-cfg .pk-dpihelp li{margin:3px 0}
.pk-cfg .pk-dpihelp summary{cursor:pointer;font-weight:600;color:var(--pk-accent);margin:6px 0}
.pk-cfg .pk-fx{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--pk-bg)}
.pk-cfg .pk-fx[hidden],.pk-cfg #pk-fxDhF[hidden]{display:none}
.pk-cfg #pk-fxMode{margin:6px 0 10px}
.pk-cfg .pk-conf tr[hidden],.pk-cfg .pk-legal[hidden]{display:none}
.pk-cfg .pk-conftoggle{margin-top:8px;font:inherit;font-size:.86rem;font-weight:600;color:var(--pk-accent);background:none;border:0;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pk-cfg .pk-conftoggle[hidden]{display:none}
.pk-cfg .pk-calage{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--pk-bg)}
.pk-cfg .pk-calage[hidden]{display:none}
.pk-cfg .pk-calage .pk-chips{margin:6px 0 10px}
/* calage : grille de position seule et centrée, puis les trois curseurs, présentés à l'identique, un par ligne */
.pk-cfg .pk-calrow{display:flex;flex-direction:column;gap:12px}
.pk-cfg .pk-anchor-f{display:flex;flex-direction:column;align-items:center;gap:6px}
.pk-cfg .pk-sliders{display:flex;flex-direction:column;gap:10px}
.pk-cfg .pk-slider{display:grid;grid-template-columns:170px 1fr 56px;align-items:center;gap:10px}
.pk-cfg .pk-slider label{font-size:.83rem;color:var(--pk-muted);font-weight:500}
.pk-cfg .pk-slider input[type=range]{width:100%;margin:0}
.pk-cfg .pk-slider b{text-align:right;font-size:.88rem}
@media (max-width:480px){.pk-cfg .pk-slider{grid-template-columns:1fr 56px}.pk-cfg .pk-slider label{grid-column:1 / -1}}
.pk-cfg .pk-calrow2{margin-top:10px;align-items:flex-end}
.pk-cfg .pk-calrow2 .pk-btn{align-self:flex-end}
.pk-cfg .pk-anchor{display:grid;grid-template-columns:repeat(3,26px);gap:4px}
.pk-cfg .pk-anchor button{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--pk-line);background:var(--pk-surface);cursor:pointer;padding:0;position:relative}
.pk-cfg .pk-anchor button::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--pk-muted);opacity:.35}
.pk-cfg .pk-anchor button.pk-on{border-color:var(--pk-accent)}
.pk-cfg .pk-anchor button.pk-on::after{background:var(--pk-accent);opacity:1}
.pk-cfg #pk-bgF[hidden]{display:none}
.pk-cfg .pk-rotf{flex:2 1 280px}
.pk-cfg .pk-rot{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pk-cfg .pk-rot input[type=range]{flex:1 1 140px}
.pk-cfg .pk-rot input[type=number]{width:80px;flex:none}
.pk-cfg .pk-rotb{display:flex;gap:4px}
.pk-cfg .pk-rotb button{font:inherit;font-size:.85rem;padding:6px 9px;border-radius:8px;border:1.5px solid var(--pk-line);background:var(--pk-surface);cursor:pointer}
.pk-cfg .pk-dlg{border:0;border-radius:16px;padding:20px 18px 18px;width:min(92vw,420px);max-width:92vw;color:var(--pk-ink);background:var(--pk-surface);box-shadow:0 12px 40px rgba(0,0,0,.25);text-align:center}
.pk-cfg .pk-dlg::backdrop{background:rgba(20,30,32,.5)}
.pk-cfg .pk-dlg-fam{margin:0;font-size:.8rem;color:var(--pk-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.pk-cfg .pk-dlg-t{margin:4px 0 12px;font-size:1.2rem}
.pk-cfg .pk-dlg-pic{display:grid;place-items:center;padding:14px;border-radius:12px;background:var(--pk-bg);color:var(--pk-accent)}
.pk-cfg .pk-dlg-pic svg path,.pk-cfg .pk-dlg-pic svg rect,.pk-cfg .pk-dlg-pic svg polygon{stroke-width:1.2}
.pk-cfg .pk-dlg-dims{margin:12px 0 16px;font-size:.88rem;color:var(--pk-muted)}
.pk-cfg .pk-dlg-btns{display:flex;flex-direction:column;gap:8px}
.pk-cfg .pk-dlg-btns .pk-btn{width:100%;padding:12px 16px;font-size:1rem}
.pk-cfg #pk-stepDimsT:focus{outline:none}
.pk-cfg .pk-miniplan{display:none;margin:12px 0 0;padding:8px;border:1px solid var(--pk-line);border-radius:10px;background:var(--pk-surface)}
.pk-cfg .pk-miniplan svg{display:block;width:100%;height:auto}
.pk-cfg .pk-miniplan figcaption{margin-top:4px;font-size:.8rem;color:var(--pk-muted);text-align:center}
@media (max-width:640px){.pk-cfg .pk-miniplan.pk-open{display:block}} /* uniquement sur mobile, dans la zone active */
.pk-cfg .pk-miniplan-tous.pk-open{display:block} /* plan de la zone photo : tous écrans */
/* Deux colonnes : plans des découpes et des perçages en fenêtre fixe, centrée verticalement au-dessus de la colonne de droite */
@media (min-width:901px){
  .pk-cfg .pk-miniplan.pk-open.pk-fixeD{display:block;position:fixed;z-index:50;top:50%;transform:translateY(-50%);left:var(--pk-fd-l,auto);right:auto;width:var(--pk-fd-w,46vw);max-height:92vh;margin:0;padding:10px 12px;box-shadow:0 10px 32px rgba(0,0,0,.22)}
  .pk-cfg .pk-miniplan.pk-open.pk-fixeD svg{max-height:78vh;width:100%;margin:0 auto}
  .pk-cfg .pk-miniplan.pk-open.pk-fixeD .pk-minix{display:block;position:absolute;top:6px;right:6px;width:32px;height:32px;border:0;border-radius:50%;background:var(--pk-line);color:inherit;font:700 1.2rem/1 inherit;cursor:pointer}
}
.pk-cfg .pk-calage .pk-miniplan,.pk-cfg #pk-miniPlanD{margin-top:12px;background:var(--pk-surface)}
/* Mobile : plans des découpes, des perçages de fixation et des dimensions (plus de deux champs) en fenêtre fixe en haut de l'écran, la saisie se cale juste dessous */
.pk-cfg .pk-minix{display:none}
/* Verre laqué : nuanciers */
.pk-cfg #pk-stepLaque[hidden],.pk-cfg #pk-lqMesB[hidden]{display:none}
.pk-cfg .pk-lqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px 8px;margin:6px 0 12px;padding:8px 4px 4px}
.pk-cfg #pk-lqRes{max-height:360px;overflow:auto} /* recherche : liste longue, défilante */
.pk-cfg .pk-lqwrap{position:relative}
.pk-cfg #pk-lqRes{position:relative}
.pk-cfg .pk-lqmore{position:absolute;left:0;right:0;bottom:0;height:72px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;background:linear-gradient(rgba(255,255,255,0),var(--pk-surface,#fff) 70%);pointer-events:none}
.pk-cfg .pk-lqmore[hidden]{display:none}
.pk-cfg .pk-lqmore button{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:7px 16px;background:var(--pk-accent);color:var(--pk-accent-ink,#fff);font:inherit;font-size:.88rem;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.18);cursor:pointer}
.pk-cfg .pk-lqmore button small{font-weight:400;opacity:.9}
.pk-cfg .pk-lqmore button span{display:inline-block;animation:pk-fleche 1.4s ease-in-out infinite}
@keyframes pk-fleche{0%,100%{transform:translateY(-1px)}50%{transform:translateY(3px)}}
@media (prefers-reduced-motion:reduce){.pk-cfg .pk-lqmore button span{animation:none}}
@media (max-width:640px){.pk-cfg .pk-lqgrid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:9px 6px}.pk-cfg .pk-lqsw i{height:28px}}
.pk-cfg .pk-lqsw{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:3px 3px 4px;border:1.5px solid var(--pk-line);border-radius:8px;background:var(--pk-surface);font:inherit;font-size:.7rem;line-height:1.15;color:var(--pk-ink);cursor:pointer;text-align:center}
.pk-cfg .pk-lqsw i{display:block;height:34px;border-radius:5px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.pk-cfg .pk-lqsw b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-cfg .pk-lqsys{margin:6px 0 10px}
.pk-cfg .pk-lqsys.pk-lqoff{opacity:.5}
.pk-cfg .pk-lqsys small{font-size:.75em;opacity:.75}
.pk-cfg .pk-lqq{margin-bottom:6px}
.pk-cfg #pk-lqMes,.pk-cfg #pk-lqRes.pk-lqlarge{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.pk-cfg .pk-lqsw.pk-lqmes small{font-size:.66rem;color:var(--pk-muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-cfg .pk-lqmode{margin:6px 0 8px}
.pk-cfg .pk-lqsys[hidden],.pk-cfg .pk-lqfam[hidden]{display:none}
.pk-cfg .pk-lqsec{grid-column:1 / -1;margin:8px 0 0;font-weight:700;font-size:.9rem;border-bottom:1px solid var(--pk-line);padding-bottom:3px}
.pk-cfg .pk-lqsec small{font-weight:400;color:var(--pk-muted)}
.pk-cfg .pk-lqsec.pk-lqeco{color:var(--pk-accent);border-bottom-color:var(--pk-accent)}
.pk-cfg .pk-lqfam{margin:2px 0 10px;gap:6px}
.pk-cfg .pk-lqfam span{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;padding:5px 11px}
.pk-cfg .pk-lqfam i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.pk-cfg .pk-lqfam small{font-size:.75em;opacity:.75}
.pk-cfg .pk-lqved{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.pk-cfg .pk-lqsw.pk-lqbig{font-size:.85rem}
.pk-cfg .pk-lqsw.pk-lqbig i{height:64px}
.pk-cfg .pk-lqsw[aria-pressed="true"]{border-color:var(--pk-accent);outline:2px solid var(--pk-accent);outline-offset:1px}
.pk-cfg .pk-lqsel{display:flex;align-items:center;gap:12px;margin:10px 0 12px;padding:10px;border:1px solid var(--pk-line);border-radius:10px;background:var(--pk-bg)}
.pk-cfg .pk-lqsel i{flex:0 0 56px;height:56px;border-radius:8px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.pk-cfg .pk-lqsel p{margin:0;font-size:.85rem;color:var(--pk-muted)}
.pk-cfg .pk-lqsel strong{display:block;font-size:1rem;color:var(--pk-ink)}
.pk-cfg .pk-lqplus{grid-column:1 / -1;margin:0;font-size:.8rem;color:var(--pk-muted)}
/* Mobile : bouton « Voir le plan » en haut au milieu, après fermeture d'un plan fixe */
.pk-cfg .pk-voirplan{position:fixed;z-index:51;top:var(--pk-sticky-top);left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:0;border-radius:999px;background:var(--pk-accent);color:var(--pk-accent-ink,#fff);font:inherit;font-size:.9rem;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer}
.pk-cfg .pk-voirplan[hidden]{display:none}
@media (min-width:641px){.pk-cfg .pk-voirplan{display:none}}
/* Champ en cours de saisie : côté du verre modifié et cote correspondante en orange sur le plan */
.pk-cfg{--pk-hl:#E8590C}
.pk-cfg svg path.pk-hledge{fill:none;stroke:var(--pk-hl);stroke-linecap:round;stroke-linejoin:round;pointer-events:none;animation:pk-hl 1s ease-in-out infinite alternate}
.pk-cfg svg text.pk-hl{fill:var(--pk-hl)!important;font-weight:800!important;stroke:#FFF1E8!important;paint-order:stroke;animation:pk-hl 1s ease-in-out infinite alternate}
.pk-cfg svg line.pk-hl{stroke:var(--pk-hl)!important;stroke-opacity:1!important}
@keyframes pk-hl{from{opacity:1}to{opacity:.7}}
@media (prefers-reduced-motion:reduce){.pk-cfg svg text.pk-hl,.pk-cfg svg path.pk-hledge{animation:none}}
@media (max-width:640px){
  /* fenêtre limitée à 30 % de la hauteur VISIBLE (--pk-vvh : zone visible, réduite quand le clavier est ouvert, mise à jour en JS) */
  .pk-cfg .pk-miniplan.pk-open.pk-fixe{position:fixed;z-index:50;top:var(--pk-sticky-top);left:8px;right:8px;margin:0;padding:6px 8px;box-shadow:0 6px 20px rgba(0,0,0,.18);max-height:calc(var(--pk-vvh,100vh) * .3);overflow:hidden;display:flex;flex-direction:column;align-items:center}
  .pk-cfg .pk-miniplan.pk-open.pk-fixe > div{min-height:0;flex:1 1 auto;display:flex;justify-content:center;width:100%}
  .pk-cfg .pk-miniplan.pk-open.pk-fixe svg{max-height:calc(var(--pk-vvh,100vh) * .3 - 30px);width:auto;max-width:100%;margin:0 auto}
  .pk-cfg .pk-miniplan.pk-open.pk-fixe figcaption{flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .pk-cfg .pk-miniplan.pk-open.pk-fixe figcaption{margin-top:2px;font-size:.74rem}
  .pk-cfg .pk-miniplan.pk-open.pk-fixe .pk-minix{display:block;position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;border-radius:50%;background:var(--pk-line);color:inherit;font:700 1.2rem/1 inherit;cursor:pointer}
}
.pk-cfg #pk-miniSvgD svg{cursor:crosshair}
@media (max-width:420px){.pk-cfg .pk-shtab{font-size:.72rem;padding:7px 3px}}
.pk-cfg .pk-shtabs-bas{display:none;margin:14px 0 0}
@media (max-width:640px){.pk-cfg .pk-shtabs-bas{display:flex}} /* mobile : sélecteur répété sous les formes */
.pk-cfg .pk-shgroup{margin:0 0 6px;font-size:.84rem;font-weight:600;color:var(--pk-muted)}
.pk-cfg .pk-shapes + .pk-shgroup{margin-top:14px}
.pk-cfg .pk-shapes{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.pk-cfg .pk-shp{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:1.5px solid var(--pk-line);border-radius:10px;background:var(--pk-surface);color:var(--pk-muted);cursor:pointer;font:inherit;font-size:.8rem;line-height:1.2;margin:0}
.pk-cfg .pk-shp:hover{border-color:var(--pk-accent)}
.pk-cfg .pk-shp[aria-checked="true"]{border-color:var(--pk-accent);color:var(--pk-accent);box-shadow:inset 0 0 0 1px var(--pk-accent);font-weight:600}
.pk-cfg .pk-shp svg{display:block}
.pk-cfg .pk-dims .pk-field{flex:1 1 170px}
.pk-cfg .pk-dims label{display:block}
.pk-cfg .pk-corners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pk-cfg .pk-corner{display:flex;flex-direction:column;gap:8px;padding:10px;border:1.5px solid var(--pk-line);border-radius:10px}
.pk-cfg .pk-corner .pk-ct{font-weight:600;font-size:.88rem}
.pk-cfg .pk-corner.pk-bad{border-color:var(--pk-err)}
.pk-cfg .pk-cornerr{margin:0;padding:7px 9px;border-radius:8px;background:var(--pk-err-bg);color:var(--pk-err);font-size:.8rem;line-height:1.35}
.pk-cfg .pk-picos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.pk-cfg .pk-pico{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 5px;border:1.5px solid var(--pk-line);border-radius:8px;background:var(--pk-surface);color:var(--pk-muted);cursor:pointer;font:inherit;font-size:.75rem;line-height:1.2;margin:0}
.pk-cfg .pk-pico:hover{border-color:var(--pk-accent)}
.pk-cfg .pk-pico[aria-checked="true"]{border-color:var(--pk-accent);color:var(--pk-accent);box-shadow:inset 0 0 0 1px var(--pk-accent);font-weight:600}
.pk-cfg .pk-pico svg{display:block}
.pk-cfg .pk-pico span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1100px){.pk-cfg .pk-pico{font-size:.68rem;padding:5px 2px 4px}}
.pk-cfg .pk-final{margin:12px 0 0;padding:9px 12px;border-radius:8px;background:var(--pk-bg);font-size:.9rem}
.pk-cfg .pk-final b{font-weight:700}
.pk-cfg .pk-final span{color:var(--pk-muted)}
.pk-cfg .pk-cn{margin:0;font-size:.8rem;color:var(--pk-muted)}
/* Zone de saisie réservée en bas de chaque carte coin : toutes les cartes ont la même hauteur
   et les champs restent calés en bas, quel que soit le type de coin choisi */
.pk-cfg .pk-corners{grid-auto-rows:1fr}
.pk-cfg .pk-cz{margin-top:auto;min-height:64px;display:flex;flex-direction:column;justify-content:flex-end}
.pk-cfg .pk-cr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0}
.pk-cfg .pk-crl{font-size:.8rem;color:var(--pk-muted);white-space:nowrap;margin:0}
.pk-cfg .pk-cr select{flex:1 1 100px;min-width:0;max-width:170px}
.pk-cfg .pk-cr input{max-width:90px;flex:0 0 68px;min-width:0}
.pk-cfg .pk-cr input[hidden]{display:none}
.pk-cfg .pk-cb{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pk-cfg .pk-cb label{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;margin:0}
.pk-cfg .pk-cb span{line-height:1.25}
.pk-cfg .pk-cb span{font-size:.78rem;color:var(--pk-muted)}
@media (max-width:520px){.pk-cfg .pk-corners{grid-template-columns:1fr}}
/* Mobile : blocs coin à la hauteur de leur contenu (pas de hauteur commune ni de zone réservée) */
@media (max-width:640px){.pk-cfg .pk-corners{grid-auto-rows:auto}.pk-cfg .pk-cz{min-height:0;margin-top:0}.pk-cfg .pk-cz-vide{display:none}}
.pk-cfg .pk-edges{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.pk-cfg .pk-check{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:0}
.pk-cfg .pk-check input{margin-top:4px;accent-color:var(--pk-accent)}

.pk-cfg .pk-cuts{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.pk-cfg .pk-cut{display:flex;flex-wrap:wrap;gap:8px;padding:9px;border-radius:10px;border:1.5px solid var(--pk-line)}
.pk-cfg .pk-cut.pk-bad{border-color:var(--pk-err)}
/* Erreurs de la découpe écrites dans sa zone de saisie, sous les champs (tous écrans) */
.pk-cfg .pk-cuterr{display:block;flex:1 1 100%;margin:0;padding:8px 10px 8px 26px;border-radius:8px;background:var(--pk-err-bg);color:var(--pk-err);font-size:.85rem;line-height:1.4}
.pk-cfg .pk-cuterr li+li{margin-top:3px}
.pk-cfg .pk-cuterr .pk-cutsug{list-style:none;margin:8px 0 0 -16px;padding:8px 10px;border-radius:6px;background:#fff;color:var(--pk-ink,#1f2a30);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.pk-cfg .pk-cuterr .pk-cutsug span{flex:1 1 200px}
.pk-cfg .pk-sugok{border:0;border-radius:999px;padding:6px 14px;background:var(--pk-accent);color:var(--pk-accent-ink,#fff);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.pk-cfg .pk-cut .pk-tag{font-weight:800;align-self:flex-end;min-width:28px;padding-bottom:10px}
.pk-cfg .pk-cut .pk-del{align-self:flex-end}
.pk-cfg .pk-cut .pk-field{min-width:78px;flex:1 1 78px}
.pk-cfg .pk-cut .pk-field.pk-type{flex:2 1 150px}
.pk-cfg .pk-obhelp{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:4px;padding:8px 10px;border-radius:8px;background:var(--pk-bg)}
.pk-cfg .pk-obhelp svg{flex:none;max-width:100%;height:auto}
.pk-cfg .pk-obhelp p{flex:1 1 200px;margin:0;font-size:.82rem;line-height:1.45;color:var(--pk-ink)}
.pk-cfg .pk-cut:not(.pk-cut-open) .pk-obhelp,.pk-cfg .pk-cut:not(.pk-cut-open) .pk-fahint{display:none} /* info seulement pour la découpe en cours */
.pk-cfg .pk-indispo{padding:10px 12px;border-radius:8px;background:var(--pk-bg);border-left:3px solid var(--pk-muted);color:var(--pk-ink)}
.pk-cfg #pk-fix[hidden]{display:none}
.pk-cfg .pk-fahint{flex:1 1 100%;margin:2px 0 0;font-size:.8rem;color:var(--pk-muted)}
.pk-cfg .pk-cut .pk-del{font:inherit;cursor:pointer;border-radius:8px;background:transparent;border:1.5px solid var(--pk-line);color:var(--pk-muted);padding:7px 10px}

.pk-cfg .pk-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pk-cfg .pk-sw{width:34px;height:34px;border-radius:8px;border:2px solid var(--pk-line);cursor:pointer;padding:0}
.pk-cfg .pk-sw[aria-pressed="true"]{outline:3px solid var(--pk-accent);outline-offset:2px}

.pk-cfg .pk-aside{position:sticky;top:var(--pk-sticky-top)}
@media (max-width:900px){.pk-cfg .pk-aside{position:static}} /* mobile et tablette : plan, prix et commande sous le formulaire */
.pk-cfg .pk-panel{background:var(--pk-surface);border:1px solid var(--pk-line);border-radius:12px;padding:16px;margin-bottom:12px}
.pk-cfg .pk-h{font-size:1rem;margin-bottom:10px}
.pk-cfg .pk-preview #pk-view{margin-bottom:10px}
.pk-cfg .pk-preview svg{width:100%;height:auto;max-height:50vh;display:block;cursor:crosshair}
.pk-cfg .pk-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:.84rem}
.pk-cfg .pk-legend:empty{display:none}
.pk-cfg .pk-legend b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:50%;border:2px solid var(--pk-accent);color:var(--pk-accent);font-size:.75rem;margin-right:4px}
.pk-cfg .pk-legt{font-weight:600;color:var(--pk-muted);width:100%}
.pk-cfg .pk-cutleg{margin-top:8px;font-size:.84rem}
.pk-cfg .pk-cutleg:empty{display:none}
.pk-cfg .pk-cutleg p{margin:4px 0 0;display:flex;gap:8px;align-items:baseline;line-height:1.4}
.pk-cfg .pk-cutleg b{flex:none;display:inline-grid;place-items:center;min-width:26px;height:20px;padding:0 4px;border-radius:6px;background:var(--pk-bg);border:1.5px solid var(--pk-line);font-size:.75rem}
.pk-cfg .pk-cap{color:var(--pk-muted);font-size:.83rem;margin-top:6px}

.pk-cfg .pk-buy{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.pk-cfg .pk-pu small{display:block;color:var(--pk-muted);font-size:.83rem}
.pk-cfg .pk-pu b{font-size:1.9rem;font-weight:800}
.pk-cfg .pk-qty{max-width:110px}
.pk-cfg .pk-total{color:var(--pk-muted);font-size:.9rem;margin-top:6px}
.pk-cfg .pk-status{font-weight:700;margin:14px 0 8px;display:flex;align-items:center;gap:8px}
.pk-cfg .pk-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.pk-cfg .pk-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pk-cfg .pk-checks li{padding:7px 10px;border-radius:8px;font-size:.88rem;line-height:1.4;margin:0}
.pk-cfg .pk-checks .pk-err{background:var(--pk-err-bg);color:var(--pk-err)}
.pk-cfg .pk-checks .pk-warn{background:var(--pk-warn-bg);color:var(--pk-warn)}
.pk-cfg .pk-checks .pk-info{background:var(--pk-info-bg)}
.pk-cfg .pk-checks .pk-ok{background:var(--pk-ok-bg);color:var(--pk-ok)}
.pk-cfg .pk-msg{font-size:.9rem;margin-top:8px;color:var(--pk-err)}
.pk-cfg .pk-msg:empty{display:none}
.pk-cfg .pk-msg ul{margin:6px 0 0;padding-left:18px}

.pk-cfg table{width:100%;border-collapse:collapse;margin:0}
.pk-cfg .pk-conf{font-size:.9rem}
.pk-cfg .pk-conf th{text-align:left;font-weight:500;color:var(--pk-muted);padding:5px 10px 5px 0;vertical-align:top;width:42%;border-bottom:1px solid var(--pk-line)}
.pk-cfg .pk-conf td{padding:5px 0;border-bottom:1px solid var(--pk-line)}
.pk-cfg .pk-legal{font-size:.84rem;color:var(--pk-muted);margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--pk-warn)}
@media (prefers-reduced-motion:reduce){.pk-cfg *{transition:none!important}}
/* (placé en fin de fichier pour primer sur la règle générale des champs : margin:0) */
.pk-cfg .pk-field>input[type=number],.pk-cfg .pk-field>input[type=search],.pk-cfg .pk-field>select,.pk-cfg .pk-field>.pk-inwrap{margin-top:auto}
/* Vue en situation (verre laqué) */
.pk-cfg .pk-situ canvas{display:block;width:100%;height:auto;border-radius:8px;background:#eee}
.pk-cfg .pk-situ .pk-hint{margin:.5rem 0 0}
.pk-cfg .pk-lqsw small{display:block;font-size:.7rem;color:var(--pk-muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Mobile : vue en situation en fenêtre fixe en haut de l'écran (30 % de la hauteur visible au plus, sans texte) */
.pk-cfg .pk-situfx{position:fixed;z-index:50;top:var(--pk-sticky-top);left:8px;right:8px;margin:0;padding:6px;background:var(--pk-surface,#fff);border:1px solid var(--pk-line);border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.18);max-height:calc(var(--pk-vvh,100vh) * .3);overflow:hidden}
.pk-cfg .pk-situfx[hidden]{display:none}
.pk-cfg .pk-situfx canvas{display:block;max-width:100%;max-height:calc(var(--pk-vvh,100vh) * .3 - 14px);width:auto;height:auto;margin:0 auto;border-radius:8px}
.pk-cfg .pk-situfx .pk-minix{display:block;position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--pk-ink);font:700 1.2rem/1 inherit;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2)}
@media (min-width:641px){.pk-cfg .pk-situfx{display:none}}
html.pk-situ-fixe header.pkm-site{transform:translateY(-100%)}
.pk-cfg .pk-voirsitu{white-space:nowrap}
/* Mobile : prix de la configuration fixé en bas d'écran, centré, compact */
.pk-cfg .pk-prixbar{position:fixed;z-index:55;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:6px 14px;border:0;border-radius:999px;background:var(--pk-ink,#1D2A2D);color:#fff;font:inherit;font-size:.92rem;line-height:1.2;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer}
.pk-cfg .pk-prixbar[hidden]{display:none}
.pk-cfg .pk-prixbar b{font-weight:800}
@media (min-width:641px){.pk-cfg .pk-prixbar{display:none}}
/* Deux colonnes : vue en situation flottante, centrée verticalement au-dessus de la colonne de droite, pendant le choix de la couleur */
.pk-cfg .pk-situ{position:relative}
.pk-cfg .pk-situx{display:none}
@media (min-width:901px){
  .pk-cfg .pk-situ.pk-situD{position:fixed;z-index:50;top:50%;transform:translateY(-50%);left:var(--pk-fd-l,auto);right:auto;width:var(--pk-fd-w,46vw);max-height:92vh;margin:0;box-shadow:0 10px 32px rgba(0,0,0,.22)}
  .pk-cfg .pk-situ.pk-situD .pk-situx{display:block;position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:var(--pk-line);color:inherit;font:700 1.2rem/1 inherit;cursor:pointer}
}
.pk-cfg .pk-situfx .pk-situill{position:absolute;left:12px;bottom:12px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--pk-ink);font-size:.72rem;font-weight:600}
.pk-cfg .pk-situfx .pk-situill[hidden]{display:none}
/* Deux colonnes : bloc prix / points à corriger / panier juste sous les colonnes */
.pk-cfg .pk-buybas{display:none}
@media (min-width:901px){
  .pk-cfg .pk-buybas{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 24px;margin-top:16px}
  .pk-cfg .pk-buybas-prix small{display:block;color:var(--pk-muted);font-size:.8rem}
  .pk-cfg .pk-buybas-prix b{display:block;font-size:1.6rem;line-height:1.2}
  .pk-cfg .pk-buybas-prix span{display:block;color:var(--pk-muted);font-size:.85rem}
  .pk-cfg .pk-buybas-info .pk-checks{margin:4px 0 0}
  .pk-cfg .pk-buybas-info .pk-checks:empty{display:none}
  .pk-cfg .pk-buybas-act{min-width:240px}
  .pk-cfg .pk-buybas-act .pk-cart{width:100%;margin:0}
}
.pk-cfg .pk-cut .pk-fa{min-width:180px} /* façonnage : libellé lisible (Brute, non coupante / Bord poli JPP) */
.pk-cfg .pk-obhelp p.pk-mesures{flex:1 1 100%}
.pk-cfg .pk-obhelp p.pk-mesures.pk-actif{border-left:3px solid var(--pk-accent);padding-left:8px}
.pk-cfg[data-produit=feuillete] .pk-field.pk-w180:has(#pk-t){flex:1 1 100%;max-width:520px} /* feuilleté : libellé de composition lisible */
/* feuilleté trempé : montage et verres avant / arrière */
.pk-verres[hidden],.pk-verres [hidden]{display:none!important}
.pk-verres{margin-top:14px}
.pk-verres .pk-chips{margin:6px 0 10px}
.pk-verres .pk-row{gap:12px;flex-wrap:wrap}
.pk-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:6px 0 12px}
.pk-vtile{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 6px 7px;border:1.5px solid var(--pk-line,#dde3e2);border-radius:10px;background:var(--pk-surface,#fff);cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s}
.pk-vtile:hover{border-color:var(--pk-accent,#0f7c80)}
.pk-vtile.pk-on{border-color:var(--pk-accent,#0f7c80);box-shadow:0 0 0 2px var(--pk-accent,#0f7c80) inset}
.pk-vtile.pk-on::after{content:"✓";position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--pk-accent,#0f7c80);color:#fff;font-size:11px;line-height:18px;text-align:center}
.pk-vtile input{position:absolute;opacity:0;pointer-events:none}
.pk-vtile:has(input:focus-visible){outline:2px solid var(--pk-accent,#0f7c80);outline-offset:2px}
.pk-vtile img,.pk-vtile i{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.pk-vtile span{font-size:12.5px;line-height:1.2;font-weight:600}
#pk-feuFilmL{display:block;margin-top:12px}
.pk-vtile.pk-off{cursor:not-allowed;opacity:.45}
.pk-vtile.pk-off:hover{border-color:var(--pk-line,#dde3e2)}
.pk-vtile em{font-style:normal;font-size:11px;color:var(--pk-muted,#667)}
/* Découpe en cours de saisie : forme et repère D1, D2… en orange sur le plan */
.pk-cfg svg circle.pk-hlcut,.pk-cfg svg rect.pk-hlcut{stroke:var(--pk-hl)!important;stroke-width:var(--pk-hlw,6)!important;fill:#FFF1E8!important;animation:pk-hl 1s ease-in-out infinite alternate}
.pk-cfg svg text.pk-hlcut{fill:var(--pk-hl)!important;font-weight:800!important;stroke:#FFF1E8;paint-order:stroke;animation:pk-hl 1s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.pk-cfg svg .pk-hlcut{animation:none}}
.pk-cfg .pk-field[hidden],.pk-cfg .pk-tchips[hidden]{display:none!important}
.pk-cfg .pk-tchips{flex:1 1 100%}
.pk-cfg .pk-ivB{flex:1 1 100%}
.pk-cfg .pk-ivB[hidden]{display:none!important}
.pk-cfg .pk-ivB .pk-chips{margin:6px 0 12px}
.pk-cfg .pk-tuse{margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--pk-accent);background:var(--pk-bg);border-radius:0 8px 8px 0}
.pk-cfg .pk-tuse[hidden]{display:none!important}
/* plateau de table : « Plus de formes » (dernière vignette : remplace le bloc par le sélecteur complet) */
.pk-cfg .pk-shmore{border-style:dashed;color:var(--pk-accent)}
.pk-cfg .pk-shmore:hover{border-color:var(--pk-accent)}
