/* ==========================================================================
   Erdzwerge · Theme-Komponenten
   Tokens kommen aus theme.json (--wp--preset--*, --wp--custom--*).
   ========================================================================== */

:root {
	--ez-radius-s: var(--wp--custom--radius--s);
	--ez-radius-m: var(--wp--custom--radius--m);
	--ez-radius-stein: var(--wp--custom--radius--stein);
	--ez-shadow-stein: var(--wp--custom--shadow--stein);
	--ez-shadow-taste: var(--wp--custom--shadow--taste);
	--ez-label: 700 var(--wp--preset--font-size--label) / 1.4 var(--wp--preset--font-family--courier);
	--ez-gutter: var(--wp--preset--spacing--40);
}
@media (min-width: 782px) {
	:root { --ez-gutter: var(--wp--preset--spacing--60); }
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { --wp--style--root--padding-left: var(--ez-gutter); --wp--style--root--padding-right: var(--ez-gutter); }

/* ---------- Typo-Helfer ---------- */
.ez-eyebrow, .ez-label, .ez-date, .ez-tag, .ez-timeline__gc, .ez-timeline__mon, .ez-countdown__label {
	font: var(--ez-label);
	letter-spacing: 1px;
	text-transform: uppercase;
}
.ez-eyebrow { color: var(--wp--preset--color--rust); margin-bottom: 4px !important; }
.ez-label { color: var(--wp--preset--color--ink-2); }
.ez-more { font-weight: 800; margin: 0 !important; }
.ez-more a { color: var(--wp--preset--color--ink); }
.ez-more a:hover { color: var(--wp--preset--color--rust); }
.ez-hint { color: var(--wp--preset--color--ink-2); margin-top: var(--wp--preset--spacing--40) !important; }
p { max-width: var(--wp--custom--measure); }
.has-text-align-center p, p.has-text-align-center { margin-inline: auto; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: transform .12s ease, background-color .15s ease, box-shadow .12s ease; }
.wp-block-button__link:active { transform: translateY(3px); box-shadow: 0 1px 0 #9A4A10; }
.wp-block-button.is-style-secondary .wp-block-button__link { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); box-shadow: none; }
.wp-block-button.is-style-secondary .wp-block-button__link:hover { background: #3A2517; color: var(--wp--preset--color--paper); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: currentColor; border: 2px solid currentColor; box-shadow: none; padding: 13px 24px; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(35,24,18,.08); color: currentColor; }
.wp-block-button.is-style-paper .wp-block-button__link { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); box-shadow: none; padding: 10px 16px; font-size: .9375rem; }
.wp-block-button.is-style-paper .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-chip .wp-block-button__link { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); box-shadow: none; padding: 5px 12px; font-size: .8125rem; font-family: var(--wp--preset--font-family--courier); letter-spacing: .5px; }
.wp-block-button.is-style-chip .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.wp-block-button.is-style-small .wp-block-button__link { padding: 8px 14px; font-size: .875rem; box-shadow: none; }
.wp-block-button.is-style-arrow .wp-block-button__link { width: 48px; height: 48px; padding: 0; display: grid; place-items: center; border-radius: 50%; background: transparent; color: var(--wp--preset--color--ink); border: 2px solid var(--wp--preset--color--ink); box-shadow: none; font-size: 1.125rem; }
.wp-block-button.is-style-arrow.is-style-arrow-dark .wp-block-button__link { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.wp-block-button.is-style-arrow .wp-block-button__link:hover { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--orange); }
.wp-block-button.is-style-arrow[aria-disabled="true"] { opacity: .35; pointer-events: none; }
.ez-link-plain .wp-block-button__link { background: transparent !important; color: inherit; box-shadow: none; padding: 0; font-weight: 600; font-size: inherit; border-radius: 0; }
.ez-link-plain .wp-block-button__link:hover { color: var(--wp--preset--color--orange-2); background: transparent; }
.ez-btn-whatsapp .wp-block-button__link { background: var(--wp--preset--color--green-2); color: #fff; box-shadow: none; padding: 9px 14px; font-size: .8125rem; display: inline-flex; align-items: center; gap: 8px; }
.ez-btn-whatsapp .wp-block-button__link::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #BFE6C5; }
.ez-btn-whatsapp .wp-block-button__link:hover { background: #3A9454; color: #fff; }
@media (max-width: 599px) {
	.ez-hero__buttons .wp-block-button, .ez-hero__buttons .wp-block-button__link { width: 100%; text-align: center; }
}

/* ---------- Chips / Tags ---------- */
.ez-chips { gap: 8px !important; margin-bottom: 4px; }
.ez-chip { display: inline-block; padding: 5px 12px; border-radius: 999px; font-weight: 800; font-size: .8125rem; margin: 0 !important; }
.ez-chip--ink { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.ez-chip--paper { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--courier); font-size: .8125rem; text-decoration: none; }
.ez-chip--paper:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.ez-tag, .ez-tag a { color: inherit; text-decoration: none; }
.ez-tag { display: inline-flex; gap: 6px; }
.ez-tag a { padding: 3px 8px; border-radius: 6px; background: var(--wp--preset--color--stone); font-weight: 700; color: var(--wp--preset--color--ink) !important; }
.ez-tag a[href*="/team"] { background: var(--wp--preset--color--mint); }
.ez-tag a[href*="/geologie"] { background: var(--wp--preset--color--stone); }
.ez-tag a[href*="/rueckblick"], .ez-tag a[href*="/event"] { background: var(--wp--preset--color--orange-2); }
.ez-date { color: var(--wp--preset--color--ink-2); text-transform: none; letter-spacing: 0; }

/* ---------- Header ---------- */
.ez-header { position: relative; z-index: 50; }
.ez-topbar { border-bottom: 1px solid rgba(243,237,225,.08); font-size: .8125rem; color: #CDBFA9; }
.ez-topbar__row { padding: 8px 0; gap: 16px; }
.ez-topbar__event .ez-link-plain .wp-block-button__link { display: inline-flex; align-items: center; gap: 8px; color: #CDBFA9; }
.ez-topbar__event .ez-link-plain .wp-block-button__link::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--orange); flex: none; }
.ez-topbar__social { gap: 18px !important; }
.ez-topbar__social { align-items: center; }
.ez-topbar__social .wp-block-button { display: flex; align-items: center; }
.ez-topbar__social .ez-link-plain .wp-block-button__link { color: #CDBFA9; display: inline-flex; align-items: center; line-height: 1.2; }
@media (min-width: 600px) { .ez-nav .ez-nav__whatsapp { display: none; } }
@media (max-width: 599px) {
	.ez-topbar__social { display: none !important; }
	.ez-topbar__row { min-width: 0; }
	.ez-topbar__event { min-width: 0; max-width: 100%; }
	.ez-topbar__event .wp-block-button { min-width: 0; max-width: 100%; }
	.ez-topbar__event .ez-link-plain .wp-block-button__link { font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; display: flex; }
}
.ez-header__row { padding: 10px 0; gap: 10px; }
@media (min-width: 782px) { .ez-header__row { padding: 14px 0; gap: 28px; } }
.ez-brand { gap: 10px !important; align-items: center; flex: none; }
.ez-brand__logo { flex: none; }
.ez-brand__logo img { height: 42px; width: auto !important; display: block; }
@media (min-width: 782px) { .ez-brand__logo img { height: 54px; } }
.ez-brand__name, .ez-brand__name a { font-family: var(--wp--preset--font-family--lilita); font-size: 1.25rem; text-decoration: none; color: inherit; line-height: 1; white-space: nowrap; }
@media (min-width: 782px) { .ez-brand__name, .ez-brand__name a { font-size: 1.875rem; } }
@media (max-width: 380px) { .ez-brand__name { display: none; } }
.ez-header__tools { gap: 10px !important; margin-left: auto; align-items: center; flex: none; }
@media (max-width: 599px) { .ez-header__tools .ez-lang { display: none; } }

/* Sprache */
.ez-lang { display: inline-flex; border: 2px solid var(--wp--preset--color--paper); border-radius: 999px; overflow: hidden; font-weight: 800; font-size: .75rem; margin: 0 !important; line-height: 1; }
.ez-lang a { padding: 7px 10px; color: var(--wp--preset--color--paper); text-decoration: none; }
.ez-lang a.is-active { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--night); }
.ez-lang a:hover:not(.is-active) { background: rgba(243,237,225,.15); color: var(--wp--preset--color--paper); }
.ez-lang--footer { border-color: #A89A87; }
.ez-lang--footer a { color: #A89A87; }
.ez-lang--footer a.is-active { background: #A89A87; color: var(--wp--preset--color--night); }

/* Warenkorb-Link */
.ez-cart { position: relative; width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--night-2); color: var(--wp--preset--color--paper); display: grid; place-items: center; text-decoration: none; flex: none; }
.ez-cart:hover { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); }
.ez-cart svg { width: 22px; height: 22px; display: block; }
.ez-cart__count { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); font-size: 11px; font-weight: 800; display: grid; place-items: center; line-height: 1; }
.ez-cart__count:empty, .ez-cart__count[data-count="0"] { display: none; }

/* Navigation */
.ez-nav { flex: 1; }
.ez-nav .wp-block-navigation__container { gap: 4px; align-items: center; }
.ez-nav .wp-block-navigation-item__content { padding: 8px 14px; border-radius: 999px; color: var(--wp--preset--color--paper); white-space: nowrap; }
.ez-nav .wp-block-navigation-item__content:hover { background: rgba(243,237,225,.1); }
.ez-nav .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); }
.ez-nav .ez-nav__whatsapp { margin-left: auto; }
.ez-nav .ez-nav__extra { display: none; }
.ez-nav .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
@media (max-width: 599px) {
	.ez-nav { flex: 0; order: 3; }
	.ez-nav .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--paper); width: 44px; height: 44px; border: 2px solid var(--wp--preset--color--paper); border-radius: 50%; display: grid; place-items: center; }
	/* Overlay: schwarze Vollfläche, große Lilita-Einträge */
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--night) !important; color: var(--wp--preset--color--paper) !important; padding: 24px 20px; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__whatsapp { order: 10; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__extra { order: 11; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 40px; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom: 1px solid rgba(243,237,225,.12); }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: 14px 0; border-radius: 0; font-family: var(--wp--preset--font-family--lilita); font-size: 1.75rem; font-weight: 400; background: transparent !important; color: var(--wp--preset--color--paper); }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--orange-2); }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__whatsapp { margin: 20px 0 0; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__whatsapp .wp-block-button, .ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__whatsapp .wp-block-button__link { width: 100%; text-align: center; justify-content: center; font-size: 1rem; padding: 14px; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__extra { display: block; margin-top: 16px; font-size: .875rem; font-weight: 700; color: #A89A87; }
	.ez-nav .wp-block-navigation__responsive-container.is-menu-open .ez-nav__extra a { color: var(--wp--preset--color--paper); }
	.ez-nav .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--orange); width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; top: 24px; right: 20px; }
}

