/**
 * Hövelrat – Mobile-Ansicht
 * Bricht Desktop-Raster, Polster und feste Breiten auf Handy/Tablet um.
 * Breakpoints wie BeTheme: Tablet bis 959px, Handy bis 767px.
 */

html {
	overflow-x: clip;
}
body {
	overflow-x: clip;
	max-width: 100%;
}

/* =====================================================================
 * Tablet
 * ===================================================================== */
@media (max-width: 959px) {
	.hv-nsec {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}
	.hv-nsec--hero {
		padding-top: 120px !important;
		padding-bottom: 120px !important;
	}
	.hv-nsec--eh-hero,
	.hv-nsec--team-hero,
	.hv-nsec--ir-hero {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.hv-nsec--ways,
	.hv-nsec--team {
		padding-top: 0 !important;
	}

	.hv-nsec img,
	.hv-nsec .image_wrapper,
	.hv-nsec .image_wrapper img {
		max-width: 100%;
	}

	.hv-nsec--newsletter .section_wrapper,
	.hv-nsec--ir .section_wrapper,
	.hv-nsec--partner .section_wrapper,
	.hv-nsec--kontakt-form .section_wrapper,
	.hv-nsec--team-form .section_wrapper {
		row-gap: 32px;
	}

	.hv-newsletter__form {
		flex-direction: column;
		align-items: stretch;
	}
	.hv-newsletter__form .wpcf7-form-control-wrap,
	.hv-newsletter__form input[type="email"],
	.hv-newsletter__form input.wpcf7-text,
	.hv-newsletter__form input:not([type="submit"]) {
		min-width: 0;
		max-width: none;
		width: 100%;
		flex: 1 1 auto;
	}
	.hv-newsletter__form input.wpcf7-submit,
	.hv-newsletter__form input.wpcf7-submit.hv-btn {
		width: 100%;
		justify-content: center;
	}

	.hv-ftr--main .section_wrapper { column-gap: 32px; row-gap: 32px; }
	.hv-ftr--main .mcb-wrap { flex: 1 1 100%; width: 100%; }
	.hv-ftr--bottom .section_wrapper {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	#mfn-footer-template .hv-ftr-legal .mfn-footer-menu {
		justify-content: flex-start;
	}
}

/* =====================================================================
 * Handy
 * ===================================================================== */
@media (max-width: 767px) {
	.hv-nsec {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
	.hv-nsec--hero {
		padding-top: 0 !important;
		padding-bottom: 48px !important;
		min-height: 0;
	}
	.hv-nsec--eh-hero,
	.hv-nsec--team-hero,
	.hv-nsec--ir-hero {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.hv-nsec--ways,
	.hv-nsec--team {
		padding-top: 0 !important;
		padding-bottom: 56px !important;
	}
	.hv-nsec--jobs {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
	.hv-nsec--formular,
	.hv-nsec--team-form,
	.hv-nsec--kontakt-form {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
	.hv-nsec--ir-dateien,
	.hv-nsec--medien-liste,
	.hv-nsec--recht {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}

	/* Alle Inhalts-Spalten untereinander, BeTheme-Float aus. */
	.hv-nsec .section_wrapper {
		display: flex;
		flex-wrap: wrap;
		column-gap: 0;
		row-gap: 28px;
	}
	.hv-nsec .section_wrapper > .mcb-wrap {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.hv-hdr .section_wrapper { min-height: 72px; }
	.hv-hdr .logo-wrapper { width: 104px; }
	.hv-hdr .logo-wrapper img {
		width: 104px;
		height: auto;
	}

	.hv-nsec .hv-sec-head { margin-bottom: 28px; }
	.hv-nsec .hv-cta-center { margin-top: 8px; }

	.hv-nsec h1.title { font-size: var(--hv-fs-display); }
	.hv-nsec h2.title { font-size: var(--hv-fs-h2); }

	.hv-nsec .image_wrapper,
	.hv-nsec .image_wrapper img,
	.hv-nsec img {
		max-width: 100%;
	}
	.hv-nsec .hv-media .image_wrapper,
	.hv-nsec .hv-media--partner-lg .image_wrapper,
	.hv-nsec .hv-media--ir .image_wrapper,
	.hv-nsec .hv-media--news .image_wrapper {
		min-height: 220px !important;
		height: 220px;
	}
	.hv-nsec .hv-media .image_wrapper img,
	.hv-nsec .hv-media--news .image_wrapper img {
		height: 220px;
		object-fit: cover;
	}

	.hv-nsec .hv-card--wide .icon_box { flex-direction: column; }
	.hv-nsec .hv-card--wide .image_wrapper {
		width: 100% !important;
		height: 180px;
	}
	.hv-nsec .hv-card--wide .desc_wrapper {
		width: 100% !important;
		padding: 20px;
	}

	.hv-unternehmen.is-slider .hv-card,
	.hv-beitraege.is-slider .hv-card,
	.hv-schritte.is-slider .hv-schritt,
	.hv-jobs.is-slider .hv-job {
		width: 100%;
		flex-basis: 100%;
	}
	.hv-slider-nav,
	.hv-unternehmen .hv-slider-nav,
	.hv-beitraege .hv-slider-nav,
	.hv-schritte .hv-slider-nav,
	.hv-jobs .hv-slider-nav {
		/* margin-top wuerde mit dem negativen Viewport-Rand (Schatten)
		 * zusammenfallen und die Pfeile an die Karte ziehen. */
		margin-top: 0;
		padding-top: 40px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 16px;
	}
	.hv-slider-dots {
		position: static;
		left: auto;
		transform: none;
	}

	.hv-nsec--ir .hv-ir-item a { padding: 12px 0; }

	.hv-form__reihe,
	.hv-form__reihe--bewerbung { flex-direction: column; }
	.hv-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	.hv-form textarea,
	.hv-form select { max-width: 100%; width: 100%; }
	.hv-form__person { flex-direction: column; align-items: flex-start; }
	.hv-form__person img {
		width: 100%;
		max-width: 200px;
		height: auto;
		aspect-ratio: 1;
	}

	.hv-karte,
	.hv-karte img,
	.hv-karte iframe,
	.hv-karte.leaflet-container {
		height: 260px;
	}
	.hv-standort { min-height: 0; gap: 12px; }

	.hv-nsec--standort .section_wrapper { row-gap: 24px; }
	.hv-nsec--aktuelles-liste .section_wrapper,
	.hv-nsec--termine .section_wrapper { row-gap: 32px; }

	.hv-ergebnisse__raster,
	.hv-ergebnisse__spalte { width: 100%; flex: 1 1 100%; }
	.hv-nsec--zahlen .hv-ergebnisse__kopf h2,
	.hv-nsec--zahlen .hv-ergebnisse__kopf p,
	.hv-ergebnisse__kopf h2,
	.hv-ergebnisse__kopf p {
		flex: 1 1 100%;
		width: 100%;
		max-width: none;
	}
	.hv-nsec--eh-kontakt .hv-eh-person .image_frame,
	.hv-nsec--eh-kontakt .hv-eh-person .image_wrapper,
	.hv-nsec--eh-kontakt .hv-eh-person .image_wrapper img {
		width: 100% !important;
		max-width: 100%;
	}
	.hv-nsec--eh-kontakt.hv-nsec--w-kontakt .hv-eh-person .icon_box {
		align-items: stretch;
	}
	.hv-ergebnis__wert { font-size: 2.5rem; }

	.hv-medien-karte { flex-direction: column; }
	.hv-medien-karte__bild { width: 100%; height: 180px; }

	.hv-termin--featured,
	.hv-termin--zeile { grid-template-columns: 1fr; }

	.hv-jobs-layout { flex-direction: column; }
	.hv-jobs-liste,
	.hv-jobs-foto { max-width: 100%; }
	.hv-jobs-foto { order: -1; }

	.hv-stelle__foto { width: 100%; }
	.hv-stelle__foto img { height: 220px; }
	.hv-stelle__karten,
	.hv-stelle__bewerben { flex-direction: column; gap: 24px; }
	.hv-stelle-karte,
	.hv-stelle__ansprech,
	.hv-stelle__form { max-width: 100%; }

	.hv-ir-datei { padding: 20px; min-height: 0; }
	.hv-ir-datei__fuss { flex-wrap: wrap; }
	.hv-aktieninfo { flex-direction: column; }
	.hv-aktieninfo__tabelle {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
	}

	.hv-datei__mehr { width: 100%; }

	.hv-nsec--post .section_wrapper > .mcb-wrap.hv-post-spalte {
		width: 100% !important;
	}
	.hv-nsec--post blockquote,
	.hv-nsec--post .hv-post-inhalt blockquote {
		margin: 32px 0;
	}

	.hv-nsec--team .section_wrapper { row-gap: 40px; }
	.hv-nsec--team .hv-team-karte-wrap { width: 100% !important; }

	.hv-ftr-logo .logo-wrapper img { height: 48px; }

	/* -----------------------------------------------------------------
	 * Thorsten Mobil-Feedback
	 * ----------------------------------------------------------------- */

	/* Formular-Knöpfe: links und kleiner, nicht über die volle Breite. */
	.hv-newsletter__form input.wpcf7-submit,
	.hv-newsletter__form input.wpcf7-submit.hv-btn,
	.hv-form input.wpcf7-submit,
	.hv-form input.wpcf7-submit.hv-btn,
	.hv-nsec .hv-form input.wpcf7-submit.hv-btn--navy {
		width: auto;
		max-width: none;
		align-self: flex-start;
		padding: 8px 16px;
	}

	/* Checkbox an die erste Textzeile rücken. */
	.hv-form__check,
	.hv-form .wpcf7-acceptance,
	.hv-form .wpcf7-acceptance .wpcf7-list-item,
	.hv-form .wpcf7-acceptance .wpcf7-list-item label {
		align-items: flex-start;
	}
	.hv-form__check input,
	.hv-form .wpcf7-acceptance input,
	.hv-form .wpcf7-acceptance input[type="checkbox"] {
		margin-top: 0.3em;
	}

	/* Entlastung / Wachstum: Zitat kleiner, linksbündig, Logo ohne Strich. */
	.hv-nsec .hv-eh-zitat .column_attr { text-align: left; }
	.hv-eh-zitat__text {
		font-size: var(--hv-fs-copy);
		line-height: var(--hv-lh-copy);
		max-width: none;
		margin-inline: 0;
	}
	.hv-eh-zitat__quelle {
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 12px 16px;
		margin-top: 24px;
	}
	.hv-eh-zitat__person { text-align: left; }
	.hv-eh-zitat__logo {
		padding-left: 0;
		border-left: 0;
		height: 36px;
	}
	.hv-eh-zitat__logo[src*="logo-am-vermoegen"] { height: 28px; }

	/* Wachstum: Headline bleibt linksbündig (Desktop ist rechts). */
	.hv-nsec--w-praxis .hv-eh-praxis-head .title,
	.hv-nsec--w-praxis .hv-eh-praxis-head h2.title { text-align: left; }

	/* Team Karriere: Headline/Copy links. Umbruch zwischen den Worten,
	 * nicht mitten in „Karrieremöglichkeiten“. */
	.hv-nsec .section_wrapper > .mcb-wrap.hv-jobs-head,
	.hv-nsec--jobs .hv-jobs-head,
	.hv-nsec--jobs .hv-jobs-head .column_attr,
	.hv-nsec--jobs .hv-jobs-head h2.title {
		text-align: left;
		overflow: visible;
	}
	.hv-nsec--jobs { overflow: visible; }
	.hv-nsec--jobs .hv-jobs-head h2.title {
		white-space: normal;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	/* Stelle: Upload-Zeile nicht abschneiden. */
	.hv-nsec--stelle,
	.hv-stelle__form,
	.hv-datei,
	.hv-datei__zeile {
		overflow: visible;
		max-width: 100%;
	}
	.hv-datei__zeile {
		width: 100%;
		flex-wrap: wrap;
	}
	.hv-datei__name {
		min-width: 0;
		flex: 1 1 auto;
	}
	.hv-datei__mehr {
		width: 100%;
		max-width: 100%;
	}

	/* Aktuelles Medien: „Alle Anzeigen“ unter das Bild. */
	.hv-nsec--medien .hv-medien-intro,
	.hv-nsec--medien .hv-medien-intro .mcb-wrap-inner {
		display: contents;
	}
	.hv-nsec--medien .hv-medien-intro .column_heading { order: 1; }
	.hv-nsec--medien .hv-medien-intro .column_column { order: 2; }
	.hv-nsec--medien .section_wrapper > .mcb-wrap.hv-medien-liste { order: 3; }
	.hv-nsec--medien .hv-medien-intro .column_button,
	.hv-nsec--medien .hv-btn-native { order: 4; margin-top: 8px; }

	/* Termine: „Zur Website“ ans Ende der Karte, nach dem Bild. */
	.hv-nsec--termine .hv-termin--featured {
		display: flex;
		flex-direction: column;
	}
	.hv-nsec--termine .hv-termin--featured .hv-termin__inhalt {
		display: contents;
	}
	.hv-nsec--termine .hv-termin--featured .hv-termin__status { order: 1; }
	.hv-nsec--termine .hv-termin--featured .hv-termin__titel { order: 2; }
	.hv-nsec--termine .hv-termin--featured .hv-termin__text { order: 3; }
	.hv-nsec--termine .hv-termin--featured .hv-termin__media { order: 4; }
	.hv-nsec--termine .hv-termin--featured .hv-btn { order: 5; margin-top: 16px; }
	.hv-nsec--termine .hv-termin--zeile .hv-btn {
		margin-top: 12px;
		justify-self: start;
	}
}
