/* 4.8.164 — final public polish. */
:root{
  --ocu164-navy:#071f33;
  --ocu164-panel:#0b2b45;
  --ocu164-panel2:#103955;
  --ocu164-gold:#e3b72f;
  --ocu164-cream:#f6f0e5;
  --ocu164-muted:#d4dee6;
  --ocu164-line:rgba(227,183,47,.62);
}

/* Search: always show the complete field and submit button. */
.ocsai-plugin-search-strip{
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.ocsai-plugin-search-strip__inner{
  width:min(calc(100% - 24px),1500px)!important;
  max-width:1500px!important;
  min-width:0!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.ocsai-plugin-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  width:min(100%,820px)!important;
  max-width:820px!important;
  min-width:0!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.ocsai-plugin-search form{
  display:contents!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.ocsai-plugin-search input[type=search]{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 15px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ocsai-plugin-search button{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:38px!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
@media(max-width:921px){
  .ocsai-plugin-search-strip__inner{width:100%!important;padding-inline:8px!important}
  .ocsai-plugin-search{width:100%!important;max-width:none!important;grid-template-columns:minmax(0,1fr) 42px!important}
  .ocsai-plugin-search button{width:42px!important;min-width:42px!important;max-width:42px!important}
}

/* Header navigation remains one calm, consistent uppercase system. */
@media(min-width:922px){
  .ocsai-plugin-primary-header__nav a,
  .ocsai-plugin-primary-header__nav summary,
  .ocsai-plugin-primary-header__nav .ocsai-login-menu-trigger{
    text-transform:uppercase!important;
    letter-spacing:.055em!important;
  }
}

/* Classic homepage: one centered rhythm without changing content order. */
body.home.ocu48148-legacy-home :is(
  .ocsai-home-sections,
  .ocsai-services-calendar,
  .ocu431-coming,
  .ocu431-media-section,
  .ocu431-articles,
  .ocu439-home-prayer,
  .ocu48130-home-call
){
  width:min(1200px,calc(100% - 48px))!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.home.ocu48148-legacy-home :is(.ocsai-home-explore-grid,.ocu431-article-grid){align-items:stretch!important}
body.home.ocu48148-legacy-home :is(.ocsai-home-explore-grid>a,.ocu431-article-grid article){height:100%!important}

/* Service calendar + saint lives: one coherent full-width block. */
.ocsai-services-calendar{
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.ocsai-services-calendar .ocsai-cal-layout{
  align-items:start!important;
}
.ocsai-services-calendar .ocsai-cal-after{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  clear:both!important;
  box-sizing:border-box!important;
}
.ocsai-services-calendar .ocsai-cal-saints{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.ocsai-services-calendar .ocsai-cal-saints__head h3{
  display:block!important;
  width:auto!important;
  margin:0 0 7px!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--ocu164-cream)!important;
  -webkit-text-fill-color:var(--ocu164-cream)!important;
}
.ocsai-services-calendar .ocsai-cal-saints__head p{
  color:var(--ocu164-muted)!important;
  -webkit-text-fill-color:var(--ocu164-muted)!important;
}
.ocsai-services-calendar .ocsai-cal-saints__grid{
  display:grid!important;
  grid-template-columns:repeat(var(--ocu-saint-cols,4),minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:14px!important;
  align-items:stretch!important;
  width:100%!important;
}
.ocsai-services-calendar .ocsai-cal-saint{
  display:grid!important;
  grid-template-rows:160px minmax(0,1fr)!important;
  height:100%!important;
  min-height:345px!important;
  overflow:hidden!important;
  border:1px solid var(--ocu164-line)!important;
  border-radius:15px!important;
  background:var(--ocu164-panel2)!important;
  color:var(--ocu164-cream)!important;
  box-sizing:border-box!important;
}
.ocsai-services-calendar .ocsai-cal-saint figure{
  margin:0!important;
  width:100%!important;
  height:160px!important;
  overflow:hidden!important;
  padding:8px!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(145deg,var(--ocu164-navy),#0b304b)!important;
}
.ocsai-services-calendar .ocsai-cal-saint img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.ocsai-services-calendar .ocsai-cal-saint>div{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:16px!important;
}
.ocsai-services-calendar .ocsai-cal-saint h4{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  margin:0 0 9px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  line-height:1.28!important;
}
.ocsai-services-calendar .ocsai-cal-saint p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
  margin:0 0 12px!important;
  color:var(--ocu164-muted)!important;
  -webkit-text-fill-color:var(--ocu164-muted)!important;
  line-height:1.5!important;
}
.ocsai-services-calendar .ocsai-cal-saint span{
  margin-top:auto!important;
  color:var(--ocu164-gold)!important;
  -webkit-text-fill-color:var(--ocu164-gold)!important;
}
.ocsai-services-calendar .ocsai-cal-contact--after{
  margin-top:20px!important;
}
@media(max-width:860px){
  .ocsai-services-calendar .ocsai-cal-saints__grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important}
}
@media(max-width:640px){
  body.home.ocu48148-legacy-home :is(.ocsai-home-sections,.ocsai-services-calendar,.ocu431-coming,.ocu431-media-section,.ocu431-articles,.ocu439-home-prayer,.ocu48130-home-call){width:calc(100% - 24px)!important}
  .ocsai-services-calendar .ocsai-cal-saints__grid{grid-template-columns:1fr!important}
  .ocsai-services-calendar .ocsai-cal-saint{grid-template-rows:210px minmax(0,1fr)!important;min-height:0!important}
  .ocsai-services-calendar .ocsai-cal-saint figure{height:210px!important}
}

/* 4.8.169 — smaller saint-card imagery; preserve full icon/portrait without dominating the card. */
.ocsai-services-calendar .ocsai-cal-saint{grid-template-rows:clamp(112px,10vw,140px) 1fr!important}
.ocsai-services-calendar .ocsai-cal-saint figure{padding:10px!important}
.ocsai-services-calendar .ocsai-cal-saint img{object-fit:contain!important;object-position:center!important}
@media(max-width:640px){.ocsai-services-calendar .ocsai-cal-saint{grid-template-rows:132px 1fr!important}}

/* 4.8.170 — saint cards: balanced image/text rhythm for specific daily biographies. */
.ocsai-services-calendar .ocsai-cal-saint{
  grid-template-rows:140px minmax(0,1fr)!important;
  min-height:360px!important;
}
.ocsai-services-calendar .ocsai-cal-saint figure{
  height:140px!important;
  padding:8px!important;
}
.ocsai-services-calendar .ocsai-cal-saint h4{
  -webkit-line-clamp:3!important;
  min-height:3.7em!important;
}
.ocsai-services-calendar .ocsai-cal-saint p{
  -webkit-line-clamp:5!important;
}
@media(max-width:640px){
  .ocsai-services-calendar .ocsai-cal-saint{grid-template-rows:170px minmax(0,1fr)!important;min-height:0!important}
  .ocsai-services-calendar .ocsai-cal-saint figure{height:170px!important}
}


/* 4.8.172 — portrait-safe saint images and mobile service detail actions. */
.ocsai-services-calendar .ocsai-cal-saint figure{
  height:152px!important;
  min-height:152px!important;
  padding:10px!important;
  overflow:hidden!important;
}
.ocsai-services-calendar .ocsai-cal-saint img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
}
.ocsai-services-calendar .ocsai-cal-saint img[src*="Gabriel%20Urgebadze"],
.ocsai-services-calendar .ocsai-cal-saint img[src*="Gabriel_Urgebadze"],
.ocsai-services-calendar .ocsai-cal-saint img[alt*="Gabriel"],
.ocsai-services-calendar .ocsai-cal-saint img[alt*="Gabri"]{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center top!important;
}
body.ocu48154-saint-life .ocu48154-single__hero figure{
  overflow:hidden!important;
}
body.ocu48154-saint-life .ocu48154-single__hero img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:604px!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center top!important;
  margin:auto!important;
}
@media(max-width:820px){
  .ocsai-services-calendar .ocsai-cal-event{
    overflow:visible!important;
  }
  .ocsai-services-calendar .ocsai-cal-event .ocsai-cal-more,
  .ocsai-services-calendar .ocsai-cal-event .ocsai-cal-more--first{
    display:flex!important;
    width:100%!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:10px 13px!important;
    margin:8px 0 10px!important;
    border:1px solid rgba(236,198,84,.72)!important;
    border-radius:12px!important;
    background:rgba(236,198,84,.09)!important;
    color:#ffe18a!important;
    -webkit-text-fill-color:#ffe18a!important;
    white-space:normal!important;
    line-height:1.3!important;
    position:relative!important;
    z-index:3!important;
  }
  .ocsai-services-calendar .ocsai-cal-event .ocsai-cal-more *{
    color:#ffe18a!important;
    -webkit-text-fill-color:#ffe18a!important;
  }
}

/* 4.8.176 — Doxologia-inspired dense daily saints directory. */
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saints__grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:12px!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint{
  display:grid!important;
  grid-template-columns:108px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  min-height:184px!important;
  height:auto!important;
  overflow:hidden!important;
  border:1px solid rgba(228,183,47,.62)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#0b2d49,#0e3858)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.10)!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__media,
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint figure{
  grid-column:1!important;
  grid-row:1!important;
  width:108px!important;
  height:100%!important;
  min-height:184px!important;
  margin:0!important;
  padding:9px!important;
  border-right:1px solid rgba(228,183,47,.32)!important;
  background:#071f33!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__media.is-empty{
  color:#e4b72f!important;
  font-size:2.1rem!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:166px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__copy,
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint>div{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  padding:14px 14px 12px!important;
  display:flex!important;
  flex-direction:column!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint h4{
  min-height:0!important;
  margin:0 0 7px!important;
  color:#fff8df!important;
  -webkit-text-fill-color:#fff8df!important;
  font:600 .98rem/1.28 Georgia,serif!important;
  -webkit-line-clamp:3!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint p{
  margin:0 0 10px!important;
  color:#e7edf2!important;
  -webkit-text-fill-color:#e7edf2!important;
  font-size:.80rem!important;
  line-height:1.44!important;
  -webkit-line-clamp:4!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:auto!important;
  padding-top:3px!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  margin:0!important;
  padding:5px 9px!important;
  border:1px solid rgba(228,183,47,.58)!important;
  border-radius:999px!important;
  color:#e4b72f!important;
  -webkit-text-fill-color:#e4b72f!important;
  background:rgba(5,27,45,.35)!important;
  text-decoration:none!important;
  font-size:.66rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__actions a:first-child{
  background:#e4b72f!important;
  color:#08243a!important;
  -webkit-text-fill-color:#08243a!important;
}
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__actions a:hover,
.ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__actions a:focus-visible{
  filter:brightness(1.08);
}
@media(max-width:1080px){
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saints__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saints__grid{grid-template-columns:1fr!important}
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint{grid-template-columns:92px minmax(0,1fr)!important;min-height:168px!important}
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__media,
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint figure{width:92px!important;min-height:168px!important;height:100%!important;padding:7px!important}
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint img{max-height:154px!important}
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint__copy,
  .ocsai-services-calendar .ocsai-cal-saints--48176 .ocsai-cal-saint>div{padding:12px 11px 11px!important}
}
