/*
Theme Name: Mama in Medellín
Description: An editable editorial block theme based on Sarah’s supplied design. Staging development.
Version: 0.4.52
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: mama-in-medellin
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --mim-cream: #faf7f2;
  --mim-paper: #f0ebe3;
  --mim-green: #3a6b4e;
  --mim-deep: #2d5a3f;
  --mim-yellow: #e8c547;
  --mim-ink: #2c2824;
  --mim-soft: #625b55;
  --mim-border: #ded9d1;
  --mim-display: "Playfair Display", Georgia, serif;
  --mim-body: "Arial Nova", Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { margin: 0; }
a { text-underline-offset: .2em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #a95532;
  outline-offset: 4px;
}
img { max-width: 100%; height: auto; }
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }
.wp-block-post-content, .wp-block-comment-content { overflow-wrap: anywhere; }
.wp-block-post-content > p, .wp-block-post-content > ul, .wp-block-post-content > ol { line-height: 1.8; }
.wp-block-post-content a { text-decoration: underline; }
.wp-block-post-content img { border-radius: 8px; }
.wp-block-site-title a { text-decoration: none; }
.mim-header, .mim-footer, .mim-hero, .mim-section, .mim-band, .mim-feature-band { font-family: var(--mim-body); }
.mim-header .wp-block-site-title, .mim-footer .wp-block-site-title,
.mim-hero h1, .mim-section h2, .mim-section h3, .mim-band h2, .mim-feature-band h2 {
  font-family: var(--mim-display);
  text-transform: none;
  letter-spacing: -.02em;
  text-wrap: balance;
}

/* Header and native WordPress menus. */
.mim-header { background: #fff; border-bottom: 1px solid var(--mim-border); padding: 16px 24px; }
.mim-header-inner { max-width: 1100px; margin-inline: auto; gap: 28px; }
.mim-header .wp-block-site-title { color: var(--mim-deep); font-size: 1.3rem; font-weight: 700; line-height: 1.3; flex-shrink: 0; }
.mim-header .wp-block-navigation { gap: 24px; }
.mim-header .wp-block-navigation-item__content { font-size: .86rem; font-weight: 600; text-decoration: none; color: var(--mim-ink); }
.mim-header .wp-block-navigation-item__content:hover { color: var(--mim-green); text-decoration: underline; }
.mim-header .wp-block-navigation__submenu-container { padding: 8px; border: 1px solid var(--mim-border); border-radius: 8px; min-width: 230px; box-shadow: 0 8px 24px #2c28240d; }
.mim-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 12px; }
.mim-header .wp-block-navigation-submenu__toggle { min-width: 24px; min-height: 32px; }
.mim-header .wp-block-navigation__responsive-container-open,
.mim-header .wp-block-navigation__responsive-container-close { padding: 10px; min-width: 44px; min-height: 44px; }
.mim-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; background: var(--mim-cream); color: var(--mim-ink); }
.mim-header .is-menu-open .wp-block-navigation-item__content { font-size: 1.1rem; padding-block: 8px; }
.mim-header .is-menu-open .wp-block-navigation__submenu-container { border: 0; box-shadow: none; min-width: 0; padding-block: 0; }

