/* Approved reference template — 29 Sep 2026 canonical visual */
:root{
  --ref-wine:#5b0708;
  --ref-wine-2:#780f10;
  --ref-gold:#d19a29;
  --ref-gold-light:#f0c65b;
  --ref-paper:#fbf1dc;
  --ref-paper-2:#f5e7ca;
  --ref-ink:#25170f;
  --ref-red:#7c1716;
  --ref-line:rgba(147,94,24,.28);
}

audio,.audio-player,.music-player,.temple-player,[data-audio-player]{display:none!important}

html{
  max-width:100%;
  overflow-x:hidden;
  background:#140704;
  color-scheme:light;
}
body{
  margin:0;
  max-width:100%;
  overflow-x:hidden;
  color:var(--ref-ink);
  background:#140704;
  font-family:var(--body);
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(18,6,2,.10),rgba(14,5,2,.34)),
    var(--altar) center top/cover fixed no-repeat;
  filter:saturate(1.16) contrast(1.06) brightness(.82);
}

/* In the approved reference the church remains visible on both sides. */
.site-shell{
  position:relative;
  width:min(1380px,calc(100% - 250px));
  min-height:100vh;
  margin:0 auto 22px;
  background:transparent;
  border:0;
  border-radius:0;
  outline:0;
  box-shadow:none;
  overflow:visible;
}
.site-shell:before,.site-shell:after{display:none}

