/**
 * ERA Immobilien Schwabach – geschützte Frymo-Exposé-Vorschau.
 * Jede Regel ist an body.era-expose-preview gebunden.
 */

body.era-expose-preview {
	--era-navy: #003366;
	--era-deep: #001e3d;
	--era-red: #cc0000;
	--era-ink: #102a42;
	--era-muted: #536476;
	--era-pale: #f1f4f7;
	--era-line: #d9e1e8;
	margin: 0;
	background: #fff;
	color: var(--era-ink);
	font-family: Arial, Helvetica, sans-serif;
}

body.era-expose-preview > header.elementor-location-header,
body.era-expose-preview > footer.elementor-location-footer {
	display: none !important;
}

body.era-expose-preview #wpadminbar { z-index: 10000; }
body.admin-bar.era-expose-preview .era-expose-header { top: 32px; }
body.era-expose-preview #era-expose-content { scroll-margin-top: 100px; }

body.era-expose-preview .era-expose-header .era-header-inner { height: 92px; }
body.era-expose-preview .era-expose-header .era-brand-mark { width: 70px; height: 70px; font-size: 23px; }
body.era-expose-preview .era-expose-header.is-scrolled .era-header-inner { height: 72px; }
body.era-expose-preview .era-expose-header.is-scrolled .era-brand-mark { width: 54px; height: 54px; font-size: 17px; }

