.hw-button, .hw-section, .hw-header, .hw-notice {
    --hw-ink: var(--text-primary, var(--wp--preset--color--contrast, #473044));
    --hw-base: var(--text-secondary, var(--wp--preset--color--base, #fff));
    --hw-primary: var(--color-primary, var(--wp--preset--color--primary, #BC84B7));
    --hw-secondary: var(--color-secondary, var(--wp--preset--color--secondary, #B79AB6));
}
.hw-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:12px 24px; margin:.5rem 0; border:0; border-radius:4px; background:var(--hw-ink); color:var(--hw-base); cursor:pointer; font:inherit; font-weight:500; line-height:1.2; box-shadow:0 4px 6px rgb(0 0 0 / 30%); transition:background-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease; }
.hw-button:hover:not(:disabled), .hw-button:focus-visible { background:var(--hw-primary); color:var(--hw-ink); transform:translateY(-2px); box-shadow:0 6px 12px rgb(0 0 0 / 40%); }
.hw-button:not(.hw-button--icon) { background:var(--hw-base); color:var(--hw-ink); border:1px solid color-mix(in srgb,var(--hw-ink) 40%,transparent); }
.hw-button:not(.hw-button--icon):hover:not(:disabled), .hw-button:not(.hw-button--icon):focus-visible, .hw-button:not(.hw-button--icon)[aria-pressed="true"] { background:var(--hw-primary); border-color:var(--hw-primary); }
.hw-button:active:not(:disabled) { transform:translateY(0); }
.hw-button:disabled { opacity:.65; cursor:wait; }
.hw-button:focus-visible, .hw-card a:focus-visible, .hw-header a:focus-visible { outline:2px solid var(--hw-ink); outline-offset:3px; }
.hw-heart { display:block; flex-shrink:0; fill:transparent; transition:fill .25s ease, transform .25s ease; }
.hw-button[aria-pressed="true"] .hw-heart { fill:currentColor; }
.hw-image, .woocommerce ul.products li.product { position:relative; }
.hw-card .hw-image > .hw-button--icon { position:absolute; top:10px; left:10px; z-index:6; }
.holyeli-product-image-wrap.hw-image > .hw-button--icon, .woocommerce ul.products li.product > .hw-button--icon { position:absolute; right:-19px; bottom:19px; z-index:6; }
.hw-button.hw-button--icon { width:44px; height:44px; min-width:44px; padding:10px; margin:0; border-radius:50%; background:var(--hw-base); color:var(--hw-ink); box-shadow:var(--box-shadow-color, 0 0 10px rgb(0 0 0 / 10%)); }
.hw-button--icon .hw-label { display:none; }
.hw-button.hw-button--icon[aria-pressed="true"] { background:var(--hw-primary); }
.hw-button.hw-button--icon:hover:not(:disabled), .hw-button.hw-button--icon:focus-visible { background:var(--hw-primary); box-shadow:0 6px 12px rgb(0 0 0 / 25%); }
.hw-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(max(140px,calc(16.666667% - 1.041667em)),1fr)); gap:1.25em; }
.hw-card { min-width:0; padding:0; border:0; text-align:center; }
.hw-card img { display:block; width:100%; height:auto; aspect-ratio:2 / 3; object-fit:cover; border-radius:10px; }
.hw-card h2 { font-size:var(--wp--preset--font-size--small,1.125rem); font-weight:400; line-height:1.4; margin:1rem 0 .75rem; overflow-wrap:anywhere; }
.hw-card a { color:inherit; text-decoration:none; }
.hw-card a:hover { color:var(--hw-primary); }
.hw-price { font-size:var(--wp--preset--font-size--small,1.125rem); margin-bottom:1rem; overflow-wrap:anywhere; }
.hw-price ins { color:var(--hw-primary); font-weight:600; text-decoration:none; }
.hw-section { padding-block:20px 40px; color:var(--hw-ink); }
.hw-section > h2 { margin:0 0 24px; font-size:1.75rem; }
.hw-card > .button, .hw-page > .button { display:inline-block; padding:12px 24px; border-radius:4px; background:var(--hw-ink); color:var(--hw-base); text-decoration:none; box-shadow:0 4px 6px rgb(0 0 0 / 30%); transition:background-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease; }
.hw-card > .button:hover, .hw-page > .button:hover { background:var(--hw-primary); color:var(--hw-ink); transform:translateY(-2px); box-shadow:0 6px 12px rgb(0 0 0 / 40%); }
.wishlist_icon a { position:relative; }
.hw-count { position:absolute; top:2.2px; right:-10.4px; transform:translateY(-50%); display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-width:22px; height:22px; padding:0 3.85px; border-radius:999px; background:var(--text-secondary,var(--wp--preset--color--base,#fff)); color:var(--text-primary,var(--wp--preset--color--contrast,#473044)); font-size:15.4px; font-weight:600; line-height:1; }
.hw-header a { display:flex; align-items:center; justify-content:center; width:26.4px; height:26.4px; color:var(--hw-ink); text-decoration:none; transition:color .25s ease; }
.hw-count { border:1px solid currentColor; }
.hw-count[hidden] { display:none !important; }
.hw-header a:hover { color:var(--hw-primary); }
.hw-notice:empty { display:none; }
.hw-notice { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); width:max-content; max-width:90vw; padding:12px 20px; background:var(--hw-base); color:var(--hw-ink); border:1px solid var(--hw-secondary); border-radius:4px; box-shadow:var(--box-shadow-color,0 0 10px rgb(0 0 0 / 10%)); z-index:99999; }
@media (max-width:599px) {
    .hw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; }
}
@media (prefers-reduced-motion:reduce) {
    .hw-button, .hw-heart, .hw-header a, .hw-card > .button, .hw-page > .button { transition:none; }
    .hw-button:hover:not(:disabled), .hw-button:focus-visible, .hw-card > .button:hover, .hw-page > .button:hover { transform:none; }
}

.hw-remove { display:inline-block; max-width:100%; min-height:44px; padding:8px 4px; border:0; background:transparent; color:var(--hw-ink); font:inherit; font-size:.875rem; line-height:1.4; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.hw-remove:hover { color:var(--hw-primary); }
.hw-remove:focus-visible { outline:2px solid var(--hw-ink); outline-offset:2px; }
.hw-remove:disabled { opacity:.65; cursor:wait; }
