/* Eingebettete Portalseiten im Kunden-Center (Bestattungsfall, Musik, Trauerdruck, Abmeldungen): gleiche Gestaltung wie das
   Kunden-Center selbst. Alle Werte aus dem Token-Set --cc-* (customer-center.css); hebt die Grundstile von portal.css auf.
   Die Gedenkseite „Lebensbuch“ (data-portal=memorial) bleibt unberührt. */
body.cc-embedded { font:400 var(--cc-fs)/1.55 var(--cc-sans); color:var(--cc-ink); background:transparent; }
body.cc-embedded #portal-app { padding:4px 0 0; }
body.cc-embedded .portal-content { grid-template-columns:minmax(0,1fr); gap:20px; padding:0; margin:0; }
body.cc-embedded .portal-content > div { display:grid; gap:20px; min-width:0; }
body.cc-embedded .portal-content > aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:0; background:transparent; }
/* Karten */
body.cc-embedded .portal-section, body.cc-embedded .portal-expansion, body.cc-embedded .portal-process, body.cc-embedded .dereg-overview, body.cc-embedded .dereg-tabs { margin:0; padding:24px 26px; border:1px solid var(--cc-line); border-radius:var(--cc-radius-lg); background:#fff; box-shadow:var(--cc-shadow-soft); }
body.cc-embedded .portal-section h2, body.cc-embedded .portal-expansion h2 { margin:4px 0 0; color:var(--cc-ink); font:400 24px/1.25 var(--cc-serif); overflow-wrap:anywhere; }
body.cc-embedded .portal-section h3, body.cc-embedded .portal-expansion h3, body.cc-embedded .dereg-workflow-surface h3 { margin:18px 0 10px; color:var(--cc-ink); font:600 17px/1.4 var(--cc-sans); }
body.cc-embedded .portal-section-kicker, body.cc-embedded .portal-eyebrow, body.cc-embedded .section-heading > div > span { display:block; margin:0 0 6px; color:var(--cc-eyebrow); font:700 11px/1.4 var(--cc-sans); letter-spacing:.18em; text-transform:uppercase; }
body.cc-embedded .portal-section > p, body.cc-embedded .section-heading p, body.cc-embedded .family-action-heading p { font-size:14.5px; line-height:1.6; color:var(--cc-muted); margin:8px 0 18px; }
body.cc-embedded p, body.cc-embedded li, body.cc-embedded small, body.cc-embedded label { font-size:14px; line-height:1.55; }
body.cc-embedded small { font-size:var(--cc-fs-sm); }
body.cc-embedded .muted { color:var(--cc-muted); }
body.cc-embedded .section-heading { align-items:flex-start; gap:18px; margin-bottom:6px; }
body.cc-embedded .portal-section > p:empty { display:none; }
/* Reiter, Schnellnavigation, Filter */
body.cc-embedded .family-quick-nav, body.cc-embedded .px-tabs, body.cc-embedded .music-genres, body.cc-embedded .dereg-history-filters { display:flex; flex-wrap:wrap; gap:8px; min-height:0; margin:0 0 4px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
body.cc-embedded .family-quick-nav a, body.cc-embedded .px-tabs button, body.cc-embedded .music-genres button, body.cc-embedded .dereg-history-filters button { flex:0 1 auto; min-height:42px; padding:9px 16px; border:1px solid var(--cc-line) !important; border-radius:var(--cc-pill); background:#fff; color:var(--cc-ink); font:600 14px/1.3 var(--cc-sans); text-align:center; text-decoration:none; justify-content:center; box-shadow:none; }
body.cc-embedded .family-quick-nav a svg { color:var(--cc-plum); }
body.cc-embedded .family-quick-nav a:hover, body.cc-embedded .px-tabs button:hover, body.cc-embedded .music-genres button:hover, body.cc-embedded .dereg-history-filters button:hover { background:var(--cc-soft); color:var(--cc-plum-dark); }
body.cc-embedded .px-tabs button[aria-selected=true], body.cc-embedded .px-tabs button.active, body.cc-embedded .family-quick-nav a.active, body.cc-embedded .music-genres button[aria-selected=true], body.cc-embedded .dereg-history-filters button.active { background:var(--cc-plum); border-color:var(--cc-plum) !important; color:#fff; }
body.cc-embedded .family-quick-nav { position:static; }
body.cc-embedded .px-tabs button { flex:1 1 auto; }
/* Übersicht „Aktueller Stand“ */
body.cc-embedded .family-overview { padding:0; overflow:hidden; }
body.cc-embedded .family-overview > .section-heading { padding:22px 26px; margin:0; border-bottom:1px solid var(--cc-line); }
body.cc-embedded .family-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--cc-line); }
body.cc-embedded .family-overview-grid > * { min-height:0; padding:18px 22px; border-right:1px solid var(--cc-line); border-bottom:1px solid var(--cc-line); background:#fff; }
body.cc-embedded .family-overview-grid article:nth-child(2n) { border-right:0; }
body.cc-embedded .family-overview-grid article:nth-child(n+3) { border-bottom:0; }
body.cc-embedded .family-overview-grid article > span { background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .family-overview-grid small { color:var(--cc-muted); font:700 11px/1.4 var(--cc-sans); letter-spacing:.08em; text-transform:uppercase; }
body.cc-embedded .family-overview-grid strong, body.cc-embedded .family-overview-grid b { color:var(--cc-ink); font-size:var(--cc-fs-lg); }
body.cc-embedded .family-next-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; padding:18px 22px; }
body.cc-embedded .family-next-steps article > span { border-color:var(--cc-line-strong); background:var(--cc-lilac-soft); color:var(--cc-plum); font-size:11px; }
body.cc-embedded .family-next-steps article.done > span { border-color:var(--cc-ok-line); background:var(--cc-ok-soft); color:var(--cc-ok); }
body.cc-embedded .family-next-steps strong { font-size:var(--cc-fs-sm); color:var(--cc-ink); }
body.cc-embedded .family-next-steps small { color:var(--cc-muted); font-size:var(--cc-fs-xs); }
body.cc-embedded .family-record-type { padding:6px 12px; border:1px solid var(--cc-line-strong); border-radius:var(--cc-pill); background:#fff; color:var(--cc-plum-dark); font:600 12.5px/1.4 var(--cc-sans); }
body.cc-embedded .family-section-count { min-width:28px; height:28px; border-radius:var(--cc-pill); background:var(--cc-plum); color:#fff; font:700 12px/1 var(--cc-sans); }
/* Urne eingetroffen */
body.cc-embedded .family-urn-arrival { border:1px solid var(--cc-line); border-left:4px solid var(--cc-plum); border-radius:var(--cc-radius); background:linear-gradient(110deg,var(--cc-lilac-soft) 0%,#fff 72%); box-shadow:var(--cc-shadow-soft); }
body.cc-embedded .family-urn-arrival::after { display:none; }
body.cc-embedded .family-urn-arrival > span { background:var(--cc-plum); color:#fff; }
body.cc-embedded .family-urn-arrival small { color:var(--cc-eyebrow); font-size:11px; letter-spacing:.14em; }
body.cc-embedded .family-urn-arrival h2 { color:var(--cc-ink); font:400 24px/1.25 var(--cc-serif); }
body.cc-embedded .family-urn-arrival p { color:var(--cc-text); font-size:14px; }
/* Leistungsumfang */
body.cc-embedded .family-scope-grid { gap:14px; margin-top:18px; }
body.cc-embedded .family-scope-group { border-radius:12px; border:1px solid var(--cc-line); overflow:hidden; background:#fff; }
body.cc-embedded .family-scope-group > header { padding:12px 16px; border-bottom:1px solid var(--cc-line); background:var(--cc-soft); font-size:14px; }
body.cc-embedded .family-scope-group > header h3 { margin:0; font:600 15px/1.4 var(--cc-sans); }
body.cc-embedded .family-scope-group > header > span, body.cc-embedded .family-scope-group:nth-child(2n) > header > span { background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .family-scope-group > header b { background:var(--cc-plum); color:#fff; }
body.cc-embedded .family-scope-group > div i { background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .family-scope-group > div small { color:var(--cc-muted); font-size:var(--cc-fs-xs); }
/* Formularbereiche, Aktionen */
body.cc-embedded .family-upload-grid, body.cc-embedded .family-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
body.cc-embedded .family-upload-grid > .portal-section, body.cc-embedded .family-action-grid > .portal-section { margin:0; }
body.cc-embedded .family-action-heading { display:flex; gap:14px; align-items:flex-start; }
body.cc-embedded .family-action-heading > span:first-child { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:12px; background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .family-action-heading svg { width:20px; height:20px; }
body.cc-embedded .family-action-section > form { gap:12px; }
body.cc-embedded .family-request-slots span { border-color:var(--cc-line); border-radius:var(--cc-pill); background:var(--cc-soft); color:var(--cc-text); font-size:var(--cc-fs-xs); }
/* Listen in der Seitenleiste */
body.cc-embedded .family-request-row, body.cc-embedded .family-music-row, body.cc-embedded .family-document-row, body.cc-embedded .portal-id-document, body.cc-embedded .deregistration-row, body.cc-embedded .comment { border-radius:12px; padding:14px 16px; border:1px solid var(--cc-line); margin-bottom:10px; background:#fff; }
body.cc-embedded .family-request-row header strong, body.cc-embedded .family-document-row strong, body.cc-embedded .family-music-row strong { font-size:14.5px; color:var(--cc-ink); }
body.cc-embedded :is(.family-request-row, .family-document-row, .family-music-row) :is(small, time) { color:var(--cc-muted); font-size:var(--cc-fs-xs); }
body.cc-embedded :is(.family-request-row, .family-document-row, .family-music-row) p { font-size:14px; color:var(--cc-text); }
body.cc-embedded .family-request-icon, body.cc-embedded .family-document-row > span, body.cc-embedded .family-music-row > span { width:34px; height:34px; display:grid; place-items:center; align-self:start; border-radius:var(--cc-radius-sm); background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .family-music-row > span svg { width:17px; height:17px; }
body.cc-embedded .family-document-row .button { min-height:36px; padding:0 12px; font-size:13px; }
body.cc-embedded .family-team-response { border-left-color:var(--cc-lilac); border-radius:0 12px 12px 0; background:var(--cc-soft); color:var(--cc-text); }
body.cc-embedded .family-team-response > span { background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .family-team-response strong { color:var(--cc-ink); }
body.cc-embedded .family-team-response small { color:var(--cc-muted); }
body.cc-embedded .family-empty { border:1px dashed var(--cc-line-strong); border-radius:12px; background:var(--cc-soft); text-align:left; padding:16px 18px; margin:0; border-left:1px dashed var(--cc-line-strong); }
body.cc-embedded .family-empty strong { color:var(--cc-ink); font-size:14.5px; }
body.cc-embedded .family-empty p { color:var(--cc-muted); font-size:var(--cc-fs-sm); }
body.cc-embedded .family-contact-card { border-top:1px solid var(--cc-line); }
body.cc-embedded .family-contact-card .family-contact-person { align-items:center; gap:12px; }
body.cc-embedded .family-contact-person > span:first-child { width:44px; height:44px; border-radius:50%; background:var(--cc-lilac-soft); color:var(--cc-plum); display:grid; place-items:center; }
body.cc-embedded .family-contact-card > a { font-size:14px; color:var(--cc-plum-dark); }
body.cc-embedded .staff-preview-notice { width:auto; margin:0 0 4px; border-left-width:3px; }
/* Persönlich für Sie (portal-expansion) */
body.cc-embedded .px-check, body.cc-embedded .px-task { border-radius:12px; }
body.cc-embedded .px-task-list .px-task { padding:14px 16px; border:1px solid var(--cc-line); margin-bottom:10px; }
body.cc-embedded .px-next-action, body.cc-embedded .px-quote { border-radius:12px; }
body.cc-embedded .px-messages { padding:14px; border:1px solid var(--cc-line); border-radius:12px; background:var(--cc-soft); }
body.cc-embedded .px-messages > .cc-empty { margin:0; }
body.cc-embedded .portal-preview-note, body.cc-embedded .staff-preview-note { border-radius:12px; font-size:var(--cc-fs-sm); }
/* Trauerdruck */
body.cc-embedded .print-category-tabs { gap:10px; }
body.cc-embedded .print-category-tabs button { border-color:var(--cc-line); border-radius:var(--cc-radius); color:var(--cc-text); box-shadow:none; }
body.cc-embedded .print-category-tabs button:hover { border-color:var(--cc-line-strong); box-shadow:var(--cc-shadow-lift); }
body.cc-embedded .print-category-tabs button.active { border-color:var(--cc-plum); background:var(--cc-soft); box-shadow:inset 0 -3px 0 var(--cc-plum); color:var(--cc-plum-dark); }
body.cc-embedded .print-category-tabs button.active :is(strong,span,small) { color:var(--cc-plum-dark); }
body.cc-embedded .print-category-tabs button.active small { color:var(--cc-muted); }
body.cc-embedded .print-category-tabs strong { color:var(--cc-ink); }
body.cc-embedded .print-category-tabs small { color:var(--cc-muted); font-size:var(--cc-fs-xs); }
body.cc-embedded .print-category-tabs .print-category-icon, body.cc-embedded .print-category-tabs button:nth-child(2) .print-category-icon, body.cc-embedded .print-category-tabs button:nth-child(3) .print-category-icon { border-radius:var(--cc-radius-sm); background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .print-category-tabs button > b { background:var(--cc-lilac-soft); color:var(--cc-plum-dark); font-size:11px; }
body.cc-embedded .print-category-tabs button.active > b { background:var(--cc-plum); color:#fff; }
body.cc-embedded .portal-process { padding:0; overflow:hidden; }
body.cc-embedded .portal-process span { color:var(--cc-muted); font-size:var(--cc-fs-sm); border-right-color:var(--cc-line); }
body.cc-embedded .portal-process b { border-color:var(--cc-line-strong); color:var(--cc-plum-dark); }
body.cc-embedded .portal-process .done b { border-color:var(--cc-plum); background:var(--cc-plum); color:#fff; }
body.cc-embedded .draft-preview { border-color:var(--cc-line); border-radius:var(--cc-radius); background:var(--cc-soft); box-shadow:none; }
body.cc-embedded .draft-preview-clickable:hover { border-color:var(--cc-line-strong); box-shadow:var(--cc-shadow-lift); }
body.cc-embedded .draft-preview-toolbar, body.cc-embedded .draft-meta { color:var(--cc-muted); font-size:var(--cc-fs-xs); }
body.cc-embedded .draft-preview-zoom { border-radius:var(--cc-pill); background:rgba(61,28,71,.92); font-size:var(--cc-fs-xs); }
body.cc-embedded .comment time { font-size:var(--cc-fs-xs); }
body.cc-embedded .comment p { font-size:14px; }
/* Abmeldungen: Übersicht, Reiter, Kategorien */
body.cc-embedded .dereg-overview { padding:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
body.cc-embedded .dereg-overview article { border-right-color:var(--cc-line); border-bottom:1px solid var(--cc-line); padding:16px 18px; }
body.cc-embedded .dereg-overview article:nth-child(2n) { border-right:0; }
body.cc-embedded .dereg-overview article:nth-child(n+3) { border-bottom:0; }
body.cc-embedded .dereg-overview article > span, body.cc-embedded .dereg-overview article:nth-child(2) > span, body.cc-embedded .dereg-overview article:nth-child(3) > span, body.cc-embedded .dereg-overview article:nth-child(4) > span { border-radius:var(--cc-radius-sm); background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .dereg-overview small { color:var(--cc-muted); font-size:var(--cc-fs-xs); }
body.cc-embedded .dereg-overview strong { color:var(--cc-ink); font:400 26px/1.1 var(--cc-serif); }
body.cc-embedded .dereg-tabs { padding:0; overflow:hidden; }
body.cc-embedded .dereg-tabs button { color:var(--cc-text); font-size:var(--cc-fs-sm); border-right-color:var(--cc-line); }
body.cc-embedded .dereg-tabs button.active { color:var(--cc-plum-dark); background:var(--cc-soft); box-shadow:inset 0 -3px 0 var(--cc-plum); }
body.cc-embedded .dereg-tabs b { background:var(--cc-lilac-soft); color:var(--cc-plum-dark); font-size:11px; }
body.cc-embedded .dereg-tabs button.active b { background:var(--cc-plum); color:#fff; }
body.cc-embedded .dereg-category-grid button { border-color:var(--cc-line); border-radius:12px; color:var(--cc-text); }
body.cc-embedded .dereg-category-grid button:hover { border-color:var(--cc-line-strong); box-shadow:var(--cc-shadow-lift); }
body.cc-embedded .dereg-category-grid button.active { border-color:var(--cc-plum); background:var(--cc-soft); box-shadow:inset 0 -3px 0 var(--cc-plum); }
body.cc-embedded .dereg-category-grid button > span { border-radius:var(--cc-radius-sm); background:var(--cc-lilac-soft); color:var(--cc-plum); }
body.cc-embedded .dereg-side-progress > span.done { background:var(--cc-ok-soft); color:var(--cc-ok); }
body.cc-embedded .dereg-workflow-surface section { border-top-color:var(--cc-line); }
body.cc-embedded .dereg-workflow-surface small { color:var(--cc-muted); }
body.cc-embedded [data-portal="deregistration"] .portal-content, body.cc-embedded[data-portal="deregistration"] .portal-content { display:grid; }
@media (max-width: 900px) {
  body.cc-embedded .portal-content > aside, body.cc-embedded .family-upload-grid, body.cc-embedded .family-action-grid { grid-template-columns:1fr; }
  body.cc-embedded .portal-section, body.cc-embedded .portal-expansion { padding:18px; border-radius:var(--cc-radius); }
  body.cc-embedded .family-quick-nav a, body.cc-embedded .px-tabs button { flex:1 1 45%; }
}
@media (max-width: 560px) {
  body.cc-embedded .family-overview-grid, body.cc-embedded .family-next-steps, body.cc-embedded .dereg-overview { grid-template-columns:1fr; }
  body.cc-embedded .family-overview-grid > * { border-right:0; border-bottom:1px solid var(--cc-line); }
  body.cc-embedded .family-overview-grid article:last-child { border-bottom:0; }
  body.cc-embedded .dereg-overview article { border-right:0; border-bottom:1px solid var(--cc-line); }
  body.cc-embedded .dereg-overview article:last-child { border-bottom:0; }
  body.cc-embedded .family-overview > .section-heading { padding:18px; }
}
/* Gedenkseite im Rahmen (data-portal=memorial): nur die bisherigen sanften Angleichungen von Feldern, Beschriftungen und
   Schaltflächen; alle übrigen Regeln bleiben dem Lebensbuch (memorial-lebensbuch.css) überlassen. */
:where(body.cc-embedded[data-portal="memorial"]) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]) { min-height:44px; padding:8px 12px; border:1px solid var(--cc-line); border-radius:10px; font-size:15px; background:#fff; }
:where(body.cc-embedded[data-portal="memorial"]) textarea { min-height:110px; }
:where(body.cc-embedded[data-portal="memorial"]) :is(label, .field > label, label > span:first-child) { text-transform:none; letter-spacing:0; font-weight:600; font-size:13.5px; color:var(--cc-muted); }
:where(body.cc-embedded[data-portal="memorial"]) :is(.button, button[type=submit], button.primary) { min-height:46px; padding:10px 18px; border-radius:12px; font-size:15px; font-weight:600; }
:where(body.cc-embedded[data-portal="memorial"]) :is(.button.primary, button.primary, button[type=submit]) { background:var(--cc-plum); color:#fff; border:1px solid var(--cc-plum); box-shadow:0 6px 16px rgba(100,49,130,.2); }
:where(body.cc-embedded[data-portal="memorial"]) :is(.button.primary, button.primary, button[type=submit]):hover { background:var(--cc-plum-dark); }
