/* ========== PROFILMODULE ========== */
.gd-profile{ --gap:12px;
display: flex;
    flex-direction: column; }

.prof-header { display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: nowrap;
    text-transform: uppercase; }

.prof-container {
display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start; }

.prof-username { margin: 0 0 4px;
    font-size: var(--txtxxl);
    letter-spacing: 0.1em;
    font-family: var(--akzenttext); }

.prof-usertitle { margin: 0 0 4px;
    color: var(--akzent-hell);
    font-size: var(--txtsmall);
    letter-spacing: 0.1em; }


.prof-as_container {     display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    height: 210px;
    overflow: auto;
    width: 200px;  }

.prof-statisch {     width: var(--ava-w);
    padding: 10px; }
.prof-statisch img {
  border: 4px solid var(--tbl-main-tr);
  background: var(--tbl-main-tr2);
}

.prof-statisch_ende {display: flex;
    height: 400px; }
.prof-statisch_ende_wava   { width: var(--ava-w);
    padding: 10px;
}
.prof-statisch_ende_sig { 
background: var(--tbl-main-tr); 
padding: 10px;
    line-height: 1.35;
    text-align: justify; }

.prof-content_2 { width: 100%; }

.prof-buttons {
    display: flex;
    gap: 5px;
flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    align-content: center;
}

.prof-buttons .button {
    display: flex;
    padding: 5px;
    background: var(--tbl-main-tr);
    font-size: var(--txtxsmall);
    gap: 3px;
    justify-content: center;
    align-items: center;
}

.prof-buttons .button > svg {
    background: var(--tbl-main-tr2);
    height: var(--txtsmall);
    color: var(--akzent-hell);
}
.gd-tabs{
  display:flex; gap:6px; flex-wrap:wrap; margin:0 0 10px;
}
.gd-tab{
  padding:.25em .6em; font-size:var(--txtxsmall);
  background:transparent; color:var(--akzent-hell);
  border:1px solid var(--hairline); cursor:pointer;
}
.gd-tab:hover{ color:var(--design); background:var(--tbl-main-tr); }
.gd-tab.is-active{
  border-color:rgba(var(--group-rgb,255,255,255),.7);
  box-shadow:inset 0 0 0 1px rgba(var(--group-rgb,255,255,255),.35);
}

.gd-panel{ display:none; }
.gd-panel.is-active{ display:block; }

.gd-grid{
  display:grid; gap:var(--gap); grid-template-columns: 1fr;
}
@media (min-width: 900px){ .gd-grid{ grid-template-columns: 1fr 1fr; } }

.gd-card{
  background: var(--tbl-main-tr);
  border: 1px solid var(--hairline);
  padding: 12px;
line-height: 1.4em;
    text-align: justify;
    text-align-last: left;
display: flex;
    align-items: center;
}

.steckifeld { display: block !important;
    text-align-last: unset !important;
    line-height: unset !important;
}
.wand-meta { 
display: flex;
    flex-direction: column;
    align-items: center; }

.wand-line { font-family: var(--akzenttext);
    font-size: var(--txtl);
    text-transform: uppercase;
    align-self: center;
    color: var(--akzent-hell); }

.wand-card{ position:relative; --wand-alpha:.65; --wand-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center; 
background: none;
    border: none; }
.wand-svg{
  position:absolute; left:0; right:0; bottom:0;
  height:64px; width:100%; pointer-events:none;
}
.wand-shape,
.wand-shape *{
  fill: rgba(var(--wand-rgb,255,255,255), var(--wand-alpha));
}


/* UG → Wand-RGB */
.gd-profile[class~="ug-12"]{ --wand-rgb: var(--order-rgb); }
.gd-profile[class~="ug-14"]{ --wand-rgb: var(--deatheater-rgb); }
.gd-profile[class~="ug-15"]{ --wand-rgb: var(--neworder-rgb); }
.gd-profile[class~="ug-16"]{ --wand-rgb: var(--magic-rgb); }
.gd-profile[class~="ug-17"]{ --wand-rgb: var(--muggle-rgb); }
.gd-profile[class~="ug-18"]{ --wand-rgb: var(--beings-rgb); }
.gd-profile[class~="ug-8"] { --wand-rgb: var(--magic-rgb); }
.gd-profile[class~="ug-19"]{ --wand-rgb: var(--bewerber-rgb); }

.wand-reg{ display:inline-flex; align-items:center; gap:6px; }
.wand-reg svg{ width:18px; height:18px; display:block; }
.wand-reg[data-state="ok"]{ color:var(--akzent-green-soft); }
.wand-reg[data-state="no"]{ color:var(--akzent-red-soft); }
.wand-reg[data-state="unk"]{ opacity:.8; }

.wand-reg[data-state="ok"]::after{ content:"registriert"; font-size:var(--txtxsmall); }
.wand-reg[data-state="no"]::after{ content:"nicht registriert"; font-size:var(--txtxsmall); }
.wand-reg[data-state="unk"]::after{ content:"unbekannt"; font-size:var(--txtxsmall); }

.prof-stats{
  padding: 5px;
  display: grid;
  gap: 5px;
}

