.agentur-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:#f6f6f3;color:#111;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.agentur-sidebar{background:#101010;color:#fff;padding:28px;position:sticky;top:0;height:100vh}.agentur-brand{display:grid;gap:10px;margin-bottom:34px}.agentur-brand img{width:72px;height:72px;object-fit:contain;background:#fff;padding:10px}.agentur-brand strong{font-size:20px}.agentur-brand span,.agentur-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;opacity:.62}.agentur-nav{display:grid;gap:6px}.agentur-nav a{color:#fff;text-decoration:none;padding:12px 10px;border-top:1px solid rgba(255,255,255,.12);opacity:.72}.agentur-nav a.is-active,.agentur-nav a:hover{opacity:1;background:rgba(255,255,255,.08)}.agentur-main{padding:42px;max-width:1480px}.agentur-hero,.agentur-public-hero{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;border-bottom:1px solid #d8d8d2;padding-bottom:34px;margin-bottom:26px}.agentur-hero h1,.agentur-public-hero h1{font-size:clamp(38px,6vw,86px);line-height:.9;margin:0 0 18px}.agentur-hero p,.agentur-public-text{max-width:820px;color:#444;line-height:1.65}.agentur-rating-card{background:#fff;padding:26px;min-width:250px;border:1px solid #ddd;box-shadow:0 20px 50px rgba(0,0,0,.06)}.agentur-rating-card span,.agentur-rating-card small{display:block;color:#666}.agentur-rating-card strong{font-size:42px}.agentur-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.agentur-kpis article{background:#fff;border:1px solid #ddd;padding:22px}.agentur-kpis span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:#666}.agentur-kpis strong{display:block;font-size:28px;margin-top:8px}.agentur-panel{background:#fff;border:1px solid #ddd;padding:26px;margin-top:20px}.agentur-panel h2{font-size:26px;margin:0 0 20px}.agentur-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.agentur-talent-card{border:1px solid #ddd;background:#fafafa}.agentur-talent-image{display:block;aspect-ratio:4/5;background:#e7e7e2;overflow:hidden;color:#111;text-decoration:none;display:grid;place-items:center;font-size:42px}.agentur-talent-image img{width:100%;height:100%;object-fit:cover;display:block}.agentur-talent-body{padding:16px}.agentur-talent-body h3{margin:0 0 6px;font-size:18px}.agentur-talent-body a{color:inherit;text-decoration:none}.agentur-talent-body p{margin:0 0 12px;color:#555}.agentur-stars{font-weight:bold;margin-bottom:14px}.agentur-stars span{color:#777;font-weight:normal}.agentur-button{display:inline-flex;padding:10px 14 px;background:#111!important;color:#fff!important;text-decoration:none!important;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.agentur-table{width:100%;border-collapse:collapse}.agentur-table th,.agentur-table td{text-align:left;border-bottom:1px solid #ddd;padding:13px 10px}.agentur-table th{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#666}.agentur-public{max-width:1480px;margin:0 auto;padding:clamp(24px,5vw,70px);background:#f6f6f3}.agentur-public-logo{width:130px;height:130px;background:#fff;border:1px solid #ddd;display:grid;place-items:center;flex:0 0 auto}.agentur-public-logo img{max-width:110px;max-height:110px;object-fit:contain}.agentur-public-logo span{font-size:58px}.agentur-public-rating{font-size:24px;font-weight:bold}.agentur-public-rating span{font-size:14px;color:#666;font-weight:normal}.agentur-public-text{font-size:18px;margin:30px 0}.agentur-logo-display{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #ddd;background:#fff;text-decoration:none;color:#111}.agentur-logo-display img{width:32px;height:32px;object-fit:contain}.agentur-empty{color:#666}@media(max-width:900px){.agentur-shell{grid-template-columns:1fr}.agentur-sidebar{position:relative;height:auto}.agentur-main{padding:24px}.agentur-hero,.agentur-public-hero{display:block}.agentur-kpis{grid-template-columns:1fr 1fr}}@media(max-width:520px){.agentur-kpis{grid-template-columns:1fr}.agentur-grid{grid-template-columns:1fr}}

