/* === Desktop-Anpassungen (ab 783px) === */
@media screen and (min-width: 783px) {

			/* --- Galerie 3 Spalten (nur im SiteOrigin-Editor-Block mit deiner Klasse) --- */
			.wp-block-siteorigin-widget.dogs-gallery-3cols .gallery .gallery-item {
				float: left !important;
				width: 33.333% !important;
				margin: 0 0 1rem 0 !important;
				clear: none !important;
			}
			.wp-block-siteorigin-widget.dogs-gallery-3cols .gallery::after {
				content: ""; display: block; clear: both;
			}

			/* Falls statt klassischer Galerie ein SiteOrigin Image Grid drin ist */
			.wp-block-siteorigin-widget.dogs-gallery-3cols .sow-image-grid .sow-image-grid-images {
				display: flex; flex-wrap: wrap; margin: 0 -8px;
			}
			.wp-block-siteorigin-widget.dogs-gallery-3cols .sow-image-grid .sow-image-grid-image {
				width: 33.333% !important; padding: 0 8px 16px; box-sizing: border-box;
			}

			/* --- Tabellen Desktop-Reset --- */
			.entry-content table,
			.so-panel table {
				width: auto;                 /* überschreibt evtl. width:100% */
				table-layout: auto;          /* natürliche Spaltenbreite */
				border-collapse: collapse;
				border-radius: 0;
				overflow: visible;
				margin: 0 0 1rem 0;
			}

			/* Steckbrief-Tabellen: kein Umbruch in allen Zellen */
			.entry-content table th,
			.entry-content table td,
			.so-panel table th,
			.so-panel table td {
				white-space: nowrap;
				word-break: normal;
				overflow-wrap: normal;
				hyphens: manual;
			}

			/* Falls im Inhalt  benutzt wurde: auf Desktop ausblenden */
			.entry-content table br,
			.so-panel table br { display: none; }


			/* Zeilen & Zellen klassisch */
			.entry-content table tr,
			.so-panel table tr {
				display: table-row;
				border-bottom: none;
			}
			.entry-content table th,
			.entry-content table td,
			.so-panel table th,
			.so-panel table td {
				display: table-cell;
				font-size: 15px;             /* angenehm lesbar */
				line-height: 1.5;
				vertical-align: top;
				word-break: normal;
				white-space: nowrap;         /* kein Umbruch in Zellen */
				overflow-wrap: normal;
				hyphens: manual;
			}

			/* Steckbrief-Layout: linke Spalte fix, rechte flexibel + mehr Abstand */
			.entry-content table tr > :first-child,
			.so-panel table tr > :first-child {
				width: 220px;                /* Label-Spaltenbreite */
				white-space: nowrap;
				font-weight: 700;
				color: #333;
				padding-right: 28px;         /* mehr Abstand zur Wert-Spalte */
			}
			.entry-content table tr > :nth-child(2),
			.so-panel table tr > :nth-child(2) {
				width: auto;
			}

			/* Dezente Zeilentrenner */
			.entry-content table tr + tr td,
			.so-panel table tr + tr td {
				border-top: 1px solid #e8d7c2;
			}

			/* Absätze in Zellen: kein zusätzlicher Abstand */
			.entry-content table td p,
			.so-panel table td p { margin: 0; }

			/* Falls im Inhalt  benutzt wurde: auf Desktop ausblenden */
			.entry-content table br,
			.so-panel table br { display: none; }

		@media screen and (min-width: 783px) {
			/* Mehr Abstand + breitere Label-Spalte, mit hoher Spezifität */
			.entry-content table tr > th:first-child,
			.entry-content table tr > td:first-child,
			.so-panel table tr > th:first-child,
			.so-panel table tr > td:first-child {
				padding-right: 40px !important;  /* Abstand zwischen Spalten */
				width: 260px !important;          /* Label-Spaltenbreite */
			}

			/* optional: rechte Spalte noch etwas abrücken */
			.entry-content table tr > th:nth-child(2),
			.entry-content table tr > td:nth-child(2),
			.so-panel table tr > th:nth-child(2),
			.so-panel table tr > td:nth-child(2) {
				padding-left: 6px !important;
			}
		}
		}



