/*
Theme Name: FOTO BERN
Theme URI: https://foto-bern.ch
Author: Yves Schüpbach
Author URI: https://foto-bern.ch
Description: Schlankes Block-Theme für FOTO BERN – Yves Schüpbach Fotografie. Hell und clean, Island-Seiten dunkel. Cormorant Garamond und Inter, lokal eingebunden. Ohne Page-Builder, Bilder als WebP, optimiert für Google und KI-Suchen.
Version: 2.10.1
Requires at least: 6.6
Tested up to: 7.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fotobern
*/

/* ==========================================================================
   Farben
   Hell ist der Grundzustand. Dunkel gilt für ganze Seiten (Body-Klasse
   «fotobern-dunkel»: Fotoreisen Island, Galerie Island, Prints) und für
   einzelne Bereiche mit dem Blockstil «Dunkel» oder Hintergrund Nacht/Kohle.
   ========================================================================== */
:root,
.fotobern-hell {
	--fb-bg: #ffffff;
	--fb-flaeche: #f4f3f0;
	--fb-text: #161616;
	--fb-leise: #6e6d69;
	--fb-linie: #e2e0db;
	--fb-knopf: #161616;
	--fb-knopf-text: #ffffff;
	--fb-knopf-hover: #45443f;
	--fb-feld: #ffffff;
	--fb-feld-linie: #cfcdc7;
	--fb-logo-hell: none;
	--fb-logo-dunkel: block;
}
body.fotobern-dunkel,
.fotobern-dunkel,
.is-style-dunkel,
.has-nacht-background-color:not(.wp-block-navigation__responsive-container),
.has-kohle-background-color:not(.wp-block-navigation__responsive-container),
.fotobern-hero,
.wp-block-navigation__responsive-container.is-menu-open {
	--fb-bg: #0c0c0c;
	--fb-flaeche: #161616;
	--fb-text: #ecebe7;
	--fb-leise: #9d9b96;
	--fb-linie: #2b2a28;
	--fb-knopf: #ecebe7;
	--fb-knopf-text: #0c0c0c;
	--fb-knopf-hover: #bdbbb6;
	--fb-feld: #161616;
	--fb-feld-linie: #3a3936;
	--fb-logo-hell: block;
	--fb-logo-dunkel: none;
	color: var(--fb-text);
}
.fotobern-dunkel:not(body), .is-style-dunkel { background-color: var(--fb-bg); }
body.fotobern-dunkel { background-color: var(--fb-bg); }

/* Heller Bereich (Hintergrund «Hellgrau»): auf hellen Seiten zartes Grau,
   auf dunklen Seiten eine etwas hellere dunkle Fläche */
.has-papier-background-color { background-color: var(--fb-flaeche) !important; color: var(--fb-text); }

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-feature-settings: "ss01" 0; }
img { height: auto; }
.wp-site-blocks > footer, .wp-site-blocks > main { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
::selection { background: var(--fb-text); color: var(--fb-bg); }
.skip-link.screen-reader-text:focus { background: #fff; color: #161616; padding: .75rem 1rem; z-index: 1000; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ---------- Schrift ---------- */
h1, h2, h3, h4, .wp-block-heading { text-wrap: balance; font-optical-sizing: auto; }
h1 em, h2 em, h3 em, h4 em { font-style: italic; font-weight: 400; }
:is(h1, h2, h3, h4) strong { font-weight: 600; }
.is-style-normal { font-style: normal; }
p { text-wrap: pretty; }
strong { font-weight: 600; }

/* Überzeile */
.is-style-ueberzeile {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: .75rem !important;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--fb-leise);
	margin-bottom: .35rem !important;
}

/* Nebentext */
.fotobern-leise { color: var(--fb-leise); }

/* ---------- Links ---------- */
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }

/* ---------- Knöpfe ---------- */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--fb-knopf); color: var(--fb-knopf-text); }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--fb-knopf-hover); color: var(--fb-knopf-text); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--fb-text);
	border: 1px solid currentColor;
	padding: calc(.95rem - 1px) calc(1.6rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--fb-text); color: var(--fb-bg); border-color: var(--fb-text); }

