/*
Theme Name: Marmormuseum Adnet 2
Description: Überarbeitete Variante des Marmormuseum-Themes: editoriales Layout, Fraunces und Inter lokal eingebunden, Farben der bisherigen Seite plus Adneter Marmorrot. Keine externen Dienste.
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: marmormuseum-v2
License: GPL-2.0-or-later
*/

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0 !important; }
h1, h2, h3 { font-variation-settings: "SOFT" 50, "WONK" 0; text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--wp--preset--color--lime); outline-offset: 3px; border-radius: 4px; }

/* Entwurfs-Hinweis */
.mm2-draftbar { margin: 0; padding: 7px 16px; text-align: center; font-size: .8rem; letter-spacing: .02em; background: var(--wp--preset--color--forest); color: rgb(255 255 255 / .75); }

/* Kopfzeile */
.mm2-header { position: sticky; top: 0; z-index: 50; background: rgb(251 249 244 / .9); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid rgb(31 36 32 / .07); }
.admin-bar .mm2-header { top: 32px; }
.mm2-header > .wp-block-group { min-height: 76px; }
.mm2-brand { gap: 12px !important; }
.mm2-brand .wp-block-image { margin: 0; }
.mm2-brand .wp-block-site-title { margin: 0; line-height: 1.05; }
.mm2-brand .wp-block-site-tagline { margin: 3px 0 0; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.mm2-header-right { gap: 18px !important; }
.mm2-header .wp-block-navigation { gap: 4px; }
.mm2-header .wp-block-navigation-item__content { padding: 8px 11px !important; border-radius: 999px; transition: background .2s; }
.mm2-header .wp-block-navigation-item__content:hover { background: rgb(54 97 54 / .08); color: var(--wp--preset--color--forest); }
.mm2-header-cta .wp-block-button__link { padding: .6rem 1.1rem !important; font-size: .9rem !important; }
@media (max-width: 1080px) { .mm2-header-cta { display: none !important; } }
@media (max-width: 420px) { .mm2-brand .wp-block-site-title { font-size: 1.12rem !important; } .mm2-brand img { width: 34px !important; } }

/* Gemeinsam */
.mm2-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; margin-block: 0 !important; }
.mm2-section-tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); }
.mm2-section-head { max-width: 780px; margin-bottom: var(--wp--preset--spacing--50) !important; }
.mm2-section-head .mm2-lead { margin-top: 1.2rem; }
.mm2-kicker { font-size: .75rem !important; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--marble); margin-bottom: 1rem !important; display: flex; align-items: center; gap: 12px; }
.mm2-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.mm2-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--muted); }
.mm2-fine { font-size: .88rem; color: var(--wp--preset--color--muted); line-height: 1.55; }
.mm2-photo { border-radius: 20px; overflow: hidden; margin: 0; }
.mm2-photo img { width: 100%; display: block; object-fit: cover; }
.mm2-photo-tall img { aspect-ratio: 4/5; }
.mm2-btn-ghost .wp-block-button__link { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgb(255 255 255 / .6); }
.mm2-btn-ghost .wp-block-button__link:hover { background: rgb(255 255 255 / .12) !important; }
.mm2-btn-light .wp-block-button__link { background: #fff !important; color: var(--wp--preset--color--marble-deep) !important; }
.mm2-btn-light .wp-block-button__link:hover { background: var(--wp--preset--color--marble-soft) !important; }

/* Hero */
.mm2-hero { padding-top: 120px !important; padding-bottom: clamp(32px, 6vw, 72px) !important; color: #fff; }
.mm2-hero.wp-block-cover .wp-block-cover__inner-container,
.mm2-marble.wp-block-cover .wp-block-cover__inner-container,
.mm2-trail-hero.wp-block-cover .wp-block-cover__inner-container { margin: 0 auto !important; width: 100% !important; max-width: var(--wp--style--global--wide-size) !important; }

.mm2-hero.wp-block-cover, .mm2-marble.wp-block-cover { padding-left: clamp(20px, 4vw, 40px) !important; padding-right: clamp(20px, 4vw, 40px) !important; }
.mm2-hero h1 { color: #fff; margin: 0 0 1.4rem; max-width: 12ch; font-weight: 450; }
.mm2-hero h1 em { font-style: italic; color: var(--wp--preset--color--rose); font-weight: 400; }
.mm2-hero .mm2-kicker { color: var(--wp--preset--color--lime); }
.mm2-hero .mm2-lead { color: rgb(255 255 255 / .86); max-width: 52ch; margin-bottom: 2rem; }
.mm2-hero-cols { gap: clamp(28px, 5vw, 72px) !important; align-items: flex-end !important; }
.mm2-infocard { background: rgb(251 249 244 / .96); color: var(--wp--preset--color--ink); border-radius: 22px; padding: 26px 26px 10px !important; box-shadow: 0 30px 60px -20px rgb(0 0 0 / .45); max-width: 380px; margin-left: auto; }
.mm2-info-row { font-size: .9rem; line-height: 1.55; padding: 14px 0; margin: 0 !important; border-top: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--muted); }
.mm2-info-row strong { color: var(--wp--preset--color--forest); font-weight: 600; margin-right: 6px; }
.mm2-infocard .mm-status { margin: 0 0 14px !important; display: flex; align-items: flex-start; gap: 10px; font-size: .95rem; line-height: 1.45; color: var(--wp--preset--color--ink); }
.mm2-infocard .mm-status strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; font-weight: 500; color: var(--wp--preset--color--forest); margin-bottom: 2px; }
.mm-status .dot { width: 10px; height: 10px; border-radius: 50%; background: #b9bdb3; flex: none; margin-top: 9px; box-shadow: 0 0 0 4px rgb(0 0 0 / .05); }
.mm-status.open .dot { background: #5fbf3a; box-shadow: 0 0 0 4px rgb(95 191 58 / .2); animation: mm2-pulse 2s infinite; }
.mm-status.soon .dot { background: #e2b33c; box-shadow: 0 0 0 4px rgb(226 179 60 / .2); }
@keyframes mm2-pulse { 50% { box-shadow: 0 0 0 7px rgb(95 191 58 / .08); } }
@media (max-width: 781px) { .mm2-hero { min-height: auto !important; padding-top: 90px !important; } .mm2-infocard { max-width: none; margin-left: 0; } }

/* Intro */
.mm2-intro { text-align: center; }
.mm2-statement { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.45rem, 2.8vw, 2.15rem); line-height: 1.35; font-weight: 400; color: var(--wp--preset--color--forest); max-width: 30ch; margin: 0 auto !important; letter-spacing: -.01em; }
.mm2-stats { margin-top: var(--wp--preset--spacing--50) !important; gap: 0 !important; border-top: 1px solid var(--wp--preset--color--line); }
.mm2-stats .wp-block-column { padding: 28px 12px 0; }
.mm2-stats .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--line); }
.mm2-stats p { margin: 0; font-size: .88rem; color: var(--wp--preset--color--muted); }
.mm2-stats strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(2rem, 3.6vw, 2.8rem); line-height: 1.1; color: var(--wp--preset--color--marble); margin-bottom: 6px; }
@media (max-width: 781px) {
  .mm2-stats { display: grid !important; grid-template-columns: 1fr 1fr; }
  .mm2-stats .wp-block-column { padding: 22px 8px; border-left: 0 !important; }
  .mm2-stats .wp-block-column:nth-child(even) { border-left: 1px solid var(--wp--preset--color--line) !important; }
  .mm2-stats .wp-block-column:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--line); }
}