/* ---------- Hauptbereich ---------- */
.ez-main { padding-bottom: var(--wp--preset--spacing--80); }
.ez-main--front { padding-bottom: 0; margin-top: 0 !important; }
.ez-main--front > .wp-block-post-content { margin-top: 0; }
.ez-page-head { padding-top: var(--wp--preset--spacing--70); }
.ez-page-head h1 { margin-top: 8px; }
.ez-page-image { margin-top: var(--wp--preset--spacing--50); }
.ez-page-image img { border-radius: var(--ez-radius-m); }
.ez-section { padding-top: var(--wp--preset--spacing--80); }
.ez-section--blog { padding-top: var(--wp--preset--spacing--70); }
.ez-section--zwerge { padding-bottom: var(--wp--preset--spacing--80); }
.ez-section-head { margin-bottom: var(--wp--preset--spacing--50); gap: 16px !important; }
.ez-section-head h1, .ez-section-head h2 { margin: 0; }
.ez-section-head__tools { gap: 14px !important; align-items: center; }
.ez-slider-arrows { gap: 10px !important; }
@media (max-width: 781px) { .ez-slider-arrows { display: none !important; } }
.ez-panel { padding: var(--wp--preset--spacing--50); border-radius: 32px; }
@media (min-width: 782px) { .ez-panel { padding: var(--wp--preset--spacing--60); } }

