*{box-sizing:border-box}
body{
  margin:0;
  font-family:Georgia,serif;
  font-size:1.3rem;
  background:#f6f3ea;
  color:#2b2b2b;
  line-height:1.6
}

h1, h2, h3, h4, h5, h6 { color:#66807A; }
b, strong { color:#AD5D2D; }
a:link { color:#7A1F1F; font-weight:bold; }
a:visited { color:#7A1F1F; font-weight:bold; }
a:active { color:#7A1F1F; font-weight:bold; }
a:hover { color:#66807A; font-weight:bold; }

img{max-width:100%;display:block}

.hero{position:relative}
.hero img{width:100%}
.hero-title{
  position:absolute;
  bottom:10px;
  left:30px;
  color:#fff;
  text-shadow:2px 2px 6px rgba(0,0,0,.6)
}

.wrap{
  max-width:1200px;
  margin:auto;
  padding:20px
}

/* FEATURED SECTION FIX */
.featured{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:20px;
  margin-top:30px;
  align-items:start
}


.featured-main {
    align-items: flex-start;
}

.featured-main img {
    height: auto;
    max-height: 400px;     /* optional: pick a visually pleasing cap */
    object-fit: contain;
}

.featured-main{
  display:flex;
  gap:20px;
  background:#fff;
  padding:20px;
  border-radius:8px
}
.featured-text{flex:1}
.featured-side{
  background:#fff;
  padding:20px;
  border-radius:8px
}

.episodes{margin-top:40px}
.episode-row{display:flex;gap:20px;flex-wrap:wrap}
.episode-card{
  flex:1 1 calc(33% - 20px);
  background:#fff;
  padding:15px;
  border-radius:8px;
  text-align:center
}

* Existing Flex Container */
.bio {
    display: flex;
    gap: 20px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    margin-top: 40px;
    /* Optional: Align items to start if they are shorter than the text */
    align-items: flex-start;
}

/* Existing Flex Container */
.bio {
    display: flex;
    gap: 20px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    margin-top: 40px;
    /* Optional: Align items to start if they are shorter than the text */
    align-items: flex-start;
}

/* NEW: The wrapper constrains the width */
.bio-photo {
    /* Limit the wrapper's width (e.g., to 250px or 30% of the block) */
    min-width: 250px; 
    width:30%;
    padding:20px;
    /* This line is crucial for preventing the flex item from growing */
    flex-shrink: 0;
}

/* MODIFIED: The image scales within its wrapper */
.bio-photo img {
    /* Image takes 100% of its wrapper's width */
    width: 100%;
    /* This ensures the image doesn't get distorted and maintains its aspect ratio */
    height: auto; 
    /* Ensures the image respects the border-radius of the parent block */
    display: block;
}

.block{
  background:#fff;
  padding:20px;
  border-radius:8px;
  margin-top:40px
}

.contact input,.contact textarea{
  width:100%;
  padding:10px;
  margin-bottom:10px
}

button{
  background:#7a1f1f;
  color:#fff;
  border:none;
  padding:8px 14px;
  cursor:pointer;
    font-size:1.3rem;
  border-radius:4px;
  max-width:120px;

}


button:hover {
 opacity:70%;
}

footer{
  background:#8a6a3d;
  color:#fff;
  text-align:center;
  padding:20px;
  margin-top:60px
}

/* RESPONSIVE */
@media(max-width:900px){
  .featured{
    grid-template-columns:1fr
  }
  .featured-main{
    flex-direction:column
  }
  .episode-card{flex:1 1 100%}
  .bio{flex-direction:column}

@media (max-width: 349px) {
    /* Replace '.your-element' with the actual class or ID of the element you want to hide */
    .hide-phone {
        display: none !important; /* Hides the element entirely */
    }
    
}
}


.episode-card {
    display: flex;
    flex-direction: column;
}

.episode-card button {
    margin-top: auto;
}


.episode-card img {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
}



.episode-card {
  cursor: pointer;
}

.episode-card {
  transition: opacity 0.2s ease;
}

.episode-card:hover {
  opacity: 0.8;
  transform: translateY(-2px)
}

#featured-image {
 max-width:300px;
 width:100%;
}

/* Podcast Social Icons */
.social-icons {
  width: 90%;
  margin: 15px auto 10px auto;
  padding: 10px 0;
  background-color: #fff;
  
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;              /* Space between icons */
  flex-wrap: wrap;        /* Allows natural wrapping on tiny screens */
}

.social-icons img {
  width: 9.5vw;            /* Responsive to viewport width */
  max-width: 120px;
  min-width: 70px;
  height: auto;
  display: block;
}

/* Small screens — reduce gap */
@media (max-width: 500px) {
  .social-icons {
    gap: 9px;
  }
}

/* Styling for the Archive List Rows */
* Panel container for episodes */
#all-episodes-panel {
  padding:0 1% 0 1%;
  overflow: hidden;                  /* prevents overflow */
  max-height: 0;                     /* starts closed */
  transition: max-height 0.4s ease;  /* slide effect */
  background-color:#fff;
}

/* When panel is open */
#all-episodes-panel.open {
  max-height: 2000px;                /* large enough to fit all episodes */
}

/* Episodes container */
#all-episodes-list {
  padding:0 2% 0 2%;
  display: flex;
  flex-direction: column;
  gap: 1rem;                         /* spacing between episodes */
  max-height: 500px;                /* large enough to fit all episodes */
  overflow-y: scroll;
  background-color:#fdfdfd;
}

/* Individual episode block */
.all-episodes-list {
  border-bottom: 1px solid #ccc;
  padding: 1rem 0;
}

.all-episodes-list p {
}


.all-episodes-list p:last-child {
  max-width: 65ch;
}

.all-episodes-list h3 {
  margin-bottom: 0.25rem;
ine-height:110%;
}

.all-episodes-list {
  padding: 1rem 0;
 line-height:105%;
font-size:smaller;
}