/**
 * RettBase Markenfarben (Campus design.md)
 * Hero Red   #E63946
 * Deep Slate #2B2D42
 * Body Text  #2B2D24
 * Soft Shell #F8F9FA
 * Alert Orange #F4A261
 */

:root {
  --rettbase-hero-red: #e63946;
  --rettbase-deep-slate: #2b2d42;
  --rettbase-body-text: #2b2d24;
  --rettbase-soft-shell: #f8f9fa;
  --rettbase-alert-orange: #f4a261;
  --rettbase-white: #ffffff;
}

body {
  color: var(--rettbase-body-text);
  background-color: var(--rettbase-soft-shell);
}

/* Header */
#mainnav,
.header-clone,
#mainnav ul ul {
  background-color: var(--rettbase-soft-shell);
}

#mainnav ul li a,
.site-header .header-contact a,
.site-header .custom-logo-link + .site-title a {
  color: var(--rettbase-deep-slate);
}

#mainnav ul li a:hover,
#mainnav ul li.current-menu-item > a {
  color: var(--rettbase-hero-red);
}

/* Buttons */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.roll-button,
.text-slider .button,
.header-button .roll-button,
.onoffswitch-label,
.widget-area .widget::before,
.panel-grid-cell .widget-title::before,
.backstretch:after,
button.menu-toggle,
#mainnav ul li a::after,
.post-navigation,
.post-navigation .nav-previous,
.post-navigation .nav-next,
.paging-navigation div,
.paging-navigation .page-numbers,
.widget-area .widget::before,
.comment-respond .comment-reply-title,
.panel-grid-cell .widget-title::before {
  background-color: var(--rettbase-deep-slate);
}

.roll-button:hover,
.text-slider .button:hover,
.header-button .roll-button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background-color: var(--rettbase-hero-red);
}

/* Footer */
.rettbase-site-footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(168deg, #1f2133 0%, var(--rettbase-deep-slate) 52%, #1a1c2e 100%);
  color: rgba(255, 255, 255, 0.82);
  padding: clamp(28px, 4vw, 40px) 16px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.rettbase-site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 12% 0%, rgba(230, 57, 70, 0.12), transparent 55%),
    radial-gradient(ellipse 55% 45% at 88% 100%, rgba(248, 249, 250, 0.06), transparent 50%);
  pointer-events: none;
}

.rettbase-site-footer__inner {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 24px);
}

.rettbase-site-footer__top {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rettbase-site-footer__nav-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  max-width: 720px;
  margin: 0 auto;
}

.rettbase-site-footer__nav-col h3 {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(248, 249, 250, 0.88);
}

.rettbase-site-footer__nav-col a {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.rettbase-site-footer__nav-col a:hover {
  color: #ffffff;
  transform: translateX(3px);
  text-decoration: none;
}

.rettbase-site-footer__bottom {
  padding-top: 16px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.68);
}

.rettbase-site-footer__meta {
  margin: 0;
}

@media (min-width: 400px) and (max-width: 819px) {
  .rettbase-site-footer__nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
  }
}

@media (min-width: 820px) {
  .rettbase-site-footer__nav-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    max-width: none;
  }
}

