.city-picker{
  margin:0 0 18px;
}
.city-picker-label{
  display:block;
  margin:0 0 10px;
  font-size:13px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#9fb2cf;
}
.city-picker-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.city-choice-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  min-height:132px;
  padding:22px 22px 20px;
  border:1px solid rgba(126,169,236,.24);
  border-radius:24px;
  background:
    radial-gradient(circle at 78% 18%,rgba(74,143,255,.20),transparent 32%),
    linear-gradient(145deg,#102442 0%,#0b1b35 58%,#09172e 100%);
  box-shadow:0 16px 38px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035);
  color:#f7faff;
  text-align:left;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.city-choice-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto -8% 0 30%;
  height:68%;
  opacity:.28;
  background:
    linear-gradient(to top,rgba(92,157,255,.30),transparent 78%),
    repeating-linear-gradient(90deg,transparent 0 17px,rgba(126,181,255,.23) 18px 20px,transparent 21px 35px);
  clip-path:polygon(0 100%,0 62%,8% 62%,8% 39%,17% 39%,17% 69%,26% 69%,26% 28%,35% 28%,35% 57%,44% 57%,44% 44%,53% 44%,53% 71%,62% 71%,62% 22%,72% 22%,72% 51%,82% 51%,82% 35%,91% 35%,91% 64%,100% 64%,100% 100%);
}
.city-choice-card[data-city="Gladbeck"]::before{
  inset:auto -4% 0 24%;
  clip-path:polygon(0 100%,0 70%,10% 70%,10% 49%,21% 49%,21% 63%,31% 63%,31% 31%,40% 31%,40% 55%,50% 55%,50% 42%,61% 42%,61% 68%,72% 68%,72% 37%,83% 37%,83% 59%,92% 59%,92% 48%,100% 48%,100% 100%);
}
.city-choice-card:active{transform:scale(.985)}
.city-choice-card.is-active{
  border-color:#69a7ff;
  box-shadow:0 0 0 2px rgba(88,155,255,.20),0 18px 42px rgba(0,0,0,.23);
}
.city-choice-card.is-active::after{
  content:"✓";
  position:absolute;
  top:16px;
  right:17px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#5598f5;
  color:white;
  font-size:17px;
  font-weight:900;
  box-shadow:0 7px 18px rgba(57,126,226,.34);
}
.city-choice-card:not(.is-active)::after{
  content:"›";
  position:absolute;
  z-index:6;
  top:17px;
  right:18px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(118,174,255,.36);
  border-radius:999px;
  background:rgba(39,92,166,.20);
  color:#a9cbff;
  font-size:23px;
  line-height:1;
  font-weight:750;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.city-choice-name{
  position:relative;
  z-index:1;
  display:block;
  max-width:82%;
  font-size:26px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.025em;
}
.city-choice-meta{
  position:relative;
  z-index:1;
  display:block;
  max-width:82%;
  margin-top:9px;
  color:#afbdd2;
  font-size:14px;
  line-height:1.4;
  font-weight:650;
}
.city-picker + .authority-menu-card{
  margin-top:0;
}
@media (min-width:760px){
  .city-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-choice-card{min-height:150px}
}

/* V2: native iOS authority picker lives directly on each city card. */
.city-picker-intro{
  margin-bottom:18px;
}
.city-choice-card > .city-choice-name,
.city-choice-card > .city-choice-meta{
  pointer-events:none;
}
.city-card-native-select{
  position:absolute;
  z-index:8;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:inherit;
  opacity:0;
  font-size:16px;
  cursor:pointer;
  -webkit-appearance:auto;
  appearance:auto;
  -webkit-tap-highlight-color:transparent;
}
.city-choice-card.is-active::after{
  z-index:6;
  pointer-events:none;
}

/* V3: city-specific line art — no official logos. */
.city-choice-card[data-city="Gelsenkirchen"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:auto;
  right:8px;
  top:auto;
  bottom:3px;
  width:60%;
  height:82%;
  opacity:.34;
  clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MjAgMTkwIj48ZyBmaWxsPSJub25lIiBzdHJva2U9IiM3OGIyZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNDIgMTI4Qzc2IDY4IDEzNyA0MCAyMTAgNDBzMTM0IDI4IDE2OCA4OCIvPjxwYXRoIGQ9Ik02NSAxMzJjMzQtNDMgODUtNjQgMTQ1LTY0czExMSAyMSAxNDUgNjQiLz48cGF0aCBkPSJNODIgMTMyaDI1NiIvPjxwYXRoIGQ9Ik0xMDEgMTMybDE4IDI0aDE4MmwxOC0yNCIvPjxwYXRoIGQ9Ik0xMjYgMTA4aDE2OCIvPjxwYXRoIGQ9Ik0xNTEgMTA4bC0xNiAyNE0yNjkgMTA4bDE2IDI0Ii8+PHBhdGggZD0iTTc0IDEyM1Y3N00zNDYgMTIzVjc3Ii8+PHBhdGggZD0iTTY3IDc3aDE0TTMzOSA3N2gxNCIvPjxwYXRoIGQ9Ik0yMTAgNDBWMjBNMjAxIDIwaDE4Ii8+PC9nPjxnIGZpbGw9IiM3OGIyZmYiIG9wYWNpdHk9Ii4yMCI+PHBhdGggZD0iTTkxIDEzMmgyMzhsLTIwIDI0SDExMXoiLz48cGF0aCBkPSJNMTE4IDEwNWMyNS0yMiA1Ni0zMiA5Mi0zMnM2NyAxMCA5MiAzMnoiLz48L2c+PC9zdmc+") right bottom/contain no-repeat;
}
.city-choice-card[data-city="Gladbeck"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:auto;
  right:10px;
  top:auto;
  bottom:2px;
  width:59%;
  height:84%;
  opacity:.32;
  clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MjAgMTkwIj48ZyBmaWxsPSJub25lIiBzdHJva2U9IiM3OGIyZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNTggMTUxaDMwNCIvPjxwYXRoIGQ9Ik04MiAxNTFWOTJoNzh2NTlNMjYwIDE1MVY5Mmg3OHY1OSIvPjxwYXRoIGQ9Ik0xNjAgMTUxVjcwaDEwMHY4MSIvPjxwYXRoIGQ9Ik0xODUgNzBWNDVoNTB2MjUiLz48cGF0aCBkPSJNMTk5IDQ1VjI0aDIydjIxIi8+PHBhdGggZD0iTTIwNSAyNFYxMmgxMHYxMiIvPjxwYXRoIGQ9Ik0xNzkgOTJoNjIiLz48cGF0aCBkPSJNMTAyIDExMmgxOE0xMzQgMTEyaDE4TTI3OSAxMTJoMThNMzExIDExMmgxOCIvPjxwYXRoIGQ9Ik0xMDIgMTMzaDE4TTEzNCAxMzNoMThNMjc5IDEzM2gxOE0zMTEgMTMzaDE4Ii8+PHBhdGggZD0iTTE4OCAxMTVoMTZ2MzZNMjE2IDExNWgxNnYzNiIvPjxjaXJjbGUgY3g9IjIxMCIgY3k9Ijg0IiByPSI5Ii8+PC9nPjxnIGZpbGw9IiM3OGIyZmYiIG9wYWNpdHk9Ii4xOCI+PHBhdGggZD0iTTgyIDkyaDc4djU5SDgyek0yNjAgOTJoNzh2NTloLTc4ek0xNjAgNzBoMTAwdjgxSDE2MHoiLz48L2c+PC9zdmc+") right bottom/contain no-repeat;
}

/* V4: full-card futuristic local landmarks. */
.city-choice-card{
  min-height:146px;
  background:
    radial-gradient(circle at 82% 17%,rgba(71,143,255,.28),transparent 30%),
    radial-gradient(circle at 32% 120%,rgba(30,97,204,.26),transparent 52%),
    linear-gradient(145deg,#102847 0%,#0a1d39 53%,#07152b 100%);
}
.city-choice-card::before{
  filter:drop-shadow(0 0 8px rgba(83,159,255,.34));
}
.city-choice-card[data-city="Gelsenkirchen"]::before{
  content:""; position:absolute; z-index:-1; inset:0; width:100%; height:100%; opacity:.48; clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MDAgMjUwIj4KPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+PHN0b3Agc3RvcC1jb2xvcj0iIzhmZDBmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzM5N2NmZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPgo8ZyBmaWxsPSJub25lIiBzdHJva2U9InVybCgjZykiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CjxwYXRoIG9wYWNpdHk9Ii4yMiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMzggNDNDMTc1IDQgMzg4IDcgNjUzIDczTTcwIDIxM0MyNDcgMTcxIDQ3NSAxNzcgNjcwIDIyMSIvPgo8ZWxsaXBzZSBvcGFjaXR5PSIuMTgiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjU0MCIgY3k9IjQ0IiByeD0iMTEwIiByeT0iMzEiLz4KPHBhdGggc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNzMgMTY0QzEwNSA4NyAxODkgNDggMzUwIDQ4czI0NSAzOSAyNzcgMTE2Ii8+CjxwYXRoIHN0cm9rZS13aWR0aD0iNCIgZD0iTTk4IDE2M2M0Ny01NSAxMjYtODIgMjUyLTgyczIwNSAyNyAyNTIgODIiLz4KPHBhdGggc3Ryb2tlLXdpZHRoPSI0IiBkPSJNOTEgMTY1aDUxOE0xMTQgMTg1aDQ3MiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjMiIG9wYWNpdHk9Ii43OCIgZD0iTTEzNSAxMTJ2NzRNMTg0IDkxdjk1TTIzNSA3NXYxMTFNMjg2IDYzdjEyM00zNTAgNTV2MTMxTTQxNCA2M3YxMjNNNDY1IDc1djExMU01MTYgOTF2OTVNNTY1IDExMnY3NCIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjUiIGQ9Ik0zMDUgOTFoOTB2OTRoLTkwek0zMjcgOTF2OTRNMzczIDkxdjk0Ii8+CjxwYXRoIHN0cm9rZS13aWR0aD0iMyIgb3BhY2l0eT0iLjciIGQ9Ik0xMjAgMTQzaDE4NU0zOTUgMTQzaDE4NU0xMTIgMTU1aDE5M00zOTUgMTU1aDE5MyIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjMiIGQ9Ik03NSAxNjRsLTE4IDMyTTYyNSAxNjRsMTggMzIiLz4KPC9nPgo8ZyBmaWxsPSIjOGZkMGZmIj48Y2lyY2xlIG9wYWNpdHk9Ii41NSIgY3g9IjkyIiBjeT0iNDYiIHI9IjMiLz48Y2lyY2xlIG9wYWNpdHk9Ii40MiIgY3g9IjY0NSIgY3k9IjM0IiByPSIyLjUiLz48Y2lyY2xlIG9wYWNpdHk9Ii4zNSIgY3g9IjU4MiIgY3k9Ijk1IiByPSIyIi8+PGNpcmNsZSBvcGFjaXR5PSIuMyIgY3g9IjE3NyIgY3k9IjMyIiByPSIyIi8+PC9nPgo8L3N2Zz4=") center/cover no-repeat;
}
.city-choice-card[data-city="Gladbeck"]::before{
  content:""; position:absolute; z-index:-1; inset:0; width:100%; height:100%; opacity:.46; clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MDAgMjUwIj4KPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+PHN0b3Agc3RvcC1jb2xvcj0iIzhmZDBmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzNkODJmZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPgo8ZyBmaWxsPSJub25lIiBzdHJva2U9InVybCgjZykiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CjxwYXRoIG9wYWNpdHk9Ii4yMiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNNDIgNDVDMTg1IDUgNDEzIDE2IDY1NCA2OE03NyAyMTdDMjQxIDE4NCA0NzcgMTgxIDY2MSAyMjEiLz4KPGVsbGlwc2Ugb3BhY2l0eT0iLjE2IiBzdHJva2Utd2lkdGg9IjIiIGN4PSI1NTEiIGN5PSI0OSIgcng9IjEwMSIgcnk9IjI5Ii8+CjxwYXRoIHN0cm9rZS13aWR0aD0iNSIgZD0iTTExOSAxODNWOTVoNzl2ODhNMTk4IDE4M1Y3MmgyODd2MTExTTQ4NSAxODNWMTAzaDg5djgwIi8+CjxwYXRoIHN0cm9rZS13aWR0aD0iNSIgZD0iTTE5OCA3Mmw0Mi0yNWgyMDRsNDEgMjVNMTA4IDk1bDUxLTM0IDQ5IDM0TTQ3NSAxMDNsNTUtMzggNTQgMzgiLz4KPHBhdGggc3Ryb2tlLXdpZHRoPSI0IiBkPSJNMTQ0IDYxVjM3aDI5djI0TTUxNSA2NVYzOWgzMHYyNiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjQiIGQ9Ik0xNTEgMzdjNS0xNiAxMC0yMyAxNS0yOCA2IDYgMTEgMTMgMTUgMjhNNTIyIDM5YzUtMTYgMTAtMjMgMTUtMjggNiA2IDExIDEzIDE1IDI4Ii8+CjxwYXRoIHN0cm9rZS13aWR0aD0iMyIgb3BhY2l0eT0iLjc0IiBkPSJNMjI2IDk0aDMzdjI5aC0zM3pNMjgyIDk0aDMzdjI5aC0zM3pNMzM4IDk0aDMzdjI5aC0zM3pNMzk0IDk0aDMzdjI5aC0zM3oiLz4KPHBhdGggc3Ryb2tlLXdpZHRoPSIzIiBvcGFjaXR5PSIuNzQiIGQ9Ik0yMjYgMTM5aDMzdjI4aC0zM3pNMjgyIDEzOWgzM3YyOGgtMzN6TTMzOCAxMzloMzN2MjhoLTMzek0zOTQgMTM5aDMzdjI4aC0zM3oiLz4KPHBhdGggc3Ryb2tlLXdpZHRoPSI0IiBkPSJNMTY4IDE4M2MwLTI3IDE3LTQ0IDM4LTQ0czM4IDE3IDM4IDQ0TTQzOSAxODNjMC0yNyAxNy00NCAzOC00NHMzOCAxNyAzOCA0NCIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjMiIG9wYWNpdHk9Ii41NSIgZD0iTTc1IDIwMWM5My0xMiAxOTItMTIgMjg2IDAgOTQgMTIgMTg0IDEyIDI3MCAwTTkzIDIxNWM3Ny04IDE2NC04IDI1NyAxIDk4IDkgMTg1IDkgMjc0LTEiLz4KPC9nPgo8ZyBmaWxsPSIjOGZkMGZmIj48Y2lyY2xlIG9wYWNpdHk9Ii41IiBjeD0iODMiIGN5PSI0OSIgcj0iMyIvPjxjaXJjbGUgb3BhY2l0eT0iLjM1IiBjeD0iNjIyIiBjeT0iMzkiIHI9IjIuNSIvPjxjaXJjbGUgb3BhY2l0eT0iLjMiIGN4PSI1NjgiIGN5PSI5MiIgcj0iMiIvPjwvZz4KPC9zdmc+") center/cover no-repeat;
}
.city-choice-card::after{pointer-events:none}
.city-choice-name,.city-choice-meta{text-shadow:0 2px 12px rgba(3,12,28,.88)}
.city-choice-card[hidden]{display:none!important}
.city-change-hint{
  margin:0 4px 9px;
  color:#9fb2cf;
  font-size:13px;
  line-height:1.4;
  font-weight:650;
  text-align:center;
}
.change-city-button{
  width:100%; margin-top:12px; min-height:48px; border-radius:16px;
  border:1px solid rgba(112,169,255,.34); background:rgba(15,38,72,.72);
  color:#dceaff; font:inherit; font-weight:800; letter-spacing:.01em;
  -webkit-tap-highlight-color:transparent;
}
.change-city-button:active{transform:scale(.99); background:rgba(24,58,104,.86)}
.city-picker[hidden]{display:none!important}
.location-choice-label{min-width:0}
.choice-location-title{display:block;font-weight:850;line-height:1.2}
.choice-location-address{
  display:block; margin-top:5px; max-width:100%; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; font-size:13px; line-height:1.25;
  color:#9fb2cf; font-weight:650;
}

/* Dorsten: keep the single official location card contained on narrow screens. */
.dorsten-location-list{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
  min-width:0;
}
.dorsten-location-list .choice-row{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.dorsten-location-list .location-choice-label{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.dorsten-location-list .choice-location-title{
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.dorsten-location-list .choice-location-address{
  min-width:0;
  max-width:100%;
}

/* V7: clean city skylines — distinct per city, like the original concept. */
.city-choice-card{
  min-height:132px;
  background:
    radial-gradient(circle at 80% 20%,rgba(74,143,255,.18),transparent 32%),
    linear-gradient(145deg,#102442 0%,#0b1b35 58%,#09172e 100%);
}
.city-choice-card::before{filter:none;}
.city-choice-card[data-city="Gelsenkirchen"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:auto;
  right:-2%;
  top:auto;
  bottom:0;
  width:74%;
  height:88%;
  opacity:.36;
  clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MjAgMTkwIj4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzliNmZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CjxwYXRoIG9wYWNpdHk9Ii4zMiIgZD0iTTggMTY0aDYwNCIvPgo8cGF0aCBvcGFjaXR5PSIuMjYiIGQ9Ik0yNSAxNTFoMzV2MTNIMjV6TTcyIDEzMmg0MnYzMkg3MnpNMTIyIDE0NGgzNHYyMGgtMzR6TTE2NSAxMThoMzZ2NDZoLTM2ek0yMTIgMTM4aDMxdjI2aC0zMXoiLz4KPHBhdGggb3BhY2l0eT0iLjUwIiBkPSJNMjQ3IDE2M2MxOC01MiA2OS03OSAxMzgtNzlzMTIwIDI3IDEzOCA3OSIvPgo8cGF0aCBvcGFjaXR5PSIuNjIiIGQ9Ik0yNjYgMTYwYzI3LTM3IDY3LTU1IDExOS01NXM5MiAxOCAxMTkgNTUiLz4KPHBhdGggb3BhY2l0eT0iLjU1IiBkPSJNMjg0IDE2MGgyMDJNMzAzIDE0M2gxNjQiLz4KPHBhdGggb3BhY2l0eT0iLjUwIiBkPSJNMzE4IDEyNnYzN00zNDkgMTExdjUyTTM4NSAxMDR2NTlNNDIxIDExMXY1Mk00NTIgMTI2djM3Ii8+CjxwYXRoIG9wYWNpdHk9Ii40MiIgZD0iTTUzMCAxNjRWOTJNNTQyIDkyaC0yNE01MzYgOTJWNjRNNTM2IDY0bC0xMiAxNk01MzYgNjRsMTIgMTYiLz4KPHBhdGggb3BhY2l0eT0iLjI4IiBkPSJNNTQ5IDE2NGg0MnYtMzFoLTQyek01NjQgMTMzdi0yME01NTcgMTEzaDE0Ii8+CjxwYXRoIG9wYWNpdHk9Ii4zMCIgZD0iTTM3IDE1MXYtMjRNODAgMTMydi0zMU0xNzggMTE4VjkzTTIyOCAxMzh2LTIwIi8+CjwvZz4KPGcgZmlsbD0iIzc5YjZmZiI+CjxjaXJjbGUgb3BhY2l0eT0iLjM1IiBjeD0iMjg2IiBjeT0iODAiIHI9IjIuNSIvPgo8Y2lyY2xlIG9wYWNpdHk9Ii4yNCIgY3g9IjUxOSIgY3k9IjU4IiByPSIyIi8+CjxjaXJjbGUgb3BhY2l0eT0iLjIyIiBjeD0iMTA2IiBjeT0iOTAiIHI9IjIiLz4KPC9nPgo8L3N2Zz4=") right bottom/contain no-repeat;
}
.city-choice-card[data-city="Gladbeck"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:auto;
  right:-1%;
  top:auto;
  bottom:0;
  width:73%;
  height:88%;
  opacity:.34;
  clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MjAgMTkwIj4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzliNmZmIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CjxwYXRoIG9wYWNpdHk9Ii4zMiIgZD0iTTggMTY0aDYwNCIvPgo8cGF0aCBvcGFjaXR5PSIuMjMiIGQ9Ik0yNyAxNTBoNDR2MTRIMjd6TTgyIDEzN2gzOXYyN0g4MnpNMTMyIDE0NmgzMnYxOGgtMzJ6Ii8+CjxwYXRoIG9wYWNpdHk9Ii41MCIgZD0iTTE5NCAxNjRWMTEyaDY3djUyTTM1OSAxNjR2LTUyaDY3djUyIi8+CjxwYXRoIG9wYWNpdHk9Ii42MiIgZD0iTTI2MSAxNjRWOTFoOTh2NzMiLz4KPHBhdGggb3BhY2l0eT0iLjUyIiBkPSJNMjUxIDkxbDU5LTM4IDU5IDM4Ii8+CjxwYXRoIG9wYWNpdHk9Ii40NyIgZD0iTTIxMSAxMTJsMTctMTggMTcgMThNMzc2IDExMmwxNy0xOCAxNyAxOCIvPgo8cGF0aCBvcGFjaXR5PSIuNTUiIGQ9Ik0yOTcgNTNWMzFoMjZ2MjJNMzAzIDMxVjE4aDE0djEzIi8+CjxwYXRoIG9wYWNpdHk9Ii40MiIgZD0iTTI4MiAxMTZoMjB2MThoLTIwek0zMTggMTE2aDIwdjE4aC0yMHpNMjgyIDE0M2gyMHYyMWgtMjB6TTMxOCAxNDNoMjB2MjFoLTIweiIvPgo8cGF0aCBvcGFjaXR5PSIuMzgiIGQ9Ik0yMTEgMTM1aDE5TTM5MyAxMzVoMTkiLz4KPHBhdGggb3BhY2l0eT0iLjI4IiBkPSJNNDQ3IDE2NGgzNnYtMjRoLTM2ek00OTIgMTY0aDUxdi0zOWgtNTF6TTU1MSAxNjRoMzd2LTIwaC0zN3oiLz4KPHBhdGggb3BhY2l0eT0iLjMwIiBkPSJNNDY3IDE0MHYtMjBNNTE4IDEyNXYtMjhNNTY5IDE0NHYtMTciLz4KPHBhdGggb3BhY2l0eT0iLjI0IiBkPSJNMjAgMTcyYzg4LTEwIDE3Ny05IDI2NCAwczE3NiAxMCAzMTYgMCIvPgo8L2c+CjxnIGZpbGw9IiM3OWI2ZmYiPgo8Y2lyY2xlIG9wYWNpdHk9Ii4zMCIgY3g9IjE3MSIgY3k9IjEwMyIgcj0iMiIvPgo8Y2lyY2xlIG9wYWNpdHk9Ii4yNCIgY3g9IjQ2NSIgY3k9IjkzIiByPSIyLjQiLz4KPGNpcmNsZSBvcGFjaXR5PSIuMjAiIGN4PSI1NDgiIGN5PSI4MiIgcj0iMiIvPgo8L2c+Cjwvc3ZnPg==") right bottom/contain no-repeat;
}

/* Official concern-group headings (e.g. Marl Bürgerbüro / TEVIS sections). */
.service-group-heading{
  margin:18px 2px 8px;
  padding:0 2px 8px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.service-group-heading:first-child{margin-top:2px}

/* Mobile concern step: taller card without JS viewport measuring. */
@media (max-width:640px){
  #stepServices{
    min-height:62dvh;
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    align-content:stretch;
  }
  #stepServices #serviceList.scroll-list{
    min-height:0;
    max-height:none;
    overflow-y:auto;
    align-content:start;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  #stepServices .panel-actions{
    align-self:end;
    margin-top:10px;
  }
}

/* Selection screens do not need the large search-dock reserve. */
@media (max-width:640px){
  body.tp-app-open:not(.search-dock-visible) #page-authority .authority-dashboard{
    padding-bottom:8px!important;
  }

  /* TB_BETA_MOBILE_BOTTOM_GAP_V1_20260929
     Normal pages sit closer to the fixed tab menu.
     Keep the larger reserve only while the search-control dock is visible. */
  body.tp-app-open:not(.search-dock-visible) #mainContent{
    padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;
  }
  body.tp-app-open.search-dock-visible #mainContent{
    padding-bottom:calc(126px + env(safe-area-inset-bottom,0px))!important;
  }

  /* Service info stays tappable, but visually steps back behind the concern title. */
  #stepServices .service-choice-row .info-btn{
    min-height:42px;
    padding:7px 9px;
    border-radius:10px;
    background:color-mix(in srgb,var(--blue) 11%,var(--surface));
    font-size:13px;
  }

  /* Primary next step gets a calmer, full-width mobile CTA. */
  #stepServices .panel-actions.single-right{
    grid-template-columns:1fr;
  }
  #stepServices #nextToLocationsBtn{
    width:100%;
    justify-self:stretch;
  }
}

