/* =============================================================
   parish.css – parish‑pages specific styles (cleaned 2025‑07‑08)
   • removed CSS‑Modules `composes:` keywords
   • eliminated duplicate block
   • added overflow:hidden to .image-content so tall images don’t spill
   ============================================================= */

/* ========== General Layout ========== */
.section-wrapper{
  max-width:1000px;
  margin:0 auto;
  padding:60px 20px;
}

.content-row{
  display:flex;
  align-items:flex-start;
  gap:40px;
  flex-wrap:wrap;
  margin-bottom:40px;
}

.image-content{
  flex:1 1 300px;
  max-width:400px;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#F3D7C6;
  overflow:hidden; /* new: hide overflow and preserve rounded corners */
}

.text-content{
  flex:2 1 500px;
  padding:20px;
  font-size:1rem;
  color:#1B1B1B;
  line-height:1.7;
  background:#FBF7F3;
}

.text-content h3{
  color:#9A4B1D;
  font-size:1.5rem;
  margin-bottom:15px;
}
.text-content p{
  font-size:1.1rem;
  line-height:1.7;
  color:#666;
}

.priest-image{
  display:block;
  width:100%;
  height:auto;
  max-width:300px;
  border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}

/* ========== Parish Priest Section ========== */
.parish-priest-wrapper{padding:40px 0;}

/* ========== Celebrations ========== */
.celebrations-wrapper{ /* inherits .section-wrapper spacing */ }

.celebrations-title{
  text-align:center;
  color:#9A4B1D;
  font-size:2rem;
  margin-bottom:40px;
  font-weight:bold;
}

.celebrations-list{
  background:#fff;
  border-radius:8px;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  padding:30px;
  border-top:4px solid #9a4b1d;
  border-left:4px solid #9a4b1d;
}

.celebration-item{
    padding:15px 0;
    border-bottom:1px solid #eee;
}
.celebration-item:last-child{
    border-bottom:none;
}
.celebration-item h4{
  color:#9A4B1D;
  font-size:1.1rem;
  margin:0;
  line-height:1.5;
}

/* ========== Ministries ========== */
.ministries-wrapper{ max-width:600px; margin:0 auto; padding:20px 0;}

.ministries-title{
  text-align:center;
  color:#9A4B1D;
  font-size:2rem;
  margin-bottom:40px;
  font-weight:bold;
}

.ministries-list{
  background:#fff;
  border-radius:8px;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  padding:30px;
  border-top:4px solid #9a4b1d;
  border-left:4px solid #9a4b1d;
}

.ministry-item{
    padding:15px 0;
    border-bottom:1px solid #eee;
}
.ministry-item:last-child{
    border-bottom:none;
}
.ministry-item h4{
  color:#9A4B1D;
  font-size:1.2rem;
  margin:0;
}

/* ========== Area Limits ========== */
.area-limits-wrapper{ max-width:800px; margin:0 auto; padding:20px 0;}

.area-limits-title{
  text-align:center;
  color:#9A4B1D;
  font-size:2rem;
  margin-bottom:40px;
  font-weight:bold;
}

.limits-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:30px;
}

.limit-item{
  background:#fff;
  border-radius:8px;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  padding:30px;
  text-align:center;
  border-bottom:4px solid #9a4b1d;
}

.limit-item h4{
    color:#9A4B1D;
    font-size:1.4rem;
    margin-bottom:15px;
}
.limit-item p{
    color:#666;
    font-size:1.1rem;
    line-height:1.6;
    margin:0;}

/* ========== Table Styling ========== */
table{
  width:100%;
  border-collapse:collapse;
  margin-top:20px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  overflow:hidden;
  border-top:4px solid #9a4b1d;
}

table th,table td{
    padding:15px;
    text-align:left;
    border-bottom:1px solid #eee;
    color:#333;
}

table th{
    background:#F1D7C7;
    color:#4B2C20;
    font-weight:bold;
}

/* ========== Hero Section - amber gradient to match gallery ========== */
.hero{
    padding:1.5rem;
    background:linear-gradient(135deg, #b45309, #d97706);
    color:white;
    text-align:center;
    max-width:1000px;
    margin:1.5rem auto 1rem;
    border-radius:25px;
    box-shadow:0 15px 35px rgba(180, 83, 9, 0.3);
}
.hero h2{
    font-size:1.6rem;
    margin:.2rem 0;
    font-weight:600;
    color:white;
    text-shadow:0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Pull content closer to the hero banner (base.css adds 28px on top) */
.hero + .content-section{
    padding-top:0;
}

/* ========== Footer Bottom ========== */
.footer-bottom{
    width:100%;
    text-align:center;
}

/* ========== Animations ========== */
.animate-fade-in{
    animation:fadeIn 1s ease-in;
}
@keyframes fadeIn{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}

/* ========== Accessibility ========== */
a:focus,button:focus{
    outline:2px dashed #9a4b1d;
    outline-offset:3px;
}

/* ========== Responsive ========== */
@media(max-width:768px){
  .content-row{
    flex-direction:column;
    gap:20px;
}
  .image-content,.text-content{
    max-width:100%;
    text-align:center;
}
  .text-content{
    margin-top:20px;
    padding:0 10px;
}
  .hero{
    padding:1rem;
}
  .hero h2{
    font-size:1.3rem;
}
  .celebrations-title,.ministries-title,.area-limits-title{
    font-size:1.6rem;
}
  .celebrations-list,.ministries-list{
    padding:20px;
}
  .limits-grid{
    grid-template-columns:1fr;
    gap:20px;
}
  .limit-item{
    padding:20px;
}
  .text-content p,.limit-item p,.celebration-item h4,
  .ministry-item h4{
    font-size:1rem;
}
  .limit-item h4{
    font-size:1.2rem;
}
}
