/* Shared WordPress design. Sponsoring is excluded by the PHP predicate. */
.illenschwang-site {
  --bi-green: #245337;
  --bi-green-dark: #103b29;
  --bi-gold: #af8b43;
  --bi-paper: #faf7ef;
  --bi-ink: #29372d;
  --bi-line: #e3dbc9;
  color: var(--bi-ink);
  background: var(--bi-paper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.65;
  letter-spacing: 0;
}
.illenschwang-site a { color: var(--bi-green); }
.illenschwang-site a:hover { color: var(--bi-green-dark); }
.illenschwang-site a:focus-visible,
.illenschwang-site button:focus-visible { outline: 3px solid var(--bi-gold); outline-offset: 5px; }

/* Ein ruhiger Header: Wappen und Navigation auf derselben Mittelachse. */
.illenschwang-site #site-header { position: relative; z-index: 100; border-bottom: 1px solid var(--bi-line); background: var(--bi-paper); }
.illenschwang-site #site-header-inner {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  align-items: center;
  gap: 48px;
  width: min(1200px, calc(100% - 64px));
  max-width: none;
  min-height: 118px;
}
.illenschwang-site #site-header-inner::before,
.illenschwang-site #site-header-inner::after { content: none; }
.illenschwang-site #site-logo { float: none; margin: 0; padding: 0; }
.illenschwang-site #site-logo #site-logo-inner { height: auto; }
.illenschwang-site #site-logo #site-logo-inner a img { display: block; width: auto; height: 90px; max-width: none; max-height: none; }
.illenschwang-site #site-navigation-wrap { right: auto; float: none; justify-self: stretch; width: 100%; }
.illenschwang-site #site-navigation { width: 100%; }
.illenschwang-site #site-navigation-wrap .menu-item-home { display: none; }
.illenschwang-site #site-navigation-wrap .dropdown-menu { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
.illenschwang-site #site-navigation-wrap .dropdown-menu > li > a {
  padding: 0 14px;
  color: var(--bi-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 118px;
  letter-spacing: .1px;
}
.illenschwang-site #site-navigation-wrap .dropdown-menu > li > a:hover { color: var(--bi-green); }
.illenschwang-site .dropdown-menu .sub-menu { border-color: var(--bi-gold); background: var(--bi-paper); }
.illenschwang-site .dropdown-menu .sub-menu a.menu-link { font-family: Georgia, serif; font-size: 16px; }
.illenschwang-site #site-header-inner > .oceanwp-mobile-menu-icon { grid-column: 2; grid-row: 1; justify-self: end; margin: 0; }
.illenschwang-site .oceanwp-mobile-menu-icon a { padding: 0; color: var(--bi-ink); font-family: Georgia, serif; font-size: 17px; font-weight: 400; line-height: 90px; letter-spacing: 0; }
.illenschwang-site #mobile-dropdown { background: var(--bi-paper); }
.illenschwang-site #mobile-dropdown a { font-family: Georgia, serif; }


/* Originalwappen, echte Kontaktdaten und bestehende Navigationsziele. */
.illenschwang-site #footer { padding-top: 12px; border-top: 2px solid var(--bi-gold); background: var(--bi-green-dark); }
.illenschwang-site .bi-footer-grid { display: grid; grid-template-columns: .7fr 1.4fr 1fr .8fr; gap: 40px; width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 40px 0; }
.illenschwang-site .bi-footer-grid > * { min-width: 0; }
.illenschwang-site .bi-footer-crest .custom-logo { width: auto; height: 124px; max-height: none; }
.illenschwang-site #footer .bi-footer-grid h2 { margin: 0 0 18px; color: #e8d7a7; font-family: Georgia, serif; font-size: 15px; font-weight: 400; line-height: 1.5; letter-spacing: .5px; text-transform: uppercase; }
.illenschwang-site #footer .bi-footer-grid a,
.illenschwang-site #footer .bi-footer-grid address { color: #fffdf4; font-family: Georgia, serif; font-size: 16px; font-style: normal; line-height: 1.65; }
.illenschwang-site .bi-footer-contact address { margin-bottom: 12px; }
.illenschwang-site .bi-footer-contact > a { overflow-wrap: anywhere; }
.illenschwang-site .bi-footer-nav ul { margin: 0; padding: 0; list-style: none; }
.illenschwang-site .bi-footer-nav li a { display: inline-block; padding: 2px 0; }
.illenschwang-site #footer .bi-footer-grid a:hover { color: #f0d479; }
.illenschwang-site #footer .bi-footer-social > a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: 4px; border: 1px solid #e5d29d66; border-radius: 50%; font-size: 22px; }
.illenschwang-site #footer-bottom { padding: 18px 0; border-top: 1px solid #d1bc7833; background: transparent; }
.illenschwang-site #footer-bottom #copyright { float: none; width: 100%; padding: 0; text-align: center; }
.illenschwang-site #footer-bottom #copyright,
.illenschwang-site #footer-bottom a { color: #fffdf4; font-family: Georgia, serif; font-size: 14px; line-height: 1.6; }


