/* ==========================================================================
   Layout: Oratory (editorial, traditional)
   Loaded after styles.css and theme.css.php. Only arranges and styles;
   every colour comes from the active colour theme's variables.
   Fonts are self-hosted (no third-party requests).
   ========================================================================== */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/layouts/cormorant-500.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/layouts/cormorant-600.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/layouts/cormorant-500-italic.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/layouts/inter-var.woff2) format('woff2');}

:root{--radius:0px;}
body.layout-oratory{
  --o-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --o-sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --o-gold:color-mix(in srgb,var(--bronze) 65%,#fff);
  --o-gold-light:color-mix(in srgb,var(--bronze) 40%,#fff);
  font-family:var(--o-sans);font-weight:400;overflow-x:clip;
}
.layout-oratory h1,.layout-oratory h2,.layout-oratory h3,
.layout-oratory .brand .name,.layout-oratory .nav-drawer-head span,
.layout-oratory .urgent-box .num,.layout-oratory .sac-card.urgent .num,
.layout-oratory .intention-widget .month-tab,.layout-oratory .intention-widget .intention-theme,
.layout-oratory .agenda-date .day,.layout-oratory .cal-preview-item .datebadge .day,
.layout-oratory .day-chip .day,.layout-oratory .cal-daybadge .day,.layout-oratory .foot-grid h4{
  font-family:var(--o-serif);
}
.layout-oratory .announce h3,.layout-oratory .cal-preview-item h3{font-family:var(--o-sans);}
.layout-oratory :focus-visible{outline:3px solid #1a5fd1;outline-offset:2px;}
.layout-oratory .mass-card :focus-visible,.layout-oratory .hero :focus-visible,.layout-oratory footer :focus-visible,.layout-oratory .site-header :focus-visible{outline-color:#fff;}

/* full-bleed bands (content inside stays within the 1180px column) */
.layout-oratory .site-header,
.layout-oratory .universalis-banner,
.layout-oratory footer{width:100vw;margin-left:calc(50% - 50vw);}

/* ---------- header: centred masthead ---------- */
.layout-oratory .site-header{background:var(--parchment);border-bottom:1px solid var(--line);}
.layout-oratory .topbar{max-width:1180px;margin:0 auto;padding:12px 20px 8px;background:transparent;}
.layout-oratory .brand .name{font-weight:600;font-size:20px;}
.layout-oratory .brand .place{letter-spacing:.1em;}
.layout-oratory .give-btn{background:var(--ink);color:var(--parchment);border-radius:0;font-weight:600;letter-spacing:.04em;}
.layout-oratory .give-btn.active{background:var(--ink);box-shadow:inset 0 0 0 2px var(--o-gold);}
.layout-oratory .devotional-line{max-width:1180px;margin:0 auto;font-family:var(--o-serif);font-size:14px;padding:0 20px 10px;}
.layout-oratory .hamburger{border-radius:0;}

/* ---------- liturgical band ---------- */
.layout-oratory .universalis-banner{padding:8px 20px 9px;border-bottom:0;font-family:var(--o-sans);}
.layout-oratory .universalis-banner #uni-date{font-family:var(--o-sans);font-size:12px;letter-spacing:.14em;}
.layout-oratory .universalis-banner #uni-day{font-family:var(--o-serif);font-size:16px;font-style:italic;margin-top:0;}

/* ---------- hero: full-width photo, large serif headline ---------- */
.layout-oratory .hero{
  position:relative;display:block;width:100vw;margin:0 0 0 calc(50% - 50vw);padding:0;
  border-radius:0;overflow:hidden;min-height:540px;background:var(--ink);
}
.layout-oratory .hero-photo{position:absolute;inset:0;height:auto;border-radius:0;margin:0;order:0;}
.layout-oratory .hero-slide::after{
  background:linear-gradient(180deg,rgba(16,18,16,.34) 0%,rgba(16,18,16,.56) 48%,rgba(16,18,16,.9) 100%);
}
.layout-oratory .hero-slide .cap{border-radius:0;background:rgba(16,18,16,.6);letter-spacing:.04em;}
.layout-oratory .hero-text{
  position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:540px;max-width:1180px;margin:0 auto;padding:90px 20px 76px;pointer-events:none;
}
.layout-oratory .hero-text a{pointer-events:auto;}
.layout-oratory .hero h1{
  font-weight:500;font-size:clamp(42px,10vw,62px);line-height:1.02;color:#fff;
  max-width:13ch;margin-bottom:16px;letter-spacing:0;
}
.layout-oratory .hero h1 em{font-style:italic;color:var(--o-gold-light);}
.layout-oratory .hero p.sub{font-size:17px;line-height:1.55;max-width:46ch;color:rgba(255,255,255,.92);margin-bottom:24px;}
.layout-oratory .cta{
  background:var(--o-gold);color:var(--ink);border-radius:0;box-shadow:none;
  padding:13px 24px;font-size:14.5px;font-weight:600;letter-spacing:.03em;
}
.layout-oratory .cta:hover{background:var(--o-gold-light);}
.layout-oratory .hero-location{letter-spacing:.08em;}

/* ---------- home: card grid ---------- */
.layout-oratory .home-stack{padding-top:30px;}
.layout-oratory .mass-card{
  background:var(--ink);color:var(--parchment);border:1px solid var(--ink);padding:30px 22px 22px;
}
.layout-oratory .mass-card h2{color:#fff;font-size:28px;font-weight:500;}
.layout-oratory .mass-card .updated{color:rgba(255,255,255,.72);}
.layout-oratory .mass-card .season-tab{border-radius:0;}
.layout-oratory .church{color:#fff;border-top:1px solid rgba(255,255,255,.2);}
.layout-oratory .church:first-child{border-top:0;}
.layout-oratory .church .name{color:inherit;font-family:var(--o-serif);font-size:23px;font-weight:600;}
.layout-oratory .church .times{color:rgba(255,255,255,.84);}
.layout-oratory .church .times strong{color:#fff;}
.layout-oratory .church.is-selected{background:rgba(255,255,255,.14);color:#fff;}
.layout-oratory .mass-card .full-link{color:var(--o-gold-light);border-bottom-color:var(--o-gold-light);}

.layout-oratory .home-section-card{background:var(--white);border:1px solid var(--line);padding:26px 22px 24px;}
.layout-oratory .section-head h2{font-size:30px;font-weight:500;}
.layout-oratory .section-head a{color:var(--bronze-deep);font-weight:500;}
.layout-oratory .news-filter-chips .chip{border:1px solid var(--line);padding:7px 13px;color:var(--ink-soft);font-weight:500;}
.layout-oratory .news-filter-chips .chip.active{background:var(--ink);color:var(--parchment);border-color:var(--ink);}
.layout-oratory .home-announce-list{gap:0 36px;}
.layout-oratory .home-announce-list .announce{border-top:1px solid var(--line);padding:16px 0;}
.layout-oratory .announce h3{font-family:var(--o-serif);font-size:22px;font-weight:600;line-height:1.15;}
.layout-oratory .announce p{font-size:14.5px;}
.layout-oratory .announce-icon{border-radius:0;background:transparent;border:1px solid var(--line);}
.layout-oratory .cal-preview-item h3{font-weight:600;}
.layout-oratory .cal-preview-item .datebadge{border-radius:0;}
.layout-oratory .home-bulletin-card .cta{background:var(--ink);color:var(--parchment);}
.layout-oratory .home-bulletin-card .cta:hover{background:#000;}
.layout-oratory .home-bulletin-new{border-radius:0;background:var(--o-gold);color:var(--ink);}

@media (min-width:820px){
  .layout-oratory .topbar{
    display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:". brand actions" "nav nav nav";
    align-items:center;column-gap:20px;padding:20px 44px 0;
  }
  .layout-oratory .topbar > a{grid-area:brand;}
  .layout-oratory .topbar > div{grid-area:actions;justify-self:end;}
  .layout-oratory .topbar > nav{
    grid-area:nav;justify-content:center;gap:38px;margin-top:16px;padding:13px 0;
    border-top:1px solid var(--line);font-size:14px;font-weight:500;letter-spacing:.05em;
  }
  .layout-oratory .brand{justify-content:center;column-gap:14px;}
  .layout-oratory .brand .name{font-size:36px;line-height:1.05;}
  .layout-oratory .brand .place{font-size:11.5px;}
  .layout-oratory .site-logo{height:60px;}
  .layout-oratory .devotional-line{padding:0 44px 12px;font-size:15px;}

  .layout-oratory .hero{min-height:660px;}
  .layout-oratory .hero-photo{position:absolute;height:auto;order:0;}
  .layout-oratory .hero-slide::after{
    background:linear-gradient(180deg,rgba(16,18,16,.34) 0%,rgba(16,18,16,.56) 50%,rgba(16,18,16,.9) 100%);
  }
  .layout-oratory .hero-text{position:relative;order:0;display:flex;min-height:660px;padding:96px 44px 104px;}
  .layout-oratory .hero h1{font-size:clamp(54px,5.8vw,80px);max-width:16ch;color:#fff;}
  .layout-oratory .hero h1 em{color:var(--o-gold-light);}
  .layout-oratory .hero p.sub{font-size:19px;color:rgba(255,255,255,.92);max-width:44ch;}
  .layout-oratory .hero-locations{
    left:50%;right:auto;transform:translateX(-50%);width:100%;max-width:1180px;
    bottom:22px;padding:0 44px;gap:8px;
  }
  .layout-oratory .hero-location{text-align:left;flex:0 1 auto;padding:8px 14px 8px 0;}

  .layout-oratory .home-stack{
    display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:stretch;
    max-width:1180px;margin:0 auto;padding:60px 44px 20px;
  }
  .layout-oratory .home-stack > *{margin:0 !important;}
  .layout-oratory .home-stack > .mass-card{grid-column:1 / span 5;grid-row:1;padding:32px 30px 26px;}
  .layout-oratory .home-stack > .home-news{grid-column:6 / span 7;grid-row:1;padding:30px 32px;}
  .layout-oratory .home-stack > .home-bulletin-card{grid-column:1 / -1;grid-row:2;}
  .layout-oratory .home-stack > .home-calendar{grid-column:1 / -1;padding:30px 32px;}
  .layout-oratory .home-stack > *{transition:box-shadow .25s ease,transform .25s ease;}
  .layout-oratory .home-stack > *:hover{box-shadow:0 16px 34px -18px rgba(32,41,31,.45);transform:translateY(-2px);}

  .layout-oratory .church-row{grid-template-columns:1fr;gap:0;}
  .layout-oratory .church{flex-direction:row;justify-content:space-between;align-items:baseline;border-left:0;padding:13px 0;}
  .layout-oratory .church:first-child{padding-left:0;}
  .layout-oratory .church .times{text-align:right;margin-top:0;}
  .layout-oratory .church.is-selected{margin:0 -12px;padding-left:12px;padding-right:12px;}
  .layout-oratory .home-announce-list{grid-template-columns:1fr 1fr;}
  .layout-oratory .home-announce-list .announce{flex-direction:row;}
}
@media (prefers-reduced-motion:reduce){
  .layout-oratory .home-stack > *{transition:none;}
  .layout-oratory .home-stack > *:hover{transform:none;}
}

/* ---------- footer ---------- */
.layout-oratory footer{padding:34px 20px 20px;}
.layout-oratory .foot-ack-block{font-family:var(--o-serif);font-size:clamp(15px,3.6vw,19px)!important;color:var(--footer-text)!important;line-height:1.45!important;}
.layout-oratory .foot-grid h4{font-weight:600;font-size:20px;}
.layout-oratory .foot-diocese-crest{border-radius:50%;}
@media (min-width:820px){.layout-oratory footer{padding:56px max(44px,calc(50vw - 546px)) 28px;}}


.layout-oratory footer .foot-ack-block,.layout-oratory footer .foot-base,.layout-oratory footer .powered-by{color:var(--footer-text)!important;}

/* ---------- inner pages ---------- */
.layout-oratory .breadcrumb{font-size:12.5px;letter-spacing:.03em;}
.layout-oratory .page-header{border-bottom:1px solid var(--ink);padding:14px 20px 20px;margin-bottom:22px;}
.layout-oratory .page-header .eyebrow{letter-spacing:.14em;font-weight:600;}
.layout-oratory .page-header h1{font-size:clamp(38px,8vw,56px);font-weight:500;line-height:1.04;margin-bottom:8px;}
.layout-oratory .page-header p{font-size:16px;line-height:1.6;max-width:62ch;}
.layout-oratory .mt-church-card,.layout-oratory .sac-card,.layout-oratory .info-card,
.layout-oratory .contact-form,.layout-oratory .photo-card,.layout-oratory .agenda-day,
.layout-oratory .cal-cell,.layout-oratory .intention-widget{background:var(--white);border-color:var(--line);}
.layout-oratory .mt-church-card h3{font-size:26px;font-weight:600;}
.layout-oratory .sac-card h3{font-size:23px;font-weight:600;}
.layout-oratory .info-card h3,.layout-oratory .photo-card-body h3{font-size:20px;font-weight:600;}
.layout-oratory .news-col h2,.layout-oratory .block-content h2{font-weight:500;}
.layout-oratory .news-col h2{font-size:26px;}
.layout-oratory .block-content h2{font-size:30px;}
.layout-oratory .block-content h3{font-size:23px;font-weight:600;}
.layout-oratory .block-content p{font-size:15.5px;line-height:1.75;}
.layout-oratory blockquote{font-family:var(--o-serif);font-size:21px;line-height:1.4;}
.layout-oratory .form-submit{background:var(--ink);border-radius:0;letter-spacing:.03em;}
.layout-oratory .month-switch h2{font-size:26px;font-weight:500;}
.layout-oratory .status-badge{border-radius:0;}
@media (min-width:820px){
  .layout-oratory .page-header{padding:18px 44px 26px;margin-bottom:30px;}
  .layout-oratory .mt-church-card,.layout-oratory .sac-card{transition:box-shadow .25s ease,transform .25s ease;}
  .layout-oratory .mt-church-card:hover,.layout-oratory .sac-card:hover{box-shadow:0 14px 30px -18px rgba(32,41,31,.45);transform:translateY(-2px);}
}

/* ---- Real-page fixes (masstimes, calendar, contact, sacraments) ---- */
.layout-oratory .sac-card.urgent{background:#3C2E1E;border-color:#5A4530;}
.layout-oratory .sac-card.urgent h3,.layout-oratory .sac-card.urgent .go,.layout-oratory .sac-card.urgent .num{color:#fff;}
.layout-oratory .sac-card.urgent p{color:#D9CFC0;}
.layout-oratory .sac-card.urgent .sac-icon{background:rgba(255,255,255,.12);color:#fff;border-color:transparent;}
.layout-oratory .form-row select{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-family:inherit;font-size:14px;background:var(--parchment);color:var(--ink);}
@media (min-width:820px){
  .layout-oratory .month-switch,.layout-oratory .cal-legend{padding-left:0;padding-right:0;}
  .layout-oratory .cal-grid,.layout-oratory .cal-weekday-row{margin-left:0;margin-right:0;}
}

/* News category label: the page sets it inline to the light accent colour, which fails contrast on some themes */
.layout-oratory .news-category-badge{color:var(--bronze-deep) !important;}

/* "See full times" fallback is styled inline with the dark-on-light grey; make it readable on the dark Mass card */
.layout-oratory .church .times span{color:inherit !important;}
