/*
Theme Name: PDR 3D Radio
Theme URI: https://partydjradio.hu/
Author: PDR
Author URI: https://partydjradio.hu/
Description: Sötét, 3D rádiós WordPress téma orangered akcentussal. BuddyPress-kompatibilis fejléccel, globális élő keresővel és Customizer beállításokkal.
Version: 1.0.3
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pdr-3d-radio
Tags: dark, custom-logo, custom-menu, buddyPress, responsive-layout, accessibility-ready
*/

:root{
  --pdr-bg: #0b0b0f;
  --pdr-surface: rgba(255,255,255,.04);
  --pdr-surface2: rgba(255,255,255,.06);
  --pdr-border: rgba(255,255,255,.10);
  --pdr-text: #ffffff;
  --pdr-muted: rgba(255,255,255,.72);
  --pdr-accent: #ff4500; /* orangered */
  --pdr-accent2: #ff6a2a;
  --pdr-header-bg: rgba(0,0,0,.55);
  --pdr-menu-height: 92px;
  --pdr-menu-btn-bg: linear-gradient(180deg, rgba(255,106,0,1), rgba(212,58,0,1));
  --pdr-menu-btn-h: 42px;
  --pdr-menu-btn-w: 124px;
  --pdr-menu-shadow: 0 8px 18px rgba(0,0,0,.55);
  --pdr-menu-depth: 10px;
  --pdr-header-text: #ffffff;
  --pdr-menu-text: #ffffff;
  --pdr-radius: 16px;
  --pdr-shadow: 0 18px 50px rgba(0,0,0,.55);
  --pdr-shadow2: 0 10px 30px rgba(0,0,0,.45);
  --pdr-glow: 0 0 20px rgba(255,69,0,.35);
  --pdr-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";

  /* Customizer-driven variables */
  --pdr-bg-image: none;
  --pdr-bg-image-opacity: 0;
  --pdr-surface-bg: rgba(255,255,255,.04);
  --pdr-surface-border: rgba(255,255,255,.10);
}


html, body{width:100%;max-width:100%;overflow-x:hidden;}
img,video,canvas,svg{max-width:100%;height:auto;}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: var(--pdr-font);
  color: var(--pdr-text);
  background: radial-gradient(1200px 800px at 20% 0%, rgba(255,69,0,.14), transparent 55%),
              radial-gradient(900px 650px at 80% 20%, rgba(255,69,0,.10), transparent 55%),
              linear-gradient(180deg, #06060a, var(--pdr-bg));
  min-height:100vh;
  position: relative;
}