.prof-stats .stat-row{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 5px;
}

.prof-stats .stat-num{
  font-size: var(--textxl);
  font-family: var(--akzenttext);
  line-height: .9;
  font-weight: 800;
  color: var(--akzent-red-soft);
  min-width: 2.5ch;
  text-align: right;
}

.prof-stats .stat-text{ display: grid; gap: 2px; }
.prof-stats .stat-label{
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: var(--txtsmall);
  color: var(--akzent-hell);
}
.prof-stats .stat-sub{
  font-size: var(--txtxsmall);
  opacity: .85;
}

.prof-stats .stat-links{
  display: flex; flex-wrap: wrap; gap: 6px;
}
.prof-stats .stat-links a{
  display: inline-block;
  padding: .1em .6em;
  font-size: var(--txtxsmall);
  color: var(--akzent-hell);
  text-decoration: none;
  border: 1px solid var(--hairline);
  background: transparent;
}
.prof-stats .stat-links a:hover{
  color: var(--design);
  background: var(--tbl-main-tr);
}

/* Optional – schmaler Screen: Zeilenabstand etwas größer */
@media (max-width: 560px){
  .prof-stats .stat-row{ row-gap: 2px; }
}


.pf-grid{
  display:grid; gap:10px;
  grid-template-columns: repeat(2, minmax(0,1fr));
width: 100%;
}
@media (max-width: 760px){ .pf-grid{ grid-template-columns: 1fr; } }

.pf-item{
  display:flex; gap:10px; align-items:flex-start;
  background: var(--tbl-main-tr);
  border: 1px solid var(--hairline);
  padding: 10px 10px;
}

/* Letztes Item soll bei ungerader Anzahl die ganze Zeile einnehmen */
.pf-grid > .pf-item:last-child:nth-child(odd){
  grid-column: 1 / -1;   /* spannt über beide Spalten */
}

/* (optional) Falls mal nur EIN Item existiert → ebenso volle Breite */
.pf-grid > .pf-item:only-child{
  grid-column: 1 / -1;
}

/* wenn das letzte Kind ein .pf-item UND an einer ungeraden Position ist → volle Breite */
@supports selector(:has(*)) {
  .pf-grid:has(> .pf-item:last-child:nth-child(odd))
  > .pf-item:last-child{
    grid-column: 1 / -1;
  }
}


.pf-ico{
  width:26px; height:26px; flex:0 0 26px;
  color: var(--group-color, var(--akzent-hell)); /* gruppen- oder akzentfarbe */
}
.pf-ico svg{ width:100%; height:100%; display:block; }

.pf-content{ display:grid; gap:2px; }
.pf-label{
  font-size: var(--txtxsmall);
  text-transform: uppercase;
  letter-spacing:.08em;
  color: var(--akzent-hell);
  opacity:.9;
}
.pf-value{
  font-size: var(--txtm);
  line-height:1.35;
}

.value_specialmagic {
  font-size: var(--txtm);
  line-height:1.35;
  text-align: justify;
}

.partner .partner-chip a,
.partner .partner-chip{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--hairline);
  padding:.15em .6em; font-size: var(--txtxsmall);
  color: var(--akzent-hell); text-decoration:none;
  background: transparent;
}
.partner .partner-chip a:hover{ color: var(--design); background: var(--tbl-main-tr); }
.partner .partner-chip::before{
  content:"↗"; font-size:.9em; opacity:.8; margin-right:2px;
}

.firstname .pf-ico, .lastname .pf-ico{ color: var(--akzent-hell); }

#pfMaritalPartner { display:inline-flex; align-items:center; gap:6px; }
.arrow-ico { width:14px; height:14px; opacity:.85; transform: translateY(1px); }

.age-badge{
  display:inline-flex; align-items:center;
  margin-left:.5ch; padding:.05em .45em;
  border:1px solid var(--hairline);
  background: var(--tbl-main-tr3); font-size: var(--txtxsmall);
}
.age-badge:empty{ display:none; }

.sub-label{ font-size: var(--txtxsmall); opacity:.85; min-width: 6.5ch; }

.partner-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:.15em .55em; border:1px solid var(--hairline);
  background: var(--tbl-main-tr); color: var(--akzent-hell);
}
.partner-chip .chip-ico{ width:16px; height:16px; opacity:.9; }
.partner-chip .chip-link{
  color: inherit; text-decoration:none;
  max-width: 24ch; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.partner-chip .chip-link::after{ content:"↗"; margin-left:.35em; opacity:.7; }
.partner-chip .chip-link:hover{ color: var(--design); }

.pf-item.partner{ display:none; }

.pf-note{ display:block; font-size: var(--txtxsmall); opacity:.85; margin-top:4px; }

/* falls nicht schon vorhanden: Subline */
.pf-subline{ display:block; margin-top:4px; font-size: var(--txtxsmall); opacity:.9; }

.aucp_trigger { background: rgba(255,0,0,0.1);
  border: 1px solid var(--akzent-red);
  color: var(--akzent-red-soft);
  padding: .8rem;
  margin: 1rem 0;
  font-size: var(--txtm); }
