/* Studio: eine gemeinsame Quelle für Website und freigegebene SPA-Seiten. */
/* Jobbörse: gemeinsame Typografie und bedienbare Flächen, auch in Portalen. */
[data-studio] .jobs-head h1 { font: 500 clamp(30px, 4vw, 42px)/1.15 var(--font-display); letter-spacing: -.035em; }
[data-studio] :is(.jobtik-title, .jobdrawer-title) { overflow-wrap: anywhere; }
[data-studio] :is(.jobtik-title, .jobtik-money, .jobdrawer-money .v) { color: var(--text); }
[data-studio] .jobs-comp.zero { color: var(--primary); background: var(--primary-light); border-color: var(--border); }
[data-studio] .jobs-trustline .ok { color: var(--primary); }
[data-studio] .jobdrawer-title { font: 500 clamp(24px, 3vw, 30px)/1.2 var(--font-display); letter-spacing: -.025em; }
[data-studio] :is(.jobs-page, .jobs-filterpanel, .jobdrawer) :is(button, input:not([type="checkbox"]), select, .btn) { min-height: 44px; }
[data-studio] .jobdrawer-close { min-width: 44px; }
[data-studio] :is(.jobs-filterpanel input, .jobs-filterpanel select) { font-size: 16px; }
[data-studio] :is(.jobs-page, .jobs-filterpanel, .jobdrawer) :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .jf-apply { color: var(--on-primary); }
[data-studio] .jobtik > * { min-width: 0; }
@media (max-width: 768px) {
  [data-studio] .jobtik { grid-template-columns: minmax(0, 1fr); }
  [data-studio] .jobtik-side { flex-wrap: wrap; }
  [data-studio] .jobtik-title { display: block; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset; }
}
/* Öffentliche Profile: vollständig servergerendert, ohne eigene Farbpalette. */
[data-studio] .ssr-profile { margin: 0; color: var(--text); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.ssr-profile *, .ssr-profile *::before, .ssr-profile *::after { box-sizing: border-box; }
.ssr-profile :is(h1,h2,p) { margin: 0; }
.ssr-profile a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.ssr-profile a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; }
.ssr-profile .nav { background: var(--surface); border-bottom: 1px solid var(--border); }
.ssr-profile .inner { max-width: 960px; margin: auto; padding: 12px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.ssr-profile .inner a, .ssr-profile footer a { display: inline-flex; align-items: center; min-height: 44px; }
.ssr-profile .brand { margin-right: auto; font-size: 24px; font-weight: 700; letter-spacing: -.04em; text-decoration: none; gap: 8px; }
.ssr-profile .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--primary); }
.ssr-profile .wrap { max-width: 960px; margin: auto; padding: 24px 24px 48px; overflow-wrap: anywhere; }
.ssr-profile .crumb { color: var(--text-muted); font-size: 14px; margin-bottom: 20px; }
.ssr-profile .crumb a { display: inline-flex; align-items: center; min-height: 44px; }
.ssr-profile :is(.hero,.section,.cta) { border: 1px solid var(--border); border-radius: 20px; background: var(--surface); padding: clamp(20px,4vw,32px); }
.ssr-profile .hero { display: flex; align-items: flex-start; gap: 24px; box-shadow: var(--shadow-sm); }
.ssr-profile .hero > div:last-child { min-width: 0; flex: 1; }
.ssr-profile .avatar { width: 84px; height: 84px; flex-shrink: 0; border-radius: 50%; background: var(--primary-light); color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 32px; font-weight: 700; }
.ssr-profile h1 { font: 500 clamp(30px,4vw,44px)/1.15 var(--font-display); letter-spacing: -.035em; }
.ssr-profile h2 { font: 500 clamp(23px,3vw,28px)/1.25 var(--font-display); letter-spacing: -.025em; margin-bottom: 12px; }
.ssr-profile .meta { color: var(--text-soft); margin-top: 8px; }
.ssr-profile :is(.cat,.badge,.vrf) { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; background: var(--primary-light); color: var(--primary); padding: 4px 10px; font-size: 14px; font-weight: 600; }
.ssr-profile .cat { margin-top: 12px; }
.ssr-profile :is(.rating,.stars) { color: var(--accent); font-weight: 600; margin-top: 8px; }
.ssr-profile :is(.kpis,.badges) { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; }
.ssr-profile .badge svg { flex-shrink: 0; }
.ssr-profile .section { margin-top: 20px; }
.ssr-profile :is(.section p,.career-d,.pkg .f,.review .c,.reply) { white-space: pre-wrap; color: var(--text-soft); }
.ssr-profile .career { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.ssr-profile .career li { border-left: 2px solid var(--border-strong); padding-left: 16px; }
.ssr-profile :is(.career-t,.pkg .t) { font-weight: 600; }
.ssr-profile :is(.career-s,.career-d,.pkg .d,.pkg .f) { font-size: 14px; margin-top: 6px; color: var(--text-soft); }
.ssr-profile .pkgs { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 16px; }
.ssr-directory .catalog-search { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.ssr-directory .catalog-search input { flex: 1; min-width: 120px; min-height: 48px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text); font: inherit; }
.ssr-directory .catalog-sort { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ssr-directory .catalog-filter { display: grid; gap: 8px; flex: 1 1 200px; min-width: 0; }
.ssr-directory .catalog-sort button { align-self: end; }
.ssr-directory .catalog-sort select { max-width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text); font: inherit; }
.ssr-directory :is(.catalog-categories,.catalog-pages) { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.ssr-directory :is(.catalog-categories,.catalog-pages) a { display: inline-flex; align-items: center; min-height: 44px; }
.ssr-profile .pkg { border: 1px solid var(--border); border-radius: 12px; padding: 20px; }
.ssr-profile .pkg { display: flex; flex-direction: column; align-items: flex-start; }
.ssr-profile .pkg h3 { margin: 0; font-size: 16px; }
.ssr-profile .service-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; padding-top: 12px; font-weight: 600; }
.ssr-profile .profile-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.ssr-profile .pkg .p { font-size: 24px; font-weight: 600; color: var(--primary); margin-top: 8px; }
.ssr-profile .gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); gap: 12px; }
.ssr-profile .gitem { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; background: var(--bg-muted); }
.ssr-profile .gitem img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ssr-profile .review { padding: 20px 0; border-top: 1px solid var(--border); }
.ssr-profile .review:first-of-type { border-top: 0; }
.ssr-profile .vrf { margin-left: 8px; }
.ssr-profile .review .c { margin-top: 8px; }
.ssr-profile .reply { margin-top: 12px; padding: 16px; border-left: 3px solid var(--primary); background: var(--bg-subtle); border-radius: 0 12px 12px 0; }
.ssr-profile .reply b { display: block; color: var(--text); margin-bottom: 6px; }
.ssr-profile .cta { margin-top: 24px; background: var(--bg-subtle); }
.ssr-profile .cta p { color: var(--text-soft); }
.ssr-profile .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 14px 24px; margin-top: 20px; border-radius: 12px; background: var(--primary); color: var(--on-primary); font-weight: 600; text-align: center; text-decoration: none; }
.ssr-profile .btn:hover { background: var(--primary-hover); }
.ssr-profile .alt { display: block; margin-top: 12px; color: var(--text-soft); }
.ssr-profile .alt a { display: inline-flex; min-height: 44px; align-items: center; }
.ssr-profile .profile-vacation { padding: 12px; background: var(--bg-muted); border-radius: 12px; }
.ssr-profile .profile-vacation span { display: block; }
.ssr-profile .profile-vacation span:first-child { font-weight: 600; }
.ssr-profile footer { text-align: center; padding: 24px; color: var(--text-muted); border-top: 1px solid var(--border); font-size: 14px; }
.ssr-profile .profile-skip { position: absolute; left: 16px; top: 8px; z-index: 10; padding: 12px 20px; background: var(--surface); transform: translateY(-200%); }
.ssr-profile .profile-skip:focus { transform: translateY(0); }
@media (max-width: 540px) {
  .ssr-profile .inner { padding: 8px 16px; gap: 4px 16px; font-size: 14px; }
  .ssr-profile .wrap { padding: 16px 16px 32px; }
  .ssr-profile .hero { flex-direction: column; gap: 16px; }
  .ssr-profile .hero > div:last-child { width: 100%; }
  .ssr-profile .btn { width: 100%; }
}
[data-studio] .rc-page { --brand: var(--primary); }
[data-studio] .rc-head h1 {
  font: 500 clamp(28px, 3.5vw, 38px)/1.2 var(--font-display);
  letter-spacing: -0.035em;
  align-items: flex-start;
  overflow-wrap: anywhere;
}
[data-studio] .rc-page :is(.rc-head .sub, .rc-crumb, .rc-empty-sub, .rc-new-dot, .rc-updated-dot) {
  font-size: 14px;
  line-height: 1.5;
}
[data-studio] :is(.rc-page, .my-requests-page) .mr2-empty {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: var(--radius);
  padding: clamp(20px, 4vw, 32px);
  line-height: 1.6;
}
[data-studio] .rc-page :is(.rc-sort, .rc-tool-btn, .rc-view-toggle button, .rc-star, .mr2-kebab) { min-height: 44px; }
[data-studio] .rc-page :is(.rc-star, .mr2-kebab) { min-width: 44px; }
[data-studio] .rc-page .rc-new-dot { color: var(--on-primary); }
[data-studio] .rc-page :is(button, a, select):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .rc-page .btn { white-space: normal; }
[data-studio] .my-requests-page .settings-header h1 {
  font: 500 clamp(30px, 4vw, 42px)/1.15 var(--font-display);
  letter-spacing: -0.035em;
}
[data-studio] .my-requests-page :is(.mr2-tab, .mr2-sort, .mr2-search input, .mr2-kebab) { min-height: 44px; }
[data-studio] .my-requests-page .mr2-kebab { min-width: 44px; }
[data-studio] .my-requests-page :is(.mr2-title .t, .mr2-title-text) { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
[data-studio] .my-requests-page .mr2-title .t { align-items: flex-start; }
[data-studio] .my-requests-page :is(.mr2-title .s, .mr2-frist, .mr2-kpi .l) { font-size: 14px; line-height: 1.5; }
[data-studio] .my-requests-page .mr2-new { color: var(--on-primary); }
[data-studio] .my-requests-page .mr2-cta { min-height: 56px; }
[data-studio] .my-requests-page :is(button, a, input, select):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .dr-recovery-version { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); overflow-wrap: anywhere; }
[data-studio] .dr-recovery-version p { white-space: pre-wrap; }
[data-studio] .dr-recovery-version dl { display: grid; gap: 12px; margin: 0; }
[data-studio] .dr-recovery-version dt { font-weight: 600; }
[data-studio] .dr-recovery-version dd { margin: 4px 0 0; white-space: pre-wrap; }
[data-studio] .search-shelf-detail {
  overflow: visible;
  overflow-wrap: anywhere;
  white-space: normal;
  font-size: 14px;
  line-height: 1.5;
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("./fonts/studio/dm-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("./fonts/studio/fraunces-latin.woff2") format("woff2");
}
/* Die Farbmuster der Darstellungsauswahl zeigen exakt dieselbe Palette. */
:root[data-studio],
[data-studio] .appearance-theme-swatch.is-light {
  --font: "DM Sans", system-ui, sans-serif;
  --font-display: "Fraunces", Georgia, serif;
  --bg: #f8f7f2;
  --bg-subtle: #f1f1e9;
  --bg-muted: #e9ece2;
  --surface: #fff;
  --text: #172c28;
  --text-soft: #435c51;
  --text-muted: #56695f;
  --text-meta: #506458;
  --text-accent: #19513c;
  --primary: #19513c;
  --primary-dark: #143f30;
  --primary-hover: #143f30;
  --primary-light: #e1eadd;
  --on-primary: #fff;
  --accent: #a3452e;
  --border: #dcdfd5;
  --border-strong: #bdc7b9;
  --ring: #19513c26;
  --focus-ring: #a3452e;
  --shadow-sm: 0 1px 3px #172c2808;
  --shadow-md: 0 8px 24px #172c2810;
}
:root[data-studio][data-theme="dark"],
[data-studio] .appearance-theme-swatch.is-dark {
  --bg: #141e1b;
  --bg-subtle: #1b2822;
  --bg-muted: #27372e;
  --surface: #1c2923;
  --text: #edf4f0;
  --text-soft: #c7d6cc;
  --text-muted: #afc1b7;
  --text-meta: #afc1b7;
  --text-accent: #acd9b5;
  --primary: #acd9b5;
  --primary-dark: #c2e8c9;
  --primary-hover: #c2e8c9;
  --primary-light: #304633;
  --on-primary: #14251a;
  --accent: #ffab8d;
  --border: #3c4b42;
  --border-strong: #63756a;
  --ring: #acd9b530;
  --focus-ring: #ffab8d;
}
[data-studio] body {
  font-family: var(--font);
  background: var(--bg);
}
[data-studio] .studio-search input::placeholder,
[data-studio] .dir-hero .dir-search::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
[data-studio] .hd-search-go,
[data-studio] .cmp-toggle.is-selected .cmp-toggle-check {
  color: var(--on-primary);
}
[data-studio] .btn-primary {
  background: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
[data-studio] .btn-primary:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}
[data-studio]
  :is(
    .dir-hero-title,
    .dhome-header h1,
    .dhome-focus h2,
    .gd-header h1,
    .gd-section h2,
    .gd-provider-card h2,
    .det-hero h1,
    .det-section h2,
    .det-rail-card h2,
    .anfrage-head h1,
    .anfrage-flow .agent-stage-q,
    .dr-guide-title,
    .dr-success h2,
    .bp-title,
    .bp-success-title,
    .studio-home h1,
    .studio-home h2
  ) {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.035em;
}
[data-studio] .bottomnav-label {
  display: block;
  font-size: 10px;
  line-height: 1.2;
  padding-inline: 2px;
  text-align: center;
}
[data-studio] .bottomnav-item {
  gap: 3px;
}
[data-studio] .bottomnav-item::after {
  display: none;
}
[data-studio] .bottomnav-icon {
  height: 26px;
}
[data-studio] .bottomnav-icon svg {
  width: 21px;
  height: 21px;
}
[data-studio] .studio-nav-label {
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
}
[data-studio] .swbn-item {
  gap: 3px;
}
[data-studio] .swbn-item::after {
  display: none;
}
[data-studio] .swbn-ic {
  height: 26px;
}
[data-studio] .swbn-ic svg {
  width: 21px;
  height: 21px;
}

/* Anfrage und Buchung führen dieselbe Gestaltung durch alle Schritte fort. */
[data-studio] :is(.direct-request-page, .anfrage-funnel, .booking-panel) {
  overflow-wrap: anywhere;
}
[data-studio] .anfrage-funnel { padding-inline: var(--page-gutter); }
[data-studio] .mobile-appbar--flow { background: var(--surface); border-color: var(--border); }
[data-studio] .mobile-appbar--flow :is(.mobile-appbar-back, .mobile-appbar-title) { color: var(--text); }
[data-studio] .mobile-appbar--flow .mobile-appbar-brand { color: var(--text-muted); }
[data-studio] .mobile-appbar--flow .mobile-appbar-brand-dot { background: var(--primary); box-shadow: 0 0 0 4px var(--primary-light); }
[data-studio] :is(.anfrage-loading, .anfrage-flow .agent-stage) { max-width: var(--w-reading); }
[data-studio] .anfrage-gate { max-width: var(--w-form); }
[data-studio] .anfrage-head { margin-bottom: 24px; }
[data-studio] .anfrage-account { text-align: center; padding: 0 16px; }
[data-studio] .anfrage-login { display: inline-flex; align-items: center; min-height: 44px; scroll-margin-top: calc(var(--header-h) + 18px); color: var(--text-accent); text-decoration: underline; text-underline-offset: 3px; border: 0; background: transparent; font: inherit; cursor: pointer; }
[data-studio] .anfrage-login:disabled { cursor: wait; opacity: .65; }
[data-studio] .anfrage-login:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: 4px; }
[data-studio] .anfrage-head h1 { font-size: clamp(28px, 3vw, 36px); }
[data-studio] .anfrage-flow .agent-stage-q,
[data-studio] .dr-guide-title { font-size: clamp(28px, 3vw, 32px); line-height: 1.2; }
[data-studio] :is(.anfrage-head p, .agent-stage-help, .bp-label, .bp-textarea, .bp-pkg-feats, .bp-price-row) { font-size: 16px; }
[data-studio] .anfrage-flow :is(.agent-rfp-sidefill, .agent-msg-marker, .agent-composer-send) {
  background: var(--primary);
  color: var(--on-primary);
}
[data-studio] .anfrage-flow .agent-rfp-sidecard { box-shadow: var(--shadow-sm); }
[data-studio] .anfrage-flow .agent-composer-send { min-width: 56px; min-height: 56px; }
[data-studio] .anfrage-flow .agent-composer { box-shadow: var(--shadow-sm); }
[data-studio] :is(.agent-category-dialog, .agent-category-result, .agent-category-close) { background: var(--surface); color: var(--text); border-color: var(--border); }
[data-studio] .agent-category-dialog-head h2,
[data-studio] .agent-category-search input { color: var(--text); }
[data-studio] :is(.agent-category-dialog-head p, .agent-category-result small, .agent-category-result > svg, .agent-category-empty) { color: var(--text-muted); }
[data-studio] .agent-category-search { background: var(--bg-subtle); border-color: var(--border); color: var(--text-muted); }
[data-studio] .agent-category-search input::placeholder { color: var(--text-muted); }
[data-studio] .agent-category-handle { background: var(--border-strong); }
[data-studio] .dr-provider-head { background: var(--bg-subtle); box-shadow: none; }
[data-studio] .direct-request-page .sw-avatar { background: var(--primary-light); color: var(--primary-dark); }
[data-studio] .dr-step--done .dr-step-num { background: var(--primary); color: var(--on-primary); }
[data-studio] .dr-guide-overline { color: var(--primary); }
[data-studio] .dr-guide-title:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; }
[data-studio] .dr-mobile-bar { box-shadow: var(--shadow-sm); }
[data-studio] .dr-guest { max-width: var(--w-form); }
[data-studio] .booking-panel { background: var(--bg); }
[data-studio] .bp-title { font-size: 28px; }
[data-studio] .bp-success-title { font-size: 30px; }
[data-studio] .bp-submit-btn { min-height: 56px; height: auto; font-size: 16px; }
[data-studio] :is(.bp-submit-btn, .dr-nav-primary, .dr-mobile-bar .btn-primary, .anfrage-flow .agent-composer-send, .anfrage-flow .agent-rfp-publish) { --touch-target-min: 56px; }
[data-studio] .bp-pkg-preview { flex-direction: column; background: var(--surface); }
[data-studio] .bp-pkg-feats { white-space: pre-line; line-height: 1.5; }
[data-studio] .bp-pkg-price { font-size: 22px; }
[data-studio] .bp-success-icon-wrap { background: var(--primary-light); border-color: var(--border); }
[data-studio] .bp-success-icon { color: var(--primary); }
[data-studio] .bp-tab.is-active { background: var(--primary); color: var(--on-primary); box-shadow: none; }
[data-studio] .bp-footer { box-shadow: var(--shadow-sm); }
@media (max-width: 768px) {
  [data-studio] .anfrage-funnel { padding-inline: 0; }
  [data-studio] .anfrage-flow { padding-inline: var(--page-gutter); }
  [data-studio] .anfrage-head { margin-bottom: 16px; }
  [data-studio] .dr-guide-title { font-size: 28px; }
  [data-studio] .bp-title { font-size: 25px; }
  [data-studio] .bp-head, [data-studio] .bp-body, [data-studio] .bp-footer { padding-inline: 20px; }
  [data-studio] .bp-form-scroll { gap: 16px; }
  [data-studio] .bp-subtitle { font-size: 14px; }
}