/* Content pages keep their existing markup, images and text. */
.illenschwang-site:not(.home) #main #content-wrap { width: min(1200px, calc(100% - 64px)); max-width: none; margin: 0 auto; padding: 28px 0 56px; }
.illenschwang-site:not(.home).content-full-width #primary { width: 100%; padding: 0; border: 0; }
.illenschwang-site:not(.home) #main .page-header { padding: 26px 0; border-bottom: 1px solid var(--bi-line); background: transparent; }
.illenschwang-site:not(.home) .page-header .container { width: min(1200px, calc(100% - 64px)); max-width: none; }
.illenschwang-site:not(.home) .page-header .page-header-title { margin: 0; color: var(--bi-green-dark); font-family: Georgia, serif; font-size: clamp(28px, 3vw, 39px); font-weight: 400; line-height: 1.25; letter-spacing: 0; }
.illenschwang-site .site-breadcrumbs { font-family: Georgia, serif; font-size: 13px; letter-spacing: 0; }
.illenschwang-site:not(.home).elementor-kit-88 {
 --e-global-color-primary: #245337;
 --e-global-color-text: #29372d;
 --e-global-color-accent: #af8b43;
 --e-global-typography-primary-font-family: Georgia;
 --e-global-typography-secondary-font-family: Georgia;
 --e-global-typography-text-font-family: Georgia;
 --e-global-typography-accent-font-family: Georgia;
 font-family: Georgia, "Times New Roman", serif;
}
.illenschwang-site:not(.home) h1,
.illenschwang-site:not(.home) h2,
.illenschwang-site:not(.home) h3,
.illenschwang-site:not(.home) h4,
.illenschwang-site:not(.home) h5 { color: var(--bi-green-dark); font-family: Georgia, serif; line-height: 1.3; letter-spacing: 0; }
.illenschwang-site:not(.home) .elementor .elementor-widget-heading .elementor-heading-title { color: var(--bi-green-dark); font-family: Georgia, serif; font-size: clamp(25px, 2.5vw, 34px); font-weight: 400; line-height: 1.3; letter-spacing: 0; }
.illenschwang-site:not(.home) .elementor .elementor-widget-text-editor { color: var(--bi-ink); font-family: Georgia, serif; font-size: 18px; line-height: 1.7; }
.illenschwang-site:not(.home) .entry-content,
.illenschwang-site:not(.home) .elementor-widget-text-editor p,
.illenschwang-site:not(.home) .elementor-widget-text-editor li { font-family: Georgia, serif; line-height: 1.7; letter-spacing: 0; }
.illenschwang-site:not(.home) .entry a,
.illenschwang-site:not(.home) .elementor a { font-family: Georgia, serif; color: var(--bi-green); text-underline-offset: 4px; }
.illenschwang-site:not(.home) .elementor .elementor-spacer-inner { max-height: 32px; }
.illenschwang-site:not(.home) .elementor-widget-image img,
.illenschwang-site:not(.home) .swiper-slide-image { border-radius: 5px; }
.illenschwang-site:not(.home) .elementor-image-carousel-wrapper { --swiper-theme-color: #245337; }
.illenschwang-site:not(.home) .elementor-image-carousel-caption { color: var(--bi-ink); font-family: Georgia, serif; font-size: 16px; line-height: 1.4; }
.illenschwang-site:not(.home) .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1200px; }
.illenschwang-site .sidebar-box { color: var(--bi-ink); font-family: Georgia, serif; font-size: 16px; line-height: 1.65; }
.illenschwang-site .sidebar-box .widget-title { color: var(--bi-green-dark); font-family: Georgia, serif; font-size: 20px; line-height: 1.35; }

