/**
 * Planches techniques - front
 * 2026-10-22 : création
 */
.pwk-canvas {
    position: relative;
    display: inline-block;
    max-width: 100%;
    line-height: 0;
}
.pwk-canvas img {
    max-width: 100%;
    height: auto;
}
/* 2026-10-26 : zoom. Le viewport défile ; le canvas est élargi en px par front.js
   (les points, positionnés en %, restent alignés sur l'image). */
.pwk-viewport {
    overflow: auto;
    max-height: 80vh;
    /* 2026-10-30 : le navigateur garde le défilement à un doigt ; le pincement est géré par front.js */
    touch-action: pan-x pan-y;
}
.pwk-viewport.pwk-zoomed {
    cursor: grab;
}
.pwk-viewport.pwk-dragging {
    cursor: grabbing;
    user-select: none;
}
.pwk-viewport.pwk-zoomed .pwk-canvas {
    display: block;
    max-width: none;
}
.pwk-viewport.pwk-zoomed .pwk-canvas img {
    width: 100%;
    max-width: none;
}
.pwk-zoom .btn {
    min-width: 2.5rem;
}
.pwk-canvas .pwk-point {
    position: absolute;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px; /* centré sur la position x / y */
    border-radius: 50%;
    background: #2fb5d2;
    border: 2px solid #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, .6);
    color: #fff;
    font: bold 12px/20px Arial, sans-serif;
    text-align: center;
    cursor: pointer;
}
/* 2026-10-26 : le point est un lien (<a>) */
.pwk-canvas a.pwk-point,
.pwk-canvas a.pwk-point:hover,
.pwk-canvas a.pwk-point:focus {
    color: #fff;
    text-decoration: none;
    transition: transform .15s, background-color .15s;
}
/* Point du produit consulté (fiche produit) */
.pwk-canvas .pwk-point-highlight {
    background: #d9534f;
    z-index: 2;
}
/* Point survolé, ou point de la ligne survolée dans le tableau (2026-10-26 : plus marqué) */
.pwk-canvas .pwk-point:hover,
.pwk-canvas .pwk-point:focus,
.pwk-canvas .pwk-point-active {
    background: #f0ad4e;
    z-index: 3;
    transform: scale(1.5);
    box-shadow: 0 0 0 4px rgba(240, 173, 78, .5), 0 0 4px rgba(0, 0, 0, .6);
    outline: 0;
}
/* Ligne du produit consulté : repère discret ; ligne survolée / liée au point survolé : surlignage net.
   Les règles ciblent aussi les cellules pour passer devant le zébrage Bootstrap (table-striped). */
.pwk-table tr.pwk-row-highlight > td {
    background-color: #fff3cd !important;
}
.pwk-table tr.pwk-row:hover > td,
.pwk-table tr.pwk-row-active > td {
    background-color: #ffd98a !important;
}
.pwk-table tr.pwk-row > td {
    transition: background-color .15s;
}
.pwk-table .pwk-numbers {
    font-weight: bold;
    white-space: nowrap;
}
.pwk-tooltip {
    position: absolute;
    z-index: 9999;
    max-width: 260px;
    padding: 5px 10px;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 13px;
    line-height: 1.3;
    pointer-events: none;
}
.pwk-card {
    color: inherit;
    text-decoration: none;
}

/* 2026-11-03 : pastilles de filtre par catégorie sur la liste des planches */
.pwk-filters .btn {
  margin: 0 .25rem .5rem 0;
}
.pwk-add-to-cart button[type="submit"]{
    border-radius: 1em;
    color:white;
}
.pwk-add-to-cart .pwk-qty{
    margin: 0 auto;
}