/* Existing homepage curated interaction/accessibility overrides. */

/* =========================================
   MAKE CURATED PLAYLIST TILES FEEL CLICKABLE
   ========================================= */

.collection-card{
  box-shadow:
    0 4px 10px rgba(0,0,0,.08),
    0 1px 3px rgba(0,0,0,.06);

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease;
}

.collection-card:hover{
  transform:translateY(-2px);

  box-shadow:
    0 8px 18px rgba(0,0,0,.13),
    0 2px 5px rgba(0,0,0,.08);

  border-color:#b5121b;
}


/* =========================================
   MAKE "START LISTENING NOW" OBVIOUS
   ========================================= */

.collection-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  margin-top:8px;
  padding:6px 10px;

  background:#fff;

  border:1px solid #b5121b;
  border-radius:5px;

  color:#b5121b;

  font-size:11px;
  font-weight:900;

  line-height:1;

  box-shadow:
    0 2px 5px rgba(181,18,27,.08);

  transition:
    background .15s ease,
    color .15s ease,
    transform .15s ease;
}

.collection-card:hover .collection-cta{
  background:#b5121b;
  color:#fff;

  transform:translateX(2px);
}

/* =========================================
   CURATED PLAYLISTS
   CLEAR TAP TARGETS
   ========================================= */

/* Slight depth so each collection reads as a card */
#grh-curated-player .collection{
  box-shadow:
    0 3px 8px rgba(0,0,0,.09);

  transition:
    transform .15s ease,
    box-shadow .15s ease;
}


/* START LISTENING NOW
   Simple vintage black outline */
#grh-curated-player .collection-action{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  width:max-content;

  margin-top:6px;

  padding:6px 11px;

  background:#ffffff;

  border:2px solid #222222;
  border-radius:5px;

  color:#222222;

  font-size:12px;
  font-weight:900;
  line-height:1.1;

  letter-spacing:.01em;

  box-shadow:
    0 2px 4px rgba(0,0,0,.08);
}


/* =========================================
   DESKTOP
   ========================================= */

@media(min-width:951px){

  #grh-curated-player .collection:hover{
    transform:translateY(-2px);

    box-shadow:
      0 6px 14px rgba(0,0,0,.13);
  }

  #grh-curated-player .collection:hover
  .collection-action{
    background:#222222;
    color:#ffffff;
  }

}


/* =========================================
   TABLET
   Keep button clearly visible while scrolling
   ========================================= */

@media(max-width:950px){

  #grh-curated-player .collection{
    box-shadow:
      0 4px 10px rgba(0,0,0,.11);
  }

  #grh-curated-player .collection-action{
    min-height:34px;

    padding:7px 12px;

    border:2px solid #1c1c1c;

    background:#ffffff;
    color:#1c1c1c;

    font-size:12px;
  }


  /* Finger press feedback */

  #grh-curated-player .collection:active{
    transform:translateY(1px);

    box-shadow:
      0 2px 5px rgba(0,0,0,.10);
  }

  #grh-curated-player .collection:active
  .collection-action{
    background:#1c1c1c;
    color:#ffffff;
  }

}


/* =========================================
   PHONE
   Slightly larger touch target
   ========================================= */

@media(max-width:650px){

  #grh-curated-player .collection-action{
    min-height:38px;

    padding:8px 13px;

    border:2px solid #171717;

    border-radius:6px;

    font-size:13px;
  }

}
/* =========================================
   GOLDEN RADIO HOUR
   HIGH-CONTRAST TEXT
   Older-reader accessibility
   ========================================= */

/* Main GRH text */
.grh-intro-card,
.grh-intro-match,
.grh-community-card,
.grh-radio-history,
.grh-signup-frame,
.grh-marathon-frame,
.grh-connect,
#grh-curated-player{
  color:#000000 !important;
}


/* Paragraphs and descriptions */
.grh-intro-card p,
.grh-intro-match p,
.grh-community-card p,
.grh-radio-history p,
.grh-signup-frame p,
.grh-marathon-frame p,
.grh-connect p,
#grh-curated-player p{
  color:#000000 !important;
}


/* Smaller descriptive text */
.grh-intro-lead,
.grh-community-lead,
.grh-radio-history-description,
.grh-row-card-header p,
.grh-action-copy small,
.grh-community-feature span,
.grh-row-card-footer,
.grh-intro-highlight,
.grh-community-highlight,
#grh-curated-player .collection-description,
#grh-curated-player .collection-meta,
#grh-curated-player .small,
#grh-curated-player .footer-note{
  color:#000000 !important;
}


