/*
 Theme Name:   refkirchebuelach
 Theme URI:    https://www.picture-planet.ch/pig-prect
 Author:       Picture-Planet GmbH
 Author URI:   https://www.picture-planet.ch/
 Description:  Child theme of GeneratePress
 Template:     generatepress
 Version:      3.0.4
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  refkirchebuelach

*/


/* --------------------------------------------------------
  Fonts
-------------------------------------------------------- */
@font-face {
  font-family: 'General Sans Variable';
  src: url('/wp-content/themes/refkirchebuelach/fonts/GeneralSans-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'General Sans Variable';
  src: url('/wp-content/themes/refkirchebuelach/fonts/GeneralSans-VariableItalic.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Sofia Sans';
  src: url('/wp-content/themes/refkirchebuelach/fonts/SofiaSans-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sofia Sans';
  src: url('/wp-content/themes/refkirchebuelach/fonts/SofiaSans-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* --------------------------------------------------------
  Variables
-------------------------------------------------------- */
:root {
  /* Accents with opacity */
  --color-accent: #0079BC;
  /* base */
  --color-accent-15: #D9EBF5;
  /* 15% opacity */
  --color-accent-5: #F2F8FC;
  /* 5% opacity */

  /* Shades */
  --color-shade-1: #33B8FF;
  --color-shade-2: #85D4FF;

  /* Agenda / Category Colors */
  --color-agenda-1: #0079BC;
  --color-agenda-2: #EB9A6E;

  /* Buttons / Links */
  --color-btn-primary: #009FF5;

  /* Space / Margins / Paddings */
  --space-big: 2em;
  --space-normal: 1em;
  --space-small: 0.5em;
  --space-mini: 0.25em;

  /* Fonts */
  --font-title: 'General Sans Variable', sans-serif;
  --font-body: 'General Sans Variable', sans-serif;
  --font-highlight: 'Sofia Sans', sans-serif;

  /* Border Radius */
  --radius-big: 24px;
  --radius-normal: 12px;
  --radius-small: 6px;

  /* Default (In case JS don't work) */
  --nav-left: 0px;
}

/* --------------------------------------------------------
  General
-------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  scroll-behavior: auto;
  /* for instant jump */
  font-size: 100%;
  overflow-x: hidden;
}

/* --------------------------------------------------------
  Texts Body & Headings
-------------------------------------------------------- */
/* Body */
body {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3em;
}

p {
  line-height: 1.5;
  margin-bottom: var(--space-normal);
}

b,
strong {
  font-weight: 600;
}

.site-footer p {
  margin-bottom: 0;
}

.box-flush p {
  margin-bottom: var(--space-small);
}

body ::selection,
.verowa-form ::selection {
  background: var(--color-shade-2) !important;
  color: black !important;
}


/* Headings */
h1,
h2,
h3,
h4 {
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

h1 {
  font-family: var(--font-title);
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  font-weight: 500;
  font-style: normal;
  line-height: 1em;
}

h2 {
  font-family: var(--font-title);
  font-size: clamp(2rem, 3vw, 3em);
  font-weight: 600;
  line-height: 1em;
  margin-bottom: 0;
}

h3 {
  font-family: var(--font-title);
  font-size: clamp(1.3em, 2.5vw, 1.6em);
  font-weight: 600;
  line-height: 1.2em;
  margin-bottom: 0;
}

h4,
.title-highlight,
.team-carousel .kt-blocks-above-categories,
.post-template-default time.entry-date.published {
  font-family: var(--font-highlight);
  font-size: clamp(1em, 2vw, 1.1em);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.testimonials em {
  font-style: italic;
  font-size: 1.2em !important;
  line-height: 1.5;
}


/* Custom heading styles */
.h3-event {
  font-family: var(--font-highlight);
  font-size: 1.6em;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Lists */
ul.wp-block-list {
  margin: 0 0 var(--space-normal) var(--space-big);
}

ul.wp-block-list li {
  margin: var(--space-mini) 0;
}

/* Basic anchor links */
a {
  cursor: pointer !important;
  text-decoration: none;
}

/* Links */
p a,
ul.wp-block-list li a,
.infobox a,
a.next span.next-text,
a.prev span.prev-text {
  color: var(--color-btn-primary) !important;
  text-decoration: underline !important;
  transition: color 0.1s ease-in-out;
  text-decoration: underline !important;
  cursor: pointer;
}

p a:hover,
ul.wp-block-list li a:hover,
.infobox a:hover,
a.next span.next-text:hover,
a.prev span.prev-text:hover {
  color: var(--color-accent) !important;
}

/* Links */
.links,
.links-icon-left {
  font-size: 1.2em;
  line-height: 1.2 !important;
  font-weight: 600;
  color: var(--color-btn-primary);
  margin: var(--space-normal) 0;
  text-decoration: none;
  display: flex;
  padding: 0 !important;
  margin: 0 !important;
  align-items: baseline;
  overflow-wrap: break-word;
  hyphens: auto;
}

.links:hover,
.links-icon-left:hover {
  color: var(--color-accent);
}

.links svg {
  display: inline-block;
  transition: transform 200ms cubic-bezier(0.55, 0.085, 0.68, 0.53),
    opacity 150ms linear;
}

.links:hover svg,
.title-highlight:hover svg {
  transform: translate3d(5px, 0, 0);
}

.links-icon-left svg {
  display: inline-block;
  transition: transform 200ms cubic-bezier(0.55, 0.085, 0.68, 0.53),
    opacity 150ms linear;
}

.links-icon-left:hover svg {
  transform: translate3d(-5px, 0, 0);
}

.mail-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-mini);
  margin-bottom: var(--space-mini);
}

.mail-link h4 {
  text-decoration: underline !important;
  margin: 0;
}

.mail-link h4::after {
  display: inline-block;
  text-decoration: none;
}

/* Links with PDF*/
a[href$=".pdf"]::before {
  content: "\f1c1";
  display: inline-block;
  font-family: "FontAwesome";
  font-weight: 400;
  font-size: 0.9em;
  margin: 0 var(--space-mini);
}

/* Links with external link icon*/
a[target="_blank"]:not([href$=".pdf"])::after {
  font-family: "FontAwesome";
  content: "\e09f";
  font-weight: 300;
  display: inline-block;
  margin-right: 0.3em;
  margin-left: var(--space-mini);
  font-size: 1em;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

a:hover[target="_blank"]:not([href$=".pdf"])::after {
  transform: translate3d(5px, 0, 0);
}

.team-email {
  text-decoration: underline;
}

.team-email::after {
  font-family: "FontAwesome";
  content: "\e09f";
  font-weight: 300;
  display: inline-flex !important;
  margin-right: 0.3em;
  margin-left: var(--space-mini);
  font-size: 1em;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

.team-email:hover::after {
  transform: translate3d(5px, 0, 0);
  color: var(--color-accent) !important;
}

a.kb-advanced-heading-link .mail-link {
  display: inline-flex !important;
}

.box-flush .links {
  margin: 0;
  padding: 0;
}

.box-cta {
  font-weight: 500;
  font-size: 1.2em;
}

.box-cta a {
  color: white !important;
}

.box-cta a:hover {
  color: var(--color-accent-15) !important;
}

/* Buttons */
.kb-button,
.btn,
.button,
.back-link.button,
.back,
.search.search-results .post-type.page button.search-toggle-button.page-toggle-button,
.search.search-results .verowa_event-toggle-button,
.search.search-results .verowa_person-toggle-button,
.wpcf7-submit,
.verowa-submit-wrapper input#verowa_renting_form_submit {
  padding: var(--space-normal) var(--space-big) !important;
  background: var(--color-btn-primary) !important;
  border-radius: var(--radius-big);
  line-height: 1.5;
  font-family: var(--font-title);
  font-weight: 600;
  font-size: 1.1em !important;
  letter-spacing: 0.02 !important;
  border-radius: var(--radius-big) !important;
  transition: background-color 0.1s ease-in-out;
}

.search.search-results .post-type.page button.search-toggle-button.page-toggle-button,
.search.search-results .verowa_event-toggle-button {
  margin: var(--space-small) 0;
}

.back-link.button,
.back {
  padding: var(--space-normal) var(--space-normal) !important;
  display: flex;
  flex-direction: row;
  gap: var(--space-small);
  width: fit-content;
  margin-top: var(--space-small) !important;
}

.back-link.button::before,
.back::before {
  font-family: "FontAwesome";
  font-weight: 300;
  content: "\f060";
  margin-left: var(--space-small);
}

.back-link.button:hover::before,
.back:hover::before {
  transform: translate3d(-5px, 0, 0);
  transition: transform 200ms cubic-bezier(0.55, 0.085, 0.68, 0.53),
    opacity 150ms linear;
}

a#ppg_theme_back_link.back-link.button {
  clear: both;
}

.kb-button:hover,
.btn:hover,
.button:hover,
.back-link.button:hover,
.back:hover,
.search.search-results .post-type.page button.search-toggle-button.page-toggle-button:hover,
.search.search-results .verowa_event-toggle-button:hover,
.search.search-results .verowa_person-toggle-button:hover,
.wpcf7-submit:hover,
.verowa-submit-wrapper input#verowa_renting_form_submit:hover {
  background: var(--color-accent) !important;
}

.kb-button span.kt-btn-inner-text {
  text-align: left;
  line-height: 1.2em;
}

.kb-button:hover span.kb-svg-icon-wrap {
  transform: translate3d(5px, 0, 0);
  transition: transform 200ms cubic-bezier(0.55, 0.085, 0.68, 0.53),
    opacity 150ms linear;
}

/* tabs */
.kt-tabs-wrap .wp-block-kadence-tab {
  padding: 0 !important;
}

.tabs a.kt-tab-title {
  background-color: white !important;
  border: 1px solid black !important;
  font-family: var(--font-body);
  text-decoration: none;
  font-size: calc(0.9rem + 0.3vw) !important;
  font-weight: 600 !important;
  letter-spacing: 2%;
  color: black !important;
  border-radius: 12px !important;
  padding: var(--space-small) !important;
}

.tabs a.kt-tab-title:hover,
.tabs a.kt-tab-title.selected {
  background: black !important;
  color: white !important;
}

.wp-block-kadence-tabs .kt-tabs-id142_d2112b-0f .kt-tabs-title-list li {
  margin-top: var(--space-normal) !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
}

.wp-block-kadence-tabs li.kt-tab-title-active .kt-tab-title {
  background: black !important;
  color: white !important;
}

/* Breadcrumb */
/* !!!Important: Blocks click on main item menu in the Breadcrumb */
.fbc-items a[href$="/gemeindeleben/"],
.fbc-items a[href$="/rituale-des-lebens/"],
.fbc-items a[href$="/mitmachen/"],
.fbc-items a[href$="/organisation/"] {
  pointer-events: none;
  cursor: inherit;
  text-decoration: none;
}

.fbc-page .fbc-wrap .fbc-items {
  font-family: var(--font-highlight);
  font-size: 1em;
  font-weight: 600;
  line-height: 1.6em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-top: var(--space-normal);
  padding-left: 0;
  margin-bottom: var(--space-normal);
}

.fbc-page .fbc-wrap .fbc-items li {
  padding-top: 0;
  padding-bottom: 0;
}

.fbc-page .fbc-wrap .fbc-items li:first-child {
  padding-top: var(--space-small);
  margin-left: 0;
  padding-left: 0;
}

.fbc-page .fbc-wrap .fbc-items span.fbc-separator::after {
  content: "\f324";
  font-family: "FontAwesome";
  font-weight: 300;
  font-size: 1em;
  color: var(--base-3);
  display: inline-block;
}

.fbc-page .fbc-wrap .fbc-items li a {
  text-decoration: none;
}

.fbc-page .fbc-wrap .fbc-items li a:hover {
  color: var(--color-btn-primary);
}

.post-7629 .fbc.fbc-page {
  display: none
}

/* Layout */

.entry-content:not(:first-child),
.entry-summary:not(:first-child),
.page-content:not(:first-child) {
  margin-top: 0;
}

.separate-containers .inside-article {
  margin-bottom: 0;
  padding-bottom: 0;
  padding-left: 1em;
  padding-right: 1em;
}

.separate-containers .site-main {
  margin-bottom: 0;
}

/* --------------------------------------------------------
  Menu
-------------------------------------------------------- */
/* Logo */
.site-header .header-image {
  max-width: 33vw;
  height: auto;
  position: relative;
  z-index: 1000;
}

/* Make logo bigger on small screens */
@media (max-width: 1280px) {
  .site-header .header-image {
    width: 15vw !important;
  }
}

@media (max-width: 768px) {
  .site-header .header-image {
    width: 33vw !important;
  }
}

/* Menu items */
/* Items Font size smaller so all items fit in the same line */
@media (max-width: 1280px) {
  .main-navigation .main-nav ul li a {
    padding-left: 0;
  }
}


/* Layout Menu */
.inside-header {
  background: var(--color-accent);
  margin-top: var(--space-big);
  gap: var(--space-big);
  letter-spacing: 2%;
  padding: 1em 3em;
}

@media (max-width: 768px) {
  .inside-header {
    padding: 1.5em 1.5em 0 1.5em;
  }

  .main-navigation.toggled .main-nav>ul {
    height: 100vh;
  }
}

/* Do not use parent-li as a positioning reference */
@media (min-width:1024px) {
  .main-navigation .main-nav ul li.menu-item-has-children {
    position: static;
  }
}

/* Icon - Chevron */
a .dropdown-menu-toggle .gp-icon.icon-arrow {
  display: none !important;
}

/* Full-Screen Submenu */
.main-navigation .main-nav ul li.menu-item-has-children>.sub-menu {
  position: absolute;
  top: 100%;
  left: calc(var(--nav-left) * -1);
  /* negative Verschiebung um den Nav-Versatz */
  width: 100vw;
  /* volle Viewport-Breite */
  background: var(--color-accent);
  color: white;
  text-align: left;
  z-index: 999;
  width: 100vw;
  height: calc(99.8vh - 110px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 10vh;
  margin-top: 0;
}

@media (max-width:1024px) {
  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu {
    margin-top: 3em;
  }
}

@media (max-width:768px) {
  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu {
    margin-top: 0;
    padding-top: 0;
  }
}

.main-navigation .main-nav ul li.menu-item-has-children>a:hover+.sub-menu {
  display: flex;
}

/* Submenu Content */
.main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li {
  padding-left: 25vw;
}

.main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li:hover {
  cursor: pointer !important;
}

.main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li>a {
  display: block;
  color: #fff !important;
  font-size: 3.5rem;
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

@media (max-width:768px) {
  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li>a {
    font-size: 1.8rem;
  }

  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li {

    padding-left: 0;
  }
}

.main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li>a:hover {
  text-decoration: underline;
  cursor: pointer !important;
}

.main-navigation .gp-icon.icon-search {
  /* display: none !important; */
}

/* Hamburger Icon - Toggle */
.main-navigation.mobile-menu-control-wrapper button.menu-toggle {
  background: var(--color-accent);
}

.menu-item-has-children .dropdown-menu-toggle {
  padding-left: 0;
}

.main-navigation.toggled .main-nav ul,
.main-navigation.toggled .main-nav li {
  background: var(--color-accent);
}


/* Search Modal */
.gp-search-modal .gp-modal__overlay {
  align-items: flex-start;
  padding-top: 25vh;
  background: rgba(0, 121, 188, 0.95);
}

.search-modal-form .search-field {
  color: white !important;
  font-family: var(--font-body);
  font-size: clamp(1.5em, 2vw, 2em);
  font-weight: 400;
  border: solid 1px white !important;
}

.search-modal-fields button {
  background-color: var(--color-btn-primary);
  color: white;
  border-radius: 0 var(--radius-normal) var(--radius-normal) 0;
}

.search-modal-fields button:hover,
.search-modal-fields button:active {
  background-color: var(--color-accent-15);
}

.search-modal-fields .search-field::placeholder {
  color: #ffffff;
  /* white */
  opacity: 1;
  /* make sure it's not transparent */
}

/* ----------------------------- */
/* Search Modal Close Button     */
/* ----------------------------- */

.gp-search-modal {
  position: fixed;
  inset: 0;
  z-index: 9999; /* top level */
}

/* clickable close icon overlayed on top */
#gp-search > div::after {
  content: "";
  position: fixed;
  top: 50px;
  right: 20px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  z-index: 10000; /* above overlay */
  background: no-repeat center/contain
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640' fill='white'%3E%3Cpath d='M135.5 169C126.1 159.6 126.1 144.4 135.5 135.1C144.9 125.8 160.1 125.7 169.4 135.1L320.4 286.1L471.4 135.1C480.8 125.7 496 125.7 505.3 135.1C514.6 144.5 514.7 159.7 505.3 169L354.3 320L505.3 471C514.7 480.4 514.7 495.6 505.3 504.9C495.9 514.2 480.7 514.3 471.4 504.9L320.4 353.9L169.4 504.9C160 514.3 144.8 514.3 135.5 504.9C126.2 495.5 126.1 480.3 135.5 471L286.5 320L135.5 169z'/%3E%3C/svg%3E");
  opacity: 0.9;
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}

/* hover feedback */
.gp-search-modal::after:hover {
  opacity: 1;
  transform: scale(1.05);
}

/* optional dark mode visibility */
@media (prefers-color-scheme: light) {
  .gp-search-modal::after {
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  }
}

/* --------------------------------------------------------
  Home Map
-------------------------------------------------------- */
/* Fix map not showing on mobile */
@media (max-width: 768px) {

  .map svg {
    width: 100vw;
    height: auto;
  }
}

/* --------------------------------------------------------
  Home News - Blog
-------------------------------------------------------- */
/* News */
.news .kt-blocks-post-grid-item h2.entry-title {
  font-family: var(--font-title) !important;
  font-size: 1.6em !important;
  font-weight: 600 !important;
  line-height: 1em !important;
  margin-bottom: 0 !important;
}

.news .kt-blocks-post-grid-item .entry-content {
  margin-top: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.3em !important;
}

.news .kt-blocks-post-grid-item-inner-wrap {
  margin: 0 var(--space-normal);
}

.news .kt-post-grid-wrap article {
  padding-left: var(--space-normal);
  padding-right: var(--space-normal);
}

.news .wp-block-kadence-postgrid article:nth-child(3n + 2) {
  border-left: solid 1px var(--color-accent);
  border-right: solid 1px var(--color-accent);
}

/* Post Date */
.post .kt-blocks-date {
  font-family: var(--font-highlight);
  font-size: clamp(1em, 2vw, 1.1em);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: var(--space-normal) !important;
}

.post .kt-blocks-date span.kt-blocks-date-pretext {
  display: none;
}

/* Links Read More / Mehr */
.kt-blocks-post-readmore-wrap {
  margin: 0;
  padding: 0;
  margin-right: 1em;
}

.kt-blocks-post-readmore {
  font-size: 1.2em;
  font-weight: 600;
  color: var(--color-btn-primary);
  margin: var(--space-normal) 0;
  float: right;
}

.kt-blocks-post-readmore:hover {
  color: var(--color-accent);
}

a.kt-blocks-post-readmore::after {
  font-family: "FontAwesome";
  font-weight: 300;
  content: "\f061";
  margin-left: var(--space-small);
  display: inline-block;
  transition: transform 200ms cubic-bezier(0.55, 0.085, 0.68, 0.53),
    opacity 150ms linear;
}

a.kt-blocks-post-readmore:hover::after {
  transform: translate3d(5px, 0, 0);
}

/* Just one column on Tablet and mobile */
/* Tablet (768px–1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .kt-post-grid-wrap[data-columns-sm="2"] {
    grid-template-columns: 1fr !important;

  }

  .kt-post-grid-wrap {
    /* gap: var(--space-big) !important; */
  }

  .kt-post-grid-wrap article {
    /* padding-left: var(--space-big);
    padding-right: var(--space-big); */
  }

  .wp-block-kadence-postgrid article:nth-child(3n+2) {
    border: none;
  }
}

/* Mobile (below 768px) */
@media (max-width: 767px) {

  .kt-post-grid-wrap[data-columns-xs="1"],
  .kt-post-grid-wrap[data-columns-ss="1"] {
    grid-template-columns: 1fr !important;
    /* gap: var(--space-big) !important; */
  }

  .kt-post-grid-wrap {
    /* gap: var(--space-big) !important; */
  }

  .kt-post-grid-wrap article {
    /* padding-left: var(--space-mini);
    padding-right: var(--space-mini); */
  }

  .wp-block-kadence-postgrid article:nth-child(3n+2) {
    border-left: none !important;
    border-right: none !important;
  }
}

/* Blog Post Template & Categories List */
.post-template-default .featured-image,
.archive.category .post-image {
  max-width: 33vw;
  margin-top: 0 !important;
}

.post-template-default.single .featured-image img {
  width: 33vw;
}

@media (max-width: 890px) {

  .post-template-default .featured-image,
  .archive.category .post-image {
    max-width: 100vw !important;
    width: 100vw !important;
  }

  .post-template-default.single .featured-image img {
    width: 80vw !important;
  }
}

.post-image-above-header .inside-article div.featured-image {
  margin-bottom: var(--space-big);
}

.post-template-default .featured-image img,
.post-image a img {
  border-radius: 12px !important;
  aspect-ratio: 3 / 2;
  width: 100%;
  object-fit: cover;
  display: block;
  object-position: center center;
}

.post-template-default .inside-article header.entry-header {
  margin-top: var(--space-big);
}

.post-template-default .entry-meta {
  margin-bottom: var(--space-big);
}

.no-featured-image-padding .post-image {
  margin-left: 0;
  margin-right: 0;
}

.inside-article div.entry-content a#ppg_theme_back_link.back-link.button {
  margin-top: var(--space-big) !important;
}

/* --------------------------------------------------------
  Search
-------------------------------------------------------- */
.search-field,
input.search-field {
  flex-grow: 1;
  height: 40px;
  padding: 0 10px;
  font-size: 16px;
  border: 1px solid;
  border-radius: 4px 0 0 4px;
  box-sizing: border-box;
}

.search-submit,
input.search-submit {
  height: 40px;
  width: 40px;
  font-family: FontAwesome;
  font-size: 20px;
  padding: 0;
  border: 1px solid #ccc;
  border-left: none;
  border-radius: 0 4px 4px 0;
  background: #eee;
  cursor: pointer;
  line-height: 1;
  text-align: center;
  color: #333;
}

button.is-search-submit span.verowa-is-search-input.is-search-icon {
  padding: var(--space-small) var(--space-small);
  min-height: 42px;
  background: var(--color-btn-primary) !important;
  border: none !important;
  line-height: 1.5;
  color: white;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 1.1em !important;
  letter-spacing: 0.02;
  border-radius: var(--radius-small) !important;
  transition: background-color 0.1s ease-in-out;
}

button.is-search-submit span.verowa-is-search-input.is-search-icon:hover {
  background: var(--color-accent) !important;
  border: none !important;
}

#vc-agenda-search-wrapper {
  display: flex;
  flex-direction: row;
  max-width: 70vw;
}

#vc-agenda-search-wrapper .is-search-icon svg {
  margin-top: var(--space-small);
  fill: white;
}

