/* Interface symbols share one optical size and stroke. Logos and status colours are untouched. */
:root { --hd-icon-ink: #946237; --hd-icon-fill: #F6EAD6; --hd-icon-on-dark: #D9B687; }
.hd-icon { display: inline-block; flex-shrink: 0; width: 1.3em; height: 1.3em; vertical-align: -.2em; color: var(--hd-icon-ink); }
.site-header .hd-icon, .site-footer .hd-icon { --hd-icon-ink: var(--hd-icon-on-dark); --hd-icon-fill: #d9b68720; }
.hd-dinus-benefits__icon .hd-icon { display: block; width: 22px; height: 22px; }
/* A slow light cycle for product benefits; the brown outline never disappears. */
.single-product .hd-dinus-benefits__icon .hd-icon--lamp { overflow: visible; }
@media (prefers-reduced-motion: no-preference) {
  .single-product .hd-dinus-benefits__icon .hd-icon--lamp {
    animation: hd-benefit-lamp-glow 5.6s ease-in-out infinite;
  }
  .single-product .hd-dinus-benefits__icon .hd-icon--lamp > path:first-child {
    animation: hd-benefit-lamp-shade 5.6s ease-in-out infinite;
  }
}
@keyframes hd-benefit-lamp-glow {
  0%, 15%, 82%, 100% { filter: drop-shadow(0 0 0 rgba(224, 161, 60, 0)); }
  38%, 62% { filter: drop-shadow(0 0 5px rgba(224, 161, 60, .72)); }
  50% { filter: drop-shadow(0 0 2px rgba(224, 161, 60, .3)); }
}
@keyframes hd-benefit-lamp-shade {
  0%, 15%, 82%, 100% { fill: var(--hd-icon-fill, #F6EAD6); }
  38%, 62% { fill: #FFE3A0; }
  50% { fill: #F5D39A; }
}
.hd-footer__icon.hd-icon, .hd-safety__icon.hd-icon { width: 20px; height: 20px; }
.hd-home-icon.hd-icon { width: 32px; height: 32px; }
.hd-home-shipping .hd-home-icon.hd-icon { width: 16px; height: 16px; }
.hd-dinus-purchase-info .hd-icon, .hd-product-confidence__facts .hd-icon { width: 18px; height: 18px; }
.hd-cart-toggle__icon.hd-icon { width: 28px; height: 28px; }
.hd-mini-cart__close-icon.hd-icon { width: 24px; height: 24px; }
.hd-trust__svg.hd-icon { width: 24px; height: 24px; }
.hd-facts__icon.hd-icon, .hd-home-facts__icon.hd-icon, .hd-gift-nudge__icon.hd-icon { width: 20px; height: 20px; }
.hd-product-story__idea > .hd-icon { width: 48px; height: 48px; }
.site-header .hd-nav-toggle { color: var(--hd-icon-on-dark); }
.site-header .hd-nav__list a::after { border-color: var(--hd-icon-on-dark); }
.hd-details__summary::after { border-color: var(--hd-icon-ink); }
.woocommerce-product-gallery .flex-direction-nav .hd-icon { width: 24px; height: 24px; }
.woocommerce-product-gallery .flex-direction-nav a:hover .hd-icon { color: var(--hd-icon-on-dark); }
.single-product.hd-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before,
.single-product.hd-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::after { content: none; }
.single-product.hd-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { display: grid; place-items: center; background: var(--hd-surface); }
.single-product.hd-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger .hd-icon { width: 22px; height: 22px; }
body a.remove:has(.hd-remove-icon) { display: inline-grid; place-items: center; text-indent: 0; overflow: visible; }
body a.remove:has(.hd-remove-icon)::before { content: none; }
body a.remove .hd-remove-icon { width: 18px; height: 18px; }
body a.remove:hover .hd-remove-icon { color: var(--hd-error); }
/* PhotoSwipe uses native buttons; only their non-branded pictograms are harmonised. */
.pswp .pswp__button--close, .pswp .pswp__button--zoom, .pswp .pswp__button--arrow--left, .pswp .pswp__button--arrow--right { background-image: none; color: var(--hd-icon-on-dark); }
.pswp .pswp__button--close::before, .pswp .pswp__button--zoom::before,
.pswp .pswp__button--arrow--left::before, .pswp .pswp__button--arrow--right::before {
  content: ''; position: absolute; inset: 10px; width: 24px; height: 24px; background: currentColor;
  mask: var(--hd-mask-close) center / contain no-repeat;
}
.pswp .pswp__button--zoom::before { mask-image: var(--hd-mask-zoom); }
.pswp .pswp__button--arrow--left::before, .pswp .pswp__button--arrow--right::before { inset: auto; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.pswp .pswp__button--arrow--left::before { mask-image: var(--hd-mask-chevron-left); }
.pswp .pswp__button--arrow--right::before { mask-image: var(--hd-mask-chevron-right); }