/* Dashboard forms */
.agentur-muted{color:#666;line-height:1.6;margin:0 0 18px}.agentur-form-panel{max-width:980px}.agentur-form-panel form{display:grid;gap:22px;margin:0}.agentur-form-panel .form-item{margin:0}.agentur-form-panel label,.agentur-form-panel .form-item__label{display:block;margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#555;font-weight:700}.agentur-form-panel input[type="text"],.agentur-form-panel input[type="email"],.agentur-form-panel input[type="url"],.agentur-form-panel input[type="number"],.agentur-form-panel textarea,.agentur-form-panel select{width:100%;border:1px solid #d8d8d2;background:#f7f7f4;color:#111;padding:14px 16px;font:inherit;line-height:1.4;outline:none;border-radius:0;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.agentur-form-panel textarea{min-height:140px;resize:vertical}.agentur-form-panel input:focus,.agentur-form-panel textarea:focus,.agentur-form-panel select:focus{border-color:#111;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.06)}.agentur-form-panel .description,.agentur-form-panel .form-item__description{margin-top:8px;color:#777;font-size:13px;line-height:1.5}.agentur-form-panel .managed-file,.agentur-form-panel .form-managed-file{display:grid;gap:10px;padding:18px;border:1px dashed #cfcfca;background:#fafaf8}.agentur-form-panel .form-actions{display:flex;gap:12px;align-items:center;margin-top:6px;padding-top:20px;border-top:1px solid #e0e0da}.agentur-form-panel input[type="submit"],.agentur-form-panel button[type="submit"],.agentur-form-panel .button--primary{display:inline-flex;align-items:center;justify-content:center;background:#111!important;color:#fff!important;border:1px solid #111!important;padding:13px 18px!important;text-decoration:none!important;font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:0!important}.agentur-form-panel input[type="submit"]:hover,.agentur-form-panel button[type="submit"]:hover{background:#333!important;border-color:#333!important}.agentur-form-panel input[type="file"]{font:inherit}.agentur-form-panel .ajax-progress{font-size:13px;color:#555}.agentur-form-panel .messages{margin:0 0 20px;padding:14px 16px;border:1px solid #d8d8d2;background:#fff}.agentur-form-panel details{border:1px solid #ddd;background:#fff;padding:14px}.agentur-form-panel summary{cursor:pointer;font-weight:700}.agentur-form-panel .form-wrapper{margin:0}

@media(max-width:900px){.agentur-form-panel{max-width:none}.agentur-form-panel .form-actions{display:grid}}


/* Public agency profile – mockup-based frontend */
.tg-agency-page{--tg-bg:#f6f5f2;--tg-line:#e4e1dc;--tg-gold:#f4b52b;--tg-blue:#e8f1ff;max-width:1480px;margin:0 auto;padding:0 clamp(18px,3vw,42px) 54px;background:var(--tg-bg);color:#111;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.tg-agency-page *{box-sizing:border-box}.tg-agency-page a{color:inherit;text-decoration:none}.tg-agency-hero{position:relative;min-height:430px;display:grid;grid-template-columns:260px minmax(0,1fr) 292px;gap:34px;align-items:center;padding:64px 42px;overflow:hidden;background:#ddd;border:1px solid var(--tg-line);box-shadow:0 24px 60px rgba(0,0,0,.06)}.tg-agency-hero-media{position:absolute;inset:0;background:linear-gradient(135deg,#f4f1ea,#d3d0c8 45%,#82796d);overflow:hidden}.tg-agency-hero-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}.tg-agency-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,246,243,.96),rgba(247,246,243,.88) 42%,rgba(247,246,243,.45) 65%,rgba(20,20,18,.45)),radial-gradient(circle at 82% 32%,rgba(255,255,255,.75),rgba(255,255,255,0) 28%)}.tg-agency-hero-bg:after{content:"";position:absolute;right:0;top:0;width:42%;height:100%;background:repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 4px,transparent 4px 58px);opacity:.25}.tg-agency-logo-card,.tg-agency-hero-content,.tg-agency-actions{position:relative;z-index:1}.tg-agency-logo-card{width:240px;height:240px;border-radius:10px;background:#fff;display:grid;place-items:center;box-shadow:0 22px 55px rgba(0,0,0,.08);overflow:hidden}.tg-agency-logo-card img{width:82%;height:82%;object-fit:contain}.tg-agency-logo-card span{font-size:94px;font-weight:900}.tg-agency-title-row{display:flex;align-items:center;gap:12px}.tg-agency-title-row h1{margin:0;font-size:clamp(36px,4vw,58px);line-height:.96;letter-spacing:-.055em}.tg-agency-verified{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:900}.tg-agency-meta{margin:12px 0 22px;color:#444;font-size:16px}.tg-agency-badges{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.tg-agency-badge{display:inline-flex;padding:8px 13px;border-radius:999px;font-size:13px;font-weight:800}.tg-agency-badge-blue{background:var(--tg-blue);color:#24518a}.tg-agency-since{font-weight:700;color:#555}.tg-agency-rating-inline{display:flex;align-items:center;gap:9px;margin-bottom:24px;color:#555}.tg-agency-stars{color:var(--tg-gold);letter-spacing:1px;font-size:20px}.tg-agency-rating-inline strong{color:#111}.tg-agency-claim{max-width:580px;margin:0;color:#333;font-size:16px;line-height:1.75;font-weight:600}.tg-agency-actions{display:grid;gap:12px}.tg-agency-action{height:56px;border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.08)}.tg-agency-action-dark{background:#070707;color:#fff;border-color:#070707}.tg-agency-actions small{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.55);text-align:center;font-weight:800}.tg-agency-kpis{position:relative;z-index:2;margin:-8px auto 44px;width:calc(100% - 88px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--tg-line);border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.08);overflow:hidden}.tg-agency-kpis article{display:flex;align-items:center;gap:18px;padding:28px 36px;border-right:1px solid var(--tg-line)}.tg-agency-kpis article:last-child{border-right:0}.tg-agency-kpi-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff6e3;color:var(--tg-gold);font-size:28px}.tg-agency-kpis strong{display:block;font-size:36px;line-height:1;font-weight:900}.tg-agency-kpis small{display:block;margin-top:8px;color:#555;font-size:13px}.tg-agency-section{margin:42px 0}.tg-agency-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.tg-agency-section-head h2,.tg-agency-info-card h2,.tg-agency-reviews h2{margin:0;font-size:23px;line-height:1;text-transform:uppercase}.tg-agency-section-head a{font-weight:800;color:#575757}.tg-agency-talent-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.tg-agency-talent-card{background:#fff;border:1px solid var(--tg-line);border-radius:9px;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.04)}.tg-agency-talent-image{display:grid;place-items:center;aspect-ratio:1/1.1;background:#ddd;overflow:hidden;font-size:54px;font-weight:900}.tg-agency-talent-image img{width:100%;height:100%;object-fit:cover;display:block}.tg-agency-talent-info{padding:16px 18px}.tg-agency-talent-info h3{margin:0 0 6px;font-size:16px}.tg-agency-talent-info p{margin:0 0 12px;color:#555}.tg-agency-casting-grid{display:grid;grid-template-columns:1fr 1fr 320px;gap:18px}.tg-agency-casting-card,.tg-agency-upgrade-card,.tg-agency-review-summary,.tg-agency-reviews,.tg-agency-info-card,.tg-agency-empty-card{background:#fff;border:1px solid var(--tg-line);border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.04)}.tg-agency-casting-card{min-height:170px;padding:28px;display:flex;align-items:center}.tg-agency-empty-state h3,.tg-agency-upgrade-card h3{margin:8px 0 10px;font-size:22px}.tg-agency-empty-state p,.tg-agency-upgrade-card p{margin:0;color:#666;line-height:1.55}.tg-agency-plan-label{display:inline-flex;padding:6px 11px;border-radius:7px;background:#f8d15c;font-size:12px;font-weight:900;text-transform:uppercase}.tg-agency-upgrade-card{padding:30px;display:grid;align-content:center}.tg-agency-upgrade-card span{font-size:31px}.tg-agency-upgrade-card a{display:inline-flex;width:max-content;margin-top:18px;background:#111;color:#fff;border-radius:6px;padding:13px 18px;font-weight:900}.tg-agency-bottom-grid{display:grid;grid-template-columns:1.05fr 1.1fr .95fr;gap:18px;margin-top:42px}.tg-agency-review-summary{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:34px}.tg-agency-review-score strong{display:block;font-size:58px;line-height:.9}.tg-agency-review-score span{display:block;color:var(--tg-gold);font-size:20px;margin:12px 0 8px}.tg-agency-review-score small{color:#555}.tg-agency-bars{display:grid;gap:13px}.tg-agency-bars p{display:grid;grid-template-columns:72px 1fr 42px;align-items:center;gap:13px;margin:0;font-size:13px;color:#555}.tg-agency-bars i{height:8px;border-radius:99px;background:linear-gradient(90deg,#111 var(--w),#eceae6 var(--w));display:block}.tg-agency-bars b{text-align:right;color:#555}.tg-agency-reviews{padding:28px}.tg-agency-review-item{border-top:1px solid var(--tg-line);padding-top:18px;margin-top:18px}.tg-agency-review-item span{float:right;color:var(--tg-gold)}.tg-agency-review-item p{clear:both;margin:12px 0 0;line-height:1.65;color:#333}.tg-agency-info-card{padding:28px}.tg-agency-info-card h2{margin-bottom:24px}.tg-agency-info-card p{display:grid;grid-template-columns:105px 1fr;gap:16px;margin:0 0 18px;font-size:14px}.tg-agency-info-card span{color:#555}.tg-agency-info-card strong,.tg-agency-info-card a{font-weight:800;overflow-wrap:anywhere}.tg-agency-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tg-agency-tags span{display:inline-flex;background:#f0eee9;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;color:#333}.tg-agency-empty-card{grid-column:1/-1;padding:36px;color:#666}@media(max-width:1180px){.tg-agency-hero{grid-template-columns:210px minmax(0,1fr);padding:44px 30px}.tg-agency-logo-card{width:210px;height:210px}.tg-agency-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.tg-agency-actions small{grid-column:1/-1;color:#333;text-shadow:none}.tg-agency-kpis,.tg-agency-talent-row,.tg-agency-casting-grid,.tg-agency-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-agency-kpis{width:100%;margin-top:20px}.tg-agency-kpis article:nth-child(2){border-right:0}}@media(max-width:760px){.tg-agency-page{padding:0 14px 36px}.tg-agency-hero{grid-template-columns:1fr;min-height:0;padding:26px 20px}.tg-agency-logo-card{width:170px;height:170px}.tg-agency-actions{grid-template-columns:1fr}.tg-agency-title-row h1{font-size:38px}.tg-agency-kpis,.tg-agency-talent-row,.tg-agency-casting-grid,.tg-agency-bottom-grid,.tg-agency-review-summary{grid-template-columns:1fr}.tg-agency-kpis article{border-right:0;border-bottom:1px solid var(--tg-line);padding:22px}.tg-agency-kpis article:last-child{border-bottom:0}.tg-agency-section-head{align-items:flex-start;flex-direction:column}.tg-agency-info-card p{grid-template-columns:1fr}.tg-agency-bars p{grid-template-columns:64px 1fr 38px}}

/* FIX: Lighthouse-Kontrast für den dunklen Agentur-CTA. Nicht auf Vererbung verlassen. */
.tg-agency-page .tg-agency-action.tg-agency-action-dark,
.tg-agency-page .tg-agency-action.tg-agency-action-dark:link,
.tg-agency-page .tg-agency-action.tg-agency-action-dark:visited,
.tg-agency-page .tg-agency-action.tg-agency-action-dark:hover,
.tg-agency-page .tg-agency-action.tg-agency-action-dark:focus {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.tg-agency-page .tg-agency-action.tg-agency-action-dark:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
  box-shadow: 0 0 0 3px #000;
}

/* FIX16: Logo-Datei wird mit 300px hochgeladen, Frontend bleibt scharf bei 220x220. */
.tg-agency-page {
  overflow-x: clip;
}

.tg-agency-hero {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-left: 0;
  border-right: 0;
}

.tg-agency-hero-bg::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.tg-agency-logo-card {
  width: 220px;
  height: 220px;
  min-width: 220px;
  min-height: 220px;
  align-self: center;
  justify-self: start;
}

.tg-agency-logo-card img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.tg-agency-logo-card span {
  font-size: 86px;
}

@media (max-width: 1180px) {
  .tg-agency-hero {
    grid-template-columns: 260px minmax(0,1fr);
  }
  .tg-agency-logo-card {
    width: 220px;
    height: 220px;
    min-width: 220px;
    min-height: 220px;
  }
}

@media (max-width: 760px) {
  .tg-agency-page {
    padding-left: 14px;
    padding-right: 14px;
  }

  .tg-agency-hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 20px;
    padding-right: 20px;
    grid-template-columns: 1fr;
  }

  .tg-agency-logo-card {
    width: 220px;
    height: 220px;
    min-width: 220px;
    min-height: 220px;
  }
}

/* FIX17: Logo/Banner bleiben in hoher Quellauflösung, Ausgabe bleibt kontrolliert. */
.tg-agency-logo-card,
.tg-agency-logo-card img,
.tg-agency-hero-img {
  filter: none !important;
  -webkit-filter: none !important;
  image-rendering: auto;
}

/* FIX18 COMPLETE REBUILD: Mobile Layout + Banner ausblenden auf Mobile.
   Desktop bleibt unverändert, Mobile wird bewusst ohne Hero-Hintergrundbild gerendert. */
@media (max-width: 760px) {
  html,
  body {
    overflow-x: hidden;
  }

  .tg-agency-page {
    width: 100%;
    max-width: 100%;
    padding: 0 14px 36px;
    overflow-x: hidden;
  }

  .tg-agency-hero {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 24px 16px 22px;
    background: linear-gradient(180deg, #f7f6f3 0%, #ece9e2 100%);
    border-left: 1px solid var(--tg-line);
    border-right: 1px solid var(--tg-line);
    overflow: visible;
  }

  .tg-agency-hero-media,
  .tg-agency-hero-img,
  .tg-agency-hero-bg {
    display: none !important;
  }

  .tg-agency-logo-card {
    width: 160px;
    height: 160px;
    min-width: 160px;
    min-height: 160px;
    margin: 0 auto 4px;
    justify-self: center;
    align-self: center;
  }

  .tg-agency-logo-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .tg-agency-logo-card span {
    font-size: 62px;
  }

  .tg-agency-hero-content {
    width: 100%;
    text-align: center;
  }

  .tg-agency-title-row {
    justify-content: center;
    gap: 9px;
  }

  .tg-agency-title-row h1 {
    font-size: clamp(32px, 11vw, 42px);
    letter-spacing: -0.045em;
  }

  .tg-agency-meta {
    margin: 10px 0 16px;
    font-size: 14px;
  }

  .tg-agency-badges,
  .tg-agency-rating-inline {
    justify-content: center;
  }

  .tg-agency-rating-inline {
    flex-wrap: wrap;
    margin-bottom: 16px;
  }

  .tg-agency-claim {
    max-width: none;
    font-size: 15px;
    line-height: 1.6;
  }

  .tg-agency-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .tg-agency-action {
    width: 100%;
    min-height: 50px;
    height: auto;
    padding: 14px 16px;
    text-align: center;
  }

  .tg-agency-actions small {
    color: #333;
    text-shadow: none;
    line-height: 1.45;
  }

  .tg-agency-kpis {
    width: 100%;
    margin: 18px 0 30px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tg-agency-kpis article {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 10px;
    padding: 18px 10px;
    border-right: 1px solid var(--tg-line);
    border-bottom: 1px solid var(--tg-line);
  }

  .tg-agency-kpis article:nth-child(2n) {
    border-right: 0;
  }

  .tg-agency-kpis article:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .tg-agency-kpi-icon {
    width: 42px;
    height: 42px;
    font-size: 22px;
  }

  .tg-agency-kpis strong {
    font-size: 26px;
  }

  .tg-agency-kpis small {
    font-size: 12px;
    line-height: 1.35;
  }

  .tg-agency-section {
    margin: 30px 0;
  }

  .tg-agency-section-head {
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
  }

  .tg-agency-section-head h2,
  .tg-agency-info-card h2,
  .tg-agency-reviews h2 {
    font-size: 19px;
    line-height: 1.15;
  }

  .tg-agency-talent-row,
  .tg-agency-casting-grid,
  .tg-agency-bottom-grid,
  .tg-agency-review-summary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .tg-agency-casting-card,
  .tg-agency-upgrade-card,
  .tg-agency-review-summary,
  .tg-agency-reviews,
  .tg-agency-info-card,
  .tg-agency-empty-card {
    padding: 22px;
  }

  .tg-agency-upgrade-card a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .tg-agency-review-score {
    text-align: center;
  }

  .tg-agency-bars p {
    grid-template-columns: 64px 1fr 34px;
    gap: 9px;
  }

  .tg-agency-info-card p {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

@media (max-width: 520px) {
  .tg-agency-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .agentur-shell {
    display: block;
  }

  .agentur-sidebar {
    position: relative;
    height: auto;
    padding: 18px 16px;
  }

  .agentur-brand {
    grid-template-columns: 54px 1fr;
    align-items: center;
    margin-bottom: 18px;
  }

  .agentur-brand img {
    width: 54px;
    height: 54px;
  }

  .agentur-nav {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .agentur-nav a {
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: 10px 12px;
    white-space: nowrap;
  }

  .agentur-main {
    padding: 20px 14px 80px;
    max-width: none;
  }

  .agentur-hero,
  .agentur-public-hero {
    display: grid;
    gap: 16px;
  }

  .agentur-hero h1,
  .agentur-public-hero h1 {
    font-size: clamp(34px, 13vw, 54px);
  }

  .agentur-rating-card {
    min-width: 0;
    width: 100%;
  }

  .agentur-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .agentur-panel {
    padding: 18px;
  }

  .agentur-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* =========================================================
   FIX19: system fonts + inline SVG icons + mobile paint cleanup
   Keine Drittanbieter-Fonts. Icons werden im Twig als Inline-SVG ausgegeben.
========================================================= */
.tg-agency-page,.tg-agency-profile,.tg-agency-dashboard,.agentur-shell{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}.tg-agency-icon,.tg-agency-badge-icon,.tg-agency-rating-icon{width:1em;height:1em;display:inline-block;flex:0 0 auto;vertical-align:-.125em}.tg-agency-stars{display:inline-flex;align-items:center;gap:2px;color:var(--tg-gold,#f4b52b);line-height:1}.tg-agency-stars svg{width:18px;height:18px;display:block}.tg-agency-stars-large svg{width:20px;height:20px}.tg-agency-stars-review{float:right}.tg-agency-badge{align-items:center;gap:7px}.tg-agency-kpi-icon svg{width:28px;height:28px;display:block}.tg-agency-verified svg{width:15px;height:15px;display:block}.tg-agency-talent-rating{display:inline-flex;align-items:center;gap:5px}.tg-agency-rating-icon{color:var(--tg-gold,#f4b52b)}.tg-agency-upgrade-icon{width:42px;height:42px;display:inline-grid;place-items:center;color:#111}.tg-agency-upgrade-icon svg{width:34px;height:34px;display:block}.tg-agency-hero{min-height:auto!important;box-shadow:none!important}@media(max-width:760px){.tg-agency-hero{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.tg-agency-hero-media,.tg-agency-hero-img,.tg-agency-hero-bg,.tg-agency-hero-bg::after{display:none!important}.tg-agency-logo-img{contain:paint}}

/* FIX20: ARIA-safe hidden text + LCP paint containment. */
.tg-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.tg-agency-logo-img{contain:paint;content-visibility:auto}

/* FIX21: hard reset for previous duplicated LCP fixes. Keep this at EOF. */
.tg-agency-page,.tg-agency-profile,.tg-agency-dashboard,.agentur-shell{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.tg-agency-hero{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;min-height:auto!important;box-shadow:none!important}
.tg-agency-hero-bg,.tg-agency-hero-bg::after{display:none!important;content:none!important;background:none!important}
.tg-agency-logo-img{content-visibility:visible!important;contain:paint}
@media(max-width:760px){.tg-agency-hero-media,.tg-agency-hero-img{display:none!important}}

/* FIX22: final verified full-bleed desktop banner + real milk overlay.
   Loaded CSS file is css/agentur.css. This block must stay at EOF and overrides older duplicated fixes. */
.tg-agency-page{
  width:100%;
  max-width:none;
  overflow-x:clip;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}

.tg-agency-page .tg-agency-hero{
  position:relative!important;
  width:100vw!important;
  max-width:100vw!important;
  left:50%!important;
  right:auto!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  display:grid!important;
  grid-template-columns:minmax(24px,1fr) 220px minmax(32px,1fr) minmax(420px,640px) minmax(32px,1fr) 292px minmax(24px,1fr)!important;
  gap:0!important;
  align-items:center!important;
  min-height:430px!important;
  padding:64px 0!important;
  overflow:hidden!important;
  background:#e6e1d8!important;
  border:0!important;
  box-shadow:none!important;
}

.tg-agency-page .tg-agency-hero-media{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

.tg-agency-page .tg-agency-hero-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  -webkit-filter:none!important;
}

.tg-agency-page .tg-agency-hero-milk{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(248,247,244,.97) 0%,
      rgba(248,247,244,.90) 34%,
      rgba(248,247,244,.52) 58%,
      rgba(20,20,18,.46) 100%
    ),
    radial-gradient(circle at 78% 30%,
      rgba(255,255,255,.78),
      rgba(255,255,255,0) 34%
    )!important;
}

.tg-agency-page .tg-agency-logo-card,
.tg-agency-page .tg-agency-hero-content,
.tg-agency-page .tg-agency-actions{
  position:relative!important;
  z-index:2!important;
}

.tg-agency-page .tg-agency-logo-card{
  grid-column:2!important;
  justify-self:start!important;
  align-self:center!important;
  width:220px!important;
  height:220px!important;
  min-width:220px!important;
  min-height:220px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:10px!important;
  box-shadow:0 22px 55px rgba(0,0,0,.08)!important;
  padding:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.tg-agency-page .tg-agency-logo-img,
.tg-agency-page .tg-agency-logo-card img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  content-visibility:visible!important;
  contain:paint!important;
}

.tg-agency-page .tg-agency-hero-content{
  grid-column:4!important;
  justify-self:stretch!important;
}

.tg-agency-page .tg-agency-actions{
  grid-column:6!important;
  justify-self:stretch!important;
  display:grid!important;
  gap:12px!important;
}

.tg-agency-page .tg-agency-actions small{
  color:#fff!important;
  text-shadow:0 1px 10px rgba(0,0,0,.55)!important;
  text-align:center!important;
  font-weight:800!important;
}

.tg-agency-page .tg-agency-kpis,
.tg-agency-page .tg-agency-section,
.tg-agency-page .tg-agency-bottom-grid{
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1180px){
  .tg-agency-page .tg-agency-hero{
    grid-template-columns:minmax(24px,1fr) 220px minmax(28px,1fr) minmax(420px,720px) minmax(24px,1fr)!important;
    row-gap:24px!important;
  }
  .tg-agency-page .tg-agency-logo-card{grid-column:2!important;}
  .tg-agency-page .tg-agency-hero-content{grid-column:4!important;}
  .tg-agency-page .tg-agency-actions{
    grid-column:2 / 5!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .tg-agency-page .tg-agency-actions small{
    grid-column:1 / -1!important;
    color:#333!important;
    text-shadow:none!important;
  }
}

@media(max-width:760px){
  .tg-agency-page{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    overflow-x:hidden!important;
  }
  .tg-agency-page .tg-agency-hero{
    width:100%!important;
    max-width:100%!important;
    left:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
    padding:24px 16px 22px!important;
    background:linear-gradient(180deg,#f7f6f3 0%,#ece9e2 100%)!important;
    border:1px solid var(--tg-line,#e4e1dc)!important;
    overflow:visible!important;
  }
  .tg-agency-page .tg-agency-hero-media,
  .tg-agency-page .tg-agency-hero-img,
  .tg-agency-page .tg-agency-hero-milk{
    display:none!important;
  }
  .tg-agency-page .tg-agency-logo-card{
    width:160px!important;
    height:160px!important;
    min-width:160px!important;
    min-height:160px!important;
    margin:0 auto 4px!important;
    align-self:center!important;
  }
  .tg-agency-page .tg-agency-hero-content{
    width:100%!important;
    text-align:center!important;
  }
  .tg-agency-page .tg-agency-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .tg-agency-page .tg-agency-actions small{
    color:#333!important;
    text-shadow:none!important;
  }
}
 
.tg-agency-stars{
  display:inline-flex;
  gap:4px;
  align-items:center;
  line-height:1;
}

.tg-agency-stars svg{
  width:18px;
  height:18px;
  display:block;
}

.tg-agency-stars-large svg{
  width:22px;
  height:22px;
}

.tg-agency-stars-review svg{
  width:16px;
  height:16px;
}

/* =========================================
REVIEW SUMMARY – SCORE + STARS INLINE FIX
========================================= */

.tg-agency-review-score{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}


/* Zahl (z. B. 0.0) */

.tg-agency-review-score strong{
  font-size:58px;
  line-height:1;
  display:inline-block;
}


/* Stern-Wrapper direkt neben Zahl */

.tg-agency-review-score .tg-agency-stars{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:4px;
}


/* einzelne Sterne */

.tg-agency-review-score .tg-agency-stars svg{
  width:18px;
  height:18px;
  display:inline-block;
}


/* Text darunter */

.tg-agency-review-score small{
  flex-basis:100%;
  margin-top:6px;
  color:#555;
}

/* =========================================
STARS INLINE FIX
========================================= */

.tg-agency-stars{
  display:inline-flex;
  align-items:center;
  gap:4px;
  vertical-align:middle;
}

.tg-agency-stars svg{
  width:18px;
  height:18px;
  display:block;
}

.tg-agency-stars-large svg{
  width:22px;
  height:22px;
}

.tg-agency-stars-review svg{
  width:16px;
  height:16px;
}


/* =========================================
RATING BARS
========================================= */

.tg-agency-bars{
  margin-top:18px;
}

.tg-agency-bars p{
  display:grid;
  grid-template-columns:90px 1fr 48px;
  align-items:center;
  gap:10px;
  margin:6px 0;
}

.tg-agency-bars i{
  height:6px;
  background:#e5e5e5;
  position:relative;
  display:block;
}

.tg-agency-bars i::after{
  content:"";
  position:absolute;
  inset:0;
  width:var(--w);
  background:#111;
}
/* =========================================
AGENTUR CASTINGS DASHBOARD
========================================= */
.agentur-castings-dashboard{display:grid;gap:22px}.agentur-castings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.agentur-castings-head h2,.agentur-form-intro h2{margin:0 0 10px;font-size:28px;line-height:1}.agentur-button-primary{align-self:flex-start;white-space:nowrap}.agentur-casting-warning{padding:12px 14px;border:1px solid #d8d8d2;background:#fafaf7}.agentur-casting-form .agentur-slot-fieldset{border:1px solid #ddd;background:#fff;padding:18px}.agentur-casting-form .agentur-slot-fieldset legend{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#555;font-weight:700}.agentur-casting-form .agentur-slot-fieldset .fieldset-wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.agentur-casting-form .form-type-datetime{display:grid;gap:12px}.agentur-casting-form .container-inline{display:flex;gap:12px;flex-wrap:wrap}.agentur-casting-form .form-type-date,.agentur-casting-form .form-type-time{margin:0}.agentur-casting-form .form-type-date input,.agentur-casting-form .form-type-time input{width:auto;min-width:180px}@media(max-width:760px){.agentur-castings-head{display:grid}.agentur-casting-form .agentur-slot-fieldset .fieldset-wrapper{grid-template-columns:1fr}.agentur-casting-form .container-inline{display:grid}.agentur-casting-form .form-type-date input,.agentur-casting-form .form-type-time input{width:100%}}

/* FIX19: Agentur-Casting-Dashboard + Public Casting Cards */
.agentur-button,
.agentur-button:link,
.agentur-button:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px !important;
  min-height: 42px;
  background: #111 !important;
  color: #fff !important;
  border: 1px solid #111 !important;
  text-decoration: none !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 800;
  white-space: nowrap;
}
.agentur-button:hover,
.agentur-button:focus-visible {
  background: #333 !important;
  border-color: #333 !important;
}
.agentur-create-casting-button {
  min-width: 190px;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}
.agentur-castings-head {
  align-items: center !important;
}
.agentur-castings-head > .form-item,
.agentur-castings-head > .contextual-region {
  flex: 0 0 auto;
}
.tg-agency-talent-request,
.tg-agency-talent-request:link,
.tg-agency-talent-request:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  width: 100%;
  min-height: 38px;
  padding: 10px 12px;
  background: #111;
  color: #fff !important;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
}
.tg-agency-talent-request:hover,
.tg-agency-talent-request:focus-visible {
  background: #333;
}
.tg-agency-casting-live-card {
  align-items: stretch;
}
.tg-agency-casting-live-card h3 {
  margin: 10px 0 10px;
  font-size: 22px;
  line-height: 1.15;
}
.tg-agency-casting-live-card p {
  color: #555;
  line-height: 1.55;
  margin: 0 0 16px;
}
.tg-agency-casting-meta {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
}
.tg-agency-casting-meta div {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  font-size: 13px;
}
.tg-agency-casting-meta dt {
  color: #666;
  font-weight: 700;
}
.tg-agency-casting-meta dd {
  margin: 0;
  font-weight: 900;
}
.tg-agency-casting-slots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}
.tg-agency-casting-slots span {
  display: inline-flex;
  padding: 7px 9px;
  background: #f0eee9;
  border-radius: 999px;
  color: #333;
  font-size: 12px;
  font-weight: 800;
}
.tg-agency-casting-link,
.tg-agency-casting-link:link,
.tg-agency-casting-link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 14px;
  background: #111;
  color: #fff !important;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .agentur-castings-head {
    align-items: stretch !important;
  }
  .agentur-create-casting-button,
  .agentur-button-primary {
    width: 100%;
  }
}

/* =========================================================
   Public talent request page
   ========================================================= */
.agentur-request-page {
  --ar-bg: #f6f5f2;
  --ar-card: #ffffff;
  --ar-line: #e3e0da;
  --ar-text: #111111;
  --ar-muted: #68645d;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 54px);
  color: var(--ar-text);
  background: var(--ar-bg);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.agentur-request-back {
  display: inline-flex;
  margin-bottom: 18px;
  font-weight: 850;
  color: #34312c;
  text-decoration: none;
}

.agentur-request-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: stretch;
  margin-bottom: 22px;
}

.agentur-request-agency,
.agentur-request-talent-card,
.agentur-request-form-card,
.agentur-request-side,
.agentur-request-result {
  background: var(--ar-card);
  border: 1px solid var(--ar-line);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,.055);
}

.agentur-request-agency {
  min-height: 220px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 90% 12%, rgba(0,0,0,.08), transparent 28%),
    linear-gradient(135deg, #fff, #efede7);
}

.agentur-request-logo {
  width: 132px;
  height: 132px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #fff;
  overflow: hidden;
  border: 1px solid var(--ar-line);
  font-size: 58px;
  font-weight: 950;
}

.agentur-request-logo img {
  width: 82%;
  height: 82%;
  object-fit: contain;
}

.agentur-request-eyebrow {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.agentur-request-agency h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 62px);
  line-height: .94;
  letter-spacing: -.055em;
}

.agentur-request-agency p {
  margin: 15px 0 0;
  color: var(--ar-muted);
  font-size: 16px;
  font-weight: 700;
}

.agentur-request-talent-card {
  padding: 22px;
  display: grid;
  align-content: start;
  gap: 16px;
}

.agentur-request-talent-image {
  aspect-ratio: 1 / 1.05;
  border-radius: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #dedbd3;
  font-size: 52px;
  font-weight: 950;
}

.agentur-request-talent-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agentur-request-talent-card strong {
  display: block;
  font-size: 22px;
  letter-spacing: -.02em;
}

.agentur-request-talent-card small {
  display: block;
  margin-top: 4px;
  color: var(--ar-muted);
  font-weight: 700;
}

.agentur-request-talent-card a {
  display: inline-flex;
  justify-content: center;
  padding: 13px 16px;
  border-radius: 12px;
  background: #111;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

.agentur-request-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 22px;
  align-items: start;
}

.agentur-request-form-card {
  padding: clamp(22px, 4vw, 42px);
}

.agentur-request-form-intro h2 {
  margin: 0 0 8px;
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -.04em;
}

.agentur-request-form-intro p,
.agentur-request-privacy,
.agentur-request-side p,
.agentur-request-side li {
  color: var(--ar-muted);
  line-height: 1.65;
}

.agentur-request-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}

.agentur-request-form .form-item {
  margin: 0 0 16px;
}

.agentur-request-form label {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.agentur-request-form input[type="text"],
.agentur-request-form input[type="email"],
.agentur-request-form textarea {
  width: 100%;
  border: 1px solid var(--ar-line);
  border-radius: 12px;
  padding: 14px 15px;
  background: #fbfaf7;
  color: #111;
  font: inherit;
  outline: none;
}

.agentur-request-form textarea {
  min-height: 180px;
  resize: vertical;
}

.agentur-request-form input:focus,
.agentur-request-form textarea:focus {
  border-color: #111;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);
}

.agentur-request-form .form-actions {
  margin-top: 22px;
}

.agentur-request-submit,
.agentur-request-form .button--primary,
.agentur-request-form input[type="submit"] {
  min-height: 54px;
  border: 0;
  border-radius: 13px;
  padding: 0 24px;
  background: #111;
  color: #fff;
  font-weight: 950;
  cursor: pointer;
}

.agentur-request-side {
  padding: 28px;
  position: sticky;
  top: 24px;
}

.agentur-request-side h2 {
  margin: 0 0 16px;
  font-size: 22px;
  letter-spacing: -.025em;
}

.agentur-request-side ol {
  margin: 0;
  padding-left: 20px;
}

.agentur-request-side li {
  margin-bottom: 12px;
  font-weight: 700;
}

.agentur-request-result {
  max-width: 780px;
  margin: 60px auto;
  padding: 42px;
}

.agentur-request-result h1 {
  margin: 0 0 12px;
  font-size: 38px;
  letter-spacing: -.04em;
}

@media (max-width: 900px) {
  .agentur-request-hero,
  .agentur-request-layout,
  .agentur-request-agency,
  .agentur-request-form-grid {
    grid-template-columns: 1fr;
  }

  .agentur-request-side {
    position: static;
  }
}

/* Agentur casting detail page */
.tg-agency-casting-back{display:inline-flex;margin:28px 0 18px;font-weight:900;color:#444;text-decoration:none}.tg-agency-casting-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:28px;background:#fff;border:1px solid var(--tg-line,#e4e1dc);border-radius:12px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.06)}.tg-agency-casting-detail-media{min-height:520px;background:#eceae5;display:grid;place-items:center;overflow:hidden}.tg-agency-casting-detail-media img{width:100%;height:100%;object-fit:cover;display:block}.tg-agency-casting-detail-media span{font-size:clamp(46px,7vw,110px);font-weight:900;letter-spacing:-.07em;color:#bbb}.tg-agency-casting-detail-body{padding:clamp(28px,4vw,58px);display:grid;align-content:center}.tg-agency-casting-detail-body h1{margin:18px 0 18px;font-size:clamp(38px,5vw,72px);line-height:.95;letter-spacing:-.055em}.tg-agency-casting-detail-intro{font-size:18px;line-height:1.72;color:#333;margin:0 0 28px}.tg-agency-casting-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 28px}.tg-agency-casting-detail-meta div{border:1px solid var(--tg-line,#e4e1dc);border-radius:9px;padding:14px;background:#faf9f6}.tg-agency-casting-detail-meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666;font-weight:900}.tg-agency-casting-detail-meta dd{margin:6px 0 0;font-weight:900}.tg-agency-casting-detail-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tg-agency-casting-detail-slots article{border:1px solid var(--tg-line,#e4e1dc);border-radius:9px;padding:16px;background:#111;color:#fff}.tg-agency-casting-detail-slots span,.tg-agency-casting-detail-slots small{display:block;color:rgba(255,255,255,.72);font-size:12px}.tg-agency-casting-detail-slots strong{display:block;font-size:30px;margin:8px 0}.agentur-button-small{padding:8px 10px!important;font-size:11px!important}.tg-agency-casting-live-card{overflow:hidden}.tg-agency-casting-thumb{height:150px;margin:-28px -28px 20px;background:#eceae5;display:grid;place-items:center;overflow:hidden}.tg-agency-casting-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:900px){.tg-agency-casting-detail{grid-template-columns:1fr}.tg-agency-casting-detail-media{min-height:300px}.tg-agency-casting-detail-meta,.tg-agency-casting-detail-slots{grid-template-columns:1fr}}


/* Agentur casting upload */
.agentur-casting-upload-widget{display:grid;gap:12px;padding:18px;border:1px dashed #cfcfca;background:#fafaf8}
.agentur-casting-upload-preview{min-height:0;display:block}
.agentur-casting-upload-preview img{display:block;width:100%;max-width:360px;aspect-ratio:16/10;object-fit:cover;border:1px solid #ddd;background:#eee}
.agentur-casting-upload-status{margin:0;color:#666;font-size:13px;line-height:1.5}
.tg-agency-casting-detail-placeholder{width:100%;aspect-ratio:16/10;display:grid;place-items:center;background:#eee;color:#111;font-size:72px;font-weight:900}

.agentur-button-danger {
  border-color: rgba(180, 40, 40, .35);
  color: #8f1f1f;
}
.agentur-button-danger:hover {
  border-color: rgba(180, 40, 40, .7);
}

/* v10 profile refinements */
.tg-agency-all-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:#575757;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  padding:0;
}
.tg-agency-all-toggle:hover{text-decoration:underline}
.tg-agency-all-talents{
  margin-top:18px;
  background:#fff;
  border:1px solid var(--tg-line,#e4e1dc);
  border-radius:12px;
  padding:18px;
  box-shadow:0 14px 36px rgba(0,0,0,.04);
}
.tg-agency-all-talents[hidden]{display:none!important}
.tg-agency-all-talents-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.tg-agency-all-talents-head strong{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tg-agency-all-talents-nav{display:flex;gap:8px}
.tg-agency-all-talents-nav button{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.tg-agency-all-talents-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding-bottom:8px;
  scrollbar-width:thin;
}
.tg-agency-all-talents-track .tg-agency-talent-card{
  flex:0 0 min(240px,75vw);
  scroll-snap-align:start;
}
.tg-agency-talent-card-mini .tg-agency-talent-image{aspect-ratio:1/1.12}
.tg-agency-casting-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.tg-agency-casting-card,
.tg-agency-upgrade-card{
  height:100%;
  min-height:360px;
}
.tg-agency-casting-card > div{
  width:100%;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.tg-agency-casting-live-card h3{
  min-height:2.4em;
}
.tg-agency-casting-live-card p{
  min-height:4.6em;
}
.tg-agency-casting-link{
  margin-top:auto;
}
@media(max-width:980px){
  .tg-agency-casting-grid{grid-template-columns:1fr}
  .tg-agency-casting-card,.tg-agency-upgrade-card{min-height:0}
}

.agentur-request-message{max-width:320px;white-space:normal;line-height:1.35;color:var(--agentur-text,#1b1b1b)}

/* v12: Casting image position + milky overlays + request info modal */
.tg-agency-casting-thumb{
  position:relative;
  isolation:isolate;
  background:#eceae5;
}
.tg-agency-casting-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.tg-agency-casting-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to top, rgba(246,245,241,.92) 0%, rgba(246,245,241,.58) 34%, rgba(246,245,241,0) 76%);
}
.tg-agency-casting-detail-media{
  position:relative;
  isolation:isolate;
}
.tg-agency-casting-detail-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.tg-agency-casting-detail-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to left, rgba(246,245,241,.88) 0%, rgba(246,245,241,.52) 34%, rgba(246,245,241,0) 78%);
}
.agentur-info-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #111;
  background:#111;
  color:#fff;
  padding:8px 12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
.agentur-info-button:hover,
.agentur-info-button:focus-visible{background:#333;border-color:#333;outline:none}
.agentur-request-dialog{
  width:min(720px,calc(100vw - 34px));
  border:0;
  padding:0;
  background:transparent;
  color:#111;
}
.agentur-request-dialog::backdrop{background:rgba(0,0,0,.48);backdrop-filter:blur(5px)}
.agentur-request-dialog-box{
  position:relative;
  background:#f7f6f2;
  border:1px solid #ddd8cf;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  padding:clamp(24px,4vw,42px);
}
.agentur-dialog-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid #d5d0c7;
  background:#fff;
  color:#111;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.agentur-request-dialog-box h3{margin:6px 0 22px;font-size:clamp(28px,4vw,46px);line-height:.98;letter-spacing:-.045em}
.agentur-request-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}
.agentur-request-detail-list div{background:#fff;border:1px solid #e1ddd5;padding:13px 14px}
.agentur-request-detail-list dt{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#666}
.agentur-request-detail-list dd{margin:6px 0 0;font-weight:800;overflow-wrap:anywhere}
.agentur-request-dialog-message{background:#fff;border:1px solid #e1ddd5;padding:16px 18px;margin-top:12px}
.agentur-request-dialog-message strong{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#666;margin-bottom:8px}
.agentur-request-dialog-message p{margin:0;white-space:pre-wrap;line-height:1.65;color:#222}
.agentur-request-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.agentur-request-dialog-actions .agentur-button{margin:0}
@media(max-width:700px){.agentur-request-detail-list{grid-template-columns:1fr}.agentur-request-dialog-box{padding:24px 18px}}

/* v13: Casting image edge fix, stronger detail overlay, application buttons, request delete wording */
.tg-agency-casting-live-card{
  padding:0 !important;
  align-items:stretch !important;
  overflow:hidden;
}
.tg-agency-casting-live-card > div{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.tg-agency-casting-live-card .tg-agency-casting-thumb{
  width:100%;
  height:180px;
  margin:0 0 20px !important;
  border-radius:10px 10px 0 0;
}
.tg-agency-casting-live-card .tg-agency-plan-label,
.tg-agency-casting-live-card h3,
.tg-agency-casting-live-card p,
.tg-agency-casting-live-card .tg-agency-casting-meta,
.tg-agency-casting-live-card .tg-agency-casting-slots,
.tg-agency-casting-live-card .tg-agency-casting-link{
  margin-left:28px;
  margin-right:28px;
}
.tg-agency-casting-live-card .tg-agency-casting-link{
  margin-bottom:28px;
  width:max-content;
}
.tg-agency-casting-thumb img{
  object-position:center top !important;
}
.tg-agency-casting-detail-media::after{
  background:linear-gradient(to left,
    rgba(246,245,241,1) 0%,
    rgba(246,245,241,1) 13%,
    rgba(246,245,241,.92) 27%,
    rgba(246,245,241,.62) 46%,
    rgba(246,245,241,.18) 68%,
    rgba(246,245,241,0) 86%) !important;
}
.tg-agency-casting-detail-slots article{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.tg-agency-casting-apply{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:10px 12px;
  border-radius:6px;
  background:#fff;
  color:#111;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  text-align:center;
}
.tg-agency-casting-apply:hover,
.tg-agency-casting-apply:focus-visible{
  background:#f1efe9;
  outline:none;
}
.tg-agency-casting-apply.is-disabled{
  background:rgba(255,255,255,.16);
  color:rgba(255,255,255,.62);
}
@media(max-width:900px){
  .tg-agency-casting-live-card .tg-agency-plan-label,
  .tg-agency-casting-live-card h3,
  .tg-agency-casting-live-card p,
  .tg-agency-casting-live-card .tg-agency-casting-meta,
  .tg-agency-casting-live-card .tg-agency-casting-slots,
  .tg-agency-casting-live-card .tg-agency-casting-link{
    margin-left:20px;
    margin-right:20px;
  }
  .tg-agency-casting-live-card .tg-agency-casting-link{margin-bottom:20px}
}


/* v15: detail overlay wirklich weiß, klare Bewerbungsbuttons, Castingbewerbungen */
.tg-agency-casting-detail-media::after{
  background:linear-gradient(to left,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,1) 18%,
    rgba(255,255,255,.96) 32%,
    rgba(255,255,255,.76) 50%,
    rgba(255,255,255,.34) 70%,
    rgba(255,255,255,0) 90%) !important;
}
.tg-agency-casting-detail-slots article{
  background:#111 !important;
  color:#fff !important;
}
.tg-agency-casting-apply,
.tg-agency-casting-apply:link,
.tg-agency-casting-apply:visited{
  background:#f4d35e !important;
  color:#111 !important;
  border:1px solid #f4d35e !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.tg-agency-casting-apply:hover,
.tg-agency-casting-apply:focus-visible{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}
.tg-agency-casting-apply.is-disabled{
  background:rgba(255,255,255,.18) !important;
  color:rgba(255,255,255,.8) !important;
  border-color:rgba(255,255,255,.26) !important;
  box-shadow:none !important;
  cursor:not-allowed;
}
.agentur-casting-applications{display:grid;gap:18px}.agentur-casting-applications h2{margin:0;font-size:28px}.agentur-table .agentur-button{margin:2px 4px 2px 0}


/* v16: Safari casting image edge, applied button state, contact line break */
.tg-agency-casting-live-card .tg-agency-casting-thumb{
  position:relative !important;
  display:block !important;
  width:calc(100% + 2px) !important;
  height:180px !important;
  margin:-1px -1px 20px -1px !important;
  padding:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
  background:#eceae5 !important;
  border-radius:10px 10px 0 0;
}
.tg-agency-casting-live-card .tg-agency-casting-thumb img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center top !important;
}
.tg-agency-casting-apply.is-applied{
  background:rgba(255,255,255,.28) !important;
  color:rgba(255,255,255,.9) !important;
  border-color:rgba(255,255,255,.38) !important;
}
.tg-agency-info-card strong br{
  display:block;
  content:"";
}


/* v17 refinements */
html{scroll-behavior:smooth}
#tg-agency-castings{scroll-margin-top:24px}
.agentur-dashboard-talent-wrap{display:grid;gap:14px}
.agentur-dashboard-talent-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.agentur-dashboard-talent-head strong{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#555}
.agentur-dashboard-talent-nav{display:flex;gap:8px}
.agentur-dashboard-talent-nav button{width:38px;height:38px;border:1px solid #111;background:#111;color:#fff;border-radius:999px;font-size:24px;line-height:1;cursor:pointer}
.agentur-dashboard-talent-track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,minmax(0,auto));grid-auto-columns:minmax(220px,250px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 14px;scrollbar-width:thin}
.agentur-dashboard-talent-track .agentur-talent-card{scroll-snap-align:start;min-width:0}
@media(max-width:760px){.agentur-dashboard-talent-track{grid-template-rows:1fr;grid-auto-columns:minmax(230px,82vw)}}

/* v26: dashboard talent cards as real horizontal two-row scroller */
.agentur-dashboard-talent-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.agentur-dashboard-talent-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:14px !important;
}
.agentur-dashboard-talent-nav{
  display:flex !important;
  gap:8px !important;
}
.agentur-dashboard-talent-nav button{
  width:38px !important;
  height:38px !important;
  border:1px solid #111 !important;
  background:#111 !important;
  color:#fff !important;
  border-radius:999px !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.agentur-dashboard-talent-track{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:16px !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain !important;
  scroll-snap-type:x proximity !important;
  padding:2px 2px 16px !important;
  scrollbar-width:thin !important;
}
.agentur-dashboard-talent-column{
  flex:0 0 250px !important;
  width:250px !important;
  min-width:250px !important;
  display:grid !important;
  grid-template-rows:repeat(2, minmax(0, auto)) !important;
  gap:16px !important;
  scroll-snap-align:start !important;
}
.agentur-dashboard-talent-column .agentur-talent-card{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.agentur-dashboard-talent-column .agentur-talent-image{
  aspect-ratio:4/5 !important;
}
@media(max-width:760px){
  .agentur-dashboard-talent-column{
    flex-basis:82vw !important;
    width:82vw !important;
    min-width:82vw !important;
  }
}

/* v28: dashboard talents, true row-first two-lane horizontal scroller */
.agentur-dashboard-talent-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.agentur-dashboard-talent-track{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain !important;
  scroll-behavior:smooth !important;
  scroll-snap-type:x proximity !important;
  padding:2px 2px 16px !important;
  scrollbar-width:thin !important;
}
.agentur-dashboard-talent-lanes{
  display:inline-grid !important;
  grid-template-rows:auto auto !important;
  gap:16px !important;
  min-width:max-content !important;
}
.agentur-dashboard-talent-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:16px !important;
  min-width:max-content !important;
}
.agentur-dashboard-talent-row .agentur-talent-card{
  flex:0 0 250px !important;
  width:250px !important;
  min-width:250px !important;
  max-width:250px !important;
  margin:0 !important;
  scroll-snap-align:start !important;
}
.agentur-dashboard-talent-row .agentur-talent-image{
  aspect-ratio:4/5 !important;
}
@media(max-width:760px){
  .agentur-dashboard-talent-lanes{
    grid-template-rows:auto !important;
  }
  .agentur-dashboard-talent-row .agentur-talent-card{
    flex-basis:82vw !important;
    width:82vw !important;
    min-width:82vw !important;
    max-width:82vw !important;
  }
}

/* v29: hard override dashboard talent rows - two horizontal rows, never vertical stack */
.agentur-dashboard-talent-wrap{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;}
.agentur-dashboard-talent-track{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;scroll-behavior:smooth!important;padding:2px 2px 16px!important;scrollbar-width:thin!important;}
.agentur-dashboard-talent-lanes{display:inline-flex!important;flex-direction:column!important;gap:16px!important;width:max-content!important;min-width:max-content!important;max-width:none!important;}
.agentur-dashboard-talent-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:16px!important;width:max-content!important;min-width:max-content!important;max-width:none!important;}
.agentur-dashboard-talent-row>.agentur-talent-card{flex:0 0 250px!important;width:250px!important;min-width:250px!important;max-width:250px!important;margin:0!important;box-sizing:border-box!important;}
.agentur-dashboard-talent-row>.agentur-talent-card .agentur-talent-image{aspect-ratio:4/5!important;}
@media(max-width:760px){.agentur-dashboard-talent-row>.agentur-talent-card{flex-basis:82vw!important;width:82vw!important;min-width:82vw!important;max-width:82vw!important;}}

/* Agency affiliation badge on public TalentGrid user profiles. */
.tg-agency-affiliation {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  max-width: 100%;
  margin-top: 1rem;
  padding: .68rem .85rem;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background .22s ease, border-color .22s ease, transform .22s ease;
}

.tg-agency-affiliation:hover,
.tg-agency-affiliation:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .15);
  border-color: rgba(232, 191, 90, .48);
  transform: translateY(-1px);
}

.tg-agency-affiliation__logo {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  flex: 0 0 auto;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .22);
}

.tg-agency-affiliation__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
  display: block;
}

.tg-agency-affiliation__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  text-align: left;
}

.tg-agency-affiliation__label {
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .64);
  font-weight: 700;
  white-space: nowrap;
}

.tg-agency-affiliation__name {
  max-width: 16rem;
  font-size: .94rem;
  color: #fff;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .tg-agency-affiliation {
    margin-left: auto;
    margin-right: auto;
  }

  .tg-agency-affiliation__name {
    max-width: 13rem;
  }
}
