/* =========================================================
   SERMONPRESS – Cityline / Archive + Single + Taxonomies
   ========================================================= */

/* -------------------------
   1) ARCHIVE /SERMONS/
   ------------------------- */

/* Conteneur général */
.archive.sermons-library .content-container.container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* Layout desktop : on rétablit un flex, MAIS on autorise le wrap par défaut */
.archive.sermons-library .content-container.container > .row{
  display: flex !important;
  flex-wrap: wrap;              /* ✅ important : évite l’écrasement sur petits écrans */
  align-items: flex-start;
  gap: 2rem;
}

/* Sidebar : largeur fixe seulement en “vrai desktop” */
@media (min-width: 992px){
  .archive.sermons-library .content-container.container > .row{
    flex-wrap: nowrap;          /* ✅ OK en desktop */
  }

  .archive.sermons-library .content-container.container > .row > .col-sm-4.col-lg-3{
    flex: 0 0 320px;
    max-width: 320px;
  }

  .archive.sermons-library .content-container.container > .row > .col-sm-8.col-lg-9.main-left-sermon-list{
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
  }
}

/* Sidebar filtres */
.archive.sermons-library .sidebar-filter{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);     /* ✅ correction des rgba */
  border-radius: 14px;
  padding: 1rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

/* Champ recherche */
.archive.sermons-library .sermon-search-holder input[type="text"]{
  width: 100%;
  box-sizing: border-box;
  padding: .75rem .9rem;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.15);
}
.archive.sermons-library .sermon-search-holder button{
  border-radius: 10px;
}

/* Liste */
.archive.sermons-library .sermon-listings{ display:block; }

/* Item */
.archive.sermons-library .sermon-item-row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid #eee;
}

/* Bloc interne (miniature + texte) */
.archive.sermons-library .sermon-flex-wrapper{
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  flex: 1 1 auto;
}

/* Miniature */
.archive.sermons-library .sermon-list-thumbnail{
  flex: 0 0 80px;
  width: 80px;
}
.archive.sermons-library .sermon-list-thumbnail img{
  display:block;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover;
  border-radius: 8px;
}

/* Texte */
.archive.sermons-library .sermon-info{ min-width:0; }
.archive.sermons-library .sermon-title-link a{
  font-weight: 700;
  color: #2c3e50;
  text-decoration: none;
}
.archive.sermons-library .sermon-meta{
  font-size: .85rem;
  color: #666;
}

/* Actions */
.archive.sermons-library .sermon-actions{
  flex: 0 0 auto;
  display:flex;
  align-items:center;
}
.archive.sermons-library .audio-link{
  font-size: 1.8em;
  opacity: .7;
}
.archive.sermons-library .audio-link:hover{ opacity: 1; }

/* ✅ MOBILE : 1 colonne, plus d’écrasement */
@media (max-width: 768px){

  .archive.sermons-library .content-container.container > .row{
    display: block !important;
  }

  .archive.sermons-library .content-container.container > .row > .col-sm-4.col-lg-3,
  .archive.sermons-library .content-container.container > .row > .col-sm-8.col-lg-9.main-left-sermon-list{
    width: 100% !important;
    max-width: 100% !important;
  }

  .archive.sermons-library .sidebar-filter{
    margin-bottom: 1rem;
  }

  .archive.sermons-library .sermon-item-row{
    align-items: flex-start;
    gap: 12px;
  }

  .archive.sermons-library .sermon-list-thumbnail{
    flex: 0 0 64px;
    width: 64px;
  }
  .archive.sermons-library .sermon-list-thumbnail img{
    width: 64px !important;
    height: 64px !important;
  }

  .archive.sermons-library .audio-link{
    font-size: 1.6em;
  }
}

/* -------------------------
   2) TAXONOMIES
   ------------------------- */

.archive.sermons-library .books-grid,
.archive.sermons-library .sermon-taxonomy-list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px,1fr));
  gap: 12px;
}

