/*
Theme Name:        feeling Länderseiten
Theme URI:         https://www.feeling-hungary.com/
Description:       Block-Theme für die feeling-Länderseiten (IT, ES, HU). Ein Layout, je Land ein Farbschema (Entwurf 02_shared/design/entwurf-laenderseiten, 31.10.2026). Das Land ergibt sich aus der Sprache der Website.
Version:           0.4.9
Requires at least: 6.9
Requires PHP:      8.0
Author:            feeling GmbH
License:           GPL-2.0-or-later
Text Domain:       feeling-laender
*/

/* Ergänzungen, die theme.json nicht abdeckt. Farben und Schriften: theme.json. */

/* Versalzeile (Auszeichnung) */
.is-style-versal,
.feeling-versal {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 300;
	font-size: 14px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* Kopfleiste */
.feeling-kopfleiste a { text-decoration: none; }
.feeling-kopfleiste a:hover,
.feeling-kopfleiste a:focus-visible { text-decoration: underline; }
.feeling-kopfleiste [aria-current="true"] { font-weight: 700; }

/* Header: Logo mit Landeszusatz */
.feeling-logo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; text-decoration: none; color: var(--wp--preset--color--land-akzent); }
.feeling-logo img { display: block; width: 150px; height: auto; }
.feeling-logo span { font-family: var(--wp--preset--font-family--sans); font-weight: 300; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; }
.feeling-logo span.feeling-logo__zusatz { font-size: 13px; letter-spacing: .12em; text-transform: none; }

/* Kopfbereich beim Scrollen: oben fixiert (Klasse von assets/js/kopf.js), obere Leiste scrollt weg, schmaler ab 160 px */
.wp-site-blocks > header.feeling-kopf--sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--feeling-kopfleiste, 0px)); z-index: 50; }
.feeling-header { background: var(--wp--preset--color--paper); transition: padding .2s ease, box-shadow .2s ease; }
.feeling-logo img { transition: width .2s ease; }
.feeling-kopf--klein .feeling-header { padding-top: 10px !important; padding-bottom: 10px !important; box-shadow: 0 2px 12px rgba(0, 0, 0, .08); }
.feeling-kopf--klein .feeling-logo img { width: 90px; }
.feeling-kopf--klein .feeling-logo__zusatz { display: none; }
/* Kurze Sprachwahl: nur im schmalen Kopf (die obere Leiste mit der vollen Sprachwahl ist dann weggescrollt) */
.feeling-sprachen-kurz { display: none; margin: 0; font-size: 13px; }
.feeling-kopf--klein .feeling-sprachen-kurz { display: block; }
.feeling-sprachen-kurz a { display: inline-block; min-width: 24px; min-height: 24px; line-height: 24px; text-align: center; text-decoration: none; color: inherit; }
.feeling-sprachen-kurz a:hover,
.feeling-sprachen-kurz a:focus-visible { text-decoration: underline; }
.feeling-sprachen-kurz [aria-current="true"] { font-weight: 700; }
@media (max-width: 600px) {
	.feeling-kopf--klein .feeling-header .wp-block-buttons { display: none; }
	.feeling-kopf--klein .feeling-logo img { width: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	.feeling-header,
	.feeling-logo img { transition: none; }
}

/* Navigation: Versalzeile */
.feeling-header .wp-block-navigation { font-family: var(--wp--preset--font-family--sans); font-weight: 300; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; }
.feeling-header .wp-block-navigation a { text-decoration: none; }
.feeling-header .wp-block-navigation a:hover,
.feeling-header .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; }
.feeling-header .wp-block-navigation .feeling-aktiv > a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

/* Kacheln: vier nebeneinander ab 1100 px, dazwischen zwei je Reihe */
@media (min-width: 782px) and (max-width: 1099px) {
	.feeling-kacheln { flex-wrap: wrap !important; }
	.feeling-kacheln > .wp-block-column { flex: 0 0 calc(50% - 20px) !important; }
}

/* Inhaltsseiten: Zahlen, Band, Formular */
.feeling-zahl strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 40px; font-weight: 400; line-height: 1.1; color: var(--wp--preset--color--land-akzent); }
.feeling-zahl { font-family: var(--wp--preset--font-family--sans); font-weight: 300; font-size: 15px; }

/* Einstieg: Bild links, Fläche rechts, beide gleich hoch (Bild füllt die Spalte, Text mittig) */
.feeling-einstieg { gap: 0 !important; align-items: stretch !important; }
.feeling-einstieg > .wp-block-column:first-child { position: relative; min-height: 560px; }
.feeling-einstieg > .wp-block-column:last-child { display: flex; flex-direction: column; justify-content: center; }
.feeling-einstieg .wp-block-image { position: absolute; inset: 0; margin: 0; }
.feeling-einstieg .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.feeling-einstieg h1 em { font-style: italic; }

/* Kacheln: kurzer Strich in Akzentfarbe */
.feeling-kachel .wp-block-image img { width: 100%; height: 280px; object-fit: cover; display: block; }
.feeling-strich { width: 40px; height: 2px; background: var(--wp--preset--color--land-akzent); border: 0; margin: 0; }
.feeling-kachel a { text-decoration: none; }
.feeling-kachel a:hover,
.feeling-kachel a:focus-visible { text-decoration: underline; }

/* Platzhalter für Texte, die noch folgen */
.feeling-platzhalter { border-left: 2px solid var(--wp--preset--color--land-akzent); padding-left: 16px; font-family: var(--wp--preset--font-family--sans); font-size: 15px; }

