/* Scoped presentation only: no image rewriting, blending or photo reordering. */
.header__theme-toggle {
  width: 40px; height: 40px; min-width: 40px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--color-black); border: 1px solid var(--color-gray-dark);
}
.header__theme-toggle svg {
  width: 20px; height: 20px; fill: none; stroke: currentColor;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
}
.header__theme-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.product-card__image {
  background: radial-gradient(ellipse at 75% 8%, rgba(255,255,255,.85), transparent 64%), linear-gradient(150deg,#e9edf1,#dce3e9);
}
html[data-theme="dark"] .product-card__image {
  background: radial-gradient(ellipse at 56% 35%,rgba(124,153,180,.2),transparent 70%), linear-gradient(145deg,#252d37,#191f27 68%,#171c22);
}
.product-card__image img { mix-blend-mode: normal; }
.product-card__favorite {
  top: 11px; right: 11px; width: 36px; height: 36px;
  min-width: 36px; padding: 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; font-size: 0;
  color: #20252b;
}
.product-card__favorite::before {
  content: ""; display: block; width: 21px; height: 21px;
  background: currentColor;
  --heart-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z' fill='none' stroke='black' stroke-width='1.25' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask: var(--heart-icon) center / contain no-repeat;
  mask: var(--heart-icon) center / contain no-repeat;
  pointer-events: none;
}
.product-card__favorite--active::before {
  --heart-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
}
.product-card__favorite:hover, .product-card__favorite--active { color: #a3283b; }
.product-card__favorite:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
html[data-theme="dark"] .product-card__favorite { color: #e0e8f0; }
html[data-theme="dark"] .product-card__favorite--active,
html[data-theme="dark"] .product-card__favorite:hover { color: #ff9eae; }
@media (max-width: 768px) {
  .product-card__favorite { top: 4px; right: 4px; }
  .header__theme-toggle { width: 36px; height: 36px; min-width: 36px; min-height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-card, .product-card__image img { transition: none; }
}
