/* svg.ui-icon (not bare .ui-icon): rangeslider.css (jQuery UI) also defines a
   generic .ui-icon class for its own widgets, and a same-specificity collision
   between two unrelated stylesheets is fragile to depend on load order. The
   element+class selector always outranks the bare class, independent of order. */
svg.ui-icon { display:inline-block; width:1.15em; height:1.15em; flex:0 0 auto; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.18em; pointer-events:none; }
.ui-icon__fill { fill:currentColor; stroke:none; }
.library-date { display:inline-flex; align-items:center; gap:7px; width:max-content; max-width:100%; direction:rtl; }
.library-date__value { direction:ltr; unicode-bidi:isolate; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.media-hub__eyebrow .ui-icon,.media-hub__search .ui-icon,.media-hub__seek .ui-icon,.media-hub__player-meta .ui-icon,.media-detail__back .ui-icon,.book-library__hero-actions .ui-icon,.book-library__controls .ui-icon,.book-library-card .ui-icon,.book-detail__actions .ui-icon { width:18px; height:18px; }
.media-hub__player-meta .library-date { padding:7px 10px; color:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.055); font-size:.68rem; }
.media-hub-card__visual>.ui-icon { position:absolute; inset:50% auto auto 50%; display:grid; width:44px; height:44px; padding:13px; color:var(--mh-green-deep,#173522); border-radius:50%; background:rgba(222,197,60,.95); box-shadow:0 8px 22px rgba(0,0,0,.25); transform:translate(-50%,-50%); opacity:0; transition:opacity .2s ease; }
.media-hub-card:hover .media-hub-card__visual>.ui-icon,.media-hub-card:focus-within .media-hub-card__visual>.ui-icon,.media-hub-card.is-unavailable .media-hub-card__visual>.ui-icon { opacity:1; }
.media-hub-card__copy .library-date { color:var(--mh-muted,#697169); font-size:.62rem; }
.media-hub-card__details .ui-icon { width:15px; height:15px; }
.media-hub__unavailable>.ui-icon,.media-detail__missing .ui-icon { width:38px; height:38px; }
.media-hub__audio-art .ui-icon,.media-detail__audio-art .ui-icon { width:30px; height:30px; }
.media-detail__date { padding:7px 12px; color:rgba(255,255,255,.76); border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(255,255,255,.06); font-size:.72rem; }
.photo-card__zoom .ui-icon { box-sizing:content-box; width:20px; height:20px; padding:13px; color:var(--pl-ink,#102019); border-radius:50%; background:var(--pl-gold,#e2c86d); box-shadow:0 10px 26px rgba(0,0,0,.3); transform:translateY(10px); transition:transform .22s ease; }
.photo-card:hover .photo-card__zoom .ui-icon,.photo-card:focus-within .photo-card__zoom .ui-icon { transform:translateY(0); }
.photo-card__zoom { text-decoration:none; }
.book-detail__data-value { display:inline-flex; align-items:center; gap:7px; }
@media (max-width:575px) { .media-hub__player-meta { align-items:stretch; flex-direction:column; } .media-hub__player-meta .library-date { align-self:flex-start; } .media-hub__player-meta a { justify-content:center; } }
@media (max-width:767px) { .photo-card__zoom .ui-icon { width:18px; height:18px; padding:11px; transform:none; } }
