.tunesera-shortcode .tunesera-sc-items { display: grid; gap: 16px; min-width: 0; }
.tunesera-shortcode .tunesera-sc-items.is-grid { grid-template-columns: repeat(var(--tunesera-sc-columns, 3), minmax(0, 1fr)); }
.tunesera-shortcode .tunesera-sc-items.is-list { grid-template-columns: minmax(0, 1fr); }
.tunesera-shortcode .tunesera-sc-items.is-grid .tunesera-station-card { grid-template-columns: minmax(0, 1fr) !important; }
.tunesera-shortcode .tunesera-sc-items.is-grid .tunesera-card__play { width: 100%; }
.tunesera-shortcode .tunesera-sc-terms { list-style: none; padding: 0; margin: 0; }
.tunesera-shortcode .tunesera-sc-terms > li { margin: 0; padding: 14px 16px; background: var(--tunesera-surface, white); border: 1px solid var(--tunesera-line, #dce2ef); border-radius: 8px; }
.tunesera-shortcode a { color: var(--tunesera-brand, #642bff); }
.tunesera-shortcode nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.tunesera-shortcode .tunesera-sc-search { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
.tunesera-shortcode .tunesera-sc-search label { flex: 1; min-width: min(200px, 100%); }
.tunesera-shortcode .tunesera-sc-search input { display: block; width: 100%; box-sizing: border-box; padding: 10px 12px; }
.tunesera-shortcode .tunesera-sc-search button { background: var(--tunesera-brand, #642bff); color: white; padding: 12px 20px; border: 0; border-radius: 6px; }
.tunesera-shortcode [hidden] { display: none !important; }
@media(max-width: 1024px) { .tunesera-shortcode .tunesera-sc-items.is-grid { grid-template-columns: repeat(var(--tunesera-sc-tablet, 2), minmax(0, 1fr)); } }
@media(max-width: 600px) { .tunesera-shortcode .tunesera-sc-items.is-grid { grid-template-columns: repeat(var(--tunesera-sc-mobile, 1), minmax(0, 1fr)); } }
/* Grid embeds stack the shared card contents without archive-specific cell positions. */
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid > .tunesera-station-card > .tunesera-card__logo,
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid > .tunesera-station-card > .tunesera-card__body,
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid > .tunesera-station-card > .tunesera-card__play { grid-column: 1 !important; grid-row: auto !important; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid .tunesera-card__play { font-size: 14px; gap: 8px; min-height: 40px; padding: 8px 14px; }
/* Popup-player presentation with shared, single-stream playback controls. */
.tunesera-internet-radio-directory-directory .tunesera-embed-player { box-sizing:border-box; width:100%; max-width:380px; margin:0 auto; padding:26px 24px; border:1px solid #8980dc38; border-radius:22px; background:radial-gradient(circle at 50% 12%,#7158ff3b,transparent 42%),linear-gradient(180deg,#1a1f3a,#080c1d); color:#fff; text-align:center; box-shadow:0 16px 40px #080c1d30; font:14px/1.5 system-ui,sans-serif; overflow-wrap:anywhere; }
.tunesera-embed-player .tunesera-embed-hero { position:relative; }
.tunesera-embed-player .tunesera-embed-wave { position:absolute; inset:20px 0 auto; color:#8264ff; opacity:.4; letter-spacing:6px; font-size:28px; white-space:nowrap; overflow:hidden; }
.tunesera-embed-player .tunesera-embed-art { position:relative; display:grid; place-items:center; width:86px; height:86px; margin:0 auto 18px; border-radius:16px; background:linear-gradient(145deg,#514a9b,#8179ff); overflow:hidden; font-size:26px; }
.tunesera-embed-player .tunesera-embed-art img { width:100%; height:100%; object-fit:contain; background:white; }
.tunesera-internet-radio-directory-directory .tunesera-embed-player h2 { color:white; font-size:22px; line-height:1.3; margin:0 0 6px; }
.tunesera-embed-player p { margin:12px 0; color:#bfc5dc; }
.tunesera-embed-player .tunesera-embed-location { font-size:13px; margin:0 0 14px; }
.tunesera-embed-player .tunesera-embed-badge { display:inline-block; background:linear-gradient(135deg,#7c54ff,#552dd6); border-radius:30px; padding:6px 16px; font-size:11px; letter-spacing:1px; }
.tunesera-embed-player .tunesera-embed-play-halo { display:grid; place-items:center; width:92px; height:92px; margin:16px auto; border-radius:50%; background:#675df61a; border:1px solid #8271ff24; }
.tunesera-embed-player button { display:grid; place-items:center; border:0; padding:0; cursor:pointer; color:white; font:inherit; }
.tunesera-embed-player [data-media-play] { width:68px; height:68px; border-radius:50%; background:radial-gradient(circle at 32% 24%,#9a83ff,#675df6 58%,#4b31d0); box-shadow:0 12px 28px #675df655; font-size:26px; }
.tunesera-embed-player button:disabled { opacity:.45; cursor:not-allowed; }
.tunesera-embed-player .tunesera-embed-status { min-height:20px; font-size:12px; }
.tunesera-embed-player .tunesera-embed-volume { display:grid; align-items:center; gap:10px; grid-template-columns:36px minmax(0,1fr) 42px; background:#ffffff0e; border:1px solid #a8aedc26; border-radius:16px; padding:10px; }
.tunesera-embed-player [data-media-mute] { width:36px; height:36px; border-radius:50%; background:#ffffff15; }
.tunesera-embed-player input[type=range] { width:100%; min-width:0; padding:0; margin:0; accent-color:#927aff; }
.tunesera-embed-player output { color:#bfc5dc; font-size:12px; }
.tunesera-embed-player .tunesera-embed-link { display:block; padding:12px; margin-top:14px; border:1px solid #8271ff45; border-radius:12px; color:#dedaff; text-decoration:none; }
.tunesera-embed-player :is(button,input,a):focus-visible { outline:3px solid #c4b5ff; outline-offset:4px; }
/* Reuse the directory country navigation typography, flags, search and count badges. */
.tunesera-shortcode .tunesera-sc-locations { min-width:0; }
.tunesera-shortcode .tunesera-sc-locations .tunesera-sc-terms { gap:4px; padding:0; margin:12px 0 0; }
.tunesera-shortcode .tunesera-sc-locations .tunesera-sc-terms > li { border:0; background:transparent; padding:0; border-radius:0; }
.tunesera-sc-locations .tunesera-internet-radio-directory-country { text-decoration:none; box-sizing:border-box; }
.tunesera-sc-locations .tunesera-internet-radio-directory-country > span:first-child { overflow-wrap:anywhere; }
.tunesera-sc-locations .tunesera-internet-radio-directory-count { flex-shrink:0; }
.tunesera-sc-locations .tunesera-internet-radio-directory-flag { flex-shrink:0; }
.tunesera-sc-locations details > ul { list-style:none; padding:0 0 0 18px; margin:4px 0; }
.tunesera-sc-locations details > ul > li { margin:0; }
.tunesera-sc-locations summary { cursor:pointer; }
.tunesera-sc-locations summary::after { content:'⌄'; }
.tunesera-sc-locations details[open] > summary::after { content:'⌃'; }
.tunesera-sc-locations .tunesera-internet-radio-directory-country-search input { padding-left:36px; }

/* Embed cards have their own content flow; archive cell positions must not leak in. */
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid > .tunesera-station-card { grid-template-columns:minmax(0,1fr)!important; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items .tunesera-card__body { display:block!important;min-width:0; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items .tunesera-card__genres { padding-right:0;min-height:0;margin-top:10px; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid .tunesera-card__play { width:100%!important;min-width:0!important;justify-self:stretch; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items .tunesera-card__tag { white-space:normal;overflow-wrap:normal; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode { min-width:0;container-type:inline-size; }
@container(max-width:700px) { .tunesera-shortcode .tunesera-sc-items.is-grid { grid-template-columns:repeat(var(--tunesera-sc-tablet,2),minmax(0,1fr)); } }
@container(max-width:440px) { .tunesera-shortcode .tunesera-sc-items.is-grid { grid-template-columns:minmax(0,1fr); } }

.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-sc-items.is-grid .tunesera-card__play { position:static!important;inset:auto!important;border-radius:10px!important; }

/* Theme playback controls supply their own icon; retain CSS icons only as a fallback. */
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-card__play:has(svg)::before,
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-card__play:has(.ts-spinner)::before,
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-card__play:has(svg)::after,
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-card__play:has(.ts-spinner)::after { content:none!important;display:none!important; }
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-card__play svg,
.tunesera-internet-radio-directory-directory.tunesera-shortcode .tunesera-card__play .ts-spinner { display:block!important;flex-shrink:0; }

/* Locations list: hold its own look against theme link styles (for example underlined content links). */
.tunesera-shortcode .tunesera-sc-locations a.tunesera-internet-radio-directory-country,
.tunesera-shortcode .tunesera-sc-locations a.tunesera-internet-radio-directory-country:is(:hover,:focus,:visited) { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:10px; color:inherit; text-decoration:none !important; box-shadow:none; }
.tunesera-shortcode .tunesera-sc-locations a.tunesera-internet-radio-directory-country:hover { background:var(--tunesera-hover, #f4f2ff); }
.tunesera-shortcode .tunesera-sc-locations a.tunesera-internet-radio-directory-country:focus-visible { outline:2px solid var(--tunesera-brand, #642bff); outline-offset:2px; }
.tunesera-shortcode .tunesera-sc-locations .tunesera-internet-radio-directory-country > span:first-child { display:inline-flex; align-items:center; gap:10px; font-weight:500; }
.tunesera-shortcode .tunesera-sc-locations .tunesera-internet-radio-directory-flag { font-size:20px; line-height:1; }
.tunesera-shortcode .tunesera-sc-locations .tunesera-internet-radio-directory-count { min-width:28px; padding:2px 8px; border-radius:999px; background:var(--tunesera-surface-muted, #eef0f6); color:var(--tunesera-muted, #59647d); font-size:12px; font-weight:600; text-align:center; text-decoration:none !important; font-variant-numeric:tabular-nums; }

/* Player card volume slider matches the sticky player instead of the browser default. */
.tunesera-embed-player input[type=range] { -webkit-appearance:none; appearance:none; height:4px; border:0; border-radius:6px; box-shadow:none; cursor:pointer; background:linear-gradient(to right,#8855ff var(--volume,70%),rgba(255,255,255,.22) var(--volume,70%)); }
.tunesera-embed-player input[type=range]::-webkit-slider-runnable-track { height:4px; border:0; border-radius:6px; background:transparent; box-shadow:none; }
.tunesera-embed-player input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:16px; height:16px; margin-top:-6px; border:0; border-radius:50%; background:#8855ff; box-shadow:none; }
.tunesera-embed-player input[type=range]::-moz-range-track { height:4px; border:0; border-radius:6px; background:transparent; }
.tunesera-embed-player input[type=range]::-moz-range-thumb { width:16px; height:16px; border:0; border-radius:50%; background:#8855ff; }
.tunesera-embed-player input[type=range]:focus-visible { outline:2px solid #b9a5ff; outline-offset:4px; }
