/*
Theme Name: Entschieden für Thüringen
Theme URI: https://www.entschieden-fuer-thueringen.de/
Description: Astra-Child-Theme für Entschieden für Thüringen.
Author: Entschieden für Thüringen
Template: astra
Version: 1.1.5
Text Domain: eft-theme
*/

@font-face {
  font-family: "EFT Nimbus Narrow";
  src: url("assets/fonts/NimbusSansNarrow-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "EFT Nimbus Narrow";
  src: url("assets/fonts/NimbusSansNarrow-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --eft-magenta: #d60078;
  --eft-violet: #702d81;
  --eft-blue: #263986;
  --eft-ink: #171421;
}

html, body { margin: 0; }
body { background: #f5f3f6; color: var(--eft-ink); }
body.home { background: var(--eft-blue); }
body.home #wpadminbar { position: fixed; }

.eft-site-header {
  background: linear-gradient(112deg, #9b247e 0%, #cf0879 67%, #263986 150%);
  color: #fff;
}
.eft-site-header__inner,
.eft-page,
.eft-site-footer__inner {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
}
.eft-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 118px;
  padding-block: 1rem;
}
.eft-site-header .eft-logo { width: 270px; max-width: 50vw; }
.eft-site-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem 1.5rem; }
.eft-site-menu a { color: #fff; font: 700 .88rem/1.2 Arial,sans-serif; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.eft-site-menu .eft-menu__join { font-size: 1.15rem; }
.eft-site-menu a:hover, .eft-site-menu a:focus-visible { text-decoration: underline; text-underline-offset: .35rem; }

.eft-page {
  min-height: 55vh;
  margin-block: clamp(2rem, 5vw, 4.5rem);
  padding: clamp(1.4rem, 4vw, 3.5rem);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(42,25,63,.08);
  font: 400 1rem/1.7 Arial,sans-serif;
}
.eft-page h1, .eft-page h2, .eft-page h3 { color: #712c7f; font-family: "Trebuchet MS",Arial,sans-serif; line-height: 1.2; }
.eft-page h1 { margin-top: 0; font-size: clamp(2rem,4vw,3.25rem); }
.eft-page h2 { margin-top: 2.2rem; font-size: clamp(1.45rem,2.5vw,2rem); }
.eft-page a { color: #9e1f75; }
.eft-page input:not([type="checkbox"]):not([type="radio"]),
.eft-page select,
.eft-page textarea {
  width: 100%; min-height: 48px; padding: .7rem .85rem; border: 2px solid #b9afbd !important;
  border-radius: 5px; background: #fff !important; color: #18131d !important;
}
.eft-page input:focus, .eft-page select:focus, .eft-page textarea:focus { border-color: #a61d76 !important; outline: 3px solid rgba(166,29,118,.14); }
.eft-page button, .eft-page input[type="submit"] { border: 0; border-radius: 5px; padding: .8rem 1.35rem; background: #a61d76; color: #fff; font-weight: 700; }

.eft-site-footer { background: #211b2a; color: rgba(255,255,255,.86); }
.eft-site-footer__inner { display: flex; justify-content: space-between; gap: 1rem 2rem; padding-block: 2rem; font: 400 .88rem/1.6 Arial,sans-serif; }
.eft-site-footer a { color: #fff; text-decoration: none; }
.eft-site-footer a:hover, .eft-site-footer a:focus-visible { text-decoration: underline; }
.eft-site-footer__links { display: flex; flex-wrap: wrap; gap: 1rem; }

.eft-home {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 92% 4%, rgba(226,0,119,.98) 0, rgba(214,0,120,.66) 22%, transparent 54%),
    linear-gradient(150deg, #b21b80 0%, #8d287f 48%, #253b89 100%);
  font-family: "Trebuchet MS", "Arial Narrow", Arial, sans-serif;
}

.admin-bar .eft-home { min-height: calc(100svh - 32px); margin-top: 32px; }
.eft-home *, .eft-home *::before, .eft-home *::after { box-sizing: border-box; }

.eft-header {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1rem, 3vw, 2.25rem) clamp(1rem, 5vw, 4.5rem);
}

.eft-logo {
  display: block;
  width: clamp(220px, 22vw, 325px);
  max-width: 55vw;
  filter: drop-shadow(0 6px 20px rgba(33, 15, 48, .12));
}

.eft-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1.25rem; padding-top: .65rem; }
.eft-menu a {
  color: #fff;
  font: 700 .9rem/1.2 Arial, sans-serif;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: 0 1px 8px rgba(0,0,0,.2);
}
.eft-menu .eft-menu__join { font-size: 1.15rem; }
.eft-menu a:hover, .eft-menu a:focus-visible { text-decoration: underline; text-underline-offset: .35rem; }

.eft-claim {
  position: relative;
  z-index: 3;
  width: min(560px, 56vw);
  margin: clamp(6vh, 12vh, 15vh) auto 16rem;
  font-family: "EFT Nimbus Narrow", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(2rem, 4.1vw, 4.5rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .035em;
  text-transform: uppercase;
  text-shadow: 0 2px 15px rgba(32, 14, 54, .22);
}
.eft-claim strong { font-weight: 700; }

.eft-social {
  position: absolute;
  z-index: 5;
  left: clamp(1.1rem, 4vw, 3.5rem);
  bottom: clamp(8.3rem, 15vw, 11.5rem);
  display: grid;
  gap: .7rem;
}
.eft-social a {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  color: #fff;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.eft-social a:hover, .eft-social a:focus-visible { color: #fff; transform: translateY(-2px) scale(1.08); }
.eft-social svg { width: 1.8rem; height: 1.8rem; fill: currentColor; }

.eft-city {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: auto;
  width: auto;
  height: 26%;
  color: #fff;
}
.eft-city img { display: block; width: auto; height: 100%; }

.eft-slope {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -1px;
  left: 0;
  right: 28.6vh;
  height: 9%;
  background: #fff;
  clip-path: polygon(0 70%, 100% 30%, 100% 100%, 0 100%);
}

.eft-bottom {
  position: absolute;
  z-index: 6;
  right: clamp(1rem, 2.8vw, 2.5rem);
  bottom: 1.05rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--eft-ink);
  font: 700 clamp(.72rem, 1.1vw, .95rem)/1.2 Arial, sans-serif;
}
.eft-bottom a { color: inherit; text-decoration: none; }
.eft-bottom a:hover, .eft-bottom a:focus-visible { text-decoration: underline; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

@media (max-width: 782px) {
  .admin-bar .eft-home { min-height: calc(100svh - 46px); margin-top: 46px; }
  .eft-header { display: block; padding: 1rem; }
  .eft-logo { width: 225px; max-width: 78vw; }
  .eft-menu { justify-content: flex-start; gap: .7rem 1rem; padding-top: 1rem; }
  .eft-menu a { font-size: .78rem; }
  .eft-menu .eft-menu__join { font-size: 1rem; }
  .eft-claim { width: auto; margin: clamp(4rem, 11vh, 7rem) 1.25rem 19rem; font-size: clamp(1.7rem, 8vw, 2.65rem); }
  .eft-social { position: relative; left: auto; bottom: auto; display: flex; margin: -15rem 1.25rem 13rem; }
  .eft-social a { width: 2.4rem; height: 2.4rem; }
  .eft-city { right: 0; left: auto; width: auto; max-width: none; height: 26%; }
  .eft-slope { right: 28.6vh; height: 9%; }
  .eft-bottom { right: 1rem; bottom: .65rem; display: block; max-width: 72vw; text-align: right; }
  .eft-bottom .eft-legal { display: block; margin-top: .3rem; font-weight: 400; }
  .eft-site-header__inner { display: block; min-height: 0; }
  .eft-site-header .eft-logo { width: 230px; max-width: 78vw; }
  .eft-site-menu { justify-content: flex-start; gap: .7rem 1rem; padding-top: 1rem; }
  .eft-page { width: calc(100% - 1rem); margin-block: .5rem 1.5rem; padding: 1.1rem; border-radius: 0 0 7px 7px; }
  .eft-site-footer__inner { display: block; }
  .eft-site-footer__links { margin-top: .8rem; }
}

@media (prefers-reduced-motion: reduce) { .eft-social a { transition: none; } }
