    /* Product layout */
    .product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }

    /* Скелетон деталей товару — миттєвий каркас (галерея + інфо) замість голого «Завантаження…» */
    @keyframes pdpSk { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
    .pdp-sk { border-radius: 8px; background: linear-gradient(90deg,#efe9e1 25%,#f7f3ee 50%,#efe9e1 75%); background-size: 200% 100%; animation: pdpSk 1.3s ease-in-out infinite; }
    .pdp-sk--main { aspect-ratio: 1; border-radius: var(--border-radius-lg); }
    .pdp-sk__thumbs { display: flex; gap: 8px; margin-top: 12px; }
    .pdp-sk--thumb { width: 70px; height: 70px; border-radius: 10px; }
    .pdp-sk--line { height: 14px; }
    .pdp-sk--title { height: 34px; width: 78%; }
    .pdp-sk--price { height: 30px; width: 40%; }
    .pdp-sk--btn { height: 52px; border-radius: var(--border-radius); }
    @media (prefers-reduced-motion: reduce) { .pdp-sk { animation: none; } }

    /* Gallery */
    .product-gallery { position: sticky; top: 90px; }
    .product-gallery__main {
      aspect-ratio: 1; border-radius: var(--border-radius-lg);
      display: flex; align-items: center; justify-content: center;
      overflow: hidden; cursor: zoom-in; position: relative;
      background: var(--color-bg);
    }
    .product-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
    .product-gallery__emoji { font-size: 7rem; user-select: none; }
    .product-gallery__thumbs {
      display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap;
    }
    .product-gallery__thumb {
      width: 70px; height: 70px; border-radius: 10px;
      border: 2px solid transparent; cursor: pointer; overflow: hidden;
      display: flex; align-items: center; justify-content: center;
      transition: var(--transition); flex-shrink: 0;
    }
    .product-gallery__thumb:hover { border-color: var(--color-accent); }
    .product-gallery__thumb--active { border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent); }
    .product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }

    /* Lightbox */
    .lightbox-overlay {
      position: fixed; inset: 0; background: rgba(0,0,0,0.88);
      z-index: 2000; display: flex; align-items: center; justify-content: center;
      padding: 24px; cursor: zoom-out;
    }
    .lightbox-overlay img {
      max-width: 92vw; max-height: 88vh; border-radius: var(--border-radius-lg);
      box-shadow: var(--shadow-lg); object-fit: contain;
    }
    .lightbox-overlay .lb-close {
      position: absolute; top: 20px; right: 24px;
      color: white; font-size: 2rem; cursor: pointer;
      background: none; border: none; line-height: 1;
    }
    .lightbox-overlay .lb-nav {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: rgba(255,255,255,0.12); border: none; color: white;
      font-size: 2rem; cursor: pointer; border-radius: 50%;
      width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;
      transition: var(--transition);
    }
    .lightbox-overlay .lb-nav:hover { background: rgba(255,255,255,0.25); }
    .lightbox-overlay .lb-prev { left: 16px; }
    .lightbox-overlay .lb-next { right: 16px; }

    /* Specs */
    .specs-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
    .specs-table td { padding: 11px 0; border-bottom: 1px solid var(--color-border); font-size: 0.9rem; vertical-align: top; }
    /* Назва ліворуч, значення праворуч — як на звичайних товарних сторінках.
       padding-right у першій колонці обовʼязковий: без нього назва й значення злипаються. */
    .specs-table td:first-child { color: var(--color-text-muted); width: 45%; padding-right: 16px; }
    .specs-table td:last-child { font-weight: 600; text-align: right; }

    /* Qty */
    .qty-control { display: flex; align-items: center; gap: 12px; border: 1px solid var(--color-border); border-radius: var(--border-radius); padding: 4px 14px; background: white; }
    .qty-control button { font-size: 1.4rem; color: var(--color-text-muted); background: none; border: none; cursor: pointer; }

    /* Wishlist button — slightly larger on product detail page */
    .product-gallery__main .wishlist-btn {
      top: 12px; right: 12px;
      width: 40px; height: 40px; font-size: 1.3rem;
      background: white;
    }

    /* Contact buttons */
    .contact-btns { display: flex; gap: 10px; flex-wrap: wrap; }
    .btn-wa  { background: #25D366; color: white; border: none; }
    .btn-wa:hover  { background: #1da851; color: white; }
    .btn-tg  { background: #0088cc; color: white; border: none; }
    .btn-tg:hover  { background: #006fab; color: white; }

    /* Reviews */
    .reviews-section { margin-top: 56px; }
    .reviews-body { margin-top: 16px; }
    .review-card {
      background: white; border-radius: var(--border-radius-lg);
      padding: 18px 22px; box-shadow: var(--shadow-sm); margin-bottom: 12px;
      border-left: 3px solid var(--color-accent);
    }
    .review-header { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
    .review-stars { color: #f59e0b; font-size: 0.92rem; letter-spacing: 1px; }
    .review-author { font-weight: 700; font-size: 0.92rem; }
    .review-date { color: var(--color-text-muted); font-size: 0.78rem; }
    .review-text { color: var(--color-text-muted); font-size: 0.9rem; line-height: 1.65; }

    /* Відповідь майстрині на відгук */
    .review-reply {
      margin-top: 14px; padding: 12px 16px;
      background: linear-gradient(to right, rgba(200,113,47,0.06), transparent);
      border-left: 3px solid var(--color-accent);
      border-radius: 0 8px 8px 0;
    }
    .review-reply__label {
      display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
      font-size: 0.82rem; color: var(--color-text);
    }
    .review-reply__badge {
      display: inline-flex; align-items: center; justify-content: center;
      width: 22px; height: 22px; border-radius: 50%;
      background: var(--color-accent); color: white;
      font-family: var(--font-heading); font-size: 0.78rem; font-weight: 700;
    }
    .review-reply__date { color: var(--color-text-muted); font-size: 0.75rem; margin-left: auto; }
    .review-reply__text { font-size: 0.88rem; line-height: 1.6; color: var(--color-text); font-style: italic; }

    /* Кнопки 👍/👎 */
    .review-helpful {
      margin-top: 12px; padding-top: 10px;
      border-top: 1px solid rgba(0,0,0,0.06);
      display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    }
    .review-helpful__label { font-size: 0.78rem; color: var(--color-text-muted); margin-right: 4px; }
    .review-helpful__btn {
      display: inline-flex; align-items: center; gap: 6px;
      padding: 4px 11px; border: 1.5px solid var(--color-border);
      border-radius: 20px; background: white; cursor: pointer;
      font-family: var(--font-body); font-size: 0.82rem;
      transition: all 0.15s; color: var(--color-text);
    }
    .review-helpful__btn:hover:not(:disabled) {
      border-color: var(--color-accent); background: #fff8f3;
      transform: translateY(-1px);
    }
    .review-helpful__btn:disabled { opacity: 0.55; cursor: default; }
    .review-helpful__btn span { font-weight: 600; font-size: 0.78rem; color: var(--color-text-muted); }
    .review-form {
      background: white; border-radius: var(--border-radius-lg);
      padding: 24px; box-shadow: var(--shadow-sm); margin-top: 20px;
    }
    .review-form h3 { font-family: var(--font-heading); margin-bottom: 16px; font-size: 1rem; }
    .star-picker { display: flex; gap: 4px; margin-bottom: 16px; }
    .star-picker button {
      font-size: 1.7rem; background: none; border: none; cursor: pointer;
      color: #d1d5db; transition: color 0.15s; line-height: 1; padding: 0;
    }
    .star-picker button.active { color: #f59e0b; }
    .reviews-spinner { text-align: center; padding: 32px 0; color: var(--color-text-muted); font-size: 0.9rem; }

    @media (max-width: 768px) {
      .product-detail-grid { grid-template-columns: 1fr; gap: 32px; }
      .product-gallery { position: static; }
    }
