/* V120: Gold profile hero banner, compact presentation and accessible service tabs. */
.st-gold-banner-shell{margin-top:20px;margin-bottom:0}
.st-gold-banner{height:clamp(185px,24vw,345px);border:1px solid rgba(92,215,255,.30);overflow:hidden;border-radius:23px;background:#042038;box-shadow:0 15px 40px rgba(0,0,0,.2)}
.st-gold-banner img{width:100%;height:100%;object-fit:cover;object-position:center center}
.st-gold-banner-placeholder{margin-top:18px;padding:18px;border:1px dashed rgba(94,217,255,.34);border-radius:16px}
.st-gold-banner-placeholder a{color:#7beaff;font-weight:750}
.st-gold-banner-admin{border:1px solid rgba(100,212,255,.26);border-radius:20px;background:linear-gradient(135deg,#082d4c,#071c32);padding:23px;margin:0 0 22px}
.st-gold-banner-admin h2,.st-gold-banner-admin h3{margin:8px 0;font-size:1.15rem}
.st-gold-banner-admin p{font-size:.78rem;color:#a7c1d5;line-height:1.5}
.st-gold-banner-admin-preview{width:100%;height:auto;max-height:320px;aspect-ratio:3.65/1;object-fit:cover;border-radius:14px;margin:16px 0}
.st-gold-banner-upload-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px}
.st-gold-banner-upload-form label{display:grid;gap:8px;min-width:min(100%,320px);flex:1;font-size:.78rem;color:#bdddec}
.st-gold-banner-upload-form input{max-width:100%;font-size:.75rem}
.st-gold-banner-admin form+form{margin-top:12px}
.st-profile-content-tabs{min-width:0}
.st-profile-tablist{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid rgba(90,210,255,.21);padding-bottom:15px;margin:4px 0 18px}
.st-profile-tab{appearance:none;border:1px solid rgba(97,197,241,.28);border-radius:12px;padding:11px 14px;background:rgba(12,55,85,.65);color:#b5d7e7;font-size:.76rem;font-weight:800;cursor:pointer;display:inline-flex;gap:9px;align-items:center}
.st-profile-tab span{font-size:.61rem;padding:3px 6px;background:rgba(0,15,35,.25);border-radius:999px}
.st-profile-tab[aria-selected=true]{color:#062438;background:linear-gradient(105deg,#49d9e9,#26a9e0);border-color:#49d9e9}
.st-profile-tab:focus-visible{outline:2px solid #fafcfd;outline-offset:3px}
.st-profile-tab-panel[hidden]{display:none!important}
.st-profile-tab-panel{min-width:0}
.st-profile-tab-panel .public-offer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.st-profile-tab-panel .public-event-card{grid-template-columns:100px minmax(0,1fr)}
.st-profile-tab-panel .public-event-content{min-width:0}
.st-profile-text{font-size:inherit;line-height:1.65;color:#b4cbda;min-width:0}
.st-profile-text summary{cursor:pointer;list-style:none;display:grid;gap:8px}
.st-profile-text summary::-webkit-details-marker{display:none}
.st-profile-text summary::marker{content:''}
.st-profile-text-toggle{display:inline-flex;color:#6fe7ff;font-weight:800;font-size:.75rem;align-items:center;width:max-content}
.st-profile-text-toggle:before{content:attr(data-more)}
.st-profile-text[open] .st-profile-text-toggle:before{content:attr(data-less)}
.st-profile-text[open] .st-profile-excerpt{display:none}
.st-profile-fulltext{margin:8px 0 0;color:#b7d0df}
.st-profile-description-full{margin:0;white-space:normal}
.st-profile-card-description{margin-bottom:12px;color:#a4bbcb;font-size:.72rem}
.st-profile-card-description p,.public-event-description p{margin:0}
.st-profile-tab-panel .public-offer-card,.st-profile-tab-panel .public-event-card{height:auto}
@media(max-width:700px){.st-gold-banner{height:clamp(165px,45vw,250px);border-radius:16px}.st-profile-tab{flex:1 1 auto;justify-content:center;font-size:.72rem;padding:10px}.st-profile-tab-panel .public-event-card{grid-template-columns:1fr}.st-gold-banner-admin-preview{max-height:230px}}
@media(max-width:410px){.st-profile-tab{flex:1 1 100%}}

.st-profile-gallery-more{margin-top:12px}
.st-profile-gallery-more summary{cursor:pointer;display:inline-flex;padding:9px 13px;border-radius:10px;border:1px solid rgba(72,200,255,.32);background:rgba(24,93,129,.16);color:#7de6ff;font-weight:800;font-size:.73rem}
.st-profile-gallery-more[open] summary{margin-bottom:12px}
.st-profile-gallery-more summary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.st-profile-legacy-anchor{position:relative;display:block;height:0;scroll-margin-top:110px}

/* V123: cover-art-style Gold banner BEHIND profile identity; clipped at lower separator. */
.public-profile-hero.has-gold-banner{padding:0!important;background:linear-gradient(145deg,#031426,#092a43);border-bottom:1px solid rgba(76,208,247,.38)}
.public-profile-hero.has-gold-banner .public-profile-hero-grid{position:relative;isolation:isolate;overflow:hidden;border-radius:24px 24px 0 0;border:1px solid rgba(95,210,248,.28);border-bottom:0;min-height:clamp(235px,23vw,355px);padding:clamp(32px,4vw,58px) clamp(22px,3vw,50px);margin-top:16px;align-items:center}
.st-profile-hero-backdrop{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 40%;filter:saturate(.76) contrast(1.12) brightness(.7);opacity:.84;pointer-events:none}
.public-profile-hero.has-gold-banner .public-profile-hero-grid:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,15,34,.95) 0%,rgba(3,24,48,.85) 38%,rgba(4,39,69,.43) 72%,rgba(5,47,75,.32) 100%),linear-gradient(0deg,rgba(0,14,30,.38),transparent 64%);pointer-events:none}
.public-profile-hero.has-gold-banner .public-profile-identity,.public-profile-hero.has-gold-banner .public-owner-actions{position:relative;z-index:1}
.public-profile-hero.has-gold-banner .public-profile-identity h1{color:#f6fbff;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.public-profile-hero.has-gold-banner .public-organisation,.public-profile-hero.has-gold-banner .public-location,.public-profile-hero.has-gold-banner .public-qualification{color:#d5eafa;text-shadow:0 1px 12px rgba(0,0,0,.65)}
.public-profile-hero.has-gold-banner .public-avatar{box-shadow:0 12px 40px rgba(0,0,0,.55);border-color:rgba(160,233,255,.6)}
/* Compact gallery in right-side whitespace: all images directly visible, never collapsed. */
.st-profile-side-gallery{min-width:0}
.st-profile-thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
.st-profile-thumb{margin:0;min-width:0}
.st-profile-thumb>a{display:block;position:relative;border-radius:11px;overflow:hidden;border:1px solid rgba(96,205,240,.25);aspect-ratio:4/3;background:#08283f}
.st-profile-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.st-profile-thumb a:hover img,.st-profile-thumb a:focus-visible img{transform:scale(1.06)}
.st-profile-thumb a:focus-visible{outline:3px solid #79efff;outline-offset:3px}
.st-profile-thumb-zoom{position:absolute;right:5px;bottom:3px;padding:0 5px;border-radius:5px;background:rgba(1,17,31,.76);color:#dffaff;font-size:.9rem}
.st-profile-thumb figcaption{font-size:.65rem;line-height:1.4;color:#b8d9e9;margin:6px 1px 0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.st-profile-lightbox{position:fixed;inset:0;width:min(95vw,1320px);max-width:none;max-height:96dvh;height:auto;padding:0;overflow:hidden;border:1px solid rgba(105,223,255,.5);border-radius:20px;background:#03182c;color:#e9f8ff;box-shadow:0 30px 110px rgba(0,0,0,.88)}
.st-profile-lightbox::backdrop{background:rgba(0,8,20,.93);backdrop-filter:blur(7px)}
.st-profile-lightbox-content{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:95dvh;gap:8px;padding:12px}
.st-profile-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 4px;color:#a9dfeb;font-size:.8rem}
.st-profile-lightbox button{cursor:pointer;border:1px solid rgba(100,214,249,.35);border-radius:9px;background:rgba(3,32,56,.88);color:#e7faff}
.st-profile-lightbox-close{font-size:1.65rem;line-height:1;width:40px;height:40px}
.st-profile-lightbox-imagewrap{display:flex;align-items:center;justify-content:center;min-height:0;gap:9px}
.st-profile-lightbox-image{display:block;max-width:calc(100% - 110px);max-height:calc(95dvh - 140px);object-fit:contain;border-radius:7px}
.st-profile-lightbox-prev,.st-profile-lightbox-next{font-size:2rem;flex:none;width:44px;height:70px}
.st-profile-lightbox-caption{margin:4px 14px 12px;text-align:center;color:#d4ebf4;font-size:.84rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){.st-profile-thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.st-profile-thumb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-profile-hero.has-gold-banner .public-profile-hero-grid{margin-top:8px;border-radius:16px 16px 0 0;min-height:255px}.st-profile-lightbox-image{max-width:calc(100% - 82px)}.st-profile-lightbox-prev,.st-profile-lightbox-next{width:32px;height:58px}}
@media(max-width:380px){.st-profile-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V0.15.10.50.124 — Unified public-profile hero and consistent compact card rhythm.
   Only public profile selectors: no account editor or other pages affected.
   The fallback gradient lives INSIDE the same clipped shell as the Gold banner,
   never as a full-viewport background. The banner overrides ONLY that art layer. */
.public-profile-hero,
.public-profile-hero.has-gold-banner{
  padding:0!important;
  background:#041426;
  border-bottom:1px solid rgba(85,208,247,.34);
}
.public-profile-hero .public-profile-hero-grid,
.public-profile-hero.has-gold-banner .public-profile-hero-grid{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-sizing:border-box;
  min-height:clamp(180px,16vw,250px);
  margin-top:10px;
  padding:clamp(18px,2.25vw,30px) clamp(18px,2.8vw,38px);
  border:1px solid rgba(91,208,246,.30);
  border-bottom:0;
  border-radius:22px 22px 0 0;
  background:radial-gradient(circle at 83% 36%,rgba(35,174,239,.23),transparent 43%),
             linear-gradient(118deg,#041427 0%,#082b47 100%);
  align-items:center;
  gap:14px;
}
/* When a Gold image exists, preserve the identical crop, dimensions and corners.
   Overlay/mask and real media remain managed by V123. */
.public-profile-hero.has-gold-banner .public-profile-hero-grid{
  background:#061f33;
}
.public-profile-hero .public-profile-identity{
  grid-template-columns:96px minmax(0,1fr);
  gap:19px;
  min-width:0;
}
.public-profile-hero .public-avatar{
  width:96px;
  height:96px;
  border-radius:25px;
}
.public-profile-hero .public-profile-identity h1{
  font-size:clamp(2rem,3.55vw,3.2rem);
  margin:5px 0 5px;
}
.public-profile-hero .public-location,
.public-profile-hero .public-qualification{margin-top:5px}
.st-demo-profile-disclaimer{margin-top:8px;padding:7px 13px}
.st-demo-profile-disclaimer + .public-profile-hero .public-profile-hero-grid{margin-top:8px}
/* Old .section defaults had 46-88px of padding, creating the empty horizontal band. */
.section.public-profile-section{
  padding:22px 0 42px;
}
/* Both content columns begin at the SAME baseline and use a fixed spacing scale.
   Do not equalise heights of variable-length content; that would reintroduce
   large dead areas and stretched cards. */
.public-profile-grid{
  grid-template-columns:minmax(0,1.52fr) minmax(280px,.68fr);
  gap:14px;
  align-items:start;
}
.public-profile-main,
.public-profile-side{
  display:grid;
  gap:14px;
  align-content:start;
  grid-auto-rows:max-content;
  min-width:0;
}
.public-profile-grid .public-panel{
  padding:20px 22px;
  border-radius:17px;
  min-width:0;
}
.public-profile-grid .public-panel h2{margin:5px 0 10px}
.public-profile-grid .public-panel .eyebrow{margin-bottom:7px}
.public-profile-grid .public-contact-list>a,
.public-profile-grid .public-contact-list>div,
.public-profile-grid .public-link-stack a{padding:10px 12px}
.public-profile-grid .public-contact-list{gap:8px}
.public-profile-grid .public-link-stack{gap:8px}
.public-profile-grid .st-profile-tablist{padding-bottom:11px;margin:3px 0 13px}
.public-profile-grid .st-profile-thumb-grid{gap:8px}
@media(max-width:900px){
  .public-profile-grid{grid-template-columns:minmax(0,1fr)}
  .public-profile-hero .public-profile-hero-grid,
  .public-profile-hero.has-gold-banner .public-profile-hero-grid{
    min-height:0;
    padding:23px;
  }
}
@media(max-width:620px){
  .public-profile-hero .public-profile-hero-grid,
  .public-profile-hero.has-gold-banner .public-profile-hero-grid{
    margin-top:7px;
    padding:18px 16px;
    border-radius:16px 16px 0 0;
    min-height:0;
  }
  .public-profile-hero .public-profile-identity{grid-template-columns:78px minmax(0,1fr);gap:13px}
  .public-profile-hero .public-avatar{width:78px;height:78px;border-radius:19px}
  .public-profile-hero .public-profile-identity h1{font-size:clamp(1.5rem,6vw,2rem)}
  .section.public-profile-section{padding:16px 0 30px}
  .public-profile-grid,.public-profile-main,.public-profile-side{gap:12px}
  .public-profile-grid .public-panel{padding:17px;border-radius:15px}
}


/* V0.15.10.50.125 – Align card rows and shorten only the profile network surround.
   The two preserved #angebote/#termine anchors are now INSIDE the tab card.
   They no longer consume invisible CSS-grid tracks + two 14px row gaps. */
.public-profile-main > .st-profile-legacy-anchor{display:none!important}
.public-profile-main .st-profile-content-tabs > .st-profile-legacy-anchor{
  display:block;position:relative;height:0;width:0;scroll-margin-top:110px;
}
/* Only profile-specific network following hero: leave other orgcharts untouched. */
.public-profile-hero + .phorg-section{padding:14px 0;background:linear-gradient(160deg,#061b30,#05233d 70%,#041426)}
.public-profile-hero + .phorg-section .phorg-frame{padding:18px 20px;border-radius:20px}
.public-profile-hero + .phorg-section .phorg-summary{min-height:88px;padding:17px 22px}
.section.public-profile-section{padding-top:14px}
@media(max-width:660px){
 .public-profile-hero + .phorg-section{padding:12px 0}
 .public-profile-hero + .phorg-section .phorg-frame{padding:14px;border-radius:17px}
 .public-profile-hero + .phorg-section .phorg-summary{min-height:80px;padding:15px}
 .section.public-profile-section{padding-top:12px}
}