#vc-agenda-search-wrapper input[type="search"],
input[type="search"] {
  border-radius: var(--radius-small) 0 0 var(--radius-small);
}

/* Search Results page  */
.search-toggle-button {
  margin-bottom: 3em;
}

.search-results .grid-33 {
  width: 100% !important;
  margin-left: 0;
  padding: 0;
}

.search-results h2 {
  margin: var(--space-normal) 0;
}

a .search-content h3.search-title {
  color: var(--color-accent);
}

a .search-content h3.search-title:hover {
  color: var(--color-shade-1);
}

/* --------------------------------------------------------
  Verowa - Agenda
-------------------------------------------------------- */

/* Home preview agenda */
.event_list_wrapper {
  border: none !important;
}

/* Verowa Templates - Veranstaltungsliste */
.event_list_wrapper .event_list_item {
  flex-direction: row;
  gap: var(--space-normal);
  border: none !important;
  border-bottom: solid 1px var(--color-accent) !important;
  padding-bottom: 0 !important;
}

.event_list_wrapper .event_list_item .event_date,
.event_list_wrapper .event_list_item.veranstaltung .event_date {
  display: flex;
  gap: 0;
  flex-direction: column;
  border-radius: 12px 12px 0 0;
  padding: var(--space-big);
  margin-right: var(--space-normal) !important;
  color: white;
  line-height: 0.8;
}