/* Headings */
.grh-intro-card h1,
.grh-intro-match h1,
.grh-community-card h2,
.grh-radio-history h2,
.grh-signup-frame h2,
.grh-marathon-frame h2,
.grh-connect h2,
#grh-curated-player h1,
#grh-curated-player h2,
#grh-curated-player h3{
  color:#000000 !important;
}


/* Feature/card text */
.grh-community-feature strong,
.grh-why-item strong,
.grh-why-item small,
.grh-action-copy strong{
  color:#000000 !important;
}


/* Keep branded kicker text RED */
.grh-intro-kicker,
.grh-community-kicker,
.grh-radio-history-kicker,
.grh-row-kicker,
.grh-marathon-kicker,
.grh-connect-kicker{
  color:#b5121b !important;
}


/* Keep actual buttons styled correctly */
.grh-action-youtube,
.grh-action-youtube strong,
.grh-marathon-link{
  color:#ffffff !important;
}


/* Curated player's black outlined tap button */
#grh-curated-player .collection-action{
  color:#000000 !important;
  border-color:#000000 !important;
}


/* When pressed/hovered and background becomes black */
#grh-curated-player .collection:hover .collection-action,
#grh-curated-player .collection:active .collection-action{
  color:#ffffff !important;
}
/* =========================================
   START LISTENING NOW
   RED OUTLINE → GREEN WHEN ACTIVE
   ========================================= */

/* NORMAL STATE */
#grh-curated-player .collection-action{
  background:#ffffff !important;
  color:#000000 !important;

  border:2px solid #b5121b !important;
  border-radius:6px;

  box-shadow:
    0 2px 5px rgba(0,0,0,.10);

  transition:
    background-color .15s ease,
    color .15s ease,
    border-color .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}


/* DESKTOP HOVER */
#grh-curated-player .collection:hover .collection-action{
  background:#218838 !important;
  color:#ffffff !important;

  border-color:#218838 !important;

  box-shadow:
    0 3px 8px rgba(33,136,56,.28);
}


/* TABLET / PHONE PRESS */
#grh-curated-player .collection:active .collection-action{
  background:#218838 !important;
  color:#ffffff !important;

  border-color:#218838 !important;

  transform:scale(.98);

  box-shadow:
    0 2px 5px rgba(33,136,56,.25);
}


/* Active curated-player component styles. */


#grh-curated-player{
  --red:#b5121b;
  --red-dark:#8f0e15;
  --gold:#d7a52f;
  --gold-dark:#8a6514;
  --black:#191919;
  --text:#202020;
  --muted:#666666;
  --line:#e3e3e3;
  --cream:#fff8e8;
  --white:#ffffff;

  width:100%;
  max-width:900px;
  margin:0 auto;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color:var(--text);

  -webkit-font-smoothing:antialiased;
}

#grh-curated-player *{
  box-sizing:border-box;
}

#grh-curated-player button,
#grh-curated-player audio{
  font:inherit;
}


/* =========================================
   MAIN FRAME — MATCH FULL MP3 PLAYER
   ========================================= */

#grh-curated-player .shell{
  position:relative;

  width:100%;

  overflow:hidden;

  background:#fff;

  border:3px solid var(--red);
  border-radius:14px;

  box-shadow:
    0 6px 18px rgba(0,0,0,.10),
    0 0 0 1px rgba(181,18,27,.06);
}

#grh-curated-player .shell::before{
  content:"";

  position:absolute;

  left:0;
  right:0;
  top:0;

  height:3px;

  z-index:2;

  background:
    linear-gradient(
      90deg,
      var(--red-dark),
      var(--red),
      var(--gold),
      var(--red),
      var(--red-dark)
    );

  pointer-events:none;
}


/* =========================================
   HEADER
   ========================================= */

#grh-curated-player .header{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:20px;

  padding:
    24px
    26px
    20px;

  border-bottom:
    3px solid var(--red);

  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fff 70%,
      #fff8e8 100%
    );
}

#grh-curated-player .brand-row{
  display:flex;

  align-items:center;

  gap:15px;

  min-width:0;
}

#grh-curated-player .brand-medallion{
  width:54px;
  height:54px;

  flex:
    0
    0
    54px;

  display:grid;

  place-items:center;

  border:
    2px solid var(--gold);

  border-radius:50%;

  background:
    linear-gradient(
      145deg,
      var(--red),
      var(--red-dark)
    );

  color:#fff;

  font-size:14px;
  font-weight:1000;

  letter-spacing:.03em;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    0 5px 14px rgba(0,0,0,.16);
}

#grh-curated-player .header-copy{
  min-width:0;
}

#grh-curated-player .eyebrow{
  margin:
    0
    0
    3px;

  color:var(--red);

  font-size:11px;
  font-weight:900;

  letter-spacing:.18em;
  text-transform:uppercase;
}