/* ===== Sticky Header ===== */

		/* 1) Block-Theme/FSE erlaubt sticky überhaupt erst */
		.wp-site-blocks,
		header.wp-block-template-part,
		header.wp-block-template-part > .wp-block-group {
			overflow: visible !important;
		}

		/* 2) Sticky aktivieren – zwei mögliche Haken (beide erlauben, einer greift sicher) */
		header.wp-block-template-part {
			position: sticky !important;
			top: 0;
			z-index: 9999;
			background: #F4DDC2;
		}

		/* falls das  selbst nicht der sichtbare Balken ist, kleben wir den inneren Container */
		.nfd-wb-header__header-11 {
			position: sticky !important;
			top: 0;
			z-index: 9999;
			background: #F4DDC2;
			transition: background 0.3s ease;
		}

		/* 3) Eingeloggt: Admin-Leiste berücksichtigen (öffentlich unsichtbar) */
		body.admin-bar header.wp-block-template-part,
		body.admin-bar .nfd-wb-header__header-11 { top: 32px; }

		@media (max-width: 782px) {
			body.admin-bar header.wp-block-template-part,
			body.admin-bar .nfd-wb-header__header-11 { top: 46px; }
		}

		/* 4) Sicherheit: kein transform, der sticky killt */
		.wp-site-blocks,
		header.wp-block-template-part,
		.nfd-wb-header__header-11 {
			transform: none !important;
		}



