:root{--red:#e94560;--dark:#1a1a2e;--gray:#6b7280;--light:#f8f7f4;--border:#e5e7eb}

/* ===== BASE (Desktop) ===== */
.prod-wrap{max-width:1180px;margin:32px auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.gallery-wrap{position:sticky;top:80px}
.main-img{background:var(--light);border-radius:20px;border:1px solid var(--border);overflow:hidden;margin-bottom:12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:zoom-in;position:relative}
.main-img img{width:100%;height:100%;object-fit:contain;display:block;transition:.3s}
.main-img:hover img{transform:scale(1.04)}
.zoom-badge{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.4);color:#fff;font-size:11px;padding:4px 8px;border-radius:6px;backdrop-filter:blur(4px)}
.thumb-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent;padding-bottom:6px}
.thumb-row::-webkit-scrollbar{height:4px}
.thumb-row::-webkit-scrollbar-track{background:transparent}
.thumb-row::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}
.thumb{width:72px;height:72px;border-radius:10px;border:2px solid var(--border);overflow:hidden;cursor:pointer;transition:.2s;flex-shrink:0;background:#f3f4f6;display:flex;align-items:center;justify-content:center}
.thumb:hover,.thumb.active{border-color:var(--red);box-shadow:0 0 0 3px rgba(233,69,96,.15)}
.thumb img{width:100%;height:100%;object-fit:cover}
.yt-wrap{border-radius:14px;overflow:hidden;margin-top:12px;border:1px solid var(--border)}

.prod-details{padding:4px 0}
.breadcrumb{font-size:12px;color:#9ca3af;margin-bottom:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumb a{color:var(--gray);text-decoration:none;transition:.2s}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb-sep{color:#d1d5db}
.prod-title{font-size:26px;font-weight:800;color:var(--dark);margin-bottom:16px;line-height:1.3}

.price-wrap{background:linear-gradient(135deg,#fff5f7,#fff);border:1px solid #fecdd3;border-radius:14px;padding:16px 20px;margin-bottom:16px}
.price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.current-price{font-size:36px;font-weight:900;color:var(--red)}
.old-price{font-size:16px;color:#9ca3af;text-decoration:line-through}
.discount-badge{background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px}
.status-row{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.in-stock{color:#059669;font-size:13px;font-weight:700;display:flex;align-items:center;gap:4px}
.out-stock{color:#dc2626;font-size:13px;font-weight:700}
.sku-chip{font-size:11px;color:#9ca3af;font-family:monospace;background:#f3f4f6;padding:3px 10px;border-radius:6px;border:1px solid var(--border)}
.short-desc{font-size:13px;color:#4b5563;line-height:1.8;margin-bottom:20px;padding:14px 16px;background:var(--light);border-radius:10px;border-left:3px solid var(--red)}

.variant-section{margin-bottom:18px}
.variant-label{font-size:13px;font-weight:700;color:#374151;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.variant-label .selected-val{color:var(--red);font-weight:700}
.color-options{display:flex;gap:8px;flex-wrap:wrap}
.color-opt input{display:none}
.color-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--border);border-radius:24px;font-size:13px;font-weight:500;transition:.2s;background:#fff;cursor:pointer;user-select:none}
.color-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.1);flex-shrink:0}
.color-opt input:checked + .color-btn{border-color:var(--dark);background:var(--dark);color:#fff;font-weight:700}
.size-options{display:flex;gap:8px;flex-wrap:wrap}
.size-opt input{display:none}
.size-btn{padding:9px 22px;border:2px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;transition:.2s;background:#fff;cursor:pointer;user-select:none;display:block}
.size-opt input:checked + .size-btn{border-color:var(--red);background:var(--red);color:#fff}
.size-opt.nostock .size-btn{opacity:.35;cursor:not-allowed;text-decoration:line-through}

.qty-row{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.qty-label{font-size:13px;font-weight:700;color:#374151}
.qty-wrap{display:flex;align-items:center;border:2px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.qty-btn{width:44px;height:44px;border:none;background:var(--light);font-size:24px;cursor:pointer;font-weight:300;transition:.2s;display:flex;align-items:center;justify-content:center}
.qty-btn:hover{background:var(--border)}
.qty-val{width:56px;text-align:center;font-size:17px;font-weight:700;border:none;outline:none;font-family:inherit;background:#fff}

.action-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prod-details .btn-cart{background:#e94560;color:#fff;border:none;padding:15px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(233,69,96,.3);white-space:normal;width:100%}
.prod-details .btn-cart:hover{background:#d63851;transform:translateY(-2px);box-shadow:0 6px 20px rgba(233,69,96,.4)}
.prod-details .btn-buy{background:#1a1a2e;color:#fff;border:none;padding:15px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.prod-details .btn-buy:hover{background:#e94560;transform:translateY(-2px)}
.btn-wa{background:#25d366;color:#fff;padding:13px;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s}
.btn-wa:hover{background:#128c7e;transform:translateY(-2px)}
.btn-call{background:#3b82f6;color:#fff;padding:13px;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s}
.btn-call:hover{background:#2563eb;transform:translateY(-2px)}

.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}
.trust-item{background:#fff;border-radius:12px;padding:12px 8px;text-align:center;border:1px solid var(--border);transition:.2s}
.trust-item:hover{border-color:var(--red);transform:translateY(-2px)}
.trust-icon{font-size:22px;margin-bottom:4px}
.trust-label{font-size:11px;font-weight:600;color:#374151;line-height:1.3}

.tab-wrap{background:#fff;border-radius:16px;border:1px solid var(--border);overflow:hidden}
.desc-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--light);overflow-x:auto;scrollbar-width:none}
.desc-tabs::-webkit-scrollbar{display:none}
.desc-tab{padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;border:none;background:none;font-family:inherit;color:var(--gray);border-bottom:2px solid transparent;margin-bottom:-1px;transition:.2s;white-space:nowrap;flex-shrink:0}
.desc-tab.active{color:var(--red);border-bottom-color:var(--red);background:#fff}
.desc-panel{display:none;padding:20px;font-size:14px;line-height:1.9;color:#4b5563}
.desc-panel.active{display:block}

.spec-table{width:100%;border-collapse:collapse;font-size:13px}
.spec-table tr:nth-child(odd) td{background:#fafafa}
.spec-table td{padding:10px 14px;border-bottom:1px solid var(--border)}
.spec-table td:first-child{font-weight:600;color:#374151;width:40%}

.related-section{max-width:1180px;margin:48px auto 32px;padding:0 20px}
.related-head{font-size:22px;font-weight:800;color:var(--dark);margin-bottom:20px}
.related-head span{color:var(--red)}
.related-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.prod-card{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;transition:.25s}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(26,26,46,.1)}
.rel-img{height:150px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rel-img img{width:100%;height:100%;object-fit:cover;transition:.3s}
.prod-card:hover .rel-img img{transform:scale(1.05)}
.rel-info{padding:12px}
.rel-name{font-size:12px;font-weight:600;color:var(--dark);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;text-decoration:none}
.rel-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.rel-price{font-weight:700;font-size:15px;color:var(--red)}
.rel-old{font-size:11px;color:#9ca3af;text-decoration:line-through}
.rel-cart-btn{background:var(--dark);color:#fff;border:none;padding:6px 12px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit}
.rel-cart-btn:hover{background:var(--red)}

/* YouTube thumb */
.yt-thumb{background:#ff0000;border-color:#ff0000;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center}

/* ===== MOBILE (max 768px) ===== */
@media(max-width:768px){
  /* Root fix — block layout, no overflow */
  .prod-wrap{
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
    padding:0;
    overflow:hidden;
  }

  .gallery-wrap{
    position:static;
    width:100%;
    max-width:100%;
    overflow:hidden;
    display:block;
  }

  /* Full-bleed image — stretch to fill */
  .main-img{
    display:block;
    width:100%;
    height:auto;
    min-height:300px;
    max-height:520px;
    aspect-ratio:1/1;
    border-radius:0;
    border:none;
    border-bottom:1px solid var(--border);
    margin-bottom:0;
    background:#fff;
  }
  .main-img img{
    width:100% !important;
    height:100% !important;
    object-fit:contain;
    padding:12px;
    display:block;
  }

  /* 4 thumbs visible — (screenW - 24px padding - 3*8px gap) / 4 */
  .thumb-row{padding:10px 12px 6px;gap:8px}
  .thumb{width:calc((100vw - 56px) / 4);height:calc((100vw - 56px) / 4);max-width:72px;max-height:72px;border-radius:8px}
  .yt-wrap{border-radius:0;margin-top:0;border-left:none;border-right:none}

  /* Details — padding keeps content inside screen */
  .prod-details{
    display:block;
    width:100%;
    padding:12px 14px;
    box-sizing:border-box;
    overflow:hidden;
  }

  .breadcrumb{display:none}
  .prod-title{font-size:17px;margin-bottom:10px}

  .price-wrap{padding:12px 14px;margin-bottom:10px;border-radius:10px}
  .current-price{font-size:24px}
  .old-price{font-size:13px}
  .discount-badge{font-size:11px;padding:3px 10px}

  .short-desc{font-size:12px;padding:10px 12px;margin-bottom:12px}

  .variant-section{margin-bottom:12px}
  .color-btn{padding:7px 11px;font-size:12px}
  .size-btn{padding:7px 15px;font-size:12px}

  .qty-btn{width:38px;height:38px;font-size:20px}
  .qty-val{width:44px;font-size:15px}
  .qty-row{gap:10px;margin-bottom:12px}

  .action-btns{gap:8px;margin-bottom:12px}
  .btn-row{grid-template-columns:1fr 1fr;gap:7px}
  .prod-details .btn-cart,.prod-details .btn-buy{padding:12px 6px;font-size:13px;border-radius:10px}
  .btn-wa,.btn-call{padding:11px 6px;font-size:12px;border-radius:10px}

  .trust-row{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:14px}
  .trust-item{padding:8px 3px;border-radius:8px}
  .trust-icon{font-size:15px;margin-bottom:1px}
  .trust-label{font-size:9px}

  .tab-wrap{border-radius:10px}
  .desc-tab{padding:9px 12px;font-size:12px}
  .desc-panel{padding:12px;font-size:12px;line-height:1.75}

  /* Related */
  .related-section{
    width:100%;
    padding:0 10px;
    margin:14px 0 16px;
    box-sizing:border-box;
  }
  .related-head{font-size:17px;margin-bottom:10px}
  .related-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .rel-img{height:110px}
  .rel-info{padding:8px}
}

/* ===== SMALL (max 480px) ===== */
@media(max-width:480px){
  .main-img{max-height:220px}
  .prod-title{font-size:15px}
  .current-price{font-size:22px}
  .trust-row{grid-template-columns:repeat(2,1fr);gap:6px}
  .btn-row{grid-template-columns:1fr}
  .prod-details .btn-cart,.prod-details .btn-buy{font-size:14px;padding:13px}
  .btn-wa,.btn-call{font-size:13px;padding:12px}
}

/* ===== EXTRA SMALL (max 360px) ===== */
@media(max-width:360px){
  .main-img{max-height:190px}
  .prod-details{padding:10px 12px}
  .trust-row{grid-template-columns:repeat(2,1fr)}
}