#grh-curated-player h2{
  margin:0;

  color:var(--black);

  font-size:
    clamp(
      24px,
      3.2vw,
      34px
    );

  line-height:1.05;

  font-weight:950;

  letter-spacing:-.025em;
}

#grh-curated-player .intro{
  margin:
    7px
    0
    0;

  color:var(--muted);

  font-size:13px;
  font-weight:500;

  line-height:1.45;

  max-width:650px;
}

#grh-curated-player .status{
  flex:
    0
    0
    auto;

  margin:0;

  padding:
    8px
    12px;

  border:
    1px solid #ead9a7;

  border-radius:999px;

  background:var(--cream);

  color:#725616;

  font-size:11px;
  font-weight:800;

  white-space:nowrap;
}


/* =========================================
   COLLECTION GRID
   ========================================= */

#grh-curated-player .collections{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(
        0,
        1fr
      )
    );

  gap:10px;

  padding:
    18px
    22px
    0;
}

#grh-curated-player .collection{
  position:relative;

  overflow:hidden;

  min-height:116px;

  padding:
    16px
    16px
    15px
    66px;

  border:
    1px solid #dddddd;

  border-radius:9px;

  background:#fff;

  text-align:left;

  cursor:pointer;

  box-shadow:none;

  transition:
    background .15s ease,
    border-color .15s ease,
    box-shadow .15s ease,
    transform .15s ease;
}

#grh-curated-player .collection::before{
  content:"▶";

  position:absolute;

  left:14px;
  top:16px;

  width:38px;
  height:38px;

  display:grid;

  place-items:center;

  border:
    1px solid var(--red-dark);

  border-radius:10px;

  background:
    linear-gradient(
      145deg,
      var(--red),
      var(--red-dark)
    );

  color:#fff;

  font-size:12px;
  font-weight:900;

  line-height:1;
}

#grh-curated-player .collection:hover{
  transform:translateY(-1px);

  border-color:#d2b461;

  background:#fff8f8;

  box-shadow:
    0 4px 12px rgba(0,0,0,.05);
}

#grh-curated-player .collection.active{
  border-color:#d2b461;

  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fff 72%,
      #fff8e8 100%
    );

  box-shadow:
    0 4px 12px rgba(0,0,0,.05);
}

#grh-curated-player .collection.active::before{
  border-color:var(--gold-dark);

  background:
    linear-gradient(
      180deg,
      #e3b641,
      #b8841d
    );
}

#grh-curated-player .collection-art{
  position:absolute;

  left:13px;
  top:14px;

  width:42px;
  height:42px;

  object-fit:cover;

  border:
    1px solid var(--gold-dark);

  border-radius:9px;

  background:#f4f4f4;

  box-shadow:
    0 3px 9px rgba(0,0,0,.15);
}

#grh-curated-player .collection.has-art::before{
  left:42px;
  top:43px;

  width:17px;
  height:17px;

  z-index:2;

  border-width:1px;
  border-radius:50%;

  font-size:7px;
}

#grh-curated-player .collection-title{
  display:block;

  margin:
    0
    0
    5px;

  color:var(--text);

  font-size:15px;
  font-weight:900;

  line-height:1.25;

  letter-spacing:.01em;
}

#grh-curated-player .collection-description{
  display:block;

  margin:
    0
    0
    8px;

  color:#777;

  font-size:11px;
  font-weight:500;

  line-height:1.4;
}

#grh-curated-player .collection-action{
  display:inline-flex;

  align-items:center;

  color:var(--red);

  font-size:10px;
  font-weight:900;

  line-height:1.2;

  text-transform:uppercase;

  letter-spacing:.04em;
}

#grh-curated-player .collection:last-child{
  grid-column:
    1
    /
    -1;
}


/* =========================================
   ACTIVE PLAYER
   ========================================= */

#grh-curated-player .player{
  display:none;

  margin:
    16px
    22px
    0;

  padding:18px;

  border:
    1px solid #e3e3e3;

  border-radius:12px;

  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fff 78%,
      #fff8e8 100%
    );

  box-shadow:
    0 5px 16px rgba(0,0,0,.07);
}

#grh-curated-player .player.visible{
  display:block;
}

#grh-curated-player .player-heading{
  display:grid;

  grid-template-columns:
    104px
    minmax(0, 1fr);

  gap:16px;

  align-items:start;

  margin-bottom:13px;
}

#grh-curated-player .player-art{
  display:none;

  width:104px;
  height:104px;

  object-fit:cover;

  border:
    2px solid var(--gold);

  border-radius:11px;

  background:#f5f5f5;

  box-shadow:
    0 5px 16px rgba(0,0,0,.15);
}

#grh-curated-player .player-art.visible{
  display:block;
}

#grh-curated-player .player-copy{
  min-width:0;
}

