/*
Theme Name: RGMA Music Library
Author: RGMA
Description: RGMA dark music-library storefront theme for Easy Digital Downloads.
Version: 2.0.0
Text Domain: rgma-music
*/
:root{--bg:#050505;--panel:#121212;--panel2:#1c1c1c;--line:#292929;--text:#f4f4f4;--muted:#8d8d8d;--blue:#1688ff;--pill:#252525;--max:1400px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}body{font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}
.site{min-height:100vh}.container{width:min(var(--max),calc(100% - 56px));margin:auto}
.site-header{padding:34px 0 0;border-bottom:1px solid #111}
.header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.brand{font-size:19px;font-weight:800;letter-spacing:.08em}
.header-nav{display:flex;gap:28px;color:#999;font-size:13px}.header-nav a:hover{color:#fff}
.header-actions{display:flex;gap:9px;align-items:center}.icon-btn{border:1px solid #303030;background:#111;color:#ddd;border-radius:999px;padding:8px 13px;font-size:12px}
.menu-toggle{display:none;border:1px solid #303030;background:#111;color:#ddd;border-radius:999px;width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer}
.mobile-nav{display:none;flex-direction:column;gap:2px;margin-top:18px;padding-top:18px;border-top:1px solid #1c1c1c}
.mobile-nav a{color:#ccc;padding:12px 2px;font-size:14px;border-bottom:1px solid #161616}
.mobile-nav:not([hidden]){display:flex}
.hero{padding:66px 0 70px;position:relative}
.hero:before{content:"";position:absolute;width:620px;height:260px;left:0;top:5px;background:radial-gradient(circle,rgba(61,116,180,.18),rgba(0,0,0,0) 68%);pointer-events:none}
.hero h1{position:relative;margin:0;max-width:700px;font-size:76px;line-height:.98;letter-spacing:-.055em;font-weight:800}
.hero h1 span{background:linear-gradient(90deg,#46a8ff,#62cfc1,#e6d25e);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p,.hero .hero-sub{position:relative;margin:22px 0 0;color:#777;font-size:16px;font-weight:400;max-width:640px}
/* Playlists row — horizontal, arrow-scrollable cards between the hero and
   the catalog. See index.php / rgma_register_playlist_taxonomy(). */
.rgma-playlists-section{padding-bottom:10px}
.rgma-playlists-wrap{position:relative;display:flex;align-items:center;gap:10px}
.rgma-playlists{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:none}
.rgma-playlists::-webkit-scrollbar{display:none}
.rgma-playlist-card{position:relative;flex:0 0 auto;width:240px;height:120px;border-radius:10px;overflow:hidden;background:var(--panel2) center/cover no-repeat;scroll-snap-align:start;display:flex;align-items:flex-end;padding:14px;transition:transform .15s}
.rgma-playlist-card:hover{transform:translateY(-2px)}
.rgma-playlist-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.75) 100%)}
.rgma-playlist-title{position:relative;color:#fff;font-weight:800;font-size:18px;letter-spacing:.02em;text-transform:uppercase}
.rgma-pl-arrow{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center}
.rgma-pl-arrow:hover{background:#2a2a2a}
.rgma-pl-arrow:disabled{opacity:.3;cursor:default}
@media(max-width:700px){.rgma-playlist-card{width:190px;height:100px}.rgma-pl-arrow{display:none}}

.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:38px;padding:35px 0 120px}
.sidebar{border-right:1px solid var(--line);padding-right:26px;min-height:700px}
.filter-title{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#777;font-weight:700;margin-bottom:16px}
.filter-section{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.filter-section:last-child{border-bottom:0}
.filter-list{display:flex;flex-wrap:wrap;gap:7px}.filter-pill{background:var(--pill);border:0;color:#ccc;border-radius:999px;padding:8px 11px;font-size:11px;cursor:pointer}.filter-pill:hover,.filter-pill.active{background:#383838;color:#fff}
.filter-link{display:block;color:#aaa;padding:8px 0;font-size:13px}.filter-link:hover,.filter-link.active{color:#fff}
.search-row{display:flex;gap:10px;align-items:flex-start}.search-row .search-wrap{flex:1}
.search-wrap{position:relative;margin-bottom:27px}.search-wrap svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);opacity:.55}.search{width:100%;height:54px;border:1px solid #303030;background:#121212;color:#eee;border-radius:28px;padding:0 20px 0 46px;outline:none}.search:focus{border-color:#4a4a4a}
.mobile-filter-tabs{display:none;gap:8px;margin-bottom:16px}
.mf-tab{flex:1;background:var(--pill);border:0;color:#ccc;border-radius:10px;padding:10px 6px;font-size:12px;cursor:pointer;text-align:center}
.mf-tab.is-active{background:#fff;color:#111;font-weight:700}
.mf-clear{flex:none;width:38px;background:var(--pill);border:0;color:#ccc;border-radius:10px;font-size:16px;line-height:1;cursor:pointer}
.mobile-filter-panel{display:none;flex-wrap:wrap;gap:7px;margin:-8px 0 18px;padding:14px;background:#121212;border:1px solid var(--line);border-radius:12px}
.mobile-filter-panel:not([hidden]){display:flex}
.library-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.found{color:#aaa;font-size:13px}.sort{background:#121212;color:#ddd;border:1px solid #303030;border-radius:9px;padding:9px 13px}
.track-list{display:flex;flex-direction:column}
.track{display:grid;grid-template-columns:70px minmax(150px,1fr) minmax(200px,260px) 100px minmax(150px,0.9fr) 155px 25px;align-items:center;gap:15px;min-height:82px;padding:10px 2px;border-bottom:1px solid #222}
/* single.php reuses the .track class only so the player/license-panel JS
   (which looks up .closest('.track')) recognizes this element — it's not
   a catalog row, so the grid above (built for the row's 7 columns) needs
   to be reset back to a normal block layout here. */
.track.track-detail{display:block;grid-template-columns:none;align-items:initial;gap:0;min-height:0;padding:0;border-bottom:0}
.track.track-detail:hover{background:transparent}
.version-pills{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.version-pills[hidden]{display:none}
.version-pills::-webkit-scrollbar{display:none}
.version-pills .rgma-version-pill{flex:0 0 auto;white-space:nowrap}
.track:hover{background:#090909}.cover{display:block;width:58px;height:58px;border-radius:5px;overflow:hidden;background:#222;position:relative}.cover img{width:100%;height:100%;object-fit:cover}.play-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.2);opacity:0;transition:.15s}.cover:hover .play-overlay{opacity:1}.play-overlay button{border:0;background:rgba(255,255,255,.88);color:#111;width:34px;height:34px;border-radius:50%;cursor:pointer}
.track-title{font-weight:700;font-size:14px;line-height:1.2;display:inline-block}.track-title:hover{text-decoration:underline}.track-meta{color:#aaa;font-size:12px;margin-top:6px}.track-meta a{color:inherit}.track-meta a:hover{text-decoration:underline;color:#fff}.bpm{color:#ccc;font-size:12px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tag{background:#292929;color:#ddd;border-radius:999px;padding:7px 10px;font-size:11px;transition:background .15s,color .15s}.tag:hover{background:#383838;color:#fff}
.buy{display:flex;justify-content:flex-end}.buy .edd-submit,.buy a.button{border:1px solid #aaa!important;background:transparent!important;color:#eee!important;border-radius:999px!important;padding:9px 15px!important;font-size:12px!important;box-shadow:none!important}.buy .edd-submit:hover,.buy a.button:hover{border-color:#fff!important;background:#fff!important;color:#111!important}.buy .edd_price{display:none}.download-wrap{position:relative;display:inline-flex}
.download-btn{display:flex;align-items:center;justify-content:center;width:25px;height:25px;color:#aaa;text-decoration:none;transition:color .15s;background:transparent;border:0;padding:0;cursor:pointer}.download-btn:hover{color:#fff}
.download-btn[aria-expanded="true"]{color:#fff}
.download-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:150px;background:#181818;border:1px solid var(--line);border-radius:8px;padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.download-menu[hidden]{display:none}
.download-menu a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:6px;font-size:12px;color:#ddd;white-space:nowrap}
.download-menu a:hover{background:#262626;color:#fff}
.track-list.is-loading{opacity:.45;pointer-events:none;transition:opacity .15s}
.rgma-pagination-wrap{display:flex;justify-content:center;margin-top:28px}
.rgma-pagination{display:flex;align-items:center;gap:6px}
.rgma-page-btn{min-width:32px;height:32px;padding:0 9px;background:var(--pill);border:0;border-radius:8px;color:#ccc;font-size:12px;cursor:pointer}
.rgma-page-btn:hover:not(:disabled){background:#383838;color:#fff}
.rgma-page-btn.is-active{background:#fff;color:#111;font-weight:700;cursor:default}
.rgma-page-btn:disabled{opacity:.35;cursor:default}
.rgma-page-edge{font-size:13px}
.rgma-page-ellipsis{color:#666;font-size:12px;padding:0 4px}
.player{position:fixed;left:0;right:0;bottom:0;background:rgba(17,17,17,.97);border-top:1px solid #292929;z-index:1000;padding:9px 0;transform:translateY(100%);transition:transform .25s ease}
.player.is-visible{transform:translateY(0)}.player-inner{width:min(var(--max),calc(100% - 56px));margin:auto;display:grid;grid-template-columns:230px 1fr 150px;gap:20px;align-items:center}.now-info{display:flex;align-items:center;gap:11px;min-width:0}.now-cover{width:40px;height:40px;flex:none;border-radius:6px;overflow:hidden;background:var(--panel2)}.now-cover img{width:100%;height:100%;object-fit:cover;display:block}.now-title{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-meta{color:#888;font-size:11px;margin-top:3px}.player-main{display:flex;align-items:center;gap:12px}.player-btn{width:38px;height:38px;border:1px solid #aaa;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.progress{height:3px;background:#333;border-radius:9px;flex:1;cursor:pointer;overflow:hidden}.progress span{display:block;height:100%;width:0;background:#fff}.time{font-size:11px;color:#aaa;min-width:75px}.player-license-btn{border:1px solid #aaa;background:transparent;color:#eee;border-radius:999px;padding:7px 14px;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.player-license-btn:hover{background:#fff;color:#111}.volume{display:flex;justify-content:flex-end;gap:8px;align-items:center}.volume input{width:90px;accent-color:#d9d9d9}.volume span{cursor:pointer;user-select:none}
.site-footer{padding:48px 0 110px;color:#666;font-size:11px;border-top:1px solid #151515;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px;margin-bottom:30px}
.footer-brand{font-size:16px;font-weight:800;color:#fff;letter-spacing:.02em;margin-bottom:10px}
.footer-about{color:#777;font-size:12.5px;line-height:1.6;max-width:280px}
.footer-heading{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-col a{color:#999;font-size:12.5px;text-decoration:none}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid #151515;padding-top:18px;color:#555;font-size:11px}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr 1fr;row-gap:26px}}
@media(max-width:950px){.hero h1{font-size:58px}.layout{grid-template-columns:190px 1fr;gap:24px}.track{grid-template-columns:58px 1fr 85px 130px 25px}.tags{display:none}.track:not(.track-detail) .version-pills{display:none}.player-inner{grid-template-columns:1fr 1fr}.volume{display:none}}
@media(max-width:700px){.container{width:min(var(--max),calc(100% - 28px))}.header-nav{display:none}.menu-toggle{display:flex}.hero{padding:45px 0 45px}.hero h1{font-size:46px}.layout{display:block}.sidebar{display:none}.mobile-filter-tabs{display:flex}.track{grid-template-columns:50px 1fr 85px 20px;gap:10px}.cover{width:48px;height:48px}.bpm{display:none}.buy{justify-content:flex-start}.buy .edd-submit,.buy a.button{padding:8px 10px!important}.library-head{align-items:flex-start}.sort{display:none}.player-inner{grid-template-columns:1fr}.player-main{display:flex}.volume{display:none}}
@media(max-width:470px){.hero h1{font-size:39px}.filter-section{width:100%}.track{grid-template-columns:40px 1fr auto 20px;gap:8px}.cover{width:40px;height:40px}.buy .edd-submit,.buy a.button{padding:7px 9px!important;font-size:11px!important}.download-btn{width:20px;height:20px}.player-license-btn{padding:6px 10px;font-size:10.5px}}

/* RGMA license button */
.buy .rgma-license-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  border:1px solid #a7a7a7;
  background:transparent;
  color:#f2f2f2;
  border-radius:999px;
  padding:9px 16px;
  font-size:12px;
  line-height:1;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.buy .rgma-license-button:hover{
  border-color:#fff;
  background:#fff;
  color:#111;
}
.buy .rgma-license-button:active{transform:scale(.98)}

/* ================= RGMA license side panel ================= */
.rgma-cart-count{display:inline-block;min-width:16px;padding:0 4px;margin-left:6px;background:var(--blue);color:#fff;border-radius:999px;font-size:10px;line-height:16px;text-align:center;vertical-align:middle}
.rgma-license-button{position:relative;background:var(--pill);border:1px solid var(--line);color:#fff;border-radius:999px;padding:9px 14px;font-size:12px;display:inline-block;cursor:pointer;transition:background .15s}
.rgma-license-button:hover{background:#2c2c2c}
.rgma-license-button.is-adding{opacity:.6;pointer-events:none}

.rgma-panel-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1100;opacity:0;transition:opacity .2s}
.rgma-panel-overlay.is-open{opacity:1}

.rgma-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);border-left:1px solid var(--line);z-index:1101;transform:translateX(100%);transition:transform .25s ease;overflow:hidden;display:flex;flex-direction:column}
.rgma-panel.is-open{transform:translateX(0)}
.rgma-panel-scroll{overflow-y:auto;padding:28px 26px 40px}
.rgma-panel-close{position:absolute;top:16px;right:18px;background:transparent;border:0;color:#aaa;font-size:22px;line-height:1;cursor:pointer;z-index:2}
.rgma-panel-close:hover{color:#fff}

.rgma-panel-cover{width:100%;max-width:340px;aspect-ratio:1/1;background:var(--panel2);border-radius:8px;overflow:hidden;margin:0 auto 22px}
.rgma-panel-cover img{width:100%;height:100%;object-fit:cover;display:block}

.rgma-panel-block{margin-bottom:22px}
.rgma-eyebrow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.rgma-panel-title{font-size:26px;margin:0 0 8px;line-height:1.15}
.rgma-version-row{margin-bottom:10px}
.rgma-panel-artist{color:var(--muted);font-size:13px;margin-bottom:12px}
.rgma-pill-row{display:flex;flex-wrap:wrap;gap:7px}
.rgma-pill-row span,.rgma-pill-row a{background:var(--pill);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:11px;color:#ddd;text-decoration:none}
.rgma-pill-row a:hover{border-color:#4a4a4a;color:#fff}
.rgma-version-pill{font:inherit;background:var(--pill);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:11px;color:#ddd;cursor:default}
.rgma-version-pill.is-playable{cursor:pointer}
.rgma-version-pill.is-playable::before{content:'▸ ';color:#888}
.rgma-version-pill.is-playable:hover{border-color:#4a4a4a}
.rgma-version-pill.is-active{border-color:var(--blue);color:#fff}
.rgma-version-pill.is-active::before{color:var(--blue)}

.rgma-panel-player{display:flex;align-items:center;gap:12px;padding:14px 0;margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rgma-panel-play{width:34px;height:34px;flex:none;border-radius:50%;border:1px solid #aaa;background:transparent;color:#fff;cursor:pointer}
.rgma-panel-progress{flex:1;height:3px;background:#333;border-radius:9px;cursor:pointer;overflow:hidden}
.rgma-panel-progress span{display:block;height:100%;width:0;background:#fff}
.rgma-panel-time{font-size:11px;color:#aaa;min-width:34px;text-align:right}

.rgma-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rgma-panel-stats{display:flex;gap:34px;margin-bottom:22px}
.rgma-stat{display:flex;flex-direction:column;gap:7px}
.rgma-stat span:last-child{font-size:14px;font-weight:700}
.rgma-muted{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0}
.rgma-detail-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.rgma-detail-row span:first-child{color:var(--muted)}

.rgma-license-box{margin-top:6px;padding:20px;border:1px solid var(--line);border-radius:10px}
.rgma-license-box h3{margin:2px 0 16px;font-size:19px}
.rgma-license-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:10px}
.rgma-license-option{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 10px;text-align:left;cursor:pointer;color:#fff}
.rgma-license-option:hover{border-color:#4a4a4a}
.rgma-license-option.is-selected{border-color:var(--blue)}
.rgma-license-option.is-loading{opacity:.6;pointer-events:none}
.rgma-license-option.is-contact{display:block;border-style:dashed;border-color:#555;text-decoration:none}
.rgma-license-option.is-contact:hover{border-color:var(--blue)}
.rgma-license-option .name{display:block;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.rgma-license-option .amount{display:block;font-size:16px;font-weight:700}
.rgma-panel-feedback{margin-top:14px;font-size:12.5px;padding:10px 12px;border-radius:6px}
.rgma-panel-feedback.is-success{background:rgba(22,136,255,.12);color:#8fc4ff}
.rgma-panel-feedback.is-error{background:rgba(255,70,70,.12);color:#ff9c9c}
.rgma-panel-feedback a{color:inherit;text-decoration:underline}

@media(max-width:480px){
  .rgma-license-options{grid-template-columns:1fr 1fr}
}

/* ================= Generic pages (Checkout, Confirmación, blog posts, 404) ================= */
.page-content{padding:60px 0 100px}
.page-title{font-size:32px;margin:0 0 24px}
.page-meta{color:var(--muted);font-size:12px;margin-bottom:24px}
.page-body{color:#ddd;font-size:15px;line-height:1.7;max-width:760px}
.page-body p{margin:0 0 1em}
.page-body a{color:var(--blue)}
.page-body table{width:100%;border-collapse:collapse;margin:1em 0}
.page-body table th,.page-body table td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.page-body input[type="text"],.page-body input[type="email"],.page-body input[type="tel"],.page-body select{background:var(--panel);border:1px solid var(--line);color:#fff;border-radius:6px;padding:9px 11px;font-size:13px}
.page-body input[type="submit"],.page-body button[type="submit"]{background:var(--blue);border:0;color:#fff;border-radius:999px;padding:11px 20px;font-size:13px;cursor:pointer}
.page-body h2{font-size:22px;margin:1.3em 0 .6em}
.page-body h3{font-size:18px;margin:1.3em 0 .5em}
.page-body ul,.page-body ol{margin:0 0 1em;padding-left:1.3em}
.page-body li{margin-bottom:.4em}
.page-body img{max-width:100%;height:auto;border-radius:10px;display:block;margin:1em 0}
.page-body blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--line);color:var(--muted);font-style:italic}
.page-body figcaption{color:var(--muted);font-size:12px;margin-top:6px}

/* Blog posts: a track card (or several) dropped into the content via
   [rgma_tracks slugs="..."] — same markup/behavior as the catalog, just
   given the catalog's more compact row layout regardless of viewport
   width, since a post's content column is narrower than the full
   catalog page even on desktop. */
.rgma-post-tracks{margin:28px 0;padding:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rgma-post-tracks .track{grid-template-columns:58px 1fr 85px 130px 25px}
.rgma-post-tracks .tags,.rgma-post-tracks .version-pills{display:none}
/* .page-body img (blog typography, above) would otherwise override the
   track cover's sizing since it also targets "img" inside the post
   content — it has the same specificity and comes earlier in the file,
   so without this the tiny track thumbnails lose their height, gain a
   1em margin and square corners, and end up looking shifted/cropped
   wrong. This scoped rule wins regardless of source order. */
.rgma-post-tracks .cover img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;margin:0;display:block}
.rgma-post-cover-wrap{margin:0 0 28px}
.rgma-post-cover{border-radius:12px;overflow:hidden;aspect-ratio:16/7;background:var(--panel2)}
.rgma-post-cover img{width:100%;height:100%;object-fit:cover;display:block}
.rgma-post-cover-caption{color:var(--muted);font-size:12px;margin-top:8px;text-align:right}
@media(max-width:600px){.rgma-post-cover{aspect-ratio:4/3}}

/* Blog listing page (home.php) */
.rgma-blog-list{display:flex;flex-direction:column;gap:26px;margin-top:30px}
.rgma-blog-item{display:grid;grid-template-columns:140px 1fr;gap:22px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.rgma-blog-item-cover{display:block;border-radius:10px;overflow:hidden;aspect-ratio:1/1;background:var(--panel2)}
.rgma-blog-item-cover img{width:100%;height:100%;object-fit:cover;display:block}
.rgma-blog-item-title{font-size:19px;margin:0 0 8px}
.rgma-blog-item-title a:hover{text-decoration:underline}
.rgma-blog-item-link{color:var(--blue);font-size:13px}
.rgma-blog-list .rgma-muted{margin:0 0 10px}
@media(max-width:600px){.rgma-blog-item{grid-template-columns:1fr}.rgma-blog-item-cover{aspect-ratio:16/9}}

/* WP core's the_posts_pagination() output, styled to match the catalog's
   own .rgma-pagination look. */
.pagination,.navigation.pagination{display:flex;justify-content:center;gap:6px;margin-top:10px}
.pagination .page-numbers{min-width:32px;height:32px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;background:var(--pill);border-radius:8px;color:#ccc;font-size:12px}
.pagination .page-numbers:hover{background:#383838;color:#fff}
.pagination .page-numbers.current{background:#fff;color:#111;font-weight:700}
.pagination .page-numbers.dots{background:transparent;color:#666}

.track-detail-back{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:26px}
.track-detail-back:hover{color:#fff}
.track-detail-head{display:grid;grid-template-columns:220px 1fr;gap:34px;margin-bottom:36px}
.track-detail-cover{width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--panel2)}
.track-detail-cover img{width:100%;height:100%;object-fit:cover;display:block}
.track-detail-info .page-title{margin-bottom:6px}
.track-detail-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.player-btn-lg{border:1px solid #aaa;background:transparent;color:#fff;border-radius:999px;padding:12px 22px;font-size:13px;cursor:pointer}
.player-btn-lg:hover{background:#fff;color:#111}
.track-detail-about{margin-bottom:32px}
.track-detail-licenses{max-width:640px}
@media(max-width:600px){.track-detail-head{grid-template-columns:1fr}.track-detail-cover{max-width:220px}}

/* ================= EDD checkout cart: dark-theme + visible remove (×) button =================
   EDD renders its own "remove item" icon (.edd-remove-from-cart > .edd-icon-close), but it's
   invisible against a black background. We hide EDD's built-in icon and draw our own × via
   ::before on the link itself — this targets the class name directly so it works whether EDD
   renders the cart as a <table> or a <ul>, across versions. */
.edd-remove-from-cart{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;margin-left:10px;border-radius:50%;
  border:1px solid var(--line);color:#aaa;text-decoration:none;
  vertical-align:middle;line-height:1;transition:background .15s,color .15s,border-color .15s;
}
.edd-remove-from-cart:hover{background:#ff4d4d;border-color:#ff4d4d;color:#fff}
.edd-remove-from-cart .edd-icon,.edd-remove-from-cart .edd-icon-close,.edd-remove-from-cart svg{display:none}
.edd-remove-from-cart::before{content:'×';font-size:16px;font-weight:700}

#edd_checkout_cart,.edd_cart{width:100%;border-collapse:collapse}
#edd_checkout_cart th,.edd_cart_header_row th{text-align:left;color:#fff;font-weight:700;padding:14px 6px;border-bottom:1px solid var(--line)}
#edd_checkout_cart td,.edd_cart_item td{padding:14px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.edd_cart_item_image img{width:36px;height:36px;border-radius:6px;object-fit:cover;margin-right:10px;vertical-align:middle}
.edd_cart_item_price,td.edd_cart_item_price{text-align:right;white-space:nowrap}
.edd_cart_footer_row td{border-bottom:0;padding-top:18px;font-weight:700}

/* ================= Pricing page ================= */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:30px}
.pricing-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px 22px;display:flex;flex-direction:column}
.pricing-card.is-popular{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.pricing-card.is-exclusive{border-style:dashed;border-color:#555}
.pricing-card.is-exclusive:hover{border-color:var(--blue)}
.pricing-card.is-exclusive .pricing-features li::before{content:'—';color:#777}
.pricing-badge{position:absolute;top:-12px;right:20px;background:var(--blue);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.pricing-name{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.pricing-price{font-size:32px;font-weight:800;color:#fff;margin-bottom:18px}
.pricing-price-alt{font-size:16px;font-weight:600;color:var(--muted)}
.pricing-features{list-style:none;margin:0 0 24px;padding:0;flex:1}
.pricing-features li{font-size:13px;color:#ddd;padding:8px 0;border-top:1px solid var(--line);padding-left:22px;position:relative}
.pricing-features li:first-child{border-top:0}
.pricing-features li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}
.pricing-cta{display:block;text-align:center;background:transparent;border:1px solid #aaa;color:#eee;border-radius:999px;padding:11px 16px;font-size:13px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.pricing-cta:hover{background:#fff;color:#111;border-color:#fff}
.pricing-card.is-popular .pricing-cta{background:var(--blue);border-color:var(--blue);color:#fff}
.pricing-card.is-popular .pricing-cta:hover{background:#fff;color:#111;border-color:#fff}

/* ================= FAQ accordion ================= */
.faq-groups{max-width:760px;margin-top:20px}
.faq-group{margin-bottom:34px}
.faq-group-title{font-size:13px;font-weight:800;letter-spacing:.06em;color:#fff;margin-bottom:12px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px;color:#ddd;font-size:14.5px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{flex:1}
.faq-chev{flex:none;color:#888;transition:transform .2s}
.faq-item[open] .faq-chev{transform:rotate(180deg);color:var(--blue)}
.faq-item[open] summary{color:#fff}
.faq-answer{padding:0 4px 18px;color:var(--muted);font-size:13.5px;line-height:1.7;max-width:680px}
.faq-answer a{color:var(--blue)}
