/* Core */

.pbs-wrap{--pbs-cols-desktop:3;--pbs-cols-tablet:2;--pbs-cols-mobile:1;}

.pbs-section{margin:40px 0;}

.pbs-section-title{font-family:"Marcellus SC","Marcellus",serif;font-weight:700;font-size:28px;margin:0 0 16px;color:#333;letter-spacing:.5px}

.pbs-grid{display:grid;grid-template-columns:repeat(var(--pbs-cols-desktop),1fr);gap:22px}

@media(max-width:1024px){.pbs-grid{grid-template-columns:repeat(var(--pbs-cols-tablet),1fr)}}

@media(max-width:640px){.pbs-grid{grid-template-columns:repeat(var(--pbs-cols-mobile),1fr)}}

/* === Book Card Shadow (outer card) === */

.pbs-card {

  background: #fff;

  border: 1px solid #e6e9f0;

  border-radius: 12px;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  /* soft blue shadow */

  box-shadow: 0 6px 18px rgba(64, 95, 179, 0.18);

  transition: transform 0.25s ease, box-shadow 0.25s ease;

}



.pbs-card:hover {

  transform: translateY(-3px);

  /* slightly stronger blue on hover */

  box-shadow: 0 10px 24px rgba(64, 95, 179, 0.28);

}



/* === Placeholder for missing book covers === */

.pbs-placeholder {

  width: 100%;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

  /* subtle blue striped background */

  background: repeating-linear-gradient(

    45deg,

    #e8f0ff,

    #e8f0ff 10px,

    #dbe6fa 10px,

    #dbe6fa 20px

  );

  color: #4a6fd0; /* blueish text */

  font-weight: 600;

  font-family: 'Marcellus SC', serif;

  letter-spacing: 0.3px;

}



/* === Glossy reflection tint (for templates 9 & 10) === */

.pbs-card.template-10 .pbs-card-media::after,

.pbs-card.template-9  .pbs-card-media::after {

  background: linear-gradient(

    115deg,

    rgba(100, 140, 230, 0.25) 0%,

    rgba(255, 255, 255, 0) 45%

  );

}



.pbs-card-media{position:relative;aspect-ratio:2/3;background:#f7f7f7}

.pbs-card-media img{width:100%;height:100%;object-fit:contain;display:block}.pbs-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#e8f0ff,#e8f0ff 10px,#dbe6fa 10px,#dbe6fa 20px);color:#aaa;font-weight:600}

.pbs-card-body{padding:14px;display:flex;flex-direction:column;gap:12px}

.pbs-card-title{font-size:25px;margin:0;color:#222;font-weight:900;font-family:'Marcellus SC';}
.pbs-card-subtitle{font-size:20px;margin:4px 0 8px;color:#000000;font-style:italic;font-weight:400;line-height:1em;padding:0px;font-family:'Marcellus SC';}

.pbs-card-actions{display:flex;gap:8px;flex-wrap:nowrap}

.pbs-card-actions .pbs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.04em;
  line-height:1;
  min-height:2.75em;
  padding:10px 10px;
  white-space:nowrap;
  flex-shrink:1;
  min-width:0;
}

.pbs-btn{display:inline-block;padding:5px 10px;border-radius:8px;font-weight:700;border:1px solid #a38100;color:#a38100;text-decoration:none;transition:all .2s}

.pbs-btn:hover{background:#a38100;color:#fff;border-color:#a38100}

.pbs-btn-solid{background:#a38100;color:#fff;border-color:#a38100}

.pbs-btn-solid:hover{filter:brightness(.95)}

.pbs-btn-listen{border-color:#1d6ae5;color:#1d6ae5;background:transparent}

.pbs-btn-listen:hover{background:#1d6ae5;color:#fff;border-color:#1d6ae5}
.pbs-btn-related{border-color:#a38100;color:#a38100;background:transparent;cursor:pointer;text-decoration:none;line-height:1em !important;}
.pbs-btn-related:hover{background:#a38100;color:#fff;border-color:#a38100}
.pbs-related-box{margin-top:12px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e2e8f0;transition:all 0.3s ease}
.pbs-related-list{margin:0;padding:0;list-style:none}
.pbs-related-list li{margin:6px 0;list-style:none}
.pbs-related-list li::before{content:none}
.pbs-related-link{color:#4a5568;text-decoration:none;font-size:14px;font-weight:700;transition:color 0.2s;display:block}
.pbs-related-link:hover{color:#8b5cf6;text-decoration:underline}



#pbs-listen-auto-import{

  margin-top:30px;

  background:#fff;

  border:1px solid #e2e8f0;

  padding:20px;

  border-radius:10px;

  box-shadow:0 4px 12px rgba(15,23,42,0.08);

}

#pbs-listen-auto-import h2{

  margin-top:0;

}

#pbs-listen-progress{

  margin:16px 0;

  font-weight:600;

}

#pbs-listen-message.notice{

  margin-top:10px;

  padding:10px 12px;

  border-radius:6px;

}

#pbs-listen-results select{

  width:100%;

  max-width:100%;

}

.pbs-listen-status{

  display:inline-block;

  padding:4px 10px;

  border-radius:999px;

  font-weight:600;

  font-size:13px;

}

.pbs-listen-status-auto{color:#1f9d55;background:rgba(31,157,85,0.12);}

.pbs-listen-status-manual{color:#d97706;background:rgba(217,119,6,0.12);}

.pbs-listen-status-none{color:#c0392b;background:rgba(192,57,43,0.12);}

.pbs-listen-status-skipped{color:#64748b;background:rgba(100,116,139,0.12);}



.pbs-carousel-manager{

  display:flex;

  flex-wrap:wrap;

  gap:24px;

  margin:16px 0;

}

.pbs-carousel-column{

  flex:1 1 320px;

  min-width:280px;

  background:#fff;

  border:1px solid #e2e8f0;

  border-radius:10px;

  padding:16px;

  box-shadow:0 4px 12px rgba(15,23,42,0.05);

  max-height:520px;

  display:flex;

  flex-direction:column;

}

.pbs-carousel-list{

  list-style:none;

  margin:0;

  padding:0;

  display:flex;

  flex-direction:column;

  gap:12px;

  overflow:auto;

  flex:1;

}

.pbs-carousel-manager-item{

  display:flex;

  align-items:center;

  gap:12px;

  padding:10px;

  border:1px solid #e2e8f0;

  border-radius:8px;

  background:#f8fafc;

  transition:background .2s, box-shadow .2s;

}

.pbs-carousel-manager-item.is-added .pbs-carousel-add{

  opacity:0.6;

}

.pbs-carousel-manager-item.is-empty{

  justify-content:center;

  font-style:italic;

}

.pbs-carousel-card{

  display:flex;

  align-items:center;

  gap:12px;

  flex:1;

}

.pbs-carousel-thumb{

  width:56px;

  height:84px;

  flex:0 0 auto;

}

.pbs-carousel-thumb img{

  width:56px;

  height:84px;

  object-fit:cover;

  border-radius:6px;

  box-shadow:0 0 0 1px rgba(15,23,42,0.08);

  display:block;

}

.pbs-carousel-thumb-fallback{

  display:inline-flex;

  width:56px;

  height:84px;

  align-items:center;

  justify-content:center;

  border-radius:6px;

  background:#e2e8f0;

  color:#475569;

  font-weight:600;

  text-transform:uppercase;

  font-size:11px;

}

.pbs-carousel-info{

  flex:1;

}

.pbs-carousel-name{

  display:block;

  font-weight:600;

  color:#1e293b;

}

.pbs-carousel-meta{

  display:block;

  font-size:12px;

  color:#64748b;

  margin-top:2px;

}

.pbs-carousel-handle{

  cursor:grab;

  color:#475569;

  font-size:18px;

}

.pbs-carousel-manager-item .button-link{

  margin-left:auto;

}

.pbs-carousel-search{

  width:100%;

  margin:0 0 12px;

  padding:6px 12px;

  border:1px solid #cbd5f5;

  border-radius:6px;

  font-size:14px;

}

.pbs-carousel-sort-placeholder{

  height:80px;

  border:2px dashed #3b82f6;

  border-radius:8px;

  background:rgba(59,130,246,0.08);

}



.pbs-section-order-wrap{

  display:flex;

  flex-direction:column;

  gap:24px;

  margin:24px 0;

}

.pbs-section-order-wrap .pbs-carousel-manager{

  margin-bottom:0;

}



.pbs-language-block{

  position:relative;

}

.pbs-language-sections{

  display:flex;

  flex-direction:column;

  gap:40px;

}

.pbs-language-selector{

  position:fixed;

  left:24px;

  top:50%;

  transform:translateY(-50%);

  display:none;

  flex-direction:column;

  align-items:flex-start;

  gap:10px;

  z-index:9999;

}

.pbs-language-selector.is-visible{

  display:flex;

}

.pbs-language-toggle{

  background:#1d4ed8;

  color:#fff;

  border: solid 1px white;

  border-radius: 15px;

  padding:10px 20px;

  font-weight:700;

  box-shadow:0 10px 25px rgba(29,78,216,0.25);

  cursor:pointer;

  transition:transform .2s, box-shadow .2s;

}

.pbs-language-toggle:hover{

  transform:translateY(-2px);

  opacity:0.9;

}

.pbs-language-toggle[style*="background"]:hover{

  box-shadow:0 12px 28px rgba(0,0,0,0.3) !important;

}

.pbs-language-menu{

  background:#fff;

  border-radius:12px;

  box-shadow:0 18px 40px rgba(15,23,42,0.25);

  padding:12px 16px;

  min-width:220px;

  display:none;

}

.pbs-language-selector.is-open .pbs-language-menu{

  display:block;

}

.pbs-language-menu ul{

  margin:0;

  padding:0;

  list-style:none;

}

.pbs-language-menu li{

  margin:6px 0;

}

.pbs-language-menu a{

  font-family: Marcellus SC;
  font-size: 20px;
  color: #333333;

  font-weight:600;

  text-decoration:none;

}

.pbs-language-menu a:hover{

  color:#1d4ed8;

}



@media(max-width:768px){

  .pbs-language-selector{

    left:16px;

    right:auto;

    top:auto;

    bottom:24px;

    transform:none;

  }

}





/* Corner ribbons */

.pbs-badges.corner-ribbon .pbs-ribbon{position:absolute;top:14px;width:130px;height:28px;line-height:28px;color:#fff;font-weight:800;text-align:center;font-size:12px;letter-spacing:.6px;box-shadow:0 2px 4px rgba(0,0,0,.25);z-index:3}

.pbs-badges.corner-ribbon .pbs-ribbon.tl{left:-30px;transform:rotate(-45deg)}

.pbs-badges.corner-ribbon .pbs-ribbon.tr{right:-30px;transform:rotate(45deg)}

.pbs-badge-featured{background:#6a0dad}.pbs-badge-new{background:#1f9d55}.pbs-badge-hot{background:#b91c1c}

.pbs-badges.corner-ribbon .pbs-tag.extra{position:absolute;top:8px;left:8px;background:#444;color:#fff;padding:4px 8px;border-radius:6px;z-index:4}



/* Split corners */

.pbs-badges.split .pbs-badge{position:absolute;top:10px;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:800;letter-spacing:.6px;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);z-index:3}

.pbs-badges.split .pbs-badge.tl{left:10px}.pbs-badges.split .pbs-badge.tr{right:10px}.pbs-badges.split .pbs-badge.tc{left:50%;transform:translateX(-50%)}



/* Flat labels */

.pbs-badges.flat{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:6px;flex-wrap:wrap;z-index:3}

.pbs-tag{font-size:12px;font-weight:800;padding:4px 8px;border-radius:6px;color:#fff}

.pbs-tag-featured{background:#6a0dad}.pbs-tag-new{background:#1f9d55}.pbs-tag-hot{background:#b91c1c}



/* 3D mockup option */

.pbs-card-media.mockup-3d{perspective:800px;padding:18px;background:transparent}

.pbs-card-media.mockup-3d img{border-radius:4px;transform:rotateY(-18deg);box-shadow:12px 12px 24px rgba(0,0,0,.15),0 0 0 2px rgba(0,0,0,.06);background:#fff}

.pbs-card-media.mockup-3d::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 70%,rgba(255,255,255,.25));pointer-events:none}

/* Keep glossy/zoomed image inside the media frame */

.pbs-card-media{

  overflow: hidden;           /* <-- key: clip the zoomed image */

  position: relative;         /* establish stacking context */

  contain: paint;             /* micro perf win, optional */

}



/* Ensure the text area sits above, just in case */

.pbs-card-body{

  position: relative;

  z-index: 2;

}



/* Media stays underneath the body */

.pbs-card-media{

  z-index: 1;

}



/* Make sure zoom originates from center */

.pbs-card.template-10 .pbs-card-media img,

.pbs-card.template-9  .pbs-card-media img {

  transform-origin: center center;

  display: block;

}



/* Glossy reflection tint (blue version) */

.pbs-card.template-10 .pbs-card-media::after,

.pbs-card.template-9  .pbs-card-media::after {

  background: linear-gradient(

    115deg,

    rgba(100, 140, 230, 0.25) 0%,

    rgba(255, 255, 255, 0) 45%

  );

}









/* Templates 1–8 basics */

.pbs-card.template-2{border-radius:8px;box-shadow:none;border:1px solid #ddd}

.pbs-card.template-3{box-shadow:0 12px 28px rgba(0,0,0,.12)}

.pbs-card.template-4 .pbs-card-media{background:#fff;border:1px solid #eee}

.pbs-card.template-5 .pbs-card-media{background:transparent}.pbs-card.template-5 .pbs-card-body{border-top:1px dashed #eee}

.pbs-card.template-6{border-radius:8px}.pbs-card.template-6 .pbs-card-title{font-size:16px}

.pbs-card.template-7 .pbs-card-title{font-size:20px}

.pbs-card.template-8{border:none;box-shadow:none}.pbs-card.template-8 .pbs-card-media{border-radius:10px;overflow:hidden}



/* Glossy tilt templates */

.pbs-card.template-9 .pbs-card-media img,.pbs-card.template-10 .pbs-card-media img{transition:transform .2s,box-shadow .2s;will-change:transform;box-shadow:0 10px 20px rgba(0,0,0,.2);background:#fff}

.pbs-card.template-9 .pbs-card-media::after,.pbs-card.template-10 .pbs-card-media::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,0) 45%)}

.pbs-card.template-10 .pbs-card-media img{border-radius:8px}

.pbs-card.template-10{border-radius:14px;overflow:hidden}

/* Section Navigation Menu (no background, black text) */

.pbs-section-navigation-wrapper,
.pbs-wrap .pbs-section-navigation-wrapper{
  background: transparent !important;
  background-color: transparent !important;
}

.pbs-section-navigation,
.pbs-wrap .pbs-section-navigation{
  text-align:center;
  margin:40px 0;
  padding:20px 15px;
  background: transparent !important;
  background-color: transparent !important;
}

.pbs-section-navigation .pbs-nav-sections,
.pbs-section-navigation .pbs-nav-languages{
  margin:10px 0;
  line-height:1.8;
  text-align: center;
}

.pbs-section-navigation .pbs-nav-link{
  font-family: Marcellus SC;
  font-size: 20px;
  color: #000000 !important;
  text-decoration:none;
  font-weight: 700;
  transition:color 0.2s ease;
  padding:0 8px;
}

.pbs-section-navigation .pbs-nav-link:hover{
  color:#1a1a1a !important;
  text-decoration:underline;
}

.pbs-section-navigation .pbs-nav-separator{
  color: #000000 !important;
  margin:0 4px;
  font-weight:300;
  opacity: 0.6;
}

@media(max-width:640px){
  .pbs-section-navigation-wrapper,
  .pbs-wrap .pbs-section-navigation-wrapper{
    background: transparent !important;
    background-color: transparent !important;
  }
  .pbs-section-navigation,
  .pbs-wrap .pbs-section-navigation{
    background: transparent !important;
    background-color: transparent !important;
  }
  .pbs-section-navigation .pbs-nav-link{
    font-size: 20px;
    padding:0 4px;
    color: #000000 !important;
  }
  .pbs-section-navigation .pbs-nav-separator{
    margin:0 2px;
    color: #000000 !important;
  }
}

/* ========== Premium Search Section (centered, light, gold) ========== */
.pbs-search-section {
  margin: 0;
  padding: 48px 24px 32px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  background: transparent;
  visibility: visible;
}
.pbs-search-section-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pbs-search-frame {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  background: #fafaf9;
  border: 1px solid rgba(180, 145, 70, 0.28);
  border-radius: 16px;
  padding: 6px 8px 6px 22px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.pbs-search-frame:focus-within {
  border-color: rgba(180, 145, 70, 0.6);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12);
}
.pbs-search-icon {
  width: 26px;
  height: 26px;
  margin-right: 14px;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b49146' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0.92;
}
.pbs-search-input {
  flex: 1;
  min-width: 0;
  height: 50px;
  padding: 0 14px 0 0;
  font-size: 18px;
  font-family: "Marcellus", "Georgia", serif;
  color: #1a1a1a;
  background: transparent;
  border: none;
  outline: none;
}
.pbs-search-input::placeholder {
  color: rgba(120, 95, 50, 0.6);
}
.pbs-search-border {
  display: none;
}
/* Results stay within content area (no overflow/clipping) */
.pbs-search-results {
  width: 100%;
  margin-top: 32px;
  padding: 0;
  min-height: 0;
  transition: opacity 0.25s ease;
  box-sizing: border-box;
}
.pbs-search-results.is-loading {
  opacity: 0.7;
}
.pbs-search-results.is-loading::after {
  content: '';
  display: block;
  width: 36px;
  height: 36px;
  margin: 24px auto 0;
  border: 2px solid rgba(180, 145, 70, 0.25);
  border-top-color: #b49146;
  border-radius: 50%;
  animation: pbs-search-spin 0.7s linear infinite;
}
@keyframes pbs-search-spin {
  to { transform: rotate(360deg); }
}
.pbs-search-results.has-empty:not(.is-loading)::before {
  content: 'No books match your search.';
  display: block;
  text-align: center;
  font-family: "Marcellus", serif;
  font-size: 17px;
  color: rgba(120, 95, 50, 0.75);
  padding: 16px 0 0;
}
/* Same 3/2/1 layout as main showcase (uses .pbs-wrap vars) */
.pbs-search-results-grid {
  margin-top: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--pbs-cols-desktop, 3), 1fr);
  gap: 22px;
}
@media (max-width: 1024px) {
  .pbs-search-results-grid {
    grid-template-columns: repeat(var(--pbs-cols-tablet, 2), 1fr);
  }
}
@media (max-width: 640px) {
  .pbs-search-results-grid {
    grid-template-columns: repeat(var(--pbs-cols-mobile, 1), 1fr);
  }
}
.pbs-search-section .pbs-search-results-grid .pbs-card {
  border-color: rgba(180, 145, 70, 0.2);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.pbs-search-section .pbs-search-results-grid .pbs-card .pbs-card-body {
  padding-right: 32px;
}
.pbs-search-section .pbs-search-results-grid .pbs-card .pbs-card-actions {
  padding-right: 12px;
}
.pbs-search-section .pbs-card-actions .pbs-btn:last-child {
  margin-right: 8px;
}
.pbs-search-section .pbs-search-results-grid .pbs-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
/* Keep Read, Download, Listen, Related on one line in search results (all viewports) */
.pbs-search-section .pbs-card-actions {
  flex-wrap: nowrap;
  gap: 4px;
}
.pbs-search-section .pbs-card-actions .pbs-btn {
  padding: 8px 8px;
  font-size: 12px;
  min-height: 2.5em;
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
}
@media (max-width: 640px) {
  .pbs-search-section,
  .pbs-wrap .pbs-search-section {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 36px 0 28px;
    min-height: 120px;
  }
  .pbs-search-section-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100%;
    padding: 0 16px;
  }
  .pbs-search-results {
    margin-left: -24px;
    margin-right: -24px;
    width: calc(100% + 48px);
    padding: 0 12px;
    box-sizing: border-box;
  }
  .pbs-search-frame {
    padding-left: 16px;
    width: 100%;
  }
  .pbs-search-input {
    height: 48px;
    font-size: 16px;
  }
  .pbs-search-section .pbs-search-results-grid .pbs-card .pbs-card-body {
    padding-right: 16px;
  }
  .pbs-search-section .pbs-search-results-grid .pbs-card .pbs-card-actions {
    padding-right: 8px;
  }
  .pbs-search-section .pbs-card-actions {
    gap: 4px;
    flex-wrap: nowrap;
  }
  .pbs-search-section .pbs-btn {
    padding: 6px 6px;
    font-size: 11px;
    flex-shrink: 1;
    min-width: 0;
  }
}

.pbs-search-results-stack {
  width: 100%;
}
.pbs-search-load-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 28px;
  width: 100%;
}
.pbs-search-load-more-wrap .pbs-search-load-more {
  min-width: 160px;
}
.pbs-search-load-more:disabled {
  opacity: 0.65;
  cursor: wait;
}
.pbs-search-section-divider {
  width: 100%;
  max-width: min(960px, 100%);
  height: 1px;
  margin: 32px auto 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(180, 145, 70, 0.35) 15%,
    rgba(180, 145, 70, 0.35) 85%,
    transparent
  );
  border: none;
  flex-shrink: 0;
}

/* -------------------------------------------------------------------------
   Sonaar — “Audiobooks You May Like” recommendations (injected after player)
   ------------------------------------------------------------------------- */
.pbs-audiobook-rec {
  width: 100%;
  max-width: 100%;
  margin: 28px auto 8px;
  padding: 0 4px;
  box-sizing: border-box;
  clear: both;
}
.pbs-audiobook-rec__title {
  margin: 0 0 28px;
  font-size: var(--pbs-ar-title-size, 22px);
  line-height: 1.2;
  font-weight: var(--pbs-ar-title-weight, 400);
  letter-spacing: 0.12em;
  text-transform: var(--pbs-ar-title-transform, uppercase);
  color: var(--pbs-ar-title-color, var(--pbs-ar-accent, #b59705));
  font-variant: var(--pbs-ar-title-variant, normal);
}
.pbs-audiobook-rec__row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}
.pbs-audiobook-rec__item {
  flex: 1 1 0;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.pbs-audiobook-rec__item:hover {
  opacity: 0.92;
}
.pbs-audiobook-rec__label {
  display: block;
  margin-top: 16px;
  font-size: var(--pbs-ar-book-size, 15px);
  line-height: 1.25;
  font-weight: var(--pbs-ar-book-weight, 400);
  letter-spacing: 0.06em;
  text-transform: var(--pbs-ar-book-transform, uppercase);
  font-variant: var(--pbs-ar-book-variant, normal);
  color: var(--pbs-ar-book-color, var(--pbs-ar-accent, #b59705));
  word-break: break-word;
}

/* Thumb style 1: narrower spacing above title */
.pbs-audiobook-rec--thumb-1 .pbs-audiobook-rec__label {
  margin-top: 14px;
}
.pbs-audiobook-rec--has-thumb .pbs-audiobook-rec__label {
  color: var(--pbs-ar-book-color, rgba(55, 48, 35, 0.92));
}
.pbs-audiobook-rec__media {
  display: block;
  width: 100%;
  max-width: 160px;
  margin: 0 auto;
}
.pbs-audiobook-rec__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}
.pbs-audiobook-rec__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 2/3;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(181, 151, 5, 0.12), rgba(181, 151, 5, 0.04));
}

@media (max-width: 640px) {
  .pbs-audiobook-rec__row {
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding-bottom: 6px;
  }
  .pbs-audiobook-rec__item {
    flex: 0 0 calc(33.333% - 8px);
    min-width: 120px;
    scroll-snap-align: start;
  }
  .pbs-audiobook-rec__title {
    font-size: calc(var(--pbs-ar-title-size, 22px) * 0.9);
  }
  .pbs-audiobook-rec__label {
    font-size: calc(var(--pbs-ar-book-size, 15px) * 0.92);
  }
}

/* --- Thumbnail styles --- */
.pbs-audiobook-rec--thumb-1 .pbs-audiobook-rec__media img,
.pbs-audiobook-rec--thumb-1 .pbs-audiobook-rec__placeholder {
  border: 3px solid color-mix(in srgb, var(--pbs-ar-accent, #b59705) 35%, #fff);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}
.pbs-audiobook-rec--thumb-2 .pbs-audiobook-rec__media {
  max-width: 132px;
}
.pbs-audiobook-rec--thumb-2 .pbs-audiobook-rec__media img,
.pbs-audiobook-rec--thumb-2 .pbs-audiobook-rec__placeholder {
  border-radius: 50%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border: 4px solid color-mix(in srgb, var(--pbs-ar-accent, #b59705) 45%, transparent);
  box-shadow: 0 6px 22px rgba(181, 151, 5, 0.22);
}
.pbs-audiobook-rec--thumb-3 .pbs-audiobook-rec__item {
  background: #fff;
  border-radius: 16px;
  padding: 14px 12px 16px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(181, 151, 5, 0.15);
}
.pbs-audiobook-rec--thumb-3 .pbs-audiobook-rec__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.1);
}
.pbs-audiobook-rec--thumb-3 .pbs-audiobook-rec__media img {
  border-radius: 12px;
}
.pbs-audiobook-rec--thumb-4 .pbs-audiobook-rec__media {
  padding: 4px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--pbs-ar-accent, #b59705), color-mix(in srgb, var(--pbs-ar-accent, #b59705) 40%, #fff));
}
.pbs-audiobook-rec--thumb-4 .pbs-audiobook-rec__media img,
.pbs-audiobook-rec--thumb-4 .pbs-audiobook-rec__placeholder {
  border-radius: 10px;
}
.pbs-audiobook-rec--thumb-5 .pbs-audiobook-rec__media {
  max-width: 100%;
}
.pbs-audiobook-rec--thumb-5 .pbs-audiobook-rec__media img,
.pbs-audiobook-rec--thumb-5 .pbs-audiobook-rec__placeholder {
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}

/* --- Text-only styles --- */
.pbs-audiobook-rec:not(.pbs-audiobook-rec--has-thumb) .pbs-audiobook-rec__item {
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.pbs-audiobook-rec:not(.pbs-audiobook-rec--has-thumb) .pbs-audiobook-rec__label {
  margin-top: 0;
}

.pbs-audiobook-rec--text-1 .pbs-audiobook-rec__label {
  width: 100%;
  padding: 14px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fdfbf6 0%, #f4efe4 100%);
  box-shadow: 0 2px 0 rgba(255, 255, 255, 0.9) inset, 0 6px 20px rgba(181, 151, 5, 0.12);
  border: 1px solid color-mix(in srgb, var(--pbs-ar-accent, #b59705) 18%, #e8e0d0);
  color: var(--pbs-ar-accent, #b59705);
}
.pbs-audiobook-rec--text-1 .pbs-audiobook-rec__item:hover .pbs-audiobook-rec__label {
  filter: brightness(1.03);
}

.pbs-audiobook-rec--text-2 .pbs-audiobook-rec__label {
  padding: 8px 4px 6px;
  border-bottom: 2px solid color-mix(in srgb, var(--pbs-ar-accent, #b59705) 55%, transparent);
  border-radius: 0;
  text-transform: inherit;
  font-variant: inherit;
  font-style: italic;
  letter-spacing: 0.02em;
}
.pbs-audiobook-rec--text-2 .pbs-audiobook-rec__item:hover .pbs-audiobook-rec__label {
  border-bottom-color: var(--pbs-ar-accent, #b59705);
}

.pbs-audiobook-rec--text-3 .pbs-audiobook-rec__label {
  padding: 12px 14px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}
.pbs-audiobook-rec--text-3 .pbs-audiobook-rec__title {
  text-transform: inherit;
  font-variant: inherit;
  letter-spacing: 0.05em;
}

.pbs-audiobook-rec--text-4 .pbs-audiobook-rec__label {
  padding: 12px 16px;
  border-radius: 4px;
  border: 2px solid var(--pbs-ar-accent, #b59705);
  background: transparent;
  letter-spacing: 0.14em;
}
.pbs-audiobook-rec--text-4 .pbs-audiobook-rec__item:hover .pbs-audiobook-rec__label {
  background: color-mix(in srgb, var(--pbs-ar-accent, #b59705) 8%, transparent);
}

.pbs-audiobook-rec--text-5 .pbs-audiobook-rec__row {
  gap: 0;
  border: 1px solid color-mix(in srgb, var(--pbs-ar-accent, #b59705) 25%, #ddd);
  border-radius: 8px;
  overflow: hidden;
  background: #faf8f5;
}
.pbs-audiobook-rec--text-5 .pbs-audiobook-rec__item {
  position: relative;
  padding: 16px 12px;
}
.pbs-audiobook-rec--text-5 .pbs-audiobook-rec__item + .pbs-audiobook-rec__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: color-mix(in srgb, var(--pbs-ar-accent, #b59705) 35%, transparent);
}
.pbs-audiobook-rec--text-5 .pbs-audiobook-rec__label {
  font-size: calc(var(--pbs-ar-book-size, 15px) * 0.95);
  line-height: 1.3;
}

/* Fallbacks when color-mix() unsupported */
@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
  .pbs-audiobook-rec--thumb-1 .pbs-audiobook-rec__media img,
  .pbs-audiobook-rec--thumb-1 .pbs-audiobook-rec__placeholder {
    border: 3px solid rgba(181, 151, 5, 0.45);
  }
  .pbs-audiobook-rec--thumb-2 .pbs-audiobook-rec__media img,
  .pbs-audiobook-rec--thumb-2 .pbs-audiobook-rec__placeholder {
    border: 4px solid rgba(181, 151, 5, 0.5);
  }
}

/* Episode pages: extra bottom breathing room under recommendations */
.pbs-audiobook-rec--episode {
  padding-bottom: 20px;
}