/* Header */
.hero-banner{
  position:relative;
  margin:0;
  min-height:216px;
  overflow:visible;
  border:0;
  background:transparent;
}
.hero-banner a{
  position:relative;
  display:block;
  min-height:216px;
  text-decoration:none;
}
.hero-art{
  position:absolute;
  inset:0 -124px;
  width:auto;
  height:216px;
  min-height:216px;
  aspect-ratio:auto;
  background:var(--altar) center 4%/cover no-repeat;
  filter:saturate(1.16) contrast(1.06) brightness(.72);
  opacity:1;
}
.hero-banner:after{
  content:"";
  position:absolute;
  inset:0 -124px;
  height:auto;
  background:
    linear-gradient(90deg,rgba(20,5,2,.08),transparent 20%,transparent 80%,rgba(20,5,2,.08)),
    radial-gradient(ellipse at 50% 46%,rgba(18,4,2,.80) 0 21%,rgba(18,4,2,.52) 38%,transparent 64%);
  pointer-events:none;
}
.hero-brand{
  position:absolute;
  z-index:5;
  left:50%;
  top:20px;
  transform:translateX(-50%);
  width:min(650px,calc(100% - 40px));
  max-width:calc(100% - 40px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-shadow:0 2px 2px #250301,0 0 13px rgba(27,3,2,.98);
}
.hero-brand:before,.hero-brand:after{
  content:"";
  display:block;
  width:min(500px,72vw);
  height:13px;
  background:
    radial-gradient(circle at 50% 50%,#f1c55d 0 2px,transparent 3px),
    linear-gradient(90deg,transparent 0 4%,#bd7d1b 15%,#f0c45d 50%,#bd7d1b 85%,transparent 96%);
  clip-path:polygon(0 44%,40% 44%,43% 0,47% 44%,50% 12%,53% 44%,57% 0,60% 44%,100% 44%,100% 56%,60% 56%,57% 100%,53% 56%,50% 88%,47% 56%,43% 100%,40% 56%,0 56%);
}
.hero-brand:before{order:1;margin:-2px 0 4px}
.hero-brand:after{order:5;margin:7px 0 0}
.hero-cross{
  order:0;
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin:0 0 -4px;
  border:3px solid #e8b542;
  border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#9f1717,#610608 68%,#380303);
  color:#f2c75f;
  font-size:2.28rem;
  line-height:1;
  box-shadow:
    0 0 0 3px rgba(42,4,3,.96),
    0 0 0 5px rgba(221,163,43,.68),
    0 8px 22px rgba(0,0,0,.42);
}
.hero-name{
  order:2;
  margin:0;
  color:#f2d07a;
  font-family:var(--display);
  font-size:clamp(2.55rem,3.9vw,3.75rem);
  line-height:1;
  letter-spacing:.015em;
  text-transform:uppercase;
  white-space:nowrap;
}
.hero-subtitle{
  order:3;
  display:block;
  margin:6px 0 0;
  color:#f1d794;
  font-family:var(--body);
  font-size:clamp(.86rem,1.28vw,1.12rem);
  font-weight:700;
  line-height:1.2;
  letter-spacing:.20em;
  text-transform:uppercase;
}

/* Approved wine navigation with gold terminals and search box. */
.app-nav{
  position:relative;
  z-index:55;
  display:flex;
  align-items:stretch;
  justify-content:flex-start;
  gap:0;
  min-height:62px;
  margin:-1px 0 0;
  padding:0 18px;
  overflow:visible;
  background:
    repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 2px,transparent 2px 5px),
    linear-gradient(180deg,#740b0c,#4b0506 76%,#2e0203);
  border:2px solid #b97919;
  border-left-width:4px;
  border-right-width:4px;
  border-radius:18px 18px 8px 8px;
  box-shadow:
    inset 0 0 0 2px rgba(238,185,67,.14),
    0 4px 10px rgba(0,0,0,.45);
}
.app-nav>a,.app-nav>.nav-button{
  flex:0 0 auto;
  min-width:118px;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 20px;
  border:0;
  border-right:1px solid rgba(213,151,38,.10);
  border-radius:0;
  background:transparent;
  color:#f0ddbb;
  font-family:var(--body);
  font-size:1rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
.app-nav>a:hover,.app-nav>.nav-button:hover,
.app-nav>a:focus-visible,.app-nav>.nav-button:focus-visible{
  color:#fff5d4;
  background:rgba(222,173,77,.10);
  outline:none;
}
.app-nav>a.active,.app-nav>a[aria-current="page"]{
  color:#32190e;
  background:linear-gradient(180deg,#fff6df,#ead7ad);
  box-shadow:inset 0 0 0 1px rgba(151,93,18,.24),0 0 15px rgba(255,226,153,.14);
}
.nav-search{
  flex:1 1 250px;
  min-width:210px;
  max-width:290px;
  align-self:center;
  display:flex;
  margin-left:auto;
  height:38px;
  border:1px solid #b87b22;
  border-radius:13px;
  overflow:hidden;
  background:rgba(98,20,13,.78);
}
.nav-search input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  padding:8px 12px;
  color:#f5e5c7;
  background:transparent;
  font:inherit;
  font-size:.88rem;
}
.nav-search input::placeholder{color:#cfad86}
.nav-search button{
  width:42px;
  border:0;
  background:transparent;
  color:#f5e0b4;
  font-size:1.4rem;
  cursor:pointer;
}

/* Main page frame: one continuous parchment dashboard like the approved image. */
.content{
  position:relative;
  z-index:2;
  padding:8px 4px 30px;
  background:transparent;
}
body[data-page="home"] .content{padding-top:4px}
.temple-target-board{
  position:relative;
  display:grid;
  grid-template-columns:250px minmax(0,1fr) 260px;
  min-height:620px;
  color:var(--ref-ink);
  border:4px double #b77716;
  background:
    radial-gradient(circle at 17% 14%,rgba(140,88,25,.035) 0 1px,transparent 1.4px),
    repeating-linear-gradient(0deg,rgba(119,75,24,.015) 0 1px,transparent 1px 5px),
    linear-gradient(180deg,rgba(255,249,233,.995),rgba(246,232,202,.995));
  box-shadow:
    inset 0 0 0 6px rgba(255,253,243,.55),
    inset 0 0 0 8px rgba(179,115,21,.14),
    0 15px 35px rgba(0,0,0,.36);
}

.temple-target-left,.temple-target-right{
  position:relative;
  padding:24px 22px;
  background:linear-gradient(180deg,rgba(253,246,229,.92),rgba(245,231,201,.82));
}
.temple-target-left{border-right:1px solid rgba(151,96,24,.33)}
.temple-target-right{border-left:1px solid rgba(151,96,24,.33)}
.temple-target-left h2,.temple-target-right h2{
  margin:0 0 12px;
  color:#681312;
  font-family:var(--body);
  font-size:1.4rem;
  font-weight:800;
}
.temple-target-left h3{
  margin:16px 0 6px;
  padding-top:8px;
  border-top:1px solid rgba(145,91,24,.18);
  color:#681312;
  font-family:var(--body);
  font-size:1.05rem;
  font-weight:800;
}
.temple-target-quick{
  display:grid;
}
.temple-target-quick a,.temple-target-quick button{
  width:100%;
  display:grid;
  grid-template-columns:27px 1fr 15px;
  align-items:center;
  gap:8px;
  min-height:39px;
  padding:5px 4px;
  border:0;
  border-bottom:1px solid rgba(128,78,22,.14);
  background:transparent;
  color:#332014;
  text-decoration:none;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.temple-target-quick span{color:#8b4218;font-size:1.15rem;text-align:center}
.temple-target-quick b{font-weight:500}
.temple-target-quick i{font-style:normal;font-size:1.25rem;color:#25150e}
.temple-target-quick a:hover,.temple-target-quick button:hover{color:#791316;background:rgba(209,154,41,.08)}

.temple-target-year>div{
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:8px;
}
.temple-target-year button{
  width:30px;height:30px;border:0;border-radius:50%;
  background:#fff7e7;color:#6d1613;
  box-shadow:0 2px 8px rgba(74,38,12,.15),inset 0 0 0 1px rgba(142,90,20,.18);
  font-size:1.45rem;line-height:1;cursor:pointer;
}
.temple-target-year strong{text-align:center;color:#6b1513;font-size:1.04rem}
.temple-target-months>div{display:grid;gap:1px}
.temple-target-months button{
  border:0;background:transparent;color:#332014;text-align:left;
  padding:2px 12px;font:inherit;font-size:.92rem;cursor:pointer;
}
.temple-target-months button:hover,.temple-target-months button.is-active{
  color:#8a1115;font-weight:800;background:rgba(204,149,48,.10);
}

.temple-target-center{
  min-width:0;
  padding:22px 28px 18px;
  background:rgba(255,250,239,.54);
}
.temple-target-center-head{
  position:relative;
  text-align:center;
  padding:12px 0 14px;
  border-bottom:1px solid rgba(146,92,22,.20);
}
.temple-target-center-head:before,.temple-target-center-head:after{
  content:"";
  position:absolute;
  top:19px;
  width:31%;
  height:2px;
  background:linear-gradient(90deg,transparent,#bc7f22);
}
.temple-target-center-head:before{left:0}
.temple-target-center-head:after{right:0;transform:scaleX(-1)}
.temple-target-center-cross{
  position:relative;
  z-index:2;
  display:inline-grid;
  place-items:center;
  width:46px;height:46px;
  color:#a55f13;
  font-size:2rem;
  background:#fbf0da;
}
.temple-target-center-head h1{
  margin:0;
  color:#6d1114;
  font-family:var(--body);
  font-size:clamp(2.2rem,3vw,3rem);
  font-weight:800;
  line-height:1.04;
}
.temple-target-center-head p{
  margin:4px 0 0;
  color:#352218;
  font-size:1.12rem;
}

/* Calendar exactly in the central parchment pane. */
.temple-target-calendar{padding:6px 0 0}
.mini-cal-head{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:12px;
  margin:0 0 8px;
  padding:0 20%;
}
.mini-cal-head h2{
  margin:0;
  text-align:center;
  color:#381b12;
  font-family:var(--body);
  font-size:1.62rem;
  font-weight:800;
}
.mini-nav{
  width:39px;height:39px;
  display:grid;place-items:center;
  justify-self:center;
  border:0;border-radius:50%;
  background:#fff8e9;color:#6d1714;
  box-shadow:0 3px 10px rgba(71,40,17,.16),inset 0 0 0 1px rgba(145,89,19,.18);
  font-size:1.65rem;line-height:1;cursor:pointer;
}
.mini-weekdays,.mini-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:0;
}
.mini-weekdays{
  margin:0;
  border:1px solid rgba(130,81,22,.20);
  border-bottom:0;
  background:rgba(255,249,235,.80);
  color:#332014;
  font-size:.9rem;
  font-weight:700;
  text-align:center;
}
.mini-weekdays span{
  padding:7px 3px;
  border-right:1px solid rgba(130,81,22,.17);
}
.mini-weekdays span:last-child{border-right:0}
.mini-weekdays .is-sunday{color:#bb1a1d}
.mini-days{
  border-left:1px solid rgba(130,81,22,.20);
  border-top:1px solid rgba(130,81,22,.20);
}
.mini-day{
  position:relative;
  min-width:0;
  min-height:60px;
  display:block;
  padding:8px 10px;
  border:0;
  border-right:1px solid rgba(130,81,22,.20);
  border-bottom:1px solid rgba(130,81,22,.20);
  border-radius:0;
  background:rgba(255,250,239,.70);
  color:#26180f;
  text-decoration:none;
  font-family:var(--body);
  font-size:1rem;
  font-weight:500;
  overflow:hidden;
}
.mini-day:hover,.mini-day:focus-visible{
  z-index:2;
  outline:2px solid rgba(111,18,18,.32);
  outline-offset:-2px;
  box-shadow:none;
}
.mini-day.adjacent{color:#aaa092;background:rgba(246,238,220,.55)}
.mini-day.is-sunday .mini-day-number{color:#c51c21;font-weight:800}
.mini-day.is-great-feast,.mini-day.is-church-feast,.mini-day.is-memorial{background:#fff1c9}
.mini-day.is-fish,.mini-day.is-oil-wine,.mini-day.is-strict,.mini-day.is-fast{background:#f9dede}
.mini-day.is-today{
  background:#6d1114!important;
  border-color:#4e080a!important;
  color:#fff8e8!important;
  box-shadow:inset 0 0 0 2px #d3a244,0 2px 7px rgba(71,17,17,.20);
}
.mini-day.is-today .mini-day-number{
  color:#fff8e8!important;
  font-weight:900;
}
.mini-day.is-today .mini-day-symbol{color:#f1c66c!important}
.mini-day-number{
  position:relative;
  z-index:1;
  display:inline-block;
  font-size:1.02rem;
}
.mini-day-symbol{
  position:absolute;
  left:50%;
  bottom:5px;
  transform:translateX(-50%);
  font-size:1.44rem;
  line-height:1;
}
.mini-day.is-great-feast .mini-day-symbol{color:#b96c12;font-family:Georgia,serif;font-size:1.72rem}
.mini-day.is-great-feast{
  border:2px solid rgba(184,124,26,.72);
  box-shadow:inset 0 0 0 1px rgba(255,238,179,.72),0 2px 7px rgba(119,72,9,.12);
}
.feast-mini-icon{
  width:31px;
  height:36px;
  display:grid;
  place-items:center;
  left:50%;
  bottom:4px;
  overflow:hidden;
  border:1px solid rgba(188,126,28,.85);
  border-radius:4px;
  background:#f2d98f;
  box-shadow:0 1px 4px rgba(61,30,3,.28);
}
.feast-mini-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.mini-day.is-pascha{
  background:linear-gradient(145deg,#fff7d8,#f7dea0 58%,#fff4c8);
  border-color:#d49a2f;
  box-shadow:
    inset 0 0 0 2px rgba(255,249,219,.90),
    0 0 9px rgba(219,158,39,.46),
    0 0 18px rgba(219,158,39,.22);
}
.mini-day.is-lord-feast:not(.is-pascha){
  background:linear-gradient(145deg,#fff4cf,#f8e7ba);
  border-color:rgba(180,117,20,.78);
}
.mini-day.is-theotokos-feast{
  background:linear-gradient(145deg,#fff3d9,#f3e2c2);
  border-color:rgba(171,112,32,.74);
}
.mini-day.is-cross-feast{
  background:linear-gradient(145deg,#fff0c8,#ecd79b);
  border-color:rgba(157,92,12,.82);
  box-shadow:inset 0 0 0 1px rgba(255,245,205,.78),0 2px 8px rgba(119,72,9,.15);
}
.mini-day.is-pascha .feast-mini-icon{
  width:37px;
  height:42px;
  bottom:3px;
  border-width:2px;
  border-color:#d79b2a;
  box-shadow:0 0 8px rgba(224,166,47,.62),0 2px 6px rgba(61,30,3,.28);
}
.mini-day.is-church-feast .mini-day-symbol{color:#a85f14;font-family:Georgia,serif;font-size:1.45rem}
.mini-day.is-strict .mini-day-symbol{color:#df4d4f;font-size:1.72rem}
.mini-legend{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:17px;
  padding:0 4px;
  color:#4b3525;
  font-size:.74rem;
}
.mini-legend span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.mini-legend-icon{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  font-style:normal;
  font-size:1.15rem;
  line-height:1;
}
.mini-legend-icon.feast{color:#bd6b10;font-family:Georgia,serif;font-size:1.5rem}
.mini-legend-icon.feast-image-sample,
.mini-legend-icon.pascha-image-sample{
  width:22px;
  height:26px;
  min-width:22px;
  overflow:hidden;
  border:1px solid rgba(188,126,28,.68);
  border-radius:3px;
  background:#f2dda0;
  box-shadow:0 1px 4px rgba(61,30,3,.18);
}
.mini-legend-icon.feast-image-sample img,
.mini-legend-icon.pascha-image-sample img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.mini-legend-icon.pascha-image-sample{
  width:25px;
  height:29px;
  min-width:25px;
  border-width:2px;
  border-color:#d79b2a;
  box-shadow:0 0 7px rgba(224,166,47,.44);
}
.mini-legend-icon.church{color:#a85f14;font-family:Georgia,serif;font-size:1.2rem}
.mini-legend-icon.strict{color:#e16b6b;font-size:1.6rem}

/* Right rail */
.temple-target-today{
  text-align:center;
  padding-bottom:18px;
  border-bottom:1px solid rgba(145,91,23,.24);
}
.temple-target-today h2{
  margin:0 0 5px;
  color:#6d1114;
  font-family:var(--body);
  font-size:1.55rem;
  font-weight:800;
}
.target-today-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:start;
  gap:8px;
  margin:0 0 5px;
}
.target-today-head h2{margin:0}
.target-day-nav{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(125,62,17,.34);
  border-radius:50%;
  background:#fff7e5;
  color:#711115;
  font-family:Georgia,serif;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(74,45,20,.10);
}
.target-day-nav:hover,.target-day-nav:focus-visible{
  outline:2px solid rgba(111,18,18,.20);
  outline-offset:1px;
  background:#f6e3bc;
}
.target-day-nav:disabled{opacity:.28;cursor:default}
.target-today-date{
  display:grid;
  gap:1px;
  margin:0 0 12px;
  color:#2e1c12;
  font-size:.83rem;
}
.target-today-date strong{font-size:.93rem}
.target-today-date span{font-size:.78rem}
.temple-target-today .today-icon-wrap{
  width:100%;
  max-width:190px;
  margin:0 auto 10px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.temple-target-today .today-icon{
  width:100%;
  aspect-ratio:auto;
  height:auto;
  object-fit:contain;
  border:1px solid rgba(143,88,19,.34);
  border-radius:0;
  background:#ead8b4;
}
.temple-target-today h3{
  margin:8px 0 12px;
  color:#2f2017;
  font-family:var(--body);
  font-size:.93rem;
  font-weight:800;
  line-height:1.35;
}
.target-more-btn{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 auto;
  padding:8px 18px;
  border-radius:9px;
  background:linear-gradient(180deg,#8b1013,#69080b);
  color:#fff0d4;
  text-decoration:none;
  font-weight:700;
}
.temple-target-fasts{padding-top:14px}
.temple-target-fasts h2{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 6px;
  color:#6c1613;
  font-size:1.08rem;
}
.temple-target-fasts>a,.temple-target-fasts>button{
  width:100%;
  display:grid;
  grid-template-columns:24px 1fr 12px;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:5px 0;
  border:0;
  border-bottom:1px solid rgba(135,82,20,.13);
  background:transparent;
  color:#3c281a;
  text-decoration:none;
  text-align:left;
  font:inherit;
  font-size:.82rem;
  cursor:pointer;
}
.temple-target-fasts span{color:#a85f14;font-size:1.2rem;text-align:center}
.temple-target-fasts b{font-weight:500}
.temple-target-fasts i{font-style:normal;font-size:1.15rem}

/* Inner pages inherit the same parchment/temple vocabulary without the dashboard grid. */
body:not([data-page="home"]) .content{
  padding:18px 10px 42px;
}
body:not([data-page="home"]) .card,
.fast-month-overview,
.legend-dialog,.date-dialog,.report-dialog,.lightbox-dialog{
  color:var(--ref-ink);
  border:2px solid rgba(159,102,26,.42);
  border-radius:8px;
  background:
    radial-gradient(circle at 15% 18%,rgba(138,83,21,.025) 0 1px,transparent 1.5px),
    repeating-linear-gradient(0deg,rgba(120,72,20,.012) 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#fff9e9,#f4e5c6);
  box-shadow:inset 0 0 0 4px rgba(255,254,247,.46),0 14px 34px rgba(0,0,0,.25);
}
/* Surface-aware typography: default wine/ink text on parchment comes from
   styles.css. Do not force that dark ink onto burgundy hero panels, catechesis,
   Q&A, lesson heads, or dark information cards across the inner pages.
   Individual light and dark panels own their text colours. */

.btn{
  background:linear-gradient(180deg,#831216,#5c080b);
  color:#fff3d5;
  border-color:#bd812b;
  border-radius:8px;
}
.btn.secondary{background:#fff5dc;color:#661116;border-color:rgba(141,91,24,.34)}
.footer{
  margin:0 4px 22px;
  padding:18px;
  border:2px solid rgba(181,117,23,.42);
  background:linear-gradient(180deg,rgba(97,13,12,.95),rgba(45,5,6,.98));
  color:#e9d5ab;
}
.footer strong{color:#f0c65e}

/* Canonical 1440x810 desktop fit based on the approved reference viewport. */
@media(min-width:1251px) and (max-height:900px){
  body[data-page="home"] .site-shell{
    width:min(1280px,calc(100% - 220px));
    min-height:auto;
    margin-bottom:10px;
  }
  body[data-page="home"] .hero-banner,
  body[data-page="home"] .hero-banner a{
    min-height:174px;
  }
  body[data-page="home"] .hero-art{
    inset:0 -118px;
    height:174px;
    min-height:174px;
  }
  body[data-page="home"] .hero-banner:after{inset:0 -118px}
  body[data-page="home"] .hero-brand{
    top:10px;
    width:min(590px,calc(100% - 40px));
  }
  body[data-page="home"] .hero-cross{
    width:54px;
    height:54px;
    margin-bottom:-3px;
    font-size:1.9rem;
  }
  body[data-page="home"] .hero-brand:before,
  body[data-page="home"] .hero-brand:after{
    width:min(430px,64vw);
    height:9px;
  }
  body[data-page="home"] .hero-name{font-size:clamp(2.15rem,3.35vw,3.15rem)}
  body[data-page="home"] .hero-subtitle{
    margin-top:3px;
    font-size:clamp(.72rem,1vw,.92rem);
  }
  body[data-page="home"] .app-nav{
    min-height:54px;
    padding:0 16px;
    border-radius:16px 16px 7px 7px;
  }
  body[data-page="home"] .app-nav>a,
  body[data-page="home"] .app-nav>.nav-button{
    min-width:106px;
    min-height:50px;
    padding:8px 16px;
    font-size:.94rem;
  }
  body[data-page="home"] .nav-search{
    max-width:270px;
    height:34px;
  }
  body[data-page="home"] .content{padding:4px 4px 18px}
  body[data-page="home"] .temple-target-board{
    grid-template-columns:236px minmax(0,1fr) 246px;
    min-height:0;
  }
  body[data-page="home"] .temple-target-left,
  body[data-page="home"] .temple-target-right{padding:18px}
  body[data-page="home"] .temple-target-left h2,
  body[data-page="home"] .temple-target-right h2{
    margin-bottom:8px;
    font-size:1.24rem;
  }
  body[data-page="home"] .temple-target-left h3{
    margin:10px 0 3px;
    padding-top:6px;
    font-size:.96rem;
  }
  body[data-page="home"] .temple-target-quick a,
  body[data-page="home"] .temple-target-quick button{
    min-height:32px;
    padding:3px 2px;
  }
  body[data-page="home"] .temple-target-months button{
    padding:1px 12px;
    font-size:.84rem;
  }
  body[data-page="home"] .temple-target-center{padding:14px 22px 12px}
  body[data-page="home"] .temple-target-center-head{padding:5px 0 8px}
  body[data-page="home"] .temple-target-center-head:before,
  body[data-page="home"] .temple-target-center-head:after{top:13px}
  body[data-page="home"] .temple-target-center-cross{
    width:34px;
    height:34px;
    font-size:1.55rem;
  }
  body[data-page="home"] .temple-target-center-head h1{font-size:clamp(1.85rem,2.45vw,2.35rem)}
  body[data-page="home"] .temple-target-center-head p{
    margin-top:2px;
    font-size:.96rem;
  }
  body[data-page="home"] .temple-target-calendar{padding-top:2px}
  body[data-page="home"] .mini-cal-head{
    grid-template-columns:40px 1fr 40px;
    margin-bottom:4px;
    padding:0 21%;
  }
  body[data-page="home"] .mini-cal-head h2{font-size:1.35rem}
  body[data-page="home"] .mini-nav{
    width:33px;
    height:33px;
    font-size:1.35rem;
  }
  body[data-page="home"] .mini-weekdays span{padding:5px 2px}
  body[data-page="home"] .mini-day{
    min-height:44px;
    padding:5px 8px;
    font-size:.92rem;
  }
  body[data-page="home"] .mini-day-symbol{
    bottom:3px;
    font-size:1.12rem;
  }
  body[data-page="home"] .mini-day.is-great-feast .mini-day-symbol,
  body[data-page="home"] .mini-day.is-strict .mini-day-symbol{font-size:1.35rem}
  body[data-page="home"] .mini-legend{
    margin-top:9px;
    gap:6px 12px;
    font-size:.66rem;
    line-height:1.15;
  }
  body[data-page="home"] .mini-legend-icon{
    min-width:16px;
    font-size:1rem;
  }
  body[data-page="home"] .mini-legend-icon.feast{font-size:1.18rem}
  body[data-page="home"] .mini-legend-icon.strict{font-size:1.25rem}
  body[data-page="home"] .temple-target-today{padding-bottom:11px}
  body[data-page="home"] .temple-target-today h2{
    margin-bottom:3px;
    font-size:1.35rem;
  }
  body[data-page="home"] .target-today-head{
    grid-template-columns:30px minmax(0,1fr) 30px;
    gap:6px;
    margin-bottom:3px;
  }
  body[data-page="home"] .target-day-nav{
    width:30px;
    height:30px;
    font-size:1.35rem;
  }
  body[data-page="home"] .target-today-date{margin-bottom:8px}
  body[data-page="home"] .temple-target-today .today-icon-wrap{
    max-width:155px;
    margin-bottom:7px;
  }
  body[data-page="home"] .temple-target-today h3{
    margin:6px 0 9px;
    font-size:.84rem;
  }
  body[data-page="home"] .target-more-btn{
    min-height:34px;
    padding:6px 15px;
  }
  body[data-page="home"] .temple-target-fasts{padding-top:10px}
  body[data-page="home"] .temple-target-fasts>a,
  body[data-page="home"] .temple-target-fasts>button{
    min-height:30px;
    padding:3px 0;
    font-size:.76rem;
  }
}

/* Tablet */
@media(max-width:1250px){
  .site-shell{width:min(1120px,calc(100% - 80px))}
  .app-nav>a,.app-nav>.nav-button{min-width:auto;padding-left:13px;padding-right:13px;font-size:.9rem}
  .nav-search{max-width:240px}
  .temple-target-board{grid-template-columns:210px minmax(0,1fr) 230px}
  .temple-target-left,.temple-target-right{padding:20px 16px}
  .temple-target-center{padding-left:20px;padding-right:20px}
}

/* Mobile/tablet keeps functionality and reading order. */
@media(max-width:900px){
  .site-shell{width:calc(100% - 24px);margin:0 auto 12px}
  .hero-banner,.hero-banner a{min-height:190px}
  .hero-art{inset:0 -12px;height:190px;min-height:190px}
  .hero-banner:after{inset:0 -12px}
  .hero-brand{top:18px}
  .hero-cross{width:55px;height:55px;font-size:1.9rem}
  .hero-name{font-size:clamp(2rem,6vw,2.8rem)}
  .hero-subtitle{font-size:.76rem}
  .app-nav{
    min-height:50px;
    overflow-x:auto;
    border-radius:8px;
    padding:0 8px;
  }
  .app-nav>a,.app-nav>.nav-button{min-height:48px;padding:8px 12px}
  .nav-search{display:none}
  .temple-target-board{
    grid-template-columns:190px minmax(0,1fr);
    grid-template-areas:"left center" "right center";
  }
  .temple-target-left{grid-area:left}
  .temple-target-center{grid-area:center}
  .temple-target-right{grid-area:right;border-left:0;border-top:1px solid rgba(151,96,24,.25)}
  .temple-target-center-head h1{font-size:2.2rem}
  .mini-day{min-height:58px}
}
@media(max-width:700px){
  body{background:#291008}
  body:before{background:linear-gradient(180deg,rgba(34,10,6,.72),rgba(20,7,4,.90)),var(--altar) center top/cover fixed no-repeat}
  .site-shell{width:100%;margin:0}
  .hero-banner,.hero-banner a{min-height:165px}
  .hero-art{inset:0;height:165px;min-height:165px}
  .hero-banner:after{inset:0}
  .hero-brand{top:14px;width:calc(100% - 18px);max-width:calc(100% - 18px)}
  .hero-brand:before,.hero-brand:after{width:min(300px,76vw);height:9px}
  .hero-cross{width:46px;height:46px;font-size:1.58rem}
  .hero-name{font-size:clamp(1.72rem,8vw,2.2rem);white-space:normal}
  .hero-subtitle{font-size:.67rem;letter-spacing:.12em}
  .app-nav{
    position:sticky;
    top:0;
    border-left:0;border-right:0;border-radius:0;
  }
  .content{padding:7px 5px 28px}
  .temple-target-board{
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"center" "right" "left";
    min-height:0;
    border-left:2px solid #b77716;
    border-right:2px solid #b77716;
  }
  .temple-target-center{grid-area:center;padding:14px 8px 18px}
  .temple-target-right{grid-area:right;padding:18px 15px;border-left:0;border-top:1px solid rgba(151,96,24,.25)}
  .temple-target-left{grid-area:left;padding:18px 15px;border-right:0;border-top:1px solid rgba(151,96,24,.25)}
  .temple-target-center-head{padding-top:5px}
  .temple-target-center-head:before,.temple-target-center-head:after{width:24%}
  .temple-target-center-head h1{font-size:clamp(1.75rem,8vw,2.25rem)}
  .temple-target-center-head p{font-size:.9rem}
  .mini-cal-head{padding:0 8%;grid-template-columns:44px 1fr 44px}
  .mini-cal-head h2{font-size:1.35rem}
  .mini-day{min-height:52px;padding:6px;font-size:.9rem}
  .mini-day-symbol{font-size:1.15rem}
  .mini-weekdays{font-size:.74rem}
  .mini-legend{gap:8px 10px;font-size:.69rem}
  .temple-target-today .today-icon-wrap{max-width:180px}
}
@media(max-width:430px){
  .hero-banner,.hero-banner a{min-height:148px}
  .hero-art{height:148px;min-height:148px}
  .hero-brand{top:11px}
  .hero-cross{width:40px;height:40px;font-size:1.38rem}
  .hero-name{font-size:1.58rem}
  .hero-subtitle{font-size:.60rem}
  .hero-brand:before,.hero-brand:after{width:220px;height:7px}
  .mini-cal-head{padding:0;grid-template-columns:40px 1fr 40px}
  .mini-cal-head h2{font-size:1.2rem}
  .mini-nav{width:35px;height:35px}
  .mini-weekdays span{padding:6px 1px}
  .mini-day{min-height:47px;padding:5px 4px}
  .mini-day-number{font-size:.9rem}
  .mini-day-symbol{font-size:1rem;bottom:4px}
  .temple-target-left,.temple-target-right{padding:15px 12px}
}
@media(prefers-reduced-motion:reduce){body:before{background-attachment:scroll}}


/* Short desktop rail fit for the approved 1440x810 frame. */
@media(min-width:1251px) and (max-height:900px){
  body[data-page="home"] .temple-target-board{
    grid-template-columns:220px minmax(0,1fr) 220px;
  }
  body[data-page="home"] .temple-target-left,
  body[data-page="home"] .temple-target-right{
    padding:12px 14px;
  }
  body[data-page="home"] .temple-target-left h2,
  body[data-page="home"] .temple-target-right h2{
    margin-bottom:5px;
    font-size:1.04rem;
    line-height:1.05;
  }
  body[data-page="home"] .temple-target-left h3{
    margin:6px 0 2px;
    padding-top:4px;
    font-size:.82rem;
    line-height:1.05;
  }
  body[data-page="home"] .temple-target-quick a,
  body[data-page="home"] .temple-target-quick button{
    grid-template-columns:20px 1fr 10px;
    gap:5px;
    min-height:24px;
    padding:1px 0;
    font-size:.76rem;
    line-height:1.05;
  }
  body[data-page="home"] .temple-target-quick span{font-size:.88rem}
  body[data-page="home"] .temple-target-quick i{font-size:.95rem}
  body[data-page="home"] .temple-target-year>div{
    grid-template-columns:28px 1fr 28px;
    gap:5px;
  }
  body[data-page="home"] .temple-target-year button{
    width:24px;
    height:24px;
    font-size:1.1rem;
  }
  body[data-page="home"] .temple-target-year strong{font-size:.9rem}
  body[data-page="home"] .temple-target-months>div{gap:0}
  body[data-page="home"] .temple-target-months button{
    padding:0 9px;
    font-size:.72rem;
    line-height:1.12;
  }
  body[data-page="home"] .temple-target-center{padding:12px 18px 10px}
  body[data-page="home"] .temple-target-center-head{padding:3px 0 6px}
  body[data-page="home"] .temple-target-center-cross{
    width:30px;
    height:30px;
    font-size:1.35rem;
  }
  body[data-page="home"] .temple-target-center-head h1{font-size:1.78rem}
  body[data-page="home"] .temple-target-center-head p{font-size:.82rem}
  body[data-page="home"] .mini-cal-head{
    grid-template-columns:34px 1fr 34px;
    padding:0 22%;
  }
  body[data-page="home"] .mini-nav{
    width:28px;
    height:28px;
    font-size:1.18rem;
  }
  body[data-page="home"] .mini-cal-head h2{font-size:1.2rem}
  body[data-page="home"] .mini-weekdays{font-size:.76rem}
  body[data-page="home"] .mini-weekdays span{padding:4px 1px}
  body[data-page="home"] .mini-day{
    min-height:38px;
    padding:4px 7px;
    font-size:.82rem;
  }
  body[data-page="home"] .mini-day-number{font-size:.86rem}
  body[data-page="home"] .mini-day-symbol{
    bottom:2px;
    font-size:.95rem;
  }
  body[data-page="home"] .mini-day.is-great-feast .mini-day-symbol,
  body[data-page="home"] .mini-day.is-strict .mini-day-symbol{font-size:1.12rem}
  body[data-page="home"] .mini-legend{
    margin-top:6px;
    gap:4px 9px;
    font-size:.6rem;
  }
  body[data-page="home"] .mini-legend-icon{
    min-width:13px;
    font-size:.82rem;
  }
  body[data-page="home"] .mini-legend-icon.feast{font-size:.96rem}
  body[data-page="home"] .mini-legend-icon.strict{font-size:1rem}
  body[data-page="home"] .temple-target-today{padding-bottom:8px}
  body[data-page="home"] .temple-target-today h2{
    margin-bottom:1px;
    font-size:1.12rem;
  }
  body[data-page="home"] .target-today-date{
    margin-bottom:5px;
    font-size:.68rem;
  }
  body[data-page="home"] .target-today-date strong{font-size:.75rem}
  body[data-page="home"] .target-today-date span{font-size:.65rem}
  body[data-page="home"] .temple-target-today .today-icon-wrap{
    max-width:118px;
    margin-bottom:5px;
  }
  body[data-page="home"] .temple-target-today h3{
    margin:4px 0 6px;
    font-size:.72rem;
    line-height:1.2;
  }
  body[data-page="home"] .target-more-btn{
    min-height:28px;
    padding:4px 12px;
    font-size:.76rem;
  }
  body[data-page="home"] .temple-target-fasts{padding-top:7px}
  body[data-page="home"] .temple-target-fasts h2{
    margin-bottom:3px;
    gap:5px;
    font-size:.86rem;
  }
  body[data-page="home"] .temple-target-fasts>a,
  body[data-page="home"] .temple-target-fasts>button{
    grid-template-columns:18px 1fr 9px;
    gap:4px;
    min-height:23px;
    padding:1px 0;
    font-size:.68rem;
    line-height:1.05;
  }
  body[data-page="home"] .temple-target-fasts span{font-size:.88rem}
  body[data-page="home"] .temple-target-fasts i{font-size:.9rem}
}

/* Keep the home right rail readable when the saint name or preview text is long. */
.temple-target-today h1{
  max-width:100%;
  margin:8px 0 10px;
  color:#721316;
  font-family:var(--display);
  font-size:clamp(2rem,2.8vw,2.85rem);
  line-height:.98;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.temple-target-today .today-media,
.temple-target-today .today-copy-pane,
.temple-target-today .life-preview,
.temple-target-today .lead,
.temple-target-today .pills{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.temple-target-today .today-media{display:block}
.temple-target-today .today-copy-pane{width:100%}

@media(min-width:1251px) and (max-height:900px){
  body[data-page="home"] .temple-target-today h1{
    margin:4px 0 6px;
    font-size:clamp(1.45rem,2vw,1.95rem);
    line-height:1;
  }
}


/* Approved-reference side candle strips — exact crops from the canonical screenshot. */
@media(min-width:1251px) and (max-height:900px){
  body[data-page="home"]:before{
    inset:0;
    background:
      url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDACweISchHCwnJCcyLyw1Qm9IQj09QohhZlBvoY2ppp6Nm5ixx//Ysbzxv5ib3v/g8f//////rNX///////////2wBDAS8yMkI6QoJISIL/t5u3////////////////////////////////////////////////////wgARCAGgAEgDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAECAwT/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAea42zuClCGiFRrMDEdxrNySkqk4lxVgBSqSVAWVpO+Ncra1EBYgRVZ3Lrvz1m40PURYYCdhc3LSV51lbLNSROVqtQoJVotc6WW+CaAWc9T0VG+HRm8+mey55652WAYdfH1ph0cvRLj0cu46x1IMyzPq5egx3w1J25tpaUkQBqZ7Y1Zd4C66cxL1ziwILmLjSkSRcgtgSyMszqauUJq2mEaZlCBVNJLBbSI1xqRgE1NWJNK6KiJ2xqgIm4uyU0OppSNchjImk7JGh3FqZ6ZlACasguRMY89MyxETSdiAWhuUy3xShAqVUgkbblUbZAMSdMrpyMqQjSEKAJDHZAykMhDKYzNTRQJJRLGgKAUqNYxYUgaIAZYs6Y7xOdogZSATQZLnplsTVSsxVpkVNaiIy3wdaKCNlkFkKtTIj//EACEQAAEEAgIDAQEAAAAAAAAAAAEAEBExAkEgIRIiMkIz/9oACAEBAAEFAl4woUKFCLhiFsrRcXZR6RWtsL7RQRWkGFmn0xQsvsjpxZf9E9KEUL2g0sER0LNqEXCyPqLNtKkLxbP5FmwgxIgUsvkXsNCgRo3l8izeKOPqh85tkehfj0ifUX+cumKFz6LL4F/nJYjrIoX+EfhD5y6OJ9dC/wAo/wAwp6NY/IQsNpR65BCkL34oLc9WvGFSFm54dqSws2tlgpYWb4SpYWb5BC8r4FxeVsCF1II8SghZ+uFMELyvgemCFn6YKezBYIWfpyEWCFn6coiMUELP0wRUdIULP0XPSJkIULyvhPSxQvZejkwoWblgVslsULNsMZWziitCyO4fZYUjbCFsgRC0LJ7lvJShk2hZuVKlSpUoIXlfIIXlfIMb5aRvkKxuxzF+PPGha6PK8UEVZIjgG3+qVosES4gIZGVEoiELNKm22yEGlpeX/8QAGhEBAAEFAAAAAAAAAAAAAAAAARARIDBAYP/aAAgBAwEBPwHdcBJBbXk//8QAGhEAAwEBAQEAAAAAAAAAAAAAAAEQETACYP/aAAgBAgEBPwHo+irEIccQxjvoY65hnwb4q5MP/8QAIhAAAQIGAgMBAAAAAAAAAAAAAQAQESAhMDFAUFEiQWFg/9oACAEBAAY/Amys6Bs+t4awv4WLMLsdIzFzJQLCLljYrLWxnhjPDRHCQGnDbixsmWrCeDQWPwBbxC+zB/s2Giu0ZYBqrDGs9V2umpc//8QAJRAAAgICAgICAwEBAQAAAAAAAAERMSFBEFFxgWGRIKGxwdHw/9oACAEBAAE/IVY+w+oSOvsP5HlHBcWFO4aMCjMImkeIH/o+COKDORDJwoQmjvjoWNGjJDyh2NqZ7Zg+MB2Mx7KiTkqLfGkiC7MQMVGDhQQLDGpUyxWNzxWWJmBLKkZZpsSYbEzBX5Hw0Q8OR2JWzJD0j7K/PBoUGjJjXNbCjyWE4E9iSRuWRSyVIzgV+SwyMExQnRAYDZtUG8fJX5K/IxhJlsSXI2pDFCfDIsCgq8lnBECIZhTYj1RGBDiVeR5vkLDHRwxsfk2882aiiryRl3JORv4ElBY0FbSwJk2YWUeSeL/E2Lb5JwaHYjtoo8iNwf4EVGMEmkCG2zNAySmijyM8NQbr0JvMpS0JTPQtUPI7XQ+iw5E1E/oo8ihNcuiWZZETTgvChrBKSihDAnBv6KB2ngl2Jvsl9kvsTBu3+xO9lBfwosL1/SBkl8jcRQXcZPfGCpIUMwJ5KC8jlpSqgcDKMo8lv4O4EThrE64VCgt4TJjbUj9BKMsljKUUFw+E81I7yU+GWx4yigtHzHwFbQ+FnHZQXD4gNOw/YbNighKR8wMWIzxRlBYPhDTEaMw7fFWUFw+Mh0ulb7G2b9cWFBdwgS0KniZexiF1xYUFvEkjXYofcNjQ/aKBrMSaIIGgRptRHFnooHzExJAyWhp6+OGjPTRQXi4Y2FMDU6omUVCEhiBMBzYnBECef+FQggtfsZ/AK0XGWsEPZE1DBE4oxheRtoWGKBibA3iic5RGITAknYnOUMcuhmRQPme32e32ex7fZPt/Z7/YynNSigt/OjKC38II4eMitF5gwYMGDArCtF+I/OwpHEkR+aplR/4uYl4HY1HG1RWN5wP5MOYXgRFlP8EoC74T031sSG1lfIjyQSIY00h8NjHkkK0dkrNnzgtJ2WJI1ctfB0L9CSzEiSlwin27Eyr7FhCROkEOWPZoVsaAqy9CtDSm0sibUoQ1KIEXKh0eI8CjJHB04GUXK+RYJdsltRImVMbbtkvsbO2Trj//2gAMAwEAAgADAAAAEEP94c/PC4wErfnvYTuafSYPmseVeBzUcyGMGrI2jwrfz/l7ClM6P8ogO6gXTa6t3/q2k/f+Y1IM57/bAAENePs7GvwuTYvs3CS+j89f+clh+8wb4nyzH8/izT+G+M+d44M//8QAHBEAAwEBAQEBAQAAAAAAAAAAAAERECAxIUFR/9oACAEDAQE/EFlH7t4eLWIi4QlSQ8EJCo6ehI/ghj9Ee4bHhfox+jE4XFGIuy8MT4fCHixDEvmoezHwhiJrEJlKU92YptxfelxBZMfoilKU/8QAHBEAAwADAQEBAAAAAAAAAAAAAAEREDFBISBx/9oACAECAQE/EGXC1hk+O4bWejGsJnRmi09ejGxkQajQawWiEh4L6hRa9EJRLBETw9EpB2KBIeyCPRs7lEO4gh3h3DEO8HsWENncMWHsuENU7jwUGkzuKKDGvSEIWHfh3h3ExYPfxcFmsZ+FmNBqkwjw/8QAJhABAAICAgICAwADAQEAAAAAAQARITFBUWGhcbEQgZHB0fDhIP/aAAgBAQABPxAiRaF3CCpeDEC5p5Vt8TG5uhVyna8AZYHbVnZzNQgjmUraGdsGd09oX8R8ZwCtHzHDVZpgXBBDI2OpkMY8QWhGpkiYxKZNXEESjp6laMBhB3FoMic4/lwIFwxBSDak4YVvRmGgil6NwEJiPyCBaElggYxCKqy5aUs58QlI1cVJaeSLUqCF6/7EFRdsc/MTM3MfhBc0KazudPcI3RWYGLr6mg9w0LE8liHwQBma5hUriI1bTCIulizvuanULyJQQ0MNE6jeF7nABAvoVc9F9zd8yuohU2QFxzcZwcPEFXlLJWxjN2J6L7m35i4FS4dypBnuOGYlDnLGh53CM2n8nrp7UBgkBC1Y3ANFb1iV0o/E5sqWCn8ivCn1PRfc9iDK5W0LRqMeCPiKEJ7olFQtV4lVKy3iosnNPqeihz+Y6ULxKkUCIeO5qM7rUQBV8cQEMKG7lT5z6npoK+SbVW5eDDP934lsrTS4BGxQzK0Fy81CORTyeJ6b7lnMi+2aWdqRQBwqZwCtKoUANCB3xDVOoasRlti/ilYLhSplD3rVRfAum2WUNnGYwUTDf6jyrogNIE9dLo9DBw5jzfEFoDNxRK60xLDTwmLhOG4q2FpzPXTMPDADEeXxCzb8mWrKVlMzENju7iDhW1/JQWQFT4Gzq4qNRwB5vDGiUEpN4G5qX7KfVLh0hRV+JqU0kW3h4G1fP7q2XqVq4kPM5QwAv9yPLJg1yVa14G47a+JoR4n5PFEkHqzQX1O4CXbMZGDgQ5LJR8GzGT7V3WICu7XMMCEJZqD2DTLTq2nC+U2Kxxg7cvytZb2ZJ7v73Wr8MqA3CakFwMeN5ksH5h2h7j2eSgqsKMmmNsNH8ljYOBV+o1AeHwRFJLZg1DBEP6gRjM4gN4yikA47b5zYyl99HyP6lIA6ZVUgMh7djbPUuyMPYMBPpD0Wk9i6Vp7oXF7gfE0Pv2zI5wbe0KTiAxVtVVhtde14ngEdT9O2rQYxU3vO6Lfw2cM4Dcv4yqpvFZZj5tP7lPlXRbGH57RKssAodLKa+rYDz4EnbyMaNeVHPocS0sXyyeSkOFNQwYsEteTQrMyVEoy+ngcbZq59N4jPysEPD9WvHu7ivEtmylIy7szDfmBq5gJOyXy9VwsuDztmZR5NxwT4iVWqYsWoJLshkZFUF+QHyP7FlHsNqMsfaDmZ7qzYQ1iQBRIPeK96bdJeI1sbY8wkJT9f8DRmL1YZm1wFW0f46ScT3+R0X2m2x8P8AqEnOd+mugPUHZqM9rZbM1IpmJzQAAUmVJDmXXqaLVZUr7BQFRoKKZdI6z7dLSpO6J9HkE6bWdWNPCZoPv8AGDJYEJpQ8o1b0OqIskZGf/9k=") left top/110px 810px no-repeat,
      url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDACweISchHCwnJCcyLyw1Qm9IQj09QohhZlBvoY2ppp6Nm5ixx//Ysbzxv5ib3v/g8f//////rNX///////////2wBDAS8yMkI6QoJISIL/t5u3////////////////////////////////////////////////////wgARCAGgAEgDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAECAwT/xAAXAQEBAQEAAAAAAAAAAAAAAAABAAID/9oADAMBAAIQAxAAAAHlYCXmVoAaTbLEDQwqCbilpmVoToOQDXLAJ6MpzbKnTK0QE1a2zKOmcvG2tEqp1MCujTTDnrRZsoXVlo542z0IBOzJzz2tcLTeYkdebXHWUI0bXkY1enONrAiedzokBzVp50nRKnfEoVTrKAS04EAYBU2FICKmqEzt1k6lrmapAQ1UTaqCE5YpVCAqpczvmkTmpYqLhANUXA6R04EpqWKmoQDOaQ7QMYmkipOkAjmkOi0jLa1WXPLr5N5QGh1IOiqMtEqbzYkgOa1xodImZ6c1mWsy2kBzQMdM3E6KHSBxICWgF56OcikiY4QEuaiGIpgU3NUgKc1NMRLTKVJwgKJuaVIpgSmOkIhrTOiodXIpd57VmIq8tsaKm4huqsmjWQhzrlrlKdXU1NEi0OIGs7Rm50rJVvGbLR4ukBo//8QAIhAAAgICAgIDAQEAAAAAAAAAATEAEQIQICESQQMiQjIj/9oACAEBAAEFAt1KlCVBjexsHQHXAw6AsX0js6GhzG/RY0B9a4CF6F0RowwMueP1wmezosijf1xeTHcMygheU8hBlZvvETMTMVovOdTF9eWL/XywMvKdVPWE/XyQMvKYieyBMZ+vkYZZ17gNQdnNhlmAwu4ASIYGXVz2TeRAsEUBZMDLh5BlnmGWdZEcLgZZmJFk9kihsMv1CIeGLLP8yvrwDLP8iEiHgGWVyDLKndcAyyp+MnsMsqZXWXAMsqHuZDgGWVOvHKphjcOP2yw8YGWUIRQq5j9Zf+nymBllYmpkSTZqyYHmYGX6mWJrQMMDLMxx6yNwTMQCHGBl+rNavVwMsz0Meq0ca0GX6c8jLlw5XoMvVWOAZfrudzqdbDL9XyDLPPFlnniyzzDLK5BlnmHwHBTJ5Ld7qF/nj0BCye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") right top/110px 810px no-repeat,
      #140704;
    filter:none;
  }
  body[data-page="home"] .hero-art{
    inset:0;
  }
  body[data-page="home"] .hero-banner:after{
    inset:0;
  }
}

/* Named multi-day fasts inside approved calendar cells */
.mini-day:has(.mini-fast-period){min-height:76px;padding-bottom:26px}
.mini-fast-period{
  position:absolute;
  left:3px;
  right:3px;
  top:25px;
  z-index:1;
  text-align:center;
  color:#6d1114;
  font-size:.53rem;
  font-weight:800;
  line-height:1.02;
}
.mini-day:has(.mini-fast-period) .mini-day-symbol{bottom:3px;font-size:1rem}
@media(max-width:700px){
  .mini-day:has(.mini-fast-period){min-height:70px}
  .mini-fast-period{top:23px;font-size:.47rem}
}
@media(max-width:430px){
  .mini-day:has(.mini-fast-period){min-height:66px;padding-left:3px;padding-right:3px}
  .mini-fast-period{top:21px;font-size:.42rem;line-height:.98}
}

/* Creed integrated under the calendar legend */
.home-creed{
  margin:26px 0 0;
  padding:26px 34px 32px;
  border-top:1px solid rgba(146,92,22,.24);
  background:
    linear-gradient(180deg,rgba(255,249,235,.42),rgba(247,235,211,.16));
  color:#2b1b12;
  text-align:left;
}
.home-creed .eyebrow{
  margin:0 0 4px;
  color:#9a641b;
  text-align:center;
  font-family:var(--body);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.14em;
}
.home-creed h2{
  margin:0 0 18px;
  color:#731112;
  text-align:center;
  font-family:var(--display);
  font-size:clamp(1.65rem,2.4vw,2.15rem);
  font-weight:400;
  letter-spacing:.02em;
}
.home-creed .creed-text{
  width:min(100%,760px);
  margin:0 auto;
  padding:0;
  border:0;
  color:#2f2118;
  font-family:"Sveto Pravoslavie Text",Georgia,"Times New Roman",serif;
  font-size:.96rem;
  line-height:1.62;
  text-align:left;
}
.home-creed .creed-text p{
  margin:.5rem 0;
}
.home-creed .creed-text p span{
  color:#7b1515;
  font-family:var(--display);
  font-weight:400;
}
.home-creed .creed-source{
  margin:18px auto 0;
  max-width:760px;
  color:#7b6a55;
  font-size:.69rem;
  line-height:1.4;
  text-align:center;
}
.home-creed .creed-source a{
  color:#7a3d16;
}
@media(max-width:700px){
  .home-creed{margin-top:20px;padding:22px 18px 26px}
  .home-creed .creed-text{font-size:.91rem;line-height:1.56}
}
@media(max-width:430px){
  .home-creed{padding:19px 12px 23px}
  .home-creed h2{font-size:1.55rem}
  .home-creed .creed-text{font-size:.87rem;line-height:1.5}
}

/* Decorative flourishes removed by request */
body:after,
.hero-banner:before,
.app-nav:before,
.app-nav:after,
.temple-target-board:before,
.temple-target-board:after{
  content:none!important;
  display:none!important;
}

/* Sacred places readable parchment page */
body[data-page="places"] .content{
  padding:16px 4px 36px;
}
body[data-page="places"] .places-page{
  display:grid;
  gap:16px;
  color:#2c1c13;
}
body[data-page="places"] .places-hero,
body[data-page="places"] .place-card,
body[data-page="places"] .places-map-note{
  border:1px solid rgba(154,96,25,.28);
  background:
    linear-gradient(180deg,rgba(255,249,233,.99),rgba(246,233,205,.99));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.46),
    0 10px 24px rgba(28,8,2,.16);
}
body[data-page="places"] .places-hero{
  padding:28px 30px;
  border-radius:14px;
  text-align:center;
}
body[data-page="places"] .places-overline,
body[data-page="places"] .place-kicker{
  margin:0 0 6px;
  color:#9b641d;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body[data-page="places"] .places-hero h1{
  margin:.1rem 0 .8rem;
  color:#721214;
  font-family:var(--display);
  font-size:clamp(2.1rem,4vw,3.1rem);
  font-weight:400;
}
body[data-page="places"] .places-hero p{
  max-width:900px;
  margin:0 auto;
  color:#4b382a;
  font-size:1rem;
  line-height:1.7;
}
body[data-page="places"] .places-hero-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
body[data-page="places"] .places-index{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:12px;
  border:1px solid rgba(154,96,25,.22);
  border-radius:12px;
  background:rgba(250,240,217,.92);
}
body[data-page="places"] .places-index a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:6px 11px;
  border:1px solid rgba(147,91,21,.20);
  border-radius:999px;
  background:#fff9eb;
  color:#721214;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
}
body[data-page="places"] .places-index a:hover,
body[data-page="places"] .places-index a:focus-visible{
  background:#f4e3bd;
  outline:none;
}
body[data-page="places"] .places-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
body[data-page="places"] .place-card{
  padding:24px 26px;
  border-radius:14px;
  color:#2c1c13;
  scroll-margin-top:84px;
}
body[data-page="places"] .place-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(140,85,20,.18);
}

body[data-page="places"] .place-diocese-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:2px 0 10px;
  padding:7px 12px;
  border:1px solid rgba(122,18,20,.28);
  border-radius:999px;
  background:linear-gradient(180deg,#8b171a,#6f1013);
  color:#fff4dc;
  box-shadow:0 3px 8px rgba(87,16,18,.16);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.035em;
}
body[data-page="places"] .place-card[data-place-diocese="Врачанска епархия"]{
  border-left:5px solid #7b1517;
}
body[data-page="places"] .place-card[data-place-diocese="Врачанска епархия"] .place-diocese-badge{
  background:linear-gradient(180deg,#8d171a,#6f1013);
  border-color:#5f0e10;
}
body[data-page="places"] .place-card-head h2{
  margin:0;
  color:#711315;
  font-family:var(--display);
  font-size:clamp(1.65rem,3vw,2.3rem);
  font-weight:400;
  line-height:1.15;
}
body[data-page="places"] .place-cross{
  flex:0 0 auto;
  color:#a56c21;
  font-size:1.75rem;
}
body[data-page="places"] .place-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 12px;
}
body[data-page="places"] .place-meta-grid>div,
body[data-page="places"] .place-feasts{
  padding:12px 14px;
  border-radius:10px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(147,91,21,.16);
}
body[data-page="places"] .place-meta-grid span,
body[data-page="places"] .place-feasts>span,
body[data-page="places"] .place-contact-row span{
  display:block;
  margin-bottom:4px;
  color:#8a641f;
  font-size:.70rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body[data-page="places"] .place-meta-grid strong{
  display:block;
  color:#332216;
  font-size:.96rem;
  line-height:1.4;
}
body[data-page="places"] .place-feasts{
  margin-bottom:14px;
}
body[data-page="places"] .place-feasts>div{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
body[data-page="places"] .place-feast-link{
  color:#7b1517;
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body[data-page="places"] .place-section{
  padding:16px 0 0;
  border-top:1px solid rgba(140,85,20,.16);
}
body[data-page="places"] .place-section h3,
body[data-page="places"] .place-contacts h3,
body[data-page="places"] .places-map-note h2{
  margin:0 0 8px;
  color:#721214;
  font-family:var(--display);
  font-size:1.35rem;
  font-weight:400;
}
body[data-page="places"] .place-section p,
body[data-page="places"] .places-map-note p{
  margin:0;
  color:#493528;
  font-size:.96rem;
  line-height:1.72;
}
body[data-page="places"] .place-contacts{
  margin-top:16px;
  padding:15px 16px;
  border:1px solid rgba(147,91,21,.17);
  border-radius:10px;
  background:rgba(255,255,255,.42);
}
body[data-page="places"] .place-contact-row{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid rgba(147,91,21,.10);
}
body[data-page="places"] .place-contact-row:last-child{border-bottom:0}
body[data-page="places"] .place-contact-row strong,
body[data-page="places"] .place-contact-row a{
  color:#3b291e;
  font-weight:700;
  text-decoration:none;
}
body[data-page="places"] .place-contact-row a:hover{text-decoration:underline}
body[data-page="places"] .place-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body[data-page="places"] .places-map-note{
  padding:22px 24px;
  border-radius:14px;
}
body[data-page="places"] .btn{
  border-color:#9b671d;
  background:linear-gradient(180deg,#8a1316,#671012);
  color:#fff3df;
}
body[data-page="places"] .btn.secondary{
  background:#fff7e6;
  color:#721214;
}
@media(min-width:1180px){
  body[data-page="places"] .places-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  body[data-page="places"] .content{padding:8px 5px 28px}
  body[data-page="places"] .places-hero{padding:22px 16px}
  body[data-page="places"] .place-card{padding:18px 15px}
  body[data-page="places"] .place-meta-grid{grid-template-columns:1fr}
  body[data-page="places"] .place-contact-row{grid-template-columns:1fr;gap:2px}
  body[data-page="places"] .places-index{padding:9px}
}

body[data-page="places"] .place-photo{
  width:100%;
  max-width:100%;
  margin:-24px -26px 18px;
  overflow:hidden;
  border-bottom:1px solid rgba(140,85,20,.18);
  background:#e8d7b6;
}
body[data-page="places"] .place-photo a{
  display:block;
  width:100%;
  overflow:hidden;
  text-decoration:none;
}
body[data-page="places"] .place-photo img{
  display:block;
  width:100%;
  max-width:100%;
  height:clamp(170px,20vw,235px);
  object-fit:cover;
  object-position:center;
}
body[data-page="places"] .place-photo figcaption{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  padding:7px 11px;
  overflow-wrap:anywhere;
  background:#f7ebd2;
  color:#7a684f;
  font-size:.64rem;
  line-height:1.3;
  text-align:right;
}
body[data-page="places"] .place-photo figcaption a{
  display:inline;
  color:#7a3d16;
  text-decoration:underline;
  text-underline-offset:2px;
}
body[data-page="places"] .place-card{
  overflow:hidden;
}
@media(max-width:700px){
  body[data-page="places"] .place-photo{margin:-18px -15px 15px}
  body[data-page="places"] .place-photo img{height:180px}
  body[data-page="places"] .place-photo figcaption{text-align:left}
}
@media(max-width:430px){
  body[data-page="places"] .place-photo img{height:155px}
}

/* Sacred places catalogue controls and permanent detail pages */
body[data-page="places"] .places-tools{
  display:grid;
  grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid rgba(154,96,25,.24);
  border-radius:12px;
  background:rgba(250,240,217,.96);
}
body[data-page="places"] .places-tools label{
  display:grid;
  gap:5px;
  color:#6d4e24;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.04em;
}
body[data-page="places"] .places-tools input,
body[data-page="places"] .places-tools select{
  box-sizing:border-box;
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid rgba(120,72,18,.35);
  border-radius:9px;
  background:#fffaf0;
  color:#2f2118;
  font:inherit;
  font-weight:600;
}
body[data-page="places"] .places-tools input:focus,
body[data-page="places"] .places-tools select:focus{
  outline:2px solid rgba(138,19,22,.28);
  outline-offset:1px;
}
body[data-page="places"] .places-reset{min-height:42px}
body[data-page="places"] .places-result-count{
  grid-column:1/-1;
  margin:2px 0 0;
  color:#705c42;
  font-size:.78rem;
  font-weight:700;
}
body[data-page="places"] .places-empty{
  margin:0;
  padding:22px;
  border:1px dashed rgba(154,96,25,.35);
  border-radius:12px;
  background:#fff8e8;
  color:#674d31;
  text-align:center;
}
body[data-page="places"] .place-card[hidden],
body[data-page="places"] .places-index a[hidden]{display:none!important}
body[data-page="places"] .place-card-head h2 a{
  color:inherit;
  text-decoration:none;
}
body[data-page="places"] .place-card-head h2 a:hover,
body[data-page="places"] .place-card-head h2 a:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
body[data-page="place"] .content{padding:16px 4px 36px}
body[data-page="place"] .place-detail-card{
  max-width:1000px;
  margin:0 auto;
  padding:24px 26px;
  overflow:hidden;
  border:1px solid rgba(154,96,25,.28);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,249,233,.99),rgba(246,233,205,.99));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46),0 10px 24px rgba(28,8,2,.16);
  color:#2c1c13;
}
body[data-page="place"] .place-detail-card .place-photo{
  width:100%;
  max-width:100%;
  margin:-24px -26px 20px;
  overflow:hidden;
  border-bottom:1px solid rgba(140,85,20,.18);
  background:#e8d7b6;
}
body[data-page="place"] .place-detail-card .place-photo img{
  display:block;
  width:100%;
  max-width:100%;
  height:clamp(190px,24vw,310px);
  object-fit:cover;
}
body[data-page="place"] .place-detail-card .place-photo figcaption{
  padding:7px 11px;
  overflow-wrap:anywhere;
  background:#f7ebd2;
  color:#7a684f;
  font-size:.64rem;
}
body[data-page="place"] .place-card-head,
body[data-page="place"] .place-meta-grid,
body[data-page="place"] .place-feasts,
body[data-page="place"] .place-section,
body[data-page="place"] .place-contacts,
body[data-page="place"] .place-actions{margin-top:16px}
body[data-page="place"] .place-card-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(140,85,20,.18);
}
body[data-page="place"] .place-card-head h1{
  margin:0;
  color:#711315;
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3rem);
  font-weight:400;
}
body[data-page="place"] .place-kicker{
  margin:0 0 6px;
  color:#9b641d;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body[data-page="place"] .place-cross{color:#a56c21;font-size:1.75rem}
body[data-page="place"] .place-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body[data-page="place"] .place-meta-grid>div,
body[data-page="place"] .place-feasts,
body[data-page="place"] .place-contacts{
  padding:12px 14px;
  border:1px solid rgba(147,91,21,.16);
  border-radius:10px;
  background:rgba(255,255,255,.48);
}
body[data-page="place"] .place-meta-grid span,
body[data-page="place"] .place-feasts>span,
body[data-page="place"] .place-contact-row span{
  display:block;
  margin-bottom:4px;
  color:#8a641f;
  font-size:.70rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body[data-page="place"] .place-feasts>div,
body[data-page="place"] .place-actions{display:flex;gap:9px;flex-wrap:wrap}
body[data-page="place"] .place-section{
  padding-top:16px;
  border-top:1px solid rgba(140,85,20,.16);
}
body[data-page="place"] .place-section h2,
body[data-page="place"] .place-contacts h2{
  margin:0 0 8px;
  color:#721214;
  font-family:var(--display);
  font-size:1.45rem;
  font-weight:400;
}
body[data-page="place"] .place-section p{margin:0;line-height:1.72}
body[data-page="place"] .place-contact-row{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid rgba(147,91,21,.10);
}
body[data-page="place"] .place-contact-row:last-child{border-bottom:0}
@media(max-width:800px){
  body[data-page="places"] .places-tools{grid-template-columns:1fr 1fr}
  body[data-page="places"] .places-search-label{grid-column:1/-1}
}
@media(max-width:560px){
  body[data-page="places"] .places-tools{grid-template-columns:1fr}
  body[data-page="places"] .places-search-label,
  body[data-page="places"] .places-result-count{grid-column:auto}
  body[data-page="place"] .place-detail-card{padding:18px 15px}
  body[data-page="place"] .place-detail-card .place-photo{margin:-18px -15px 16px}
  body[data-page="place"] .place-detail-card .place-photo img{height:180px}
  body[data-page="place"] .place-meta-grid{grid-template-columns:1fr}
  body[data-page="place"] .place-contact-row{grid-template-columns:1fr;gap:2px}
}


/* Moderated sacred-place submission form */
.place-suggestion-dialog{width:min(760px,calc(100vw - 24px))}
.place-suggestion-dialog form{max-height:min(88vh,820px);overflow:auto}
.place-suggestion-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 10px;
}
.place-suggestion-grid label{
  display:grid;
  gap:5px;
  color:#5f4326;
  font-size:.78rem;
  font-weight:800;
}
.place-suggestion-grid input,
.place-suggestion-grid select,
.place-suggestion-grid textarea{
  box-sizing:border-box;
  width:100%;
  padding:10px 11px;
  border:1px solid rgba(120,72,18,.32);
  border-radius:8px;
  background:#fffaf0;
  color:#2f2118;
  font:inherit;
  font-weight:500;
}
.place-suggestion-grid textarea{resize:vertical;min-height:96px}
.place-suggestion-wide{grid-column:1/-1}
@media(max-width:620px){
  .place-suggestion-grid{grid-template-columns:1fr}
  .place-suggestion-wide{grid-column:auto}
}


/* Verified sacred-places map */
body[data-page="places"] .places-map-section{padding:22px 24px}
body[data-page="places"] .places-map{
  width:100%;
  height:clamp(360px,55vh,560px);
  margin-top:15px;
  overflow:hidden;
  border:1px solid rgba(120,72,18,.26);
  border-radius:12px;
  background:#eadcbc;
}
body[data-page="places"] .places-map-loading{
  display:grid;
  place-items:center;
  min-height:100%;
  margin:0;
  padding:24px;
  color:#6b5338;
  text-align:center;
}
body[data-page="places"] .places-map-source{margin-top:9px!important}
body[data-page="places"] .leaflet-popup-content a{
  color:#721214;
  font-weight:800;
  text-decoration:none;
}
body[data-page="places"] .leaflet-popup-content a:hover{text-decoration:underline}
body[data-page="place"] .place-meta-grid a{
  color:#721214;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:600px){
  body[data-page="places"] .places-map{height:360px}
  body[data-page="places"] .places-map-section{padding:18px 14px}
}


/* Global site search */
body[data-page="search"] .site-search-page{max-width:980px;margin:0 auto}
body[data-page="search"] .site-search-form{
  margin:20px 0 8px;
  padding:16px;
  border:1px solid rgba(147,91,21,.18);
  border-radius:12px;
  background:rgba(255,249,235,.72);
}
body[data-page="search"] .site-search-form>label{
  display:block;
  margin-bottom:7px;
  color:#6c4a26;
  font-size:.8rem;
  font-weight:800;
}
body[data-page="search"] .site-search-form>div{display:flex;gap:8px}
body[data-page="search"] .site-search-form input{
  box-sizing:border-box;
  flex:1 1 auto;
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(120,72,18,.32);
  border-radius:9px;
  background:#fffaf0;
  color:#2f2118;
  font:inherit;
}
body[data-page="search"] .site-search-count{margin:12px 2px}
body[data-page="search"] .site-search-results{display:grid;gap:8px}
body[data-page="search"] .site-search-result{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 12px;
  padding:13px 15px;
  border:1px solid rgba(147,91,21,.16);
  border-radius:10px;
  background:rgba(255,255,255,.55);
  color:#2f2118;
  text-decoration:none;
}
body[data-page="search"] .site-search-result:hover,
body[data-page="search"] .site-search-result:focus-visible{
  border-color:rgba(113,19,21,.42);
  background:#fff8e8;
  outline:none;
}
body[data-page="search"] .site-search-type{
  grid-row:1/3;
  align-self:start;
  padding:4px 7px;
  border-radius:999px;
  background:#efe0bd;
  color:#7a3919;
  font-size:.67rem;
  font-weight:800;
  text-transform:uppercase;
}
body[data-page="search"] .site-search-result strong{color:#711315;font-size:1rem}
body[data-page="search"] .site-search-result small{color:#65523f;line-height:1.45}
@media(max-width:560px){
  body[data-page="search"] .site-search-form>div{flex-direction:column}
  body[data-page="search"] .site-search-result{grid-template-columns:1fr}
  body[data-page="search"] .site-search-type{grid-row:auto;width:max-content}
}


/* Apostle and Gospel readings */
.day-readings{border-left:3px solid rgba(154,96,25,.58)}
.day-readings-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.day-readings-head h3{margin:0}
.day-readings-head>a{
  color:#721214;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none;
}
.day-readings-head>a:hover{text-decoration:underline}
.day-readings-ref{
  margin:.35rem 0 .8rem;
  color:#35241a;
  font-size:1rem;
  line-height:1.65;
}
.day-readings-actions{display:flex;gap:8px;flex-wrap:wrap}
body[data-page="readings"] .readings-intro,
body[data-page="readings"] .reading-month{max-width:1050px;margin-left:auto;margin-right:auto}
.readings-summary{
  display:inline-flex;
  align-items:baseline;
  gap:9px;
  margin:14px 0 4px;
  padding:8px 12px;
  border:1px solid rgba(147,91,21,.18);
  border-radius:10px;
  background:#fff8e8;
}
.readings-summary strong{
  color:#721214;
  font-family:var(--display);
  font-size:1.8rem;
  font-weight:400;
}
.readings-summary span{color:#6c543c;font-size:.82rem;font-weight:700}
.reading-index-list{display:grid;gap:10px}
.reading-index-row{
  padding:14px 15px;
  border:1px solid rgba(147,91,21,.15);
  border-radius:10px;
  background:rgba(255,255,255,.48);
}
.reading-index-date{
  display:flex;
  align-items:baseline;
  gap:10px;
  color:#711315;
  text-decoration:none;
}
.reading-index-date strong{white-space:nowrap}
.reading-index-date span{font-weight:700}
.reading-index-date:hover span{text-decoration:underline}
.reading-index-row p{
  margin:8px 0;
  color:#463326;
  line-height:1.62;
}
.reading-index-actions{display:flex;gap:14px;flex-wrap:wrap}
.reading-index-actions a{
  color:#7a3d16;
  font-size:.75rem;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:600px){
  .day-readings-head{align-items:flex-start;flex-direction:column}
  .reading-index-date{align-items:flex-start;flex-direction:column;gap:3px}
}


/* Patriarch and metropolitan directory */
body[data-page="metropolitans"] .content,
body[data-page="metropolitan"] .content{padding:16px 4px 36px}
.hierarchs-page{display:grid;gap:18px;color:#2c1c13}
.hierarch-patriarch,
.hierarch-list,
.hierarch-detail{
  padding:24px 26px;
  border:1px solid rgba(154,96,25,.28);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,249,233,.99),rgba(246,233,205,.99));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46),0 10px 24px rgba(28,8,2,.16);
  color:#2c1c13;
}
.hierarch-patriarch>h2,.hierarch-list h2,.hierarch-detail h1{color:#721214;font-family:var(--display);font-weight:400}
.hierarch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hierarch-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;overflow:hidden;border:1px solid rgba(147,91,21,.18);border-radius:14px;background:#fff9eb}
.hierarch-card-compact{grid-template-columns:126px minmax(0,1fr)}
.hierarch-photo-link{display:block;background:#e9d9ba}
.hierarch-photo{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}
.hierarch-card-compact .hierarch-photo{min-height:160px}
.hierarch-card-copy{padding:18px 18px 18px 0}
.hierarch-card-copy h2{margin:.15rem 0 .65rem;font-size:1.55rem;line-height:1.15}
.hierarch-card-copy h2 a{color:#721214;text-decoration:none}
.hierarch-card-copy p{color:#493528;line-height:1.6}
.hierarch-detail-head{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:26px;align-items:start}
.hierarch-detail-head figure{margin:0}
.hierarch-detail-photo{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:12px;border:1px solid rgba(154,96,25,.25);background:#e8d7b6}
.hierarch-detail-head figcaption{padding:7px 3px;color:#7a684f;font-size:.68rem}
.hierarch-detail h1{margin:.2rem 0 1rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08}
.hierarch-temples{display:grid;gap:10px}
.metropolitan-inline{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid rgba(147,91,21,.16);border-radius:12px;background:rgba(255,255,255,.48)}
.metropolitan-inline img{width:100px;height:120px;object-fit:cover;border-radius:10px}
.metropolitan-inline div{display:grid;gap:5px}
.metropolitan-inline strong{color:#721214;font-family:var(--display);font-size:1.25rem}
.metropolitan-inline span{color:#705c42}
.metropolitan-inline a{color:#7b1517;font-weight:800}
@media(max-width:800px){
  .hierarch-grid{grid-template-columns:1fr}
  .hierarch-card,.hierarch-card-compact{grid-template-columns:110px minmax(0,1fr)}
  .hierarch-photo,.hierarch-card-compact .hierarch-photo{min-height:150px}
  .hierarch-detail-head{grid-template-columns:1fr}
  .hierarch-detail-head figure{max-width:360px;margin:0 auto}
}
@media(max-width:520px){
  .hierarch-patriarch,.hierarch-list,.hierarch-detail{padding:18px 14px}
  .hierarch-card,.hierarch-card-compact{grid-template-columns:1fr}
  .hierarch-card-copy{padding:14px}
  .hierarch-photo,.hierarch-card-compact .hierarch-photo{height:250px}
  .metropolitan-inline{grid-template-columns:78px minmax(0,1fr)}
  .metropolitan-inline img{width:78px;height:96px}
}


/* Readability and portrait crop fixes for hierarch directory */
.hierarch-card,
.hierarch-card-copy,
.hierarch-card-copy p,
.hierarch-card-copy a,
.hierarch-detail,
.hierarch-detail p,
.hierarch-detail a{
  opacity:1 !important;
}
.hierarch-card-copy{
  color:#2b1b12 !important;
}
.hierarch-card-copy h2,
.hierarch-card-copy h2 a,
.hierarch-person-name{
  color:#6f1114 !important;
}
.hierarch-card-copy .place-kicker{
  color:#8b5b1d !important;
}
.hierarch-office{
  margin:.15rem 0 .55rem;
  color:#4a3529 !important;
  font-weight:800;
  line-height:1.35;
}
.hierarch-bio{
  color:#2f231d !important;
  line-height:1.62;
}
.hierarch-photo-link,
.hierarch-photo-crop,
.hierarch-detail-photo-crop{
  display:block;
  overflow:hidden;
  background:#e7d5b5;
}
.hierarch-photo-crop{
  height:220px;
}
.hierarch-card-compact .hierarch-photo-crop{
  height:190px;
}
.hierarch-photo{
  width:100%;
  height:118% !important;
  min-height:0 !important;
  object-fit:cover;
  object-position:center top;
  transform:translateY(-2%);
}
.hierarch-detail-photo-crop{
  height:430px;
  border-radius:12px;
  border:1px solid rgba(154,96,25,.25);
}
.hierarch-detail-photo{
  width:100%;
  height:118% !important;
  max-height:none !important;
  object-fit:cover;
  object-position:center top;
  transform:translateY(-2%);
  border:0 !important;
  border-radius:0 !important;
}
.hierarch-detail-head .copy,
.hierarch-detail .place-meta-grid,
.hierarch-detail .place-section{
  color:#2b1b12 !important;
}
@media(max-width:800px){
  .hierarch-photo-crop,.hierarch-card-compact .hierarch-photo-crop{height:170px}
  .hierarch-detail-photo-crop{height:390px}
}
@media(max-width:520px){
  .hierarch-photo-crop,.hierarch-card-compact .hierarch-photo-crop{height:260px}
  .hierarch-detail-photo-crop{height:360px}
}


/* Final metropolitan readability + wider portraits */
body[data-page="metropolitans"] .places-hero,
body[data-page="metropolitan"] .places-hero{
  color:#f7ead1 !important;
}

body[data-page="metropolitans"] .places-hero .places-overline,
body[data-page="metropolitan"] .places-hero .places-overline{
  color:#ead8b7 !important;
  opacity:1 !important;
}

body[data-page="metropolitans"] .places-hero h1,
body[data-page="metropolitan"] .places-hero h1{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}

body[data-page="metropolitans"] .places-hero p,
body[data-page="metropolitan"] .places-hero p{
  color:#f5e6c9 !important;
  opacity:1 !important;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}

.hierarch-card{
  grid-template-columns:320px minmax(0,1fr) !important;
}

.hierarch-card-compact{
  grid-template-columns:260px minmax(0,1fr) !important;
}

.hierarch-photo-crop{
  height:300px !important;
  overflow:hidden !important;
}

.hierarch-card-compact .hierarch-photo-crop{
  height:250px !important;
}

.hierarch-photo{
  width:100% !important;
  height:125% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:translateY(-4%) scale(1.03) !important;
  display:block !important;
}

.hierarch-card-copy h2,
.hierarch-card-copy h2 a{
  color:#711316 !important;
  font-size:clamp(1.7rem,2.2vw,2.2rem) !important;
  line-height:1.08 !important;
}

.hierarch-office{
  color:#4a3529 !important;
  font-weight:800 !important;
  font-size:1.05rem !important;
}

.hierarch-bio{
  color:#2d211b !important;
  opacity:1 !important;
}

.hierarch-detail-photo-crop{
  height:470px !important;
  overflow:hidden !important;
}

.hierarch-detail-photo{
  width:100% !important;
  height:125% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:translateY(-4%) scale(1.03) !important;
}

@media(max-width:1000px){
  .hierarch-card{
    grid-template-columns:240px minmax(0,1fr) !important;
  }
  .hierarch-card-compact{
    grid-template-columns:200px minmax(0,1fr) !important;
  }
  .hierarch-photo-crop{
    height:240px !important;
  }
  .hierarch-card-compact .hierarch-photo-crop{
    height:210px !important;
  }
}

@media(max-width:620px){
  .hierarch-card,
  .hierarch-card-compact{
    grid-template-columns:1fr !important;
  }
  .hierarch-photo-crop,
  .hierarch-card-compact .hierarch-photo-crop{
    height:300px !important;
  }
  .hierarch-detail-photo-crop{
    height:400px !important;
  }
}


/* Metropolitan profile metadata and stronger portrait crop */
.hierarch-detail-copy .copy{
  margin:.65rem 0 0;
  color:#2f2118 !important;
  line-height:1.72;
}

.hierarch-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:22px 0 26px;
}

.hierarch-meta-grid>div{
  padding:14px 16px;
  border:1px solid rgba(147,91,21,.18);
  border-radius:11px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
}

.hierarch-meta-grid span{
  display:block;
  margin-bottom:6px;
  color:#8a641f;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.065em;
  text-transform:uppercase;
}

.hierarch-meta-grid strong{
  display:block;
  color:#2c1d13;
  font-size:1.02rem;
  line-height:1.45;
}

.hierarch-detail-photo-crop{
  height:390px !important;
  overflow:hidden !important;
  position:relative;
}

.hierarch-detail-photo{
  width:100% !important;
  height:150% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:translateY(-1%) scale(1.12) !important;
  transform-origin:center top !important;
}

.hierarch-detail-figure figcaption{
  margin-top:8px;
  line-height:1.35;
}

.metropolitan-inline{
  overflow:hidden;
}

.metropolitan-inline img{
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.08);
  transform-origin:center top;
}

@media(max-width:760px){
  .hierarch-meta-grid{
    grid-template-columns:1fr;
  }
  .hierarch-detail-photo-crop{
    height:360px !important;
  }
}

@media(max-width:520px){
  .hierarch-detail-photo-crop{
    height:330px !important;
  }
}


/* Distinct holy-place map markers */
.sp-holy-marker{
  background:transparent !important;
  border:0 !important;
}
.sp-holy-marker-symbol{
  display:block;
  width:100%;
  height:100%;
  opacity:.98;
  filter:drop-shadow(0 1px 2px rgba(76,36,10,.24));
}
.sp-holy-marker-symbol svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.sp-holy-marker .sp-pin-halo{
  fill:rgba(255,246,219,.74);
  stroke:rgba(208,164,63,.58);
  stroke-width:1.15;
}
.sp-holy-marker .sp-pin-outline,
.sp-holy-marker .sp-pin-roofline,
.sp-holy-marker .sp-pin-dome,
.sp-holy-marker .sp-pin-door,
.sp-holy-marker .sp-pin-window{
  fill:none;
  stroke:#7a1518;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sp-holy-marker .sp-pin-door{
  stroke-width:1.85;
}
.sp-holy-marker .sp-pin-window{
  stroke:#9a5d15;
  stroke-width:1.5;
}
.sp-holy-marker .sp-pin-cross{
  fill:#d7aa3f;
  stroke:#7a1518;
  stroke-width:.35;
}
.sp-holy-marker .sp-pin-cross.small{
  opacity:.9;
}
.sp-holy-marker-monastery .sp-pin-halo{
  fill:rgba(251,241,214,.8);
}
.sp-holy-marker-monastery .sp-pin-outline,
.sp-holy-marker-monastery .sp-pin-roofline{
  stroke:#651013;
}
.sp-holy-marker-cathedral .sp-pin-halo{
  fill:rgba(255,244,214,.88);
  stroke:rgba(211,166,57,.72);
}
.sp-holy-marker-cathedral .sp-pin-outline,
.sp-holy-marker-cathedral .sp-pin-dome,
.sp-holy-marker-cathedral .sp-pin-door{
  stroke:#8c171a;
  stroke-width:2.25;
}
.sp-holy-marker-chapel{
  opacity:.92;
}
.sp-map-legend{
  display:grid;
  gap:7px;
  min-width:150px;
  padding:10px 12px;
  border:1px solid rgba(128,74,18,.22);
  border-radius:12px;
  background:rgba(255,249,233,.9);
  backdrop-filter:blur(4px);
  color:#2e1f16;
  box-shadow:0 3px 12px rgba(35,16,5,.14);
  font-size:.72rem;
  line-height:1.2;
}
.sp-map-legend strong{
  color:#711316;
  font-size:.82rem;
  margin-bottom:2px;
}
.sp-map-legend span{
  display:flex;
  align-items:center;
  gap:8px;
}
.sp-legend-icon{
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  font-style:normal;
  font-weight:900;
  line-height:1;
  color:#7a1518;
  background:rgba(255,247,224,.78);
  border:1px solid rgba(203,157,51,.68);
  box-shadow:0 1px 2px rgba(82,41,8,.12);
}
.sp-legend-church{width:20px;height:20px;font-size:11px}
.sp-legend-chapel{width:17px;height:17px;font-size:9px;opacity:.9}
.sp-legend-monastery{width:23px;height:23px;font-size:12px}
.sp-legend-cathedral{width:25px;height:25px;font-size:13px}
.sp-popup-type{
  display:inline-block;
  margin-top:2px;
  color:#7a5418;
  font-weight:800;
  text-transform:capitalize;
}
@media(max-width:620px){
  .sp-map-legend{
    min-width:124px;
    padding:7px 9px;
    gap:5px;
    font-size:.66rem;
  }
}

/* Major feast list icons */
.feast-with-icon{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.feast-list-icon,
.feast-list-fallback{
  width:44px;
  height:52px;
  border:1px solid rgba(188,126,28,.76);
  border-radius:5px;
  background:#f3dda0;
  box-shadow:0 2px 8px rgba(64,33,5,.18);
}
.feast-list-icon{
  display:block;
  object-fit:cover;
  object-position:center;
}
.feast-list-fallback{
  display:grid;
  place-items:center;
  color:#9b5d12;
  font-family:Georgia,serif;
  font-size:1.55rem;
}
.feast-with-icon.is-pascha{
  border-color:rgba(210,151,41,.72)!important;
  box-shadow:inset 0 0 0 1px rgba(255,239,180,.68),0 0 12px rgba(213,154,42,.20);
}
.feast-with-icon.is-pascha .feast-list-icon{
  width:48px;
  height:56px;
  border-width:2px;
  border-color:#d59a2d;
  box-shadow:0 0 10px rgba(220,161,45,.34);
}
@media(max-width:560px){
  .feast-with-icon{
    grid-template-columns:44px minmax(0,1fr);
  }
  .feast-with-icon > small:last-child{
    grid-column:2;
  }
  .feast-list-icon,.feast-list-fallback{
    width:38px;
    height:46px;
  }
}

/* Major feast day page hierarchy */
.day-page-card.major-feast-day{
  position:relative;
  border-color:rgba(188,126,28,.68);
  box-shadow:0 18px 44px rgba(54,25,5,.18),inset 0 0 0 1px rgba(255,239,186,.38);
}
.day-page-card.major-feast-day:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,244,210,.12),transparent 22%);
}
.major-feast-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 9px;
  padding:5px 9px;
  border:1px solid rgba(185,120,24,.42);
  border-radius:999px;
  background:rgba(255,239,191,.10);
  color:#f1ca76;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
}
.major-feast-kicker span{
  font-size:1rem;
  line-height:1;
}
.day-page-card.is-lord-day{
  border-color:rgba(188,126,28,.74);
}
.day-page-card.is-theotokos-day{
  border-color:rgba(173,117,42,.66);
  box-shadow:0 18px 44px rgba(54,25,5,.16),inset 0 0 0 1px rgba(250,226,190,.34);
}
.day-page-card.is-cross-day{
  border-color:rgba(157,92,12,.82);
  box-shadow:0 18px 44px rgba(54,25,5,.18),inset 0 0 0 2px rgba(242,205,124,.22);
}
.day-page-card.is-pascha-day{
  border-color:#d8a03a;
  box-shadow:
    0 18px 44px rgba(54,25,5,.18),
    0 0 18px rgba(220,163,50,.30),
    0 0 34px rgba(220,163,50,.14),
    inset 0 0 0 2px rgba(255,238,170,.30);
}
.day-page-card.is-pascha-day .major-feast-kicker{
  background:linear-gradient(180deg,rgba(255,237,170,.22),rgba(255,225,125,.10));
  border-color:rgba(225,166,53,.72);
  color:#ffe3a0;
  box-shadow:0 0 10px rgba(224,166,47,.18);
}
.day-page-card.major-feast-day .day-icon-primary .icon-wrap{
  padding:10px;
  border:1px solid rgba(191,128,28,.46);
  border-radius:12px;
  background:rgba(255,242,205,.05);
}
.day-page-card.is-pascha-day .day-icon-primary .icon-wrap{
  border-color:rgba(221,165,54,.72);
  box-shadow:0 0 16px rgba(221,165,54,.18);
}

/* Major feast markers in month/year calendar views */
.day-card.is-major-feast{
  position:relative;
  border-color:rgba(188,126,28,.62);
  background:linear-gradient(145deg,rgba(255,246,217,.96),rgba(249,232,190,.96));
}
.day-card.is-major-feast.is-theotokos{
  border-color:rgba(173,117,42,.60);
  background:linear-gradient(145deg,rgba(255,244,224,.97),rgba(244,228,199,.96));
}
.day-card.is-major-feast.is-cross{
  border-color:rgba(157,92,12,.76);
  background:linear-gradient(145deg,rgba(255,239,196,.97),rgba(236,215,155,.96));
}
.day-card.is-major-feast.is-pascha{
  border-color:#d79b2d;
  background:linear-gradient(145deg,#fff6d2,#f5dda0 58%,#fff0bf);
  box-shadow:0 0 11px rgba(218,159,45,.30),inset 0 0 0 1px rgba(255,246,204,.76);
}
.day-feast-mark{
  width:36px;
  height:42px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(188,126,28,.72);
  border-radius:4px;
  background:#f2dda0;
  color:#9e6017;
  font-family:Georgia,serif;
  font-size:1.25rem;
  box-shadow:0 1px 5px rgba(65,32,3,.20);
}
.day-feast-mark img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.day-card.is-pascha .day-feast-mark{
  width:40px;
  height:46px;
  flex-basis:40px;
  border-width:2px;
  border-color:#d69a2b;
  box-shadow:0 0 8px rgba(222,165,52,.38);
}
.month-card.has-major-feasts{
  position:relative;
  border-color:rgba(186,125,28,.45);
}
.month-card.has-pascha{
  border-color:#d39a30;
  box-shadow:0 0 10px rgba(214,157,49,.18);
}
.month-feast-icons{
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:7px;
}
.month-feast-icons img,
.month-feast-icons > span{
  width:24px;
  height:29px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(188,126,28,.58);
  border-radius:3px;
  background:#f2dda0;
  color:#9e6017;
  font-family:Georgia,serif;
  object-fit:cover;
}
@media(max-width:560px){
  .day-feast-mark{
    width:31px;
    height:36px;
    flex-basis:31px;
  }
  .day-card.is-pascha .day-feast-mark{
    width:35px;
    height:40px;
    flex-basis:35px;
  }
}

/* Bulgarian saints collection: keep every row inside the readable area */
body[data-page="lives"] .bulgarian-saints-group{
  overflow:hidden;
}
body[data-page="lives"] .bulgarian-saints-list{
  min-width:0;
}
body[data-page="lives"] .bulgarian-saint-row{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  align-items:center;
}
body[data-page="lives"] .bulgarian-saint-row.has-thumb{
  grid-template-columns:72px minmax(0,1fr) minmax(190px,32%);
}
body[data-page="lives"] .bulgarian-saint-row.no-thumb{
  grid-template-columns:minmax(0,1fr) minmax(190px,32%);
}
body[data-page="lives"] .bulgarian-saint-copy,
body[data-page="lives"] .bulgarian-saint-meta{
  min-width:0;
  max-width:100%;
}
body[data-page="lives"] .bulgarian-saint-copy h3,
body[data-page="lives"] .bulgarian-saint-copy p,
body[data-page="lives"] .bulgarian-saint-meta,
body[data-page="lives"] .bulgarian-saint-meta span,
body[data-page="lives"] .bulgarian-saint-meta a{
  overflow-wrap:anywhere;
  word-break:normal;
}
body[data-page="lives"] .bulgarian-saint-meta{
  justify-self:stretch;
  text-align:right;
}
body[data-page="lives"] .bulgarian-saint-meta span{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:3px 6px;
}
body[data-page="lives"] .bulgarian-saint-thumb-link{
  width:72px;
  max-width:72px;
}
@media(max-width:900px){
  body[data-page="lives"] .bulgarian-saint-row.has-thumb{
    grid-template-columns:64px minmax(0,1fr);
  }
  body[data-page="lives"] .bulgarian-saint-row.no-thumb{
    grid-template-columns:minmax(0,1fr);
  }
  body[data-page="lives"] .bulgarian-saint-meta{
    grid-column:1/-1;
    text-align:left;
  }
  body[data-page="lives"] .bulgarian-saint-meta span{
    justify-content:flex-start;
  }
  body[data-page="lives"] .bulgarian-saint-thumb-link{
    width:64px;
    max-width:64px;
    height:78px;
  }
}
@media(max-width:560px){
  body[data-page="lives"] .bulgarian-saint-row.has-thumb{
    grid-template-columns:54px minmax(0,1fr);
    gap:12px;
    padding:13px;
  }
  body[data-page="lives"] .bulgarian-saint-row.no-thumb{
    padding:13px;
  }
  body[data-page="lives"] .bulgarian-saint-thumb-link{
    width:54px;
    max-width:54px;
    height:68px;
  }
  body[data-page="lives"] .bulgarian-saint-meta{
    font-size:.78rem;
  }
}

/* Unified iconographic month calendar */
.mini-day{
  min-height:64px;
  padding:6px 7px;
}
.mini-day.is-daily-icon{
  background:rgba(255,250,239,.70);
}
.day-mini-icon{
  width:28px;
  height:32px;
  display:grid;
  place-items:center;
  left:50%;
  bottom:4px;
  overflow:hidden;
  border:1px solid rgba(164,105,27,.52);
  border-radius:4px;
  background:#f1dfb6;
  box-shadow:0 1px 4px rgba(61,30,3,.16);
}
.day-mini-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.mini-day .daily-cross{
  bottom:8px;
  color:#a45f16;
  font-family:Georgia,serif;
  font-size:1.15rem;
}
.mini-fast-badge{
  position:absolute;
  right:3px;
  bottom:3px;
  z-index:3;
  display:grid;
  place-items:center;
  min-width:16px;
  height:16px;
  padding:0 2px;
  border:1px solid rgba(145,83,20,.18);
  border-radius:999px;
  background:rgba(255,249,230,.92);
  color:#6d1114;
  font-size:.68rem;
  line-height:1;
  box-shadow:0 1px 3px rgba(61,30,3,.10);
}
.mini-day.is-today .mini-fast-badge{
  background:#fff1c9;
  color:#6d1114;
  border-color:#d3a244;
}
.mini-day.is-today .day-mini-icon{
  border-color:#e0b04d;
  box-shadow:0 0 5px rgba(236,192,93,.36);
}
.mini-day.is-great-feast .day-mini-icon{
  width:31px;
  height:36px;
}
.mini-day.is-pascha .day-mini-icon{
  width:37px;
  height:42px;
}
.mini-legend-icon.pascha{
  color:#bd6b10;
  font-family:Georgia,serif;
  font-size:1.2rem;
}
@media(max-width:700px){
  .mini-day{min-height:58px}
  .day-mini-icon{width:24px;height:28px}
  .mini-day.is-great-feast .day-mini-icon{width:27px;height:31px}
  .mini-day.is-pascha .day-mini-icon{width:31px;height:36px}
  .mini-fast-badge{right:2px;bottom:2px;min-width:14px;height:14px;font-size:.58rem}
}
@media(max-width:430px){
  .mini-day{min-height:54px;padding:4px}
  .day-mini-icon{width:22px;height:25px;bottom:3px}
  .mini-day.is-great-feast .day-mini-icon{width:24px;height:28px}
  .mini-day.is-pascha .day-mini-icon{width:28px;height:32px}
  .mini-day .daily-cross{bottom:7px;font-size:1rem}
}

/* Named fasts are now described in hover/accessibility text, not over the icon. */
.mini-day:has(.mini-fast-period){min-height:64px;padding-bottom:6px}
.mini-fast-period{display:none!important}
.mini-day:has(.mini-fast-period) .mini-day-symbol{bottom:4px}

/* Legend uses symbols only. */
.mini-legend-icon.feast-image-sample,
.mini-legend-icon.pascha-image-sample{display:none!important}


/* Standalone site search bar — separate from main navigation */
.site-search-bar{
  position:relative;
  z-index:54;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:50px;
  margin:6px 0 8px;
  padding:6px 14px;
  border:1px solid rgba(185,121,25,.72);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(73,11,10,.94),rgba(42,5,5,.96));
  box-shadow:0 3px 10px rgba(0,0,0,.28),inset 0 0 0 1px rgba(238,185,67,.08);
}
.site-search-bar .nav-search{
  flex:none;
  width:min(760px,100%);
  min-width:0;
  max-width:760px;
  height:38px;
  margin:0;
  display:flex!important;
  border:1px solid #b87b22;
  border-radius:12px;
  background:rgba(98,20,13,.62);
}
.site-search-bar .nav-search input{
  min-width:0;
  flex:1;
  padding:8px 14px;
  color:#f5e5c7;
  background:transparent;
  border:0;
  outline:0;
  font:inherit;
  font-size:.92rem;
}
.site-search-bar .nav-search input::placeholder{color:#d5b995}
.site-search-bar .nav-search button{
  width:46px;
  border:0;
  border-left:1px solid rgba(184,123,34,.35);
  background:rgba(255,255,255,.025);
  color:#f5e0b4;
  font-size:1.35rem;
  cursor:pointer;
}
.site-search-bar .nav-search:focus-within{
  border-color:#e0b35c;
  box-shadow:0 0 0 3px rgba(224,179,92,.16);
}
@media(max-width:900px){
  .site-search-bar{
    min-height:46px;
    margin:4px 0 6px;
    padding:5px 10px;
    border-left:0;
    border-right:0;
    border-radius:0;
  }
  .site-search-bar .nav-search{display:flex!important;max-width:none;height:40px}
  .site-search-bar .nav-search input{font-size:.9rem;padding:8px 11px}
}
@media(max-width:430px){
  .site-search-bar{padding:5px 7px}
  .site-search-bar .nav-search input{font-size:.84rem}
}


/* Diocese pages — high-contrast light surfaces */
body[data-page="places"] .diocese-directory-section,
body[data-page="places"] .diocese-page .info-block,
body[data-page="places"] .diocese-page .diocese-summary-grid{
  border:1px solid rgba(154,96,25,.28);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,249,233,.99),rgba(246,233,205,.99));
  color:#2b1b12;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46),0 10px 24px rgba(28,8,2,.12);
}
body[data-page="places"] .diocese-directory-section,
body[data-page="places"] .diocese-page .info-block{padding:22px 24px}
body[data-page="places"] .diocese-directory-section h2,
body[data-page="places"] .diocese-page .info-block h2{
  color:#721214;
}
body[data-page="places"] .diocese-directory-section p,
body[data-page="places"] .diocese-page .info-block p,
body[data-page="places"] .diocese-page .small{
  color:#493528;
}
body[data-page="places"] .diocese-directory-card{
  border-color:rgba(147,91,21,.24);
  background:#fff9eb;
  color:#2b1b12;
}
body[data-page="places"] .diocese-directory-card strong{
  color:#721214;
}
body[data-page="places"] .diocese-directory-card span{
  color:#594332;
}
body[data-page="places"] .diocese-directory-card:hover,
body[data-page="places"] .diocese-directory-card:focus-visible{
  border-color:#8a5b20;
  background:#f4e3bd;
}
body[data-page="places"] .diocese-page .diocese-summary-grid{
  padding:14px;
}
body[data-page="places"] .diocese-page .admin-stat{
  border-color:rgba(147,91,21,.18);
  background:#fff9eb;
}
body[data-page="places"] .diocese-page .admin-stat span{
  color:#5b4432;
  font-size:.82rem;
  font-weight:800;
}
body[data-page="places"] .diocese-page .admin-stat strong{
  color:#721214;
}
body[data-page="places"] .diocese-page .life-row{
  border-color:rgba(147,91,21,.18);
  background:#fffaf0;
  color:#2b1b12;
}
body[data-page="places"] .diocese-page .life-row span{
  color:#3a281c;
}
body[data-page="places"] .diocese-page .life-row small{
  color:#5e4937;
  font-weight:700;
}
body[data-page="places"] .diocese-page .life-row:hover,
body[data-page="places"] .diocese-page .life-row:focus-visible{
  border-color:#8a5b20;
  background:#f4e3bd;
}
body[data-page="places"] .diocese-page .places-result-count{
  color:#5c4634;
}
@media(max-width:620px){
  body[data-page="places"] .diocese-directory-section,
  body[data-page="places"] .diocese-page .info-block{padding:18px 16px}
}


/* Keep secondary text dark on the light Holy Places theme */
body[data-page="places"] .small,
body[data-page="place"] .small,
body[data-page="places"] .places-map-source,
body[data-page="places"] .place-compact-description{
  color:#5e4937;
}
body[data-page="places"] .place-photo figcaption,
body[data-page="place"] .place-photo figcaption{
  color:#5f4d3a;
}






/* Collapsible Holy Places quick-link directory under the map */
body[data-page="places"] .places-index-panel{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(154,96,25,.22);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,249,233,.99),rgba(246,233,205,.99));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46),0 8px 20px rgba(28,8,2,.12);
}
body[data-page="places"] .places-index-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:88px;
  padding:18px 22px;
  cursor:pointer;
  user-select:none;
}
body[data-page="places"] .places-index-summary::-webkit-details-marker{display:none}
body[data-page="places"] .places-index-heading{
  display:grid;
  gap:2px;
  min-width:0;
}
body[data-page="places"] .places-index-heading .places-overline{
  margin:0;
  color:#8b5b1d;
}
body[data-page="places"] .places-index-heading strong{
  color:#721214;
  font-family:var(--display);
  font-size:clamp(1.4rem,2.8vw,2rem);
  font-weight:400;
  line-height:1.15;
}
body[data-page="places"] .places-index-heading small{
  color:#5e4937;
  font-size:.82rem;
  font-weight:800;
}
body[data-page="places"] .places-index-action{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:9px 14px;
  border:1px solid rgba(122,18,20,.24);
  border-radius:999px;
  background:#fff9eb;
  color:#721214;
  font-weight:900;
}
body[data-page="places"] .places-index-summary:hover .places-index-action,
body[data-page="places"] .places-index-summary:focus-visible .places-index-action{
  background:#f4e3bd;
  border-color:#8a5b20;
}
body[data-page="places"] .places-index-summary:focus-visible{
  outline:3px solid rgba(138,91,32,.45);
  outline-offset:-3px;
}
body[data-page="places"] .places-index-panel .when-open{display:none}
body[data-page="places"] .places-index-panel[open] .when-closed{display:none}
body[data-page="places"] .places-index-panel[open] .when-open{display:inline}
body[data-page="places"] .places-index-chevron{
  display:inline-block;
  font-size:1.25rem;
  line-height:1;
  transition:transform .18s ease;
}
body[data-page="places"] .places-index-panel[open] .places-index-chevron{transform:rotate(180deg)}
body[data-page="places"] .places-index-content{
  padding:14px;
  border-top:1px solid rgba(147,91,21,.16);
}
body[data-page="places"] .places-index-content .places-index{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
@media(max-width:620px){
  body[data-page="places"] .places-index-summary{
    align-items:flex-start;
    flex-direction:column;
    min-height:0;
    padding:16px;
  }
  body[data-page="places"] .places-index-action{
    width:100%;
    justify-content:space-between;
    box-sizing:border-box;
  }
  body[data-page="places"] .places-index-content{padding:10px}
}
@media(prefers-reduced-motion:reduce){
  body[data-page="places"] .places-index-chevron{transition:none}
}


/* Force readable contrast for the collapsed Holy Places summary */
body[data-page="places"] details.places-index-panel{
  background:#f6e9cf!important;
  border-color:rgba(154,96,25,.36)!important;
}
body[data-page="places"] details.places-index-panel > summary.places-index-summary{
  background:#f6e9cf!important;
  color:#2b1b12!important;
}
body[data-page="places"] details.places-index-panel .places-index-heading,
body[data-page="places"] details.places-index-panel .places-index-heading strong{
  color:#721214!important;
}
body[data-page="places"] details.places-index-panel .places-index-heading small{
  color:#5a4332!important;
}
body[data-page="places"] details.places-index-panel .places-overline{
  color:#8b5b1d!important;
}
body[data-page="places"] details.places-index-panel .places-index-action,
body[data-page="places"] details.places-index-panel .when-closed,
body[data-page="places"] details.places-index-panel .when-open,
body[data-page="places"] details.places-index-panel .places-index-chevron{
  color:#721214!important;
}


/* Preserve complete sacred images at every breakpoint, including the home theme. */
body .today-icon, body .icon-day, body .day-media .icon-day,
body .temple-target-today .today-icon {
  display:block;
  width:100%;
  height:auto;
  max-height:480px;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
body .today-icon-wrap, body .icon-wrap {
  height:auto;
  overflow:visible;
}
body .bulgarian-saint-thumb { object-fit:contain; }
/* Fit the full image plus caption and controls in the enlarged preview. */
.lightbox-dialog { max-height:calc(100dvh - 32px); overflow:auto; }
.lightbox-dialog:not(.is-zoomed) img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(58vh, calc(100dvh - 230px));
  object-fit:contain;
  margin-inline:auto;
}


/* Full-height photo for Voyvodovo church in the Holy Places catalogue. */
/* This temple has a portrait source photograph: never crop off the bell tower
   or the porch to fit the standard landscape place-card thumbnail. */
body[data-page="places"] .place-card#sv-yoan-rilski-voyvodovo .place-photo,
body[data-page="places"] .place-card#sv-yoan-rilski-voyvodovo .place-photo a {
  background:#eee2c9;
}
body[data-page="places"] .place-card#sv-yoan-rilski-voyvodovo .place-photo img {
  display:block;
  width:100%;
  height:clamp(360px, 42vw, 540px);
  max-height:none;
  object-fit:contain;
  object-position:center center;
  background:linear-gradient(90deg,#e9d9ba 0%,#f8eedb 50%,#e9d9ba 100%);
}
@media (max-width:700px) {
  body[data-page="places"] .place-card#sv-yoan-rilski-voyvodovo .place-photo img {
    height:clamp(310px, 75vw, 460px);
  }
}
@media (max-width:430px) {
  body[data-page="places"] .place-card#sv-yoan-rilski-voyvodovo .place-photo img {
    height:clamp(300px, 90vw, 380px);
  }
}
