/*
Theme Name: The Assbook Theme
Theme URI: https://theassbook.com/
Author: Duck
Description: Fixes modal centering and sticky footers on all templates.
Version: 2.8.6.67
License: GPLv2 or later
Text Domain: assbook-theme
*/

html, body { margin: 0; padding: 0; height: 100%; font-family: Arial, sans-serif; background: #121212; color: #fff; }
header { background: #000; padding: 10px 20px; display: flex; justify-content: space-between; align-items: center; }
header img.logo { height: 60px; }
header .search-bar { flex: 0 0 30%; margin: 0 20px; display: flex; align-items: center; }
header .search-bar input[type="text"] { width: 100%; padding: 8px 30px 8px 10px; border-radius: 4px; border: none; background: #fff; color: #000; }
header .search-bar .icon { margin-left: -25px; color: #000; z-index: 10; }
header .auth-buttons button { background: #007bff; color: #fff; padding: 8px 12px; border: none; margin-left: 10px; cursor: pointer; }

.modal {
  display: none; position: fixed; z-index: 1000;
  left: 0; top: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.7);
  justify-content: center; align-items: center;
}
.modal-content {
  background: #1e1e1e; padding: 25px 20px;
  border-radius: 10px; position: relative;
  width: 100%; max-width: 400px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  max-height: 90vh; overflow-y: auto;
  margin: auto;
}
.modal-content .close {
  position: absolute; right: 10px; top: 10px;
  cursor: pointer; color: #fff; font-size: 20px;
}
.modal-content input, .modal-content button {
  width: 100%; padding: 10px; margin-bottom: 10px; border-radius: 5px; border: none;
}
.modal-content button { background: #007bff; color: white; cursor: pointer; }

.trending-wrapper { overflow: hidden; white-space: nowrap; margin-top: 20px; }
.trending-inner { display: inline-block; animation: scroll-left 100s linear infinite; }
.trending-item {
  display: inline-block; width: 12vw; height: 12vw;
  background: #333; margin-right: 10px;
  text-align: center; line-height: 12vw; font-weight: bold;
}
@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.video-grid {
  display: flex; flex-wrap: wrap;
  margin: 20px; justify-content: center; gap: 10px;
}
.video-item {
  width: calc(14% - 10px);
  aspect-ratio: 1/1;
  background: #222;
  display: flex; justify-content: center; align-items: center; font-weight: bold;
}
#ad-top, #ad-bottom {
  width: 100%; height: 90px;
  background: #111; color: #aaa;
  display: flex; align-items: center; justify-content: center;
  margin: 20px 0;
}
footer {
  background: #000;
  text-align: center;
  padding: 20px;
  color: #fff;
  margin-top: auto;
}
.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main {
  flex: 1;
  padding: 20px;
}


/* ASSBOOK-GPT PATCH 1: Rounded buttons and layout tweak */
.assbook-header-buttons button {
    border-radius: 6px;
    padding: 8px 16px;
    margin: 0 4px;
}

.assbook-header {
    padding: 0 20px; /* Move content inward */
}


/* ASSBOOK-GPT PATCH 1B: Header height fix, centering, and button rounding */
header.assbook-header {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
}

.assbook-logo {
    margin-left: 10px;
}

.assbook-header-buttons {
    margin-right: 10px;
}

.assbook-header-buttons button {
    border-radius: 6px !important;
    padding: 8px 16px;
    margin-left: 5px;
}


/* ASSBOOK-GPT PATCH 1C: Stronger centering and confirmed button rounding */
header.assbook-header {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px; /* Increase padding to nudge items inward */
}

.assbook-logo {
    margin-left: 20px;
}

.assbook-header-buttons {
    margin-right: 20px;
}

.assbook-header-buttons button {
    border-radius: 8px !important;
    padding: 8px 16px;
    margin-left: 6px;
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
}


/* ASSBOOK-GPT PATCH 1D: Force-rounded buttons and center modal inputs */
.assbook-btn {
    border-radius: 8px !important;
    padding: 8px 16px;
    margin-left: 6px;
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
}

.assbook-modal input[type="text"],
.assbook-modal input[type="email"],
.assbook-modal input[type="password"] {
    display: block;
    margin: 8px auto;
    width: 80%;
    padding: 8px;
    border-radius: 6px;
}


/* ASSBOOK-GPT PATCH 1H: Footer Grid with Ad Slots */
.video-grid-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin: 30px 0;
}
.video-card {
    width: 30%;
    height: 200px;
    background: #222;
    text-align: center;
    color: white;
    line-height: 200px;
    font-weight: bold;
}
.ad-slot {
    width: 10%;
    height: 200px;
    background: #111;
    color: #999;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-style: italic;
}

/* ASSBOOK-GPT PATCH 31 VIDEO LAYOUT */
.video-row-5-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 32px;
  gap: 24px;
  flex-wrap: wrap;
}

.video-row-5 {
  display: flex;
  gap: 16px;
}

.ad-space {
  width: 150px;
  height: 160px;
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ASSBOOK-GPT PATCH 31 VIDEO LAYOUT FIXED AND ALIGNED */
.video-row-5-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 32px;
  gap: 0;
  width: 100%;
}

.video-row-5 {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: nowrap;
}

.video-row-5 .video-item {
  width: 160px;
  height: 160px;
  background-color: #333;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ad-space {
  width: 352px; /* Matches the combined width of two video-item blocks (160px * 2 + 16px gap) */
  height: 160px;
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ASSBOOK-GPT PATCH FINAL ALIGNMENT */
.video-row-5-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 32px;
  gap: 0;
  width: 100%;
}

.video-row-5 {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: nowrap;
}

.video-row-5 .video-item {
  width: 200px;  /* Match exact width of video 25 from the main grid */
  height: 300px; /* Match height for consistency */
  background-color: #333;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.ad-space {
  width: 416px; /* Match width of two grid videos (200 * 2 + 16 gap) */
  height: 300px;
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ASSBOOK-GPT PATCH FINAL TWEAKED ALIGNMENT */
.video-row-5-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 32px;
  width: 100%;
  gap: 16px;
}

.video-row-5 {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: nowrap;
}

.video-row-5 .video-item {
  width: 200px;
  height: 300px;
  background-color: #333;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.ad-space {
  width: 416px; /* 200 * 2 + 16px gap */
  height: 300px;
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ASSBOOK-GPT PATCH FINAL UNIFORM VIDEO STYLING */
.video-row-5-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 32px;
  width: 100%;
  gap: 16px;
}

.video-row-5 {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: nowrap;
}

/* Remove any individual styling for .video-row-5 .video-item to inherit default video-item */

.ad-space {
  width: 336px; /* Width of two .video-item blocks + 1 gap (assumes 160px width + 8px gap each) */
  height: 160px;
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ASSBOOK-GPT CLEANUP FOR STANDARD 7x5 GRID */
.video-row-5-wrapper, .video-row-5, .video-row-5 .video-item, .ad-space {
  display: none !important;
}

/* ASSBOOK-GPT AD PLACEHOLDER BLOCKS */
.video-item.ad-placeholder {
  background-color: #222;
  color: #ffcc00;
  font-weight: bold;
}


/* ASSBOOK-GPT CATRAIL */
.ab-layout{ display:grid; grid-template-columns: 240px 1fr; gap:16px; align-items:start; }
.ab-catrail{ background:#0a0a0a; border:1px solid #191919; border-radius:12px; padding:12px; position:sticky; top:80px; max-height: calc(100vh - 100px); overflow:auto; }
.ab-catrail-header{ font-weight:700; margin:4px 4px 8px; color:#e5e7eb; }
.ab-catrail-list{ list-style:none; margin:0; padding:0; }
.ab-catrail-item{ margin:2px 0; }
.ab-catrail-item a{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:8px; color:#d1d5db; text-decoration:none; }
.ab-catrail-item a:hover{ background:#111827; }
.ab-catrail-item.active a{ background:#1f2937; color:#fff; border:1px solid #374151; }
.ab-count{ background:#0b0b0b; border:1px solid #2a2a2a; border-radius:999px; padding:2px 8px; font-size:12px; color:#9ca3af; }

.ab-maingrid-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ab-cards{ display:grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap:12px; }
.ab-card{ display:block; text-decoration:none; }
.ab-card-wrap{ background:#0a0a0a; border-radius:12px; padding:8px; display:block; }
.abti-thumb{ width:100%; height:auto; border-radius:10px; display:block; }
.abti-thumb--empty{ display:block; width:100%; aspect-ratio:1/1; background:#121212; border-radius:10px; }

.ab-pagination{display:flex;gap:8px;align-items:center;justify-content:center;margin:18px 0 32px}
.ab-pagination .ab-page,.ab-pagination .ab-gap{ padding:6px 10px;border-radius:8px;background:#0f0f0f;border:1px solid #2a2a2a;color:#eaeaea;text-decoration:none;font-size:14px }
.ab-pagination .ab-page:hover{background:#151515}
.ab-pagination .current{background:#1f2937;border-color:#3b82f6}
.ab-pagination .prev,.ab-pagination .next{font-weight:600}

@media (max-width: 1100px){
  .ab-layout{ grid-template-columns: 1fr; }
  .ab-catrail{ display:none; }
  .ab-cards{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 520px){
  .ab-cards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.ab-carousel, .ab-carousel * { list-style: none; }


/* AJAX cards meta styling */
.ab-card .abti-title{ color:#eaeaea !important; text-decoration:none !important; }
.ab-card .ab-meta, .ab-card .ab-meta *{ color:#a7a7a7 !important; text-decoration:none !important; }


/* Smooth grid swap + loading lock */
.ab-section .ab-cards{
  transition: opacity 140ms ease;
  will-change: opacity;
}
.ab-section .ab-cards.is-loading{
  pointer-events: none;
}
.ab-pagination{ margin-top: 10px; text-align: center; }
.ab-pagination .ab-grid-page,
.ab-pagination .ab-page{
  display: inline-block;
  padding: 6px 10px;
  margin: 0 4px;
  border-radius: 6px;
  color: #ddd;
  background: #1a1a1a;
  text-decoration: none;
}
.ab-pagination .ab-grid-page.current{
  background: #303030;
  color: #fff;
  pointer-events: none;
}
.ab-pagination .ab-gap{ margin: 0 6px; color: #777; }


/* Ensure current page is visibly highlighted even if markup changes */
.ab-pagination .ab-grid-page.current{ background:#303030; color:#fff; pointer-events:none; }


/* Active category highlight */
.ab-catrail-item.active > a,
.ab-catrail .current-cat > a,
.widget_categories .current-cat > a {
  color: #ffffff !important;
  background: #2b2b2b;
  border-radius: 8px;
  padding: 4px 8px;
  text-decoration: none;
}


/* ===== Watch Page ===== */
.ab-watch-header{ margin: 10px 0 20px; }
.ab-watch-title{ font-size: 1.4rem; line-height: 1.3; margin: 0; }

.ab-watch-wrap{
  display: grid;
  grid-template-columns: 1fr minmax(280px, 980px) 1fr;
  gap: 16px;
  align-items: start;
}

.ab-player{ background:#000; border-radius: 10px; padding: 0; overflow: hidden; }
.ab-embed{ position: relative; width: 100%; }
.ab-embed iframe, .ab-embed video, .ab-embed embed{
  width: 100% !important;
  height: clamp(180px, 56vw, 552px) !important; /* ~16:9 */
  display: block;
  border: 0;
}

.ab-watch-ad{ position: relative; min-height: 300px; }
.ab-ad-placeholder{
  display:flex; align-items:center; justify-content:center;
  min-height:300px; border:1px dashed #333; color:#7a7a7a;
  border-radius:10px; background:rgba(255,255,255,0.02);
}

@media (max-width: 1100px){
  .ab-watch-wrap{ grid-template-columns: 1fr; }
  .ab-watch-ad{ display:none; }
}

.ab-related{ margin-top: 26px; }
.ab-related-title{ margin: 0 0 12px; font-size: 1.2rem; }
.ab-related .ab-cards{ transition: opacity .15s ease; }
.ab-related .ab-cards.is-loading{ opacity: .35; pointer-events: none; }
.ab-related .ab-pagination{ margin-top:12px; text-align:center; }
.ab-related .ab-grid-page{ display:inline-block; padding:6px 10px; margin:0 4px; background:#1a1a1a; color:#ddd; border-radius:6px; text-decoration:none; }
.ab-related .ab-grid-page.current{ background:#303030; color:#fff; pointer-events:none; }


/* ===== Watch Page ===== */
.ab-watch-header{ margin:10px 0 20px; }
.ab-watch-title{ font-size:1.4rem; line-height:1.3; margin:0; }

.ab-watch-wrap{
  display:grid;
  grid-template-columns: 1fr minmax(280px, 980px) 1fr;
  gap:16px;
  align-items:start;
}

.ab-player{ background:#000; border-radius:10px; overflow:hidden; }
.ab-embed{ position:relative; width:100%; }
.ab-embed iframe, .ab-embed video, .ab-embed embed{
  width:100% !important;
  height: clamp(180px, 56vw, 552px) !important; /* ~16:9 */
  display:block; border:0;
}

.ab-watch-ad{ min-height:300px; }
.ab-ad-placeholder{
  display:flex; align-items:center; justify-content:center;
  min-height:300px; border:1px dashed #333; color:#7a7a7a;
  border-radius:10px; background:rgba(255,255,255,0.02);
}

@media (max-width:1100px){
  .ab-watch-wrap{ grid-template-columns: 1fr; }
  .ab-watch-ad{ display:none; }
}

.ab-related{ margin-top:26px; }
.ab-related-title{ margin:0 0 12px; font-size:1.2rem; }
.ab-related .ab-cards{ transition: opacity .15s ease; }
.ab-related .ab-cards.is-loading{ opacity:.35; pointer-events:none; }
.ab-related .ab-pagination{ margin-top:12px; text-align:center; }
.ab-related .ab-grid-page{ display:inline-block; padding:6px 10px; margin:0 4px; background:#1a1a1a; color:#ddd; border-radius:6px; text-decoration:none; }
.ab-related .ab-grid-page.current{ background:#303030; color:#fff; pointer-events:none; }



/* ----- Watch page fixed rail widths (300px) ----- */
.ab-watch-wrap{
  grid-template-columns: 300px minmax(640px, 980px) 300px;
}
.ab-watch-ad{ display:block; }
.ab-ad-placeholder{
  display:flex; align-items:center; justify-content:center;
  min-height:300px; border:1px dashed #3a3a3a; color:#a0a0a0;
  border-radius:10px; background:rgba(255,255,255,0.03);
  font-size:14px;
}
@media (max-width:1100px){
  .ab-watch-wrap{ grid-template-columns: 1fr; }
  .ab-watch-ad{ display:none; }
}


/* === Watch rails verify 2.8.6.13 === */
.ab-watch .ab-watch-wrap{
  grid-template-columns: 300px minmax(640px, 980px) 300px !important;
}
.ab-watch .ab-watch-ad{ display:block !important; }
.ab-watch .ab-ad-placeholder{
  display:flex; align-items:center; justify-content:center;
  min-height:300px; border:2px dashed #ff7a00; color:#ffae66;
  border-radius:10px; background:rgba(255,122,0,0.08);
  font-size:14px;
}
@media (max-width:1100px){
  .ab-watch .ab-watch-wrap{ grid-template-columns: 1fr !important; }
  .ab-watch .ab-watch-ad{ display:none !important; }
}


/* === Watch alias compatibility 2.8.6.14 === */
/* Some installs use `.watch` / `.watch-stage` / `.watch-ad` / `.watch-player`.
   Make rails visible and fixed even when asides are empty. */
.watch .watch-stage{
  display:grid !important;
  grid-template-columns: 300px minmax(640px, 980px) 300px !important;
  gap:12px; align-items:start;
}
.watch .watch-player{ width:100%; background:#000; border-radius:10px; overflow:hidden; }
.watch .watch-ad{ display:block !important; min-height:300px; position:relative; }
.watch .watch-ad::before{
  content: attr(aria-label);
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  border:2px dashed #ff7a00; color:#ffae66;
  border-radius:10px; background:rgba(255,122,0,0.08);
  font-size:14px; pointer-events:none;
}
@media (max-width:1100px){
  .watch .watch-stage{ grid-template-columns:1fr !important; }
  .watch .watch-ad{ display:none !important; }
}
/* Ensure iframes inside .watch-player scale */
.watch .watch-player iframe,
.watch .watch-player video,
.watch .watch-player embed{
  width:100% !important;
  height: clamp(180px, 56vw, 552px) !important;
  display:block; border:0;
}


/* === Watch stage centering 2.8.6.15 === */
.watch .watch-stage,
.ab-watch .ab-watch-wrap{
  max-width: calc(300px + 980px + 300px + 24px); /* rails + content + two 12px gaps */
  margin-left:auto; margin-right:auto;
  padding-left: 8px; padding-right: 8px; /* gentle breathing room */
}
@media (max-width: 1100px){
  .watch .watch-stage,
  .ab-watch .ab-watch-wrap{
    max-width: 980px;
    padding-left: 10px; padding-right: 10px;
  }
}


/* ===== Account (skeleton) ===== */
.ab-account-wrap{ padding:10px 0 20px; }
.ab-account-header{ margin:6px 0 14px; }
.ab-account-title{ font-size:1.4rem; margin:0 0 4px; }
.ab-account-sub{ color:#9aa; font-size:.95rem; }

.ab-acc-tabs{ display:flex; gap:8px; margin:0 0 12px; flex-wrap:wrap; }
.ab-acc-tab{ padding:8px 12px; border-radius:8px; background:#151515; color:#ddd; text-decoration:none; }
.ab-acc-tab.current{ background:#232323; color:#fff; box-shadow:0 0 0 1px #2e2e2e inset; }

.ab-acc-panel{ display:none; }
.ab-acc-panel.current{ display:block; }

.ab-acc-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ab-acc-card{ background:#121212; border-radius:12px; padding:14px; box-shadow:0 0 0 1px #1e1e1e inset; }
.ab-acc-metric{ font-size:28px; font-weight:700; margin-bottom:6px; color:#fff; }
.ab-acc-label{ color:#a8b; }

.ab-acc-empty{ padding:20px; color:#a6a6a6; border:1px dashed #2f2f2f; border-radius:12px; text-align:center; }

/* reuse card grid */
.ab-acc-like-cards{ min-height:60px; transition:opacity .15s ease; }
@media (max-width:900px){
  .ab-acc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px){
  .ab-acc-grid{ grid-template-columns:1fr; }
}



/* === My Account layout (2.8.6.21) === */
.ab-myacc-layout{ display:grid; grid-template-columns: 220px 1fr; gap:16px; }
.ab-acc-side{ background:#0f0f0f; border-radius:12px; padding:12px; box-shadow:0 0 0 1px #1e1e1e inset; }
.ab-acc-nav{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.ab-acc-tab{ display:block; padding:8px 10px; border-radius:8px; color:#ddd; background:#151515; text-decoration:none; }
.ab-acc-tab.current{ background:#242424; color:#fff; box-shadow:0 0 0 1px #2d2d2d inset; }
.ab-acc-main{ min-height:260px; }
.ab-acc-panel{ display:none; }
.ab-acc-panel.current{ display:block; }
.ab-acc-profile{ margin-top:12px; color:#c9c9c9; }
@media (max-width: 900px){
  .ab-myacc-layout{ grid-template-columns: 1fr; }
}


/* === Account page polish (2.8.6.22) === */
body.ab-account-page{ min-height:100vh; display:flex; flex-direction:column; }
body.ab-account-page .site-main{ flex:1 1 auto; }
.ab-account-wrap{ width:min(95%, 1600px); margin: 0 auto; padding: 12px 10px; }
.ab-myacc-layout{ margin-left: 2px; margin-right: 2px; }


/* wider account wrap responsive */
@media (max-width: 1024px){
  .ab-account-wrap{ width: 96%; padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 640px){
  .ab-account-wrap{ width: 98%; }
}


/* Watch actions + modal (2.8.6.28) */
.ab-watch-actions{ display:flex; gap:10px; align-items:center; margin:10px 0 12px; }
.ab-like-btn, .ab-add-btn{
  appearance:none; border:0; border-radius:10px; padding:8px 12px;
  background:#1f1f1f; color:#eaeaea; cursor:pointer; box-shadow:0 0 0 1px #2a2a2a inset;
}
.ab-like-btn.is-liked{ background:#2d1330; color:#ff8dd1; box-shadow:0 0 0 1px #6b2a73 inset; }
.ab-like-btn .ab-like-icon{ margin-right:6px; }
.ab-like-btn[data-count]:after{ content:attr(data-count); margin-left:6px; opacity:.8; }
.ab-modal{ position:fixed; inset:0; display:block; }
.ab-modal[hidden]{ display:none; }
.ab-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.ab-modal__box{
  position:relative; z-index:2; width:min(520px, 94%); margin:8vh auto;
  background:#0f0f0f; border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,.4);
  border:1px solid #1f1f1f; color:#e6e6e6; overflow:hidden;
}
.ab-modal__head{ display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid #1d1d1d; }
.ab-modal__body{ padding:12px 14px; }
.ab-modal__close{ background:none; color:#aaa; border:0; font-size:18px; cursor:pointer; }
.ab-pl-row{ display:flex; align-items:center; gap:8px; padding:6px 0; }
.ab-pl-create{ display:flex; gap:8px; padding-top:10px; border-top:1px solid #1d1d1d; margin-top:10px; }
.ab-pl-create input{ flex:1 1 auto; background:#151515; color:#eee; border:1px solid #262626; border-radius:8px; padding:8px; }
.ab-pl-create button{ background:#1f1f1f; color:#fff; border:1px solid #262626; border-radius:8px; padding:8px 12px; cursor:pointer; }
body.ab--lock{ overflow:hidden; }


/* Search input normalization (remove purple rings / artifacts) */
input[type="search"] {
  -webkit-appearance: none;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 8px;
}
input[type="search"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.15) inset;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration{ display:none; }

/* Better spacing under player for toolbar */
.ab-watch-actions{ margin:12px 0 18px; }


/* ab v2.8.6.55 chip row fallback */
.ab-card-meta-row{display:flex;justify-content:space-between;gap:.5rem;margin:.35rem .5rem 0 .5rem;font-size:.82rem;opacity:.85}
.ab-card-meta-row .ab-chip-left,.ab-card-meta-row .ab-chip-right{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:.15rem .45rem;border-radius:.5rem;white-space:nowrap}



/* === AB meta chips (v2.8.6.56) === */
.ab-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.5rem;
  margin:.40rem .5rem 0 .5rem;
  font-size:.82rem;
  opacity:.9;
}
.ab-meta > span{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  padding:.18rem .50rem;
  border-radius:.55rem;
  line-height:1.2;
  white-space:nowrap;
}
/* left: views, right: length */
.ab-meta-views{ order:1; }
.ab-meta-len  { order:2; }
.ab-meta-views::before{ content:"👁 "; }
.ab-meta-len::before  { content:"⏱ "; }


/* ensure .ab-card-meta-row matches .ab-meta style for related injections */
.ab-card-meta-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.5rem;
  margin:.40rem .5rem 0 .5rem;
  font-size:.82rem;
  opacity:.9;
}
.ab-card-meta-row > span{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  padding:.18rem .50rem;
  border-radius:.55rem;
  line-height:1.2;
  white-space:nowrap;
}
.ab-card-meta-row .ab-chip-left::before {content:"👁 ";}
.ab-card-meta-row .ab-chip-right::before{content:"⏱ ";}


/* === ASSBOOK-GPT: match related videos badge style to main grid === */
.related-videos .ab-badge,
.related-videos .ab-badge a,
.related-videos .ab-badge span {
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff !important;
    font-size: 12px;
    border-radius: 8px;
    padding: 2px 6px;
    display: inline-block;
    text-decoration: none !important;
}
.related-videos .ab-badge a:hover,
.related-videos .ab-badge a:focus {
    color: #fff !important;
    text-decoration: none !important;
}
/* === /ASSBOOK-GPT === */



/* === ASSBOOK-GPT: FORCE WHITE BADGES (related + all cards) === */
.related-videos .ab-card .ab-badge,
.related-videos .ab-card .ab-badge *,
.related-videos .ab-card .ab-badge a,
.related-videos .ab-card .ab-badge span,
.watch-related .ab-card .ab-badge,
.watch-related .ab-card .ab-badge *,
.watch-related .ab-card .ab-badge a,
.watch-related .ab-card .ab-badge span,
#related .ab-card .ab-badge,
#related .ab-card .ab-badge *,
#related .ab-card .ab-badge a,
#related .ab-card .ab-badge span,
.ab-related .ab-card .ab-badge,
.ab-related .ab-card .ab-badge *,
.ab-related .ab-card .ab-badge a,
.ab-related .ab-card .ab-badge span {
  color:#fff !important;
  fill:#fff !important;
  text-decoration:none !important;
}
.related-videos .ab-card .ab-badge a:hover,
.related-videos .ab-card .ab-badge a:focus,
.watch-related .ab-card .ab-badge a:hover,
.watch-related .ab-card .ab-badge a:focus,
#related .ab-card .ab-badge a:hover,
#related .ab-card .ab-badge a:focus,
.ab-related .ab-card .ab-badge a:hover,
.ab-related .ab-card .ab-badge a:focus {
  color:#fff !important;
  text-decoration:none !important;
}
/* === /ASSBOOK-GPT === */

