/* Shared pages extend the approved homepage tokens. Mobile first. */
/* Ritual overview reuses the site's content cards, buttons and palette. */
.marci-rituals__grid { display: grid; gap: var(--space-6); }
.marci-rituals__grid .marci-content-card__body { padding: var(--space-8); }
.marci-rituals__grid h3 { font-size: var(--text-2xl); margin: 0 0 var(--space-4); }
.marci-rituals__grid .marci-text-link { display: inline-flex; align-items: center; min-height: var(--space-12); }
.marci-rituals__grid .marci-rituals__contact { background: var(--color-tint); }
.marci-rituals__contact .marci-btn { margin-top: auto; }
@media (min-width: 768px) {
 .marci-rituals__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
html { font-size: 17px; }
.marci-site { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); font-size: var(--font-size-base); line-height: var(--line-height-base); }
.marci-site h1, .marci-site h2, .marci-site h3, .marci-site h4 { font-family: var(--font-heading); color: var(--color-text); line-height: var(--lh-snug); }
.marci-site #content > .ast-container { display: block; max-width: none; padding: 0; }
.marci-site #primary { width: 100%; margin: 0; padding: 0; }
.marci-site a { text-underline-offset: .2em; }
.marci-site :focus-visible { outline: 3px solid var(--color-accent-dark); outline-offset: 4px; }
.marci-site [hidden] { display: none !important; }
.marci-skip { position: fixed; top: 8px; left: 8px; z-index: 100000; padding: 12px 20px; background: var(--color-white); color: var(--color-secondary); transform: translateY(-160%); }
.marci-skip:focus { transform: none; }
.marci-header { background: var(--color-primary); color: var(--color-white); }
.marci-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 22px; }
.marci-header a, .marci-footer a { color: var(--color-white); }
.marci-brand { font-family: var(--font-heading); font-size: 1.45rem; font-weight: 700; text-decoration: none; line-height: 1.2; }
.marci-brand small { display: block; margin-top: 7px; font-family: var(--font-body); font-size: .64rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
#marci-nav { width: 100%; }
.marci-menu, .marci-submenu ul, .marci-footer ul { list-style: none; padding: 0; margin: 0; }
.marci-menu { display: flex; flex-direction: column; gap: 4px; }
.marci-menu > li { display: flex; flex-wrap: wrap; align-items: center; position: relative; }
.marci-menu a { display: block; padding: 12px; font-size: .86rem; font-weight: 600; text-decoration: none; }
.marci-menu a:hover, .marci-menu a[aria-current] { text-decoration: underline; }
.marci-menu > li:last-child > a { border: 1px solid var(--color-border-tint); border-radius: var(--radius-full); padding-inline: 20px; }
.marci-menu-toggle { display: inline-flex; align-items: center; gap: 8px; margin-inline-start: auto; padding: 10px 12px; min-height: 44px; border: 1px solid currentColor; border-radius: var(--radius-sm); background: transparent; color: var(--color-white); font: inherit; }
.marci-submenu { position: relative; }
.marci-submenu:not([open]) > ul { display: none; }
.marci-submenu summary { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; list-style: none; }
.marci-submenu summary::-webkit-details-marker { display: none; }
.marci-submenu[open] { flex: 1 0 100%; }
.marci-submenu[open] summary { position: absolute; right: 0; bottom: 100%; }
.marci-submenu ul, .marci-menu .sub-menu { background: var(--color-primary-dark); border-radius: var(--radius-sm); padding: 8px; margin: 0; list-style: none; }
.marci-header :focus-visible, .marci-footer :focus-visible, .marci-page-hero :focus-visible { outline-color: var(--color-white); }
.marci-page-hero { padding-block: 24px 52px; background: linear-gradient(120deg, var(--color-primary), var(--color-primary-dark)); color: var(--color-white); }
.marci-page-hero h1 { max-width: 900px; margin: 18px 0; font-size: clamp(2rem, 5vw, 3.5rem); color: inherit; overflow-wrap: anywhere; }
.marci-page-hero__eyebrow { margin: 32px 0 0; text-transform: uppercase; letter-spacing: .13em; font-size: .75rem; }
.marci-page-hero__lead { max-width: 680px; margin: 0; font-size: 1.13rem; }
.marci-breadcrumbs { font-size: .78rem; }
.marci-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 0; padding: 0; list-style: none; }
.marci-breadcrumbs li { overflow-wrap: anywhere; }
.marci-breadcrumbs li + li::before { content: '/'; margin-right: 10px; }
.marci-breadcrumbs a { color: inherit; }
.marci-reading-layout { max-width: 800px; margin-inline: auto; }
.marci-prose { min-width: 0; overflow-wrap: anywhere; }
.marci-prose--center { max-width: 800px; margin-inline: auto; }
.marci-plans { margin-block: 32px; }
.marci-plan-price { color: var(--color-primary-dark); font-size: 2rem; font-family: var(--font-heading); }
.marci-plan-price small { display: block; font: 1rem var(--font-body); }
.marci-plans ul { margin-left: 1.2em; }
.marci-prose > :last-child { margin-bottom: 0; }
.marci-prose h2 { font-size: 1.8rem; margin-block: 2em .7em; }
.marci-prose h3 { font-size: 1.4rem; margin-block: 1.8em .6em; }
.marci-prose h2:first-child, .marci-prose h3:first-child { margin-top: 0; }
.marci-prose p, .marci-prose ul, .marci-prose ol { margin-bottom: 1.3em; }
.marci-prose ul, .marci-prose ol { margin-left: 1.4em; }
.marci-prose a { text-decoration: underline; }
.marci-prose a.marci-btn { text-decoration: none; }
.marci-prose img { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.marci-prose figure { max-width: 100%; }
.marci-prose iframe, .marci-prose video, .marci-prose audio { max-width: 100%; }
.marci-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.marci-prose td, .marci-prose th { padding: 12px; border: 1px solid var(--color-border-tint); }
.marci-prose blockquote { margin: 24px 0; padding: 24px; border-left: 4px solid var(--color-accent-dark); background: var(--color-bg-alt); font-family: var(--font-heading); }
.marci-aside { align-self: start; padding: 24px; background: var(--color-bg-alt); border-radius: var(--radius-xl); }
.marci-aside img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); margin-bottom: 24px; }
.marci-aside h2 { font-size: 1.5rem; }
.marci-aside__address { margin-block: 20px 8px; }
/* Contact card on the About page. */
.marci-reading-layout--aside > .marci-aside { display: grid; gap: var(--space-4); min-width: 0; padding: 0; margin-top: var(--space-8); overflow: hidden; border: 1px solid var(--color-border-tint); box-shadow: var(--shadow-sm); }
.marci-reading-layout--aside > .marci-aside > .marci-content-image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; border-radius: 0; }
.marci-reading-layout--aside > .marci-aside > h2 { margin: var(--space-2) var(--space-6) 0; font-size: var(--text-2xl); line-height: var(--lh-snug); }
.marci-reading-layout--aside > .marci-aside > p { margin: 0 var(--space-6); font-size: var(--text-sm); color: var(--color-text-muted); }
.marci-reading-layout--aside > .marci-aside > .marci-btn { min-height: var(--space-12); margin-inline: var(--space-6); padding-inline: var(--space-4); white-space: nowrap; }
.marci-reading-layout--aside > .marci-aside > .marci-btn::before { content: ""; flex: 0 0 var(--space-5); width: var(--space-5); height: var(--space-5); background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.96.35 1.9.69 2.79a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.83.57 2.79.69A2 2 0 0 1 22 16.92z' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.marci-reading-layout--aside > .marci-aside > p:last-child { margin-block: var(--space-2) var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-border-tint); color: var(--color-primary-dark); }
@media (min-width: 768px) and (max-width: 1023px) {
	.marci-reading-layout--aside > .marci-aside { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); grid-template-rows: auto auto auto 1fr; gap: var(--space-4) var(--space-6); padding: var(--space-6); }
	.marci-reading-layout--aside > .marci-aside > .marci-content-image { grid-column: 1; grid-row: 1 / 5; width: calc(100% + var(--space-6)); max-width: none; height: calc(100% + var(--space-12)); aspect-ratio: auto; margin: calc(-1 * var(--space-6)) 0 calc(-1 * var(--space-6)) calc(-1 * var(--space-6)); }
	.marci-reading-layout--aside > .marci-aside > h2,
	.marci-reading-layout--aside > .marci-aside > p,
	.marci-reading-layout--aside > .marci-aside > .marci-btn { grid-column: 2; margin: 0; }
}
@media (min-width: 1024px) {
	.marci-reading-layout--aside > .marci-aside { margin-top: 0; }
}
.marci-card-grid, .marci-contact-grid { display: grid; gap: 24px; }
.marci-content-card { display: flex; flex-direction: column; border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; background: var(--color-white); box-shadow: var(--shadow-sm); min-width: 0; }
.marci-content-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; margin: 0; border-radius: 0; }
.marci-content-card__body { display: flex; flex-direction: column; align-items: start; flex: 1; padding: 26px; }
.marci-content-card h2 { font-size: 1.4rem; margin: 0 0 16px; }
.marci-content-card h2 a { color: var(--color-text); text-decoration: none; }
.marci-content-card h2 a:hover { text-decoration: underline; }
.marci-content-card__label { font-size: .8rem; color: var(--color-primary-dark); margin: 0 0 12px; }
.marci-content-card__meta { font-size: .85rem; font-weight: 600; }
.marci-content-card__meta--open { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-radius: var(--radius-full); background: var(--color-accent-dark); color: var(--color-white); font-weight: 700; }
.marci-content-card__meta--open::before { content: ""; flex: 0 0 var(--space-2); width: var(--space-2); height: var(--space-2); border-radius: var(--radius-full); background: currentColor; }
.marci-content-card .marci-text-link { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: auto; }
.marci-content-card .marci-text-link svg { display: block; flex-shrink: 0; }
.marci-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.marci-filters a, .marci-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 18px; border: 1px solid var(--color-border-tint); border-radius: var(--radius-full); background: var(--color-white); text-decoration: none; }
.marci-filters a[aria-current], .marci-pagination .current { background: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }
.marci-pagination { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.marci-state { padding: 28px; border: 1px solid var(--color-border-tint); border-radius: var(--radius-md); background: var(--color-white); }
.marci-state a { text-decoration: underline; }
.marci-akce-signup__form a { text-decoration: underline; }
/* Contact: quick details, visit information and a distinct form panel. */
.marci-contact-grid { margin-bottom: var(--space-12); }
.marci-contact-card { min-width: 0; padding: var(--space-6); border: 1px solid var(--color-border-tint); background: var(--color-bg-alt); border-radius: var(--radius-lg); overflow-wrap: anywhere; }
.marci-contact-card__icon { display: block; box-sizing: content-box; padding: var(--space-3); margin-bottom: var(--space-4); color: var(--color-primary); background: var(--color-white); border-radius: var(--radius-md); }
.marci-contact-card h2 { margin: 0 0 var(--space-3); font-size: var(--text-xl); }
.marci-contact-card__value { display: block; margin: 0 0 var(--space-3); font-size: var(--text-2xl); font-weight: 700; line-height: 1.35; }
.marci-contact-card a[href^="tel:"] { white-space: nowrap; }
.marci-contact-card__value--email { font-size: var(--text-lg); }
.marci-contact-card > p:not(.marci-contact-card__value) { margin: var(--space-3) 0 0; font-size: var(--text-sm); color: var(--color-text-muted); }
.marci-contact-card > a:not(.marci-contact-card__value) { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--space-2); font-size: var(--text-sm); }
.marci-contact-content { max-width: none; }
.marci-contact-layout { display: grid; gap: var(--space-10); align-items: start; }
.marci-contact-layout > section { min-width: 0; }
.marci-contact-content h2 { margin: 0 0 var(--space-6); font-size: var(--text-2xl); }
.marci-contact-content h3 { margin: 0 0 var(--space-4); font-size: var(--text-xl); }
.marci-contact-facts { padding-left: var(--space-5); margin: 0 0 var(--space-8); }
.marci-contact-facts li { margin-bottom: var(--space-3); }
.marci-contact-facts li::marker { color: var(--color-accent-dark); }
.marci-contact-map { scroll-margin-top: var(--space-6); }
.marci-contact-map__image { display: block; margin-bottom: var(--space-5); }
.marci-contact-map__image img { display: block; width: 100%; height: auto; margin: 0; border: 1px solid var(--color-border-tint); border-radius: var(--radius-md); }
.marci-contact-map p { font-size: var(--text-sm); color: var(--color-text-muted); }
.marci-contact-map__link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.marci-contact-social { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--color-border); }
.marci-contact-social nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); }
.marci-contact-social a { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-2) var(--space-4); border: 1px solid var(--color-border-tint); border-radius: var(--radius-full); font-size: var(--text-sm); }
.marci-contact-form { padding: var(--space-6); background: var(--color-bg-alt); border: 1px solid var(--color-border-tint); border-radius: var(--radius-xl); }
.marci-contact-form #kontakt { scroll-margin-top: var(--space-6); }
.marci-contact-form form > p { margin: 0 0 var(--space-5); }
.marci-contact-form form > p:has(+ p > .wpcf7-form-control-wrap) { margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: 600; }
.marci-contact-form textarea { min-height: 160px; height: 160px; resize: vertical; }
.marci-contact-form form > p:has(label) { font-size: var(--text-sm); }
.marci-contact-form label { font-weight: 400; }
.marci-contact-form .wpcf7-list-item { margin-left: 0; }
.marci-contact-form button[type=submit] { width: 100%; }
.marci-contact-business { display: grid; gap: var(--space-6); margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--color-border-tint); }
.marci-contact-business__identity p { margin: 0 0 var(--space-3); }
.marci-contact-business__facts { display: grid; align-content: start; gap: var(--space-5); margin: 0; }
.marci-contact-business__facts dt { font-size: var(--text-sm); color: var(--color-text-muted); }
.marci-contact-business__facts dd { margin: var(--space-1) 0 0; }
.marci-contact-business .marci-contact-business__registry { grid-column: 1 / -1; margin: 0; font-size: var(--text-sm); color: var(--color-text-muted); }
.marci-login { max-width: 520px; margin-inline: auto; padding: 32px; background: var(--color-bg-alt); border-radius: var(--radius-xl); }
.marci-site label { display: block; font-weight: 600; margin-bottom: 8px; }
.marci-site input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]), .marci-site textarea, .marci-site select { max-width: 100%; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--color-text-muted); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-text); font: inherit; }
.marci-site input[type=submit], .marci-site button[type=submit], .marci-search button { min-height: 48px; padding: 12px 24px; border: 0; border-radius: var(--radius-full); background: var(--color-accent-dark); color: var(--color-white); font: inherit; font-weight: 600; cursor: pointer; }
.marci-site input[type=checkbox], .marci-site input[type=radio] { width: 20px; height: 20px; vertical-align: middle; accent-color: var(--color-primary); }
.marci-site .wpcf7-not-valid-tip { color: var(--color-error); font-size: .9rem; }
.marci-site .wpcf7-response-output { padding: 16px; border-radius: var(--radius-sm); }
.marci-search { max-width: 640px; margin-block: 24px; }
.marci-search > div { display: flex; gap: 12px; }
.marci-article-image { width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: var(--radius-lg); margin-bottom: 32px; }
.marci-footer { padding-block: 56px 24px; background: var(--color-secondary); color: var(--color-white); }
.marci-footer__grid { display: grid; gap: 32px; }
.marci-footer h2 { font-family: var(--font-body); font-size: 1rem; color: inherit; margin-bottom: 16px; }
.marci-footer p, .marci-footer li, .marci-footer__bottom { font-size: .86rem; }
.marci-footer li { margin-bottom: 10px; }
.marci-footer a { display: inline-block; padding-block: 3px; text-decoration: none; }
.marci-footer a:hover { text-decoration: underline; }
.marci-footer__bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--color-text-muted); }
.marci-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.marci-footer__bottom button { color: inherit; background: transparent; border: 1px solid currentColor; padding: 8px 14px; font: inherit; cursor: pointer; }
@media (min-width: 768px) {
	.marci-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marci-contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
	.marci-contact-business { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marci-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marci-page-hero { padding-bottom: 68px; }
}
@media (min-width: 1024px) {
	#marci-nav { width: auto; }
	.marci-menu { flex-direction: row; align-items: center; gap: 2px; }
	.marci-menu-toggle { display: none; }
	.marci-submenu[open] { flex: none; }
	.marci-submenu[open] summary { position: static; }
	.marci-submenu ul, .marci-menu .sub-menu { position: absolute; z-index: 50; top: 100%; right: 0; width: 280px; box-shadow: var(--shadow-md); }
	.marci-reading-layout--aside { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; max-width: none; }
	.marci-card-grid, .marci-contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.marci-footer__grid { grid-template-columns: 1.3fr 1fr 1fr .7fr; gap: 32px; }
}
@media (max-width: 767px) {
	.marci-prose .alignleft, .marci-prose .alignright { float: none; display: block; margin: 20px auto; }
	.marci-search > div { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	.marci-site *, .marci-site *::before, .marci-site *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* DOCX content uses the existing palette and card/heading language. */
.marci-page-hero__layout { display: grid; align-items: center; gap: var(--space-8); }
.marci-page-hero__photo { display: block; width: 100%; height: auto; border-radius: var(--radius-xl); }
.marci-content-image { display: block; max-width: 100%; width: 100%; height: auto; border-radius: var(--radius-md); margin-block: var(--space-6); }
.marci-prose .marci-content-image[width="300"] { max-width: 300px; }
.marci-course-description { padding-block: var(--space-8); border-bottom: 1px solid var(--color-border-tint); scroll-margin-top: var(--space-6); }
.marci-newsletter--compact { padding-block: var(--space-8); }
.marci-newsletter--compact .marci-cta-card { max-width: 800px; margin-inline: auto; padding: var(--space-6); }
.marci-newsletter--compact .marci-cta-card__title { font-size: var(--text-2xl); }
.marci-newsletter--compact .marci-cta-card__lead { margin-bottom: var(--space-4); font-size: var(--text-base); }
/* Pokračování věty za checkboxem patří do stejného textového řádku. */
body.home [data-track-section="newsletter"] .wpcf7-form-control-wrap[data-name="osobni_udaje"] { display: inline; }
#gdprcheck > span > span > span { margin-left: 0px; display: none; }
@media (min-width: 768px) {
	.marci-page-hero__layout--photo { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
	.marci-tiles.marci-tiles--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Course catalog: short overview first, full supplied text on demand. */
.marci-course-intro__layout { display: grid; gap: 32px; align-items: center; }
.marci-course-intro h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-block: 12px 20px; }
.marci-course-intro__layout > div > p:not(.marci-kicker) { max-width: 58ch; margin-bottom: 24px; }
.marci-course-intro__benefits { background: var(--color-bg-alt); border-radius: var(--radius-lg); padding: 28px; }
.marci-course-intro__benefits > p { font-weight: 700; }
.marci-course-intro__benefits ul { margin: 0; padding-left: 1.2em; }
.marci-course-intro__benefits li + li { margin-top: 12px; }
.marci-course-grid { display: grid; gap: 28px; align-items: start; }
.marci-course-card { min-width: 0; background: var(--color-white); border: 1px solid var(--color-border-tint); border-radius: var(--radius-lg); overflow: hidden; scroll-margin-top: 28px; }
.marci-course-card__image .marci-content-image { margin: 0; border-radius: 0; width: 100%; height: 380px; object-fit: cover; }
.marci-course-card__body { padding: 28px; }
.marci-course-card__label { color: var(--color-primary-dark); font-size: .8rem; font-weight: 700; margin: 0 0 12px; }
.marci-course-card h3 { font-size: 1.5rem; line-height: 1.3; margin: 0 0 16px; }
.marci-course-card__description { margin: 0 0 24px; }
.marci-course-card__facts { display: flex; flex-wrap: wrap; gap: 16px 32px; margin: 0 0 24px; padding: 18px 0; border-block: 1px solid var(--color-border-tint); }
.marci-course-card__facts div { flex: 1 1 120px; }
.marci-course-card__facts dt { font-size: .8rem; color: var(--color-text-muted); font-weight: 400; }
.marci-course-card__facts dd { margin: 4px 0 0; font-weight: 700; color: var(--color-secondary); }
.marci-disclosure > summary { cursor: pointer; min-height: 48px; padding-block: 12px; font-weight: 600; color: var(--color-primary-dark); }
.marci-disclosure > summary::marker { color: var(--color-primary); }
.marci-disclosure > summary:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; border-radius: 4px; }
.marci-disclosure[open] > summary { margin-bottom: 16px; }
.marci-course-audience { margin-top: 28px; border-top: 1px solid var(--color-border-tint); padding-top: 8px; }
.marci-course-audience .marci-prose { max-width: 800px; }
.marci-course-card__detail .marci-prose { padding-top: 8px; }
.marci-course-card__detail .marci-prose h3 { font-size: 1.2rem; }
.marci-course-card__link { display: inline-block; padding-block: 12px; min-height: 48px; color: var(--color-accent-dark); font-weight: 700; text-decoration: none; }
.marci-course-card__link:hover { text-decoration: underline; }
.marci-course-card__note { margin: 12px 0 0; font-size: .85rem; color: var(--color-text-muted); }
.marci-course-references { margin-top: 28px; }
.marci-course-references > summary { text-align: center; }
@media (min-width: 768px) {
 .marci-course-intro__layout { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 60px; }
 .marci-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .marci-course-card__description { min-height: 5.4em; }
 .marci-course-card h3 { min-height: 2.6em; }
}
@media (max-width: 479px) {
 .marci-course-card__body { padding: 22px; }
 .marci-course-card__image .marci-content-image { height: 300px; }
}

.marci-newsletter-unavailable { display: block; padding: 12px 16px; margin-block: 12px; border-radius: var(--radius-sm); background: var(--color-bg-alt); color: var(--color-text); font-weight: 400; }

@media (min-width: 768px) and (max-width: 1023px) {
	.marci-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marci-contact-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: var(--space-6); }
	.marci-contact-card:last-child > * { grid-column: 2; }
	.marci-contact-card:last-child > .marci-contact-card__icon { grid-column: 1; grid-row: 1 / 5; margin-bottom: 0; }
}
@media (min-width: 1024px) {
	.marci-contact-grid { gap: var(--space-6); }
	.marci-contact-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12); }
	.marci-contact-form { padding: var(--space-8); }
}

