/* Shared, restrained feedback for interactive elements. */
:root{--interaction-ease:cubic-bezier(.22,.61,.36,1)}
.buy,.hero-cta,.holiday-ad-cta,.christmas-cta,.entry-submit,.search button,
.card,.category-card,.area-task,.family-card,.compact-product,.store-logos a,.promotion-card-active,
.topic,.retailer,.official-articles a,.topic-index-link,.area-nav button,.task-filters button,.filters button,.alphabet button{
  transition:transform 240ms var(--interaction-ease),box-shadow 240ms var(--interaction-ease),border-color 240ms ease,background-color 240ms ease,color 240ms ease;
}
.category-card img,.family-image img,.compact-product img,.promotion-card-active .promotion-thumb img{
  transition:transform 420ms var(--interaction-ease);
}
.buy>span,.hero-cta>span,.holiday-ad-cta>span,.christmas-cta>span,.category-overlay b,.topic-arrow,.promotion-card-link>span{
  display:inline-block;transition:transform 240ms var(--interaction-ease);
}
.category-overlay b{display:grid}
.site-header nav a{position:relative}
.site-header nav a::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#dbf364;
  transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--interaction-ease);
}
.campaign-nav a,.guide-directory a,.back-categories,footer a,.faq-list summary,.topic-directory summary,.solution-search summary{
  transition:color 200ms ease,border-color 200ms ease;
}
summary:focus-visible{outline:3px solid #d3ab22;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
  .buy:hover,.hero-cta:hover,.holiday-ad-cta:hover,.christmas-cta:hover,.entry-submit:not(:disabled):hover{
    transform:translateY(-2px);box-shadow:0 5px 14px #003f291a;
  }
  .hero-cta:hover,.entry-submit:not(:disabled):hover,.search button:hover{background-color:#087747}
  .site-header .buy:hover{background-color:#f3f7e8}
  .holiday-ad-cta:hover,.christmas-cta:hover{background-color:#fffdf5}
  .buy:hover>span,.hero-cta:hover>span,.holiday-ad-cta:hover>span,.christmas-cta:hover>span,
  .topic:hover .topic-arrow,.promotion-card-active:hover .promotion-card-link>span{transform:translateX(3px)}
  .card:hover,.category-card:hover,.area-task:hover,.family-card:hover,.compact-product:hover,
  .store-logos a:hover,.promotion-card-active:hover{
    transform:translateY(-3px);box-shadow:0 8px 22px #003f2912;border-color:#9db59a;
  }
  .category-card:hover img{transform:scale(1.025)}
  .family-card:hover .family-image img,.compact-product:hover img,.promotion-card-active:hover .promotion-thumb img{transform:scale(1.025)}
  .category-card:hover .category-overlay b{transform:translateX(2px)}
  .topic:hover,.retailer:hover,.official-articles a:hover,.topic-index-link:hover{background-color:#edf3df;border-color:#9db59a}
  .area-nav button:not(.active):hover,.task-filters button:not(.active):hover,.filters button:not(.active):hover,.alphabet button:not(.active):not(:disabled):hover{
    background-color:#e5edda;border-color:#8ba280;
  }
  .site-header nav a:hover::after{transform:scaleX(1)}
  .campaign-nav a:hover{border-color:#b1985c}
  .guide-directory a:hover,.back-categories:hover,footer a:hover,.faq-list summary:hover,.topic-directory summary:hover,.solution-search summary:hover{color:#467b36}
  .buy:active,.hero-cta:active,.holiday-ad-cta:active,.christmas-cta:active,.entry-submit:not(:disabled):active{transform:translateY(0);box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important}
  .buy,.hero-cta,.holiday-ad-cta,.christmas-cta,.entry-submit,.card,.category-card,.area-task,.family-card,.compact-product,.store-logos a,.promotion-card-active,
  .category-card img,.family-image img,.compact-product img,.promotion-card-active .promotion-thumb img,
  .buy>span,.hero-cta>span,.holiday-ad-cta>span,.christmas-cta>span,.category-overlay b,.topic-arrow,.promotion-card-link>span{transform:none!important}
}

/* Draw directional marks explicitly so phones never substitute emoji artwork. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none}
.ticker-separator{display:block;width:5px;height:5px;border-radius:50%;background:var(--lime);flex:0 0 5px}
