/*
Theme Name: PionierPress Theme, Copyright 2025 PionierGarage e.V.
Theme URI: https://pioniergarage.de
Author: Marc Hudnut
Author URI: https://marc.hudnut.de/
Description: Consistent, mobile-friendly, extensible theme for PionierGarage website properties.
Version: 0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: karlsruhe-startup
*/
/* CSS Custom Properties */
:root {
  /* Colors */
  --color-primary: #000;
  --color-secondary: #fff;
  --color-accent: #2563eb;
  --color-layout-bg: #000;
  --color-gray-light: #e7e7e7;
  --color-gray-medium: #666;
  --color-transparent: transparent;
  /* Specialty colors */
  --color-uni-support: #add8e6;
  --color-student-group: #ade6b1;
  /* Typography */
  --font-primary: "500 1.1em Rubik, sans-serif";
  --font-heading: "500 xx-large Dela Gothic One, sans-serif";
  --font-logo: "900 italic x-large/normal Rubik, sans-serif";
  --font-size-base: 1rem;
  --font-size-large: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 2rem;
  --line-height-tight: 0.9;
  --letter-spacing-tight: -1px;
  /* Spacing */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 4rem;
  /* Border radius */
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-pill: 24px;
  --radius-round: 50%;
  /* Layout */
  --container-max-width: 1024px;
  --mobile-breakpoint: 960px;
  --content-margin: auto
      /* Transitions */
      --transition-fast: 0.1s;
  --transition-medium: 0.3s;
  --transition-slow: 0.5s;
  /* Z-index scale */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

/* Element Styles */
html,
body {
  margin: 0;
  padding: 0;
  font: var(--font-primary);
  color: var(--color-primary);
  background-color: dark;
  flex-wrap: wrap;
  flex-flow: column;
  align-items: center;
  align-content: center;
  text-align: start;
  overflow-y: scroll;
  overflow-x: unset;
  max-width: 100vw;
  background-color: var(--color-primary);
}

header {
  margin: unset;
  padding: 0.5em 0;
  background: var(--color-secondary);
}

p,
a {
  margin: unset;
  padding: unset;
}

h1 {
  font: var(--font-heading);
  font-size: 2em;
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -1px;
  margin: 0;
}

h2,
ul {
  margin: 0.25em 0;
}

h2 {
  font: var(--font-heading);
  line-height: 0.9;
  letter-spacing: -1px;
}

/* Scoped Styles */
.site-main {
  background-color: var(--color-secondary);
}

.item-container {
  display: inline-flex;
  font: var(--font-logo);
}

.item-container a,
.item-container .menu-item {
  text-decoration: none;
  color: var(--color-secondary);
  transition-duration: 0.1s;
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
}

.item-container ul {
  list-style: none;
}

.item-container a:hover {
  color: var(--color-accent);
  transition-duration: 0.1s;
}

.header-wrapper {
  display: flex;
  justify-content: space-between;
  background-color: var(--color-layout-bg);
  margin: 0 var(--spacing-sm);
  border-radius: var(--radius-xl);
  padding: var(--spacing-sm) var(--spacing-lg);
}

.logo {
  font: var(--font-logo);
  text-transform: uppercase;
}

.footer-wrapper {
  display: flex;
  justify-content: space-between;
  background-color: var(--color-layout-bg);
  margin: unset;
  margin-bottom: 0;
  border-radius: unset;
  padding: var(--spacing-sm);
  flex-wrap: wrap;
}

.footer-wrapper > a {
  display: inline;
  flex-direction: row;
  padding: 0.5em;
}

.footer-menu {
  display: inline-flex;
  justify-content: space-between;
}

.footer-nav {
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
  padding: unset;
  justify-content: center;
}

.mobile-header {
  background-color: var(--color-layout-bg);
  display: none;
}

.mobile-header-wrapper {
  display: none;
}

.content {
  margin: 0 auto;
  padding: 8px;
  max-width: 800px;
  padding-top: 1em;
}

.content p {
  line-height: 1.75;
}

button,
.wp-block-button__link.startup-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border: none;
  border-radius: 24px;
  background-color: #000;
  color: #fff;
  font-style: italic;
  font-size: large;
  font-weight: 900;
  transition-duration: 0.1s;
}

button:hover,
.wp-block-button__link.startup-button:hover,
.wp-block-button a:hover {
  background-color: var(--color-accent);
  color: var(--color-primary);
}

.desktop-nav {
  display: flex;
  gap: 2em;
}

.desktop-nav__list {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  gap: 2em;
  margin: var(--spacing-sm);
}

.mobile-hamburger {
  display: none;
  color: var(--color-secondary);
}

.mobile-nav {
  display: flex;
  margin: unset;
  padding: inherit;
  flex-direction: column;
  padding: var(--spacing-sm);
}

.mobile-header-wrapper {
  margin: unset;
  padding: inherit;
  flex-direction: column;
  background-color: var(--color-layout-bg);
}

.mobile-language-switcher-container {
  margin: unset;
  margin-bottom: 0.5em;
  padding: 0 1em;
  display: flex;
  justify-content: end;
}

.mobile-nav .menu-item {
  padding-top: 0.5em;
}

/* Wordpress Theming */
.wp-block-media-text {
  background-color: var(--color-gray-light);
  border-radius: 1em;
  padding: unset;
}

.wp-block-media-text > .wp-block-media-text__content {
  padding: 0.5em 8%;
}

.wp-block-media-text__media {
  height: 100%;
}

.wp-block-media-text__media img,
.wp-block-media-text__media video {
  border-radius: 1em;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.wp-block-quote {
  overflow-wrap: break-word;
  border-radius: 1em;
  padding: 0.5em;
  margin: unset;
  background: var(--color-gray-light);
}

.is-layout-flex {
  justify-content: center;
}

/* Responsive Design */
@media (max-width: 960px) {
  .mobile-header {
    display: block;
  }
  .mobile-header-wrapper {
    display: flex;
  }
  .desktop-nav {
    display: none;
  }
  .mobile-hamburger {
    display: inline-flex;
    flex-shrink: 1;
    background-color: unset;
    padding: 4px;
  }
  .header-wrapper {
    margin: unset;
    border-radius: unset;
    padding: 1em 4px;
    border-bottom: 1px solid var(--color-secondary);
  }
  header {
    padding: unset;
  }
}
.hidden {
  display: none;
}/*# sourceMappingURL=style.css.map */