body.era-expose-preview .era-expose-crumbs {
	border-bottom: 1px solid var(--era-line);
	background: #fff;
	color: var(--era-muted);
	font-size: 13px;
}
body.era-expose-preview .era-expose-crumbs .era-wrap { padding-block: 19px; }
body.era-expose-preview .era-expose-crumbs a { color: var(--era-ink); font-weight: 700; text-decoration: none; }
body.era-expose-preview .era-expose-crumbs span { margin: 0 10px; color: #93a2af; }
body.era-expose-preview .era-expose-crumbs strong { font-weight: 400; }

/* Frymo/Elementor: neutrale Basis */
body.era-expose-preview .elementor-location-single {
	--e-global-color-primary: var(--era-navy);
	--e-global-color-accent: var(--era-red);
	color: var(--era-ink);
	font-family: Arial, Helvetica, sans-serif;
}
body.era-expose-preview .elementor-location-single *,
body.era-expose-preview .elementor-location-single *::before,
body.era-expose-preview .elementor-location-single *::after { box-sizing: border-box; }
body.era-expose-preview .elementor-location-single .e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
body.era-expose-preview .elementor-location-single h1,
body.era-expose-preview .elementor-location-single h2,
body.era-expose-preview .elementor-location-single h3 { color: var(--era-ink); font-family: inherit; letter-spacing: -.04em; line-height: 1.08; }

/* Galerie über die gesamte Breite */
body.era-expose-preview .elementor-element-4cc20ca > .e-con-inner,
body.era-expose-preview .elementor-element-1f6e0da5 { max-width: none !important; width: 100% !important; }
body.era-expose-preview .elementor-widget-frymo-gallery-carousel { width: 100%; }
body.era-expose-preview .elementor-widget-frymo-gallery-carousel > .elementor-widget-container > .frymo-lightbox-gellery {
	height: 0 !important; min-height: 0 !important; overflow: hidden; margin: 0 !important; padding: 0 !important;
}
body.era-expose-preview .elementor-widget-frymo-gallery-carousel .frymo-slider.swiper-slider-container { height: min(36vw, 510px); min-height: 390px; }
body.era-expose-preview .elementor-widget-frymo-gallery-carousel .frymo-slider img { width: 100%; height: 100%; object-fit: cover; }
body.era-expose-preview .elementor-widget-frymo-gallery-carousel .frymo-slider .swiper-slide { overflow: hidden; background: #dfe7ed; }
body.era-expose-preview .elementor-widget-frymo-gallery-carousel .frymo-slider .swiper-button-prev,
body.era-expose-preview .elementor-widget-frymo-gallery-carousel .frymo-slider .swiper-button-next {
	width: 48px; height: 48px; border: 0; border-radius: 0 0 15px 0; background: rgba(0,30,61,.9); color: #fff;
}

/* Hauptbereich: Textspalte plus Ansprechpartner */
body.era-expose-preview .elementor-element-3ceaadd2 { padding: 54px 0 92px !important; background: #fff; }
body.era-expose-preview .elementor-element-3ceaadd2 > .e-con-inner { width: min(1240px, calc(100% - 96px)); max-width: 1240px !important; margin-inline: auto; }
body.era-expose-preview .elementor-element-37a981b2 {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr);
	gap: 80px;
	align-items: start;
	width: 100%;
}
body.era-expose-preview .elementor-element-6f865d2f,
body.era-expose-preview .elementor-element-5413b371 { width: 100%; min-width: 0; }

/* Titel und kompakte Standortzeile */
body.era-expose-preview .elementor-widget-frymo-title { margin-bottom: 18px; }
body.era-expose-preview h1.frymo-title { margin: 0; max-width: 870px; font-size: clamp(2.5rem, 4.6vw, 4.5rem) !important; font-weight: 800; }
body.era-expose-preview .elementor-element-40003e42 { margin-bottom: 34px; }
body.era-expose-preview .elementor-element-40003e42 .frymo-data-wrapper { display: flex; flex-wrap: wrap; gap: 10px 28px; }
body.era-expose-preview .elementor-element-40003e42 .frymo-data-item { display: flex; gap: 8px; color: var(--era-muted); font-size: 15px; }
body.era-expose-preview .elementor-element-40003e42 .frymo-data-item-label { color: var(--era-red); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.era-expose-preview .elementor-element-40003e42 .frymo-data-item-value { font-weight: 700; }

/* Wichtigste Eckdaten */
body.era-expose-preview .elementor-element-5a1ed098 { margin-bottom: 62px; }
body.era-expose-preview .frymo-short-overview {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--era-line);
	border-left: 1px solid var(--era-line);
}
body.era-expose-preview .frymo-short-overview-item {
	display: block !important;
	min-width: 0;
	padding: 21px 18px;
	border-right: 1px solid var(--era-line);
	border-bottom: 1px solid var(--era-line);
}
body.era-expose-preview .frymo-short-overview-item-label { display: block; color: var(--era-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.era-expose-preview .frymo-short-overview-item-value { display: block; margin-top: 8px; color: var(--era-navy); font-size: clamp(17px, 1.7vw, 23px); font-weight: 800; overflow-wrap: anywhere; }

/* Redaktionelle Bereiche */
body.era-expose-preview .elementor-element-6f865d2f > .elementor-widget:not(.elementor-widget-frymo-title):not(.elementor-element-40003e42):not(.elementor-widget-frymo-short-overview) {
	padding: 0 0 52px;
}
body.era-expose-preview .elementor-element-6f865d2f > .elementor-widget:not(.elementor-widget-frymo-title):not(.elementor-element-40003e42):not(.elementor-widget-frymo-short-overview) + .elementor-widget {
	padding-top: 50px;
	border-top: 1px solid var(--era-line);
}
body.era-expose-preview .frymo-widget-header { margin: 0 0 24px; }
body.era-expose-preview h3.frymo-widget-heading { margin: 0; font-size: clamp(1.9rem, 3vw, 3rem) !important; font-weight: 800; }
body.era-expose-preview h3.frymo-widget-heading::before {
	content: '';
	display: inline-block;
	width: 7px; height: 7px; margin: 0 12px .35em 0;
	background: var(--era-red);
}
body.era-expose-preview .frymo-widget-text-content,
body.era-expose-preview .frymo-location-description,
body.era-expose-preview .frymo-features-description,
body.era-expose-preview .frymo-further-description { color: #405468; font-size: 16px; line-height: 1.75; }
body.era-expose-preview .frymo-widget-text-content p,
body.era-expose-preview .frymo-location-description p,
body.era-expose-preview .frymo-features-description p { margin: 0 0 18px; }

/* Ausstattungs-Kacheln */
body.era-expose-preview .frymo-features-wrapper { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
body.era-expose-preview .frymo-features-wrapper > * { min-width: 0; padding: 18px !important; border: 1px solid var(--era-line); border-radius: 0 0 18px 0; }

/* Sämtliche Objektdaten */
body.era-expose-preview .elementor-element-d779053 .frymo-data-wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--era-line); border-left: 1px solid var(--era-line); }
body.era-expose-preview .elementor-element-d779053 .frymo-data-item { display: flex !important; justify-content: space-between; gap: 16px; min-width: 0; padding: 15px 17px; border-right: 1px solid var(--era-line); border-bottom: 1px solid var(--era-line); font-size: 14px; }
body.era-expose-preview .elementor-element-d779053 .frymo-data-item-label { color: var(--era-muted); }
body.era-expose-preview .elementor-element-d779053 .frymo-data-item-value { color: var(--era-ink); font-weight: 700; text-align: right; overflow-wrap: anywhere; }

/* Ansprechpartner */
body.era-expose-preview .elementor-element-5413b371 { position: sticky; top: 116px; }
body.admin-bar.era-expose-preview .elementor-element-5413b371 { top: 148px; }
body.era-expose-preview .elementor-widget-frymo-contact-data { overflow: hidden; border: 1px solid var(--era-line); border-radius: 0 0 34px 0; background: #fff; }
body.era-expose-preview .elementor-widget-frymo-contact-data .elementor-widget-container { padding: 0 !important; }
body.era-expose-preview .frymo-contact-main { display: block !important; }
body.era-expose-preview .frymo-contact-image { width: 100% !important; height: 280px; margin: 0 !important; background: var(--era-pale); }
body.era-expose-preview .frymo-contact-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
body.era-expose-preview .frymo-contact-main-data { padding: 25px !important; }
body.era-expose-preview .frymo-contact-name { color: var(--era-ink); font-size: 26px; font-weight: 800; }
body.era-expose-preview .frymo-contact-adress,
body.era-expose-preview .frymo-contact-additional-data { margin-top: 13px; color: var(--era-muted); font-size: 14px; line-height: 1.65; }
body.era-expose-preview .frymo-contact-data-button { display: flex !important; justify-content: space-between; width: 100%; margin-top: 22px; padding: 16px 18px !important; border: 1px solid var(--era-red) !important; border-radius: 0 0 17px 0 !important; background: var(--era-red) !important; color: #fff !important; font-weight: 800; text-decoration: none !important; }

/* Energieausweis */
body.era-expose-preview .elementor-element-2e42af5c { display: grid !important; grid-template-columns: 1fr; gap: 22px; width: 100%; margin-top: 62px; padding: 32px !important; border-radius: 0 0 30px 0; background: var(--era-pale); }
body.era-expose-preview .frymo-energy-data { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid #cbd6df; border-left: 1px solid #cbd6df; }
body.era-expose-preview .frymo-energy-data-item { display: flex !important; justify-content: space-between; gap: 15px; padding: 14px 16px; border-right: 1px solid #cbd6df; border-bottom: 1px solid #cbd6df; font-size: 13px; }
body.era-expose-preview .frymo-energy-data-key { color: var(--era-muted); }
body.era-expose-preview .frymo-energy-data-value { font-weight: 700; text-align: right; }
body.era-expose-preview .frymo-energy-horizontal { overflow: hidden; border-radius: 0 !important; }

/* Frymo-Anfrageformular als eigener, dunkler Abschluss */
body.era-expose-preview .elementor-element-457f7965 { padding: 76px 0 82px !important; background: var(--era-navy) !important; color: #fff; }
body.era-expose-preview .elementor-element-457f7965 > .e-con-inner { width: min(900px, calc(100% - 96px)); max-width: 900px !important; margin-inline: auto; }
body.era-expose-preview .elementor-widget-frymo-contact-form::before { content: 'Persönlich anfragen'; display: block; margin-bottom: 11px; color: #ff766e; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
body.era-expose-preview .elementor-widget-frymo-contact-form::after { content: 'Ihre Anfrage wird direkt diesem Objekt zugeordnet und an Armin Ofen übermittelt.'; display: block; margin-top: 22px; color: #bcd0df; font-size: 13px; line-height: 1.6; }
body.era-expose-preview .elementor-widget-frymo-contact-form > .elementor-widget-container { background: transparent !important; }
body.era-expose-preview .frymo-contact-form { color: #fff; }
body.era-expose-preview .frymo-contact-form .frymo-fields { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px 18px; }
body.era-expose-preview .frymo-contact-form .frymo-form-field:first-child,
body.era-expose-preview .frymo-contact-form .frymo-form-field:has(textarea),
body.era-expose-preview .frymo-contact-form .frymo-form-field:has([type="checkbox"]),
body.era-expose-preview .frymo-contact-form .frymo-submit { grid-column: 1 / -1; }
body.era-expose-preview .frymo-contact-form label { color: #d7e4ed !important; font-size: 11px !important; font-weight: 800; letter-spacing: .08em; }
body.era-expose-preview .frymo-contact-form input:not([type="checkbox"]),
body.era-expose-preview .frymo-contact-form select,
body.era-expose-preview .frymo-contact-form textarea { width: 100%; border: 1px solid #718ba2 !important; border-radius: 0 !important; background: rgba(255,255,255,.06) !important; color: #fff !important; }
body.era-expose-preview .frymo-contact-form a { color: #fff; text-decoration: underline; }
body.era-expose-preview .frymo-contact-form .frymo-submit,
body.era-expose-preview .frymo-contact-form button[type="submit"] { min-height: 54px; border: 1px solid var(--era-red) !important; border-radius: 0 0 17px 0 !important; background: var(--era-red) !important; color: #fff !important; font-weight: 800; }

body.era-expose-preview .era-expose-footer { border-top-width: 5px; }

@media (max-width: 1000px) {
	body.era-expose-preview .elementor-element-37a981b2 { grid-template-columns: 1fr; gap: 48px; }
	body.era-expose-preview .elementor-element-5413b371 { position: static; }
	body.era-expose-preview .frymo-contact-main { display: grid !important; grid-template-columns: 260px 1fr; }
	body.era-expose-preview .frymo-contact-image { height: 100%; min-height: 300px; }
}

@media (max-width: 782px) {
	body.admin-bar.era-expose-preview .era-expose-header { top: 46px; }
}

@media (max-width: 650px) {
	body.era-expose-preview { overflow-x: hidden; }
	body.era-expose-preview .era-expose-crumbs .era-wrap,
	body.era-expose-preview .elementor-element-3ceaadd2 > .e-con-inner,
	body.era-expose-preview .elementor-element-457f7965 > .e-con-inner { width: calc(100% - 40px); }
	body.era-expose-preview .era-expose-crumbs strong { display: none; }
	body.era-expose-preview .elementor-widget-frymo-gallery-carousel .frymo-slider.swiper-slider-container { height: 310px; min-height: 310px; }
	body.era-expose-preview .elementor-element-3ceaadd2 { padding: 38px 0 65px !important; }
	body.era-expose-preview h1.frymo-title { font-size: 2.35rem !important; }
	body.era-expose-preview h3.frymo-widget-heading { max-width: 100%; font-size: 1.65rem !important; overflow-wrap: anywhere; hyphens: auto; }
	body.era-expose-preview .frymo-short-overview { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	body.era-expose-preview .frymo-short-overview-item { padding: 17px 14px; }
	body.era-expose-preview .frymo-short-overview-item-value { font-size: 16px; }
	body.era-expose-preview .frymo-features-wrapper,
	body.era-expose-preview .elementor-element-d779053 .frymo-data-wrapper,
	body.era-expose-preview .frymo-energy-data,
	body.era-expose-preview .frymo-contact-form .frymo-fields { grid-template-columns: 1fr; }
	body.era-expose-preview .frymo-contact-form .frymo-form-field,
	body.era-expose-preview .frymo-contact-form .frymo-submit { grid-column: auto !important; }
	body.era-expose-preview .frymo-contact-main { display: block !important; }
	body.era-expose-preview .frymo-contact-image { height: 270px; min-height: 0; }
	body.era-expose-preview .elementor-element-2e42af5c { margin-top: 42px; padding: 22px !important; }
}

@media (prefers-reduced-motion: reduce) {
	body.era-expose-preview * { scroll-behavior: auto !important; transition: none !important; }
}