/*
Theme Name: Münster Entdecken
Description: A child theme of twentytwentyfive, scaffolded by Studio Code.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.11
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: muenster-entdecken
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

:root {
  --me-rule: color-mix(in srgb, var(--wp--preset--color--text) 18%, transparent);
}

/* Reset and readable defaults. */
html { scroll-behavior: smooth; scroll-padding-top: 180px; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding-block: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-site-blocks main { padding-block: 64px 88px; }
.wp-site-blocks main.is-flush { padding: 0; }
img { max-width: 100%; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input):focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 5px; }
.wp-element-button { transition: background-color .2s ease, color .2s ease; }
.wp-element-button:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--background); }
.me-eyebrow, .me-index { font-size: var(--wp--preset--font-size--label); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.me-intro { font-size: 18px; line-height: 1.7; }
.me-small, .me-meta { font-size: 13px; color: var(--wp--preset--color--muted); }

/* The masthead stays compact and the menu remains a native navigation block. */
.wp-site-blocks > header { position: sticky; top: 0; z-index: 30; background: var(--wp--preset--color--background); }
body.admin-bar .wp-site-blocks > header { top: 32px; }
.me-header { border-bottom: 1px solid var(--me-rule); padding-block: 20px; }
.me-header-inner { gap: 24px; }
.me-wordmark { font-family: var(--wp--preset--font-family--fraunces); font-size: 31px; line-height: .92; letter-spacing: -.035em; margin: 0; }
.me-wordmark a, .me-footer-brand a { text-decoration: none; color: var(--wp--preset--color--primary); }
.me-navigation { font-size: 13px; font-weight: 600; }
.me-navigation .wp-block-navigation__container { gap: clamp(18px, 2.8vw, 40px); }
.me-navigation .wp-block-navigation-item__content { text-decoration: none; padding-block: 10px; }
.me-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; }
body .wp-block-navigation.me-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--background); padding: 32px; }

