/*
Theme Name: Mor Ignatius
Theme URI: https://morignatiuschurch.ca/
Author: Parish IT Team
Description: Child theme of Twenty Twenty-Five for St. Ignatius Syriac Orthodox Church, Ottawa. Burgundy and gold, block-based, no page builder.
Template: twentytwentyfive
Version: 0.4.2
Text Domain: morignatius
*/

:root{
  --mi-burgundy:#5e1224; --mi-burgundy-dark:#42091a; --mi-gold:#c19a3d; --mi-gold-dark:#8a6a1f;
  --mi-cream:#faf6ef; --mi-ink:#221d1a;
}
body{ background:var(--mi-cream); }
a{ text-underline-offset:3px; }
:focus-visible{ outline:3px solid var(--mi-gold-dark); outline-offset:2px; }

/* Header */
.mi-header{ border-bottom:4px solid var(--mi-gold); background:#fff; }
.mi-header .wp-block-site-title{ font-family:Georgia,'Times New Roman',serif; font-weight:700; }
.mi-header nav a{ font-weight:600; }

/* Hero */
.mi-hero{ background:linear-gradient(160deg,var(--mi-burgundy) 0%,var(--mi-burgundy-dark) 100%); color:var(--mi-cream); }
.mi-hero h1,.mi-hero h2{ color:#fff; }
.mi-hero .wp-block-button__link{ background:var(--mi-gold); color:var(--mi-ink); font-weight:700; border-radius:4px; }
.mi-hero .is-style-outline .wp-block-button__link{ background:transparent; color:#fff; border:2px solid #fff; }

/* This Week band */
.mi-thisweek{ background:#fff; border:2px solid var(--mi-gold); border-radius:8px; }
.mi-thisweek h2{ color:var(--mi-burgundy); }

/* Cards */
.mi-card{ background:#fff; border:1px solid #e5dcc8; border-top:5px solid var(--mi-burgundy); border-radius:6px; }
.mi-card h3{ color:var(--mi-burgundy); }

/* Give band */
.mi-give{ background:var(--mi-burgundy); color:var(--mi-cream); }
.mi-give h2{ color:#fff; }
.mi-give code,.mi-give .mi-email{ background:rgba(255,255,255,.12); padding:.1em .45em; border-radius:4px; color:#fff; font-size:1.05em; }

/* Footer */
.mi-footer{ background:var(--mi-ink); color:#e9e2d5; }
.mi-footer a{ color:#e9e2d5; }
.mi-footer h2,.mi-footer h3{ color:#fff; }

/* ICS Calendar tweaks */
.ics-calendar{ background:#fff; }
.ics-calendar-list{ list-style:none; padding-left:0; }

/* Spotlight feed placeholder spacing */
.mi-feed-note{ border:2px dashed var(--mi-gold); background:#fff; border-radius:6px; }

.mi-header .mi-logo { margin: 0; }
.mi-header .mi-logo img { border-radius: 50%; }
.mi-photo img { border-radius: 10px; }

/* Page loader (BlockUI-style overlay, no jQuery plugin needed) */
#mi-loader{ position:fixed; inset:0; z-index:9999; background:var(--mi-cream, #faf6ef); display:flex; align-items:center; justify-content:center; transition:opacity .45s ease, visibility .45s ease; }
#mi-loader.mi-done{ opacity:0; visibility:hidden; pointer-events:none; }
.mi-loader-inner{ text-align:center; color:var(--mi-burgundy, #5e1224); font-family:Georgia, 'Times New Roman', serif; }
.mi-loader-inner img{ border-radius:50%; }
.mi-loader-inner p{ margin:6px 0 0; letter-spacing:.04em; }
.mi-spinner{ width:38px; height:38px; margin:14px auto 4px; border-radius:50%; border:4px solid rgba(94,18,36,.18); border-top-color:var(--mi-burgundy, #5e1224); animation:mi-spin .8s linear infinite; }
@keyframes mi-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .mi-spinner{ animation:none; } #mi-loader{ transition:none; } }

/* ICS Calendar AJAX loading state */
.r34ics-ajax-container.loading{ position:relative; min-height:170px; }
.r34ics-ajax-container.loading::before{ content:""; position:absolute; left:50%; top:36px; width:34px; height:34px; margin-left:-17px; border-radius:50%; border:4px solid rgba(94,18,36,.18); border-top-color:var(--mi-burgundy, #5e1224); animation:mi-spin .8s linear infinite; }
.r34ics-ajax-container.loading::after{ content:"Loading services\2026"; position:absolute; left:0; right:0; top:84px; text-align:center; color:var(--mi-burgundy, #5e1224); font-family:Georgia, 'Times New Roman', serif; }

/* === Design layer v2 (2026-11-02) === */
:root{ --mi-burgundy-dark:#42091a; --mi-shadow:0 14px 34px rgba(34,29,26,.10); }
body{ background:var(--mi-cream); }

/* Header: sticky, gold rule, serif wordmark */
.mi-header{ position:sticky; top:0; z-index:900; background:rgba(250,246,239,.97); border-bottom:3px solid var(--mi-gold); box-shadow:0 2px 14px rgba(34,29,26,.08); }
.wp-block-site-title{ font-family:Georgia, 'Times New Roman', serif; font-size:1.3rem; font-weight:700; letter-spacing:.01em; }
.wp-block-site-title a{ color:var(--mi-burgundy); text-decoration:none; }
.mi-header .wp-block-navigation a{ font-weight:600; color:var(--mi-ink); }
.mi-header .wp-block-navigation a:hover{ color:var(--mi-burgundy); text-decoration:underline; text-decoration-color:var(--mi-gold); text-decoration-thickness:2px; text-underline-offset:4px; }

/* Hero: Qurbono photo under a deep burgundy veil */
.mi-hero{ background:linear-gradient(rgba(46,7,17,.87), rgba(66,9,26,.93)), url('assets/holy-qurbono.jpg') center 28%/cover no-repeat; border-radius:0 0 20px 20px; box-shadow:0 18px 42px rgba(66,9,26,.28); text-align:center; }
.mi-hero h1{ font-size:clamp(2rem, 5.4vw, 3.4rem); line-height:1.12; max-width:23ch; margin-inline:auto; }
.mi-hero h1::after{ content:""; display:block; width:86px; height:4px; margin:1.15rem auto 0; background:var(--mi-gold); border-radius:2px; }
.mi-hero p{ max-width:57ch; margin-inline:auto; }
.mi-hero .wp-block-buttons{ justify-content:center; }
.mi-hero .wp-block-button__link{ border-radius:999px; padding:.85rem 1.6rem; box-shadow:0 8px 20px rgba(0,0,0,.28); }
.mi-hero .is-style-outline .wp-block-button__link{ border-color:var(--mi-gold); color:#fff; }

/* Headings inside pages: burgundy with a short gold rule */
main .wp-block-post-content h1{ color:var(--mi-burgundy); }
main h2{ color:var(--mi-burgundy); }
main .wp-block-post-content h2::after{ content:""; display:block; width:52px; height:3px; margin-top:.4rem; background:var(--mi-gold); border-radius:2px; }
main a{ text-decoration-color:var(--mi-gold); text-underline-offset:3px; }

/* This Week: white card, gold top edge */
.mi-thisweek{ background:#fff; border:1px solid #eadfc6; border-top:6px solid var(--mi-gold); border-radius:14px; box-shadow:var(--mi-shadow); }

/* Ministry / committee cards */
.mi-card{ border-radius:12px; border-top:5px solid var(--mi-gold); box-shadow:0 10px 26px rgba(34,29,26,.08); transition:transform .25s ease, box-shadow .25s ease; }
.mi-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px rgba(34,29,26,.13); }

/* Buttons everywhere: pill */
.wp-block-button__link{ border-radius:999px; }

/* Give band */
.mi-give{ background:linear-gradient(150deg, var(--mi-burgundy) 0%, var(--mi-burgundy-dark) 100%); border-radius:14px; box-shadow:var(--mi-shadow); }

/* Photos */
.mi-photo img{ box-shadow:0 14px 30px rgba(34,29,26,.16); }
.wp-block-image figcaption{ color:#6f6151; font-style:italic; text-align:center; }

/* Footer: deep burgundy, gold top edge */
.mi-footer{ background:linear-gradient(180deg, #2e0a15 0%, #1d060d 100%); border-top:4px solid var(--mi-gold); }

/* === Design layer v3: sacred atmosphere (2026-11-02) === */
.mi-hero{ background:radial-gradient(ellipse 65% 50% at 50% -8%, rgba(216,178,78,.38), rgba(216,178,78,0) 62%), linear-gradient(rgba(46,7,17,.88), rgba(66,9,26,.94)), url('assets/holy-qurbono.jpg') center 28%/cover no-repeat; }
.mi-verse{ background-image:radial-gradient(rgba(193,154,61,.09) 1px, rgba(193,154,61,0) 1.7px), linear-gradient(165deg, #33101d 0%, #20060f 100%); background-size:22px 22px, cover; color:var(--mi-cream); border-radius:14px; box-shadow:var(--mi-shadow); text-align:center; }
.mi-verse .mi-orn{ color:var(--mi-gold); letter-spacing:.55em; margin-bottom:.4rem; }
.mi-verse .mi-verse-line{ font-family:Georgia, 'Times New Roman', serif; font-size:1.45rem; color:#f0d9a0; margin:.2rem 0; }
.mi-verse .mi-verse-text{ font-family:Georgia, 'Times New Roman', serif; font-style:italic; font-size:1.12rem; max-width:52ch; margin:.4rem auto; }
.mi-verse .mi-verse-ref{ color:var(--mi-gold); letter-spacing:.14em; text-transform:uppercase; font-size:.8rem; }
.mi-saint{ background-image:radial-gradient(rgba(193,154,61,.08) 1px, rgba(193,154,61,0) 1.7px), linear-gradient(160deg, #2a0e18 0%, #1d060d 100%); background-size:22px 22px, cover; color:var(--mi-cream); border-radius:14px; box-shadow:var(--mi-shadow); overflow:hidden; }
.mi-saint .wp-block-media-text__media img{ border:3px solid var(--mi-gold); outline:1px solid rgba(193,154,61,.55); outline-offset:7px; box-shadow:0 16px 34px rgba(0,0,0,.45); }
.mi-saint h2{ color:#f0d9a0; }
.mi-saint h2::after{ background:var(--mi-gold); }
.mi-saint a{ color:#f0d9a0; }
main .wp-block-post-content > h1{ text-align:center; font-size:clamp(1.95rem, 4.8vw, 2.75rem); }
main .wp-block-post-content > h1::after{ content:""; display:block; width:64px; height:4px; margin:.9rem auto 0; background:var(--mi-gold); border-radius:2px; }

.mi-verse .mi-verse-text, .mi-verse .mi-verse-ref{ transition:opacity .38s ease; }
.mi-verse .mi-fading{ opacity:0; }
.mi-foot-verse{ font-family:Georgia, 'Times New Roman', serif; font-style:italic; text-align:center; color:#f0d9a0; margin-bottom:.1rem; }
.mi-foot-ref{ text-align:center; color:var(--mi-gold); letter-spacing:.14em; text-transform:uppercase; font-size:.75rem; margin-top:0; }

@keyframes mi-loader-autohide{ to{ opacity:0; visibility:hidden; } }
#mi-loader{ animation:mi-loader-autohide .5s ease 4.5s forwards; }

/* === Design layer v3.1: hero legibility (2026-11-02) === */
.mi-hero{ background:radial-gradient(ellipse 65% 50% at 50% -8%, rgba(216,178,78,.34), rgba(216,178,78,0) 62%), linear-gradient(rgba(46,7,17,.46), rgba(66,9,26,.66)), url('assets/holy-qurbono.jpg') center 26%/cover no-repeat; }
.mi-hero h1, .mi-hero .wp-block-heading{ color:#fdf8ec; text-shadow:0 2px 16px rgba(0,0,0,.5); }
.mi-hero p{ text-shadow:0 1px 10px rgba(0,0,0,.45); }

/* === Spacing pass (2026-11-02): every box gets real inner padding === */
.mi-hero{ padding:clamp(2.4rem, 6vw, 3.8rem) clamp(1.15rem, 4vw, 2.4rem); }
.mi-thisweek{ padding:1.5rem clamp(1.15rem, 4vw, 1.9rem) 1.7rem; }
.mi-card{ padding:1.3rem 1.4rem 1.45rem; }
.mi-give{ padding:2rem clamp(1.15rem, 4vw, 2.2rem); }
.mi-verse{ padding:2.1rem clamp(1.15rem, 4vw, 2.2rem) 1.9rem; }
.mi-saint{ padding:clamp(1.3rem, 4vw, 2.1rem); }
.mi-saint .wp-block-media-text__media{ margin:0; }
@media (max-width:600px){ .mi-saint .wp-block-media-text__content{ padding:1.15rem 0 0; } }
@media (min-width:601px){ .mi-saint .wp-block-media-text__content{ padding:0 0 0 clamp(.9rem, 3vw, 1.7rem); } }
.mi-feed-note{ padding:1.15rem 1.35rem; }
.mi-footer{ padding:2.2rem clamp(1.15rem, 4vw, 2.2rem) 1.7rem; }
.ics-calendar{ padding:1.1rem clamp(.9rem, 3.5vw, 1.5rem); }

/* === Design layer v4: full-bleed bands, designed header (2026-11-02) === */
.mi-header{ padding:.55rem clamp(1rem, 4vw, 2.5rem); }
.mi-header-in{ max-width:1240px; margin-inline:auto; }
.mi-brand{ gap:.65rem; min-width:0; }
.mi-brand .wp-block-site-title{ font-size:1.04rem; line-height:1.18; }
.mi-header .wp-block-navigation{ flex-shrink:0; }
.mi-hero{ border-radius:0; box-shadow:none; }
.mi-eyebrow{ color:var(--mi-gold); letter-spacing:.32em; text-transform:uppercase; font-size:.78rem; font-weight:600; margin-bottom:1rem; }
.mi-thisweek{ border:none; border-top:4px solid var(--mi-gold); border-radius:0; box-shadow:none; }
.mi-verse{ border-radius:0; box-shadow:none; }
.mi-saint{ border-radius:0; box-shadow:none; padding-inline:max(clamp(1.3rem, 4vw, 2.1rem), calc(50% - 570px)); }
.mi-give{ border-radius:0; }
.wp-block-post-content .alignfull.wp-block-image img{ width:100%; max-height:540px; object-fit:cover; }
.wp-block-post-content .alignfull.wp-block-image figcaption{ text-align:center; padding-top:.55rem; }

/* === Design layer v4.1: true full-bleed via viewport breakout (2026-11-02) === */
body{ overflow-x:clip; }
.mi-hero, .mi-verse, .mi-thisweek, .mi-saint, .mi-give, .wp-block-post-content figure.mi-photo{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
.home .mi-hero{ margin-top:-2rem; }
.wp-block-post-content figure.mi-photo img{ width:100%; max-height:540px; object-fit:cover; }
.wp-block-post-content figure.mi-photo{ background:var(--mi-cream); }

/* === Design layer v4.2: bleed by exactly the root padding (2026-11-02) === */
.mi-hero, .mi-verse, .mi-thisweek, .mi-saint, .mi-give, .wp-block-post-content figure.mi-photo{
  width:auto; max-width:none;
  margin-left:calc(-1 * var(--wp--style--root--padding-left, 0px));
  margin-right:calc(-1 * var(--wp--style--root--padding-right, 0px));
}