.site-footer,
.shfb-footer {
  display: none !important;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title a {
  color: var(--rettbase-body-text);
}

/* Links */
a {
  color: var(--rettbase-hero-red);
}

a:hover {
  color: var(--rettbase-deep-slate);
}

/* Sydney Front-page sections */
.panel-grid-cell .widget-title {
  color: var(--rettbase-body-text);
}

/* Kontakt / Hinweise */
.rettbase-notice {
  background-color: rgba(244, 162, 97, 0.15);
  border-left: 4px solid var(--rettbase-alert-orange);
  color: var(--rettbase-body-text);
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
}

/* Header-Inhalt: Abstand zum Rand (Logo nah am linken Rand) */
.shfb-main_header_row .container,
.shfb-header .shfb-main_header_row > .container {
  padding-left: 0;
  padding-right: clamp(20px, 4vw, 48px);
  max-width: 100%;
  box-sizing: border-box;
}

.shfb-main_header_row .shfb-column-1,
.shfb-header .shfb-component-logo,
.shfb-header .shfb-component-logo .site-branding {
  padding-left: 0 !important;
  margin-left: 0 !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

.shfb-header .shfb-component-logo .site-title a {
  margin-left: 0;
  background-position: left center;
}

/* Header über Hero-Layer (Float-Styles in rettbase-header-menu-fix) */
.shfb-header.shfb-desktop,
.shfb-header.shfb-mobile {
  z-index: 1000;
}

.shfb-header .shfb-main_header_row {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
}

html.admin-bar .shfb-header .shfb-main_header_row,
html.admin-bar .shfb-header .shfb-main_header_row.shfb-sticky-header,
html.admin-bar.sticky-header-active .shfb-header .shfb-main_header_row,
html.admin-bar .header-clone {
  top: var(--wp-admin--admin-bar--height, 32px) !important;
}

@media screen and (max-width: 782px) {
  html.admin-bar .shfb-header .shfb-main_header_row,
  html.admin-bar .shfb-header .shfb-main_header_row.shfb-sticky-header,
  html.admin-bar.sticky-header-active .shfb-header .shfb-main_header_row,
  html.admin-bar .header-clone {
    top: 46px !important;
  }
}

.shfb-header.shfb-desktop .main-navigation #primary-menu > li > a.sydney-dropdown-link,
.shfb-header.shfb-desktop .main-navigation .menu > li > a.sydney-dropdown-link,
.shfb-component-menu #primary-menu > li > a.sydney-dropdown-link,
.shfb-component-menu .menu > li > a.sydney-dropdown-link {
  color: var(--rettbase-deep-slate) !important;
}

.shfb-header.shfb-desktop .main-navigation #primary-menu > li > a.sydney-dropdown-link + .dropdown-symbol svg,
.shfb-header.shfb-desktop .main-navigation .dropdown-symbol svg,
.shfb-component-search .header-search svg,
.shfb-component-search .header-search .sydney-svg-icon,
.btn-menu .sydney-svg-icon,
.shfb-component-mobile_hamburger .menu-toggle svg {
  fill: var(--rettbase-deep-slate) !important;
  color: var(--rettbase-deep-slate) !important;
}

.shfb-header.shfb-desktop .main-navigation #primary-menu > li > a.sydney-dropdown-link:hover,
.shfb-header.shfb-desktop .main-navigation #primary-menu > li.current-menu-item > a.sydney-dropdown-link,
.shfb-header.shfb-desktop .main-navigation .menu > li > a.sydney-dropdown-link:hover,
.shfb-component-menu #primary-menu > li > a.sydney-dropdown-link:hover {
  color: var(--rettbase-hero-red) !important;
}

.shfb-header.shfb-desktop .sub-menu.sydney-dropdown-ul,
.shfb-header.shfb-desktop .sub-menu.sydney-dropdown-ul li.sydney-dropdown-li,
.shfb-header.shfb-desktop .main-navigation .sub-menu.sydney-dropdown-ul {
  background-color: var(--rettbase-deep-slate) !important;
}

.shfb-header.shfb-desktop .main-navigation #primary-menu .sub-menu.sydney-dropdown-ul > li > a.sydney-dropdown-link,
.shfb-header.shfb-desktop .main-navigation ul.sub-menu.sydney-dropdown-ul a.sydney-dropdown-link,
.sticky-header-active .shfb-header.shfb-desktop .main-navigation #primary-menu .sub-menu.sydney-dropdown-ul > li > a.sydney-dropdown-link,
.sticky-header-active .shfb-header.shfb-desktop .main-navigation ul.sub-menu.sydney-dropdown-ul a.sydney-dropdown-link {
  color: var(--rettbase-soft-shell) !important;
}

.shfb-header.shfb-desktop .main-navigation #primary-menu .sub-menu.sydney-dropdown-ul > li > a.sydney-dropdown-link:hover,
.shfb-header.shfb-desktop .main-navigation ul.sub-menu.sydney-dropdown-ul a.sydney-dropdown-link:hover {
  color: var(--rettbase-hero-red) !important;
}

/* Mobile Offcanvas – #mobile-menu (nicht #primary-menu) */
.shfb-mobile_offcanvas,
.shfb-mobile_offcanvas.sydney-offcanvas-menu {
  background-color: var(--rettbase-deep-slate) !important;
}

.shfb-mobile_offcanvas .container,
.shfb-mobile_offcanvas .shfb-mobile-offcanvas-rows,
.shfb-mobile_offcanvas .mobile-offcanvas-menu-content,
.shfb-mobile_offcanvas #mainnav,
.shfb-mobile_offcanvas #mobile-menu,
.shfb-mobile_offcanvas .sydney-dropdown-ul,
.shfb-mobile_offcanvas .sydney-dropdown-ul > li {
  background-color: transparent !important;
}

.shfb-mobile_offcanvas #mainnav a.sydney-dropdown-link,
.shfb-mobile_offcanvas #mobile-menu a.sydney-dropdown-link,
.sydney-offcanvas-menu #mainnav a.sydney-dropdown-link,
.sydney-offcanvas-menu #mobile-menu a.sydney-dropdown-link {
  color: var(--rettbase-soft-shell) !important;
  background-color: transparent !important;
}

