/*
Theme Name: Umbrus Morningstar
Description: A restrained editorial block theme for Fabiano Umbrus: serif reading, authentic photographs, forest accents, and distinct Quimbanda studies.
Version: 1.2.2
Requires at least: 6.6
Requires PHP: 7.4
Author: Umbrus Morningstar
Text Domain: umbrus-morningstar
License: GPL-2.0-or-later (code); supplied photographs and emblem retain their original rights.
*/
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { text-underline-offset: .25em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible { outline: 3px solid #7e3337; outline-offset: 5px; }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4 { text-wrap: balance; }
.wp-site-blocks > * { margin-block-start: 0; }
.umbrus-header { padding-block: 22px 0; }
.umbrus-brand { gap: 8px; }
.umbrus-emblem { width: 62px; margin-inline: auto; }
.umbrus-emblem img { width: 62px; height: auto; display: block; }
.umbrus-brand .wp-block-site-title { margin-block: 0; text-transform: uppercase; }
.umbrus-header a, .umbrus-footer a { color: #f4f0e7; }
.umbrus-tagline { font: 9px/1.5 Arial,Helvetica,sans-serif; letter-spacing: .24em; text-transform: uppercase; color: #a8bfa7; margin-block: 5px 18px; }
.umbrus-navigation { border-block: 1px solid #374538; padding-block: 15px; }
.umbrus-navigation .wp-block-navigation-item__content { text-decoration: none; }
.umbrus-navigation .wp-block-navigation-item__content:hover, .umbrus-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 7px; }
.umbrus-header a:focus-visible, .umbrus-header button:focus-visible, .umbrus-footer a:focus-visible { outline-color: #a8bfa7; }
.umbrus-skip-link { margin: 0; }
.umbrus-skip-link a { position: absolute; left: 20px; top: -120px; z-index: 99999; padding: 10px 16px; background: #f4f0e7; color: #101713; }
.umbrus-skip-link a:focus { top: 12px; }
.umbrus-main { padding-block: 64px 80px; }
.umbrus-page-heading { margin-bottom: 32px; }
.umbrus-content { line-height: 1.8; }
.umbrus-content > .wp-block-group { padding: 0 !important; }
.umbrus-content h2 { margin-block-start: 2.8rem; margin-block-end: 1.35rem; font-size: clamp(29px,3vw,36px); }
.umbrus-content h3 { margin-block-start: 2rem; }
.umbrus-content p { margin-block-start: 0; margin-block-end: 1.4rem; }
.umbrus-content .wp-block-buttons { margin-block: 1.8rem 3rem; }
.umbrus-home-opening { margin-bottom: 48px; column-gap: 64px; }
.umbrus-home-opening .wp-block-post-title { max-width: 650px; }
.umbrus-photo { max-width: 360px; margin-inline: auto; }
.umbrus-photo img { display: block; width: 100%; height: auto; }
.umbrus-photo figcaption { margin-top: 12px; font-size: 12px; line-height: 1.5; color: #596156; font-style: italic; }
.umbrus-eyebrow { font: 10px/1.6 Arial,Helvetica,sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #2f4f3c; }
.umbrus-single-heading { color: #7e3337; }
.umbrus-meta { font: 11px/1.7 Arial,Helvetica,sans-serif; letter-spacing: .07em; color: #596156; }
.umbrus-single-main .wp-block-post-featured-image { max-width: 360px; margin-block: 35px; }
.umbrus-single-main .wp-block-post-featured-image img { height: auto; object-fit: contain; }
.umbrus-index .wp-block-post { border-top: 1px solid #c7c8b9; padding-block: 32px; }
.umbrus-index .wp-block-post-title { font-size: clamp(29px,3vw,40px); }
.umbrus-footer { padding-block: 44px 32px; }
.umbrus-footer .wp-block-site-title { font-size: 25px; }
.umbrus-footer-line { font-size: 14px; color: #a8bfa7; }
.umbrus-footer-links { font: 10px/1.7 Arial,Helvetica,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.umbrus-footer-links a { text-decoration: none; }
.umbrus-footer-links a:hover { text-decoration: underline; }
.umbrus-footer-rule { border-top: 1px solid #374538; padding-top: 20px; margin-top: 32px; }
@media (max-width: 700px) {
 body { font-size: 17px; }
 .umbrus-brand .wp-block-site-title { font-size: 25px; letter-spacing: .07em; }
 .umbrus-emblem,.umbrus-emblem img { width: 56px; }
 .umbrus-tagline { font-size: 8px; letter-spacing: .18em; }
 .umbrus-main { padding-block: 42px 55px; }
 .umbrus-home-opening { gap: 30px; }
 .umbrus-photo { max-width: 330px; }
 .umbrus-content h2 { margin-top: 36px; }
 .umbrus-footer { padding-top: 35px; }
 .umbrus-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 30px; }
 .umbrus-navigation .wp-block-navigation__responsive-container-content { gap: 24px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
 .umbrus-navigation,.umbrus-footer,.umbrus-skip-link,.umbrus-emblem { display: none; }
 body,.umbrus-header { background: white !important; color: black !important; }
 .umbrus-header a { color: black; }
 .umbrus-main { padding-block: 20px; }
}

/* School revision; local draft only. */
.umbrus-brand .wp-block-site-title{max-width:900px;font-size:clamp(24px,3vw,38px);line-height:1.3;text-align:center}.umbrus-tagline{letter-spacing:.12em;line-height:1.7}.umbrus-navigation{row-gap:15px}.umbrus-content h2{scroll-margin-top:20px}

/* Approved WordPress banner — October 8, 2026. */
.umbrus-header{background:#000!important;padding-top:0}.umbrus-school-banner{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:52px;position:relative;min-height:310px;padding:50px 0;width:calc(100% - 64px);max-width:1140px!important;margin:0 auto!important}.umbrus-school-banner:after{content:"";position:absolute;left:0;right:0;bottom:24px;height:1px;background:linear-gradient(90deg,#3b5040,transparent)}.umbrus-banner-emblem{width:190px;height:190px;margin:0!important}.umbrus-banner-emblem img{width:190px;height:190px;display:block;object-fit:contain}.umbrus-banner-wording{margin:0!important}.umbrus-banner-wording p{color:#f4f0e7;margin:0!important;max-width:none!important}.umbrus-banner-wording .umbrus-banner-name{font:400 clamp(22px,3vw,36px)/1.25 Didot,'Times New Roman',serif;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px!important}.umbrus-banner-name a{text-decoration:none}.umbrus-banner-wording .umbrus-banner-school{font:400 clamp(29px,4vw,48px)/1.15 Didot,'Times New Roman',serif;letter-spacing:1px;margin-bottom:18px!important}.umbrus-banner-wording .umbrus-banner-subtitle{font:400 clamp(12px,1.4vw,16px)/1.5 Arial,Helvetica,sans-serif;letter-spacing:1.1px;color:#a8bfa7}.umbrus-navigation{margin-top:0!important}
@media(max-width:650px){.umbrus-school-banner{display:flex;flex-direction:column;gap:16px;padding:30px 0 44px;text-align:center;min-height:0;width:calc(100% - 44px)}.umbrus-banner-emblem,.umbrus-banner-emblem img{width:114px;height:114px}.umbrus-banner-wording .umbrus-banner-name{font-size:21px;letter-spacing:2px}.umbrus-banner-wording .umbrus-banner-school{font-size:30px;line-height:1.2;margin-bottom:16px!important}.umbrus-banner-wording .umbrus-banner-subtitle{font-size:11px;letter-spacing:.5px;line-height:1.8}.umbrus-school-banner:after{bottom:23px}}

/* Header rule correction: navigation class is repeated on its inner list. */
.umbrus-school-banner:after{content:none}
nav.umbrus-navigation{border:0;border-bottom:1px solid #374538;width:calc(100% - 64px);max-width:1140px!important;margin:0 auto!important;padding:15px 0}
ul.umbrus-navigation{border:0;padding:0;margin:0}
@media(max-width:650px){nav.umbrus-navigation{width:calc(100% - 44px)}}

/* Center the three brand lines on the full banner axis. */
.umbrus-school-banner{grid-template-columns:160px minmax(0,1fr) 160px;gap:28px}
.umbrus-banner-emblem,.umbrus-banner-emblem img{width:160px;height:160px}
.umbrus-banner-wording{text-align:center;width:100%;grid-column:2}
.umbrus-banner-wording p{white-space:nowrap}
@media(max-width:1000px){
 .umbrus-school-banner{display:flex;flex-direction:column;gap:20px;min-height:0;padding:30px 0 36px}
 .umbrus-banner-emblem,.umbrus-banner-emblem img{width:114px;height:114px}
 .umbrus-banner-wording .umbrus-banner-name{font-size:clamp(18px,4.3vw,30px);letter-spacing:2px}
 .umbrus-banner-wording .umbrus-banner-school{font-size:clamp(23px,5.4vw,40px)}
 .umbrus-banner-wording .umbrus-banner-subtitle{font-size:clamp(9px,2.45vw,14px);letter-spacing:.3px}
}