/* Detailseiten: gemeinsame Typografie, ruhige Flächen und erreichbare Aktionen. */
@media (max-width: 640px) {
  [data-studio] .det-services-empty { display: grid; grid-template-columns: 24px minmax(0, 1fr); }
  [data-studio] .det-services-empty > .btn { grid-column: 1 / -1; width: 100%; }
}
[data-studio] :is(.gd-page, .det-page) {
  overflow-wrap: anywhere;
}
[data-studio] :is(.gd-page, .det-page) .sw-avatar {
  background: var(--primary-light);
  color: var(--primary-dark);
}
[data-studio] :is(.gd-widget, .det-rail-card) {
  border: 1px solid var(--border-strong);
  box-shadow: var(--shadow-md);
}
[data-studio] :is(.gd-provider-card, .det-service-media, .gd-gallery-main) {
  background: var(--bg-subtle);
}
[data-studio] .det-hero::after { display: none; }
[data-studio] .det-hero {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding-inline: 0;
}
[data-studio] .det-section {
  padding-inline: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--border);
  border-radius: 0;
  box-shadow: none;
}
[data-studio] :is(.gd-header h1, .det-hero h1) {
  max-width: var(--w-reading);
  font-size: clamp(30px, 4vw, 48px);
}
[data-studio] :is(.gd-widget-features li, .gd-widget-meta dd, .det-service-body h3) {
  font-size: 16px;
}
[data-studio] :is(.gd-widget-book-btn, .det-rail-card .btn-primary) {
  min-height: 56px;
}
[data-studio] :is(.gd-back-link, .gd-breadcrumbs a, .det-back, .gd-helpful-btn, .det-review-actions button, .det-report, .gd-provider-link, .gd-widget-footer a) {
  min-height: 44px;
  align-content: center;
  align-items: center;
}
[data-studio] :is(.gd-gallery-nav, .gd-gallery-lightbox-trigger, .gd-lightbox-nav, .gd-share-btn, .gd-header-actions .fav-text-btn) {
  min-width: 44px;
  min-height: 44px;
}
[data-studio] .gd-gallery-nav { opacity: 1; }
[data-studio] .gd-gallery-thumbs { flex-wrap: wrap; }
[data-studio] .gd-gallery-placeholder { height: 128px; border-style: solid; }
[data-studio] .det-service-card { grid-template-columns: minmax(0, 1fr); }
[data-studio] .det-service-media { min-height: 88px; }
[data-studio] .det-service-media:has(img) { height: 180px; }
[data-studio] .det-service-body h3 {
  display: block;
  overflow: visible;
}
[data-studio] .det-service-body li { white-space: normal; }
[data-studio] .det-service-foot { flex-wrap: wrap; }
@media (max-width: 900px) {
  [data-studio] .gd-widget-content { padding: 18px; }
  [data-studio] .gd-widget-content h2 { display: none; }
  [data-studio] .gd-widget-hint { margin-bottom: 12px; }
  [data-studio] .gd-widget-features { margin-bottom: 16px; }
  [data-studio] .gd-widget-meta { margin-bottom: 0; }
  [data-studio] .gd-widget-book-btn { display: none; }
  [data-studio] .gd-widget-trust { margin-top: 14px; padding-top: 14px; }
  [data-studio] .gd-widget { box-shadow: var(--shadow-sm); }
  [data-studio] .gd-header { margin-bottom: 20px; }
  [data-studio] .gd-header-actions { gap: 8px; }
  [data-studio] .gd-mobile-action { min-height: 50px; white-space: normal; }
  [data-studio] .gd-mobile-buy { box-shadow: var(--shadow-sm); }
  [data-studio] .gd-mobile-buy small { font-size: 12px; }
}
@media (max-width: 700px) {
  [data-studio] .det-hero { grid-template-columns: minmax(0, 1fr); gap: 10px; padding-block: 4px 20px; }
  [data-studio] .det-hero-avatar .sw-avatar { width: 72px !important; height: 72px !important; }
  [data-studio] .det-hero-topline { min-height: 44px; }
  [data-studio] .det-kat { font-size: 12px; }
  [data-studio] .det-title { font-size: 16px; }
  [data-studio] .det-proof-strip { margin-top: 14px; padding-top: 14px; }
  [data-studio] .det-mobile-actions .btn { min-height: 50px; white-space: normal; }
  [data-studio] .det-mobile-actions { box-shadow: var(--shadow-sm); }
  [data-studio] .gd-compare-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Die Suchfunktion bleibt unverändert; Ergebnisse ersetzen den hohen Banner. */
[data-studio] .dir-page .dir-hero {
  background: transparent;
  color: var(--text);
  padding: 8px 0 20px;
  margin-bottom: 8px;
}
[data-studio] .dir-hero-title {
  color: var(--text);
  font-size: clamp(30px, 4vw, 44px);
  max-width: var(--w-reading);
}
[data-studio] .dir-hero-sub {
  color: var(--text-soft);
  font-size: 16px;
}
[data-studio] .dir-hero .dir-searchbar {
  max-width: var(--w-reading);
  margin-top: 18px;
}
[data-studio] .dir-hero .dir-search {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border-strong);
  box-shadow: var(--shadow-sm);
  min-height: 54px;
  font-size: 16px;
  padding-left: 60px;
}
[data-studio] .dir-hero .dir-search:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--ring);
}
[data-studio] .dir-search-submit {
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--primary);
  color: var(--on-primary, #fff);
  cursor: pointer;
}
[data-studio] .dir-search-submit:focus-visible {
  outline: 3px solid var(--text);
  outline-offset: 2px;
}
[data-studio] .gcard:has(.gcard-link-overlay:focus-visible) {
  outline: 3px solid var(--primary);
  outline-offset: 3px;
}
[data-studio] .dir-chip {
  background: var(--primary-light);
  color: var(--text-accent);
}
[data-studio] .dir-chip:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
[data-studio] .dir-filter-badge {
  color: var(--on-primary);
}
@media (max-width: 600px) {
  [data-studio] .dir-fbar-right {
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    gap: 12px;
  }
  [data-studio] .dir-sort {
    flex: 1 1 260px;
    min-width: 0;
  }
  [data-studio] .dir-sort select {
    flex: 1;
    min-width: 0;
    min-height: 44px;
  }
}
[data-studio] .dir-popchips {
  margin-top: 12px;
  gap: 8px;
}
[data-studio] .dir-popchip {
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border);
  min-height: 44px;
}
[data-studio] .dir-popchips-lbl {
  color: var(--text-muted);
}
[data-studio] .dir-discover {
  margin-top: 14px;
}
[data-studio] .studio-categories-summary {
  color: var(--text-accent);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  min-height: 44px;
  padding-block: 12px;
}
[data-studio] .dir-catgroup-h {
  color: var(--text);
}
[data-studio] .dir-cat-tile {
  color: var(--text);
  border-color: var(--border);
  background: var(--surface);
}
[data-studio] .dir-cat-tile small {
  color: var(--text-muted);
}
[data-studio] .dir-cat-tile svg {
  color: var(--text-accent);
}
[data-studio] .dir-back {
  color: var(--text-accent);
}
[data-studio] .dir-page .gcard {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  padding: 0 0 16px;
}
[data-studio] .dir-page .gcard-cover {
  margin: 0 0 14px;
  border-radius: 12px;
  height: 190px;
}
[data-studio] .dir-page .gcard-cover.is-placeholder {
  height: 84px;
  background: var(--bg-muted);
}
[data-studio] .dir-page .gcard--compare {
  border-color: var(--primary);
}
[data-studio] .dir-page .gcard--highlight {
  border-color: var(--accent);
}
[data-studio] .dir-page .gcard-title {
  font-size: 18px;
  line-height: 1.4;
}
[data-studio] .dir-page .gcard-kat {
  background: transparent;
  border: 0;
  padding: 0;
}
[data-studio] .dir-page .gcard {
  min-height: 0;
}
[data-studio] .dir-page .gcard-compare-row {
  order: 1;
  margin-top: 8px;
  padding-top: 0;
}