.archive.sermons-library .book-item a{
  display:block;
  padding:10px;
  background:#f8f9fa;
  border:1px solid #e9ecef;
  border-radius:6px;
  text-decoration:none;
}

/* -------------------------
   3) SINGLE SERMON
   ------------------------- */

/* Conteneur */
body.single-sermon .sermon-modern-layout .sermon-container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* En-tête */
body.single-sermon .sermon-modern-header{
  text-align:center;
  padding:40px 0;
}
body.single-sermon .sermon-modern-header h1{
  font-size:2.6rem;
  font-weight:800;
}

/* Layout desktop : contenu + sidebar (évite les colonnes qui s'étirent) */
body.single-sermon .sermon-main-grid{
  display:grid !important;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap:30px;
  align-items: start;
}

/* Sécurité overflow (Presto / contenus longs) */
body.single-sermon .sermon-primary{ min-width:0; }
body.single-sermon .sermon-secondary{
  background: transparent !important;
  padding: 0 !important;
  min-width:0;
}

/* Player */
body.single-sermon .sermon-player-box{
  border-radius:12px;
  overflow:hidden;
}
body.single-sermon .sermon-player-box iframe,
body.single-sermon .sermon-player-box video{
  max-width:100%;
}

/* Carte info : on garde le sticky, mais sans “grand bloc” qui remplit l’écran */
body.single-sermon .sermon-info-card{
  position: sticky;
  top: 100px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow: hidden; /* important pour l'image */
}

/* ✅ Fix principal desktop : l'image de sidebar ne doit pas imposer une hauteur énorme */
body.single-sermon .sermon-sidebar-image{
  aspect-ratio: 16 / 9;
  max-height: 240px;
  overflow: hidden;
}
body.single-sermon .sermon-sidebar-image img{
  width: 100% !important;
  height: 100% !important;
  max-height: 240px !important;
  object-fit: cover;
  display: block;
}

/* Mobile single */
@media (max-width: 768px){
  body.single-sermon .sermon-main-grid{ display:block !important; }
  body.single-sermon .sermon-info-card{ position:static; top:auto; }
  body.single-sermon .sermon-sidebar-image,
  body.single-sermon .sermon-sidebar-image img{
    max-height: none !important;
  }
}


/* Mobile single */
@media (max-width: 768px){
  body.single-sermon .sermon-main-grid{ display:block; }
  body.single-sermon .sermon-info-card{ position:static; top:auto; }
}
/* SermonPress archive: masquer le bloc recherche + son titre, garder uniquement "Trier par" */
.archive.sermons-library .sidebar-filter > h4:first-of-type {
  display: none !important; /* "Rechercher une prédication" */
}

.archive.sermons-library .sidebar-filter > .sermon-search-holder {
  display: none !important; /* le champ + bouton */
}

/* -------------------------
   MASQUER LE BOUTON DE TÉLÉCHARGEMENT MP3 (desktop + mobile)
   ------------------------- */

/* Masquer sur les pages single sermon */
body.single-sermon .sermon-download-button,
body.single-sermon a[href*=".mp3"],
body.single-sermon .download-link,
body.single-sermon .sermon-download,
body.single-sermon a[href*="download"],
body.single-sermon .sermon-info-card a[href$=".mp3"],
body.single-sermon .sermon-secondary a[href$=".mp3"],
body.single-sermon button[onclick*=".mp3"],
body.single-sermon a.btn[href*=".mp3"] {
  display: none !important;
}

/* Masquer sur les pages archive */
.archive.sermons-library .sermon-download-button,
.archive.sermons-library a[href*=".mp3"],
.archive.sermons-library .download-link,
.archive.sermons-library .sermon-download,
.archive.sermons-library button[onclick*=".mp3"],
.archive.sermons-library a.btn[href*=".mp3"] {
  display: none !important;
}