/* Customizer-controlled background image layer */
.pdr-bg{
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: var(--pdr-bg-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: var(--pdr-bg-image-opacity, 0);
  filter: saturate(1.1) contrast(1.05);
}
a{ color: var(--pdr-accent2); text-decoration:none; }
a:hover{ text-decoration:underline; }

img{ max-width:100%; height:auto; }
p{ line-height:1.7; color: var(--pdr-muted); }
h1,h2,h3,h4,h5,h6{ margin:0 0 .6rem; letter-spacing: .2px; }
h1{ font-size: clamp(28px, 4vw, 44px); }
h2{ font-size: clamp(22px, 3vw, 32px); }

.pdr-container{
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.pdr-topbar{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.25));
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.pdr-topbar-inner{
  padding: 10px 0;
}

.pdr-search3d{
  position: relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: radial-gradient(120% 160% at 30% 0%, rgba(255,69,0,.20), rgba(255,255,255,.04) 52%, rgba(0,0,0,.25));
  box-shadow: var(--pdr-shadow2), var(--pdr-glow);
  transform: translateZ(0);
}
.pdr-search3d:focus-within{
  border-color: rgba(255,69,0,.45);
  box-shadow: 0 20px 60px rgba(0,0,0,.65), 0 0 26px rgba(255,69,0,.45);
}
.pdr-search3d input{
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--pdr-text);
  font-size: 15px;
  padding: 6px 2px;
}
.pdr-search3d .pdr-search-ico{
  width: 18px; height: 18px;
  opacity: .9;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.7));
}
.pdr-search-results{
  position:absolute;
  left:0;
  right:0;
  top: calc(100% + 10px);
  display:none;
  background: rgba(10,10,14,.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: var(--pdr-shadow);
}
.pdr-search-results[aria-expanded="true"]{ display:block; }
.pdr-search-results .pdr-sr-head{
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.85);
  font-size: 12px;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.pdr-search-results .pdr-sr-item{
  display:flex;
  gap:12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  align-items:center;
}
.pdr-search-results .pdr-sr-item:last-child{ border-bottom:0; }
.pdr-search-results .pdr-sr-item:hover{
  background: rgba(255,69,0,.10);
}
.pdr-sr-thumb{
  width: 40px; height: 40px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  overflow:hidden;
  flex: 0 0 auto;
}
.pdr-sr-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pdr-sr-main{ min-width:0; }
.pdr-sr-title{
  color: #fff;
  font-weight: 650;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pdr-sr-meta{
  font-size: 12px;
  color: rgba(255,255,255,.65);
  margin-top: 2px;
}
.pdr-sr-badge{
  margin-left:auto;
  font-size: 11px;
  color: rgba(255,255,255,.85);
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

header.pdr-header{
  position: sticky;
  top: 62px; /* topbar height */
  z-index: 900;
  background: var(--pdr-header-bg);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.pdr-header-inner{
  min-height: var(--pdr-menu-height);

  display:flex;
  align-items:center;
  gap:14px;
  padding: 14px 0;
}
.pdr-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 220px;
}
.pdr-brand a{
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--pdr-header-text);
  text-decoration:none;
}
.pdr-brand-title{
  font-weight: 800;
  letter-spacing: .3px;
  text-shadow: 0 2px 16px rgba(0,0,0,.7);
  white-space:nowrap;
}
.pdr-logo{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: var(--pdr-shadow2);
}
.pdr-logo img{ width:100%; height:100%; object-fit:cover; display:block; }

.pdr-nav{
  flex: 1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.pdr-nav ul{
  list-style:none;
  display:flex;
  gap:10px;
  padding:0; margin:0;
  flex-wrap:wrap;
}
.pdr-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  color: var(--pdr-menu-text);
  border-radius: 14px;
  border: 1px solid rgba(255,69,0,.35);
  background: linear-gradient(180deg, rgba(255,69,0,.95), rgba(255,69,0,.60));
  box-shadow: 0 14px 30px rgba(0,0,0,.45), 0 0 16px rgba(255,69,0,.25);
  text-decoration:none;
  font-weight: 700;
  letter-spacing: .2px;
  transform: translateY(0);
  transition: transform .12s ease, filter .12s ease;
}
.pdr-nav a:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  text-decoration:none;
}
.pdr-nav .current-menu-item > a,
.pdr-nav .current_page_item > a{
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 16px 40px rgba(0,0,0,.55), 0 0 20px rgba(255,69,0,.40);
}

.pdr-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
.pdr-iconbtn{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow: 0 14px 30px rgba(0,0,0,.45);
  display:grid;
  place-items:center;
  color: #fff;
  position:relative;
}
.pdr-iconbtn:hover{
  border-color: rgba(255,69,0,.35);
  box-shadow: 0 18px 40px rgba(0,0,0,.55), 0 0 18px rgba(255,69,0,.25);
}
.pdr-badge{
  position:absolute;
  top:-6px; right:-6px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--pdr-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: var(--pdr-glow);
}
.pdr-avatar{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 30px rgba(0,0,0,.45);
}
.pdr-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }

.pdr-mobile-toggle{
  display:none;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color:#fff;
  box-shadow: 0 14px 30px rgba(0,0,0,.45);
}
.pdr-mobile-toggle:hover{ border-color: rgba(255,69,0,.35); }