/* Regression: editorial hierarchy for the approved, ordered page content. */
.page-template-content-regression .marci-reading-layout { max-width: 900px; }
.page-template-content-regression .marci-reading-layout > .marci-prose { display: flow-root; }
.page-template-content-regression .marci-reading-layout > .marci-prose > h2 { clear: both; margin: var(--space-12) 0 var(--space-6); padding-top: var(--space-6); border-top: 1px solid var(--color-border-tint); font-size: clamp(1.45rem, 3vw, 1.9rem); line-height: 1.3; }
.page-template-content-regression .marci-reading-layout > .marci-prose > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.page-template-content-regression .marci-reading-layout > .marci-prose > p { line-height: 1.8; margin-bottom: var(--space-5); }
.page-template-content-regression .marci-reading-layout > .marci-prose > h2:first-child + p { max-width: 720px; font-size: var(--text-lg); color: var(--color-text-muted); margin-bottom: var(--space-8); }
.page-template-content-regression .marci-reading-layout > .marci-prose > ul { padding-left: var(--space-5); margin: 0 0 var(--space-8); }
.page-template-content-regression .marci-reading-layout > .marci-prose > ul > li { padding-left: var(--space-1); margin-bottom: var(--space-3); break-inside: avoid; }
.page-template-content-regression .marci-reading-layout > .marci-prose > ul > li::marker { color: var(--color-accent-dark); }
.page-template-content-regression .marci-reading-layout > .marci-prose > ul:first-of-type { display: grid; gap: var(--space-4); padding: 0; list-style-position: inside; }
.page-template-content-regression .marci-reading-layout > .marci-prose > ul:first-of-type > li { margin: 0; padding: var(--space-5); border: 1px solid var(--color-border-tint); border-radius: var(--radius-md); background: var(--color-bg-alt); }
.page-template-content-regression .marci-reading-layout > .marci-prose > h2:nth-of-type(2) + ul { padding: var(--space-6) var(--space-6) var(--space-4) var(--space-10); background: var(--color-bg-alt); border-radius: var(--radius-lg); }
.page-template-content-regression .marci-reading-layout > .marci-prose > .marci-content-image { display: block; width: 300px; max-width: 100%; margin: 0 0 var(--space-6); border-radius: var(--radius-lg); }
.page-template-content-regression .marci-reading-layout > .marci-prose > h2:nth-of-type(6) + ul { padding: var(--space-6) var(--space-6) var(--space-4) var(--space-10); border-left: 4px solid var(--color-accent-dark); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--color-bg-alt); }
/* Both prices share the same card; section headings retain their normal hierarchy. */
.page-template-content-regression .marci-reading-layout > .marci-prose > h2:nth-of-type(7) + p,
.page-template-content-regression .marci-reading-layout > .marci-prose > ul:last-of-type + p { clear: both; padding: var(--space-6); border: 0; border-radius: var(--radius-lg); background: var(--color-secondary); color: var(--color-white); font-size: var(--text-lg); font-weight: 400; }
.page-template-content-regression .marci-reading-layout > .marci-prose > p:last-child { clear: both; padding-top: var(--space-3); }
.page-template-content-regression .marci-reading-layout > .marci-prose > p:last-child > .marci-btn { max-width: 100%; min-height: 48px; text-align: center; white-space: normal; }
@media (min-width: 768px) {
 .page-template-content-regression .marci-reading-layout > .marci-prose > ul:first-of-type { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .page-template-content-regression .marci-reading-layout > .marci-prose > h2:nth-of-type(5) + ul { columns: 2; column-gap: var(--space-10); }
 .page-template-content-regression .marci-reading-layout > .marci-prose > h2:nth-of-type(5) + ul > li { margin-bottom: var(--space-5); }
 .page-template-content-regression .marci-reading-layout > .marci-prose > .marci-content-image { float: right; width: 260px; margin: 0 0 var(--space-6) var(--space-8); }
 .page-template-content-regression .marci-reading-layout > .marci-prose > .marci-content-image + ul { display: flow-root; }
 .page-template-content-regression .marci-reading-layout > .marci-prose > .marci-content-image:last-of-type { float: left; width: 180px; margin: var(--space-2) var(--space-6) 0 0; }
 .page-template-content-regression .marci-reading-layout > .marci-prose > p:last-child { clear: none; display: flex; align-items: center; min-height: 128px; padding: 0; }
}

/* Contact stays within the site width; the map has its own full content row. */
.page-template-content-contact .marci-section > .marci-container { max-width: var(--container-max); }
.page-template-content-contact .marci-contact-layout { grid-template-columns: minmax(0, 1fr); }
.page-template-content-contact .nps_marci_mapa__layout { grid-template-columns: minmax(0, 1fr); }
.page-template-content-contact .marci-contact-intro { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-8); align-items: start; margin-bottom: var(--space-12); }
.page-template-content-contact .marci-contact-intro > .marci-contact-grid { grid-template-columns: minmax(0, 1fr); margin-bottom: 0; }
.page-template-content-contact .marci-contact-intro > .marci-contact-form { min-width: 0; margin: 0; }
.page-template-content-contact .marci-contact-intro .marci-contact-form > h2 { margin: 0 0 var(--space-6); font-size: var(--text-2xl); }
.page-template-content-contact .marci-contact-intro .marci-contact-form a { text-decoration: underline; text-underline-offset: .2em; }
@media (min-width: 900px) {
 .page-template-content-contact .marci-contact-intro { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); }
}

.page-template-content-contact .nps_marci_mapa > p,
.page-template-content-contact .nps_marci_mapa__route > p { max-width: 72ch; }