/* Käufer-Arbeitsfläche: dieselben Daten, klare Aufgabe und ruhige Sektionen. */
[data-studio] .studio-customer {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 32px;
}
[data-studio] .studio-dashboard-main {
  min-width: 0;
}
[data-studio] .studio-sidebar {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 12px;
}
[data-studio] .studio-sidebar a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  color: var(--text-soft);
  border-radius: 8px;
  font-size: 14px;
  text-decoration: none;
}
[data-studio] .studio-sidebar a[aria-current="page"] {
  color: var(--text-accent);
  background: var(--primary-light);
  font-weight: 700;
}
[data-studio] .dhome-header h1 {
  font-size: clamp(32px, 4vw, 42px);
}
[data-studio] .dhome-focus {
  background: var(--primary-light);
  border-color: transparent;
  box-shadow: none;
}
[data-studio] .dhome-focus::before {
  display: none;
}
[data-studio] .dhome-focus h2 {
  font-size: clamp(26px, 3vw, 34px);
}
[data-studio] .dhome-focus-actions .btn-primary {
  min-height: 50px;
}
[data-studio] .cdash-act-title {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  font-size: 15px;
}
[data-studio] .dhome-signal-label {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  font-size: 13px;
  line-height: 1.45;
}
[data-studio] .dhome-signal-value {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
[data-studio] .dhome-signal {
  box-shadow: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 12px 8px;
}
[data-studio] .dhome-signal-grid {
  border-block: 1px solid var(--border);
  gap: 4px;
}
[data-studio] .dhome-signal + .dhome-signal {
  border-left: 1px solid var(--border);
}

/* Website: redaktioneller Einstieg mit echten Taxonomie-Zielen. */
[data-studio] .studio-home .hero {
  text-align: left;
  padding: 48px 0;
}
[data-studio] .studio-home .hero::before {
  display: none;
}
[data-studio] .studio-hero-layout {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 48px;
  align-items: center;
  max-width: var(--w-content);
}
[data-studio] .studio-home .hero h1 {
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.08;
  margin-top: 18px;
}
[data-studio] .studio-home .hero h1 span {
  color: var(--primary);
}
[data-studio] .studio-home .hero .lead {
  margin: 22px 0;
  max-width: var(--w-reading);
  font-size: 18px;
}
[data-studio] .studio-eyebrow {
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
[data-studio] .studio-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: var(--surface);
}
[data-studio] .studio-search input {
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  font: 16px var(--font);
  padding: 12px;
}
[data-studio] .studio-search .btn {
  min-height: 50px;
  flex: none;
}
[data-studio] .studio-home .trust {
  justify-content: flex-start;
  margin-top: 18px;
  font-size: 13px;
}
[data-studio] .studio-projects {
  background: var(--bg-muted);
  padding: 24px;
  border-radius: 16px;
  display: grid;
  gap: 12px;
}
[data-studio] .studio-projects a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 22px;
  border-radius: 10px;
  background: var(--surface);
  text-decoration: none;
  color: var(--text);
  min-height: 90px;
}
[data-studio] .studio-projects a:first-child {
  background: var(--primary);
  color: var(--on-primary);
  min-height: 148px;
}
[data-studio] .studio-projects strong {
  display: block;
  font: 500 28px/1.2 var(--font-display);
}
[data-studio] .studio-projects small {
  display: block;
  font-size: 13px;
  margin-top: 8px;
}
[data-studio] .studio-projects svg {
  width: 24px;
  height: 24px;
}
[data-studio] .studio-home h2 {
  font-size: clamp(28px, 3.5vw, 40px);
}
@media (max-width: 768px) {
  [data-studio] .container.dir-page {
    padding-top: 20px;
  }
  [data-studio] .dir-hero-title {
    font-size: 32px;
  }
  [data-studio] .dir-popchips-lbl {
    display: none;
  }
  [data-studio] .studio-customer {
    display: block;
  }
  [data-studio] .studio-sidebar {
    display: none;
  }
  [data-studio] .cdash-act-item {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  [data-studio] .cdash-act-main {
    flex-basis: 100%;
    flex-wrap: wrap;
  }
  [data-studio] .studio-hero-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  [data-studio] .studio-home .hero {
    padding: 30px 0;
  }
  [data-studio] .studio-home .hero .lead {
    font-size: 16px;
  }
  [data-studio] .studio-projects {
    padding: 14px;
  }
  [data-studio] .studio-projects a {
    padding: 18px;
    min-height: 76px;
  }
  [data-studio] .studio-projects a:first-child {
    min-height: 110px;
  }
}
@media (max-width: 900px) {
  [data-studio] .dir-facets:not(.sheet-open) {
    visibility: hidden;
  }
}

/* Anbieter-Dashboard: bestehendes Arbeitsraster, gemeinsame Studio-Tokens. */
[data-studio] .studio-provider { overflow-wrap: anywhere; }
[data-studio] .studio-provider :is(.dhome-focus-actions .btn-primary, .dhome-empty .btn-primary) {
  --touch-target-min: 56px;
  min-height: 56px;
}
[data-studio] .studio-provider :is(.dhome-panel-head, .pdash-act-head) { flex-wrap: wrap; }
[data-studio] .studio-provider :is(.pdash-feed-title, .pdash-feed-meta, .pdash-perf-val) {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
[data-studio] .studio-provider .pdash-feed-title { font-size: 16px; line-height: 1.45; }
[data-studio] .studio-provider :is(.pdash-feed-meta, .pdash-perf-label, .pdash-perf-sub, .pdash-delta,
  .pdash-level-sub, .pdash-level-req, .pdash-act-hint, .pdash-panel-note, .pdash-vac-hint,
  .dhome-tool-detail, .au-sub, .au-stats) { font-size: 14px; line-height: 1.5; }
[data-studio] .studio-provider :is(.pdash-feed-badge, .pdash-act-count) { font-size: 12px; }
[data-studio] .studio-provider :is(.dhome-tool-title, .pdash-act-title, .pdash-vac-label, .pdash-vac-label input) { font-size: 16px; }
[data-studio] .studio-provider :is(.dhome-panel-link, .pdash-act-link, .au-preview-link, .au-icon-copy, .au-share-cta, .pdash-vac-label input) { min-height: 44px; }
[data-studio] .studio-provider .au-icon-copy { min-width: 44px; }
[data-studio] .studio-provider .au-card { background: var(--surface); border-color: var(--border); margin-bottom: 12px; }
[data-studio] .studio-provider .au-share-cta { color: var(--on-primary); box-shadow: none; }
[data-studio] .studio-provider .pdash-feed-ic { width: 40px; height: 40px; }
[data-studio] .studio-provider .pdash-level-req svg { flex: none; }
[data-studio] .studio-provider .pdash-vac-label input:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
@media (max-width: 1499px) {
  [data-studio] .studio-provider .pdash-perf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 0; }
  [data-studio] .studio-provider .pdash-perf-item:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 768px) {
  [data-studio] .studio-provider .dhome-focus-copy { grid-template-columns: 1fr; gap: 10px; }
  [data-studio] .studio-provider .dhome-focus-description { font-size: 16px; line-height: 1.5; }
  [data-studio] .studio-provider .dhome-focus-icon { display: none; }
}

/* Arbeitslisten: dieselben Flächen, lesbare Titel und erreichbare Aktionen. */
[data-studio] :is(.my-orders-page, .moff-page, .mygig-page, .order-detail-page, .jobeditor, .dlv3-page, .inbox-app, .notif-page, .rc-page, .my-requests-page) {
  --bg-card: var(--surface);
  --text-strong: var(--text);
  --border-light: var(--border);
  overflow-wrap: anywhere;
}

/* Nachrichtenzentrale: vorhandene Split-View und gemeinsame Chat-Komponente. */
[data-studio] :is(.inbox-header h1, .notif-hero-copy h1) {
  font: 500 clamp(28px, 3.5vw, 38px)/1.15 var(--font-display);
  letter-spacing: -0.035em;
}
[data-studio] :is(.inbox-notifications-head h2, .notif-card-heading h2) {
  font: 500 24px/1.25 var(--font-display);
}
[data-studio] :is(.inbox-app, .notif-page) :is(button, a, input, select):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
[data-studio] :is(.inbox-icon-btn, .inbox-thread-back) { width: 44px; height: 44px; flex-shrink: 0; }
[data-studio] .inbox-filter-btn { min-height: 48px; }
[data-studio] .inbox-search input { min-height: 48px; font-size: 16px; }
[data-studio] .inbox-row-open { font: inherit; padding: 16px 12px; }
[data-studio] .inbox-row1 { flex-wrap: wrap; gap: 3px 10px; }
[data-studio] :is(.inbox-name, .inbox-thread-title) { white-space: normal; overflow-wrap: anywhere; }
[data-studio] .inbox-name { font-size: 16px; }
[data-studio] .inbox-badge { font-size: 12px; }
[data-studio] :is(.inbox-time, .inbox-notification-time, .chat-bubble-time) { font-size: 12px; }
[data-studio] :is(.inbox-preview, .inbox-notification-body, .inbox-notifications-hint,
  .notif-hero-copy p, .notif-card-heading p, .notif-switch-hint, .notif-disclosure-hint,
  .notif-profile-meta, .notif-inline-note, .notif-list-empty) { font-size: 14px; line-height: 1.5; }
[data-studio] .inbox-tab { white-space: normal; line-height: 1.3; padding-block: 8px; }
[data-studio] .inbox-tab > span:not(.inbox-tab-count) { overflow: visible; }
[data-studio] :is(.inbox-tab-count, .inbox-av, .chat-bubble.me) { color: var(--on-primary); }
[data-studio] .inbox-detail-empty { opacity: 1; }
[data-studio] .inbox-thread { height: var(--inbox-height, 60dvh); min-height: 0; }
[data-studio] .inbox-detail { min-height: 0; }
[data-studio] .inbox-notification-body { display: block; overflow: visible; }
[data-studio] .inbox-notifications-actions .btn { min-height: 44px; white-space: normal; }
[data-studio] .inbox-notification.unread { background: var(--primary-light); }
[data-studio] .status-in_progress { background: color-mix(in srgb, var(--warning) 12%, var(--surface)); }
[data-studio] .label-badge { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); }
[data-studio] .chat-thread-container { min-width: 0; }
[data-studio] .chat-bubble { font-size: 16px; line-height: 1.5; max-width: 88%; }
[data-studio] .chat-bubble.me .chat-bubble-sender { color: inherit; }
[data-studio] .chat-bubble-time { opacity: 1; }
[data-studio] .chat-bubble-masked { display: flex; align-items: center; gap: 5px; font-size: 12px; opacity: 1; }
[data-studio] .chat-bubble-masked svg { flex: none; }
[data-studio] .chat-system-notice { background: var(--bg-subtle); color: var(--text-soft); border-color: var(--border); }
[data-studio] .chat-input-bar { gap: 8px; align-items: stretch; flex-shrink: 0; }
[data-studio] .chat-input-bar input { width: 0; min-width: 0; font-size: 16px; }
[data-studio] .chat-input-bar :is(.btn, .form-control) { min-height: 56px; }
[data-studio] .chat-input-bar .btn { flex-shrink: 0; }
[data-studio] .chat-typing { min-height: 21px; font-size: 14px; }
[data-studio] .chat-thread-head { flex-shrink: 0; }
[data-studio] .chat-attach img { max-width: 100%; height: auto; }
[data-studio] :is(.notif-switch-title, .notif-disclosure-title, .notif-quiet-times label, .notif-filter-form label) { font-size: 16px; }
[data-studio] :is(.notif-disclosure-title, .notif-list-state, .notif-save-state) { flex-wrap: wrap; white-space: normal; }
[data-studio] :is(.notif-profile-label, .notif-disclosure-hint) { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
[data-studio] .notif-switch-control input:focus-visible + .notif-switch-track { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .notif-filter-actions .btn-primary { min-height: 56px; }
[data-studio] .inbox-label-form input { min-width: 0; min-height: 48px; background: var(--surface); }
@media (max-width: 540px) {
  [data-studio] .inbox-row-actions { flex-direction: column; justify-content: center; padding: 4px; }
  [data-studio] .inbox-tabs { display: grid; grid-template-columns: 1fr; width: 100%; }
  [data-studio] .inbox-tab { justify-content: flex-start; padding-inline: 12px; }
  [data-studio] .inbox-tab-count { margin-left: auto; }
  [data-studio] .inbox-thread-head { padding-inline: 0; }
  [data-studio] .inbox-thread-body { padding-inline: 0; }
  [data-studio] .inbox-notification { flex-wrap: wrap; gap: 8px; }
  [data-studio] .inbox-notification-time { margin-left: 17px; max-width: none; flex-basis: 100%; text-align: left; }
  [data-studio] .notif-hero { grid-template-columns: minmax(0, 1fr); }
  [data-studio] .notif-hero-icon { display: none; }
  [data-studio] .notif-quiet-times { padding: 10px; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-studio] :is(.inbox-tab, .inbox-row, .inbox-notification) { transition: none; }
}
[data-studio] :is(.my-orders-page, .moff-page) .settings-header h1,
[data-studio] .mygig-head h1 {
  font: 500 clamp(30px, 4vw, 42px)/1.15 var(--font-display);
  letter-spacing: -0.035em;
}
[data-studio] :is(.mygig-sub, .moff-stat-label, .moff-workspace-itemmeta, .moff-row-meta, .or-meta, .or-title .s) { font-size: 14px; line-height: 1.5; }
[data-studio] :is(.orders-tab, .moff-tab, .mygig-tab, .mygig-menu button) { min-height: 44px; }
[data-studio] :is(.mygig-tab, .mygig-menu button) { font-size: 14px; }
[data-studio] .mygig-tab.on { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
[data-studio] :is(.mygig-head > .btn-primary, .moff-focus-actions > .btn-primary) { --touch-target-min: 56px; min-height: 56px; }
[data-studio] :is(.or-title .t, .or-title-text, .moff-row-title, .moff-workspace-itemtitle) { white-space: normal; overflow: visible; text-overflow: clip; }
[data-studio] .or-title .t { align-items: flex-start; font-size: 16px; line-height: 1.45; }
[data-studio] .or-title .t svg { flex: none; margin-top: 3px; }
[data-studio] .order-row { padding-block: 20px; }
[data-studio] .mygig-card.is-off .mygig-body { opacity: 1; }
[data-studio] .mygig-kebab { width: 44px; height: 44px; }
[data-studio] .mygig-menu { top: 48px; }
[data-studio] .mygig-switch-wrap { min-height: 44px; }
[data-studio] .mygig-title { font-size: 18px; line-height: 1.4; }
@media (max-width: 768px) {
  [data-studio] .mygig-head { flex-direction: column; }
  [data-studio] .mygig-head > .btn-primary { width: 100%; justify-content: center; }
  [data-studio] .orders-tab { flex-direction: column; gap: 4px; font-size: 12px; }
  [data-studio] .orders-tab-label--mobile { white-space: normal; overflow: visible; }
  [data-studio] .order-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'title title' 'party price' 'state state' 'act act'; }
  [data-studio] .or-act { justify-self: stretch; }
  [data-studio] .or-act .btn { width: 100%; justify-content: center; min-height: 48px; }
}
[data-studio] .mygig-foot { flex-wrap: wrap; gap: 10px; }
[data-studio] .mygig-foot > .btn { min-height: 44px; }
[data-studio] .mygig-price { margin-left: auto; }

/* Auftragsdetails und Angebotseditor übernehmen die gemeinsame Studio-Sprache. */
[data-studio] :is(.od-head h1, .motl-task > h1, .jobeditor-heading h3, .jobeditor--success h3) {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.15;
}
[data-studio] .od-head h1 { font-size: clamp(28px, 3.5vw, 38px); align-items: flex-start; }
[data-studio] :is(.jobeditor-heading h3, .jobeditor--success h3) { font-size: 28px; }
[data-studio] :is(.motl-task > p, .jobs-label, .jobs-inp input, .jobeditor-kind legend, .jobeditor-kind-options strong, .jobeditor textarea) { font-size: 16px; line-height: 1.5; }
[data-studio] :is(.jobeditor-kind-options small, .jobs-field-help, .jobs-counter, .jobeditor-review-copy, .jobeditor-summary dt, .jobeditor-message-preview p, .od-head .sub, .motl-progress) { font-size: 14px; line-height: 1.5; }
[data-studio] .jobs-inp { min-height: 48px; }
[data-studio] :is(.jobeditor-actions .btn-primary, .motl-primary, .tl-cta .btn-primary) { --touch-target-min: 56px; min-height: 56px; }
[data-studio] .jobeditor-kind-options button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .jobeditor textarea:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
[data-studio] .jobeditor-message-preview p { display: block; overflow: visible; }
[data-studio] .motl-task { box-shadow: var(--shadow-sm); }
[data-studio] .motl-order-title b { font-size: 14px; }
[data-studio] .motl-order-title span { font-size: 12px; }
[data-studio] .motl-file-check[aria-pressed="true"] .motl-file-state { color: var(--on-primary); }
[data-studio] .jobeditor-summary { background: var(--bg-subtle); }
[data-studio] .jobeditor-actions { flex-wrap: wrap; }
@media (max-width: 768px) {
  [data-studio] .jobeditor { gap: 16px; }
  [data-studio] .jobeditor-actions .btn { min-height: 56px; --touch-target-min: 56px; }
  [data-studio] .jobeditor-summary { grid-template-columns: 1fr; }
  [data-studio] .jobeditor-summary > div { border-right: 0; border-bottom: 1px solid var(--border); }
  [data-studio] .jobeditor-summary > div:last-child { border-bottom: 0; }
}
@media (max-width: 768px) {
  [data-studio] .jobeditor-actions .btn { white-space: normal; text-align: center; padding-inline: 12px; line-height: 1.3; }
  [data-studio] .motl-dock {
    position: fixed;
    inset-inline: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 30;
  }
  [data-studio] .motl { padding-bottom: calc(var(--order-dock-height, 100px) + 56px + env(safe-area-inset-bottom, 0px)); }
}

/* Kontoübersicht und Darstellung: bestehende Gruppen, gemeinsame Palette. */
[data-studio] :is(.overview-wide, .appearance-page) { overflow-wrap: anywhere; }
[data-studio] :is(.overview-wide .settings-header h1, .appearance-hero-copy h1) {
  font: 500 clamp(28px, 3.5vw, 38px)/1.15 var(--font-display);
  letter-spacing: -0.035em;
}
[data-studio] :is(.appearance-section-heading h2, .overview-wide .settings-card h2) {
  font: 500 24px/1.25 var(--font-display);
}
[data-studio] :is(.overview-wide, .appearance-page) :is(a, button):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}
[data-studio] .identity-name { font-size: 20px; white-space: normal; overflow: visible; }
[data-studio] :is(.identity-email, .identity-meta, .aoc-state, .next-body span,
  .appearance-section-heading p, .appearance-choice-copy span, .appearance-theme-hint,
  .appearance-preview-caption span, .appearance-device-state, .appearance-note) { font-size: 14px; line-height: 1.5; }
[data-studio] :is(.aoc-title, .next-body b, .appearance-choice-copy strong, .appearance-theme-label) { font-size: 16px; line-height: 1.4; }
[data-studio] .aoc-title { hyphens: auto; }
[data-studio] .overview-wide :is(.aoc-state.ok, .identity-verify.ok) { color: var(--text-accent); }
[data-studio] :is(.aoc-state svg, .wlr-rank svg, .appearance-theme-label svg) { flex-shrink: 0; }
[data-studio] .overview-wide .next-cta { min-height: 56px; white-space: normal; text-align: center; }
[data-studio] .next-card { flex-wrap: wrap; }
[data-studio] .next-body { flex-basis: 240px; }
[data-studio] .overview-wide .waitlist-rank-card { background: var(--primary-light); }
[data-studio] .overview-wide .wlr-rank { color: var(--text-accent); min-width: 0; }
[data-studio] .overview-wide .waitlist-rank-card .btn { min-height: 44px; }
[data-studio] .appearance-choice.is-selected .appearance-choice-check { color: var(--on-primary); }
[data-studio] .appearance-choice:has(input:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .appearance-choice-copy span { white-space: normal; overflow: visible; }
[data-studio] .appearance-live-preview { background: var(--bg-subtle); }
[data-studio] .appearance-preview-window { box-shadow: var(--shadow-sm); }
[data-studio] .appearance-theme-swatch.is-system {
  background: linear-gradient(120deg, var(--surface) 49%, var(--bg-muted) 51%);
}
[data-studio] .appearance-device-state { white-space: normal; }
@media (max-width: 560px) {
  [data-studio] .appearance-hero { grid-template-columns: minmax(0, 1fr); }
  [data-studio] .appearance-hero-icon { display: none; }
  [data-studio] :is(.appearance-language-grid, .appearance-theme-grid) { grid-template-columns: 1fr; }
  [data-studio] .appearance-language-choice .appearance-choice-copy span { display: block; }
  [data-studio] .appearance-theme-choice {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 4px 12px;
    min-height: 88px;
    padding: 14px 40px 14px 12px;
  }
  [data-studio] .appearance-theme-swatch { grid-row: span 2; height: 54px; }
  [data-studio] .appearance-theme-label { align-self: end; }
  [data-studio] .appearance-theme-hint { align-self: start; }
  [data-studio] .overview-wide .become-provider-card .btn { min-height: 56px; white-space: normal; }
}

/* Anmeldung und private Kontodaten schließen an dieselbe Gestaltung an. */
[data-studio] :is(.auth-card h1, .cp-head h1, .credentials-page .security-page-header h1) {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
[data-studio] .auth-wrap { padding: 28px var(--page-gutter) 48px; }
[data-studio] .auth-card { padding: 28px; box-shadow: var(--shadow-sm); }
[data-studio] .auth-card :is(.label, .input, .auth-sub, .auth-check) { font-size: 16px; }
[data-studio] .auth-card .input { min-height: 50px; background: var(--surface); color: var(--text); }
[data-studio] .auth-card .btn-primary { --touch-target-min: 56px; min-height: 56px; width: 100%; justify-content: center; }
[data-studio] .auth-card :is(.auth-switch a, .auth-forgot a) { display: inline-flex; align-items: center; min-height: 44px; }
[data-studio] .auth-card .auth-check { min-height: 44px; align-items: flex-start; padding-block: 8px; }
[data-studio] .auth-card .auth-check input { margin-top: 4px; flex: none; }
[data-studio] .auth-error { border-color: var(--danger); }
[data-studio] :is(.auth-card, .customer-profile-page, .credentials-page) :is(input, button, a):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] :is(.cp-head p, .cp-fields .label, .cp-fields .input, .credential-form .form-label, .credential-form .form-control) { font-size: 16px; }
[data-studio] .credential-form .form-control { min-height: 50px; }
[data-studio] :is(.cp-save-button, .credential-submit) { --touch-target-min: 56px; min-height: 56px; white-space: normal; }
[data-studio] :is(.cp-save-state, .cp-private-note, .cp-trust-row, .credential-form-note, .credential-copy span) { font-size: 14px; line-height: 1.5; }
[data-studio] :is(.cp-save-state, .credential-state.is-ok, .credential-icon-password) { color: var(--text-accent); }
[data-studio] .credential-state.is-ok { background: var(--primary-light); }
[data-studio] .credential-copy span { white-space: normal; overflow-wrap: anywhere; }
[data-studio] .cp-bubble b { overflow-wrap: anywhere; }
@media (max-width: 560px) {
  [data-studio] .auth-card { padding: 22px 18px; }
  [data-studio] .auth-wrap { padding-top: 16px; }
  [data-studio] .credential-submit { width: 100%; }
}

/* Entdecken und Merkliste: klare Einstiege und lesbare Wiederkehr-Wege. */
[data-studio] :is(.dv-head h1, .fav-head h1) {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
[data-studio] .dv-head p { color: var(--text-muted); margin-top: 8px; font-size: 16px; line-height: 1.5; }
[data-studio] .dv-search { height: auto; min-height: 60px; border-radius: var(--radius-lg); padding: 5px 5px 5px 14px; margin-top: 20px; }
[data-studio] .dv-search > svg { flex: none; }
[data-studio] .dv-search input { width: 100%; min-height: 44px; }
[data-studio] .dv-search .btn { min-height: 48px; flex: none; padding-inline: 16px; }
[data-studio] .dv-tabs { margin-top: 20px; }
[data-studio] .dv-tab { min-height: 48px; font-size: 16px; }
[data-studio] .dv-row { padding: 16px 8px; border-radius: 8px; }
[data-studio] .dv-row .t b { font-size: 16px; }
[data-studio] .dv-row .t small { font-size: 14px; }
[data-studio] .dv-row.empty { opacity: 1; color: var(--text-muted); }
[data-studio] .dv-row.empty .dv-ic { background: transparent; }
[data-studio] :is(.dv-fav .t b, .dv-ms .t b) { font-size: 16px; white-space: normal; overflow-wrap: anywhere; }
[data-studio] :is(.dv-fav .t small, .dv-ms .t small, .dv-more, .dv-hint) { font-size: 14px; }
[data-studio] .dv-fav { flex-wrap: wrap; }
[data-studio] .dv-fav .p { margin-left: auto; }
[data-studio] .dv-ms .x { width: 44px; height: 44px; }
[data-studio] .dv-ms .t { min-height: 44px; }
[data-studio] .dv-more { min-height: 44px; }
[data-studio] .dv-hint .btn { margin-top: 14px; min-height: 48px; }
[data-studio] .dv-hint-link { display: inline-flex; align-items: center; min-height: 44px; }
[data-studio] .dv-second .load-error { margin-top: 14px; }
[data-studio] :is(.dv-page, .fav-page) :is(button, a, input, select, [role=tabpanel]):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .fav-list-tabs { flex-wrap: wrap; overflow: visible; }
[data-studio] .fav-list-tab { max-width: 100%; padding-block: 10px; text-align: left; border-radius: var(--radius); }
[data-studio] .fav-list-tab > span { min-width: 0; overflow-wrap: anywhere; }
[data-studio] .fav-list-tab small { flex: none; }
[data-studio] .fav-card-organize select { height: 44px; font-size: 16px; }
[data-studio] .fav-remove-list { width: 44px; height: 44px; }
[data-studio] .fav-empty { padding-block: 40px; }
[data-studio] .fav-page .pcard-cover.is-placeholder { background: var(--bg-subtle); color: var(--text-accent); opacity: 1; }
@media (hover: hover) {
  [data-studio] .dv-row:not(.empty):hover { background: var(--bg-subtle); }
}
@media (max-width: 640px) {
  [data-studio] .fav-list-tabs { align-items: stretch; }
  [data-studio] .fav-list-tab { flex: 1 1 100%; justify-content: space-between; }
  [data-studio] .fav-list-new { flex: 1 1 100%; }
}

/* Lieferung, Abnahme und Beleg: gemeinsame Studio-Typografie und Kontraste. */
[data-studio] .dlv3-page { --primary-soft: var(--primary-light); }
[data-studio] .dlv3-sheet { max-height: calc(100dvh - 32px); overflow-y: auto; }
[data-studio] .dlv3-sheet textarea { width: 100%; min-height: 112px; padding: 12px; border: 1px solid var(--border-strong); border-radius: 12px; background: var(--surface); color: var(--text); font: 400 16px/1.5 var(--font); resize: vertical; }
[data-studio] .dlv3-sheet :is(h3, p) { overflow-wrap: anywhere; }
[data-studio] .dlv3-sheet > p { margin: 0; line-height: 1.5; }
[data-studio] .dlv3-sheet .checkbox-label { min-height: 44px; }
[data-studio] .dlv3-sheet :is(button, input, textarea):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] :is(.dlv3-head h1, .dlvv-head h1, .dlv3-focus h2, .dlv3-sheet h3, .dlv5-focus-body h2, .dlv3-error h1) {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.15;
  font-size: clamp(28px, 3vw, 34px);
}
[data-studio] .dlv3-head h1 { align-items: flex-start; }
[data-studio] .dlv3-head h1 svg { flex: none; margin-top: 4px; }
[data-studio] .dlv3-page :is(input, textarea, select) { font-size: 16px; }
[data-studio] .dlv5-save-state { font-size: 14px; line-height: 1.5; }
[data-studio] .dlv5-save-state .btn { display: flex; margin-top: 8px; }
[data-studio] .delivery-recovery { display: grid; gap: 12px; margin-block: 16px; }
[data-studio] .delivery-recovery p { margin: 0; }
[data-studio] .delivery-recovery .btn { justify-self: start; white-space: normal; }
[data-studio] .delivery-conflict-overlay { position: fixed; inset: 0; background: rgb(0 0 0 / .55); z-index: 1200; }
[data-studio] .delivery-conflict-dialog { position: fixed; z-index: 1201; inset: 16px; margin: auto; width: auto; max-width: var(--w-reading); max-height: calc(100dvh - 32px); display: flex; flex-direction: column; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 16px; padding: 20px; box-shadow: 0 20px 80px rgb(0 0 0 / .25); }
[data-studio] .delivery-conflict-dialog header { display: flex; align-items: flex-start; gap: 12px; }
[data-studio] .delivery-conflict-dialog header h2 { flex: 1; margin: 0; font: 500 clamp(24px, 4vw, 32px)/1.15 var(--font-display); }
[data-studio] .delivery-conflict-dialog header .btn { flex: none; padding: 10px; }
[data-studio] .delivery-conflict-dialog > p { font-size: 16px; line-height: 1.5; margin: 12px 0 16px; }
[data-studio] .delivery-conflict-fields { overflow: auto; min-height: 0; padding: 4px; }
[data-studio] .delivery-conflict-fields fieldset { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
[data-studio] .delivery-conflict-fields legend { font-size: 18px; font-weight: 600; margin-bottom: 8px; }
[data-studio] .delivery-conflict-options { display: grid; gap: 12px; }
[data-studio] .delivery-conflict-options label { min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
[data-studio] .delivery-conflict-options label:has(input:checked) { border-color: var(--primary); background: var(--primary-light); }
[data-studio] .delivery-conflict-options label > span { display: flex; gap: 10px; align-items: center; min-height: 24px; }
[data-studio] .delivery-conflict-options p { margin: 8px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 16px; line-height: 1.5; }
[data-studio] .delivery-conflict-dialog footer { padding-top: 16px; margin-top: auto; }
[data-studio] .delivery-conflict-dialog footer .btn { --touch-target-min: 56px; width: 100%; min-height: 56px; white-space: normal; line-height: 1.3; }
[data-studio] .delivery-conflict-dialog :is(button, input):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
@media (min-width: 768px) {
  [data-studio] .delivery-conflict-options { grid-template-columns: 1fr 1fr; }
}
[data-studio] .dlv3-page :is(input:not([type=checkbox]):not([type=radio]), select) { min-height: 48px; }
[data-studio] :is(.dlv3-ctx, .dlv3-actionbar .meta, .dlv3-note, .dlv3-summ .k, .dlv3-fileline .n) { font-size: 14px; line-height: 1.5; }
[data-studio] :is(.dlv3-actionbar .btn-primary, .dlv3-sheet .btn-primary) { --touch-target-min: 56px; min-height: 56px; white-space: normal; line-height: 1.3; text-align: center; }
[data-studio] :is(.dlv5-onsite-button:not(.complete), .dlv5-upload) { color: var(--on-primary); }
[data-studio] .dlv5-onsite-button:not(.complete) > span { border-color: currentColor; }
[data-studio] .dlv3-page :is(button, a, input, textarea, select):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .dlv3-badge { white-space: normal; }
[data-studio] .dlv3-fileline .n { overflow-wrap: anywhere; }
@media (max-width: 768px) {
  [data-studio] .dlv3-page { padding-inline: 0; }
  [data-studio] .dlv3-head { gap: 12px; }
  [data-studio] .dlv3-actionbar-actions { min-width: 0; }
}
/* An uncertain submission is resumed as the same operation, with one clear action. */
[data-studio] .delivery-submission-pending .dlv3-error-icon,
[data-studio] .delivery-decision-pending .dlv3-error-icon {
  background: var(--primary-light);
  color: var(--primary);
}
[data-studio] .delivery-submission-pending .btn-primary,
[data-studio] .delivery-decision-pending .btn-primary {
  --touch-target-min: 56px;
  min-height: 56px;
  white-space: normal;
}
@media (max-width: 768px) {
  [data-studio] .delivery-submission-pending .dlv3-error-actions .btn,
  [data-studio] .delivery-decision-pending .dlv3-error-actions .btn {
    flex-basis: 100%;
  }
}

[data-studio] .delivery-decision-summary {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
[data-studio] .delivery-decision-notes summary { min-height: 44px; padding-block: 10px; cursor: pointer; }
[data-studio] .delivery-decision-notes summary:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }

[data-studio] .delivery-review-file {
  display: block;
  min-height: 44px;
  padding-block: 10px;
  overflow-wrap: anywhere;
  color: var(--primary);
}
[data-studio] .delivery-review-file:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .dlv4-review-item span { overflow-wrap: anywhere; }

/* Upload recovery displays original filenames, including long unbroken names. */
.delivery-upload-name { overflow-wrap: anywhere; }
[data-studio] .od-scope { min-width: 0; font-size: 16px; }
[data-studio] .od-scope details + details { border-top: 1px solid var(--border); margin-top: 12px; }
[data-studio] .od-scope summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-weight: 600; overflow-wrap: anywhere; }
[data-studio] .od-scope summary:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: 4px; }
[data-studio] .od-scope p { margin: 0 0 12px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
[data-studio] .od-scope-files { border-top: 1px solid var(--border); padding-top: 12px; }
[data-studio] .od-scope-files h5 { margin: 0 0 8px; font: inherit; font-weight: 600; }
[data-studio] .od-scope-files ul { list-style: none; margin: 0; padding: 0; }
[data-studio] .od-scope-files a { display: flex; gap: 8px; align-items: flex-start; min-height: 44px; padding-block: 8px; color: var(--primary); }
[data-studio] .od-scope-files a > svg { flex-shrink: 0; margin-top: 3px; }
[data-studio] .od-scope-files span { min-width: 0; overflow-wrap: anywhere; }
[data-studio] .od-scope-files small { display: block; color: var(--text-muted); }
[data-studio] .od-scope-files a:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: 4px; }
.delivery-open-uploads ul { list-style: none; margin: 1rem 0; padding: 0; }
.delivery-open-uploads li { display: grid; gap: .75rem; padding-block: .75rem; }
.delivery-open-uploads li .btn { justify-self: start; }
.delivery-open-uploads .delivery-upload-name { min-width: 0; }
.delivery-open-uploads time { display: block; }
[data-studio] .delivery-open-uploads { margin-block: 16px; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); font-size: 16px; white-space: normal; }
[data-studio] .delivery-open-uploads h2 { margin: 0 0 8px; font: 500 24px/1.2 var(--font-display); color: var(--text); }
[data-studio] .delivery-open-uploads p { margin: 0; }
[data-studio] .delivery-open-uploads .btn { min-height: 44px; white-space: normal; }
[data-studio] .delivery-open-uploads .btn:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
[data-studio] .delivery-outcomes-notice { padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); white-space: normal; font-size: 16px; }
[data-studio] .delivery-outcomes-notice ul { margin: 8px 0 0; padding-inline-start: 20px; }
[data-studio] .delivery-outcomes-notice .btn { min-height: 44px; }

[data-studio] .gd-widget-meta { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); }
[data-studio] .gd-tier-status { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; }
[data-studio] .gd-mobile-buy .gd-mobile-unavailable { font-size: 14px; overflow-wrap: normal; }

[data-studio] .gd-description p { white-space: pre-wrap; overflow-wrap: anywhere; }
[data-studio] .gd-compare-select { min-height: 44px; width: 100%; margin-top: 20px; white-space: normal; }
[data-studio] .gd-compare-select[aria-pressed="true"] { border-color: var(--primary); color: var(--primary); }

[data-studio] .gd-lightbox-overlay { position: fixed; inset: 0; z-index: 999; }
[data-studio] .gd-lightbox-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

[data-studio] .dir-results { scroll-margin-top: 100px; }