@media (max-width: 680px) {

  .event_list_wrapper .event_list_item .event_date,
  .event_list_wrapper .event_list_item.veranstaltung .event_date {
    padding: var(--space-normal);
    min-width: fit-content;
  }
}

.event_list_wrapper .event_list_item.gottesdienst .event_date {
  background: var(--color-accent);
}

.event_list_wrapper .event_list_item.veranstaltung .event_date {
  background: var(--color-agenda-2);
}

.event_list_wrapper .event_date span.day-short.title-highlight,
.verowa-event-detail-wrapper .event_date span.day-short.title-highlight {
  font-family: var(--font-highlight);
  font-size: clamp(2em, 5vw, 3em) !important;
  line-height: 1em;
}

.event_list_wrapper .event_list_item .event_date span.day-short,
.event_list_wrapper .event_list_item .event_date span.month-short {
  font-family: var(--font-highlight);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.event_list_wrapper .event_list_item .event_date span.month-short,
.event_list_wrapper .event_list_item .event_date span.day-short {
  font-size: 1.5em;
}

.event_list_wrapper .event_list_item .event_date span.number-short {
  font-size: 3em;
  line-height: 0.8;
  padding-bottom: 0.1em;
}

.event_list_wrapper .event_list_item .event-title-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-normal);
  justify-content: center;
  width: 100%;
}