/* The cover follows a gutterless rhythm of photograph and text. */
.me-board { gap: 0 !important; margin-block: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.me-board > * { margin: 0; min-width: 0; }
.is-style-magazine-cell { aspect-ratio: 1; padding: clamp(28px, 4.2vw, 76px); gap: 18px; box-sizing: border-box; }
.is-style-magazine-cell.is-layout-flex { flex-wrap: nowrap; min-height: min-content; }
.is-style-magazine-cell > * { margin-block: 0; }
.is-style-magazine-cell h1 { font-size: var(--wp--preset--font-size--display); }
.is-style-magazine-cell h2 { font-size: var(--wp--preset--font-size--headline); }
.me-cover-copy { gap: 15px; }
.me-display { letter-spacing: -.04em; line-height: 1.04; color: var(--wp--preset--color--primary); }
.me-cover-copy .me-intro { font-size: 16px; line-height: 1.7; }
.me-cover-copy .me-small { font-size: 12px; line-height: 1.6; margin-top: 3px; }
.me-board > .wp-block-image { position: relative; aspect-ratio: 1; overflow: hidden; align-self: stretch; }
.me-board > .wp-block-image img { height: 100%; width: 100%; object-fit: cover; position: absolute; inset: 0; filter: sepia(.08) contrast(1.02); transition: transform .6s ease; }
.me-board > .wp-block-image:hover img { transform: scale(1.025); }
.me-board > .wp-block-image figcaption { position: absolute; bottom: 0; inset-inline: 0; margin: 0; padding: 12px 18px; background: color-mix(in srgb, var(--wp--preset--color--text) 75%, transparent); color: var(--wp--preset--color--white); font-size: 11px; line-height: 1.5; }
.me-board > .wp-block-image figcaption a { color: inherit; }
.me-inverse { color: var(--wp--preset--color--background); }
.me-inverse h2, .me-inverse a { color: var(--wp--preset--color--background); }
.me-inverse .me-eyebrow { opacity: .78; }
.me-text-link { font-size: 14px; font-weight: 600; margin-top: 10px; }
.is-style-agenda-row { border-top: 1px solid var(--me-rule); padding-block: 10px; align-self: stretch; }
.is-style-agenda-row p { margin-block: 0; font-size: 14px; line-height: 1.6; }
.is-style-agenda-row .me-date { font-size: 12px; color: var(--wp--preset--color--muted); margin-bottom: 2px; }
.is-style-agenda-row a { text-decoration: none; }
.is-style-agenda-row a:hover { text-decoration: underline; }

/* Reading pages and transparent source information. */
.is-style-breadcrumbs { margin-bottom: 24px; color: var(--wp--preset--color--muted); font-size: 13px; line-height: 1.7; }
.is-style-breadcrumbs > * { margin-block: 0; }
.is-style-breadcrumbs a { color: inherit; }
.me-page-main :is(h2[id], h3[id]) { scroll-margin-top: 20px; }
.me-page-heading { margin-bottom: 42px; }
.me-page-heading > .wp-block-post-title { font-size: var(--wp--preset--font-size--display); margin-top: 16px; hyphens: auto; }
.me-page-main .wp-block-post-content > h2 { margin-top: 48px; }
.me-page-main .is-style-editorial-photo img { filter: sepia(.08) contrast(1.02); }
.me-page-main .is-style-editorial-photo figcaption { font-size: 12px; text-align: left; color: var(--wp--preset--color--muted); }
.is-style-editorial-entry { padding-block: 24px; border-top: 1px solid var(--me-rule); }
.is-style-editorial-entry .me-index { color: var(--wp--preset--color--muted); margin: 0 0 12px; }
.is-style-editorial-entry :is(h2, h3) { margin: 0 0 12px; font-size: clamp(28px, 3vw, 36px); }
.is-style-editorial-entry :is(h2, h3) a { text-decoration: none; }
.is-style-editorial-entry :is(h2, h3) a:hover { text-decoration: underline; }
.is-style-editorial-entry p:last-child { margin-bottom: 0; }
.is-style-source-note { border-top: 1px solid var(--me-rule); border-bottom: 1px solid var(--me-rule); padding-block: 20px; margin-block: 40px; }
.is-style-source-note p { font-size: 13px; line-height: 1.7; color: var(--wp--preset--color--muted); }
.is-style-source-note p:first-child { margin-top: 0; }
.is-style-source-note p:last-child { margin-bottom: 0; }
.is-style-service-highlight { padding: 30px; margin-block: 32px; }
.is-style-service-highlight > :first-child { margin-top: 0; }
.is-style-service-highlight > :last-child { margin-bottom: 0; }
.is-style-service-table { overflow-x: auto; }
.is-style-service-table table { border-collapse: collapse; min-width: 280px; font-size: 15px; }
.is-style-service-table th, .is-style-service-table td { padding: 17px 14px; border: 0; border-bottom: 1px solid var(--me-rule); vertical-align: top; }
.is-style-service-table th { text-align: left; background: var(--wp--preset--color--surface); font-weight: 600; }
.is-style-service-table tr:nth-child(even) td { background: color-mix(in srgb, var(--wp--preset--color--surface) 40%, transparent); }
.me-article-image { margin-top: 32px; }
.me-page-main .wp-block-post-template { gap: 48px; }
.me-post-item { padding-bottom: 32px; border-bottom: 1px solid var(--me-rule); }
.me-post-item .wp-block-post-title { font-size: 32px; }
.me-post-item .wp-block-post-title a { text-decoration: none; }
.me-post-item .wp-block-post-excerpt { font-size: 16px; }

/* Quiet closing spread. */
.me-footer { padding-block: 48px; border-top: 1px solid var(--me-rule); }
.me-footer-inner { align-items: flex-start; gap: 32px; }
.me-footer-inner p { font-size: 13px; margin-block: 10px 0; }
.me-footer-inner .me-footer-brand { font-family: var(--wp--preset--font-family--fraunces); font-size: 30px; line-height: 1.2; margin-top: 0; }
.me-footer-inner a { text-underline-offset: 4px; }

/* Narrow screens preserve reading room and complete information. */
@media (min-width: 1600px) { .is-style-magazine-cell { padding: clamp(76px, 7vw, 140px); } }
@media (max-width: 1024px) {
  .me-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .me-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
@media (max-width: 950px) {
  .is-style-magazine-cell { aspect-ratio: auto; min-height: 50vw; }
  .me-board > .wp-block-image { aspect-ratio: auto; min-height: 50vw; }
  .is-style-magazine-cell h1 { font-size: 48px; }
  .is-style-magazine-cell h2 { font-size: 34px; }
}
@media (max-width: 640px) {
  .me-header { padding-block: 17px; }
  .me-wordmark { font-size: 27px; }
  .me-board { grid-template-columns: minmax(0, 1fr); }
  .me-board > .wp-block-group { order: 1; }
  .me-board > .wp-block-image { order: 2; aspect-ratio: 4 / 3; min-height: 0; }
  .is-style-magazine-cell { padding: 36px 26px; min-height: 0; gap: 20px; }
  .me-cover-copy { padding-block: 42px; gap: 17px; }
  .is-style-magazine-cell h1 { font-size: 55px; }
  .is-style-magazine-cell h2 { font-size: 39px; }
  .me-cover-copy .me-intro { font-size: 16px; }
  .me-cover-copy .me-small { font-size: 12px; }
  .wp-site-blocks main { padding-block: 40px 56px; }
  .me-page-heading { margin-bottom: 28px; }
  .me-page-heading > .wp-block-post-title { font-size: 42px; overflow-wrap: break-word; }
  .me-page-main .wp-block-heading { overflow-wrap: anywhere; hyphens: auto; }
  .is-style-service-highlight { padding: 24px; }
  .is-style-service-table th, .is-style-service-table td { padding: 14px 10px; font-size: 13px; }
  .me-footer { padding-block: 36px; }
  .me-footer-inner { flex-direction: column; gap: 22px; }
  .me-page-main .wp-block-post-template { grid-template-columns: 1fr; }
}
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header { top: 46px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Outlined variant1 brand artwork, with enlarged handwriting for small headers. */
.me-brand-logo { margin:0; max-width:100%; }
.me-brand-logo a { display:block; line-height:0; }
.me-brand-logo img { display:block; width:100%; height:auto; }
.me-brand-logo-header { flex:0 0 auto; width:230px; height:105.445px; aspect-ratio:908.6296875 / 416.59529296875; }
.me-brand-logo-header img { height:100%; object-fit:contain; }
.me-brand-logo-footer { width:280px; aspect-ratio:908.6296875 / 416.59529296875; margin-bottom:18px; }
@media (max-width:640px) {
  .me-brand-logo-header { width:min(230px,calc(100vw - 105px)); height:calc(min(230px,calc(100vw - 105px)) * .458458); }
}

/* Core may portal the modal outside its navigation parent. */
body .wp-block-navigation__responsive-container.is-menu-open { background-color:var(--wp--preset--color--background,#F7F3EB) !important; color:var(--wp--preset--color--text,#24312D); }