/* Search opens where readers ask for it, without changing their scroll position. */
.mim-header-actions { gap: 24px; margin: 0; flex-shrink: 0; }
.mim-header-search { position: relative; margin: 0; font-size: .86rem; font-weight: 600; }
.mim-header-search > summary { display: flex; align-items: center; gap: 7px; min-height: 44px; cursor: pointer; list-style: none; }
.mim-header-search > summary::-webkit-details-marker { display: none; }
.mim-header-search > summary::before { content: ''; width: 14px; height: 14px; border: 2px solid currentColor; border-radius: 50%; box-sizing: border-box; }
.mim-header-search > summary::after { content: ''; position: absolute; left: 12px; top: 27px; width: 6px; height: 2px; background: currentColor; transform: rotate(45deg); }
.mim-header-search > summary:hover { color: var(--mim-green); }
.mim-header-search > summary:focus-visible { outline: 3px solid #a95532; outline-offset: 4px; }
.mim-header-search-panel { position: absolute; z-index: 100; right: 0; top: calc(100% + 10px); width: 370px; max-width: calc(100vw - 40px); margin: 0 !important; padding: 20px; background: #fff; border: 1px solid var(--mim-border); border-radius: 10px; box-shadow: 0 10px 30px #2c282426; }
.mim-header-search-panel .wp-block-search__label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.mim-header-search-panel .wp-block-search__input { min-width: 0; width: 100%; min-height: 48px; padding: 10px 12px; font-size: 16px; border: 1px solid var(--mim-border); border-radius: 4px; }
.mim-header-search-panel .wp-block-search__button { min-width: 48px; min-height: 48px; margin-left: 8px; padding: 10px; border-radius: 4px; }
@media (max-width: 600px) {
  .mim-header { padding-inline: 20px; }
  .mim-header-inner { gap: 10px; }
  .mim-header .wp-block-site-title { min-width: 0; flex-shrink: 1; font-size: 1.1rem; }
  .mim-header-actions { gap: 10px; }
  .mim-header-search > summary { font-size: .8rem; }
}

/* Editable homepage sections. */
.mim-hero { background: var(--mim-deep); color: #fff; text-align: center; padding: clamp(64px, 8vw, 112px) 24px; }
.mim-hero h1 { max-width: 850px; margin: 0 auto; color: #fff; font-size: clamp(2.5rem, 5.5vw, 4.2rem); font-weight: 600; line-height: 1.13; }
.mim-hero em { color: var(--mim-yellow); }
.mim-hero p { max-width: 610px; margin-inline: auto; font-size: 1.05rem; line-height: 1.75; }
.mim-hero .mim-hero-kicker { font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 700; color: #e0e9df; margin-bottom: 24px; }
.mim-hero .wp-block-buttons { margin-top: 30px; gap: 12px; }
.mim-hero .is-style-outline .wp-block-button__link { color: #fff; border: 1px solid #ffffff9e; background: #ffffff0d; }
.mim-hero .is-style-outline .wp-block-button__link:hover { background: #ffffff20; }
.mim-home-hero { text-align: left; padding: 64px 24px; }
.mim-home-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 48px; max-width: 1100px; margin-inline: auto; }
.mim-home-hero-grid > * { min-width: 0; margin: 0; }
.mim-home-hero h1 { font-size: clamp(2.4rem,4.2vw,3.5rem); }
.mim-home-hero-copy > * { margin-inline: 0; }
.mim-home-hero .wp-block-buttons { justify-content: flex-start; }
.mim-home-hero-photo figure { margin: 0; }
.mim-home-hero-photo img { width: 100%; height: auto; display: block; border-radius: 12px; }
.mim-series-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 28px; margin-top: 32px; }
.mim-series-card { position: relative; min-width: 0; text-align: center; margin: 0; }
.mim-series-card figure { margin: 0 auto 16px; max-width: 160px; }
.mim-series-card img { aspect-ratio: 1; object-fit: cover; width: 100%; border-radius: 50%; border: 3px solid var(--mim-border); }
.mim-series-card h3 { font-size: 1.05rem; }
.mim-series-card a { color: var(--mim-deep); text-decoration: none; }
.mim-series-card a::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.mim-series-card a:focus-visible::after { outline: 3px solid #a95532; outline-offset: 4px; }
.mim-series-card:focus-within img, .mim-series-card:hover img { border-color: var(--mim-green); }
.mim-related { margin: 44px 0; }
.mim-related > h2 { font-family: var(--mim-display); font-size: 1.7rem; }
.mim-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.mim-related-card { position: relative; display: block; border: 1px solid var(--mim-border); border-radius: 9px; overflow: hidden; background: white; color: var(--mim-deep); }
.mim-related-card figure { margin: 0; }
.mim-related-card a { color: inherit; text-decoration: none; }
.mim-related-card a::after { content: ""; position: absolute; inset: 0; border-radius: 9px; }
.mim-related-card a:focus-visible::after { outline: 3px solid #a95532; outline-offset: -3px; }
.mim-related-card img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; }
.mim-related-card h3 { padding: 16px; margin: 0; font: 600 1rem/1.5 var(--mim-display); }
.mim-related-card:hover h3 { text-decoration: underline; }
@media(max-width:780px) {
  .mim-home-hero { padding: 40px 24px; }
  .mim-home-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .mim-home-hero-photo { max-width: 600px; }
  .mim-series-grid { display: flex; overflow-x: auto; gap: 24px; padding: 4px 4px 18px; scroll-snap-type: x proximity; }
  .mim-series-card { flex: 0 0 160px; scroll-snap-align: start; }
}
@media(max-width:520px) { .mim-related-grid { grid-template-columns: 1fr; } }
.wp-block-button__link { font-family: var(--mim-body); font-weight: 700; font-size: .9375rem; padding: 13px 24px; border-radius: 6px; text-decoration: none !important; transition: background .15s ease; }
.mim-button-yellow .wp-block-button__link { background: var(--mim-yellow); color: var(--mim-ink); }
.mim-button-yellow .wp-block-button__link:hover { background: #f1d362; color: var(--mim-ink); }
.mim-section { width: calc(100% - 48px); padding-block: 56px; }
.mim-section > h1, .mim-section > h2, .mim-section > h3, .mim-section > p, .mim-section > .mim-posts { max-width: none; }
.mim-section > .mim-section-intro { max-width: 620px; margin-inline: 0 !important; }
.mim-section h2 { color: var(--mim-ink); font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.25; margin-block: 8px 12px; }
.mim-eyebrow { text-transform: uppercase; font-size: .72rem; font-weight: 700; letter-spacing: .1em; color: #985037; margin-block: 0 8px; }
.mim-section-intro { color: var(--mim-soft); margin-block: 0 30px; max-width: 620px; }
.mim-guide-grid, .mim-topic-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; margin-block-start: 30px; }
.mim-guide-grid > *, .mim-topic-grid > *, .mim-feature-grid > *, .mim-about-grid > *, .mim-footer-grid > * { margin: 0; min-width: 0; }
.mim-guide-card { position: relative; border: 1px solid var(--mim-border); border-radius: 10px; background: #fff; padding: 24px; transition: border-color .15s, box-shadow .15s; }
.mim-guide-card:hover, .mim-guide-card:focus-within, .mim-topic-card:hover, .mim-topic-card:focus-within { border-color: var(--mim-green); box-shadow: 0 4px 18px #2c28240a; }
.mim-guide-icon { font-size: 1.5rem; line-height: 1.3; margin: 0 0 14px; }
.mim-guide-card h3, .mim-topic-card h3 { margin: 0 0 10px; font-size: 1.13rem; line-height: 1.35; font-weight: 600; }
.mim-guide-card h3 a, .mim-topic-card h3 a { color: var(--mim-deep); text-decoration: none; }
.mim-guide-card h3 a::after, .mim-topic-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 10px; }
.mim-guide-card h3 a:focus-visible::after, .mim-topic-card h3 a:focus-visible::after { outline: 3px solid #a95532; outline-offset: 3px; }
.mim-guide-card > p:last-child, .mim-topic-card > p:last-child { font-size: .9rem; line-height: 1.7; color: var(--mim-soft); margin: 0; }
.mim-feature-band { background: var(--mim-deep); color: #fff; padding: 56px 24px; }
.mim-feature-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; max-width: 1100px !important; margin-inline: auto; }
.mim-feature-copy h2 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.2; margin-top: 12px; }
.mim-feature-copy .mim-eyebrow { color: var(--mim-yellow); }
.mim-feature-copy > p:not(.mim-eyebrow) { color: #e1e9e1; font-size: 1rem; line-height: 1.8; }
.mim-feature-image figure { margin: 0; }
.mim-feature-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.mim-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mim-topic-card { position: relative; border: 1px solid var(--mim-border); border-radius: 10px; padding: 24px 20px; background: var(--mim-paper); }
.mim-topic-number { font-size: .75rem; font-weight: 700; color: #985037; letter-spacing: .08em; margin: 0 0 28px; }
.mim-latest-section { border-top: 1px solid var(--mim-border); }
.mim-posts { margin-top: 28px; }
.mim-posts .wp-block-post-template { gap: 24px; }
.mim-posts .wp-block-post { border: 1px solid var(--mim-border); border-radius: 10px; overflow: hidden; background: #fff; padding: 20px; }
.mim-posts .wp-block-post-title { font-family: var(--mim-display); color: var(--mim-ink); font-size: 1.2rem; font-weight: 600; line-height: 1.4; margin-block: 10px; }
.mim-posts .wp-block-post-title a { text-decoration: none; }
.mim-posts .wp-block-post-title a:hover { text-decoration: underline; }
.mim-posts .wp-block-post-featured-image { margin: -20px -20px 20px; }
.mim-posts .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; display: block; }
.mim-posts .wp-block-post-terms { font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; }
.mim-posts .wp-block-post-terms a { text-decoration: none; }
.mim-posts .wp-block-post-excerpt { font-size: .9rem; color: var(--mim-soft); line-height: 1.7; margin-top: 10px; }
.mim-posts .wp-block-post-excerpt__more-link { font-weight: 700; }
.wp-block-query-pagination { margin-top: 32px; gap: 20px; }
.wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.wp-block-query-pagination .page-numbers { padding: 6px 10px; }
.wp-block-query-pagination .current { background: var(--mim-deep); color: #fff; border-radius: 4px; }
.mim-band { background: var(--mim-paper); padding: 56px 24px; }
.mim-about-grid { max-width: 850px !important; margin-inline: auto; display: grid; grid-template-columns: 240px 1fr; align-items: center; gap: 48px; }
.mim-about-photo figure { margin: 0; }
.mim-about-photo img { display: block; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 100px 100px 12px 12px; width: 240px; }
.mim-about-copy h2 { font-size: 2rem; margin-block: 8px 16px; }
.mim-about-copy > p:not(.mim-eyebrow) { color: var(--mim-soft); line-height: 1.8; }
.mim-search-section { text-align: center; }
.mim-search-section .wp-block-search { max-width: 620px; margin: 28px auto 0; text-align: left; }
.wp-block-search__label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 8px; }
.wp-block-search__input { min-width: 0; font: inherit; border: 1px solid var(--mim-border); border-radius: 6px; padding: 12px 14px; background: #fff; color: var(--mim-ink); }
.wp-block-search__button { background: var(--mim-deep); color: #fff; padding: 12px 18px; border: 0; border-radius: 6px; font-family: var(--mim-body); font-weight: 700; font-size: .9rem; cursor: pointer; }
.mim-card { border: 1px solid var(--mim-border); border-radius: 10px; background: #fff; padding: 24px; height: 100%; }
.mim-card h3 { font-size: 1.2rem; }
.mim-card p { color: var(--mim-soft); }

/* Main pages: existing biography, policy copy, and curated guide paths. */
.mim-about-page-hero, .mim-page-hero, .mim-page-body, .mim-page-callout { font-family: var(--mim-body); }
.mim-about-page-hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); align-items: center; gap: 60px; background: var(--mim-paper); padding: 64px max(24px, calc((100% - 1100px) / 2)); }
.mim-about-page-hero > * { min-width: 0; margin: 0; }
.mim-about-page-photo figure { margin: 0; }
.mim-about-page-photo img { display: block; width: 100%; height: auto; border-radius: 12px; }
.mim-about-page-intro h1, .mim-page-hero h1 { font: 600 clamp(2.3rem, 4.5vw, 3.6rem)/1.15 var(--mim-display); letter-spacing: -.025em; color: var(--mim-deep); margin: 16px 0 24px; text-wrap: balance; }
.mim-about-page-intro > p:not(.mim-eyebrow) { font-size: 1.1rem; line-height: 1.8; color: var(--mim-soft); }
.mim-about-page-intro .wp-block-buttons { margin-top: 28px; }
.mim-page-hero { background: var(--mim-paper); text-align: center; padding: 64px 24px; }
.mim-page-hero h1 { max-width: 850px; margin-inline: auto; }
.mim-page-hero > p:not(.mim-eyebrow) { max-width: 650px; margin-inline: auto; font-size: 1.05rem; color: var(--mim-soft); line-height: 1.8; }
.mim-page-body { width: calc(100% - 48px); max-width: 740px !important; margin: 48px auto 64px !important; }
.mim-page-body > .mim-toc { margin-top: 0; }
.mim-page-callout { width: calc(100% - 48px); max-width: 740px !important; margin: 0 auto 64px !important; padding: 32px; background: var(--mim-paper); border: 1px solid var(--mim-border); border-radius: 12px; }
.mim-page-callout h2 { font: 600 1.8rem/1.25 var(--mim-display); margin-top: 0; }
.mim-stage { padding: 28px; border: 1px solid var(--mim-border); border-left: 4px solid var(--mim-green); border-radius: 10px; background: #fff; margin: 32px 0; }
.mim-stage > h2 { margin-top: 8px; padding-top: 0; border: 0; }
.mim-stage > .mim-eyebrow { margin-bottom: 8px; }
.mim-stage > p:not(.mim-eyebrow) { color: var(--mim-soft); }
.mim-stage-02 { border-left-color: #9b593f; }
.mim-stage-03 { border-left-color: #b18c23; }
.mim-stage-04 { border-left-color: #5f6f84; }
.mim-stage-links { list-style: none; padding: 0 !important; margin: 20px 0 0; }
.mim-stage-links li { padding: 0; margin: 0; border-top: 1px solid var(--mim-border); }
.mim-stage-links a { display: block; padding: 15px 0; line-height: 1.5; font-size: 1rem; font-weight: 600; text-decoration: none; }
.mim-stage-links a:hover { text-decoration: underline; }
.mim-hub-header { background: var(--mim-paper); padding: 48px 24px; font-family: var(--mim-body); }
.mim-hub-header-inner { max-width: 1100px; margin-inline: auto; }
.mim-hub-header h1 { font: 600 clamp(2.2rem, 4vw, 3.2rem)/1.2 var(--mim-display); color: var(--mim-deep); margin: 18px 0; }
.mim-hub-header p:not(.mim-eyebrow):not(.mim-breadcrumbs) { max-width: 650px; color: var(--mim-soft); line-height: 1.8; }
.mim-breadcrumbs { font-size: .8rem; margin: 0 0 28px; }
.mim-breadcrumbs span { margin-inline: 8px; }
.mim-hub-latest { padding-top: 0; }
.mim-retained-form { max-width: 740px !important; }
.mim-retained-signup { max-width: 540px !important; }
.mim-retained-form .elementor-widget-form .elementor-field-label { position: static !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; overflow: visible !important; display: block !important; margin: 0 0 8px !important; font: 600 16px/1.5 var(--mim-body) !important; color: var(--mim-ink) !important; }
.mim-retained-form .elementor-widget-form input.elementor-field, .mim-retained-form .elementor-widget-form textarea.elementor-field { font: 400 16px/1.5 var(--mim-body) !important; min-height: 48px; padding: 12px !important; border: 1px solid var(--mim-border) !important; border-radius: 6px !important; background: #fff !important; color: var(--mim-ink) !important; }
.mim-retained-form .elementor-widget-form .elementor-button { font: 600 16px/1.5 var(--mim-body) !important; min-height: 48px; border-radius: 6px !important; background: var(--mim-green) !important; color: white !important; padding: 12px 24px !important; }
.mim-retained-form .elementor-widget-form .elementor-field-group { margin-bottom: 18px !important; }
.mim-retained-form input:focus-visible, .mim-retained-form textarea:focus-visible, .mim-retained-form button:focus-visible { outline: 3px solid #a95532 !important; outline-offset: 3px; }
@media (max-width: 780px) {
  .mim-about-page-hero { grid-template-columns: 1fr; padding: 40px 24px; gap: 30px; }
  .mim-about-page-photo { max-width: 560px; width: 100%; margin-inline: auto; }
  .mim-about-page-intro { max-width: 560px; margin-inline: auto; }
}
@media (max-width: 600px) {
  .mim-about-page-hero, .mim-page-hero { padding: 36px 20px; }
  .mim-page-body, .mim-page-callout { width: calc(100% - 40px); }
  .mim-page-body { margin-block: 32px 48px !important; }
  .mim-page-callout { padding: 24px; }
  .mim-stage { padding: 22px 18px; }
}

/* Native article template. Content stays in editable WordPress blocks. */
.mim-article { font-family: var(--mim-body); padding-bottom: 56px; }
.mim-article > .alignwide { width: calc(100% - 48px); }
.mim-article-head { padding-block: 40px 24px; }
.mim-article-back { margin: 0 0 32px; font-size: .85rem; }
.mim-article-back a { text-decoration: none; }
.mim-article-category { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.mim-article-category a { color: var(--mim-deep); text-decoration: none; }
.mim-article h1 { max-width: 950px; font: 600 clamp(2rem, 4vw, 3.3rem)/1.2 var(--mim-display); color: var(--mim-ink); text-wrap: balance; letter-spacing: -.025em; margin: 16px 0 24px; }
.mim-article-meta { gap: 20px; color: var(--mim-soft); font-size: .85rem; }
.mim-editorial-review { margin-top: 12px; max-width: 760px; color: var(--mim-soft); font-size: .85rem; line-height: 1.65; }
.mim-editorial-review p { margin: 0; }
.mim-editorial-review p + p { margin-top: 6px; }
.mim-review-note { overflow-wrap: anywhere; }
.mim-article-cover { margin-block: 0 40px; }
.mim-article-cover img { display: block; width: 100%; height: auto; border-radius: 12px; }
.mim-article-grid { display: grid; grid-template-columns: minmax(0, 740px) minmax(0, 280px); gap: 64px; align-items: start; }
.mim-article-grid > * { margin: 0; min-width: 0; }
.mim-prose { font-size: 1.0625rem; line-height: 1.85; color: var(--mim-ink); }
.mim-prose > * { margin-block: 0 24px; }
.mim-prose h2, .mim-prose h3, .mim-comments h2, .mim-comments h3, .mim-article-social h2 { font-family: var(--mim-display); line-height: 1.3; color: var(--mim-ink); text-transform: none; }
.mim-prose h2 { font-size: clamp(1.7rem, 2.5vw, 2rem); margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--mim-border); }
.mim-prose h3 { font-size: 1.4rem; margin-top: 36px; }
.mim-prose ul, .mim-prose ol { padding-left: 1.4em; }
.mim-prose li { margin-block: 8px; padding-left: 4px; }
.mim-prose li > ul, .mim-prose li > ol { margin-block: 12px; }
.mim-prose [id] { scroll-margin-top: 24px; }
.mim-prose .mim-disclosure { color: var(--mim-soft); font-size: .8rem; line-height: 1.6; }
.mim-prose .mim-toc { padding: 22px 24px; border: 1px solid var(--mim-border); border-radius: 10px; background: var(--mim-paper); margin-block: 32px; }
.mim-toc summary { cursor: pointer; font-weight: 700; color: var(--mim-deep); }
.mim-toc ul { margin-bottom: 0; }
.mim-toc a { font-size: .95rem; }
.mim-article-sidebar { font-size: .9rem; }
.mim-article-sidebar > * + * { margin-top: 28px; }
.mim-author-card { background: var(--mim-paper); padding: 24px; border-radius: 12px; }
.mim-author-card figure { margin: 0 0 24px; }
.mim-author-card img { display: block; width: 120px; height: 150px; object-fit: cover; border-radius: 70px 70px 8px 8px; }
.mim-article-sidebar h2 { font: 600 1.35rem/1.3 var(--mim-display); color: var(--mim-ink); margin: 12px 0; }
.mim-author-card p { color: var(--mim-soft); line-height: 1.8; }
.mim-author-card a { font-weight: 700; }
.mim-sidebar-guides { padding: 4px 0; }
.mim-sidebar-guides p { border-bottom: 1px solid var(--mim-border); padding-bottom: 14px; }
.mim-sidebar-guides a { text-decoration: none; line-height: 1.7; }
.mim-sidebar-guides a:hover { text-decoration: underline; }
.mim-article-sidebar .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: 10px; }
.mim-article-sidebar .wp-block-search__input { flex-basis: 100%; }
.mim-article-sidebar .wp-block-search__button { margin: 0; width: 100%; }
.mim-article-tags { border-top: 1px solid var(--mim-border); padding-top: 24px; font-size: .85rem; margin-top: 40px; }
.mim-article-navigation { border-bottom: 1px solid var(--mim-border); padding-block: 24px; margin-bottom: 40px; gap: 24px; font-size: .9rem; }
.mim-article-navigation > * { flex: 1 1 220px; }
.mim-article-navigation .post-navigation-link-next { text-align: right; }
.mim-comment { padding-block: 20px; border-bottom: 1px solid var(--mim-border); }
.mim-comment .wp-block-comment-author-name { font-weight: 700; }
.mim-comment .wp-block-comment-date { font-size: .8rem; color: var(--mim-soft); }
.mim-comments label { display: block; margin-bottom: 8px; }
.mim-comments textarea, .mim-comments input:not([type="submit"]):not([type="checkbox"]) { font: inherit; width: 100%; border: 1px solid var(--mim-border); border-radius: 6px; padding: 12px; background: #fff; }
.mim-comments .comment-form-cookies-consent { display: flex; align-items: start; gap: 10px; }
.mim-comments .submit { cursor: pointer; }
.mim-article-social { border-top: 1px solid var(--mim-border); padding-top: 32px; margin-top: 56px; }
@media (max-width: 960px) {
  .mim-article-grid { grid-template-columns: 1fr; gap: 40px; max-width: 740px !important; }
  .mim-article-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .mim-article-sidebar > * { margin-top: 0; }
  .mim-article-sidebar > .wp-block-search { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .mim-article > .alignwide { width: calc(100% - 40px); }
  .mim-article-head { padding-block: 28px 24px; }
  .mim-article-back { margin-bottom: 24px; }
  .mim-article-meta { gap: 12px; }
  .mim-article-cover { margin-bottom: 28px; }
  .mim-article-sidebar { grid-template-columns: 1fr; }
  .mim-prose { font-size: 1rem; }
  .mim-prose .mim-toc { padding: 18px 20px; }
  .mim-article-navigation .post-navigation-link-next { text-align: left; }
}

/* Footer keeps essential destinations available on every page. */
.mim-footer { background: var(--mim-deep); color: #e1e9e1; padding: 48px 24px 24px; }
.mim-footer a { color: #fff; }
.mim-footer a:hover { color: var(--mim-yellow); }
.mim-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; max-width: 1100px !important; margin-inline: auto; }
.mim-footer .wp-block-site-title { color: #fff; font-size: 1.4rem; font-weight: 600; line-height: 1; margin-block: 0; }
.mim-footer-brand > p { max-width: 330px; font-size: .9rem; line-height: 1.8; }
.mim-footer-column h2 { font-family: var(--mim-body); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: #e1e9e1; margin: 0 0 16px; }
.mim-footer-column p { margin-block: 6px; font-size: .86rem; }
.mim-footer-column a { display: inline-block; padding-block: 4px; text-decoration: none; }
.mim-footer-bottom { max-width: 1100px !important; margin: 36px auto 0; padding-top: 20px; border-top: 1px solid #ffffff35; font-size: .78rem; gap: 12px; }
.mim-footer-bottom p { margin: 0; }

@media (max-width: 960px) {
  .mim-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .mim-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .mim-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mim-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mim-posts .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mim-feature-grid { gap: 28px; }
}
@media (max-width: 600px) {
  .mim-header { padding: 10px 20px; }
  .mim-header .wp-block-site-title { font-size: 1.2rem; }
  .mim-header-inner { gap: 16px; }
  .mim-hero { padding: 56px 20px; }
  .mim-hero h1 { font-size: 2.5rem; }
  .mim-hero p { font-size: .95rem; }
  .mim-hero .mim-hero-kicker { font-size: .65rem; }
  .mim-hero .wp-block-buttons { flex-direction: column; }
  .mim-hero .wp-block-button, .mim-hero .wp-block-button__link { width: 100%; max-width: 320px; }
  .mim-section { width: calc(100% - 40px); padding-block: 40px; }
  .mim-guide-grid, .mim-topic-grid, .mim-posts .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
  .mim-guide-card { padding: 22px; }
  .mim-guide-icon { margin-bottom: 10px; }
  .mim-topic-number { margin-bottom: 16px; }
  .mim-feature-band, .mim-band { padding: 40px 20px; }
  .mim-feature-grid, .mim-about-grid { grid-template-columns: 1fr; gap: 28px; }
  .mim-about-photo img { width: 180px; margin-inline: auto; }
  .mim-about-copy { text-align: center; }
  .mim-about-copy .wp-block-buttons { justify-content: center; }
  .mim-search-section .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: 10px; }
  .mim-search-section .wp-block-search__input { flex-basis: 100%; }
  .mim-search-section .wp-block-search__button { margin-left: 0; width: 100%; }
  .mim-footer { padding: 40px 20px 24px; }
  .mim-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .mim-footer-brand { grid-column: 1 / -1; }
  .wp-block-query-pagination { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Keep the native menu comfortably inset on smaller screens. */
.mim-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
.mim-header .wp-block-navigation .is-menu-open .wp-block-navigation__container { align-items: flex-start; width: 100%; gap: 12px; }
.mim-header .wp-block-navigation .is-menu-open .wp-block-navigation-item { align-items: flex-start; }
.mim-header .wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start; padding: 4px 0 8px 16px !important; gap: 0; }
.mim-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: .95rem; font-weight: 400; padding: 8px 0; }

/* Keep the existing provider form and its success callback intact. */
.mim-article-newsletter { max-width: 1100px !important; width: calc(100% - 48px); margin: 40px auto 0; }
.mim-newsletter { background: var(--mim-paper); border-radius: 12px; padding: 24px; }
.mim-newsletter #mlb2-38891335.ml-form-embedContainer .ml-form-embedWrapper { background: transparent; max-width: 560px; width: 100%; }
.mim-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent h4 { font-family: var(--mim-display); color: var(--mim-deep); font-size: 28px; }
.mim-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent p,
.mim-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody input { font-family: var(--mim-body); }
.mim-newsletter #mlb2-38891335.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button { background-color: var(--mim-deep) !important; font-family: var(--mim-body) !important; }
@media (max-width: 600px) { .mim-article-newsletter { width: calc(100% - 40px); } .mim-newsletter { padding: 8px; } }

/* Style retained MailerLite embeds without replacing their forms or callbacks. */
/* Article media keeps its original proportions and fits narrow reading columns. */
.mim-prose .wp-block-image { margin-block: 28px; }
.mim-prose .wp-block-image img { max-width: 100%; height: auto; border-radius: 10px; }
.mim-map { width: 100%; overflow: hidden; border: 1px solid var(--mim-border); border-radius: 12px; margin-block: 28px; }
.mim-map iframe { display: block; width: 100%; max-width: 100%; height: 480px; border: 0; }
.mim-video { width: 100%; aspect-ratio: 16 / 9; margin-block: 28px; overflow: hidden; border-radius: 10px; }
.mim-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.mim-prose .wp-block-quote { margin-inline: 0; padding: 20px 24px; border-left: 3px solid var(--mim-green); background: var(--mim-paper); }
.mim-prose .wp-block-quote > :first-child { margin-top: 0; }
.mim-prose .wp-block-quote > :last-child { margin-bottom: 0; }
.mim-instagram-embed { width: 100%; max-width: 540px; margin: 32px auto; }
.mim-instagram-embed { position: relative; }
.mim-instagram-embed :is(.instagram-media, .instagram-media-registered) { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; }
@media (max-width: 600px) { .mim-map iframe { height: 420px; } }

.mim-prose .ml-form-embedContainer { margin-block: 32px !important; }
.mim-prose .ml-form-embedContainer .ml-form-embedWrapper {
  background: var(--mim-paper) !important;
  border: 1px solid var(--mim-border) !important;
  border-radius: 12px !important;
  max-width: 560px !important;
  width: 100% !important;
  padding: 8px !important;
}
.mim-prose .ml-form-embedContainer h4,
.mim-newsletter .ml-form-embedContainer h4 {
  font-family: var(--mim-display) !important;
  font-size: clamp(1.5rem, 3vw, 1.9rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--mim-deep) !important;
}
.mim-prose .ml-form-embedContainer p,
.mim-newsletter .ml-form-embedContainer p {
  font-family: var(--mim-body) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--mim-ink) !important;
}
:is(.mim-prose, .mim-newsletter) :is(#mlb2-46336499, #mlb2-44275165, #mlb2-38891335, #mlb2-40037621, #mlb2-38911739, #mlb2-38892939, #mlb2-38892850, #mlb2-38892728).ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input {
  font-family: var(--mim-body) !important;
  font-size: 1rem !important;
  min-height: 48px;
}
:is(.mim-prose, .mim-newsletter) :is(#mlb2-46336499, #mlb2-44275165, #mlb2-38891335, #mlb2-40037621, #mlb2-38911739, #mlb2-38892939, #mlb2-38892850, #mlb2-38892728).ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button {
  background-color: var(--mim-deep) !important;
  font-family: var(--mim-body) !important;
  min-height: 48px;
}
:is(.mim-prose, .mim-newsletter) :is(#mlb2-46336499, #mlb2-44275165, #mlb2-38891335, #mlb2-40037621, #mlb2-38911739, #mlb2-38892939, #mlb2-38892850, #mlb2-38892728).ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button:hover {
  background-color: var(--mim-green) !important;
}

/* Native data tables retain their content at narrow reading widths. */
.mim-prose .wp-block-table { margin: 28px 0; overflow-x: auto; }
.mim-prose .wp-block-table table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: .94rem; line-height: 1.55; }
.mim-prose .wp-block-table :is(th,td) { border: 1px solid var(--mim-border); padding: 12px; text-align: left; vertical-align: top; overflow-wrap: normal; }
.mim-prose .wp-block-table th { background: var(--mim-paper); color: var(--mim-deep); font-weight: 700; }

.mim-prose .wp-block-table a { overflow-wrap: anywhere; }
.mim-prose .wp-block-table:focus-visible, .mim-photo-gallery:focus-visible { outline: 3px solid #a95532; outline-offset: 4px; }
.mim-prose .wp-block-details:not(.mim-toc) { padding: 18px 22px; border: 1px solid var(--mim-border); border-radius: 8px; background: var(--mim-paper); }
.mim-prose .wp-block-details:not(.mim-toc) > summary { cursor: pointer; font-weight: 700; color: var(--mim-deep); }
.mim-prose .mim-photo-gallery { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; align-items: flex-start; margin: 28px 0 12px; padding-bottom: 8px; }
.mim-prose .mim-photo-gallery.has-nested-images > figure.wp-block-image { flex: 0 0 calc(50% - 8px); width: calc(50% - 8px); margin: 0 !important; scroll-snap-align: start; display: block; }
.mim-prose .mim-photo-gallery.has-nested-images figure.wp-block-image img { width: 100%; height: 260px; object-fit: contain; background: var(--mim-paper); border-radius: 8px; }
.mim-prose .mim-photo-gallery.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--mim-soft); padding: 8px 0; font-size: .85rem; line-height: 1.5; max-height: none; }
.mim-gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 28px; font-size: .8rem; color: var(--mim-soft); }
.mim-gallery-controls button { min-height: 44px; padding: 9px 12px; border: 1px solid var(--mim-deep); border-radius: 7px; background: transparent; color: var(--mim-deep); font: inherit; font-weight: 700; cursor: pointer; }
.mim-gallery-controls button:disabled { opacity: .45; cursor: default; }
@media (max-width: 600px) {
 .mim-prose .mim-photo-gallery.has-nested-images > figure.wp-block-image { flex-basis: 100%; width: 100%; }
 .mim-prose .mim-photo-gallery.has-nested-images figure.wp-block-image img { height: 260px; }
}

.mim-table-hint { color: var(--mim-soft); font-size: .85rem; margin: 20px 0 -14px; }
.mim-table-hint[hidden] { display: none; }
.mim-prose .mim-table-sort { border: 0; padding: 4px 0; min-height: 44px; background: transparent; color: inherit; font: inherit; font-weight: inherit; text-align: left; cursor: pointer; }
.mim-table-sort::after { content: " ↕"; }
th[aria-sort="ascending"] .mim-table-sort::after { content: " ↑"; }
th[aria-sort="descending"] .mim-table-sort::after { content: " ↓"; }

/* Compact footer signup stays with the site introduction and uses the existing provider. */
.mim-footer-newsletter { max-width: 330px !important; margin: 20px auto 0 !important; }
.mim-footer-newsletter .mim-newsletter { background: transparent; border-radius: 0; padding: 0; margin: 0 !important; }
.mim-footer-newsletter #mlb2-38891335.ml-form-embedContainer .ml-form-embedWrapper { background: transparent; width: 100%; max-width: 100%; border: 0; border-radius: 0; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-embedWrapper :is(.ml-form-embedBody, .ml-form-successBody) { padding: 0 !important; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-embedContent { margin: 0 0 14px; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-embedWrapper p { color: #e1e9e1 !important; font-size: .9rem !important; line-height: 1.7 !important; text-align: left; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-successContent h4 { color: #fff !important; font-size: 1.25rem !important; }
.mim-footer-newsletter .ml-block-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody :is(.ml-form-formContent, .ml-form-fieldRow, .ml-form-embedSubmit) { margin: 0; min-width: 0; }
.mim-footer-newsletter #mlb2-38891335 .mim-newsletter-label { display: block; color: #e1e9e1 !important; font-family: var(--mim-body); font-size: .8rem; font-weight: 600; line-height: 1.5; margin-bottom: 6px; text-align: left; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input { width: 100%; min-width: 0; min-height: 48px; border-radius: 4px !important; }
.mim-footer .mim-footer-newsletter #mlb2-38891335.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button { min-height: 48px; padding: 10px 16px !important; border-radius: 4px !important; background-color: var(--mim-yellow) !important; color: var(--mim-deep) !important; font-size: .875rem !important; white-space: nowrap; }
.mim-footer .mim-footer-newsletter #mlb2-38891335.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button:hover { background-color: #fff !important; }
.mim-footer-newsletter :is(input, button):focus-visible { outline: 3px solid var(--mim-yellow); outline-offset: 3px; }
.mim-footer-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.loading { border: 1px solid var(--mim-yellow) !important; }
@media (max-width: 600px) {
  .mim-footer-newsletter .ml-block-form { grid-template-columns: 1fr; gap: 12px; }
  .mim-footer-newsletter #mlb2-38891335 .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit { width: auto; justify-self: start; }
}

/* Footer social destinations use native WordPress icons and accessible names. */
.mim-footer .mim-footer-socials { padding: 0; margin: 0 !important; gap: 8px; flex-wrap: wrap; }
.mim-footer .mim-footer-socials .wp-social-link { margin: 0; color: #e1e9e1; background: #ffffff14; border-radius: 50%; }
.mim-footer .mim-footer-socials .wp-social-link a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; box-sizing: border-box; color: inherit; }
.mim-footer .mim-footer-socials .wp-social-link svg { width: 24px; height: 24px; }
.mim-footer .mim-footer-socials .wp-social-link:hover { background: #fff; color: var(--mim-deep); transform: none; }
.mim-footer .mim-footer-socials a:focus-visible { outline: 3px solid var(--mim-yellow); outline-offset: 4px; }
@media (max-width: 600px) { .mim-footer .mim-footer-socials { width: 100%; justify-content: flex-start; } }

/* Standalone contact form follows the native theme, with readable labels and touch targets. */
.mim-contact-form .fluentform { max-width: 720px; margin-inline: auto; }
.mim-contact-form .fluentform .ff-el-form-control { font-family: var(--mim-body); font-size: 16px; min-height: 48px; border: 1px solid var(--mim-border); border-radius: 6px; color: var(--mim-ink); background: #fff; }
.mim-contact-form .fluentform .ff-el-input--label { font-family: var(--mim-body); color: var(--mim-ink); font-weight: 600; }
.mim-contact-form .fluentform .frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style) { min-height: 48px; padding: 12px 24px; border-radius: 6px; background: var(--mim-deep); color: #fff; font-family: var(--mim-body); font-weight: 700; }
.mim-contact-form .fluentform :is(input, textarea, button):focus-visible { outline: 3px solid #a95532; outline-offset: 3px; }
#newsletter { scroll-margin-top: 100px; }

.mim-contact-form > .wp-block-heading { max-width: 720px; margin-inline: auto; }
