/* Kyro Logo-Generator – nutzt die Farben aus styles.css (hell/dunkel). */
.logo-hero{padding-bottom:12px}
.logo-hero .campaign-lead{max-width:720px}

.logo-tool{padding:8px 0 56px}
.logo-tool-grid{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:28px;align-items:start}
.logo-controls{display:grid;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;box-shadow:var(--shadow-sm)}
.logo-group{border:0;margin:0;padding:0 0 14px;border-bottom:1px solid var(--line);display:grid;gap:10px;min-width:0}
.logo-group:last-child{border-bottom:0;padding-bottom:0}
.logo-group legend{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0}
.logo-group legend span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:12px}
.logo-input{display:grid;gap:5px;font-size:13px;font-weight:600}
.logo-input em{font-style:normal;font-weight:500;color:var(--muted)}
.logo-input input{font:inherit;font-size:15px;font-weight:500;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);width:100%;box-sizing:border-box}
.logo-input input:focus{outline:2px solid var(--brand);outline-offset:1px}

.logo-chips{display:flex;flex-wrap:wrap;gap:6px}
.logo-search input{padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px;background-position:11px center}
.logo-search-note{margin:0;font-size:12px;color:var(--muted)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.logo-chips button{font:inherit;font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer}
.logo-chips button:hover{border-color:var(--brand)}

.logo-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;max-height:420px;overflow-y:auto;padding:2px}
.logo-icons button{aspect-ratio:1;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;padding:0}
.logo-icons button svg{width:22px;height:22px}
.logo-icons button[aria-checked="true"],.logo-fonts button[aria-checked="true"]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.logo-initials{font:800 14px/1 inherit}
.logo-more{justify-self:start;font:inherit;font-size:13px;font-weight:600;color:var(--brand);background:none;border:0;padding:2px 0;cursor:pointer}

.logo-segment{display:flex;background:var(--surface-2);border-radius:12px;padding:3px;gap:3px}
.logo-segment label{flex:1;position:relative}
.logo-segment input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.logo-segment span{display:block;text-align:center;font-size:13px;font-weight:600;padding:7px 4px;border-radius:9px;color:var(--muted)}
.logo-segment input:checked+span{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}
.logo-segment input:focus-visible+span{outline:2px solid var(--brand)}
.logo-check{display:flex;gap:8px;align-items:center;font-size:13px}

.logo-fonts{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}
.logo-fonts button{display:grid;gap:2px;justify-items:center;padding:8px 4px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer}
.logo-fonts b{font-size:22px;line-height:1.1}
.logo-fonts span{font-size:11px;font-family:Inter,ui-sans-serif,-apple-system,"Segoe UI",sans-serif;color:var(--muted)}

.logo-palettes{display:flex;flex-wrap:wrap;gap:8px}
.logo-palettes button{display:flex;border-radius:999px;overflow:hidden;border:1px solid var(--line);padding:0;cursor:pointer;background:none}
.logo-palettes i{display:block;width:20px;height:28px}
.logo-colors{display:flex;gap:14px;flex-wrap:wrap}
.logo-colors label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.logo-colors input{width:38px;height:32px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--surface);cursor:pointer}

.logo-stage{display:grid;gap:18px;position:sticky;top:calc(var(--header) + 12px);min-width:0}
.logo-preview{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,4vw,48px);min-height:220px;display:grid;place-items:center;box-shadow:var(--shadow-sm);background-image:linear-gradient(45deg,#f4f4f8 25%,transparent 25%),linear-gradient(-45deg,#f4f4f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f4f4f8 75%),linear-gradient(-45deg,transparent 75%,#f4f4f8 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}
.logo-preview-svg{width:100%;height:auto;max-height:300px}

.logo-mockups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.logo-mock{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;display:flex;align-items:center;gap:12px;min-width:0;font-size:13px}
.logo-mock strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-mock span,.logo-mock figcaption{color:var(--muted);font-size:12px}
.logo-mock>div{min-width:0}
.logo-mock-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none}
.logo-mock-avatar.small{width:44px;height:44px}
.logo-mock-avatar svg{width:100%;height:100%;display:block}
.logo-mock-tab{flex-direction:column;align-items:stretch;gap:8px}
.logo-mock-tabbar{display:flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:10px 10px 0 0;padding:8px 10px;max-width:240px}
.logo-mock-tabbar>span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:12px}
.logo-mock-tabbar i{font-style:normal;color:var(--muted)}
.logo-mock-favicon{width:18px;height:18px;flex:none;display:block}
.logo-mock-favicon svg{width:100%;height:100%;display:block}
.logo-mock-url{background:var(--surface-2);border-radius:999px;padding:6px 12px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-mock-site,.logo-mock-dark{flex-direction:column;align-items:stretch}
.logo-mock-header{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:10px 12px}
.logo-mock-header i{display:block;width:34px;height:6px;border-radius:4px;background:#e6e6ee;flex:none}
.logo-mock-logo{flex:1;min-width:0;display:block}
.logo-mock-logo svg{display:block;height:auto;max-height:42px;width:auto;max-width:100%}
.logo-mock-dark{grid-column:1/-1;border:0}
.logo-mock-dark figcaption{color:rgba(255,255,255,.7)}
.logo-mock-dark .logo-mock-logo svg{max-height:54px}

.logo-download{display:grid;gap:6px;justify-items:start}
.logo-download p{margin:0;color:var(--muted);font-size:13px}
.logo-download button[disabled]{opacity:.6;cursor:progress}

.logo-package-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.logo-package-grid li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px}
.logo-package-grid strong{display:block;margin-bottom:6px}
.logo-package-grid p{margin:0;color:var(--muted);font-size:14px}

.logo-related-landing{margin:0 0 16px}
.logo-related-landing a{color:var(--brand);font-weight:700}
.logo-related-links{display:flex;flex-wrap:wrap;gap:8px}
.logo-related-links a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:600}
.logo-related-links a:hover{border-color:var(--brand);color:var(--brand)}

.logo-dialog{border:0;border-radius:var(--radius);padding:0;width:min(480px,calc(100vw - 32px));background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.logo-dialog::backdrop{background:rgba(14,13,18,.55);backdrop-filter:blur(3px)}
.logo-dialog-form{display:grid;gap:12px;padding:26px 24px 22px;position:relative}
.logo-dialog-form>div{display:grid;gap:12px}
.logo-dialog-form>div[hidden]{display:none}
.logo-dialog h2{margin:0;font-size:22px;line-height:1.25;padding-right:28px}
.logo-dialog p{margin:0;color:var(--muted);font-size:14px}
.logo-dialog-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:var(--surface-2);color:var(--text);font-size:20px;line-height:1;cursor:pointer}
.logo-consent{font-size:12px}
.logo-dialog-kyro{display:grid;gap:8px;background:var(--brand-soft);border-radius:var(--radius-sm);padding:16px;margin-top:4px}
.logo-dialog-kyro strong{color:var(--text)}
.logo-dialog-kyro .landing-actions{margin:4px 0 0}
.logo-link{font:inherit;color:var(--brand);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}

@media (max-width:900px){
  .logo-tool-grid{grid-template-columns:1fr}
  .logo-stage{position:static;order:-1}
  .logo-preview{min-height:160px}
}
@media (max-width:560px){
  .logo-mockups{grid-template-columns:1fr}
  .logo-mock-dark{grid-column:auto}
  .logo-download{justify-items:stretch}
}
