/* GFC 03/11/2026 (Raph SEC, PREPROD) : tuiles produit (JS meme nom).
   v2 (Raph « pas beau, remets comme avant, sans badge blanc ») : cœur et code-barre gardent leur aspect d'origine ;
   ils passent seulement au premier plan et remontent au-dessus du bandeau « Date de reassort estimee » quand il est
   affiche (classe .gfc-bandeau + variable --gfc-bandeau posees par le JS). Loupe = simple icone orange, sans badge. */
.product_img_container { position: relative; }
.product_img_container a.fav,
.product_img_container .barcode-sec { z-index: 20 !important; transition: transform .15s ease; }
.product_img_container.gfc-bandeau a.fav,
.product_img_container.gfc-bandeau .barcode-sec,
.product_img_container.gfc-bandeau .gfc-loupe { transform: translateY(calc(-1 * var(--gfc-bandeau, 0px))) !important; }

.product_img_container .gfc-loupe { position: absolute; z-index: 20; right: 8px; bottom: 8px; width: 30px; height: 30px; padding: 0; margin: 0;
    border: 0; background: none; cursor: pointer; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.product_img_container .gfc-loupe:before { content: ''; position: absolute; width: 17px; height: 17px; border: 3px solid #EA8914; border-radius: 50%;
    box-sizing: border-box; top: 4px; left: 4px; }
.product_img_container .gfc-loupe:after { content: ''; position: absolute; width: 9px; height: 3px; background: #EA8914; border-radius: 2px;
    transform: rotate(45deg); top: 22px; left: 17px; }
.product_img_container .gfc-loupe:hover { filter: drop-shadow(0 1px 3px rgba(0,0,0,.9)) brightness(1.15); }

/* visionneuse */
html.gfc-zoom-ouvert { overflow: hidden; }
.gfc-zoom { position: fixed; inset: 0; z-index: 2147483600;   /* au-dessus du panneau Skrupt (2147483000) */ background: rgba(0,0,0,.88); display: none; align-items: center; justify-content: center; }
.gfc-zoom.on { display: flex; }
.gfc-zoom-box { position: relative; display: flex; gap: 18px; background: #000; padding: 16px; border-radius: 4px;
    width: min(94vw, 1500px); height: min(88vh, 980px); box-sizing: border-box; }
.gfc-zoom-main { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: center; position: relative; }
.gfc-zoom-main img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; user-select: none; background: #fff; }   /* images a fond transparent : fond blanc comme sur les tuiles */
.gfc-zoom-side { flex: 0 0 150px; display: flex; flex-direction: column; align-items: center; gap: 8px; min-height: 0; }
.gfc-zoom-th { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: none; display: flex; flex-direction: column; gap: 12px; width: 100%; }
.gfc-zoom-th::-webkit-scrollbar { display: none; }
.gfc-zoom-th img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; cursor: pointer; opacity: .55; border: 2px solid transparent; box-sizing: border-box; background: #fff; }
.gfc-zoom-th img:hover { opacity: .85; }
.gfc-zoom-th img.sel { opacity: 1; border-color: #EA8914; }
.gfc-zoom-up, .gfc-zoom-dn { width: 0; height: 0; border-left: 22px solid transparent; border-right: 22px solid transparent; cursor: pointer; opacity: .8; }
.gfc-zoom-up { border-bottom: 16px solid #fff; } .gfc-zoom-dn { border-top: 16px solid #fff; }
.gfc-zoom-up:hover, .gfc-zoom-dn:hover { opacity: 1; }
.gfc-zoom-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 46px; height: 46px; border: 0; border-radius: 50%;
    background: rgba(255,255,255,.18); color: #fff; font-size: 30px; line-height: 44px; cursor: pointer; padding: 0; }
.gfc-zoom-nav:hover { background: #EA8914; }
.gfc-zoom-prev { left: 8px; } .gfc-zoom-next { right: 8px; }
.gfc-zoom-x { position: absolute; top: -14px; right: -14px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #fff; color: #000;
    font-size: 24px; line-height: 34px; cursor: pointer; padding: 0; z-index: 3; }
.gfc-zoom-fiche { position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%); z-index: 2; background: #EA8914; color: #fff !important;
    font-weight: 700; font-size: 14px; padding: 7px 16px; border-radius: 6px; text-decoration: none !important; }
@media (max-width: 767px) {
    .gfc-zoom-box { flex-direction: column; width: 96vw; height: auto; max-height: 92vh; padding: 10px; }
    .gfc-zoom-main { height: 62vh; }
    .gfc-zoom-side { flex: 0 0 auto; flex-direction: row; width: 100%; }
    .gfc-zoom-up, .gfc-zoom-dn { display: none; }
    .gfc-zoom-th { flex-direction: row; overflow-x: auto; overflow-y: hidden; }
    .gfc-zoom-th img { width: 70px; flex: 0 0 70px; }
    .gfc-zoom-x { top: -10px; right: -6px; }
}

/* v3 (Raph) : effet grossissant au survol sur le code-barre et la loupe, comme le cœur. Propriete « scale » separee :
   elle se cumule avec le transform de remontee au-dessus du bandeau. */
.product_img_container .barcode-sec,
.product_img_container .gfc-loupe { transition: transform .15s ease, scale .15s ease; }
.product_img_container .barcode-sec:hover,
.product_img_container .gfc-loupe:hover { scale: 1.2; }
