/* Small extensions to the original 今日宜休 tokens and gallery. */
.product-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:54rem;margin:0 auto}
.product-picker .product-picker__card{max-width:none;min-width:0;margin:0;padding:0;gap:0;overflow:hidden;box-sizing:border-box}
.product-picker .product-picker__card:hover{transform:none;box-shadow:none}
.product-picker .product-picker__card.is-selected{border-color:var(--halpin-accent);box-shadow:0 0 0 1px var(--halpin-accent)}
.product-picker__select{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1;padding:.75rem 0 .75rem 1rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.product-picker__select .product-showcase__app-name,.product-picker__select .product-showcase__app-meta{display:block}
.product-picker__state{font-size:.65rem;line-height:1.5;color:var(--halpin-muted)}
.is-selected .product-picker__state{color:var(--halpin-text);font-weight:600}
.is-selected .product-picker__state::before{content:'•';margin-right:.3rem;color:var(--halpin-accent)}
.product-picker__detail{display:grid;place-items:center;flex:0 0 44px;min-height:44px;margin:0 .4rem 0 .25rem;color:var(--halpin-muted)!important;border-left:1px solid var(--halpin-line);text-decoration:none!important}
.product-picker__detail:hover{color:var(--halpin-accent)!important}
.product-picker__detail svg{transition:transform 160ms ease-out}
.product-picker__detail:hover svg{transform:translateX(2px)}
.product-picker__select:focus-visible{outline:2px solid var(--halpin-text);outline-offset:-5px;border-radius:12px}
.product-picker__detail:focus-visible,[data-gallery] button:focus-visible,[data-gallery-viewport]:focus-visible{outline:2px solid var(--halpin-accent);outline-offset:3px}
.product-picker__hint,.product-preview-note{font-size:.75rem;line-height:1.7;color:var(--halpin-muted);text-align:center;margin:.75rem 0 1.25rem}
.product-panel[hidden]{display:none!important}
.product-panel:not([hidden]){animation:product-reveal 180ms ease-out}
@keyframes product-reveal{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.product-read-more{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--halpin-text);font-size:.9rem;font-weight:600;text-underline-offset:4px}
[data-gallery] .product-showcase__track{align-items:flex-start}
[data-gallery] .product-showcase__slide{scroll-snap-align:start}
[data-gallery] .product-phone{margin:0}
[data-gallery] .product-phone figcaption{margin-top:.65rem;font-size:.7rem;line-height:1.6;color:var(--halpin-muted);text-align:center}
[data-gallery] .product-showcase__nav{width:44px;height:44px}
[data-gallery] .product-showcase__dots{gap:0;margin-top:.2rem}
[data-gallery] .product-showcase__dot{position:relative;width:28px;height:44px;background:transparent;transform:none}
[data-gallery] .product-showcase__dot::after{content:'';position:absolute;left:11px;top:19px;width:6px;height:6px;border-radius:50%;background:var(--halpin-line);transition:background 150ms ease-out}
[data-gallery] .product-showcase__dot.is-active::after,[data-gallery] .product-showcase__dot:hover::after{background:var(--halpin-accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
  .product-picker{gap:.6rem}
  .product-picker__select{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 0 .75rem .75rem}
  .product-picker .product-showcase__icon{width:40px;height:40px;border-radius:10px}
  .product-picker .product-showcase__app-name{font-size:.82rem}
  .product-picker .product-showcase__app-meta{font-size:.65rem;line-height:1.65}
  .product-picker__detail{flex-basis:44px;min-height:48px;margin:0 .15rem;align-self:stretch;border-left:0}
  .product-picker__hint{font-size:.68rem}
}
@media(prefers-reduced-motion:reduce){
  .product-panel:not([hidden]){animation:none}
  .product-picker__detail svg{transition:none}
  [data-gallery-viewport]{scroll-behavior:auto}
}
