/*
 * SCS Consent Manager v0.3.0 – Piano-Illg Design
 * Isoliert auf die ausdrücklich ausgewählte Musikschul-Designvorlage.
 * Farbreferenz: SCS Page Builder Academy / piano-illg.de, 2026-10-22.
 */
.scscm-root.scscm-theme-piano-illg {
    --scscm-accent:#f56922;
    --scscm-accent-2:#efc27b;
    --scscm-surface:#fffefa;
    --scscm-surface-alt:#fff9f3;
    --scscm-text:#15181f;
    --scscm-muted:#58515a;
    --scscm-border:#eadacc;
    --scscm-radius:22px;
    --scscm-shadow:0 25px 85px rgba(43,29,20,.24),0 5px 20px rgba(43,29,20,.10);
    --scscm-shadow-soft:0 12px 36px rgba(47,24,10,.15);
    --scscm-focus:0 0 0 3px rgba(245,105,34,.30);
    color:#15181f;
    font-family:Arial,Helvetica,sans-serif;
}
.scscm-theme-piano-illg .scscm-banner,
.scscm-theme-piano-illg .scscm-modal {
    background:linear-gradient(160deg,#fffefa 12%,#fff9f3 100%);
    border:1px solid #e5d1bc;
    color:#15181f;
    box-shadow:var(--scscm-shadow);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.scscm-theme-piano-illg .scscm-banner { width:min(755px,calc(100vw - 30px)); }
.scscm-theme-piano-illg .scscm-banner::before {
    content:""; position:absolute; top:0; left:0; right:0; height:5px;
    background:linear-gradient(90deg,#efc27b 0%,#f56922 48%,#f5b672 100%);
    z-index:3; pointer-events:none;
}
.scscm-theme-piano-illg .scscm-banner-inner { padding:30px 33px 28px; }
.scscm-theme-piano-illg .scscm-glow { opacity:.08; filter:blur(65px); }
.scscm-theme-piano-illg .scscm-glow-a { background:#f56922; }
.scscm-theme-piano-illg .scscm-glow-b { background:#efc27b; }
.scscm-theme-piano-illg .scscm-brand-row { gap:16px; align-items:center; }
.scscm-theme-piano-illg .scscm-brand-mark.scscm-brand-mark--image {
    display:grid; place-items:center; flex:0 0 77px;
    width:77px; height:77px; max-width:77px; max-height:77px;
    border-radius:17px; background:#ebd7b5; box-shadow:none;
    overflow:hidden; padding:4px;
}
.scscm-theme-piano-illg .scscm-brand-mark--image img,
.scscm-theme-piano-illg.scscm-logo-auto .scscm-brand-mark--image img {
    display:block; width:100%; height:100%; max-width:100%; max-height:100%;
    object-fit:contain; object-position:center; border-radius:10px;
}
.scscm-theme-piano-illg .scscm-brand-mark--fallback { background:#f56922; color:#15181f; }
.scscm-theme-piano-illg .scscm-eyebrow {
    color:#a04417; font-size:10.5px; letter-spacing:.15em;
    font-weight:800; text-transform:uppercase;
}
.scscm-theme-piano-illg .scscm-banner h2,
.scscm-theme-piano-illg .scscm-modal h2 {
    font-family:Georgia,'Times New Roman',serif;
    font-weight:700; color:#15181f;
    font-size:clamp(23px,3vw,30px); line-height:1.18; letter-spacing:-.035em;
    margin:0;
}
.scscm-theme-piano-illg .scscm-copy { color:#554d46; font-size:14.5px; line-height:1.65; margin-top:18px; }
.scscm-theme-piano-illg .scscm-policy-links a,
.scscm-theme-piano-illg .scscm-service a { color:#9b3b12; text-decoration-thickness:1px; }
.scscm-theme-piano-illg .scscm-actions { gap:10px; margin-top:24px; }
.scscm-theme-piano-illg .scscm-btn {
    border-radius:999px; min-height:49px; font-size:13px; font-weight:750;
    box-shadow:none; border:1px solid transparent; padding:12px 16px;
}
.scscm-theme-piano-illg .scscm-btn-primary { background:#b9480d; color:#fff; border-color:#b9480d; }
.scscm-theme-piano-illg .scscm-btn-primary:hover { background:#963706; border-color:#963706; box-shadow:0 7px 18px rgba(152,54,9,.17); }
.scscm-theme-piano-illg .scscm-btn-secondary { background:#f3c583; color:#15181f; border-color:#e6b370; }
.scscm-theme-piano-illg .scscm-btn-secondary:hover { background:#efb966; }
.scscm-theme-piano-illg .scscm-btn-ghost { color:#2c292b; background:#fff; border-color:#d9cbbb; }
.scscm-theme-piano-illg .scscm-btn-ghost:hover { background:#fff6ee; }
.scscm-theme-piano-illg .scscm-powered { color:#71665d; }
.scscm-theme-piano-illg .scscm-backdrop { background:rgba(21,24,31,.48); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.scscm-theme-piano-illg .scscm-modal { width:min(800px,calc(100vw - 28px)); }
.scscm-theme-piano-illg .scscm-modal-head,
.scscm-theme-piano-illg .scscm-modal-foot { background:#fff9f3; border-color:#e7dacd; }
.scscm-theme-piano-illg .scscm-modal-head { border-top:5px solid #f56922; }
.scscm-theme-piano-illg .scscm-modal-intro { color:#60574f; }
.scscm-theme-piano-illg .scscm-icon-btn { color:#15181f; border-color:#dbc5b0; background:#fff; border-radius:50%; }
.scscm-theme-piano-illg .scscm-category { background:#fff; border:1px solid #ebdfd3; border-radius:15px; }
.scscm-theme-piano-illg .scscm-category-head { padding:16px; }
.scscm-theme-piano-illg .scscm-category-toggle-details { color:#15181f; }
.scscm-theme-piano-illg .scscm-category-toggle-details strong { color:#1d1b1a; font-weight:800; }
.scscm-theme-piano-illg .scscm-category-toggle-details small { color:#635a54; }
.scscm-theme-piano-illg .scscm-category-icon { background:#fff0e2; color:#a94816; border-radius:11px; }
.scscm-theme-piano-illg .scscm-category-details { border-color:#ede0d4; }
.scscm-theme-piano-illg .scscm-service { background:#fffaf5; border:1px solid #ede1d5; border-radius:12px; }
.scscm-theme-piano-illg .scscm-service-main > span,
.scscm-theme-piano-illg .scscm-service-main p,
.scscm-theme-piano-illg .scscm-empty-service { color:#655951; }
.scscm-theme-piano-illg .scscm-service-main > strong { color:#15181f; }
.scscm-theme-piano-illg .scscm-required-badge { color:#604115; background:#fff0d7; }
.scscm-theme-piano-illg .scscm-switch-ui { background:#d7cec7; }
.scscm-theme-piano-illg .scscm-switch input:checked + .scscm-switch-ui { background:#b9480d; }
.scscm-theme-piano-illg .scscm-switch input:disabled + .scscm-switch-ui { background:#f0bf79; }
.scscm-theme-piano-illg .scscm-reopen {
    width:51px; height:51px; border-radius:50%; background:#b9480d; color:#fff;
    border:2px solid #fff; box-shadow:0 6px 19px rgba(92,44,22,.29);
}
.scscm-theme-piano-illg .scscm-reopen:hover { background:#9c360b; }
.scscm-theme-piano-illg .scscm-embed-placeholder { background:#fff9f3; border-color:#eadacc; color:#241d18; }
.scscm-theme-piano-illg .scscm-embed-placeholder .scscm-embed-icon { color:#b9480d; }
.scscm-theme-piano-illg .scscm-embed-placeholder .scscm-btn { border-radius:999px; }

@media (max-width:720px) {
    .scscm-theme-piano-illg .scscm-banner { border-radius:18px; }
    .scscm-theme-piano-illg .scscm-banner-inner { padding:19px 17px 17px; }
    .scscm-theme-piano-illg .scscm-brand-row { gap:11px; align-items:flex-start; }
    .scscm-theme-piano-illg .scscm-brand-mark.scscm-brand-mark--image {
        flex:0 0 52px; width:52px; height:52px; min-width:52px; max-width:52px; max-height:52px;
        border-radius:11px; padding:3px;
    }
    .scscm-theme-piano-illg .scscm-banner h2 { font-size:20px; line-height:1.2; }
    .scscm-theme-piano-illg .scscm-copy { font-size:13px; line-height:1.55; margin-top:13px; }
    .scscm-theme-piano-illg .scscm-actions { gap:9px; margin-top:17px; }
    .scscm-theme-piano-illg .scscm-modal { border-radius:18px; }
    .scscm-theme-piano-illg .scscm-modal-head { padding-top:13px; }
    .scscm-theme-piano-illg .scscm-modal h2 { font-size:19px; }
    .scscm-theme-piano-illg .scscm-modal-foot { background:#fff9f3; }
    .scscm-theme-piano-illg .scscm-reopen { bottom:calc(16px + env(safe-area-inset-bottom)); left:12px; width:46px; height:46px; }
}
@media(prefers-reduced-motion:reduce){
    .scscm-theme-piano-illg .scscm-btn { transition:none; }
    .scscm-theme-piano-illg .scscm-btn:hover { transform:none; }
}
@media (min-width:721px) {
    .scscm-root.scscm-theme-piano-illg .scscm-modal-logo.scscm-brand-mark--image {
        flex:0 0 53px; width:53px; height:53px; max-width:53px; max-height:53px;
        padding:3px; border-radius:12px;
    }
}