/* === Mobile Anpassungen === */
				/* === Mobile Typografie (bis 768px) === */
				@media screen and (max-width: 768px) {

					/* Absätze & Listen */
					.entry-content p,
					.entry-content li {
						font-size: 14px !important;
						line-height: 1.5 !important;
					}

					/* Überschriften */
					.entry-content h1 { font-size: 20px !important; line-height: 1.25 !important; }
					.entry-content h2 { font-size: 17px !important; line-height: 1.3 !important; }
					.entry-content h3 { font-size: 15px !important; line-height: 1.35 !important; }

					/* Listen-Einzug (falls zu eng) */
					.entry-content ul,
					.entry-content ol { margin-left: 1.2em; }
				}

				/* === SiteOrigin Image Grid – mobil (bis 782px) === */
						@media screen and (max-width: 782px) {
							.sow-image-grid .sow-image-grid-images {
								display: flex;
								flex-wrap: wrap;
								margin-left: -6px; 
								margin-right: -6px;
							}
							.sow-image-grid .sow-image-grid-image {
								width: 50%;
								padding: 6px;
								box-sizing: border-box;
							}
							.sow-image-grid .sow-image-grid-image img {
								display: block;
								width: 100%;
								height: auto;
								border-radius: 6px;
							}
							.sow-image-grid .sow-image-grid-image .sow-image-grid-caption,
							.sow-image-grid .sow-image-grid-image figcaption {
								font-size: 12px !important;
								line-height: 1.4 !important;
								padding: 6px 4px;
							}
						}

						/* === Klassische WP-Galerie – mobil (bis 782px) === */
						@media screen and (max-width: 782px) {
							.so-panel .gallery,
							.entry-content .gallery,
							.gallery {
								margin-left: -6px;
								margin-right: -6px;
							}

							.so-panel .gallery .gallery-item,
							.entry-content .gallery .gallery-item,
							.gallery .gallery-item {
								width: 50% !important;
								max-width: none !important;
								padding: 6px;
								box-sizing: border-box;
								float: left;
								margin: 0;
								clear: none;
							}

							.gallery .gallery-item img {
								display: block;
								width: 100%;
								height: auto;
								border-radius: 6px;
							}

							.gallery .gallery-caption {
								font-size: 13px !important;
								line-height: 1.4 !important;
								padding: 6px 4px;
							}

							.gallery::after { content: ""; display: block; clear: both; }
						}

						/* Mini-Phones: eine Spalte */
						@media screen and (max-width: 360px) {
							.gallery .gallery-item { width: 100% !important; }
				}


						/* === Tabellen im Content – mobil (bis 782px) === */
						@media screen and (max-width: 782px) {
							.so-panel table,
							.entry-content table {
								width: 100% !important;
								margin: 0 !important;
								border-collapse: collapse !important;
								table-layout: fixed;
								border-radius: 14px;
								overflow: hidden;
							}

							.so-panel table tr,
							.entry-content table tr {
								display: table-row;
								border-bottom: 1px solid #eee;
							}
							.so-panel table tr:last-child,
							.entry-content table tr:last-child { border-bottom: 0; }

							.so-panel table th,
							.entry-content table th,
							.so-panel table td,
							.entry-content table td {
								display: table-cell;
								padding: 10px 12px !important;
								font-size: 13px !important;
								line-height: 1.5 !important;
								vertical-align: top;
								word-break: break-word;
							}

				
							/* Nur die 1. Zelle der 5. Zeile darf umbrechen */
							.entry-content table tr:nth-child(5) > :first-child,
							.so-panel table tr:nth-child(5) > :first-child {
								white-space: normal !important;
								word-break: normal;
								overflow-wrap: anywhere;   /* erlaubt Umbruch */
								hyphens: auto;
								overflow: visible;         /* Ellipsis/Clipping aufheben */
								text-overflow: clip;
							}
						}

						/* Label- und Wert-Spaltenbreite + Label-Styling (KEIN Umbruch in Spalte 1) */
							.so-panel table tr > :first-child,
							.entry-content table tr > :first-child {
								width: 38%;
								font-weight: 700 !important;
								color: #333;
								opacity: 0.95;
								padding-bottom: 4px !important;

								white-space: nowrap;           /* keine Zeilenumbrüche */
								word-break: normal;            /* überschreibt break-word oben */
								overflow-wrap: normal;
								hyphens: manual;
								overflow: hidden;              /* lange Labels beschneiden … */
								text-overflow: ellipsis;       /* … und mit … anzeigen */
							
						}

						/* Sehr kleine Geräte: noch kleinerer Tabellen-Text */
						@media screen and (max-width: 360px) {
							.so-panel table td,
							.entry-content table td { font-size: 12px !important; }
						}


			/* ===== Header ===== */
								/* Mobile Tweaks */
								@media (max-width: 600px) {

									/* 3-Spalten-Layout: Logo | Burger/Nav | CTA */
									header.nfd-wb-header__header-11 .nfd-py-sm.nfd-gap-2xl {
										display: grid !important;
										grid-template-columns: auto 1fr auto;
										align-items: center;
										gap: .5rem;
										padding-block: .45rem;
										}

									/* Logo kleiner */
									header.nfd-wb-header__header-11 .wp-block-site-logo img {
										max-width: 120px !important;
										height: auto;
									}

									/* Nav (Burger) links ausrichten */
									header.nfd-wb-header__header-11 .wp-block-navigation {
										justify-self: start;
									}

									/* Burger-Menü: Innenabstände, wenn geöffnet */
									header.nfd-wb-header__header-11
									.wp-block-navigation__responsive-container.is-menu-open {
										padding: .75rem 1rem 1rem;
									}

									/* CTA-Button schlanker und nicht „wide“ */
									header.nfd-wb-header__header-11 .wp-block-buttons .nfd-btn-wide {
										width: auto;
									}
									header.nfd-wb-header__header-11 .wp-block-buttons .wp-block-button__link {
										padding: .4rem .6rem;
										font-size: .9rem;
										line-height: 1;
										border-radius: 999px;
									}

									/* Trennlinie unter dem Header auf Mobile ausblenden */
									header.nfd-wb-header__header-11 .wp-block-separator {
										display: none;
									}
								}

								/* ===== Dogsouls: Right MINI Drawer — FINAL pixel-push ===== */

								@media (max-width: 600px) {
									/* 1) Erzwinge exakten linken Rand der Schublade */
									.wp-block-navigation__responsive-container {
										left: auto !important;      /* nie links binden */
										right: 0 !important;        /* bündig rechts */
										transform: translateX(100%) !important; /* Start komplett draußen */
									}
									.wp-block-navigation__responsive-container.is-menu-open {
										transform: translateX(0) !important;
									}

									/* 2) Safe-areas (iPhone Notch etc.) beachten + mehr linker Innenabstand */
									.wp-block-navigation__responsive-container {
										padding-left: max(26px, env(safe-area-inset-left, 0px)) !important;
										padding-right: max(24px, env(safe-area-inset-right, 0px)) !important;
									}

									/* 3) Links mit zusätzlichem Einzug, klare Trennlinien */
									.wp-block-navigation__responsive-container .wp-block-navigation__container a {
										padding-left: 12px !important; /* + Einzug für Text */
									}
									.wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item {
										border-bottom: 1px solid rgba(0,0,0,.10) !important;
									}

									/* 4) Optional: sichtbare linke Kante (falls noch Durchscheinen) */
									.wp-block-navigation__responsive-container { border-left: 3px solid rgba(0,0,0,.18) !important; }

									/* 5) Backdrop deckt Seitenrand zuverlässig ab */
									body:after { left: 0 !important; }
			
										/* Pane-Hintergrund auf #a33c35 und Text/Links kontrastreich */
										.wp-block-navigation__responsive-container {
										background: #a33c35 !important; /* Pane-Farbe */
										color: #fff !important; /* Grundschriftfarbe */
										border-left: none !important;
										box-shadow: -18px 0 28px rgba(0,0,0,.25) !important;
										}
										.wp-block-navigation__responsive-container .wp-block-navigation__container a {
										color: #fff !important; /* Linkfarbe */
										}
										.wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item {
										border-bottom: 1px solid rgba(255,255,255,.25) !important; /* helle Trennlinien */
										}
										/* Close-Icon auf hell */
										.wp-block-navigation__responsive-close svg { stroke: #fff !important; fill: none !important; }
										/* Hamburger-Button-Rahmen etwas heller auf dunklem Hintergrund */
										header.nfd-wb-header__header-11 .wp-block-navigation__responsive-container-open {
										border-color: rgba(255,255,255,.75) !important;
										background: rgba(255,255,255,.06) !important;
										}
										}


/* ===== TABLET (600px–1024px) =====
	Ziel: Auf Tablets wieder klassisches Layout: Logo links, Navigation mittig/links, CTA rechts.
	Dieser Block überschreibt NUR den Tablet-Bereich und macht Mobile-Regeln rückgängig. */

				/* ===== Tablet kleinere Schrift & mehr Luft (600–1024px) ===== */
				@media (min-width: 601px) and (max-width: 1024px) {
				/* Schrift der Navigationslinks leicht verkleinern */
				header.nfd-wb-header__header-11 .wp-block-navigation a {
				font-size: 0.95rem; /* ~15.2px bei 16px root; anpassen: 0.9–1.0 */
				line-height: 1.2;
				}
				/* Abstand zwischen Items reduzieren, damit alles in eine Zeile passt */
				header.nfd-wb-header__header-11 .wp-block-navigation .wp-block-navigation-item {
				margin-right: 1rem; /* vorher vermutlich größer */
				}
				/* Letztes Item ohne extra Margin rechts */
				header.nfd-wb-header__header-11 .wp-block-navigation .wp-block-navigation-item:last-child {
				margin-right: 0;
				}
				/* Leicht engerer Innenabstand der Nav-Leiste (falls eine Gruppe drumherum) */
				header.nfd-wb-header__header-11 .wp-block-group.nfd-gap-2xl { gap: 1rem; }


				/* CTA-Button minimal kleiner, damit Platz bleibt */
				header.nfd-wb-header__header-11 .wp-block-buttons .wp-block-button__link {
				padding: .5rem .85rem; font-size: 0.95rem; line-height: 1; border-radius: 999px;
				}
				}


/* ===== Startseite ===== */
/*Ziel: In der Kategorien-Zeile (4 Spalten) auf Smartphone 2 Spalten,
Klassen definiert, css-codes in zeilen & spalten. */
	
	/* Smartphone */
	@media (max-width: 782px) {
		/* Kategorien */
						/* Testrahmen */
						/*#home-categories-row { outline: 2px solid deeppink !important; }*/
						
							/* Zeile als 2-Spalten-Grid */
							#home-categories-row,
							#home-categories-row.panel-grid,
							#home-categories-row .panel-row-style {
								display: grid !important;
								grid-template-columns: 1fr 1fr !important;
								column-gap: 14px !important;
								row-gap: 10px !important;
								align-items: start !important;
							}

							/* SiteOrigin-Floats/Breiten neutralisieren */
							#home-categories-row .panel-grid-cell.home-cat,
							#home-categories-row .panel-grid-cell.home-cat > .panel-cell-style,
							#home-categories-row .panel-grid-cell.home-cat > .panel-cell-style > .panel-widget-style {
								width: auto !important;
								max-width: 100% !important;
								float: none !important;
								margin: 0 !important;
								box-sizing: border-box !important;
							}

							/* Bildhöhe + gleich hoher Titelblock (2 Zeilen Reserve) */
							#home-categories-row .widget_siteorigin-image img {
								display: block;
								width: 100%;
								height: 160px;               /* bei Bedarf 140/180 testen */
								object-fit: cover;
								border-radius: 12px 12px 0 0;
							}
							#home-categories-row .so-panel.widget_siteorigin-editor .widget-title {
								line-height: 1.25;
								min-height: calc(1.25em * 2);
								margin: 6px 0 4px !important;
							}
							#home-categories-row .so-panel.widget_siteorigin-editor .textwidget p:first-child {
								margin-top: 0 !important;
							}

							/* Kartenoptik (falls gewünscht) */
							#home-categories-row .widget_siteorigin-editor {
								padding: 8px 10px 16px;
								background: rgba(255,255,255,0.3);
								border-radius: 0 0 12px 12px;
							}
			
	
		/* Hunde & Posts */		
							/* Grid sorgt für 2 Spalten auf Desktop, 1 auf Mobile, 2 auf Tablet */
							#home-carousels,
							#home-carousels.panel-grid,
							#home-carousels .panel-row-style {
									display: grid !important;
									grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
									gap: 24px !important;
									align-items: start !important;
								}

							/* Spalten auf volle Breite zwingen */
							#home-carousels .panel-grid-cell,
							#home-carousels .panel-grid-cell > .panel-cell-style,
							#home-carousels .panel-grid-cell > .panel-cell-style > .panel-widget-style {
									width: 100% !important;
									max-width: 100% !important;
									float: none !important;
									margin: 0 !important;
									box-sizing: border-box !important;
								}

							/* Abstand zwischen Überschrift und Carousel kleiner */
							#home-carousels .so-panel .widget-title {
									margin-bottom: 6px !important;
								}

							/* Buttons (Pfeile) angleichen – optisch mittig */
							#home-carousels .sow-carousel-next,
							#home-carousels .sow-carousel-previous {
									top: 8px !important;
									transform: none !important;
								}

							/* Mobile Kompaktmodus */
							#home-carousels {
										gap: 14px !important;
									}
							#home-carousels .so-panel .widget-title {
							font-size: 1.1rem !important;
							margin-bottom: 4px !important;
							}

		/* Call 2 Action */		

						/* Testrahmen – kurz aktiv lassen: sollte das Features-Widget umranden */
						/*.home-features-widget { outline: 1px dashed deeppink !important; } */

						/* MOBILE: 3 Spalten erzwingen */
								.home-features-widget .sow-features-list {
								display: grid !important;
								grid-template-columns: repeat(3, 1fr) !important;
								column-gap: 12px !important;
								row-gap: 10px !important;
								margin: 0 !important;
							}
							.home-features-widget .sow-features-feature {
								width: 100% !important;
								float: none !important;
								margin: 0 !important;
								padding: 6px 4px 8px;
								box-sizing: border-box;
								text-align: center;
							}

							/* kompaktere Typo für 3-Spalten-Mobile */
							.home-features-widget .sow-features-feature .sow-title,
							.home-features-widget .sow-features-feature h5 {
								font-size: 13.5px;
								line-height: 1.2;
								min-height: calc(1.2em * 2);
								margin: 4px 0 2px !important;
							}
							.home-features-widget .sow-features-feature p {
								font-size: 12.5px;
								line-height: 1.35;
								margin: 0 !important;
							}
							/* Beschreibung unter dem Titel ausblenden */
							.home-features-widget .sow-features-feature p { 
								display: none !important; 
							}

							/* Titel kompakt (eine Zeile reicht meist) */
							.home-features-widget .sow-features-feature .sow-title,
							.home-features-widget .sow-features-feature h5 {
								font-size: 13px;
								line-height: 1.2;
								min-height: auto;             /* Reservehöhe entfernen */
								margin: 4px 0 0 !important;
								white-space: nowrap;
								overflow: hidden;
								text-overflow: ellipsis;      /* falls mal länger */
								text-align: center;
							}

							/* 3 Spalten + kleinere Icons für mehr Luft */
							.home-features-widget .sow-features-list {
								display: grid !important;
								grid-template-columns: repeat(3, 1fr) !important;
								column-gap: 10px !important;
								row-gap: 10px !important;
								align-items: start;
							}
							#home-features { --icon-size-m: 48px; }          /* vorher z.B. 52/64 */
							#home-features .sow-icon-container { margin-bottom: 6px !important; }
						}

/* Teamseite */
/* Titel aller Widgets mit Klasse white-title */
.white-title .widget-title {
  color: #fff !important;
}