.temple-head{
  position:relative; overflow:hidden; isolation:isolate;
  min-height:clamp(280px, 30vw, 360px);
  display:flex; align-items:flex-end;
  padding:40px 0;
}
.temple-head-bg{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover;
}
.temple-head::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(0deg, var(--wine-deep) 4%, rgb(0 31 56 / 0.75) 45%, rgb(0 31 56 / 0.25) 100%);
}
.temple-head.no-photo{
  background:linear-gradient(135deg, var(--wine-deep), var(--wine));
}
.temple-head.no-photo::before{ content:none; }
.temple-head-inner{ position:relative; z-index:1; max-width:600px; }
.temple-head .eyebrow{ color:var(--gold-soft); }
.temple-head h1{ font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin:12px 0 10px; color:#ffffff; }
.temple-head .address-line{
  display:flex; align-items:center; gap:8px;
  color:rgb(255 255 255 / 0.82); font-size:15.5px;
}
.temple-head .address-line i{ color:var(--gold-soft); font-size:18px; }

.temple-body{ padding:64px 0; }
.temple-grid-detail{
  display:grid; grid-template-columns:1fr 1.2fr; gap:32px; align-items:stretch;
}
.temple-info-card{
  border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:32px; display:flex; flex-direction:column; gap:24px;
}
.temple-info-row{ display:flex; gap:14px; }
.temple-info-row i{ font-size:22px; color:var(--wine); flex-shrink:0; margin-top:2px; }
[data-theme="dark"] .temple-info-row i{ color:var(--gold-soft); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .temple-info-row i{ color:var(--gold-soft); } }
.temple-info-row h4{ font-size:15px; margin-bottom:4px; }
.temple-info-row p{ font-size:14.5px; color:var(--ink-soft); }
.temple-map{
  border:1px solid var(--line); border-radius:var(--radius-lg);
  overflow:hidden; min-height:280px;
}
.temple-map iframe{ width:100%; height:100%; min-height:280px; border:0; display:block; }

@media (max-width: 900px){
  .temple-grid-detail{ grid-template-columns:1fr; }
  .temple-head{ min-height:300px; padding:32px 0; }
}