/* Default row layout */
.event_list_wrapper .event_list_item .event-title-info .event-info {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: var(--space-normal);
  align-items: center;
}

/* Anmeldung button aligned right (desktop) */
.event_list_wrapper .event_list_item .event-title-info .event-info .buttons {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.event_list_wrapper .event_list_item .event-title-info .event-info .event-time-location {
  border: solid 1px var(--color-accent) !important;
  padding: var(--space-mini) var(--space-small);
  display: flex;
  flex-direction: row;
  gap: var(--space-mini);
  border-radius: 6px;
  width: fit-content;
  word-break: break-word;
}

.event_list_wrapper .event_list_item:hover .event-title-info .event-info .event-time-location {
  background: var(--color-accent) !important;
  color: white !important;
  word-break: break-word;
}

.verowa-event-detail-wrapper .event-time-location {
  display: flex;
  flex-direction: column;
  justify-content: center;
  word-break: break-word;
  width: 100%;
  max-width: 100%;
  flex: 1;
  min-width: 0;
}

.verowa-event-detail-wrapper .event-time-location span {
  display: block;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  width: 100%;
  max-width: 100%;
}

.event_list_wrapper .event_list_item.veranstaltung .event-title-info .event-time-location {
  border: solid 1px var(--color-agenda-2) !important;
  padding: var(--space-mini) var(--space-small);
  display: flex;
  flex-direction: row;
  gap: var(--space-mini);
  border-radius: 6px;
  width: fit-content;
}

.event_list_wrapper .event_list_item.veranstaltung:hover .event-title-info .event-time-location {
  background: var(--color-agenda-2) !important;
  color: white !important;
}

.event_list_wrapper .event_list_item:hover {
  background: var(--color-accent-5);
}

/* Keep row layout also on hover (desktop) */
.event_list_wrapper .event_list_item:hover .event-title-info .event-info {
  flex-direction: row;
  gap: var(--space-normal);
  margin-bottom: var(--space-normal);
  justify-content: space-between;
  padding-bottom: 0 !important;
}

.event_list_wrapper .event_list_item:hover .buttons a.verowa-subs-link button.subscription {
  align-self: end;
}

/* --------------------------------------------------------
  Responsive
-------------------------------------------------------- */
@media (max-width: 860px) {

  /* On mobile always stack in column, even on hover */
  .event_list_wrapper .event_list_item .event-title-info .event-info,
  .event_list_wrapper .event_list_item:hover .event-title-info .event-info {
    flex-direction: column !important;
    gap: var(--space-normal);
    margin-bottom: var(--space-normal);
    align-items: flex-start;
  }

  .event_list_wrapper .event_list_item .event-title-info .event-info .buttons {
    margin-left: 0;
    align-self: flex-start;
  }

  .event_list_wrapper .event_list_item .event-title-info .event-info .event-time-location {
    display: flex;
    flex-direction: column !important;
    gap: var(--space-mini);
  }

  .event_list_wrapper .event_list_item:hover .event-title-info .event-info .event-time-location {
    gap: var(--space-mini) !important;
  }
}

@media (max-width: 480px) {
  .event_list_wrapper .event_list_item {
    margin-top: var(--space-big);
  }

  .event_list_wrapper .event_list_item a {
    flex-wrap: wrap;
  }

  .event_list_wrapper .event_list_item .event-info {
    margin-bottom: var(--space-normal);
  }

  .event_list_wrapper .event_list_item .event-title-info {
    gap: var(--space-normal);
  }

  .event_list_wrapper .event_list_item .event_date {
    flex: 1 !important;
    align-items: baseline;
    margin-bottom: 0;
    margin-right: var(--space-normal) !important;
  }

  .event_list_wrapper .event_list_item .event-title-info .event-info {
    display: flex;
    flex-direction: column !important;
  }
}

/* Anmeldung Links */
.buttons a.verowa-subs-link button.subscription,
.verowa-event-detail-wrapper a.subscription-button {
  background: none;
  height: auto;
  font-size: 1.2em;
  line-height: 1.2 !important;
  font-weight: 600;
  color: var(--color-btn-primary);
  margin: var(--space-normal) 0;
  text-decoration: none;
  display: flex;
  padding: 0 !important;
  margin: 0 !important;
  align-items: baseline;
  overflow-wrap: break-word;
  hyphens: auto;
}

.buttons a.verowa-subs-link button.subscription:hover,
.verowa-event-detail-wrapper a.subscription-button:hover {
  color: var(--color-accent);
}

.buttons a.verowa-subs-link button.subscription::after,
.verowa-event-detail-wrapper a.subscription-button::after {
  font-family: "FontAwesome";
  font-weight: 300;
  content: "\f061";
  margin-left: var(--space-small);
  display: inline-block;
  transition: transform 200ms cubic-bezier(0.55, 0.085, 0.68, 0.53),
    opacity 150ms linear;
}

.buttons a.verowa-subs-link button.subscription:hover::after,
.verowa-event-detail-wrapper a.subscription-button:hover::after {
  transform: translate3d(5px, 0, 0);
}


/* Verowa Templates - Veranstaltungsdetails */
.verowa-event-detail-wrapper .event-main-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 3em;
  margin-bottom: 1.5em;
}

.verowa-event-detail-wrapper img.event-image.verowa-event-picture {
  flex: 0 0 auto;
  border-radius: 12px;
  width: 50% !important;
  margin: 0 !important;
}

.verowa-event-detail-wrapper h2.verowa-event-title {
  margin-bottom: var(--space-small) !important;
}

.verowa-event-detail-wrapper .event-meta {
  display: flex;
  flex-direction: column;
  gap: var(--space-normal);
}

