/* Regionale Landingpages – Basis-Styles (erben vom Theme, über CSS-Editor anpassbar) */
.fomrl-landing {
	--fomrl-accent: #0a7c86;
	--fomrl-accent-text: #fff;
	--fomrl-soft: rgba(10, 124, 134, .07);
	--fomrl-radius: 8px;
	--fomrl-gap: 2rem;
}
.fomrl-landing .fomrl-el { margin: 0 0 var(--fomrl-gap); }
.fomrl-landing .fomrl-el:last-child { margin-bottom: 0; }
.fomrl-hero { margin: 0; }
.fomrl-hero-img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: var(--fomrl-radius); }
.fomrl-section + .fomrl-section { margin-top: 1.6rem; }
.fomrl-text img { max-width: 100%; height: auto; }

.fomrl-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .6rem; }
.fomrl-list-item { margin: 0; padding: .75rem 1rem; background: var(--fomrl-soft); border-radius: var(--fomrl-radius); border-left: 3px solid var(--fomrl-accent); }
.fomrl-list-item.has-sub a { display: block; text-decoration: none; font-weight: 600; }
.fomrl-list-item.has-sub a::after { content: " \2192"; }

.fomrl-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .75rem; }
.fomrl-gallery-item { margin: 0; }
.fomrl-gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--fomrl-radius); transition: transform .2s; }
.fomrl-gallery-item a:hover img { transform: scale(1.02); }

.fomrl-quote { margin: 0; padding: 1.2rem 1.5rem; border-left: 4px solid var(--fomrl-accent); background: var(--fomrl-soft); border-radius: 0 var(--fomrl-radius) var(--fomrl-radius) 0; font-size: 1.1em; font-style: italic; }
.fomrl-quote p { margin: 0 0 .4rem; }
.fomrl-quote cite { font-style: normal; font-size: .9em; opacity: .8; }
.fomrl-quote cite::before { content: "— "; }

.fomrl-faq-item { border: 1px solid rgba(0, 0, 0, .1); border-radius: var(--fomrl-radius); margin: 0 0 .5rem; }
.fomrl-faq-item summary { cursor: pointer; padding: .85rem 1rem; font-weight: 600; list-style-position: inside; }
.fomrl-faq-item[open] summary { border-bottom: 1px solid rgba(0, 0, 0, .08); }
.fomrl-faq-answer { padding: .5rem 1rem; }

.fomrl-contact { font-style: normal; }
.fomrl-contact p { margin: 0 0 .35rem; }
.fomrl-contact .dashicons, .fomrl-btn .dashicons { vertical-align: middle; }
.fomrl-hours { border-collapse: collapse; width: auto; min-width: 280px; }
.fomrl-hours th, .fomrl-hours td { text-align: left; padding: .3rem 1.5rem .3rem 0; border: 0; border-bottom: 1px solid rgba(0, 0, 0, .06); font-weight: normal; }
.fomrl-hours th { font-weight: 600; }

.fomrl-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.fomrl-btn { display: inline-flex; align-items: center; gap: .35rem; padding: .7rem 1.2rem; border-radius: var(--fomrl-radius); text-decoration: none !important; font-weight: 600; line-height: 1.2; border: 2px solid var(--fomrl-accent); cursor: pointer; }
.fomrl-btn-primary { background: var(--fomrl-accent); color: var(--fomrl-accent-text) !important; }
.fomrl-btn-secondary { background: transparent; color: var(--fomrl-accent) !important; }
.fomrl-btn:hover { filter: brightness(1.08); }
.fomrl-route { margin: 0; }

.fomrl-share, .fomrl-social { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.fomrl-share-label, .fomrl-social-label { font-weight: 600; margin-right: .4rem; }
.fomrl-share a, .fomrl-social a { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; background: var(--fomrl-soft); color: var(--fomrl-accent); text-decoration: none; }
.fomrl-share a:hover, .fomrl-social a:hover { background: var(--fomrl-accent); color: var(--fomrl-accent-text); }
.fomrl-back { margin-top: var(--fomrl-gap); }
.fomrl-landing .screen-reader-text, .fomrl-search .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* Ortssuche */
.fomrl-search { --fomrl-accent: #0a7c86; --fomrl-accent-text: #fff; --fomrl-radius: 8px; }
.fomrl-search-form { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; padding: 1.2rem; background: rgba(10, 124, 134, .07); border-radius: var(--fomrl-radius); margin-bottom: 1.5rem; }
.fomrl-search-field { display: flex; flex-direction: column; gap: .25rem; flex: 1 1 200px; font-size: .9em; font-weight: 600; }
.fomrl-search-field input, .fomrl-search-field select { padding: .6rem; font-weight: normal; }
.fomrl-search-list { list-style: none; padding: 0; columns: 3 240px; column-gap: 2rem; }
.fomrl-search-list > li { break-inside: avoid; margin: 0 0 1rem; }
.fomrl-search-list ul { list-style: none; padding: 0; margin: .25rem 0 0; }
.fomrl-search-count { font-weight: 600; }