/* Ausstellung: Kacheln */
.mm2-bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(260px, auto); gap: 14px; }
.mm2-bento > * { margin: 0 !important; }
.mm2-tile { border-radius: 20px; overflow: hidden; min-height: 260px !important; padding: 24px !important; }
.mm2-tile h3 { color: inherit; font-size: 1.35rem; margin: 0 0 .35rem; }
.mm2-tile p { margin: 0; font-size: .92rem; line-height: 1.5; opacity: .9; }
.mm2-tile.wp-block-cover { color: #fff; }
.mm2-tile.wp-block-cover img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.mm2-tile.wp-block-cover:hover img { transform: scale(1.04); }
.mm2-tile-big { grid-column: span 2; grid-row: span 2; }
.mm2-tile-big h3 { font-size: 1.9rem; }
.mm2-tile-red { grid-column: span 2; }
.mm2-tile-text { display: flex; flex-direction: column; justify-content: flex-end; }
.mm2-tile-red { background: var(--wp--preset--color--marble); color: #fff; }
.mm2-tile-lime { background: var(--wp--preset--color--lime-soft); color: var(--wp--preset--color--forest); grid-column: span 2; }
.mm2-tile-wide { grid-column: span 2; }
@media (max-width: 900px) {
  .mm2-bento { grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(220px, auto); }
  .mm2-tile-big, .mm2-tile-red, .mm2-tile-lime, .mm2-tile-wide { grid-column: span 2; }
  .mm2-tile-big { grid-row: span 1; min-height: 340px !important; }
}
@media (max-width: 520px) { .mm2-bento { grid-template-columns: 1fr; } .mm2-bento > * { grid-column: span 1 !important; } }

/* Marmor: Zeitleiste */
.mm2-marble { color: #fff; }
.mm2-marble h2, .mm2-marble h3 { color: #fff; }
.mm2-marble .mm2-kicker { color: var(--wp--preset--color--rose); }
.mm2-marble .mm2-lead { color: rgb(255 255 255 / .85); }
.mm2-marble .mm2-photo { margin-top: 2rem; }
.mm2-marble figcaption { color: rgb(255 255 255 / .7) !important; text-align: left; margin-top: .8rem; line-height: 1.5; }
.mm2-quote { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.3rem; line-height: 1.45; margin-top: 2rem !important; padding-left: 20px; border-left: 2px solid var(--wp--preset--color--rose); color: #fff; }
.mm2-timeline { list-style: none; padding: 0; margin: 0; position: relative; }
.mm2-timeline::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px; background: rgb(255 255 255 / .25); }
.mm2-timeline li { position: relative; padding: 0 0 26px 40px; margin: 0; color: rgb(255 255 255 / .82); line-height: 1.55; }
.mm2-timeline li:last-child { padding-bottom: 0; }
.mm2-timeline li::before { content: ""; position: absolute; left: 0; top: 7px; width: 15px; height: 15px; border-radius: 50%; background: var(--wp--preset--color--marble-deep); box-shadow: inset 0 0 0 2px var(--wp--preset--color--rose); }
.mm2-timeline li:last-child::before { background: var(--wp--preset--color--rose); }
.mm2-timeline strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; font-weight: 500; color: #fff; margin-bottom: 2px; }

/* Karten */
.mm2-cards { gap: 18px !important; }
.mm2-card { background: #fff; border-radius: 22px; padding: 30px !important; box-shadow: 0 1px 0 rgb(31 36 32 / .04), 0 20px 40px -24px rgb(31 36 32 / .18); }
.mm2-card > :first-child { margin-top: 0; }
.mm2-card > :last-child { margin-bottom: 0; }
.mm2-card h3 { margin-bottom: 1rem; }
.mm2-card .wp-block-table { margin: 0; }
.mm2-card .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .94rem; }
.mm2-card .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: 10px 0; vertical-align: top; }
.mm2-card .wp-block-table td:last-child { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; padding-left: 14px; font-weight: 500; }
.mm2-card .wp-block-table tr:last-child td { border-bottom: 0; }
.mm2-card-dark { background: var(--wp--preset--color--forest); color: rgb(255 255 255 / .85); }
.mm2-card-dark h3 { color: #fff; }
.mm2-address { font-family: var(--wp--preset--font-family--display); font-size: 1.6rem; line-height: 1.25; color: #fff; }
.mm2-season { padding: 14px 16px 6px; margin: 0 -16px 8px !important; border-radius: 14px; transition: background .3s; }
.mm2-season-label { font-size: .74rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 0 0 .25rem !important; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.mm2-season.is-current { background: var(--wp--preset--color--lime-soft); }
.mm2-season.is-current .mm2-season-label { color: var(--wp--preset--color--green); }
.mm2-season.is-current .mm2-season-label::after { content: "aktuell"; background: var(--wp--preset--color--green); color: #fff; border-radius: 999px; padding: 3px 9px; font-size: .62rem; letter-spacing: .08em; white-space: nowrap; flex: none; }

/* Marmorweg */
.mm2-marmorweg { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--60) !important; margin-block: 0 !important; }
.mm2-trail-hero { padding: clamp(28px, 5vw, 56px) !important; color: #fff; border-radius: 28px; overflow: hidden; }
.mm2-trail-hero h2 { color: #fff; max-width: 16ch; }
.mm2-trail-hero .mm2-kicker { color: var(--wp--preset--color--lime); }
.mm2-chips { list-style: none; padding: 0; margin: 1.4rem 0 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.mm2-chips li { margin: 0; padding: 7px 14px; border-radius: 999px; background: rgb(255 255 255 / .14); backdrop-filter: blur(6px); font-size: .88rem; color: #fff; }
.mm2-strip.wp-block-gallery { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; padding-bottom: 12px; scrollbar-width: thin; margin-top: var(--wp--preset--spacing--40) !important; }
.mm2-strip.wp-block-gallery > .wp-block-image { flex: 0 0 clamp(240px, 30vw, 380px) !important; width: auto !important; scroll-snap-align: start; border-radius: 16px; overflow: hidden; margin: 0 !important; }
.mm2-strip .wp-block-image img { aspect-ratio: 4/3 !important; object-fit: cover; height: 100% !important; }
.mm-map-consent { margin-top: var(--wp--preset--spacing--40) !important; border-radius: 20px; background: var(--wp--preset--color--stone); padding: 24px 28px; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.mm-map-consent p { margin: 0; max-width: 62ch; font-size: .92rem; color: var(--wp--preset--color--muted); }
.mm-map-consent button { background: var(--wp--preset--color--forest); color: #fff; border: 0; border-radius: 999px; padding: 12px 22px; font: inherit; font-weight: 600; cursor: pointer; }
.mm-map-frame { width: 100%; height: 460px; border: 0; border-radius: 20px; margin-top: var(--wp--preset--spacing--40); }

/* Schulen */
.mm2-program { border-top: 1px solid rgb(23 48 26 / .15); padding: 22px 0 6px; }
.mm2-program h3 { margin: .2rem 0 .5rem; }
.mm2-program-meta { font-size: .76rem !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--green); margin: 0 !important; }

/* Termine */
.mm2-events .wp-block-post-template { margin: 0; }
.mm2-event { padding: 22px 0 !important; gap: 22px !important; border-bottom: 1px solid var(--wp--preset--color--line); align-items: flex-start !important; }
.mm2-events li:first-child .mm2-event { padding-top: 0 !important; }
.mm2-event-date { width: 76px; flex: none; gap: 0 !important; text-align: center; border-radius: 16px; padding: 12px 6px !important; background: var(--wp--preset--color--stone); }
.mm2-event-date .wp-block-post-date { margin: 0; }
.mm2-day { font-family: var(--wp--preset--font-family--display); font-size: 1.9rem; line-height: 1; color: var(--wp--preset--color--marble); }
.mm2-month { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-top: 4px !important; }
.mm2-event .wp-block-post-title { font-size: 1.4rem; margin: 0 0 .35rem; }
.mm2-event .wp-block-post-title a { text-decoration: none; }
.mm2-event .wp-block-post-title a:hover { color: var(--wp--preset--color--marble); }
.mm2-event .wp-block-post-excerpt { margin: 0; font-size: .95rem; color: var(--wp--preset--color--muted); }
.mm2-event .wp-block-post-excerpt__more-text { margin-top: .4rem; font-weight: 600; font-size: .9rem; }

/* Verein */
.mm2-member { border-radius: 28px; padding: clamp(28px, 5vw, 64px) !important; color: rgb(255 255 255 / .88); background-image: radial-gradient(circle at 100% 0%, rgb(235 168 144 / .35), transparent 45%); }
.mm2-member h2 { color: #fff; }
.mm2-member .mm2-kicker { color: var(--wp--preset--color--rose); }
.mm2-price { font-size: 1rem; color: #fff; }
.mm2-price strong { font-family: var(--wp--preset--font-family--display); font-size: 1.8rem; font-weight: 500; margin-right: 4px; }
.mm2-price span { opacity: .5; margin: 0 8px; }
.mm2-member-label { font-size: .74rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / .7); }
.mm2-pills { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mm2-pills li { margin: 0; padding: 7px 14px; border-radius: 999px; background: rgb(255 255 255 / .12); border: 1px solid rgb(255 255 255 / .2); font-size: .88rem; color: #fff; }
.mm2-board-wrap { margin-top: var(--wp--preset--spacing--50) !important; }
.mm2-board { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0; border-top: 1px solid var(--wp--preset--color--line); }
.mm2-board li { padding: 16px 0; margin: 0; border-bottom: 1px solid var(--wp--preset--color--line); font-size: .88rem; color: var(--wp--preset--color--muted); }
.mm2-board strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: 1.15rem; color: var(--wp--preset--color--forest); }

/* Shop */
.mm2-books { gap: clamp(24px, 4vw, 56px) !important; }
.mm2-book { gap: 24px !important; }
.mm2-cover img { border-radius: 4px 8px 8px 4px; box-shadow: 0 18px 30px -12px rgb(0 0 0 / .35), inset 4px 0 0 rgb(0 0 0 / .08); }

/* Kontakt */
.mm2-contact { color: rgb(255 255 255 / .8); }
.mm2-contact h2, .mm2-contact h3 { color: #fff; }
.mm2-contact h3 { font-size: 1.2rem; }
.mm2-contact .mm2-kicker { color: var(--wp--preset--color--lime); }
.mm2-contact .mm2-lead { color: rgb(255 255 255 / .75); }
.mm2-contact a { color: #fff; text-decoration-color: rgb(255 255 255 / .35); }
.mm2-contact a:hover { color: var(--wp--preset--color--lime); }
.mm2-contact .wp-block-button__link { text-decoration: none; }
.mm2-contact .wp-block-button:not(.mm2-btn-ghost) .wp-block-button__link { color: var(--wp--preset--color--forest); }
.mm2-contact .wp-block-button:not(.mm2-btn-ghost) .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--forest); }
.mm2-contact-grid { border-top: 1px solid rgb(255 255 255 / .15); padding-top: 28px; }

/* Unterseiten */
.mm2-page-hero { margin-top: 0 !important; }
.mm2-page-hero h1 { color: #fff; font-size: clamp(2.4rem, 5vw, 4rem); }
.mm2-page-hero .wp-block-post-date { color: rgb(255 255 255 / .7); }
.mm2-events .mm2-event + .mm2-event { margin-top: 0; }

/* Fußzeile */
.mm2-footer { margin-top: 0 !important; padding: 48px clamp(20px, 4vw, 40px) 28px; background: #10230f; color: rgb(255 255 255 / .6); font-size: .9rem; }
.mm2-footer a { color: rgb(255 255 255 / .85); text-decoration: none; }
.mm2-footer a:hover { color: var(--wp--preset--color--lime); }
.mm2-footer-name { font-family: var(--wp--preset--font-family--display); font-size: 1.4rem; color: #fff; margin-bottom: .2rem !important; }
.mm2-footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: flex-end; }
@media (max-width: 781px) { .mm2-footer-links { justify-content: flex-start; } }
.mm2-footer .mm2-sponsors.alignwide { background: #fff; border-radius: 14px; padding: 8px; max-width: 460px !important; margin-top: 32px !important; margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; }
.mm2-copyright { border-top: 1px solid rgb(255 255 255 / .1); padding-top: 18px !important; margin-top: 28px !important; font-size: .8rem; }
.mm2-copyright p { margin: 0; }