.verowa-event-detail-wrapper .event-date-time {
  display: flex;
  flex-direction: row;
  gap: var(--space-normal);
  /* align-items: baseline; */
  align-items: center;
}

.verowa-event-detail-wrapper .event_date,
.person .person_image {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  max-width: 140px;
  width: 100%;
}

.verowa-event-detail-wrapper .event_date {
  background: var(--color-agenda-2);
  border-radius: 12px;
  padding: var(--space-normal) var(--space-big);
  color: white;
}

.verowa-event-detail-wrapper .title-highlight {
  margin-bottom: var(--space-big);
}

.event_list_wrapper .event_date span.day-short.title-highlight,
.verowa-event-detail-wrapper .event_date span.day-short.title-highlight {
  font-family: var(--font-highlight);
  font-size: clamp(2em, 5vw, 3em) !important;
  line-height: 1em;
}

.verowa-event-detail-wrapper .event_date span.day-short,
.verowa-event-detail-wrapper .event_date span.month-short {
  font-family: var(--font-highlight);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
  font-size: 1.5em;
}

.verowa-event-detail-wrapper .event_date span.number-short {
  font-size: 3em;
  line-height: 0.8;
  padding-bottom: 0.1em;
}

.verowa-event-detail-wrapper .event-time-location {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 !important;
}

.verowa-event-detail-wrapper .organizer {
  display: flex;
  flex-direction: column;
  gap: var(--space-normal);
  align-items: flex-start;
}

.verowa-event-detail-wrapper .person-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-normal);
}

.verowa-event-detail-wrapper .person-container h3 {
  margin: 0 !important;
}

.verowa-event-detail-wrapper .person-container>*:not(h3) {
  display: flex;
  flex-direction: row;
  gap: var(--space-normal);
  align-items: flex-start;
}

.verowa-event-detail-wrapper .person .person_image img {
  margin-bottom: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 68% 30%;
  border-radius: 12px;
}

.verowa_event_body .inside-article .person {
  margin-bottom: 0 !important;
}

a.ical div.links {
  margin: var(--space-big) 0 !important;
}

a.ical div.links::before {
  font-family: "FontAwesome";
  content: "\f271";
  font-weight: 300;
  display: inline-block;
  margin-right: 0.3em;
  vertical-align: middle;
}

.person .person_description h4.name a {
  font-weight: bold;
  color: var(--color-btn-primary);
}

.person .person_description h4.name a:hover {
  color: var(--color-accent);
}

.person_meta ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.person_meta ul li.email a,
.person_meta ul li.phone,
.person .person_description p.profession {
  font-family: var(--font-highlight);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
  font-size: inherit;
  color: var(--color-);
}

.person_meta ul li.email a::after {
  font-family: "FontAwesome";
  content: "\e09f";
  font-weight: 300;
  display: inline-block;
  margin-right: 0.3em;
  margin-left: var(--space-mini);
  font-size: 1em;
  transition: transform 0.2s ease;
}

.verowa-event-detail-wrapper h3 {
  font-size: 1.3em;
  margin-bottom: var(--space-small) !important;
}

.verowa-event-detail-wrapper .person_meta ul li.email a {
  text-decoration: underline;
}

.verowa-event-detail-wrapper .person_meta ul li.email a:hover::after {
  transform: translate3d(5px, 0, 0);
}

.verowa-event-detail-wrapper .event-backlink {
  margin-top: 2em;
}

.verowa-event-detail-wrapper .long_description {
  margin: 0 !important;
}

.verowa-event-detail-wrapper .event-side-col {
  display: flex;
  flex-direction: column;
  gap: var(--space-big);
  align-items: initial;
  flex: 1;
  max-width: 50%;
}

.verowa-event-detail-wrapper .long_description .event-details span {
  width: 94px;
  display: inline-block;
}

.verowa-event-detail-wrapper .long_description .event-details span:after {
  content: "|";
  padding: 0 10px;
  color: #aaa;
  float: right;
}

.verowa-event-detail-wrapper .long_description,
.verowa-event-detail-wrapper .berichtText {
  line-height: 1.5;
}

.verowa-event-detail-wrapper .event_date,
.person .person_image {
  max-width: 140px;
  width: 100%;
}

.single-person .kt-inside-inner-col {
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  max-width: 100%;
}

.verowa-event-detail-wrapper .event-date-time,
.verowa-event-detail-wrapper .person_description {
  /* max-width: 90% !important; */
  word-break: break-word;
  white-space: normal;
  width: 100%;
}

/* Tablet adjustments: keep image full width */
@media (max-width: 1024px) {
  .verowa-event-detail-wrapper img.event-image.verowa-event-picture {
    width: 100% !important;
  }

  .verowa-event-detail-wrapper .event-main-row {
    flex-direction: column;
    gap: var(--space-big);
  }


  .verowa-event-detail-wrapper .organizer {
    width: 100%;
    max-width: 100%;
    align-items: stretch;
  }
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .verowa-event-detail-wrapper .organizer {
    width: 100%;
    max-width: 100%;
    align-items: stretch;
  }

  .verowa-event-detail-wrapper .event-side-col {
    max-width: 100%;
  }

  .verowa-event-detail-wrapper .event-date-time,
  .verowa-event-detail-wrapper .person_description {
    width: max-content;
  }

}

@media (max-width: 390px) {
 .verowa-event-detail-wrapper .event-date-time,
.verowa-event-detail-wrapper .person_description {
  width: 100%;
}
  .verowa-event-detail-wrapper .event-date-time,
  .verowa-event-detail-wrapper .person-container>*:not(h3) {
    flex-direction: column;
    align-items: baseline !important;
  }
}

/* Filters */
#verowa_event_filters .row {
  margin: var(--space-big) 0;
}

#verowa_event_filters .row .column {
  align-self: auto !important;
}

#verowa_event_filters .row .column label {
  font-family: var(--font-highlight);
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#verowa_event_filters .row .list_filter {
  gap: var(--space-small);
}

/* Events with color */
/* Gottesdienste – .events-37 - Blue */
#verowa_event_filters .filter-button[data-filter-value=".events-37"] {
  border: 1px solid var(--color-agenda-1) !important;
  color: var(--color-agenda-1) !important;
}

#verowa_event_filters .filter-button[data-filter-value=".events-37"]:hover,
#verowa_event_filters .filter-button[data-filter-value=".events-37"].selected {
  border: 1px solid var(--color-agenda-1) !important;
  background: var(--color-agenda-1) !important;
  color: white !important;
}

/* Others – Orange */
/* Bildung – .events-38 */
/* Ausflüge & Reisen – .events-39 */
/* Essen & Trinken – .events-40 */
/* Musik & Kunst – .events-41 */
#verowa_event_filters .filter-button[data-filter-value=".events-38"],
#verowa_event_filters .filter-button[data-filter-value=".events-39"],
#verowa_event_filters .filter-button[data-filter-value=".events-40"],
#verowa_event_filters .filter-button[data-filter-value=".events-41"] {
  border: 1px solid var(--color-agenda-2) !important;
  background: white;
  color: var(--color-agenda-2) !important;
}

#verowa_event_filters .filter-button[data-filter-value=".events-38"]:hover,
#verowa_event_filters .filter-button[data-filter-value=".events-39"]:hover,
#verowa_event_filters .filter-button[data-filter-value=".events-40"]:hover,
#verowa_event_filters .filter-button[data-filter-value=".events-41"]:hover,
#verowa_event_filters .filter-button[data-filter-value=".events-38"].selected,
#verowa_event_filters .filter-button[data-filter-value=".events-39"].selected,
#verowa_event_filters .filter-button[data-filter-value=".events-40"].selected,
#verowa_event_filters .filter-button[data-filter-value=".events-41"].selected {
  border: 1px solid var(--color-agenda-2) !important;
  background: var(--color-agenda-2) !important;
  color: white !important;
}