/* TB_BETA_LOGIN_CENTER_V1_20260929 */
.login-card {
  text-align: center;
}

.login-card .brand-mark {
  margin-left: auto;
  margin-right: auto;
}

.login-card .login-independence {
  text-align: left;
}

.login-card form input {
  text-align: left;
}


/* TB_BETA_HOME_BADGE_V1_20260929 */
.tb-beta-title-row{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  max-width:700px;
  margin:8px auto 12px;
}
.tb-beta-title-row #appHomeTitle{
  margin:0;
  max-width:620px;
}
.tb-beta-title-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border:1px solid rgba(34,197,94,.42);
  border-radius:999px;
  background:rgba(34,197,94,.14);
  color:#22c55e;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 0 0 1px rgba(34,197,94,.04),0 6px 18px rgba(34,197,94,.10);
}
@media(max-width:640px){
  .tb-beta-title-row{gap:8px}
  .tb-beta-title-badge{padding:4px 8px;font-size:10px}
}

/* TB_GITHUB_DEPLOY_PATH_TEST_20260929 */




/* TB_BETA_BADGE_FLOW_V6_20260929
   BETA is in normal flow: update pill -> BETA -> logo. No absolute overlap. */
.home-hero{
  padding-top:72px;
}
.tb-beta-badge-row{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:0 auto 18px;
}
.tb-beta-badge-row .tb-beta-title-badge{
  min-width:92px;
  min-height:38px;
  padding:8px 16px;
  font-size:14px;
  letter-spacing:.09em;
  box-shadow:0 0 0 1px rgba(34,197,94,.08),0 8px 22px rgba(34,197,94,.12);
}
@media(max-width:640px){
  .home-hero{
    padding-top:68px;
  }
  .tb-beta-badge-row{
    margin-bottom:20px;
  }
  .tb-beta-badge-row .tb-beta-title-badge{
    min-width:92px;
    min-height:38px;
    padding:8px 16px;
    font-size:14px;
  }
}