/* Steintafel */
.ez-tafel, .wp-block-group.is-style-tafel { background: var(--wp--preset--color--stone); border-radius: var(--ez-radius-stein); box-shadow: var(--ez-shadow-stein); }
.wp-block-group.is-style-tafel { padding: var(--wp--preset--spacing--50); }
.wp-block-group.is-style-karte { background: var(--wp--preset--color--paper); border-radius: var(--ez-radius-m); padding: var(--wp--preset--spacing--50); }
.wp-block-group.is-style-dunkel { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); border-radius: var(--ez-radius-m); padding: var(--wp--preset--spacing--50); }

/* ---------- Hero (Event) ---------- */
.ez-hero { background: var(--wp--preset--color--ground); margin-top: 0 !important; }
.ez-hero > * { margin: 0 !important; }
.ez-hero__image { margin: 0 !important; position: relative; }
.ez-hero__image img { width: 100%; height: clamp(280px, 48vw, 600px); object-fit: cover; object-position: 55% 18%; border-radius: 0; display: block; }
.ez-hero__image img { -webkit-mask-image: linear-gradient(#000 0%, #000 62%, rgba(0,0,0,.55) 82%, transparent 100%); mask-image: linear-gradient(#000 0%, #000 62%, rgba(0,0,0,.55) 82%, transparent 100%); }
.ez-hero__inner { position: relative; padding: 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); }
.ez-hero__tafel { position: relative; margin-top: clamp(-150px, -10.5vw, -56px) !important; overflow: hidden; display: grid; grid-template-columns: 1fr; align-items: stretch; }
.ez-hero__tafel > * { margin: 0 !important; }
@media (min-width: 900px) { .ez-hero__tafel { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.ez-hero__text { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 782px) { .ez-hero__text { padding: 32px 40px; gap: 14px; } }
.ez-hero__text > * { margin: 0 !important; }
.ez-hero__title { font-size: var(--wp--preset--font-size--display-l); line-height: .92; }
.ez-hero__date { font-weight: 700; font-size: .9375rem; }
.ez-hero__place { font-weight: 700; font-size: .9375rem; margin-top: -8px !important; }
.ez-hero__lead { font-size: 1.0625rem; line-height: 1.5; max-width: 460px; }
.ez-hero__buttons { gap: 12px !important; margin-top: 4px !important; }
.ez-hero__count { background: #A39C8F; padding: 20px; display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 782px) { .ez-hero__count { padding: 32px 40px; } }

/* ---------- Countdown ---------- */
.ez-countdown { display: flex; flex-direction: column; gap: 12px; }
.ez-countdown__label { color: #2A221C; }
.ez-countdown__units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
@media (min-width: 782px) { .ez-countdown__units { gap: 10px; } }
.ez-countdown__unit { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); border-radius: 14px; padding: 8px; display: flex; flex-direction: column; min-width: 0; }
@media (min-width: 782px) { .ez-countdown__unit { border-radius: 18px; padding: 12px 14px; } }
.ez-countdown__unit--s { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.ez-countdown__value { font-family: var(--wp--preset--font-family--lilita); font-size: clamp(1.75rem, 6vw, 3.125rem); line-height: 1; font-variant-numeric: tabular-nums; }
.ez-countdown__name { font-size: .6875rem; font-weight: 800; margin-top: 2px; }
.ez-countdown--compact .ez-countdown__value { font-size: clamp(1.5rem, 4vw, 2.25rem); }
.ez-countdown--compact .ez-countdown__units { grid-template-columns: repeat(4, auto); justify-content: start; }
.ez-countdown--compact .ez-countdown__unit { min-width: 60px; text-align: center; }
.ez-countdown__fallback { font-weight: 700; }

/* ---------- Karten (Blog) ---------- */
.ez-card { background: var(--wp--preset--color--paper); border-radius: var(--ez-radius-m); padding: 10px 10px 20px; height: 100%; display: flex; flex-direction: column; transition: transform .15s ease; }
.ez-card:hover { transform: translateY(-3px); }
.ez-card__image { margin: 0 !important; }
.ez-card__image img { border-radius: 20px; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ez-card__body { padding: 14px 10px 0; display: flex; flex-direction: column; gap: 8px; }
.ez-card__body > * { margin: 0 !important; }
.ez-card__meta { gap: 10px !important; align-items: center; }
.ez-card__title { font-size: 1.5rem; line-height: 1.1; }
.ez-card__title a { color: inherit; text-decoration: none; }
.ez-card__title a:hover { color: var(--wp--preset--color--rust); }
.ez-card__excerpt { font-size: .9375rem; line-height: 1.5; color: var(--wp--preset--color--ink-2); }
.ez-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
/* Team-Beiträge: dunkle Karte */
.ez-card:has(.ez-tag a[href*="/team"]) { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.ez-card:has(.ez-tag a[href*="/team"]) .ez-card__excerpt, .ez-card:has(.ez-tag a[href*="/team"]) .ez-date { color: #CDBFA9; }
.ez-card:has(.ez-tag a[href*="/team"]) .ez-card__title a:hover { color: var(--wp--preset--color--orange-2); }
.ez-card:has(.ez-tag a[href*="/team"]) .ez-card__image img { border: 3px solid var(--wp--preset--color--mint); }

/* Slider: mobil wischen, Desktop 3 Karten + Pfeile */
.ez-slider__track { display: flex !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 0 12px; margin: 0 calc(-1 * var(--ez-gutter)); padding-inline: var(--ez-gutter); scroll-padding-inline: var(--ez-gutter); }
.ez-slider__track::-webkit-scrollbar { display: none; }
.ez-slider__track > li { flex: 0 0 min(280px, 78vw); scroll-snap-align: start; list-style: none; margin: 0; }
@media (min-width: 782px) {
	.ez-slider__track { gap: 20px; margin: 0; padding-inline: 0; scroll-padding-inline: 0; }
	.ez-slider__track > li { flex-basis: calc((100% - 40px) / 3); }
}
.ez-grid__list { gap: 20px !important; }
.ez-grid__list > li { list-style: none; margin: 0; }
.ez-pagination { margin-top: var(--wp--preset--spacing--70); font-weight: 800; }
.ez-pagination a, .ez-pagination .page-numbers { padding: 8px 12px; border-radius: 999px; }
.ez-pagination .page-numbers.current { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }

/* ---------- Timeline ---------- */
.ez-timeline { position: relative; display: grid; gap: 12px; grid-template-columns: 1fr; }
.ez-timeline > * { margin: 0 !important; }
.ez-timeline::before { content: ""; position: absolute; left: 21px; top: 10px; bottom: 10px; width: 3px; background: repeating-linear-gradient(180deg, var(--wp--preset--color--stone-2) 0 10px, transparent 10px 16px); }
.ez-timeline__item { position: relative; display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: start; }
.ez-timeline__dot { width: 46px; height: 46px; border-radius: 50%; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); border: 3px solid var(--wp--preset--color--paper); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.ez-timeline__dot > * { margin: 0 !important; line-height: 1; }
.ez-timeline__day { font-family: var(--wp--preset--font-family--lilita); font-size: 1.0625rem; }
.ez-timeline__mon { font-size: .5625rem; letter-spacing: .5px; }
.ez-timeline__item > * { margin: 0 !important; }
.ez-timeline__card { background: var(--wp--preset--color--ground); border-radius: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; align-self: stretch; }
.ez-timeline__card > * { margin: 0 !important; }
.ez-timeline__card h3 { font-size: 1.25rem; line-height: 1.1; }
.ez-timeline__place { font-size: .8125rem; line-height: 1.4; opacity: .85; }
.ez-timeline__gc { margin-top: auto !important; padding-top: 6px; text-transform: none; }
.ez-timeline__gc a { color: inherit; }
.ez-timeline__item--blue .ez-timeline__dot { background: var(--wp--preset--color--blue); color: #fff; }
.ez-timeline__item--green .ez-timeline__dot { background: var(--wp--preset--color--green); color: #fff; }
.ez-timeline__item--amber .ez-timeline__dot { background: var(--wp--preset--color--amber); color: var(--wp--preset--color--ink); }
.ez-timeline__item--main .ez-timeline__dot { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); }
/* Timeline: beim Hauptevent ist nur der Punkt orange, die Karte bleibt wie die anderen. */
@media (min-width: 782px) {
	.ez-timeline { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
	.ez-timeline::before { left: 24px; right: 24px; top: 27px; bottom: auto; width: auto; height: 4px; border-radius: 2px; background: repeating-linear-gradient(90deg, var(--wp--preset--color--stone-2) 0 12px, transparent 12px 20px); }
	.ez-timeline__item { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 12px; padding: 0 8px; }
	.ez-timeline__dot { width: 58px; height: 58px; border-width: 4px; }
	.ez-timeline__day { font-size: 1.375rem; }
	.ez-timeline__mon { font-size: .625rem; }
	.ez-timeline__card { border-radius: 20px; padding: 16px; gap: 6px; }
}

/* ---------- Shop-Karten ---------- */
.ez-products .wc-block-product-template { gap: 20px; }
.ez-product { background: var(--wp--preset--color--paper); border-radius: var(--ez-radius-m); padding: 10px 10px 16px; height: 100%; display: flex; flex-direction: column; transition: transform .15s ease; }
.ez-product:hover { transform: translateY(-3px); }
.ez-product__image { margin: 0 !important; }
.ez-product__image img { border-radius: 20px; width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--wp--preset--color--sand); }
.ez-product__body { padding: 12px 12px 0; gap: 10px !important; margin-top: auto; flex-wrap: nowrap !important; }
.ez-product__title { flex: 1 1 auto; min-width: 0; }
.ez-product__body > * { margin: 0 !important; }
.ez-product__title { font-size: 1.25rem; line-height: 1.1; }
.ez-product__title a { color: inherit; text-decoration: none; }
.ez-product__price, .ez-product__price .woocommerce-Price-amount { font-weight: 800; white-space: nowrap; }
.ez-product__price * { color: inherit !important; }
.ez-product__price { padding: 6px 12px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); border-radius: 999px; font-size: .875rem; }
.ez-product__price del { opacity: .6; }

/* WooCommerce-Seiten: Grundanpassung */
.woocommerce ul.products li.product, .wc-block-grid__product { background: var(--wp--preset--color--paper); border-radius: var(--ez-radius-m); padding: 10px 10px 16px; }
.woocommerce ul.products li.product img, .wc-block-grid__product-image img { border-radius: 20px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-grid__product-title { font-family: var(--wp--preset--font-family--lilita); font-size: 1.25rem; padding: 12px 10px 4px; }
.woocommerce ul.products li.product .price, .wc-block-grid__product-price { padding: 0 10px; font-weight: 800; color: var(--wp--preset--color--ink); }
.woocommerce ul.products li.product .button, .wc-block-components-button, .woocommerce button.button, .woocommerce a.button, .woocommerce .single_add_to_cart_button { border-radius: 999px !important; background: var(--wp--preset--color--orange) !important; color: var(--wp--preset--color--ink) !important; font-weight: 800 !important; box-shadow: var(--ez-shadow-taste); margin: 10px !important; }
.woocommerce div.product .product_title { font-family: var(--wp--preset--font-family--lilita); }
.woocommerce div.product p.price { font-family: var(--wp--preset--font-family--lilita); font-size: 1.75rem; color: var(--wp--preset--color--ink); }
.woocommerce div.product div.images img { border-radius: var(--ez-radius-m); }
.woocommerce-breadcrumb { font: var(--ez-label); letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--ink-2) !important; margin-top: var(--wp--preset--spacing--50) !important; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select { font-size: .875rem; }

/* ---------- Erdzwerge-Kacheln ---------- */
.ez-zwerge { gap: 14px !important; }
@media (max-width: 599px) { .ez-zwerge { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.ez-zwerg { display: flex; flex-direction: column; gap: 6px; }
.ez-zwerg > * { margin: 0 !important; }
.ez-zwerg__image { border-radius: 100px 100px 22px 22px; overflow: hidden; background: var(--wp--preset--color--stone); transition: transform .15s ease; }
.ez-zwerg:hover .ez-zwerg__image { transform: translateY(-4px); }
.ez-zwerg__image img { width: 100%; height: auto; display: block; border-radius: 0; }
.ez-zwerg__image a { display: block; padding: 8px 8px 0; }
.ez-zwerg__image img { border-radius: 80px 80px 0 0; }
.ez-zwerg__name { font-size: 1.3125rem; margin-top: 4px !important; }
.ez-zwerg__name a { color: inherit; text-decoration: none; }
.ez-zwerg__rock { font-size: .8125rem; color: var(--wp--preset--color--ink-2); margin-top: -4px !important; }
.ez-zwerg--red .ez-zwerg__image { background: var(--wp--preset--color--red); }
.ez-zwerg--amber .ez-zwerg__image { background: var(--wp--preset--color--amber); }
.ez-zwerg--green .ez-zwerg__image { background: var(--wp--preset--color--green); }
.ez-zwerg--blue .ez-zwerg__image { background: var(--wp--preset--color--blue); }
.ez-zwerg--orange .ez-zwerg__image { background: var(--wp--preset--color--orange); }
.ez-zwerg--ink .ez-zwerg__image { background: var(--wp--preset--color--ink); }

/* ---------- WhatsApp-Leiste ---------- */
.ez-whatsapp-bar { border-radius: 22px; padding: 16px 18px; gap: 16px !important; }
.ez-whatsapp-bar h3 { font-size: 1.375rem; margin: 0; }
.ez-whatsapp-bar p { margin: 4px 0 0; color: #E6F4E8; }
.ez-whatsapp-box { border-radius: 22px; padding: 20px; margin-top: 14px; }
.ez-whatsapp-box h3 { font-size: 1.5rem; line-height: 1.05; margin: 0 0 8px; color: #fff; }
.ez-whatsapp-box p { color: #E6F4E8; margin: 0 0 12px; }

/* ---------- Footer ---------- */
.ez-footer { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--50); font-size: .875rem; }
.ez-footer__grid { gap: 28px !important; }
.ez-footer__title { color: var(--wp--preset--color--paper); font-family: var(--wp--preset--font-family--nunito); font-weight: 800; font-size: .9375rem; margin: 0 0 10px; }
.ez-footer__col p { margin: 0 0 10px; }
.ez-footer__nav .wp-block-navigation__container { gap: 6px; }
.ez-footer__nav .wp-block-navigation-item__content { color: var(--wp--preset--color--sand); font-weight: 600; padding: 0; }
.ez-footer__nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--orange-2); }
.ez-footer__links { gap: 6px !important; }
.ez-footer__bottom { margin-top: var(--wp--preset--spacing--60); padding-top: 16px; border-top: 1px solid rgba(233,224,207,.14); color: #A89A87; gap: 16px !important; }
.ez-footer__bottom p { margin: 0; }
.ez-footer__bottom a { color: #A89A87; font-weight: 600; }
.ez-footer__bottom a:hover { color: var(--wp--preset--color--paper); }
.ez-footer .ez-brand__name, .ez-footer .ez-brand__name a { color: var(--wp--preset--color--paper); }

/* ---------- Beitragsnavigation, Suche, Formulare ---------- */
.ez-post-nav { margin-top: var(--wp--preset--spacing--70); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid rgba(35,24,18,.15); font-weight: 800; }
.wp-block-search__input { border: 2px solid var(--wp--preset--color--ink); border-radius: 999px; padding: 10px 16px; background: var(--wp--preset--color--paper); }
.wp-block-search__button { border-radius: 999px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); font-weight: 800; border: 0; padding: 10px 18px; }
.wpcf7 input:not([type="submit"]), .wpcf7 textarea, .wpcf7 select { box-sizing: border-box; width: 100%; max-width: 100%; border: 2px solid var(--wp--preset--color--stone); border-radius: 12px; padding: 12px 14px; background: var(--wp--preset--color--paper); font: inherit; }
.wpcf7 form, .wpcf7 p { max-width: 100%; }
.ez-form-hint { font-size: .875rem; line-height: 1.5; color: var(--wp--preset--color--ink-2); }
.wpcf7 input[type="submit"] { border-radius: 999px; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); font-weight: 800; border: 0; padding: 15px 26px; box-shadow: var(--ez-shadow-taste); }

/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ez-card, .ez-product, .ez-zwerg__image, .wp-block-button__link { transition: none; }
}

/* ---------- Event-Liste (Block) ---------- */
.ez-timeline__card h3 a { color: inherit; text-decoration: none; }
.ez-timeline__card h3 a:hover { color: var(--wp--preset--color--rust); }
.ez-timeline__sub { font-size: .8125rem; font-weight: 700; margin-top: -2px; }
.ez-timeline__text { font-size: .9375rem; line-height: 1.55; margin: 6px 0 4px !important; }
.ez-timeline__cta { margin-top: auto !important; padding-top: 12px; }
.ez-timeline__cta .wp-block-button, .ez-timeline__cta .wp-block-button__link { width: 100%; text-align: center; }
.ez-timeline--list .ez-timeline__card { height: auto; align-self: stretch; box-sizing: border-box; }
.ez-timeline__item--past { opacity: .75; }
.ez-timeline__item--ink .ez-timeline__dot { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.ez-timeline__item--red .ez-timeline__dot { background: var(--wp--preset--color--red); color: #fff; }
.ez-timeline__item--orange .ez-timeline__dot { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); }
/* Timeline auf dem Desktop: ab 4 Einträgen wischbar */
@media (min-width: 782px) {
	.ez-timeline--timeline { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
	.ez-timeline--timeline[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
	.ez-timeline--timeline[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ez-timeline--timeline[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ez-timeline--timeline:not([data-count="1"]):not([data-count="2"]):not([data-count="3"]) { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
	.ez-timeline--timeline:not([data-count="1"]):not([data-count="2"]):not([data-count="3"]) > * { flex: 0 0 calc((100% - 24px) / 3); scroll-snap-align: start; }
	.ez-timeline--timeline::-webkit-scrollbar { display: none; }
}
/* Kartenliste auf der Events-Seite */
.ez-timeline--list::before { display: none; }
.ez-timeline--list { gap: 16px; }
.ez-timeline--list .ez-timeline__item { grid-template-columns: 58px 1fr; gap: 16px; align-items: stretch; padding: 0; }
.ez-timeline--list .ez-timeline__dot { align-self: start; }
.ez-timeline--list .ez-timeline__dot { width: 58px; height: 58px; border-width: 4px; }
.ez-timeline--list .ez-timeline__day { font-size: 1.375rem; }
.ez-timeline--list .ez-timeline__mon { font-size: .625rem; }
.ez-timeline--list .ez-timeline__card { background: var(--wp--preset--color--paper); border-radius: 24px; padding: 20px 22px; gap: 6px; }
.ez-timeline--list .ez-timeline__card h3 { font-size: 1.5rem; }
.ez-timeline--list /* Timeline: beim Hauptevent ist nur der Punkt orange, die Karte bleibt wie die anderen. */
@media (min-width: 782px) {
	.ez-timeline--list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ez-events__past-title { margin-top: var(--wp--preset--spacing--70); }
/* Kartenliste: eine Zeile pro Eintrag, Karte füllt die volle Höhe (überschreibt die Timeline-Zeilen) */
.ez-timeline--list .ez-timeline__item { grid-template-rows: minmax(0, 1fr) !important; }

/* ---------- Coin-Vorschau ---------- */
.ez-section--coin { padding-bottom: var(--wp--preset--spacing--80); }
.ez-coin { border-radius: 32px; padding: 20px; display: grid; grid-template-columns: 1fr; gap: 20px; align-items: center; overflow: hidden; }
@media (min-width: 782px) { .ez-coin { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; padding: 28px; } }
.ez-coin__image { margin: 0 !important; }
.ez-coin__image img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 24px; display: block; }
.ez-coin__text { display: flex; flex-direction: column; gap: 12px; padding: 8px 4px; }
@media (min-width: 782px) { .ez-coin__text { padding: 12px 20px 12px 0; gap: 14px; } }
.ez-coin__text > * { margin: 0 !important; }
.ez-coin__lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.55; max-width: 34ch; }
.ez-coin .ez-btn-whatsapp .wp-block-button__link { padding: 14px 22px; font-size: 1rem; }