#verowa_event_filters .filter-button {
  background-color: white !important;
  border: 1px solid black !important;
  font-family: var(--font-body);
  text-decoration: none;
  font-size: calc(0.9rem + 0.3vw) !important;
  font-weight: 600;
  letter-spacing: 2%;
  color: black !important;
  border-radius: 12px !important;
  padding: var(--space-small) !important;
}

#verowa_event_filters .filter-button:hover,
#verowa_event_filters .filter-button.selected {
  background: black !important;
  color: white !important;
}

#verowa_event_filters ul li {
  margin: var(--space-small) 0 !important;
}

@media (max-width: 480px) {
  #verowa_event_filters ul li {
    gap: var(--space-normal);
    margin: var(--space-small) var(--space-small) !important;
    padding-top: var(--space-small);
  }

  #verowa_event_filters.verowa-filter .row.date-row {
    flex-direction: column;
    gap: var(--space-small);
    align-items: baseline !important;
  }
}

#verowa_event_filters .date_filter_picker input[type="text"] {
  border-radius: var(--radius-small) !important;
  border: solid 1px var(--color-accent);
  font-size: 1em !important;
  letter-spacing: 2%;
  width: 125px !important;
  text-align: center;
}

/* Filter Reset Button */
a#verowa-agenda-filter-reset {
  border: solid 1px black;
  border-radius: var(--radius-small);
  padding: var(--space-mini) var(--space-normal);
  width: fit-content;
  text-decoration: none;
  font-size: 1em;
  letter-spacing: 2%;
  float: right;
}

a#verowa-agenda-filter-reset:hover {
  background: black;
  color: white;
}

/* --------------------------------------------------------
  Verowa -  Newsletter
-------------------------------------------------------- */
.verowa-newsletter.small-form {
  width: 100%;
}

.verowa-newsletter.small-form form {
  display: flex;
  flex-direction: row;
}

.verowa-newsletter.small-form form input {
  flex-grow: 1;
  background: white;
  height: 3.5em;
  padding: 0 10px;
  font-size: 1em;
  border: 1px solid var(--color-shade-1);
  border-radius: var(--radius-normal) 0 0 var(--radius-normal);
  box-sizing: border-box;
  color: var(--color-accent);
  font-family: var(--font-title);
}

.verowa-newsletter.small-form form input[type=submit] {
  border-radius: 0 var(--radius-normal) var(--radius-normal) 0;
  background: var(--color-btn-primary);
  color: white;
  font-family: var(--font-title);
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 3%;
}

.verowa-newsletter.small-form form input[type=submit]:hover {
  background: var(--color-accent);
}

.verowa-newsletter.small-form form input[type="email"] {
  width: 70%;
}

/* Mobile */
@media (max-width: 536px) {
  .verowa-newsletter.small-form form {
    flex-direction: column;
  }

  .verowa-newsletter.small-form form input {
    border-radius: var(--radius-normal);
  }

  .verowa-newsletter.small-form form input[type="email"] {
    width: 100%;
    margin: var(--space-normal) 0 var(--space-mini) 0;
  }

  .verowa-newsletter.small-form form input[type=submit] {
    border-radius: var(--radius-normal);
    width: 100%;
  }
}

.nl_block input[type="text"] {
  background-color: #F8F8F8;
  border: solid 1px #e4e4e7;
  border-radius: var(--radius-normal);
  box-sizing: border-box;
  outline: none;
  transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}

.nl_block select {
  border-radius: 12px;
}

.verowa-newsletter .nl_target_lists {
  background: var(--color-accent-5) !important;
  border-radius: 12px !important;
}

.nl_block .column {
  display: flex !important;
  max-width: max-content !important;
}

.nl_block div.row div.column input {
  border-radius: 12px;
}

/* --------------------------------------------------------
  Verowa - Amtswochen
-------------------------------------------------------- */
.verowa-roster-entries {
  border-top: none !important;
  padding: 0;
}

.verowa-roster-entries .roster-entry {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-accent) !important;
  padding: var(--space-big) 0 !important;
}

/* New: Styling for the two-column layout */
.verowa-roster-entries .roster-entry .roster-single {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: var(--space-big);
}

.verowa-roster-entries .roster-entry .roster-column-left {
  display: flex;
  gap: 0.5em;
  align-items: baseline;
  flex: 1 1 auto;
}

.verowa-roster-entries .roster-entry .roster-column-right {
  flex: 0 1 auto;
}

/* Unit styling */
.verowa-roster-entries .roster-entry .roster-unit {
  font-family: var(--font-highlight);
  font-size: clamp(1em, 2vw, 1.1em);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
  white-space: nowrap;
}

/* Person name styling */
.verowa-roster-entries .roster-entry .roster-person {
  flex: 0 1 auto;
  font-family: var(--font-title);
  font-size: clamp(1em, 2vw, 1.2em);
  font-weight: 600;
  line-height: 1.2em;
  margin-bottom: 0;
}

.verowa-roster-entries .roster-entry .roster-date {
  flex: 0 1 100%;
  font-family: var(--font-highlight);
  font-size: clamp(1em, 2vw, 1.1em);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.verowa-roster-entries .roster-entry span.add-roster-data {
  display: flex;
  gap: var(--space-big);
  flex-wrap: wrap;
  align-items: baseline;
}

@media (max-width: 768px) {
  .verowa-roster-entries .roster-entry .roster-single {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-normal);
  }

  .verowa-roster-entries .roster-entry .roster-column-right {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .verowa-roster-entries .roster-entry span.add-roster-data {
    gap: var(--space-normal);
    padding-top: var(--space-normal);
  }
}

.verowa-roster-entries .roster-entry span.add-roster-data span.email a,
.verowa-roster-entries .roster-entry span.add-roster-data span.phone {
  font-family: var(--font-highlight);
  font-size: clamp(1em, 2vw, 1.1em);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.verowa-roster-entries .roster-entry span.add-roster-data span.email a::after {
  font-family: "FontAwesome";
  content: "\e09f";
  font-weight: 300;
  display: inline-block;
  margin-right: 0.3em;
  margin-left: var(--space-mini);
  font-size: 1em;
  transition: transform 0.2s ease;
}

.verowa-roster-entries .roster-entry span.add-roster-data span.email a:hover::after {
  transform: translate3d(5px, 0, 0);
}

.verowa-roster-entries .roster-entry span.add-roster-data span.email a:hover {
  color: var(--color-accent);
}

/* --------------------------------------------------------
  Forms Contact Form 7 + Verowa Forms
-------------------------------------------------------- */
.contactform-flyer,
.verowa-contact-tracing .verowa-form.ct-form,
.verowa-renting-formfields {
  background: white !important;
  border-radius: var(--radius-normal);
  padding: var(--space-big) !important;
  font-family: var(--font-body);
  font-size: 1em;
  letter-spacing: 3%;
}

.contactform-flyer h3 {
  font-size: 1.1em;
  margin-bottom: var(--space-mini);
}

.contactform-flyer .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-big);
  max-width: 100% !important;
  width: 100%;
  box-sizing: border-box;
}

.contactform-flyer .form-row p {
  flex: 1 1 calc(50% - 1em);
  box-sizing: border-box;
  margin: 0;
  line-height: 1.2em;
  margin-bottom: var(--space-small);
}

.contactform-flyer .form-row p label {
  width: auto;
  font-family: var(--font-body);
  letter-spacing: 3%;
}

.contactform-flyer .text-fields label,
.verowa-form label {
  font-size: 0.9em !important;
}

.contactform-flyer .form-row label:last-child {
  flex-basis: 100%;
  font-size: var(--space-normal);
  margin-top: -10px;
  font-size: 0.9em !important;
}

.contactform-flyer .form-row input,
.contactform-flyer .form-row select,
.contactform-flyer .form-row textarea,
.contactform-flyer input[type="text"],
.contactform-flyer .wpcf7-textarea,
.verowa-input.ct-input input,
.verowa-input.ct-input textarea {
  background-color: #F8F8F8;
  border: solid 1px #e4e4e7;
  border-radius: var(--radius-normal);
  box-sizing: border-box;
  outline: none;
  transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}