/* Footer */
.feeling-footer a { color: inherit; }
.feeling-footer img { display: block; width: 130px; height: auto; }
.feeling-footer img.feeling-footer__motto { width: 240px; max-width: 100%; }
.feeling-footer__marke a { display: inline-block; }
.feeling-footer__links { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px 48px; padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid color-mix(in srgb, currentColor 35%, transparent); font-family: var(--wp--preset--font-family--sans); font-weight: 300; font-size: 15px; }
.feeling-footer__links p { margin: 0 0 10px; font-size: 13px; }
.feeling-footer__links ul { list-style: none; margin: 0; padding: 0; }
.feeling-footer__links a { text-decoration: none; }
.feeling-footer__links a:hover,
.feeling-footer__links a:focus-visible { text-decoration: underline; }
.feeling-footer__links [aria-current="true"] { font-weight: 700; }
.feeling-footer__social { display: flex; gap: 12px; }
.feeling-footer .feeling-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid currentColor; border-radius: 50%; }
.feeling-footer__social svg { display: block; }

/* Formular (Gravity Forms): Landesfarben statt Gravity-Blau. Gravity Forms setzt die Farben je Formular
   mit ID-Selektor; eigene Werte daher mit !important (gilt bei Variablen unabhängig vom Selektor). */
.feeling-formular .gform_wrapper.gform-theme {
	--gf-color-primary: var(--wp--preset--color--land-akzent) !important;
	--gf-color-primary-darker: var(--wp--preset--color--ink) !important;
	--gf-color-primary-lighter: var(--wp--preset--color--land-akzent) !important;
	--gf-color-primary-contrast: var(--wp--preset--color--paper) !important;
	--gf-ctrl-btn-radius: 0 !important;
}
.land-it .feeling-formular .gform_wrapper.gform-theme { --gf-color-primary-rgb: 63, 96, 71 !important; }
.land-hu .feeling-formular .gform_wrapper.gform-theme { --gf-color-primary-rgb: 74, 79, 114 !important; }
.land-es .feeling-formular .gform_wrapper.gform-theme { --gf-color-primary-rgb: 126, 66, 54 !important; }

/* Formular (Gravity Forms) im Kontaktbereich */
.feeling-formular { background: var(--wp--preset--color--paper-card); padding: 37px; font-family: var(--wp--preset--font-family--sans); font-size: 14px; }
.feeling-formular .gform_wrapper .gfield_label { font-weight: 700; }
.feeling-formular .gform_wrapper input[type="checkbox"] { width: 24px; height: 24px; }
.feeling-formular .gform_wrapper input[type="text"],
.feeling-formular .gform_wrapper input[type="email"],
.feeling-formular .gform_wrapper textarea { font: inherit; font-weight: 300; padding: 12px; border: 1px solid var(--wp--preset--color--rule); border-radius: 0; background: var(--wp--preset--color--white); width: 100%; }
.feeling-formular .gform_wrapper .gform_button { background: var(--wp--preset--color--land-akzent); color: var(--wp--preset--color--paper); border: 0; border-radius: 0; padding: 14px 24px; font-family: var(--wp--preset--font-family--sans); font-weight: 700; font-size: 14px; cursor: pointer; }

/* Mindestgröße für Links und Knöpfe: 24 x 24 px (WCAG 2.2 AA, 2.5.8) */
.feeling-kopfleiste a { display: inline-block; min-width: 24px; min-height: 24px; line-height: 24px; text-align: center; }
.feeling-header .wp-block-navigation a { display: inline-flex; align-items: center; min-height: 24px; }
.feeling-footer a,
.feeling-cookie-link { display: inline-block; min-height: 24px; line-height: 24px; }

/* Sichtbarer Fokus (WCAG) */
:where(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid var(--wp--preset--color--land-akzent); outline-offset: 2px; }
.feeling-kopfleiste :focus-visible,
.feeling-footer :focus-visible { outline-color: var(--wp--preset--color--paper); }

@media (max-width: 781px) {
	.feeling-einstieg > .wp-block-column:first-child { min-height: 320px; }
	.feeling-formular { padding: 24px; }
}

/* Links auf andere Websites im Inhalt: kleines Zeichen (neues Fenster, assets/js/aussen-links.js) */
main a[data-extern]:not(.wp-element-button)::after { content: "\2197"; display: inline-block; margin-left: .15em; font-size: .8em; text-decoration: none; }

/* Nur für Screenreader */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

/* Kein Abstand zwischen Header, Inhalt und Footer (Flächen stoßen aneinander) */
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }

/* Cookie-Hinweis / Zustimmung (inc/cookie-hinweis.php) */
.feeling-cookie { position: fixed; inset: auto 0 0 0; z-index: 1000; background: var(--wp--preset--color--paper-card); color: var(--wp--preset--color--ink); border-top: 2px solid var(--wp--preset--color--land-akzent); font-family: var(--wp--preset--font-family--sans); font-size: 15px; line-height: 1.5; }
.feeling-cookie[hidden] { display: none; }
.feeling-cookie__innen { max-width: 1280px; margin: 0 auto; padding: 16px clamp(16px, 4vw, 40px); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.feeling-cookie__text { margin: 0; flex: 1 1 420px; }
.feeling-cookie__text a { margin-left: .4em; }
.feeling-cookie__auswahl { flex: 1 1 100%; border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.feeling-cookie__auswahl[hidden] { display: none; }
.feeling-cookie__auswahl label { display: inline-flex; align-items: center; gap: 8px; }
.feeling-cookie__knoepfe { display: flex; flex-wrap: wrap; gap: 8px; }
.feeling-cookie__knopf { background: var(--wp--preset--color--land-akzent); color: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--land-akzent); border-radius: 0; padding: 10px 18px; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.feeling-cookie__knopf[hidden] { display: none; }
.feeling-cookie__knopf--leise { background: transparent; color: var(--wp--preset--color--land-akzent); }
.feeling-cookie__knopf:hover { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.feeling-cookie-link { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
