/* Pausenraum site overrides.
   Keep this file small and focused so theme upgrades remain low-risk. */

/*
  Desktop header centering fix:
  Keep side groups in normal flow, but absolutely center the menu itself.
  This keeps the menu centered even when left/right side widths are unequal.
*/
@media (width >= 64rem) {
  .header .navbar {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    min-height: 3.125rem;
  }

  .header .navbar > #nav-menu {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin-inline: 0;
  }

  .header .navbar > .order-1 {
    margin-left: auto;
  }
}

.header .navbar label[for="nav-toggle"] {
  min-height: 2.75rem;
  min-width: 2.75rem;
  justify-content: center;
}

.pausenraum-language-switcher {
  min-height: 2.5rem;
  min-width: 8rem;
}

.theme-switcher label,
.theme-switcher input {
  min-height: 1.5rem;
  min-width: 2.5rem;
}

/*
  Shared CMP theme bridge:
  CookieConsent mounts #cc-main inside <body>, so this site applies the shared
  light theme as the default and overrides it when the runtime dark class exists.
*/
#cc-main {
  --cc-bg: #fffaf4;
  --cc-primary-color: #191611;
  --cc-secondary-color: #655c52;
  --cc-btn-primary-bg: #6f452a;
  --cc-btn-primary-color: #fffaf4;
  --cc-btn-primary-border-color: #6f452a;
  --cc-btn-primary-hover-bg: #5f3821;
  --cc-btn-primary-hover-color: #fffaf4;
  --cc-btn-primary-hover-border-color: #5f3821;
  --cc-btn-secondary-bg: #ece2d4;
  --cc-btn-secondary-color: #191611;
  --cc-btn-secondary-border-color: #dbc9b6;
  --cc-btn-secondary-hover-bg: #dbc9b6;
  --cc-btn-secondary-hover-color: #191611;
  --cc-btn-secondary-hover-border-color: #c9b39e;
  --cc-separator-border-color: #dbc9b6;
  --cc-cookie-category-block-bg: #f2e8db;
  --cc-cookie-category-block-border: #dbc9b6;
  --cc-cookie-category-block-hover-bg: #ece0d1;
  --cc-cookie-category-block-hover-border: #c9b39e;
  --cc-footer-bg: #ece2d4;
  --cc-footer-color: #655c52;
  --cc-footer-border-color: #dbc9b6;

  background: transparent !important;
  color: var(--cc-primary-color) !important;
}

html.dark #cc-main {
  --cc-bg: #17120e;
  --cc-primary-color: #f4ede5;
  --cc-secondary-color: #beb1a2;
  --cc-btn-primary-bg: #e2ba95;
  --cc-btn-primary-color: #17120e;
  --cc-btn-primary-border-color: #e2ba95;
  --cc-btn-primary-hover-bg: #f4ede5;
  --cc-btn-primary-hover-color: #17120e;
  --cc-btn-primary-hover-border-color: #f4ede5;
  --cc-btn-secondary-bg: #2a2018;
  --cc-btn-secondary-color: #f4ede5;
  --cc-btn-secondary-border-color: #3b3128;
  --cc-btn-secondary-hover-bg: #3b3128;
  --cc-btn-secondary-hover-color: #f4ede5;
  --cc-btn-secondary-hover-border-color: #514335;
  --cc-separator-border-color: #3b3128;
  --cc-cookie-category-block-bg: #221b15;
  --cc-cookie-category-block-border: #3b3128;
  --cc-cookie-category-block-hover-bg: #2a2018;
  --cc-cookie-category-block-hover-border: #514335;
  --cc-footer-bg: #120f0c;
  --cc-footer-color: #beb1a2;
  --cc-footer-border-color: #3b3128;

  background: transparent !important;
  color: var(--cc-primary-color) !important;
}

/* Announcement banner override. */
.announcement {
  position: relative;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 3.2rem 0.9rem 1rem;
  background-color: #fff;
  box-shadow: 1px 0 10px 7px rgb(154 154 154 / 11%);
  text-align: center;
}

.announcement-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: #111827;
  font-size: 1rem;
  line-height: 1.35;
}

.announcement-content a {
  color: #1d4ed8;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.announcement-content a:hover,
.announcement-content a:focus-visible {
  color: #0f172a;
}

.announcement-button {
  position: absolute;
  top: 50%;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.1em;
  height: 1.1em;
  padding: 0 0.5rem;
  border: 1px solid #6b7280;
  border-radius: 50%;
  background: transparent;
  color: #374151;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}

.announcement-hide {
  display: none;
}

.dark .announcement {
  background-color: #222;
}

.dark .announcement-content {
  color: #f3f4f6;
}

.dark .announcement-content a {
  color: #93c5fd;
}

.dark .announcement-content a:hover,
.dark .announcement-content a:focus-visible {
  color: #dbeafe;
}

.dark .announcement-button {
  border-color: #9ca3af;
  color: #e5e7eb;
}

@media (max-width: 640px) {
  .announcement {
    padding-right: 2.8rem;
  }

  .announcement-content a {
    margin-top: 0;
  }
}