.contactform-flyer .form-row input:focus,
.contactform-flyer .form-row select:focus,
.contactform-flyer .form-row textarea:focus,
.verowa-input.ct-input input:focus,
btn .contactform-flyer .form-row span[data-name="geburt"] input[type="date"],
.contactform-flyer .form-row select,
.contactform-flyer .wpcf7-form-control.wpcf7-date,
.verowa-input-date-wrapper.verowa-input.ct-input input {
  min-height: 2.8em;
}

.contactform-flyer .form-row span[data-name="geburt"] input[type="date"],
.contactform-flyer .wpcf7-form-control.wpcf7-date {
  padding: 0 var(--space-small);
  width: max-content;
}

.contactform-flyer .form-row input[type="email"] {
  width: max-content;
}

.contactform-flyer .width-50 {
  width: 48% !important;
}

.contactform-flyer .form-col {
  max-width: 100%;
  width: 45%;
}

@media (max-width: 768px) {
  .contactform-flyer .form-col {
    width: 100%;
  }
}

/* Text fields */
.contactform-flyer .text-fields .form-row input,
.contactform-flyer .text-fields .form-row select {
  max-width: 100%;
  width: 100%;
}

@media (max-width: 768px) {
  .contactform-flyer .form-row {
    flex-direction: column;
  }
}

/* Checkboxes */
.contactform-flyer .form-row .checkboxes {
  width: 100%
}

.checkboxes .form-row label:last-child {
  display: flex;
  align-items: baseline;
  gap: var(--space-small);
  line-height: 1.2em;
  padding: var(--space-small) 0;
}

/* Checkbox as Radiobutton */
.contactform-flyer .radio-buttons .form-col {
  width: 100%;
}

.contactform-flyer .radio-buttons input[type="checkbox"] {
  background-color: white;
  border: solid 1px #e4e4e7;
  appearance: none;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin-right: 8px;
  vertical-align: middle;
  box-sizing: border-box;
  outline: none;
  transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}

.contactform-flyer .radio-buttons input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background-color: var(--color-black);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.contactform-flyer .radio-buttons input[type="checkbox"]:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.contactform-flyer .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
  display: block;
}

/* textarea */
.contactform-flyer .wpcf7-textarea {
  margin-top: var(--space-normal);
  height: 9em;
}

/* button */
.wpcf7-submit.has-spinner.button {
  border: none;
  padding: var(--space-mini) var(--space-normal);
}

/* error */
.wpcf7-not-valid-tip {
  color: red;
  font-size: 0.9em;
  font-weight: normal;
  display: block;
  letter-spacing: 3%;
}

.wpcf7 form.invalid .wpcf7-response-output {
  background: #ffb900;
  font-weight: 500;
  font-size: 1.3;
  letter-spacing: 3%;
}

/* Verowa Forms */
.verowa-form a {
  color: var(--color-btn-primary) !important;
  text-decoration: underline !important;
  transition: color 0.1s ease-in-out;
  text-decoration: underline !important;
  cursor: pointer;
}

.verowa-form a:hover {
  color: var(--color-accent) !important;
}

.verowa-contact-tracing .verowa-subs-date {
  font-family: var(--font-highlight);
  font-size: clamp(1em, 2vw, 1.1em);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0;
  margin-bottom: var(--space-big);
}

.verowa-input-time.verowa-input.ct-input.ct-input-time input {
  min-height: 2.8em !important;
}

.verowa-form label {
  margin-top: var(--space-small);
  align-items: flex-start !important;
}

.verowa-contact-tracing .verowa-event-wrapper.ct-events {
  margin: 0 var(--space-big) !important;
}

.vc_renting_form_submit,
.verowa-submit-wrapper {
  padding-top: var(--space-big);
}

/* Agree to terms Checkbox */
.verowa-form .verowa-single-checkbox-wrapper:last-of-type {
  display: flex;
  align-items: baseline;
  margin: var(--space-normal) 0;
  width: 100%;
}

.verowa-form .verowa-single-checkbox-wrapper:last-of-type span.checkbox-text {
  gap: var(--space-mini) !important;
}

.verowa-input-radio-wrapper label {
  margin-top: 1em
}

.verowa-radio-input .radio-label {
  display: flex;
  align-items: baseline;
  gap: var(--space-small);
  margin: 0.2em 0 !important;
}

/* Sticky Navi */
#sticky-navigation {
  background: var(--color-accent);
}

.verowa-form #renting-persons-billing span.verowa-contact-title,
.verowa-form #renting-persons span.verowa-contact-title {
  font-weight: 600;
  font-size: 1.1em;
}

/* --------------------------------------------------------
 404 Page & no results search page
-------------------------------------------------------- */
body.error404 #page.site.grid-container.container.hfeed,
body.search.search-no-results .inside-article {
  display: flex;
  flex-direction: column;
  height: auto;
  /* Adjust the height based on content */
  min-height: 50vh;
  /* Ensure it takes at least the full viewport height */
  justify-content: center;
  width: 100%;
}

body.error404 p.links-icon-left a {
  text-decoration: none !important;
}

body.error404 p.links-icon-left a::before {
  font-family: "FontAwesome";
  content: "\f060";
  font-weight: 300;
  display: inline-block;
  margin-right: 0.3em;
  vertical-align: middle;
}

body.error404 p.links-icon-left a:hover::before {
  transform: translate3d(-5px, 0, 0);
}

.search-form button.search-submit {
  background: var(--color-shade-1) !important;
  font-size: 0;
  /* hides the "Suchen" text */
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
  position: absolute;
}

.search-form button.search-submit:hover {
  background: var(--color-accent) !important;
}

.search-form button.search-submit i {
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 18px;
  color: white;
}


/* --------------------------------------------------------
  Slider
-------------------------------------------------------- */
.kb-splide .splide__arrow {
  opacity: 1 !important;
}

/* !important it hides the arrows in the slider images of a gallery */
.splide--draggable.splide--nav .splide__arrows--ltr {
  display: none;
}

/* --------------------------------------------------------
  Team - Person
-------------------------------------------------------- */
.person .info .kt-inside-inner-col,
.team-carousel #splide01 .kt-blocks-post-grid-item-inner header {
  margin-top: -105px;
  background: white;
  border-radius: 12px !important;
  padding: var(--space-normal);
  position: relative;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}

.team-carousel h2.entry-title {
  font-size: clamp(1.2em, 1vw, 2em) !important;
  line-height: 1 !important;
}

.team-carousel .kt-blocks-post-grid-item-inner header {
  border-radius: 12px;
}

.kb-query-grid-wrap .kb-query-item.kb-query-block-post {
  box-shadow: none !important;
}

.person .kt-inside-inner-col p {
  margin: 0 !important;
}

fieldset.kadence-filter-wrap legend.kb-query-label {
  font-family: var(--font-highlight);
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.button.kb-query-filter-reset-button {
  background: white !important;
  border: solid 1px black !important;
  border-radius: var(--radius-small) !important;
  padding: var(--space-mini) var(--space-normal) !important;
  width: fit-content !important;
  text-decoration: none !important;
  font-size: 1em !important;
  letter-spacing: 2% !important;
}

.button.kb-query-filter-reset-button:hover,
.button.kb-query-filter-reset-button:active {
  background: black !important;
}

.kb-filter,
.kb-query-basic-style .kadence-filter-wrap ::placeholder {
  padding: var(--space-small) var(--space-normal) !important;
  font-size: 1.1em !important;
  letter-spacing: 2% !important;
}

.kb-query-basic-style .kadence-filter-wrap ::placeholder {
  color: #626364 !important;
}

.team-carousel .entry-title {
  padding: 0 !important;
}

.team-carousel .kt-blocks-above-categories a {
  pointer-events: none;
  cursor: default;
}

/* Remove hover img on carousel images */
.page-id-119 .team-carousel .person:hover a img,
.page-id-3354 .team-carousel .person:hover a img {
  content: none !important;
}

/* --------------------------------------------------------
  On Hover changes image
-------------------------------------------------------- */
/* Anna-Franziska Carstensen */
.post-4304.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Anna-1026.jpg");
}