/* Forms retain their original fields, labels and calculations. */
.illenschwang-site .wpcf7 { max-width: 900px; margin: 26px 0; }
.illenschwang-site .wpcf7 form { padding: 30px; border: 1px solid var(--bi-line); border-radius: 6px; background: #fffdf8; font-family: Georgia, serif; font-size: 17px; line-height: 1.6; }
.illenschwang-site .wpcf7 form p { margin-bottom: 20px; font-size: 17px; }
.illenschwang-site .wpcf7 label { display: block; color: var(--bi-green-dark); font-family: Georgia, serif; font-size: 17px; line-height: 1.55; }
.illenschwang-site .wpcf7 input[type="text"],
.illenschwang-site .wpcf7 input[type="email"],
.illenschwang-site .wpcf7 input[type="tel"],
.illenschwang-site .wpcf7 input[type="number"],
.illenschwang-site .wpcf7 input[type="date"],
.illenschwang-site .wpcf7 select,
.illenschwang-site .wpcf7 textarea { display: block; width: 100%; max-width: 100%; min-height: 48px; margin-top: 7px; padding: 11px 13px; border: 1px solid #cfc5ad; border-radius: 4px; background: #fff; color: var(--bi-ink); font-family: Georgia, serif; font-size: 17px; line-height: 1.5; box-shadow: none; }
.illenschwang-site .wpcf7 textarea { min-height: 160px; resize: vertical; }
.illenschwang-site .wpcf7 input:focus,
.illenschwang-site .wpcf7 select:focus,
.illenschwang-site .wpcf7 textarea:focus { border-color: var(--bi-green); outline: 2px solid #24533733; outline-offset: 2px; }
.illenschwang-site .wpcf7 input[type="submit"] { width: auto; min-height: 48px; padding: 12px 28px; border: 1px solid var(--bi-gold); border-radius: 4px; background: var(--bi-green-dark); color: #fffdf4; font-family: Georgia, serif; font-size: 18px; line-height: 1.4; text-transform: none; letter-spacing: 0; cursor: pointer; }
.illenschwang-site .wpcf7 input[type="submit"]:hover { background: var(--bi-green); }
.illenschwang-site .wpcf7 .wpcf7-list-item { margin-left: 0; margin-right: 18px; }
.illenschwang-site .wpcf7 .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 9px; }
.illenschwang-site .wpcf7 .wpcf7-not-valid-tip { margin-top: 5px; font-family: Georgia, serif; font-size: 14px; }
.illenschwang-site .wpcf7 .wpcf7-response-output { padding: 12px 16px; border-radius: 4px; font-family: Georgia, serif; font-size: 16px; }
.illenschwang-site .wpcf7 table { width: 100%; font-family: Georgia, serif; font-size: 16px; }
.illenschwang-site .wpcf7 table th,
.illenschwang-site .wpcf7 table td { padding: 12px 9px; border-color: var(--bi-line); }

/* Existing articles and archive entries. */
.illenschwang-site:not(.home) .blog-entry { margin-bottom: 28px; padding: 26px; border: 1px solid var(--bi-line); border-radius: 6px; background: #fffdf8; }
.illenschwang-site:not(.home) .blog-entry .entry-title,
.illenschwang-site:not(.home) .blog-entry .entry-title a { color: var(--bi-green-dark); font-family: Georgia, serif; font-size: 28px; line-height: 1.3; letter-spacing: 0; }
.illenschwang-site:not(.home) .entry-title { color: var(--bi-green-dark); font-family: Georgia, serif; font-size: clamp(27px, 3vw, 38px); line-height: 1.3; }
.illenschwang-site:not(.home) .single-post-title { font-family: Georgia, serif; }
.illenschwang-site:not(.home) .single-post .entry-content { font-size: 18px; }
.illenschwang-site .blog-entry-readmore a { border-color: var(--bi-gold); border-radius: 4px; font-family: Georgia, serif; }

/* The Events Calendar: native calendar behavior, shared visual design. */
.illenschwang-site .tribe-common,
.illenschwang-site .tribe-events { --tec-font-family-sans-serif: Georgia, serif; --tec-font-family-base: Georgia, serif; --tec-color-text-primary: #29372d; --tec-color-link-primary: #245337; --tec-color-accent-primary: #245337; --tec-color-button-primary: #245337; --tec-color-button-primary-hover: #103b29; --tec-color-background: #faf7ef; }
.illenschwang-site .tribe-events .tribe-events-c-top-bar__datepicker-button,
.illenschwang-site .tribe-events .tribe-events-calendar-list__event-title-link,
.illenschwang-site .tribe-events-single-event-title { color: var(--bi-green-dark); font-family: Georgia, serif; }
.illenschwang-site .tribe-events .tribe-events-calendar-list__event-title-link { font-size: 27px; line-height: 1.35; }
.illenschwang-site .tribe-events .tribe-events-calendar-list__event-row { padding: 22px 0; border-bottom: 1px solid var(--bi-line); }
.illenschwang-site .tribe-events .tribe-events-c-events-bar { border-color: var(--bi-line); border-radius: 5px; background: #fffdf8; }
.illenschwang-site .tribe-events .tribe-events-c-search__button { border-radius: 4px; background: var(--bi-green-dark); font-family: Georgia, serif; }
.illenschwang-site .tribe-events .tribe-events-calendar-month__day-cell { background: #fffdf8; }
.illenschwang-site .tribe-events-single { padding: 28px; border: 1px solid var(--bi-line); border-radius: 6px; background: #fffdf8; }
.illenschwang-site .tribe-events-single .tribe-events-schedule h2 { font-family: Georgia, serif; font-size: 20px; font-weight: 400; }

@media (max-width: 1100px) {
 .illenschwang-site #site-header-inner { gap: 24px; }
 .illenschwang-site #site-navigation-wrap .dropdown-menu { gap: 2px; }
 .illenschwang-site #site-navigation-wrap .dropdown-menu > li > a { padding: 0 12px; font-size: 16px; }
 .illenschwang-site .bi-footer-grid { grid-template-columns: .7fr 1.4fr 1fr; gap: 30px; }
 .illenschwang-site .bi-footer-social { grid-column: 2 / -1; }
}
@media (max-width: 767px) {
 .illenschwang-site #site-header-inner { grid-template-columns: 120px minmax(0, 1fr); min-height: 169px; width: calc(100% - 40px); }
 .illenschwang-site #site-logo #site-logo-inner a img { height: 120px; }
 .illenschwang-site .oceanwp-mobile-menu-icon a { font-size: 27px; line-height: 169px; }
 body.illenschwang-site .oceanwp-mobile-menu-icon a .oceanwp-text,
 body.illenschwang-site .oceanwp-mobile-menu-icon a .oceanwp-close-text,
 body.illenschwang-site .oceanwp-mobile-menu-icon a i { font-size: 27px; }
 .illenschwang-site:not(.home) #main #content-wrap { width: calc(100% - 36px) !important; padding: 22px 0 38px; }
 .illenschwang-site:not(.home) #main .page-header { padding: 22px 0; }
 .illenschwang-site:not(.home) .page-header .container { width: calc(100% - 36px); }
 .illenschwang-site .site-breadcrumbs { position: static; margin-top: 10px; line-height: 1.5; }
 .illenschwang-site .wpcf7 form { padding: 22px 18px; }
 .illenschwang-site .wpcf7 table { display: block; max-width: 100%; overflow-x: auto; }
 .illenschwang-site:not(.home) .blog-entry { padding: 20px; }
 .illenschwang-site .tribe-events-single { padding: 22px 18px; }
 .illenschwang-site .bi-footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px 24px; width: calc(100% - 40px); padding: 30px 0; }
 .illenschwang-site .bi-footer-crest .custom-logo { height: 110px; }
 .illenschwang-site .bi-footer-social { grid-column: auto; }
 .illenschwang-site #footer-bottom #copyright { text-align: center; }
}

/* Keep long article links and galleries within the available viewport. */
.illenschwang-site:not(.home) #primary { min-width: 0; }
.illenschwang-site:not(.home) .entry-content { overflow-wrap: anywhere; }
.illenschwang-site .tribe-events .tribe-events-l-container { padding-top: 32px; padding-bottom: 32px; min-height: 0; }
@media (max-width: 767px) {
 .illenschwang-site .wp-block-kadence-advancedgallery .kb-gallery-ul.kb-gallery-type-masonry { width: 100% !important; height: auto !important; display: grid; gap: 20px; margin-left: 0; margin-right: 0; }
 .illenschwang-site .wp-block-kadence-advancedgallery .kb-gallery-type-masonry .kadence-blocks-gallery-item { width: 100% !important; position: static !important; transform: none !important; }
 .illenschwang-site #related-posts .oceanwp-row { display: flex; flex-wrap: wrap; width: auto; margin: 0; }
 .illenschwang-site #related-posts .related-post { float: none; width: 100%; padding: 0; }
 .illenschwang-site .tribe-events .tribe-events-calendar-list__event { margin-left: 0; margin-right: 0; }
 .illenschwang-site .tribe-events .tribe-events-calendar-list__event-details { min-width: 0; padding-left: 0; padding-right: 0; }
}
body.illenschwang-site.single-post.content-max-width #main #content-wrap { width: min(1200px, calc(100% - 64px)); }
@media (max-width: 767px) {
 body.illenschwang-site.single-post.content-max-width #main #content-wrap { width: calc(100% - 36px) !important; }
}

.illenschwang-site #respond { padding: 26px; border: 1px solid var(--bi-line); border-radius: 6px; background: #fffdf8; }
.illenschwang-site #respond input:not([type="checkbox"]):not([type="submit"]),
.illenschwang-site #respond textarea { max-width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cfc5ad; border-radius: 4px; background: white; color: var(--bi-ink); font-family: Georgia, serif; font-size: 17px; }
.illenschwang-site #respond input[type="submit"] { min-height: 48px; border: 1px solid var(--bi-gold); border-radius: 4px; background: var(--bi-green-dark); color: #fffdf4; font-family: Georgia, serif; font-size: 17px; letter-spacing: 0; text-transform: none; }

/* The page header already supplies the title; remove the duplicate in the body. */
body.page-id-194 #main .elementor-element-0237915 h1 { display: none; }