/* ---------- Kopfzeile ---------- */
.wp-site-blocks > header.wp-block-template-part { background: var(--fb-bg); color: var(--fb-text); }
.fotobern-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .fotobern-header { top: var(--wp-admin--admin-bar--height, 0); }
.fotobern-marke { margin: 0; line-height: 1; }
.fotobern-marke a { text-decoration: none; color: var(--fb-text); font-family: var(--wp--preset--font-family--cormorant); font-weight: 600; letter-spacing: .12em; font-size: 1.5rem; white-space: nowrap; }
.fotobern-header .wp-block-navigation a { text-decoration: none; color: var(--fb-text); }
.fotobern-header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--fb-text); }
.fotobern-header .wp-block-navigation-item__content:hover { opacity: .65; }
.fotobern-header .current-menu-item > a { text-decoration: underline !important; text-underline-offset: .5em; }
.fotobern-header .wp-block-navigation__container { gap: 1.6rem; flex-wrap: nowrap; }
.fotobern-header .wp-block-navigation-item__content { white-space: nowrap; }
.fotobern-header .wp-block-button__link { padding: .7rem 1.1rem; font-size: .75rem; white-space: nowrap; }
.fotobern-header .wp-block-navigation__responsive-container.is-menu-open { background: #0c0c0c !important; color: #ecebe7 !important; padding-top: 4.5rem; }
.fotobern-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #ecebe7; }
.fotobern-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1.4rem; font-size: 1.125rem; }
.fotobern-header .wp-block-navigation__responsive-container-open { color: var(--fb-text); }
.fotobern-header .wp-block-navigation__responsive-container-close { color: #ecebe7; }
@media (max-width: 1200px) {
	.fotobern-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.fotobern-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
@media (max-width: 600px) { .fotobern-header .fotobern-header-knopf { display: none; } }

/* Kopfzeile über dem Titelbild (ohne Balken, immer hell auf dem Bild) */
.hat-titelbild .wp-site-blocks { position: relative; }
.hat-titelbild .wp-site-blocks > header.wp-block-template-part {
	position: absolute; top: 0; left: 0; right: 0; z-index: 50;
	background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.22) 60%, rgba(0,0,0,0) 100%);
	padding-bottom: 2.5rem;
	color: #ffffff;
	--fb-text: #ffffff;
	--fb-knopf: #ffffff;
	--fb-knopf-text: #0c0c0c;
	--fb-knopf-hover: #d9d8d3;
	--fb-logo-hell: block;
	--fb-logo-dunkel: none;
}
.hat-titelbild .fotobern-header { position: static; }
.hat-titelbild .fotobern-header .wp-block-navigation a { text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.hat-titelbild .fotobern-header .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.75); }
.hat-titelbild .fotobern-header .wp-block-button__link:hover { background: #fff !important; color: #0c0c0c !important; }
.hat-titelbild .fotobern-hero { padding-top: 7rem !important; }

/* Logo: hell auf dunklem Grund, dunkel auf hellem Grund */
.fotobern-logo { margin: 0; line-height: 0; }
.fotobern-logo img { width: auto; height: 68px; max-width: 240px; }
.fotobern-logo .fotobern-logo-hell { display: var(--fb-logo-hell, none); }
.fotobern-logo .fotobern-logo-dunkel { display: var(--fb-logo-dunkel, block); }
.fotobern-logo a:hover img { opacity: .75; }
.fotobern-logo-fuss img { height: 80px; }
.hat-titelbild .fotobern-header .fotobern-logo img { filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)) drop-shadow(0 2px 14px rgba(0,0,0,.3)); }
@media (max-width: 600px) { .fotobern-header .fotobern-logo img { height: 46px; } }