/* Antje Martin */
.post-4301.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Antje-811.jpg");
}

/* Astrid Späh */
.post-4300.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Astrid-1483.jpg");
}

/* Barbara Bohnert */
.post-4298.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Barbara-1320.jpg");
}

/* Bea Fabbro */
/* .post-4035.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Bea-Fabbro_06052025-e1755800821570.jpg");
} */

/* Benjamin Farine */
.post-4296.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Benjamin-862.jpg");
}

/* Betim Beluli */
.post-4293.person:hover a img {
  content: url("https://nonykuno.cyon.site/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Betim-1194.jpg");
}

/* Boris Conod */
.post-4276.person:hover a img {
  content: url("https://nonykuno.cyon.site/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Boris-546.jpg");
}

/* Brigitte Lindenmann */
.post-4274.person:hover a img {
  content: url("https://nonykuno.cyon.site/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Brigitte-2397.jpg");
}

/* Carola Graf */
.post-4270.person:hover a img {}

/* Dominik Zehnder */
.post-4323.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Dominik-Zehnder_06052025.jpg");
}

/* Doris Haab */
.post-4321.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Doris-Haab_06052025.jpg");
}

/* Elsbeth Hofstetter */
.post-4268.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Elsbeth-1280.jpg");
}

/* Eva Caspers */
.post-5917.person:hover a img {
  content: url("/wp-content/uploads/2025/09/Ref_Kirche_Buelach_Eva_Caspers-3361.jpg");
}

/* Johanna Kilchenmann */
.post-4319.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Johanna-Kilchenmann_06052025-2.jpg");
}

/* Jürg Küng */
.post-4263.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Juerg_Kueng-087.jpg");
}

/* Jürg Spielmann */
.post-4265.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Juerg-Spielmann-2191.jpg");
}

/* Karin Fahrni */
.post-4261.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Karin-1793.jpg");
}

/* Karin Grimm */
.post-4313.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Karin-Grimm_06052025.jpg");
}

/* Marianne Richter */
.post-4259.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Marianne-461.jpg");
}

/* Marlise Casutt */
.post-4257.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Marlies-2324.jpg");
}

/* Nenette Schwarz */
.post-4190.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Nenette-2385.jpg");
}

/* Philip Rohr */
.post-4255.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Philip_Lange_Hosen-2243.jpg");
}

/* Pia Baier */
.post-4311.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Pia-Baier_06052025-2.jpg");
}

/* Rahel Graf */
.post-4309.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Rahel-Graf_06052025.jpg");
}

/* Ramona Kern */
.post-4092.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Ramona-2023.jpg");
}

/* Regula Hoch */
/* .post-4307.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref_Kirche_Buelach_Regula-Hoch_06052025-2.jpg");
} */

/* Remo Gasser */
.post-4123.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Remo-1439.jpg");
}

/* Robert Riesen */
.post-4133.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Robert-710.jpg");
}

/* Roland Schwarz */
.post-4204.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Roland-1962.jpg");
}

/* Samuel Müller */
.post-4180.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Samuel-2315.jpg");
}

/* Sebastian Zebe */
.post-4202.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Sebastian-268.jpg");
}

/* Susanne Rathgeb */
.post-4194.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Susanne-1909.jpg");
}

/* Ursula Krebs */
.post-4192.person:hover a img {
  content: url("/wp-content/uploads/2025/08/Ref.Kirche_Buelach_Ursula-1609.png");
}

@media (hover: none), (max-width: 767px) {
  .person {
    pointer-events: auto; /* keeps links clickable */
  }

  .person:hover a img {
    content: none !important;
  }
}

/* --------------------------------------------------------
 Raumvermitung Page
-------------------------------------------------------- */
/* Calendar */
.ics-calendar {
  font-family: var(--font-body) !important;
}

.ics-calendar-select {
  max-width: fit-content !important;
  min-width: fit-content !important;
  width: max-content !important;
}

.ics-calendar.monthnav-compact .ics-calendar-select {
  border-radius: 12px;
  border: solid 1px black !important;
  padding: var(--space-small) var(--space-normal) !important;
  font-size: 1.1em !important;
  letter-spacing: 2% !important;
}

.ics-calendar-month-grid th,
.ics-calendar-month-grid .today .day {
  background: var(--color-accent) !important;
  color: white !important;
}

.ics-calendar-month-grid th,
.ics-calendar-month-grid .day {
  font-family: var(--font-highlight);
  font-size: 1em !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ics-calendar-month-grid .day {
  font-size: 1.3em !important;
}

.ics-calendar-month-grid li.event span.title {
  font-family: var(--font-highlight) !important;
  font-size: 1.5em !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  font-variant: all-small-caps !important;
  background: var(--color-accent-15) !important;
}


/* Tooltip */
.ics-calendar td .event .hover_block {
  font-size: 1.2em;
}

/* --------------------------------------------------------
  Footer
-------------------------------------------------------- */
.site-footer .footer-info .kt-row-column-wrap,
.site-footer .footer-bottom .kt-row-column-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  word-wrap: normal;
  flex-wrap: wrap;
  gap: var(--space-small);
}

.site-footer .footer-bottom .kt-row-column-wrap {
  flex-wrap: no-wrap;
}

.footer-info a {
  display: flex;
  flex-direction: row;
  gap: var(--space-mini);
}

.footer-info a span {
  text-decoration: underline;
}

/* Links with external link icon*/
.footer-info a[target="_blank"]:not([href$=".pdf"])::before {
  font-family: "FontAwesome";
  content: "\e09f";
  font-weight: 300;
  display: inline-block;
  margin-right: 0.3em;
  margin-left: 0.2em;
  font-size: 1em;
  vertical-align: middle;
  color: white;
}

.footer-info a[target="_blank"]:not([href$=".pdf"])::after,
.site-footer .social-icons a[target="_blank"]::before,
.site-footer .social-icons a[target="_blank"]::after,
.site-footer a[target="_blank"]:not([href$=".pdf"])::before,
.site-footer a[href$=".pdf"]::before {
  content: none;
}

.site-footer .gb-shape-247b5960 svg:hover {
  color: var(--color-accent) !important;
}

.has-inline-mobile-toggle #site-navigation.toggled {
  height: 100vh;
  background: var(--color-accent);
}

@media (max-width: 340px) {
  /* Align to the left the segen to go carousel */
  .kb-splide .splide__slide {
    width: 100dvw !important;
  }
}

/* Mobile: Submenus push content down */
@media (max-width: 1023px) {
  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    background: var(--color-accent);
    padding: 0 0 0 1.5em !important;
    margin: 0.5em 0 !important;
    display: none !important;
  }

  .main-navigation .main-nav ul li.menu-item-has-children.sfHover>.sub-menu {
    display: block !important;
  }

  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li {
    padding-left: 0 !important;
  }

  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li>a {
    font-size: 1.5rem !important;
    padding: 0.5em 0;
    display: block;
  }

  .main-navigation.toggled .main-nav>ul {
    height: auto !important;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
  }
}

/* Desktop: Keep full-screen overlay */
@media (min-width: 1024px) {
  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu {
    position: absolute;
    top: 100%;
    left: calc(var(--nav-left) * -1);
    width: 100vw;
    background: var(--color-accent);
    height: calc(99.8vh - 110px);
    display: flex;
    flex-direction: column;
    padding-top: 10vh;
    z-index: 999;
  }

  .main-navigation .main-nav ul li.menu-item-has-children:hover>.sub-menu,
  .main-navigation .main-nav ul li.menu-item-has-children>a:hover+.sub-menu {
    display: flex;
  }

  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li {
    padding-left: 25vw;
  }

  .main-navigation .main-nav ul li.menu-item-has-children>.sub-menu>li>a {
    font-size: 3.5rem;
    color: #fff !important;
  }
}