/* CProjects Audio Post — Premium UI (v1.9.2) */
.cap-hidden-text{display:none !important;}

.cap-after-thumb{ margin:0 !important; padding:0 0 18px !important; }

.cap-wrap{
  --cap-bg:#fff;
  --cap-border:rgba(0,0,0,.08);
  --cap-shadow:0 14px 40px rgba(0,0,0,.08);
  --cap-radius:22px;
  --cap-title:#111;
  --cap-sub:rgba(17,17,17,.70);
  --cap-logo-bg:rgba(0,0,0,.03);
  --cap-logo-border:rgba(0,0,0,.08);

  width:100% !important;
  box-sizing:border-box !important;
  font-family:inherit !important;

  background:var(--cap-bg) !important;
  border:1px solid var(--cap-border) !important;
  border-radius:var(--cap-radius) !important;

  padding:16px 18px !important;
  gap:16px !important;
  box-shadow:var(--cap-shadow) !important;

  margin:0 0 18px 0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  position:relative !important;
  line-height:1.2 !important;
}

/* Presets (visibly different) */
.cap-wrap.cap-theme-minimal{
  --cap-shadow:0 14px 40px rgba(0,0,0,.08);
  --cap-radius:22px;
}
.cap-wrap.cap-theme-saas{
  --cap-shadow:0 22px 60px rgba(0,0,0,.12);
  --cap-radius:26px;
}
.cap-wrap.cap-theme-saas::before{
  content:"";
  position:absolute; left:18px; right:18px; top:10px;
  height:3px; border-radius:999px;
  background:linear-gradient(90deg, rgba(17,17,17,1), rgba(17,17,17,.25));
  opacity:.9; pointer-events:none;
}
.cap-wrap.cap-theme-news{
  --cap-border:rgba(17,17,17,.14);
  --cap-shadow:0 10px 24px rgba(0,0,0,.08);
  --cap-radius:18px;
}
.cap-wrap.cap-theme-news::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:4px;
  border-radius:18px 0 0 18px;
  background:#111; opacity:.9; pointer-events:none;
}
.cap-wrap.cap-theme-news .cap-head{
  font-family:ui-serif, Georgia, "Times New Roman", Times, serif !important;
  letter-spacing:.2px !important;
}

/* Left */
.cap-left{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.cap-logo{
  width:44px !important; height:44px !important;
  border-radius:14px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:var(--cap-logo-bg) !important;
  border:1px solid var(--cap-logo-border) !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}
.cap-wrap.cap-theme-saas .cap-logo{ border-radius:16px !important; }
.cap-logo img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.cap-logo svg{ width:20px !important; height:20px !important; display:block !important; color:#111 !important; opacity:.9 !important; }

.cap-copy{ min-width:0 !important; }
.cap-head{
  display:block !important;
  font-weight:700 !important;
  font-size:14px !important;
  color:var(--cap-title) !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:56vw !important;
}
.cap-sub{
  display:block !important;
  font-size:12px !important;
  color:var(--cap-sub) !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:56vw !important;
}

/* Right */
.cap-right{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:0 !important;
  flex:0 0 auto !important;
  line-height:1 !important;
}

/* Button */
.cap-wrap .cap-btn.cap-btn-unified{
  -webkit-appearance:none !important;
  appearance:none !important;
  margin:0 !important;
  outline:none !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  height:44px !important;
  padding:0 18px !important;

  border-radius:999px !important;
  box-sizing:border-box !important;

  font:inherit !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;

  white-space:nowrap !important;
  cursor:pointer !important;
  user-select:none !important;

  background:#111 !important;
  color:#fff !important;
  border:1px solid #111 !important;

  box-shadow:0 10px 22px rgba(0,0,0,.10) !important;
  transition:transform .08s ease, filter .12s ease, box-shadow .12s ease !important;
}
.cap-wrap .cap-btn.cap-btn-unified:hover{
  filter:brightness(1.05) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.14) !important;
}
.cap-wrap .cap-btn.cap-btn-unified:active{ transform:scale(.99) !important; }
.cap-wrap .cap-btn:focus-visible{
  box-shadow:0 0 0 3px rgba(0,0,0,.18), 0 10px 22px rgba(0,0,0,.10) !important;
}
.cap-btn.cap-btn-unified.cap-paused{
  background:#d10000 !important;
  border-color:#d10000 !important;
  color:#fff !important;
}
.cap-btn-ico{ width:18px !important; height:18px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:0 !important; }
.cap-btn-ico svg{ width:18px !important; height:18px !important; display:block !important; fill:currentColor !important; }

/* Desktop grid */
@media (min-width:768px){
  .cap-wrap{
    display:grid !important;
    grid-template-columns:1fr max-content !important;
    align-items:center !important;
  }
}

/* Mobile: keep one line, show both title and subtitle */
@media (max-width:767px){
  .cap-wrap{
    display:flex !important;
    flex-wrap:nowrap !important;
    padding:10px 12px !important;
    gap:10px !important;
    border-radius:16px !important;
  }
  .cap-wrap.cap-theme-saas::before,
  .cap-wrap.cap-theme-news::before{ display:none !important; }

  .cap-logo{ width:34px !important; height:34px !important; border-radius:12px !important; }
  .cap-head{ font-size:13px !important; max-width:100% !important; }
  .cap-sub{ font-size:11.5px !important; max-width:100% !important; opacity:.75 !important; }

  .cap-wrap .cap-btn.cap-btn-unified{
    height:36px !important;
    padding:0 14px !important;
    font-size:12.5px !important;
    gap:8px !important;
  }
  .cap-btn-ico, .cap-btn-ico svg{ width:16px !important; height:16px !important; }
}
