/**
 * ERA Immobilien Schwabach – Startseite im aktiven Hello-Elementor-Theme.
 * Bilddateien werden ausschließlich als WebP aus der WordPress-Mediathek geladen.
 */

body.era-schwabach-template #site-header,
body.era-schwabach-template #site-footer { display: none; }
body.era-schwabach-template { margin: 0; }

.era-schwabach,
.era-header,
.era-footer {
	--era-navy: #003366;
	--era-deep: #001e3d;
	--era-red: #cc0000;
	--era-ink: #102a42;
	--era-muted: #536476;
	--era-pale: #f1f4f7;
	--era-line: #d9e1e8;
	--era-white: #fff;
	font-family: Arial, Helvetica, sans-serif;
	color: var(--era-ink);
}

.era-schwabach *, .era-header *, .era-footer * { box-sizing: border-box; }
.era-schwabach a, .era-header a, .era-footer a { color: inherit; text-decoration: none; }
.era-schwabach h1, .era-schwabach h2, .era-schwabach h3, .era-schwabach p,
.era-footer h3, .era-footer p { margin: 0; }
.era-schwabach h1, .era-schwabach h2, .era-schwabach h3 { line-height: 1.05; letter-spacing: -.045em; }
.era-schwabach h1 { font-size: clamp(3.1rem, 6.5vw, 6rem); font-weight: 800; }
.era-schwabach h2 { font-size: clamp(2.1rem, 4vw, 3.7rem); }
.era-schwabach h3 { font-size: 1.5rem; }
.era-schwabach p { max-width: 65ch; line-height: 1.65; }
.era-schwabach a:focus-visible, .era-header a:focus-visible, .era-footer a:focus-visible,
.era-schwabach summary:focus-visible { outline: 3px solid var(--era-red); outline-offset: 5px; }
.era-wrap { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.era-red { color: var(--era-red); }
.era-thin { display: block; font-weight: 400; }
.era-eyebrow { display: block; margin-bottom: 24px; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.era-dot::before { content: ''; display: inline-block; width: 7px; height: 7px; margin: 0 11px 2px 0; background: var(--era-red); }
.era-section { padding: 96px 0; }
.era-section-head { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 45px; }
.era-section-head > p { max-width: 360px; color: var(--era-muted); }
.era-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 26px; min-height: 56px; padding: 15px 22px; border: 1px solid var(--era-red); border-radius: 0 0 18px 0; background: var(--era-red); color: #fff !important; font-size: 15px; font-weight: 700; transition: background .2s; }
.era-button:hover { background: #a90000; }
.era-button-secondary { border-color: #8ba1b5; background: transparent; color: inherit !important; }
.era-button-secondary:hover { background: rgba(255,255,255,.1); }
.era-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 31px; }
.era-text-link { display: inline-flex; align-items: center; gap: 20px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 15px; font-weight: 700; }
.era-skip { position: fixed; z-index: 1000; top: -100px; left: 20px; padding: 14px 18px; background: #fff; color: #001e3d; }
.era-skip:focus { top: 10px; }

.era-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid var(--era-line); background: rgba(255,255,255,.98); transition: box-shadow .25s; }
.era-header.is-scrolled { box-shadow: 0 12px 32px rgba(0,30,61,.11); }
.era-header-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; height: 112px; transition: height .3s; }
.era-header.is-scrolled .era-header-inner { height: 76px; }
.era-brand { display: flex; align-items: center; gap: 18px; }
.era-brand-mark { display: grid; place-items: center; width: 86px; height: 86px; border-radius: 0 0 25px 0; background: var(--era-navy); color: #fff; font-size: 25px; font-weight: 800; letter-spacing: -.06em; transition: width .3s, height .3s, font-size .3s; }
.era-brand-logo { width: 86px; height: 86px; object-fit: contain; transition: width .3s, height .3s; }
.era-header.is-scrolled .era-brand-mark, .era-header.is-scrolled .era-brand-logo { width: 58px; height: 58px; font-size: 18px; }
.era-brand-text { font-size: 17px; font-weight: 700; line-height: 1.3; }
.era-brand-text small { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; letter-spacing: .13em; text-transform: uppercase; }
.era-nav { display: flex; align-items: center; gap: 27px; font-size: 14px; font-weight: 700; }
.era-nav > a:not(.era-button):hover { color: var(--era-red); }
.era-nav .era-button { min-height: 46px; padding: 11px 18px; }
.era-mobile-nav { display: none; position: relative; }

.era-hero { position: relative; overflow: hidden; padding: 72px 0 62px; background: radial-gradient(circle at 78% 30%, rgba(89,151,202,.48), transparent 24%), linear-gradient(125deg,#001e3d 0%,#003b70 58%,#0f5c91 100%); color: #fff; }
.era-hero-word { position: absolute; right: -1vw; bottom: -4vw; color: rgba(255,255,255,.045); font-size: clamp(5rem, 15vw, 14rem); font-weight: 800; letter-spacing: -.06em; line-height: .8; }
.era-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.13fr .87fr; align-items: center; gap: 66px; }
.era-hero h1 span { display: block; }
.era-hero-intro { max-width: 45ch !important; margin-top: 27px !important; color: #d7e5f0; font-size: 19px; }
.era-hero .era-button-secondary { color: #fff !important; }
.era-hero-caption { display: flex; align-items: center; gap: 10px; margin-top: 30px !important; color: #bfd1e1; font-size: 13px; }
.era-hero-caption i { width: 22px; height: 1px; background: var(--era-red); }
.era-portrait { position: relative; min-height: 520px; }
.era-portrait-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 32px rgba(0,14,31,.34)); }
.era-portrait-stamp { position: absolute; right: -18px; bottom: 40px; padding: 18px 22px; border-left: 4px solid var(--era-red); border-radius: 0 0 30px 0; background: rgba(0,30,61,.84); color: #fff; font-size: 13px; line-height: 1.5; backdrop-filter: blur(8px); }
.era-media-placeholder { position: absolute; inset: 40px 25px 100px; display: grid; place-items: center; border: 1px dashed rgba(255,255,255,.48); background: rgba(0,30,61,.16); color: #dce9f4; text-align: center; font-size: 12px; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.era-media-placeholder-light { inset: 25px; border-color: rgba(0,51,102,.35); background: rgba(255,255,255,.4); color: var(--era-navy); }

.era-trust-strip { border-bottom: 1px solid var(--era-line); background: #fff; }
.era-trust-strip .era-wrap { display: flex; justify-content: space-between; gap: 24px; padding-block: 23px; font-size: 14px; }
.era-trust-strip span { color: var(--era-muted); }
.era-trust-strip a { font-weight: 700; }
.era-trust-strip a::before { content: '✓'; margin-right: 8px; color: var(--era-red); }

.era-paths { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid var(--era-line); border-radius: 0 0 36px 0; }
.era-path { display: flex; flex-direction: column; min-height: 340px; padding: 28px 26px 25px; border-right: 1px solid var(--era-line); transition: background .2s; }
.era-path:last-child { border: 0; }
.era-path:hover { background: var(--era-pale); }
.era-path small, .era-advantage-grid small, .era-steps small, .era-knowledge-grid small { color: var(--era-red); font-weight: 700; letter-spacing: .08em; }
.era-path h3 { margin-top: 34px; font-size: 27px; }
.era-path p { margin: 20px 0 28px; color: var(--era-muted); font-size: 15px; }
.era-path > span { display: flex; justify-content: space-between; margin-top: auto; font-size: 13px; font-weight: 700; }
.era-path b { color: var(--era-red); font-size: 20px; }

.era-about { position: relative; overflow: hidden; background: radial-gradient(circle at 21% 42%,rgba(255,255,255,.92),transparent 27%),linear-gradient(115deg,#e5edf3 0%,#bfd0de 38%,#235e8e 59%,#003366 100%); color: #fff; }
.era-about-type { position: absolute; right: -2vw; bottom: 1vw; color: rgba(255,255,255,.06); font-size: clamp(5rem,13vw,12rem); font-weight: 800; letter-spacing: -.07em; }
.era-about-grid { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 100px; }
.era-about-photo { position: relative; min-height: 430px; }
.era-about-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 20px 24px rgba(0,30,61,.25)); }
.era-photo-label { position: absolute; z-index: 2; bottom: 18px; left: 0; padding: 10px 14px; background: rgba(0,30,61,.84); color: #dce8f1; font-size: 11px; letter-spacing: .08em; }
.era-about-copy p { margin-top: 23px; color: #d7e4ef; }
.era-about-copy .era-lead { color: #fff; font-size: 19px; font-weight: 700; }
.era-about-copy .era-text-link { margin-top: 29px; }

.era-advantage-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--era-line); border-left: 1px solid var(--era-line); }
.era-advantage-grid article { padding: 30px 26px; border-right: 1px solid var(--era-line); border-bottom: 1px solid var(--era-line); }
.era-advantage-grid h3 { margin-top: 16px; font-size: 22px; }
.era-advantage-grid p { margin-top: 13px; color: var(--era-muted); font-size: 14px; }

.era-process-top, .era-value-grid, .era-offers-grid, .era-region-grid, .era-instagram-grid, .era-faq-grid, .era-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.era-process-top p, .era-valuation p, .era-offers p, .era-instagram p { margin-top: 22px; color: var(--era-muted); }
.era-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px 38px; margin: 50px 0 35px; }
.era-steps article { padding-top: 24px; border-top: 1px solid var(--era-line); }
.era-steps h3 { margin-top: 20px; font-size: 23px; }
.era-steps p { margin-top: 16px; color: var(--era-muted); font-size: 15px; }

.era-valuation, .era-widget-section { background: var(--era-pale); }
.era-valuation .era-button, .era-offers .era-button { margin-top: 28px; }
.era-value-list { border-top: 1px solid #c6d2dc; }
.era-value-list > div { display: flex; gap: 26px; padding: 23px 0; border-bottom: 1px solid #c6d2dc; }
.era-value-list small { color: var(--era-red); font-weight: 700; }
.era-value-list h3 { font-size: 22px; }
.era-value-list p { margin-top: 8px; font-size: 15px; }
.era-value-list .era-text-link { margin-top: 15px; }

.era-offers-grid { align-items: center; }
.era-offer-photo { position: relative; min-height: 360px; overflow: hidden; border-radius: 0 0 42px 0; background: #dce6ed; }
.era-offer-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.era-region { background: var(--era-deep); color: #fff; }
.era-region p { margin-top: 22px; color: #bfd0df; }
.era-region-grid { grid-template-columns: .8fr 1.2fr; }
.era-place-links { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #395875; border-left: 1px solid #395875; }
.era-place-links a { padding: 23px; border-right: 1px solid #395875; border-bottom: 1px solid #395875; color: #e7f0f7; font-weight: 700; }
.era-place-links span { display: block; margin-top: 5px; color: #8eacc4; font-size: 12px; font-weight: 400; }

.era-widget-placeholder { display: grid; place-items: center; min-height: 270px; padding: 42px; border: 1px solid #c9d4dd; border-radius: 0 0 46px 0; background: #fff; text-align: center; }
.era-widget-placeholder > div { max-width: 620px; }
.era-widget-kicker { color: var(--era-red); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.era-widget-placeholder h3 { margin-top: 19px; font-size: clamp(1.8rem,3vw,2.7rem); }
.era-widget-placeholder p { margin: 18px auto 0; color: var(--era-muted); }
.era-widget-placeholder small { display: inline-block; margin-top: 24px; padding: 8px 12px; background: var(--era-pale); color: #687b8d; letter-spacing: .06em; text-transform: uppercase; }
.era-google-widget { min-height: 300px; }
.era-google-widget:empty { display: grid; place-items: center; border: 1px dashed #c9d4dd; border-radius: 0 0 46px 0; background: #fff; color: var(--era-muted); text-align: center; }
.era-google-widget:empty::before { content: 'Google-Bewertungen werden über Elfsight geladen'; padding: 24px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }

.era-knowledge-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.era-knowledge-grid article { display: flex; flex-direction: column; min-height: 270px; padding: 28px; border: 1px solid var(--era-line); border-radius: 0 0 34px 0; }
.era-knowledge-grid h3 { margin-top: 24px; font-size: 25px; }
.era-knowledge-grid p { margin-top: 17px; color: var(--era-muted); font-size: 15px; }
.era-knowledge-grid .era-text-link { width: max-content; margin-top: auto; padding-top: 24px; }

.era-instagram-grid { grid-template-columns: .75fr 1.25fr; align-items: center; gap: 60px; }
.era-instagram .era-text-link { margin-top: 26px; }
.era-instagram-widget { min-height: 420px; }
.era-instagram-widget:empty { display: grid; place-items: center; border: 1px dashed var(--era-line); background: var(--era-pale); color: var(--era-muted); text-align: center; }
.era-instagram-widget:empty::before { content: 'Instagram-Feed wird über Elfsight geladen'; padding: 24px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }

.era-faq { padding-top: 0; }
.era-faq-grid { grid-template-columns: .7fr 1.3fr; }
.era-questions { border-top: 1px solid var(--era-line); }
.era-questions details { border-bottom: 1px solid var(--era-line); }
.era-questions summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 23px 0; cursor: pointer; list-style: none; font-weight: 700; }
.era-questions summary::-webkit-details-marker { display: none; }
.era-questions summary::after { content: '+'; color: var(--era-red); font-size: 26px; font-weight: 400; }
.era-questions details[open] summary::after { content: '−'; }
.era-questions p { padding: 0 35px 25px 0; color: var(--era-muted); }

.era-contact { padding: 80px 0; background: var(--era-deep); color: #fff; }
.era-contact h2 { font-size: clamp(2.5rem,4.5vw,4.5rem); }
.era-contact p { margin-top: 24px; color: #b9cbdc; }
.era-contact .era-button-secondary { color: #fff !important; }
.era-contact-data { display: flex; flex-direction: column; align-self: center; padding: 30px; border: 1px solid #3b556f; border-radius: 0 0 34px 0; font-style: normal; }
.era-contact-data strong { font-size: 24px; }
.era-contact-data > span { margin-top: 6px; color: #b9cbdc; font-size: 14px; line-height: 1.55; }
.era-contact-data a { padding: 13px 0; border-bottom: 1px solid #3b556f; overflow-wrap: anywhere; }

.era-footer { border-top: 5px solid var(--era-red); background: var(--era-deep); color: #fff; }
.era-footer-main { display: grid; grid-template-columns: 1.05fr .65fr 1.7fr; gap: 6vw; width: min(1240px,calc(100% - 96px)); margin: auto; padding: 76px 0 62px; }
.era-footer-brand > strong { display: block; font-size: clamp(28px,2.8vw,42px); line-height: 1.04; letter-spacing: -.045em; }
.era-footer-brand > strong span { display: block; color: var(--era-red); }
.era-footer-brand p { margin-top: 20px; color: #aebfd0; font-size: 14px; line-height: 1.7; }
.era-footer-brand div, .era-footer-nav, .era-footer-places section { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 25px; }
.era-footer-brand div { color: #d6e1e9; font-size: 14px; }
.era-footer-heading { color: #ff5a50; font-size: 11px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.era-footer-nav { margin-top: 21px; color: #bccbd9; font-size: 14px; }
.era-footer-nav a:hover { color: #fff; }
.era-footer-places { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.era-footer-places section { margin-top: 21px; color: #aebfd0; font-size: 13px; }
.era-footer-places h3 { color: #fff; font-size: 14px; letter-spacing: .03em; text-transform: uppercase; }
.era-footer-bottom { display: flex; justify-content: space-between; gap: 25px; width: min(1240px,calc(100% - 96px)); margin: auto; padding: 25px 0 34px; border-top: 1px solid #294765; color: #8299ad; font-size: 12px; }
.era-footer-bottom nav { display: flex; gap: 24px; }

/* Hybride Immobilienseite: PHP-Rahmen mit Elementor-/Frymo-Inhaltsfläche. */
.era-properties-hero { position: relative; overflow: hidden; padding: 88px 0 78px; background: radial-gradient(circle at 82% 25%,rgba(89,151,202,.43),transparent 25%),linear-gradient(125deg,#001e3d 0%,#003b70 62%,#0f5c91 100%); color: #fff; }
.era-properties-word { position: absolute; right: -1vw; bottom: -3vw; color: rgba(255,255,255,.045); font-size: clamp(5rem,14vw,13rem); font-weight: 800; letter-spacing: -.07em; line-height: .8; }
.era-properties-hero-grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 90px; }
.era-properties-hero h1 span { display: inline; }
.era-properties-hero p { color: #d7e5f0; font-size: 18px; }
.era-properties-hero p + p { margin-top: 16px; }
.era-properties-content { padding: 90px 0 105px; background: #fff; }
.era-properties-intro { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 42px; }
.era-properties-intro > p { max-width: 380px; color: var(--era-muted); }
.era-frymo-slot { min-height: 260px; }
.era-frymo-admin-note, .era-frymo-empty { padding: 34px; border: 1px dashed #a9bac8; border-radius: 0 0 38px 0; background: var(--era-pale); }
.era-frymo-admin-note strong, .era-frymo-empty strong { display: block; font-size: 22px; }
.era-frymo-admin-note p, .era-frymo-empty p { margin-top: 12px; color: var(--era-muted); }
.era-frymo-empty .era-button { margin-top: 22px; }

/* Frymo bleibt Daten- und Funktionsschicht; diese Regeln bilden nur die ERA-Oberfläche. */
.era-frymo-slot .elementor { --e-global-color-primary: var(--era-navy); --e-global-color-accent: var(--era-red); }
.era-frymo-slot .frymo-listing-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 26px; padding: 16px 18px; border: 1px solid var(--era-line); background: var(--era-pale); }
.era-frymo-slot .frymo-results-count { color: var(--era-muted); font-size: 13px; font-weight: 700; letter-spacing: .07em; }
.era-frymo-slot .frymo-orderby-select { min-height: 44px; padding: 8px 36px 8px 13px; border: 1px solid #afbdc9; border-radius: 0; background-color: #fff; color: var(--era-ink); font: inherit; font-size: 13px; }
.era-frymo-slot .frymo-listing.frymo-listing-grid-skin { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.era-frymo-slot .frymo-listing-item { overflow: hidden; margin: 0; border: 1px solid var(--era-line); border-radius: 0 0 38px 0; background: #fff; box-shadow: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.era-frymo-slot .frymo-listing-item:hover { border-color: #9fb0be; transform: translateY(-3px); box-shadow: 0 18px 35px rgba(0,30,61,.1); }
.era-frymo-slot .frymo-listing-image { position: relative; overflow: hidden; aspect-ratio: 4/3; background: #dfe7ed; }
.era-frymo-slot .frymo-listing-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.era-frymo-slot .frymo-listing-item:hover .frymo-listing-image img { transform: scale(1.025); }
.era-frymo-slot .frymo-listing-badges { position: absolute; z-index: 2; top: 14px; left: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.era-frymo-slot .frymo-listing-badge { padding: 6px 9px; border-radius: 0; background: var(--era-navy); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.era-frymo-slot .frymo-listing-badge.badge-status { background: var(--era-red); }
.era-frymo-slot .frymo-listing-content { display: flex; flex-direction: column; min-height: 285px; padding: 23px 22px 25px; }
.era-frymo-slot .frymo-listing-title { margin: 0; color: var(--era-navy); font-size: 21px; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.era-frymo-slot .frymo-listing-title a { color: inherit; }
.era-frymo-slot .frymo-listing-location { margin-top: 15px; color: var(--era-muted); font-size: 14px; }
.era-frymo-slot .frymo-listing-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--era-line); color: var(--era-muted); font-size: 13px; }
.era-frymo-slot .frymo-listing-meta-item { display: inline-flex; align-items: center; gap: 5px; }
.era-frymo-slot .frymo-listing-price { margin-top: auto; padding-top: 20px; color: var(--era-navy); font-size: 13px; }
.era-frymo-slot .frymo-listing-price-value { display: block; margin-top: 2px; color: var(--era-ink); font-size: 22px; font-weight: 800; }
.era-search-contact { padding: 78px 0; background: var(--era-navy); color: #fff; }
.era-search-contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 80px; }
.era-search-contact p { margin-top: 22px; color: #c8d9e6; }
.era-search-contact-actions { display: grid; gap: 14px; }
.era-search-contact-actions .era-button-secondary { color: #fff !important; }
.era-properties-footer .era-footer-bottom { border-top: 0; }

@media (max-width: 1100px) {
	.era-wrap { width: calc(100% - 64px); }
	.era-nav { gap: 17px; }
	.era-hero-grid { gap: 35px; }
	.era-paths { grid-template-columns: repeat(2,1fr); }
	.era-path:nth-child(2) { border-right: 0; }
	.era-path:nth-child(-n+2) { border-bottom: 1px solid var(--era-line); }
	.era-path { min-height: 280px; }
	.era-advantage-grid { grid-template-columns: repeat(2,1fr); }
	.era-frymo-slot .frymo-listing.frymo-listing-grid-skin { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.era-footer-main { grid-template-columns: 1fr 1fr; }
	.era-footer-brand { grid-column: 1/-1; }
}

@media (max-width: 800px) {
	.era-wrap { width: calc(100% - 40px); }
	.era-section { padding: 65px 0; }
	.era-section-head { display: block; margin-bottom: 30px; }
	.era-section-head > p { margin-top: 22px; max-width: 60ch; }
	.era-header-inner { height: 82px; }
	.era-header.is-scrolled .era-header-inner { height: 68px; }
	.era-brand { gap: 10px; }
	.era-brand-mark, .era-brand-logo { width: 62px; height: 62px; font-size: 19px; }
	.era-brand-text { max-width: 150px; font-size: 13px; }
	.era-nav { display: none; }
	.era-mobile-nav { display: block; }
	.era-mobile-nav summary { padding: 10px 13px; border: 1px solid var(--era-line); cursor: pointer; list-style: none; }
	.era-mobile-nav summary::-webkit-details-marker { display: none; }
	.era-mobile-panel { position: absolute; top: calc(100% + 20px); right: -20px; width: min(330px,90vw); padding: 18px 20px; border-bottom: 1px solid var(--era-line); background: #fff; box-shadow: 0 15px 25px rgba(0,51,102,.12); }
	.era-mobile-panel a { display: block; padding: 11px 0; border-bottom: 1px solid var(--era-line); font-weight: 700; }
	.era-hero { padding: 45px 0; }
	.era-hero-grid, .era-about-grid, .era-process-top, .era-value-grid, .era-offers-grid, .era-region-grid, .era-instagram-grid, .era-faq-grid, .era-contact-grid { grid-template-columns: 1fr; gap: 38px; }
	.era-hero h1 { font-size: clamp(3.15rem,12vw,5rem); }
	.era-portrait { min-height: 330px; }
	.era-media-placeholder { inset: 24px 18px 82px; }
	.era-trust-strip .era-wrap { flex-wrap: wrap; gap: 10px 22px; }
	.era-trust-strip span { display: none; }
	.era-about { background: linear-gradient(180deg,#edf3f7 0%,#dce7ef 43%,#1a5384 58%,#003366 100%); }
	.era-about-photo { min-height: 320px; order: 2; }
	.era-steps { grid-template-columns: repeat(2,1fr); gap: 28px; }
	.era-place-links { grid-template-columns: 1fr; }
	.era-widget-placeholder { min-height: 240px; padding: 30px 22px; }
	.era-knowledge-grid { grid-template-columns: 1fr; }
	.era-faq { padding-top: 0; }
	.era-properties-hero { padding: 62px 0; }
	.era-properties-hero-grid, .era-search-contact-grid { grid-template-columns: 1fr; gap: 34px; }
	.era-properties-intro { display: block; }
	.era-properties-intro > p { margin-top: 20px; }
	.era-properties-content { padding: 64px 0 74px; }
	.era-footer-main, .era-footer-bottom { width: calc(100% - 40px); }
	.era-footer-main { grid-template-columns: 1fr; gap: 44px; padding: 58px 0 47px; }
	.era-footer-brand { grid-column: auto; }
	.era-footer-places { grid-template-columns: repeat(2,1fr); }
	.era-footer-bottom { flex-direction: column; }
}

@media (max-width: 520px) {
	.era-actions { display: grid; }
	.era-actions .era-button { width: 100%; }
	.era-paths, .era-advantage-grid, .era-steps { grid-template-columns: 1fr; }
	.era-path { min-height: 240px; border-right: 0; border-bottom: 1px solid var(--era-line); }
	.era-path:nth-child(2) { border-bottom: 1px solid var(--era-line); }
	.era-portrait-stamp { right: 0; }
	.era-frymo-slot .frymo-listing-toolbar { align-items: stretch; flex-direction: column; }
	.era-frymo-slot .frymo-listing.frymo-listing-grid-skin { grid-template-columns: 1fr; }
	.era-footer-places { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.era-schwabach *, .era-header * { scroll-behavior: auto !important; transition: none !important; }
}


body.era-schwabach-template .elementor-location-header,
body.era-schwabach-template .elementor-location-footer { display: none !important; }

/* Detailpolitur gegen spezifischere Elementor-/Frymo-Standardregeln. */
.era-header a,
.era-footer a,
.era-schwabach a { text-decoration: none !important; }
.era-properties-intro h2 {
  color: var(--era-ink) !important;
  font-family: inherit !important;
  font-size: clamp(2.35rem, 4vw, 3.7rem) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
}
.era-frymo-slot .frymo-listing-toolbar {
  border-radius: 0 0 18px 0;
  box-shadow: inset 4px 0 0 var(--era-red);
}
.era-frymo-slot .frymo-orderby-select {
  font-family: inherit !important;
  font-weight: 700;
}
.era-frymo-slot .frymo-listing-item { isolation: isolate; }
.era-frymo-slot .frymo-listing-image > [class*="badge"],
.era-frymo-slot .frymo-listing-badge {
  border: 0 !important;
  border-radius: 0 0 10px 0 !important;
  background: rgba(0, 51, 102, .94) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
.era-frymo-slot .frymo-listing-image > [class*="badge"]:first-child,
.era-frymo-slot .frymo-listing-badge.badge-status { background: rgba(204, 0, 0, .94) !important; }
.era-frymo-slot .frymo-listing-title,
.era-frymo-slot .frymo-listing-title a {
  color: var(--era-navy) !important;
  font-family: inherit !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
  text-decoration: none !important;
}
.era-frymo-slot .frymo-listing-title a:hover { color: var(--era-red) !important; }
.era-frymo-slot .frymo-listing-location,
.era-frymo-slot .frymo-listing-meta,
.era-frymo-slot .frymo-listing-price { font-family: inherit !important; }
.era-frymo-slot .frymo-listing-price-value { line-height: 1.15; }

/* Badge-Container bleibt transparent; nur die einzelnen Status-Chips erhalten Farbe. */
.era-frymo-slot .frymo-listing-image > [class*="badge"] {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: normal !important;
  line-height: normal !important;
  text-transform: none !important;
}
.era-frymo-slot .frymo-listing-image > [class*="badge"] > * {
  border: 0 !important;
  border-radius: 0 0 10px 0 !important;
  background: rgba(0, 51, 102, .94) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
.era-frymo-slot .frymo-listing-image > [class*="badge"] > *:first-child { background: rgba(204, 0, 0, .94) !important; }

/* Finaler, spezifischer Badge-Fix. */
.era-frymo-slot .frymo-listing-image > .frymo-listing-badges:first-child {
  right: auto !important;
  width: max-content !important;
  padding: 0 !important;
  background: transparent !important;
}
.era-frymo-slot .frymo-listing-image > .frymo-listing-badges > .frymo-listing-badge {
  padding: 7px 11px !important;
}

/* Tablet: kompakte Navigation vor dem ersten Umbruch. */
@media (max-width: 1100px) {
  .era-nav { display: none; }
  .era-mobile-nav { display: block; }
  .era-mobile-nav summary { padding: 10px 13px; border: 1px solid var(--era-line); cursor: pointer; list-style: none; }
  .era-mobile-nav summary::-webkit-details-marker { display: none; }
  .era-mobile-panel { position: absolute; top: calc(100% + 20px); right: 0; width: min(330px, 90vw); padding: 18px 20px; border-bottom: 1px solid var(--era-line); background: #fff; box-shadow: 0 15px 25px rgba(0, 51, 102, .12); }
  .era-mobile-panel a { display: block; padding: 11px 0; border-bottom: 1px solid var(--era-line); font-weight: 700; }
}

/* Suchkontakt: sicherer Kontrast gegen Elementor-Globaleinstellungen. */
.era-search-contact h2 { color: #fff !important; font-family: inherit !important; font-weight: 800 !important; }
.era-search-contact h2 { color: #fff !important; font-family: inherit !important; font-size: clamp(2.1rem, 4.5vw, 4.5rem) !important; font-weight: 800 !important; line-height: 1.05 !important; letter-spacing: -.045em !important; }