#grh-curated-player .playing-label{
  margin:
    0
    0
    5px;

  color:var(--red);

  font-size:10px;
  font-weight:900;

  text-transform:uppercase;

  letter-spacing:.14em;
}

#grh-curated-player .show-name{
  margin:
    0
    0
    4px;

  color:var(--text);

  font-size:20px;
  font-weight:900;

  line-height:1.25;
}

#grh-curated-player .episode-name{
  margin:
    0
    0
    13px;

  color:var(--gold-dark);

  font-size:14px;
  font-weight:700;

  line-height:1.4;
}

#grh-curated-player audio{
  display:block;

  width:100%;

  margin:
    0
    0
    13px;

  accent-color:var(--red);
}


/* =========================================
   PLAYER CONTROLS
   ========================================= */

#grh-curated-player .controls{
  display:flex;

  gap:9px;

  flex-wrap:wrap;

  align-items:center;

  padding-top:12px;

  border-top:
    1px solid #e7e7e7;
}

#grh-curated-player .control{
  min-height:40px;

  padding:
    0
    14px;

  border:
    1px solid #d3d3d3;

  border-radius:8px;

  background:#fff;

  color:#333;

  font-size:12px;
  font-weight:850;

  cursor:pointer;

  box-shadow:none;

  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .15s ease;
}

#grh-curated-player .control:hover{
  border-color:var(--red);

  background:#fff5f5;

  color:var(--red);

  transform:none;
}

#grh-curated-player .control:active{
  transform:translateY(1px);
}

#grh-curated-player .count{
  margin-left:auto;

  color:#666;

  font-size:11px;
  font-weight:800;
}


/* =========================================
   FOOTER / ARCHIVE LINK
   ========================================= */

#grh-curated-player .footer{
  margin-top:18px;

  padding:
    16px
    22px
    20px;

  border-top:
    1px solid #eeeeee;

  text-align:center;

  background:#fafafa;
}

#grh-curated-player .archive-link{
  display:inline-block;

  color:var(--red);

  font-size:13px;
  font-weight:900;

  text-decoration:none;
}

#grh-curated-player .archive-link:hover{
  color:var(--red-dark);

  text-decoration:underline;
}


/* =========================================
   WORDPRESS / KADENCE BUTTON SAFETY
   ========================================= */

#grh-curated-player button{
  -webkit-appearance:none !important;

  appearance:none !important;

  box-sizing:border-box !important;

  margin:0 !important;

  text-transform:none !important;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
}


/* =========================================
   MOBILE
   ========================================= */

@media(max-width:650px){

  #grh-curated-player .shell{
    border-width:2px;

    border-radius:11px;
  }

  #grh-curated-player .header{
    align-items:flex-start;

    padding:
      20px
      17px
      17px;
  }

  #grh-curated-player .brand-medallion{
    width:46px;
    height:46px;

    flex-basis:46px;

    font-size:12px;
  }

  #grh-curated-player h2{
    font-size:25px;
  }

  #grh-curated-player .intro{
    font-size:12px;
  }

  #grh-curated-player .status{
    display:none;
  }

  #grh-curated-player .collections{
    grid-template-columns:1fr;

    padding:
      15px
      14px
      0;
  }

  #grh-curated-player .collection:last-child{
    grid-column:auto;
  }

  #grh-curated-player .collection{
    min-height:102px;

    padding:
      15px
      14px
      14px
      62px;
  }

  #grh-curated-player .collection::before{
    left:13px;
    top:14px;

    width:36px;
    height:36px;
  }

  #grh-curated-player .collection-art{
    left:12px;
    top:13px;

    width:38px;
    height:38px;
  }

  #grh-curated-player .collection.has-art::before{
    left:39px;
    top:40px;
  }

  #grh-curated-player .player{
    margin:
      14px
      14px
      0;

    padding:15px;
  }

  #grh-curated-player .player-heading{
    grid-template-columns:
      78px
      minmax(0, 1fr);

    gap:12px;
  }

  #grh-curated-player .player-art{
    width:78px;
    height:78px;
  }

  #grh-curated-player .control{
    flex:1;
  }

  #grh-curated-player .count{
    width:100%;

    margin-left:0;

    text-align:center;
  }

  #grh-curated-player .footer{
    padding:
      15px
      14px
      18px;
  }

}

/* 0.9.2 Batch 4 exact-slot asset integration. */
#grh-curated-player .brand-medallion{padding:0!important;overflow:hidden;background:transparent!important;border:0!important;box-shadow:none!important}
#grh-curated-player .brand-medallion picture,#grh-curated-player .brand-medallion img{display:block;width:100%;height:100%}
#grh-curated-player .brand-medallion img{object-fit:contain}
