/* 1R Reactor — frontend-favorites.css
 * Canonical structure: foundations → layout/components → context UI → states → responsive.
 */

/* === Navigation & Site UI === */
.reactor-favorite-button{position:absolute;z-index:20;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#222;box-shadow:none;cursor:pointer;line-height:1;-webkit-appearance:none;appearance:none;transition:color .18s ease;}
.reactor-favorite-button:hover,.reactor-favorite-button:focus-visible{color:var(--reactor-primary,var(--r1-theme-primary,#0A95AE));outline:none;}
/* Theme/WooCommerce button hover styles must not paint a tile behind the heart. */
button.reactor-favorite-button,button.reactor-favorite-button:hover,button.reactor-favorite-button:focus,button.reactor-favorite-button:focus-visible,button.reactor-favorite-button:active{background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;text-decoration:none;}
button.reactor-favorite-button:is(:hover,:focus-visible){color:var(--reactor-primary,var(--r1-theme-primary,#0A95AE))!important;}
button.reactor-favorite-button:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
.reactor-favorite-button__icon{display:block;width:25px;height:25px;background-color:currentColor;-webkit-mask:url("../icons/bottom-navigation/favorites.svg") center/contain no-repeat;mask:url("../icons/bottom-navigation/favorites.svg") center/contain no-repeat;pointer-events:none;}
.reactor-favorite-button.is-active{color:var(--reactor-primary,var(--r1-theme-primary,#0A95AE));}
.reactor-favorite-button.is-active .reactor-favorite-button__icon{-webkit-mask-image:url("../icons/favorites/heart-filled.svg");mask-image:url("../icons/favorites/heart-filled.svg");}
.reactor-favorite-button--archive{top:10px;right:10px;}
.reactor-favorite-button--single{top:14px;right:14px;width:44px;height:44px;border-radius:12px;background:transparent;box-shadow:none;}
.reactor-favorite-button--single .reactor-favorite-button__icon{width:27px;height:27px;}
.single-product .woocommerce-product-gallery .reactor-favorite-button--single{z-index:10050;pointer-events:auto;}
.reactor-favorites-page{min-height:120px;}
.reactor-favorites-page ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0 10px;box-sizing:border-box;}
.reactor-favorites-page ul.products li.product{float:none;width:auto;margin:0;clear:none;}
.reactor-favorites-empty,.reactor-favorites-loading{padding:28px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa;text-align:center;color:#555;}
.reactor-favorite-button.is-loading{pointer-events:none;opacity:.55;}
.reactor-header-action{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0 0 0 6px;padding:0;color:#111;text-decoration:none;line-height:1;box-sizing:border-box;vertical-align:top;-webkit-tap-highlight-color:transparent;transition:color .18s ease,background-color .18s ease,transform .18s ease;}
.reactor-header-action:hover,
.reactor-header-action:focus-visible{color:var(--reactor-primary,var(--r1-theme-primary,#0A95AE));background:transparent;text-decoration:none;outline:none;}
.reactor-header-action:active{transform:scale(.96);}
.reactor-header-action__icon{display:block;width:28px;height:28px;background-color:currentColor;-webkit-mask-image:var(--reactor-header-action-icon);mask-image:var(--reactor-header-action-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;pointer-events:none;}
.reactor-header-action__badge{position:absolute;top:1px;left:26px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:var(--reactor-primary,var(--r1-theme-primary,#0A95AE));color:#fff;font-size:10px;font-weight:700;line-height:1;box-sizing:border-box;pointer-events:none;}
#header_main .reactor-header-favorites{order:11;}
#header_main .reactor-header-account{order:12;}

/* === Responsive & Conditional === */
@media (max-width:767px){.reactor-favorite-button--archive{top:7px;right:7px;width:34px;height:34px;}.reactor-favorite-button--archive .reactor-favorite-button__icon{width:23px;height:23px;}.reactor-favorite-button--single{top:10px;right:10px;}}
@media only screen and (max-width:989px){.reactor-header-action{display:none;}}
@media (max-width:989px){.reactor-favorites-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:767px){.reactor-favorites-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;}}
@media (max-width:420px){.reactor-favorites-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}}