/* ---------- Titelbild ---------- */
.fotobern-hero { color: #fff; }
.fotobern-hero .wp-block-cover__inner-container { width: 100% !important; }
.fotobern-hero .wp-block-cover__inner-container > .wp-block-group { width: 100%; max-width: var(--wp--style--global--wide-size, 1320px); margin-inline: auto; }
.fotobern-hero .wp-block-cover__background {
	background: linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.38) 45%, rgba(0,0,0,0) 80%) !important;
	opacity: 1 !important;
}
.fotobern-hero h1 { color: #fff; margin: 0; line-height: .98; }
.fotobern-hero p { color: rgba(255,255,255,.88); }
.fotobern-hero .is-style-ueberzeile { color: #fff; font-weight: 600; }
/* Feiner Schatten, damit Text auch auf hellen Bildstellen lesbar bleibt */
.fotobern-hero:not(.fotobern-hero-ganz) :is(h1, p), .fotobern-hero-ganz :is(h1, p) { text-shadow: 0 1px 2px rgba(0,0,0,.35), 0 2px 18px rgba(0,0,0,.45); }
.fotobern-hero .fotobern-hero-text { max-width: 25rem; }
.fotobern-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff; color: #0c0c0c; }
.fotobern-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #d9d8d3; }
.fotobern-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.fotobern-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: #0c0c0c; border-color: #fff; }

/* Titelbild, das möglichst ganz sichtbar bleibt (Bildformat 3:2) */
.fotobern-hero-ganz { min-height: min(66.667vw, 100vh) !important; }
@media (min-width: 782px) {
	/* Alle Titelbilder gleich hoch: so hoch wie das Bild im Format 3:2, höchstens bildschirmhoch */
	.fotobern-hero, .fotobern-hero-ganz { min-height: min(66.667vw, 100vh) !important; }
}
@media (max-width: 781px) {
	/* Handy: alle Titelbilder füllen den Bildschirm, Text unten auf dem Bild. Den Ausschnitt bestimmt der Fokuspunkt im Editor. */
	.fotobern-hero, .fotobern-hero-ganz, .hat-titelbild .fotobern-hero-ganz { min-height: 100vh !important; min-height: 100svh !important; padding-top: 7rem !important; }
}
.fotobern-hero-ganz { color: #fff; }
.fotobern-hero-ganz .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff; color: #0c0c0c; }

/* ---------- Angebote (Bild + Titel + Preis) ---------- */
.fotobern-angebot figure { margin: 0 0 1rem !important; }
.fotobern-angebot figure img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.fotobern-angebot h3 { margin: 0; }
.fotobern-angebot h3 a { color: inherit; text-decoration: none; }
.fotobern-angebot h3 a:hover { opacity: .65; }
.fotobern-preis { font-size: .9375rem; color: var(--fb-leise); margin: .3rem 0 0 !important; }
.fotobern-preis strong { color: var(--fb-text); font-weight: 500; }
.fotobern-angebot p { margin-top: .5rem; }

/* ---------- Bild und Text nebeneinander ---------- */
.fotobern-split { gap: 0 !important; background: var(--fb-flaeche); }
.fotobern-split > .wp-block-column { margin: 0 !important; }
.fotobern-split figure { margin: 0 !important; height: 100%; }
.fotobern-split figure img { width: 100%; height: 100%; min-height: 26rem; object-fit: cover; display: block; }
.fotobern-split .fotobern-split-text { padding: clamp(2rem, 5vw, 3.75rem); display: flex; flex-direction: column; justify-content: center; }
.fotobern-bild-quer img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.fotobern-bild-hoch img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.fotobern-bild-breit img { aspect-ratio: 21 / 9; object-fit: cover; width: 100%; }

/* ---------- Spalten mit Zwischentitel (z. B. Firmen/Feste, Natur/Tiere): grösserer Titel ---------- */
.wp-block-columns:not(.fotobern-split) > .wp-block-column > .wp-block-group > h3.wp-block-heading:first-child {
	font-size: clamp(1.65rem, 1.2rem + 1vw, 2.125rem);
	line-height: 1.1;
	margin-bottom: .2rem;
}

/* ---------- Fakten (Fotoreise) ---------- */
.fotobern-fakten { list-style: none; padding-left: 0 !important; margin: 0; display: grid; gap: 0; font-size: .9375rem; border-top: 1px solid var(--fb-linie); }
/* Jede Zeile: Bezeichnung links, Wert rechts; umbrechender Text bleibt in seiner Spalte */
.fotobern-fakten li { display: grid; grid-template-columns: 8.5rem 1fr; column-gap: 1rem; align-items: baseline; padding: .6rem 0; border-bottom: 1px solid var(--fb-linie); line-height: 1.5; }
.fotobern-fakten strong { font-weight: 500; color: var(--fb-leise); }
@media (max-width: 600px) {
	/* Handy: Bezeichnung klein über dem Wert */
	.fotobern-fakten li { grid-template-columns: 1fr; row-gap: .15rem; padding: .7rem 0; }
	.fotobern-fakten strong { font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; }
}
.fotobern-haken { list-style: none; padding-left: 0 !important; }
.fotobern-haken li { position: relative; padding-left: 1.5rem; margin-bottom: .45rem; }
.fotobern-haken li::before { content: ""; position: absolute; left: 0; top: .8em; width: .75rem; height: 1px; background: currentColor; opacity: .6; }

/* ---------- Galerien ---------- */
.wp-block-gallery.has-nested-images figure.wp-block-image img { object-fit: cover; }
.fotobern-raster.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { aspect-ratio: 3 / 2; }
.fotobern-raster-hoch.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { aspect-ratio: 4 / 5; }
.fotobern-raster.wp-block-gallery figure.wp-block-image img, .fotobern-raster-hoch.wp-block-gallery figure.wp-block-image img { height: 100%; width: 100%; }
.wp-block-gallery figcaption { background: none !important; }
.wp-lightbox-overlay .scrim { background-color: #0a0a0a !important; }

/* Galerie-Kacheln (Übersicht) */
.fotobern-kachel figure { margin: 0 0 1rem !important; }
.fotobern-kachel figure img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; transition: opacity .2s ease; }
.fotobern-kachel h3 { font-size: clamp(1.5rem, 1.2rem + .8vw, 1.875rem) !important; }
.fotobern-kachel figure a:hover img { opacity: .85; }
.fotobern-kachel h3 { margin: 0; }
.fotobern-kachel h3 a { color: inherit; text-decoration: none; }

/* ---------- Prints ---------- */
.fotobern-print figure { margin: 0 !important; }
.fotobern-print figure img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
/* Titel unter dem Bild: gilt für jeden Absatz in der Print-Karte, auch wenn er im Editor neu geschrieben wurde */
.fotobern-print p, .fotobern-print .fotobern-print-zeile {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem;
	margin-top: 1.1rem !important;
	font-family: var(--wp--preset--font-family--cormorant) !important;
	font-size: clamp(1.25rem, 1.1rem + .35vw, 1.45rem) !important;
	font-weight: 400 !important; font-style: normal; line-height: 1.1; letter-spacing: 0;
}
.fotobern-print p :is(strong, b, em, span:first-child) { font: inherit; }
/* Preis: zweiter Teil der Zeile (klein, grau) */
.fotobern-print p span:last-child:not(:first-child) {
	font-family: var(--wp--preset--font-family--inter); font-size: .75rem; font-weight: 400;
	color: var(--fb-leise); white-space: nowrap; letter-spacing: .18em; text-transform: uppercase;
}

/* ---------- Kundenstimme ---------- */
.fotobern-stimme { margin-block: 0 !important; border-top: 1px solid var(--fb-linie) !important; padding-top: 1.75rem !important; max-width: var(--wp--style--global--wide-size, 1320px) !important; margin-inline: auto !important; }
.fotobern-stimme p, .fotobern-stimme cite { max-width: 46rem; display: block; }
.fotobern-stimme p { font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.3; font-weight: 400; }
.fotobern-stimme cite { font-style: normal; font-size: .875rem; color: var(--fb-leise); }

/* ---------- Häufige Fragen ---------- */
.wp-block-details summary { cursor: pointer; font-weight: 500; font-size: 1.0625rem; list-style: none; position: relative; padding-right: 2.5rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 300; color: var(--fb-leise); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details[open] summary { margin-bottom: .5rem; }
.wp-block-details p { color: var(--fb-leise); }

/* ---------- Fusszeile (immer dunkel) ---------- */
.fotobern-footer { color: var(--fb-leise); }
.fotobern-footer a { color: var(--fb-text); text-decoration: none; }
.fotobern-footer a:hover { text-decoration: underline; }

/* ---------- Kontaktformular ---------- */
.fotobern-formular form p { margin: 0 0 1rem; }
.fotobern-formular label { display: block; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fb-leise); margin-bottom: .4rem; }
.fotobern-formular input, .fotobern-formular select, .fotobern-formular textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem;
	color: var(--fb-text); background: var(--fb-feld);
	border: 1px solid var(--fb-feld-linie); border-radius: 0; padding: .75rem .85rem;
}
.fotobern-formular input::placeholder, .fotobern-formular textarea::placeholder { color: var(--fb-leise); opacity: .8; }
.fotobern-formular input:focus, .fotobern-formular select:focus, .fotobern-formular textarea:focus { outline: 2px solid var(--fb-text); outline-offset: 1px; border-color: var(--fb-text); }
.fotobern-formular textarea { resize: vertical; min-height: 8rem; }
.fotobern-formular-zeile { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .fotobern-formular-zeile { grid-template-columns: 1fr; gap: 0; } }
.fotobern-formular button { cursor: pointer; border: 0; }
.fotobern-formular-hinweis { font-size: .8125rem; color: var(--fb-leise); }
.fotobern-honig { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fotobern-meldung { padding: 1rem 1.25rem; margin: 0 0 1.5rem; border-left: 3px solid; }
.fotobern-meldung--ok { background: #eef5ee; border-color: #4f8a59; color: #1f3d24; }
.fotobern-meldung--fehler { background: #f8ecea; border-color: #b4574a; color: #4d1f19; }
.fotobern-dunkel .fotobern-meldung--ok { background: #1f2a20; border-color: #7fb487; color: #d8ecd9; }
.fotobern-dunkel .fotobern-meldung--fehler { background: #2d1d1b; border-color: #d98a7c; color: #f2d7d1; }

/* ---------- Kontakt-Zeile (Mail, Telefon, WhatsApp) ---------- */
.fotobern-kontaktdaten { font-size: 1.125rem; line-height: 1.8; }
.fotobern-kontaktdaten a { color: var(--fb-text); text-decoration: none; border-bottom: 1px solid var(--fb-feld-linie); }
.fotobern-kontaktdaten a:hover { border-color: var(--fb-text); }

/* ---------- Kleine Bildschirme ---------- */
@media (max-width: 781px) {
	/* Handy: Bild im ganzen Querformat zeigen statt seitlich abschneiden */
	.fotobern-split figure img { min-height: 0; height: auto; aspect-ratio: 3 / 2; }
	/* Bild-Text-Blöcke: auf dem Handy immer zuerst das Bild, dann der Text */
	.fotobern-split > .wp-block-column:has(> .wp-block-image, > figure) { order: -1; }
}

/* ---------- Tabellen (Prints) ---------- */
.wp-block-table table { border-collapse: collapse; font-size: .9375rem; }
.wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--fb-linie); padding: .7rem .5rem .7rem 0; text-align: left; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table th { font-weight: 500; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fb-leise); }

/* ---------- Gutschein-Bestellung ---------- */
.fotobern-gutschein fieldset { border: 0; padding: 0; margin: 0 0 1.25rem; }
.fotobern-gutschein legend { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fb-leise); margin-bottom: .6rem; padding: 0; }
.fotobern-gutschein-arten { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
@media (max-width: 600px) { .fotobern-gutschein-arten { grid-template-columns: 1fr; } }
.fotobern-gutschein .fotobern-gutschein-art { display: flex; flex-direction: column; gap: .2rem; margin: 0; padding: 1rem 1rem 1rem 2.6rem; position: relative; cursor: pointer; border: 1px solid var(--fb-feld-linie); background: var(--fb-feld); text-transform: none; letter-spacing: 0; font-size: 1rem; color: var(--fb-text); }
.fotobern-gutschein .fotobern-gutschein-art input { position: absolute; left: 1rem; top: 1.2rem; width: auto; margin: 0; accent-color: var(--fb-text); }
.fotobern-gutschein-art:has(input:checked) { border-color: var(--fb-text); box-shadow: inset 0 0 0 1px var(--fb-text); }
.fotobern-gutschein-titel { font-weight: 500; line-height: 1.3; }
.fotobern-gutschein-preis { font-size: .875rem; color: var(--fb-leise); }
.fotobern-gutschein-betrag { display: none; }
.fotobern-gutschein:has(input[value="betrag"]:checked) .fotobern-gutschein-betrag { display: block; }
.fotobern-formular-abschnitt { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.5rem; line-height: 1.2; margin: 1.75rem 0 1rem !important; }

/* ---------- Bild ganz zeigen (z. B. Hochformat bei «Mein Stil») ---------- */
:is(.fotobern-bild-unten, .fotobern-bild-ganz) .fotobern-split figure img { height: auto; min-height: 0; aspect-ratio: auto; }
:is(.fotobern-bild-unten, .fotobern-bild-ganz) .fotobern-split { align-items: center !important; }
@media (max-width: 781px) {
	.fotobern-bild-unten .fotobern-split > .wp-block-column:has(> .wp-block-image, > figure) { order: 1; }
}

/* ---------- Grossansicht (Lightbox) auf Handy und Tablet: Bild so gross wie möglich ---------- */
@media (hover: none) and (pointer: coarse) {
	.wp-lightbox-overlay .lightbox-image-container { width: 100vw !important; height: 100vh !important; height: 100dvh !important; }
	.wp-lightbox-overlay .wp-block-image img { width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; object-fit: contain !important; }
	.wp-lightbox-overlay .wp-lightbox-close-button, .wp-lightbox-overlay .wp-lightbox-navigation-button-prev, .wp-lightbox-overlay .wp-lightbox-navigation-button-next { filter: drop-shadow(0 0 4px rgba(0,0,0,.8)); }
}