.pdr-main{
  padding: 28px 0 60px;
}
.pdr-card{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--pdr-radius);
  box-shadow: var(--pdr-shadow);
  padding: 18px;
}
.pdr-hero{
  padding: 26px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  background: radial-gradient(120% 120% at 20% 0%, rgba(255,69,0,.22), rgba(255,255,255,.04) 55%, rgba(0,0,0,.35));
  box-shadow: var(--pdr-shadow), var(--pdr-glow);
  overflow:hidden;
}
.pdr-hero small{ color: rgba(255,255,255,.7); }
.pdr-hero .pdr-cta{
  margin-top: 14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.pdr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:#fff;
  font-weight: 750;
  text-decoration:none;
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
.pdr-btn--accent{
  border-color: rgba(255,69,0,.35);
  background: linear-gradient(180deg, rgba(255,69,0,.95), rgba(255,69,0,.60));
  box-shadow: 0 14px 32px rgba(0,0,0,.55), 0 0 18px rgba(255,69,0,.25);
}
.pdr-btn:hover{ text-decoration:none; filter: brightness(1.03); }

.pdr-grid{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap: 18px;
  margin-top: 18px;
}
.pdr-content .entry-title a{ color:#fff; }
.pdr-content .entry-meta{ color: rgba(255,255,255,.65); font-size: 13px; margin: 4px 0 12px; }
.pdr-content .entry-content{ color: rgba(255,255,255,.78); }

.pdr-footer{
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,.06);
  color: rgba(255,255,255,.65);
  font-size: 13px;
  background: rgba(0,0,0,.35);
}

.pdr-mobile-nav{
  display:none;
  padding: 12px 0 16px;
}
.pdr-mobile-nav{
  margin-top: 10px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--pdr-surface-border);
  background: var(--pdr-surface-bg);
  box-shadow: 0 18px 44px rgba(0,0,0,.55);
  backdrop-filter: blur(12px);
}
.pdr-mobile-nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pdr-mobile-nav li{ margin:0; padding:0; }
.pdr-mobile-nav a{
  height: var(--pdr-menu-btn-h);

  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.20));
  box-shadow: 0 14px 34px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.14);
  color: var(--pdr-text);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .2px;
}
.pdr-mobile-nav a:active{ transform: translateY(1px); }
.pdr-mobile-nav .current-menu-item > a,
.pdr-mobile-nav .current_page_item > a{
  border-color: rgba(255,106,0,.55);
  box-shadow: 0 16px 38px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,106,0,.22);
}

@media (max-width: 980px){
  .pdr-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 860px){
  header.pdr-header{ top: 64px; }
  header.pdr-header{ position: sticky; }
  .pdr-brand{ min-width:auto; }
  .pdr-nav{ display:none; }
  .pdr-mobile-toggle{ display:inline-grid; place-items:center; }
  /* Respect the HTML hidden attribute so the menu is closed by default */
  .pdr-mobile-nav[hidden]{ display:none !important; }
  .pdr-mobile-nav:not([hidden]){ display:block; }
}
@media (max-width: 520px){
  .pdr-header-inner{
  min-height: var(--pdr-menu-height);
 gap:10px; }
  /* Keep the site title visible on mobile (smaller + ellipsis) */
  .pdr-brand-title{
    display: block;
    font-size: 13px;
    line-height: 1.1;
    max-width: 46vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pdr-actions .pdr-iconbtn{ width: 40px; height: 40px; border-radius: 14px; }
  .pdr-avatar{ width: 40px; height: 40px; }
}

/* WordPress core helpers */
.alignwide{ max-width: 1120px; margin-left:auto; margin-right:auto; }
.alignfull{ width:100%; margin-left:0; margin-right:0; }
.wp-caption{ max-width:100%; }
.screen-reader-text{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

/* =====================
   BuddyPress styling
   ===================== */

/* General surface/background overrides to avoid harsh white panels */
.buddypress-wrap,
#buddypress{
  color: var(--pdr-bp-text, var(--pdr-text));
}

/* Force readable text in BP components that ship with hardcoded dark text */
#buddypress p,
#buddypress li,
#buddypress label,
#buddypress .activity-content,
#buddypress .activity-inner,
#buddypress .activity-header,
#buddypress .item-title,
#buddypress .item-meta,
#buddypress .bp-feedback,
#buddypress .bp-pagination{
  color: var(--pdr-bp-text, var(--pdr-text)) !important;
 }

#buddypress a{
  color: var(--pdr-accent) !important;
 }