.shfb-mobile_offcanvas #mainnav a.sydney-dropdown-link:hover,
.shfb-mobile_offcanvas #mobile-menu a.sydney-dropdown-link:hover,
.shfb-mobile_offcanvas #mainnav li.current-menu-item > a.sydney-dropdown-link,
.shfb-mobile_offcanvas #mobile-menu li.current-menu-item > a.sydney-dropdown-link {
  color: var(--rettbase-hero-red) !important;
}

.shfb-mobile_offcanvas #mainnav .sub-menu.sydney-dropdown-ul,
.shfb-mobile_offcanvas .sub-menu.sydney-dropdown-ul {
  background-color: rgba(0, 0, 0, 0.18) !important;
}

.shfb-mobile_offcanvas #mainnav .sub-menu.sydney-dropdown-ul a.sydney-dropdown-link,
.shfb-mobile_offcanvas .sub-menu.sydney-dropdown-ul a.sydney-dropdown-link {
  color: var(--rettbase-soft-shell) !important;
}

.shfb-mobile_offcanvas #mainnav .sub-menu.sydney-dropdown-ul a.sydney-dropdown-link:hover,
.shfb-mobile_offcanvas .sub-menu.sydney-dropdown-ul a.sydney-dropdown-link:hover {
  color: var(--rettbase-hero-red) !important;
}

.shfb-mobile_offcanvas .dropdown-symbol svg,
.shfb-mobile_offcanvas a.sydney-dropdown-link + .dropdown-symbol svg,
.shfb-mobile_offcanvas .mobile-menu-close svg {
  fill: var(--rettbase-soft-shell) !important;
}

.shfb-mobile_offcanvas .mobile-menu-close:hover svg {
  fill: var(--rettbase-hero-red) !important;
}

.custom-logo-link img,
.shfb-component-logo .custom-logo-link img,
.shfb-component-logo img.site-logo {
  max-height: 93px;
  width: auto;
  height: auto;
}

/* Logo gesetzt → Tagline ausblenden, Titel-Link bleibt klickbar */
.wp-custom-logo .site-description,
.shfb-component-logo .site-description {
  display: none !important;
}

/* Business-Seiten ohne Blog-Sidebar / Default-Widgets */
.home #secondary,
.page #secondary,
.home .sidebar-column,
.page .sidebar-column,
.home .widget-area,
.page .widget-area,
.home aside.widget,
.page aside.widget {
  display: none !important;
}

.home #primary,
.page #primary,
.home .content-area,
.page .content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Sydney globale Markenfarben überschreiben */
:root {
  --sydney-global-color-1: #e63946;
  --sydney-global-color-2: #c5303c;
  --sydney-global-color-3: #2b2d42;
  --sydney-global-color-4: #2b2d42;
  --sydney-global-color-6: #2b2d42;
  --sydney-global-color-7: #f8f9fa;
}