/* BuddyPress Legacy templates: member/activity lists often use .item-list */
#buddypress ul.item-list,
#buddypress ul.item-list > li,
#buddypress ul.item-list > li > div,
#buddypress ul.item-list > li .item,
#buddypress ul.item-list > li .item-meta,
#buddypress ul.item-list > li .item-title{
  background: var(--pdr-surface-bg) !important;
  border-radius: 18px;
}

#buddypress ul.item-list > li{ 
  padding: 14px;
  border: 1px solid var(--pdr-surface-border);
}

#buddypress ul.item-list > li *{
  color: var(--pdr-bp-text, var(--pdr-text));
}

#buddypress .bp-navs,
#buddypress .item-list-tabs,
#buddypress .dir-form,
#buddypress .activity .activity-update-form,
#buddypress .activity-list li,
#buddypress .item-body,
#buddypress .standard-form,
#buddypress .profile,
#buddypress .notifications,
#buddypress .messages,
#buddypress .groups,
#buddypress .members,
#buddypress .bp-feedback{
  background: var(--pdr-surface-bg) !important;
  border: 1px solid var(--pdr-surface-border) !important;
  border-radius: 16px;
}

/* Additional BuddyPress Nouveau containers that often stay white */
#buddypress .bp-list,
#buddypress .bp-list > li,
#buddypress .bp-list .list-wrap,
#buddypress .bp-list .item-entry,
#buddypress #members-dir-list .item-entry,
#buddypress #members-dir-list ul.item-list > li,
#buddypress #members-dir-list ul.item-list > li .list-wrap,
#buddypress #activity-stream li,
#buddypress #activity-stream .activity-item,
#buddypress #activity-stream .activity-content,
#buddypress #activity-stream .activity-inner,
#buddypress .bp-feedback,
#buddypress .bp-messages-wrap,
#buddypress .bp-messages-wrap .threads-wrapper,
#buddypress .bp-messages-wrap .threads-wrapper .thread,
#buddypress .bp-messages-wrap .reply,
#buddypress .bp-messages-wrap .message-content,
#buddypress .bp-messages-wrap .message-metadata,
#buddypress .bp-messages-wrap .compose .message-content{
  background: var(--pdr-surface-bg) !important;
  border-color: var(--pdr-surface-border) !important;
}

#buddypress .bp-list .list-wrap{ border-radius: 16px; }

#buddypress .item-list-tabs ul li a,
#buddypress .bp-navs a,
#buddypress .bp-navs .selected a,
#buddypress .bp-navs .current a{
  color: var(--pdr-bp-text, var(--pdr-text)) !important;
}

#buddypress a{ color: var(--pdr-accent); }
#buddypress a:hover{ color: var(--pdr-accent2); }

#buddypress input[type="text"],
#buddypress input[type="email"],
#buddypress input[type="password"],
#buddypress input[type="search"],
#buddypress textarea,
#buddypress select{
  background: rgba(0,0,0,.35) !important;
  color: var(--pdr-text) !important;
  border: 1px solid var(--pdr-surface-border) !important;
  border-radius: 12px;
}

#buddypress .button,
#buddypress button,
#buddypress input[type="submit"]{
  background: linear-gradient(180deg, rgba(255,106,0,.95), rgba(255,69,0,.95)) !important;
  border: 0 !important;
  color: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.45);
}

#buddypress .activity-list .activity-content,
#buddypress .activity-list .activity-meta,
#buddypress .activity-list .activity-header,
#buddypress .bp-list .item-meta,
#buddypress .bp-list .item-title,
#buddypress .bp-list .activity,
#buddypress .bp-list .update,
#buddypress .bp-list p,
#buddypress .bp-list span,
#buddypress .bp-list small,
#buddypress .bp-list time{
  color: var(--pdr-bp-text, var(--pdr-text)) !important;
}

#buddypress .activity-list .activity-item,
#buddypress .activity-update-form{
  padding: 14px;
}


/* Menü fix / görgős kapcsoló (Customizer: pdr3d_header_fixed) */
body:not(.pdr-header-fixed) header.pdr-header{position:static !important; top:auto !important;}

@media (max-width: 900px){
  .pdr-container{width:100%;max-width:100%;padding-left:12px;padding-right:12px;}
}
