/*
|--------------------------------------------------------------------------
| Schmidt SESSION 7 · PART 2
| Preisrechner Design-System · Material-inspirierte Oberfläche
|--------------------------------------------------------------------------
| Diese Datei ist bewusst unabhängig von Vite. Sie kann sofort über Blade
| geladen werden und wird später auch für den Admin-Tablet-Angebotsplaner
| wiederverwendet.
*/

:root {
    --s07-bg: #f5f7fb;
    --s07-bg-2: #eef4f1;
    --s07-surface: #ffffff;
    --s07-surface-soft: #f8fbfa;
    --s07-surface-elevated: rgba(255,255,255,.94);
    --s07-text: #121a22;
    --s07-muted: #64727d;
    --s07-muted-2: #7d8a94;
    --s07-line: rgba(18,26,34,.105);
    --s07-line-strong: rgba(18,26,34,.16);
    --s07-primary: #155f50;
    --s07-primary-2: #1f8a70;
    --s07-primary-soft: #e7f5ef;
    --s07-accent: #d83f8c;
    --s07-accent-soft: #fde8f3;
    --s07-warning: #b7791f;
    --s07-warning-soft: #fff8e6;
    --s07-danger: #b42318;
    --s07-danger-soft: #fef3f2;
    --s07-info: #334eac;
    --s07-info-soft: #eef2ff;
    --s07-radius-xl: 34px;
    --s07-radius-lg: 28px;
    --s07-radius-md: 22px;
    --s07-radius-sm: 16px;
    --s07-shadow-1: 0 1px 2px rgba(18,26,34,.06), 0 8px 26px rgba(18,26,34,.07);
    --s07-shadow-2: 0 2px 4px rgba(18,26,34,.06), 0 18px 55px rgba(18,26,34,.10);
    --s07-shadow-3: 0 26px 80px rgba(18,26,34,.13);
    --s07-focus: 0 0 0 4px rgba(31,138,112,.16);
    --s07-font: Inter, "Google Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.price-planner-final,
.s07-admin-planner,
.admin-tablet-planner {
    --pc-ink: var(--s07-text);
    --pc-muted: var(--s07-muted);
    --pc-line: var(--s07-line);
    --pc-soft: var(--s07-bg-2);
    --pc-card: var(--s07-surface);
    --pc-brand: var(--s07-primary);
    --pc-brand2: var(--s07-primary-2);
    --pc-accent: var(--s07-accent);
    --pc-warn: #f2c14e;
    --pc-good: #16a34a;
    --pc-shadow: var(--s07-shadow-2);
    color: var(--s07-text);
    font-family: var(--s07-font);
}

.price-planner-final * ,
.s07-admin-planner * ,
.admin-tablet-planner * { box-sizing: border-box; }

.price-planner-final {
    min-height: 100vh;
    background:
        radial-gradient(circle at 93% 7%, rgba(216,63,140,.12), transparent 26%),
        radial-gradient(circle at 4% 0%, rgba(31,138,112,.13), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, var(--s07-bg) 47%, var(--s07-bg-2) 100%);
    overflow-x: clip;
}

.pc-wrap {
    width: min(1240px, calc(100% - 34px));
    margin-inline: auto;
}

.pc-hero {
    padding: clamp(38px, 6vw, 72px) 0 30px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,246,241,.82)),
        radial-gradient(circle at 78% 16%, rgba(216,63,140,.13), transparent 25%),
        radial-gradient(circle at 12% 4%, rgba(31,138,112,.16), transparent 26%);
    border-bottom: 1px solid rgba(18,26,34,.065);
}

.pc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
    gap: clamp(18px, 3vw, 30px);
    align-items: stretch;
}

.pc-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 9px;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(31,138,112,.16);
    box-shadow: 0 10px 28px rgba(18,26,34,.055);
    color: var(--s07-primary-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pc-title {
    max-width: 920px;
    margin: 18px 0 16px;
    font-size: clamp(38px, 5.5vw, 72px);
    line-height: .96;
    letter-spacing: -.065em;
    color: var(--s07-text);
    text-wrap: balance;
}

.pc-lead {
    max-width: 810px;
    margin: 0;
    color: #54645e;
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.65;
    text-wrap: pretty;
}

.pc-modebar {
    width: fit-content;
    max-width: 100%;
    margin-top: 24px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(31,138,112,.14);
    box-shadow: var(--s07-shadow-1);
    backdrop-filter: blur(16px);
}

.pc-mode {
    min-height: 54px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #28433b;
    padding: 10px 16px 10px 11px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 950;
    transition: transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.pc-mode:hover { transform: translateY(-1px); }
.pc-mode:focus-visible { outline: none; box-shadow: var(--s07-focus); }
.pc-mode span:first-child {
    width: 34px;
    height: 34px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: var(--s07-primary-soft);
}
.pc-mode.active {
    background: var(--s07-primary);
    color: #fff;
    box-shadow: 0 14px 30px rgba(21,95,80,.24);
}
.pc-mode.active span:first-child { background: rgba(255,255,255,.16); }

.pc-live-top {
    position: relative;
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 260px;
    padding: 26px;
    border-radius: var(--s07-radius-xl);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(31,138,112,.13);
    box-shadow: var(--s07-shadow-3);
    overflow: hidden;
}
.pc-live-top::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, var(--s07-primary-2), var(--s07-accent));
}
.pc-live-top small {
    color: var(--s07-primary-2);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.pc-price {
    font-size: clamp(42px, 4.7vw, 62px);
    line-height: .96;
    font-weight: 1000;
    letter-spacing: -.065em;
}
.pc-top-meta {
    display: grid;
    gap: 6px;
    color: #52635c;
    font-weight: 820;
}
.pc-meter {
    height: 11px;
    border-radius: 999px;
    background: #e3eee8;
    overflow: hidden;
}
.pc-meter i {
    display: block;
    height: 100%;
    width: 42%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--s07-primary-2), var(--s07-accent));
    transition: width .2s ease;
}

.pc-main { padding: 34px 0 86px; }
.pc-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(315px, 365px);
    gap: 24px;
    align-items: start;
}
.pc-form { display: grid; gap: 18px; min-width: 0; }

.pc-card,
.pc-side,
.s07-admin-panel-card {
    background: var(--s07-surface-elevated);
    border: 1px solid var(--s07-line);
    border-radius: var(--s07-radius-xl);
    box-shadow: var(--s07-shadow-1);
    padding: clamp(18px, 2.2vw, 25px);
}
.pc-card { overflow: hidden; }
.pc-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.pc-kicker { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.pc-num {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--s07-primary), var(--s07-primary-2));
    color: #fff;
    font-weight: 1000;
    box-shadow: 0 12px 28px rgba(21,95,80,.20);
}
.pc-card h2,
.pc-side h2 {
    margin: 0;
    font-size: clamp(21px, 2.2vw, 25px);
    line-height: 1.12;
    letter-spacing: -.035em;
    color: var(--s07-text);
    text-wrap: balance;
}
.pc-card p,
.pc-side p {
    margin: .35rem 0 0;
    color: var(--s07-muted);
    line-height: 1.52;
    text-wrap: pretty;
}

.pc-template-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.pc-template {
    position: relative;
    min-height: 126px;
    border: 1px solid rgba(18,26,34,.12);
    border-radius: 24px;
    padding: 17px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    display: grid;
    align-content: start;
    gap: 8px;
    box-shadow: 0 7px 20px rgba(18,26,34,.045);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
    overflow: hidden;
}
.pc-template::after {
    content: "";
    position: absolute;
    right: 13px;
    top: 13px;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #d5e3dd;
}
.pc-template:hover {
    transform: translateY(-2px);
    border-color: rgba(31,138,112,.28);
    box-shadow: var(--s07-shadow-1);
}
.pc-template:focus-visible { outline: none; box-shadow: var(--s07-focus); }
.pc-template strong {
    display: block;
    padding-right: 20px;
    color: #203a32;
    font-size: 16px;
    line-height: 1.18;
    letter-spacing: -.01em;
    overflow-wrap: anywhere;
}
.pc-template span {
    color: var(--s07-muted);
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.pc-template.active {
    border-color: rgba(31,138,112,.48);
    background: linear-gradient(180deg, #ffffff, #f1fbf6);
    box-shadow: 0 16px 34px rgba(31,138,112,.14);
}
.pc-template.active::after { background: var(--s07-accent); box-shadow: 0 0 0 5px rgba(216,63,140,.11); }

.pc-object-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 290px);
    gap: 18px;
    align-items: start;
}
.pc-workspace {
    min-height: 500px;
    padding: 16px;
    border: 1px dashed rgba(31,138,112,.28);
    border-radius: 30px;
    background:
        linear-gradient(90deg, rgba(31,138,112,.045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(31,138,112,.045) 1px, transparent 1px),
        #fbfffd;
    background-size: 30px 30px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-content: start;
}
.pc-room {
    position: relative;
    min-height: 146px;
    border: 1px solid rgba(31,138,112,.17);
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    padding: 15px;
    display: grid;
    align-content: start;
    gap: 9px;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(18,26,34,.055);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    min-width: 0;
}
.pc-room:hover,
.pc-room.active {
    transform: translateY(-1px);
    border-color: rgba(216,63,140,.58);
    box-shadow: 0 18px 38px rgba(216,63,140,.105);
}
.pc-room-top { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; min-width: 0; }
.pc-room-title { font-weight: 1000; line-height: 1.12; overflow-wrap: anywhere; }
.pc-room small { color: var(--s07-muted); font-weight: 850; }
.pc-room-actions { display: flex; gap: 5px; flex: 0 0 auto; }
.pc-mini-btn {
    border: 1px solid rgba(18,26,34,.11);
    background: #fff;
    border-radius: 999px;
    padding: 5px 9px;
    cursor: pointer;
    font-weight: 950;
    color: #29443a;
}
.pc-mini-btn:hover { background: var(--s07-primary-soft); }
.pc-mini-btn:focus-visible { outline: none; box-shadow: var(--s07-focus); }
.pc-badges { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.pc-badge {
    max-width: 100%;
    border-radius: 999px;
    padding: 5px 8px;
    background: var(--s07-primary-soft);
    color: #1f6f58;
    font-size: 11px;
    font-weight: 950;
    line-height: 1.1;
    overflow-wrap: anywhere;
}
.pc-badge.warn { background: var(--s07-warning-soft); color: #9a5b00; }
.pc-badge.hot { background: var(--s07-accent-soft); color: #b42370; }
.pc-badge.dark { background: var(--s07-info-soft); color: var(--s07-info); }

.pc-tools { display: grid; gap: 12px; align-content: start; min-width: 0; }
.pc-tools-box {
    border: 1px solid rgba(18,26,34,.10);
    border-radius: 26px;
    background: #fff;
    padding: 16px;
    display: grid;
    gap: 12px;
    box-shadow: 0 8px 20px rgba(18,26,34,.035);
}
.pc-tools-box h3 { margin: 0; color: var(--s07-text); font-size: 17px; line-height: 1.15; letter-spacing: -.025em; }
.pc-tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pc-tool,
.pc-chip {
    min-height: 44px;
    border: 1px solid rgba(18,26,34,.115);
    border-radius: 16px;
    background: #fff;
    padding: 10px 11px;
    text-align: left;
    cursor: pointer;
    color: #284239;
    font-weight: 920;
    line-height: 1.15;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
    overflow-wrap: anywhere;
}
.pc-tool:hover,
.pc-chip:hover {
    transform: translateY(-1px);
    border-color: rgba(31,138,112,.36);
    box-shadow: 0 10px 22px rgba(18,26,34,.06);
}
.pc-tool:focus-visible,
.pc-chip:focus-visible { outline: none; box-shadow: var(--s07-focus); }
.pc-tool.active,
.pc-chip.active { background: var(--s07-primary-soft); border-color: rgba(31,138,112,.42); color: #155d49; }

.pc-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.pc-field { display: grid; gap: 8px; min-width: 0; color: #243b34; font-weight: 900; }
.pc-field span { color: #44564f; font-size: 13px; line-height: 1.2; overflow-wrap: anywhere; }
.price-planner-final input:not([type=checkbox]),
.price-planner-final select,
.price-planner-final textarea,
.s07-admin-planner input:not([type=checkbox]),
.s07-admin-planner select,
.s07-admin-planner textarea,
.admin-tablet-planner input:not([type=checkbox]),
.admin-tablet-planner select,
.admin-tablet-planner textarea {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(18,26,34,.13);
    border-radius: 18px;
    background: #fff;
    color: var(--s07-text);
    padding: 13px 14px;
    font: inherit;
    outline: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.price-planner-final textarea,
.s07-admin-planner textarea,
.admin-tablet-planner textarea { resize: vertical; min-height: 112px; }
.price-planner-final input:focus,
.price-planner-final select:focus,
.price-planner-final textarea:focus,
.s07-admin-planner input:focus,
.s07-admin-planner select:focus,
.s07-admin-planner textarea:focus,
.admin-tablet-planner input:focus,
.admin-tablet-planner select:focus,
.admin-tablet-planner textarea:focus {
    border-color: var(--s07-primary-2);
    box-shadow: var(--s07-focus);
}

.pc-side {
    position: sticky;
    top: 106px;
    display: grid;
    gap: 16px;
}
.pc-side-price {
    color: var(--s07-text);
    font-size: clamp(38px, 4vw, 44px);
    line-height: .96;
    font-weight: 1000;
    letter-spacing: -.055em;
}
.pc-lines { display: grid; gap: 0; }
.pc-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(18,26,34,.085);
    padding: 10px 0;
}
.pc-line span { color: var(--s07-muted); }
.pc-line strong { color: var(--s07-text); text-align: right; }
.pc-warning { display: grid; gap: 8px; }
.pc-warning div {
    border: 1px solid #f4d276;
    border-radius: 17px;
    background: var(--s07-warning-soft);
    color: #8a5100;
    padding: 11px 13px;
    font-weight: 830;
}
.pc-warning div.high { border-color: #f6c2bd; background: var(--s07-danger-soft); color: var(--s07-danger); }
.pc-summary {
    border: 1px solid rgba(31,138,112,.14);
    border-radius: 22px;
    background: var(--s07-surface-soft);
    padding: 14px;
    color: #42564d;
    line-height: 1.5;
}
.pc-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.pc-btn {
    min-height: 50px;
    border: 0;
    border-radius: 999px;
    padding: 14px 19px;
    background: linear-gradient(135deg, var(--s07-primary), var(--s07-primary-2));
    color: #fff;
    font-weight: 1000;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 14px 30px rgba(21,95,80,.22);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.pc-btn:hover { transform: translateY(-1px); filter: brightness(1.02); box-shadow: 0 18px 38px rgba(21,95,80,.24); }
.pc-btn:focus-visible { outline: none; box-shadow: var(--s07-focus), 0 14px 30px rgba(21,95,80,.22); }
.pc-btn.secondary { background: #f2c14e; color: #172821; box-shadow: 0 14px 30px rgba(183,121,31,.18); }

.pc-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pc-full { grid-column: 1 / -1; }
.pc-check { display: flex; gap: 10px; align-items: flex-start; color: #34443f; font-weight: 800; line-height: 1.45; }
.pc-check input { margin-top: 4px; accent-color: var(--s07-primary-2); }
.hp-field { position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.pc-success {
    border: 1px solid #b7ebc6;
    border-radius: 20px;
    background: #ecfdf5;
    color: #065f46;
    padding: 14px 16px;
    font-weight: 900;
}
.pc-mobile-note { display: none; }

/* Gemeinsame Basis für spätere Admin-Tablet-Version */
.s07-admin-planner,
.admin-tablet-planner {
    min-height: 100%;
    background:
        radial-gradient(circle at 90% 8%, rgba(216,63,140,.10), transparent 24%),
        linear-gradient(180deg, #fff, var(--s07-bg));
    padding: clamp(14px, 2vw, 26px);
}
.s07-admin-shell {
    width: min(1280px, 100%);
    margin-inline: auto;
    display: grid;
    gap: 18px;
}
.s07-admin-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--s07-line);
    border-radius: var(--s07-radius-xl);
    background: rgba(255,255,255,.94);
    box-shadow: var(--s07-shadow-1);
}
.s07-admin-title { margin: 0; font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.055em; }
.s07-admin-subtitle { margin: 6px 0 0; color: var(--s07-muted); }
.s07-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 18px; align-items: start; }

@media (max-width: 1120px) {
    .pc-hero-grid,
    .pc-grid,
    .pc-object-card,
    .s07-admin-grid { grid-template-columns: 1fr; }
    .pc-side { position: static; }
    .pc-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-workspace { min-height: 360px; }
}

@media (max-width: 780px) {
    .pc-wrap { width: min(100% - 22px, 1240px); }
    .pc-hero { padding: 42px 0 24px; }
    .pc-title { font-size: clamp(38px, 11vw, 46px); }
    .pc-modebar { width: 100%; display: grid; grid-template-columns: 1fr; border-radius: 26px; }
    .pc-mode { width: 100%; justify-content: flex-start; }
    .pc-template-grid,
    .pc-fields,
    .pc-contact-grid,
    .pc-workspace,
    .pc-tool-grid { grid-template-columns: 1fr; }
    .pc-card,
    .pc-side,
    .pc-live-top { border-radius: 24px; padding: 18px; }
    .pc-workspace { min-height: auto; }
    .pc-room { min-height: 126px; }
    .pc-actions { display: grid; }
    .pc-btn { width: 100%; }
    .pc-mobile-note { display: block; color: var(--s07-muted); font-size: 13px; }
}

@media (max-width: 420px) {
    .pc-card-head,
    .pc-kicker,
    .s07-admin-topbar { align-items: stretch; flex-direction: column; }
    .pc-num { width: 40px; height: 40px; }
    .pc-price,
    .pc-side-price { font-size: 36px; }
}


/* === SCHMIDT SESSION 7 PART 3: PUBLIC PRICE CALCULATOR LAYOUT === */
.price-planner-s07{--pc7-ink:#101827;--pc7-muted:#667085;--pc7-line:rgba(16,24,40,.12);--pc7-soft:#f5f8f6;--pc7-card:#fff;--pc7-brand:#12382f;--pc7-brand2:#1f7a5f;--pc7-pink:#e93e8f;--pc7-warn:#f59e0b;--pc7-good:#16a34a;--pc7-shadow:0 24px 70px rgba(16,24,40,.1);background:linear-gradient(180deg,#fff 0%,#f6faf8 50%,#eef6f2 100%);color:var(--pc7-ink);min-height:100vh;font-family:inherit}
.price-planner-s07 *{box-sizing:border-box}.pc7-wrap{width:min(1240px,calc(100% - 34px));margin-inline:auto}.pc7-hero{padding:58px 0 30px;background:radial-gradient(circle at 86% 12%,rgba(233,62,143,.16),transparent 30%),radial-gradient(circle at 8% 8%,rgba(31,122,95,.16),transparent 32%),linear-gradient(135deg,#fff,#eff8f4)}.pc7-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:stretch}.pc7-hero-copy{display:grid;align-content:center}.pc7-eyebrow,.pc7-step-label{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:8px;border:1px solid rgba(31,122,95,.16);background:#fff;color:var(--pc7-brand2);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.pc7-hero h1{margin:18px 0 14px;max-width:850px;font-size:clamp(38px,5.4vw,72px);line-height:.94;letter-spacing:-.06em}.pc7-hero p{margin:0;max-width:760px;color:#52625c;font-size:18px;line-height:1.62}.pc7-mode-switch{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(560px,100%);padding:8px;border:1px solid rgba(31,122,95,.14);background:rgba(255,255,255,.86);border-radius:28px;box-shadow:0 12px 32px rgba(16,24,40,.06)}.pc7-mode-switch button{border:0;background:transparent;border-radius:22px;padding:14px 16px;text-align:left;cursor:pointer;color:#244039}.pc7-mode-switch span{display:block;font-size:16px;font-weight:1000}.pc7-mode-switch small{display:block;margin-top:3px;font-size:12px;font-weight:800;color:#667085}.pc7-mode-switch button.is-active{background:var(--pc7-brand);color:#fff;box-shadow:0 14px 30px rgba(16,24,40,.18)}.pc7-mode-switch button.is-active small{color:rgba(255,255,255,.78)}.pc7-hero-price{border:1px solid rgba(31,122,95,.15);background:rgba(255,255,255,.94);border-radius:34px;padding:26px;box-shadow:var(--pc7-shadow);display:grid;gap:12px;align-content:center}.pc7-hero-price span,.pc7-summary-main span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;color:var(--pc7-brand2)}.pc7-hero-price strong,.pc7-summary-main strong{display:block;font-size:clamp(38px,4.8vw,58px);line-height:1;font-weight:1000;letter-spacing:-.055em}.pc7-hero-price small,.pc7-summary-main small{color:#52625c;font-weight:850}.pc7-progress{height:12px;background:#e3eee8;border-radius:999px;overflow:hidden}.pc7-progress i{display:block;height:100%;width:34%;border-radius:inherit;background:linear-gradient(90deg,var(--pc7-brand2),#62d2a7);transition:.2s}
.pc7-main{padding:34px 0 88px}.pc7-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.pc7-form{display:grid;gap:18px}.pc7-steps{position:sticky;top:82px;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border:1px solid var(--pc7-line);background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-radius:24px;box-shadow:0 14px 38px rgba(16,24,40,.07)}.pc7-steps a{text-decoration:none;color:#263f37;border-radius:18px;padding:11px 12px;display:flex;align-items:center;gap:8px;font-weight:950}.pc7-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:11px;background:#eef8f3;color:var(--pc7-brand2)}.pc7-steps span{white-space:nowrap}.pc7-card,.pc7-summary-card,.pc7-success{border:1px solid var(--pc7-line);background:rgba(255,255,255,.97);border-radius:32px;box-shadow:0 18px 58px rgba(16,24,40,.065);padding:24px}.pc7-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.pc7-card-head-row{align-items:center}.pc7-card h2,.pc7-summary-card h3,.pc7-panel h3{margin:10px 0 0;font-size:24px;line-height:1.1;letter-spacing:-.035em}.pc7-card p{margin:8px 0 0;color:var(--pc7-muted);line-height:1.55}.pc7-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pc7-template{border:1px solid #dce8df;background:#fff;border-radius:23px;padding:16px;min-height:126px;text-align:left;cursor:pointer;display:grid;align-content:start;gap:8px;box-shadow:0 10px 24px rgba(16,24,40,.045);transition:.16s}.pc7-template strong{font-size:16px;line-height:1.2;color:#203a32}.pc7-template span{font-size:13px;color:var(--pc7-muted);line-height:1.36}.pc7-template:hover,.pc7-template.is-active{border-color:rgba(31,122,95,.42);background:#f1fbf6;box-shadow:0 16px 34px rgba(31,122,95,.13);transform:translateY(-1px)}.pc7-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pc7-room{border:1px solid #dce8df;background:linear-gradient(180deg,#fff,#fbfffd);border-radius:24px;padding:16px;display:grid;gap:12px;cursor:pointer;transition:.16s}.pc7-room.is-active,.pc7-room:hover{border-color:rgba(233,62,143,.55);box-shadow:0 16px 34px rgba(233,62,143,.11)}.pc7-room strong{display:block;font-size:17px;line-height:1.2}.pc7-room small{display:block;margin-top:3px;color:var(--pc7-muted);font-weight:850}.pc7-room-badges{display:flex;gap:6px;flex-wrap:wrap;min-height:28px}.pc7-room-badges span{display:inline-flex;background:#eef8f3;color:#1f6f58;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950}.pc7-room-actions{display:flex;gap:8px}.pc7-room-actions button{border:1px solid #dce8df;background:#fff;border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer;color:#29443a}.pc7-work-grid{display:grid;grid-template-columns:240px minmax(0,1fr) minmax(0,1fr);gap:14px}.pc7-selected-room,.pc7-panel{border:1px solid #e3ebe5;border-radius:26px;background:#fbfffd;padding:16px}.pc7-selected-room{display:grid;align-content:center;gap:6px}.pc7-selected-room small{font-size:12px;font-weight:1000;color:var(--pc7-brand2);text-transform:uppercase;letter-spacing:.1em}.pc7-selected-room strong{font-size:22px;letter-spacing:-.03em}.pc7-selected-room span{color:var(--pc7-muted);font-weight:850}.pc7-panel h3{font-size:17px;margin:0 0 12px}.pc7-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pc7-chip{border:1px solid #dbe7df;background:#fff;border-radius:16px;padding:11px 12px;min-height:46px;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;font-weight:950;color:#284239;cursor:pointer}.pc7-chip b{min-width:24px;height:24px;border-radius:999px;background:#eef8f3;display:grid;place-items:center;color:var(--pc7-brand2);font-size:12px}.pc7-chip:hover,.pc7-chip.is-active{border-color:rgba(31,122,95,.42);background:#f1fbf6;color:#155d49}.pc7-fields,.pc7-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.pc7-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.pc7-fields label,.pc7-contact-grid label{display:grid;gap:8px;font-weight:900;color:#243b34}.pc7-fields span,.pc7-contact-grid span{font-size:13px;color:#44564f}.price-planner-s07 input:not([type=checkbox]),.price-planner-s07 select,.price-planner-s07 textarea{width:100%;border:1px solid #dce8df;border-radius:18px;background:#fff;padding:14px 15px;font:inherit;outline:0;color:#182822}.price-planner-s07 textarea{resize:vertical}.price-planner-s07 input:focus,.price-planner-s07 select:focus,.price-planner-s07 textarea:focus{border-color:var(--pc7-brand2);box-shadow:0 0 0 4px rgba(31,122,95,.12)}.pc7-span-all{grid-column:1/-1}.pc7-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px;line-height:1.45}.pc7-check input{margin-top:4px;accent-color:var(--pc7-brand2)}.pc7-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.pc7-btn{border:0;border-radius:999px;padding:15px 20px;background:var(--pc7-brand2);color:#fff;font-weight:1000;cursor:pointer;box-shadow:0 15px 34px rgba(31,122,95,.22);text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.pc7-btn-soft{background:#fff;color:var(--pc7-brand);border:1px solid #dce8df;box-shadow:none}.pc7-hp{position:absolute!important;left:-9999px!important;opacity:0!important}.pc7-success{border-color:#bbf7d0;background:#ecfdf5;color:#065f46;display:grid;gap:5px}.pc7-success strong{font-size:18px}.pc7-summary{position:sticky;top:98px;display:grid;gap:14px}.pc7-summary-main{display:grid;gap:9px}.pc7-summary-card h3{font-size:18px;margin:0 0 10px}.pc7-summary-card p{margin:0;color:#455851;line-height:1.5;font-weight:750}.pc7-lines{display:grid}.pc7-lines div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e7efe9;padding:10px 0}.pc7-lines div:last-child{border-bottom:0}.pc7-lines span{color:var(--pc7-muted)}.pc7-lines strong{text-align:right}.pc7-warnings{display:grid;gap:8px}.pc7-warnings div{border:1px solid #dce8df;background:#f8fcfa;border-radius:17px;padding:11px 13px;display:grid;gap:3px}.pc7-warnings div.is-high{border-color:#fecaca;background:#fef2f2;color:#991b1b}.pc7-warnings strong{font-size:14px}.pc7-warnings span{font-size:13px;color:inherit;opacity:.82}
@media(max-width:1120px){.pc7-hero-grid,.pc7-layout{grid-template-columns:1fr}.pc7-summary{position:static;order:-1}.pc7-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pc7-work-grid{grid-template-columns:1fr}.pc7-steps{position:static}.pc7-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pc7-summary-main{grid-column:1/-1}}
@media(max-width:720px){.pc7-wrap{width:min(100% - 22px,1240px)}.pc7-hero{padding:42px 0 24px}.pc7-hero h1{font-size:42px}.pc7-hero p{font-size:16px}.pc7-mode-switch,.pc7-steps,.pc7-template-grid,.pc7-room-grid,.pc7-fields,.pc7-contact-grid,.pc7-summary{grid-template-columns:1fr}.pc7-card,.pc7-summary-card,.pc7-hero-price,.pc7-success{border-radius:24px;padding:18px}.pc7-card-head,.pc7-card-head-row{display:grid}.pc7-steps a{justify-content:flex-start}.pc7-actions{display:grid}.pc7-btn{width:100%}.pc7-chip-grid{grid-template-columns:1fr}}
/* === /SCHMIDT SESSION 7 PART 3 === */

/* === SCHMIDT SESSION 7 PART 4: TEMPLATE CARD SYSTEM === */
.price-planner-s07 .pc7-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.price-planner-s07 .pc7-template{position:relative;overflow:hidden;min-height:232px;padding:18px;border-radius:28px;align-content:stretch;grid-template-rows:auto auto 1fr auto auto;gap:12px}.price-planner-s07 .pc7-template:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--pc7-brand2),rgba(233,62,143,.78));opacity:.18}.price-planner-s07 .pc7-template.is-active:before,.price-planner-s07 .pc7-template:hover:before{opacity:1}.pc7-template-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.pc7-template-top small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pc7-brand2);font-size:11px;font-weight:1000;letter-spacing:.105em;text-transform:uppercase}.pc7-template-top em{font-style:normal;border:1px solid rgba(31,122,95,.16);background:#eef8f3;color:#17624e;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:1000;white-space:nowrap}.price-planner-s07 .pc7-template strong{font-size:20px;letter-spacing:-.035em;line-height:1.05}.price-planner-s07 .pc7-template p{margin:0;color:#596b64;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pc7-template-tags{display:flex;flex-wrap:wrap;gap:6px;align-self:end}.pc7-template-tags span{display:inline-flex;max-width:100%;border-radius:999px;background:#f4f7f5;color:#40534c;padding:6px 8px;font-size:11px;font-weight:950;line-height:1;white-space:nowrap}.pc7-template-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e7efe9;padding-top:12px}.pc7-template-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085;font-size:12px;font-weight:900}.pc7-template-meta b{white-space:nowrap;color:var(--pc7-brand);font-size:13px;font-weight:1000}.price-planner-s07 .pc7-template.is-active{background:linear-gradient(180deg,#f2fff8,#ffffff);outline:3px solid rgba(31,122,95,.10)}.price-planner-s07 .pc7-room{min-height:158px;grid-template-rows:auto 1fr auto}.pc7-room-main{min-width:0}.pc7-room-main strong,.pc7-room-main small{overflow:hidden;text-overflow:ellipsis}.pc7-room-main strong{white-space:nowrap}.pc7-room-main small{white-space:normal}.price-planner-s07 .pc7-room-badges span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-planner-s07 .pc7-chip{line-height:1.15}.price-planner-s07 .pc7-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis}.price-planner-s07 .pc7-card-head p{max-width:780px}.price-planner-s07 .pc7-template:hover,.price-planner-s07 .pc7-template:focus-visible{transform:translateY(-2px)}
@media(max-width:1120px){.price-planner-s07 .pc7-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-planner-s07 .pc7-template{min-height:215px}}
@media(max-width:720px){.price-planner-s07 .pc7-template-grid{grid-template-columns:1fr}.price-planner-s07 .pc7-template{min-height:auto}.pc7-template-meta{display:grid;gap:5px}.pc7-template-meta span{white-space:normal}.pc7-template-top{align-items:flex-start}.pc7-template-top small{white-space:normal}.price-planner-s07 .pc7-room-main strong{white-space:normal}}
/* === /SCHMIDT SESSION 7 PART 4 === */

/* === SCHMIDT SESSION 7 PART 5: OBJECT PLANNER TABLET === */
.price-planner-s07 .pc7-object-card{overflow:hidden}.price-planner-s07 .pc7-room-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pc7-room-toolbar>span{display:inline-flex;align-items:center;min-height:42px;border:1px solid #dbe7df;background:#f8fcfa;color:#203a32;border-radius:999px;padding:0 13px;font-size:12px;font-weight:1000;white-space:nowrap}.pc7-object-planner{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.pc7-object-main{min-width:0}.pc7-object-side{display:grid;gap:12px;position:sticky;top:154px}.pc7-mini-panel{border:1px solid #dfeae3;background:#fbfffd;border-radius:28px;padding:16px;box-shadow:0 12px 30px rgba(16,24,40,.045)}.pc7-mini-panel-soft{background:linear-gradient(180deg,#fff,#f6fbf8)}.pc7-mini-panel small{display:block;color:var(--pc7-brand2);font-size:11px;font-weight:1000;letter-spacing:.11em;text-transform:uppercase}.pc7-mini-panel h3{margin:7px 0 13px;font-size:18px;line-height:1.12;letter-spacing:-.03em}.pc7-preset-grid{display:grid;grid-template-columns:1fr;gap:8px}.pc7-preset-grid button{border:1px solid #dce8df;background:#fff;border-radius:18px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:#213b33;cursor:pointer;font:inherit;box-shadow:0 8px 18px rgba(16,24,40,.035)}.pc7-preset-grid button:hover{border-color:rgba(31,122,95,.42);background:#f1fbf6;transform:translateY(-1px)}.pc7-preset-grid span{font-weight:1000;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc7-preset-grid b{font-size:12px;color:var(--pc7-brand2);white-space:nowrap}.pc7-planner-summary{display:grid;gap:9px}.pc7-planner-summary div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6eee8;padding-bottom:9px}.pc7-planner-summary div:last-of-type{border-bottom:0}.pc7-planner-summary span{color:#667085;font-size:13px;font-weight:900}.pc7-planner-summary strong{font-size:15px;color:#203a32}.pc7-planner-summary p{margin:4px 0 0;border-radius:18px;background:#eef8f3;color:#1d5f4b;padding:11px 12px;font-size:13px;font-weight:900;line-height:1.35}.price-planner-s07 .pc7-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.price-planner-s07 .pc7-room{position:relative;min-height:188px;border-radius:28px;padding:16px;background:linear-gradient(180deg,#fff,#fbfffd);overflow:hidden}.price-planner-s07 .pc7-room:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,rgba(31,122,95,.0),rgba(31,122,95,.0));transition:.16s}.price-planner-s07 .pc7-room.is-active:before{background:linear-gradient(90deg,var(--pc7-brand2),rgba(233,62,143,.78))}.pc7-room-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pc7-room-top i{display:grid;place-items:center;width:34px;height:34px;border-radius:14px;background:#eef8f3;color:var(--pc7-brand2);font-style:normal;font-weight:1000}.pc7-room-top b{display:inline-flex;border:1px solid #dce8df;background:#fff;color:#667085;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:1000;white-space:nowrap}.pc7-room.is-active .pc7-room-top b{background:#fce7f3;border-color:#f9a8d4;color:#9d174d}.pc7-room-main strong{font-size:19px;letter-spacing:-.035em}.pc7-room-main small{font-size:13px}.price-planner-s07 .pc7-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.price-planner-s07 .pc7-room-actions button{min-height:38px}.price-planner-s07 .pc7-room-actions button[data-act=remove]{grid-column:1/-1;color:#9d174d;background:#fff7fb;border-color:#fbcfe8}.pc7-empty-room{border:1px dashed #cbded2;background:#fbfffd;border-radius:24px;padding:20px;display:grid;gap:5px;color:#455851}.pc7-active-layout{display:grid;grid-template-columns:260px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.pc7-selected-room-large{min-height:100%;background:linear-gradient(180deg,#effbf5,#fff)}.pc7-selected-room-large p{margin:6px 0 0;color:#52625c;line-height:1.45;font-size:13px;font-weight:800}.pc7-panel-primary{background:#fff}.pc7-panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.pc7-panel-title-row h3{margin:0}.pc7-panel-title-row small{color:#667085;font-size:12px;font-weight:1000;white-space:nowrap}.pc7-marker-chip b{background:#eef8f3}.pc7-marker-chip.is-active b{background:var(--pc7-brand2);color:#fff}.pc7-inventory-chip b{background:#fce7f3;color:#9d174d}.pc7-inventory-chip.is-active b{background:#db2777;color:#fff}.price-planner-s07 .pc7-fields-compact{border:1px solid #e3ebe5;background:#fbfffd;border-radius:28px;padding:16px;margin-top:16px}.price-planner-s07 .pc7-fields-compact label{min-width:0}.price-planner-s07 .pc7-fields-compact input,.price-planner-s07 .pc7-fields-compact select{min-height:50px}.price-planner-s07 .pc7-chip{min-height:52px;border-radius:18px}.price-planner-s07 .pc7-chip b{font-weight:1000}
@media(max-width:1120px){.pc7-object-planner{grid-template-columns:1fr}.pc7-object-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.pc7-active-layout{grid-template-columns:1fr}.price-planner-s07 .pc7-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.price-planner-s07 .pc7-room-toolbar{justify-content:stretch}.price-planner-s07 .pc7-room-toolbar>span,.price-planner-s07 .pc7-room-toolbar .pc7-btn{flex:1 1 auto}.pc7-object-side{grid-template-columns:1fr}.price-planner-s07 .pc7-room-grid{grid-template-columns:1fr}.price-planner-s07 .pc7-room{min-height:auto}.pc7-active-layout{gap:10px}.pc7-panel-title-row{display:grid}.price-planner-s07 .pc7-fields-compact{grid-template-columns:1fr;padding:12px}.price-planner-s07 .pc7-room-actions{grid-template-columns:1fr 1fr}}
/* === /SCHMIDT SESSION 7 PART 5 === */


/* SESSION 7 PART 6 LIVE PRICEBOX -------------------------------------------------- */
.pc7-live-state,
.pc7-quote-status{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:7px;
    border-radius:999px;
    padding:7px 10px;
    font-size:11px;
    line-height:1.1;
    font-weight:1000;
    letter-spacing:.08em;
    text-transform:uppercase;
    border:1px solid #dce8df;
    background:#f8fcfa;
    color:#31584d;
    font-style:normal;
}
.pc7-live-state::before,
.pc7-quote-status::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:currentColor;
    box-shadow:0 0 0 4px rgba(31,122,95,.10);
}
.pc7-live-state.is-loading,
.pc7-quote-status.is-loading{
    color:#8a5b10;
    background:#fff8e6;
    border-color:#fde68a;
}
.pc7-live-state.is-ok,
.pc7-quote-status.is-ok{
    color:#166534;
    background:#ecfdf5;
    border-color:#bbf7d0;
}
.pc7-live-state.is-fallback,
.pc7-quote-status.is-fallback{
    color:#9a3412;
    background:#fff7ed;
    border-color:#fed7aa;
}
.pc7-live-state.is-error,
.pc7-quote-status.is-error{
    color:#991b1b;
    background:#fef2f2;
    border-color:#fecaca;
}
.pc7-summary.is-live-loading .pc7-summary-main{
    position:relative;
    overflow:hidden;
}
.pc7-summary.is-live-loading .pc7-summary-main::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    background:linear-gradient(90deg,transparent,#f2c14e,transparent);
    animation:pc7-live-loading 1.05s linear infinite;
}
@keyframes pc7-live-loading{
    from{transform:translateX(-100%)}
    to{transform:translateX(100%)}
}
.pc7-lines div.is-price-total{
    margin:-2px 0 4px;
    padding:12px 0;
    border-bottom-color:rgba(31,122,95,.22);
}
.pc7-lines div.is-price-total span,
.pc7-lines div.is-price-total strong{
    color:#155d49;
    font-size:16px;
    font-weight:1000;
}
.pc7-warnings div.is-medium{
    border-color:#fed7aa;
    background:#fff7ed;
    color:#9a3412;
}
@media(max-width:720px){
    .pc7-live-state,.pc7-quote-status{width:100%;justify-content:center;text-align:center;white-space:normal;line-height:1.25}
}

/* SESSION 7 PART 7 · Anfrage gespeichert / Abschlusskarte */
.price-planner-s07 .pc7-contact-intro{
    margin:0 0 16px;
    border:1px solid #dce8df;
    background:linear-gradient(180deg,#ffffff,#f6fbf8);
    border-radius:24px;
    padding:15px 16px;
    display:grid;
    gap:4px;
}
.price-planner-s07 .pc7-contact-intro strong{
    color:#203a32;
    font-size:17px;
    line-height:1.15;
    letter-spacing:-.02em;
}
.price-planner-s07 .pc7-contact-intro span{
    color:#667085;
    line-height:1.45;
    font-weight:800;
}
.price-planner-s07 .pc7-success-pro{
    border-color:rgba(31,122,95,.22);
    background:
        radial-gradient(circle at 92% 12%,rgba(233,62,143,.13),transparent 28%),
        linear-gradient(180deg,#ffffff,#f3fbf7);
    color:#0f2d26;
    box-shadow:0 24px 70px rgba(16,24,40,.095);
    overflow:hidden;
}
.price-planner-s07 .pc7-success-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:18px;
}
.price-planner-s07 .pc7-success-head h2{
    margin:8px 0 6px;
    font-size:clamp(26px,3vw,38px);
    line-height:1;
    letter-spacing:-.055em;
}
.price-planner-s07 .pc7-success-head p{
    margin:0;
    max-width:760px;
    color:#52625c;
    font-weight:850;
    line-height:1.5;
}
.price-planner-s07 .pc7-success-eyebrow{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    border:1px solid rgba(31,122,95,.16);
    background:#fff;
    color:var(--pc7-brand2);
    border-radius:999px;
    padding:8px 12px;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.price-planner-s07 .pc7-success-badge{
    flex:0 0 auto;
    border-radius:999px;
    padding:10px 13px;
    font-size:12px;
    font-weight:1000;
    white-space:nowrap;
    border:1px solid #bbf7d0;
    background:#ecfdf5;
    color:#047857;
}
.price-planner-s07 .pc7-success-badge.is-review{
    border-color:#fde68a;
    background:#fffbeb;
    color:#92400e;
}
.price-planner-s07 .pc7-success-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.price-planner-s07 .pc7-success-grid article{
    border:1px solid #dce8df;
    background:rgba(255,255,255,.88);
    border-radius:22px;
    padding:14px;
    min-width:0;
    display:grid;
    gap:5px;
}
.price-planner-s07 .pc7-success-grid span{
    color:#667085;
    font-size:12px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.price-planner-s07 .pc7-success-grid strong{
    color:#122d26;
    font-size:clamp(18px,2vw,24px);
    line-height:1.05;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
}
.price-planner-s07 .pc7-success-next{
    margin-top:14px;
    border:1px solid #dce8df;
    background:#ffffff;
    border-radius:24px;
    padding:16px;
}
.price-planner-s07 .pc7-success-next h3{
    margin:0 0 10px;
    font-size:17px;
    letter-spacing:-.025em;
}
.price-planner-s07 .pc7-success-next ul{
    margin:0;
    padding-left:18px;
    color:#455851;
    font-weight:850;
    line-height:1.55;
}
.price-planner-s07 .pc7-success-next li+li{margin-top:4px}
@media(max-width:720px){
    .price-planner-s07 .pc7-success-head{display:grid}
    .price-planner-s07 .pc7-success-grid{grid-template-columns:1fr}
    .price-planner-s07 .pc7-success-badge{width:max-content;max-width:100%;white-space:normal}
}



/* SESSION 7 PART 10 RESCUE FINAL POLISH */
.pc7-shell, .pc7-form, .pc7-card, .pc7-template-card, .pc7-room-card, .pc7-quote-card,
.price-planner-final, .s6m-wrap, .s6c-wrap, .s7-admin-tablet, .s7-tablet-shell {
    text-wrap: pretty;
}
.pc7-card, .pc7-template-card, .pc7-room-card, .pc7-quote-card,
.pc-template, .pc-room, .pc-card, .pc-side,
.s6m-box, .s6m-item, .s6c-box, .s6c-template, .s6c-zone,
.s7-tablet-card, .s7-tablet-template, .s7-tablet-summary-card {
    overflow-wrap: anywhere;
    word-break: normal;
}
.pc7-template-card strong, .pc7-room-card strong, .pc-template strong, .pc-room-title,
.s6m-item strong, .s6c-template strong, .s7-tablet-template strong {
    line-height: 1.12;
}
@media (max-width: 720px) {
    .pc7-template-card, .pc7-room-card, .pc-template, .pc-room, .s6m-item, .s6c-template, .s6c-zone {
        min-height: auto;
    }
}


/* SESSION 7 UX-FIX WIZARD: kompakter Kopf, echte Schritte, direkte m²-Eingabe */
.price-planner-s07 .pc7-hero{padding:20px 0 12px!important;background:linear-gradient(180deg,#f8fcfa 0%,#ffffff 100%)!important;min-height:0!important}
.price-planner-s07 .pc7-hero-grid{grid-template-columns:1fr!important;gap:10px!important;align-items:center!important}
.price-planner-s07 .pc7-hero-copy{display:grid!important;gap:10px!important;max-width:1120px!important}
.price-planner-s07 .pc7-hero-copy h1{font-size:clamp(26px,3vw,42px)!important;line-height:.98!important;margin:0!important;max-width:980px!important}
.price-planner-s07 .pc7-hero-copy p{display:none!important}
.price-planner-s07 .pc7-eyebrow{font-size:11px!important;margin:0!important}
.price-planner-s07 .pc7-mode-switch{margin-top:0!important;max-width:640px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.price-planner-s07 .pc7-mode-switch button{min-height:56px!important;padding:10px 12px!important;border-radius:18px!important}
.price-planner-s07 .pc7-mode-switch small{font-size:11px!important;line-height:1.15!important}
.price-planner-s07 .pc7-hero-price{display:none!important}
.price-planner-s07 .pc7-live-state,.price-planner-s07 .pc7-quote-status{display:none!important}
.price-planner-s07 .pc7-main{padding-top:12px!important}
.price-planner-s07 .pc7-layout{align-items:start!important}
.price-planner-s07.is-wizard-ready #pc7-step-1,
.price-planner-s07.is-wizard-ready #pc7-step-2,
.price-planner-s07.is-wizard-ready #pc7-step-3,
.price-planner-s07.is-wizard-ready #pc7-step-4{display:none!important}
.price-planner-s07.is-wizard-ready #pc7-step-1.is-active-step,
.price-planner-s07.is-wizard-ready #pc7-step-2.is-active-step,
.price-planner-s07.is-wizard-ready #pc7-step-3.is-active-step,
.price-planner-s07.is-wizard-ready #pc7-step-4.is-active-step{display:block!important;animation:pc7StepIn .16s ease-out both}
@keyframes pc7StepIn{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
.price-planner-s07 .pc7-steps{position:sticky!important;top:10px!important;z-index:20!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px)!important;border-radius:24px!important;padding:8px!important;box-shadow:0 16px 36px rgba(16,24,40,.08)!important;margin-bottom:14px!important}
.price-planner-s07 .pc7-steps a{min-height:50px!important;border-radius:18px!important;cursor:pointer!important;opacity:.68!important}
.price-planner-s07 .pc7-steps a.is-active{opacity:1!important;background:#eef8f3!important;border-color:rgba(31,122,95,.34)!important;box-shadow:inset 0 0 0 1px rgba(31,122,95,.10)!important}
.price-planner-s07 .pc7-step-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e6eee8}
.price-planner-s07 .pc7-step-controls>span{min-width:1px}
.price-planner-s07 .pc7-card{scroll-margin-top:96px!important}
.price-planner-s07.is-cleaning-mode .pc7-active-layout{grid-template-columns:260px minmax(0,1fr)!important}
.price-planner-s07 .pc7-panel[hidden]{display:none!important}
.price-planner-s07 .pc7-room-main{display:grid!important;gap:8px!important;margin-top:12px!important}
.price-planner-s07 .pc7-room-area-edit{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;border:1px solid #dce8df!important;background:#f8fcfa!important;border-radius:16px!important;padding:7px 10px!important;max-width:160px!important;cursor:text!important}
.price-planner-s07 .pc7-room-area-edit input{width:84px!important;border:0!important;background:transparent!important;outline:0!important;font-weight:1000!important;font-size:21px!important;color:#1f3b33!important;text-align:right!important;padding:0!important;min-height:30px!important;box-shadow:none!important}
.price-planner-s07 .pc7-room-area-edit input:focus{background:#fff!important;border-radius:10px!important;box-shadow:0 0 0 3px rgba(31,122,95,.14)!important}
.price-planner-s07 .pc7-room-area-edit span{font-size:13px!important;font-weight:1000!important;color:#1f7a5f!important}
.price-planner-s07 .pc7-room-main small{color:#667085!important;font-size:12px!important;line-height:1.25!important}
.price-planner-s07 .pc7-summary{top:92px!important}
.price-planner-s07 .pc7-summary-card.pc7-summary-main{border-color:rgba(31,122,95,.22)!important;background:linear-gradient(180deg,#ffffff,#f7fcf9)!important}
@media(max-width:980px){.price-planner-s07 .pc7-hero{padding:16px 0 10px!important}.price-planner-s07 .pc7-steps{position:static!important}.price-planner-s07.is-cleaning-mode .pc7-active-layout{grid-template-columns:1fr!important}.price-planner-s07 .pc7-step-controls{position:sticky;bottom:10px;z-index:25;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid #e6eee8;border-radius:22px;padding:10px;box-shadow:0 16px 38px rgba(16,24,40,.13)}}
@media(max-width:640px){.price-planner-s07 .pc7-hero-copy h1{font-size:25px!important}.price-planner-s07 .pc7-mode-switch{grid-template-columns:1fr!important}.price-planner-s07 .pc7-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}.price-planner-s07 .pc7-step-controls{display:grid;grid-template-columns:1fr}.price-planner-s07 .pc7-step-controls>span{display:none}.price-planner-s07 .pc7-step-controls .pc7-btn{width:100%;justify-content:center}.price-planner-s07 .pc7-room-area-edit{max-width:100%!important}.price-planner-s07 .pc7-room-area-edit input{width:100%!important}}

/* SESSION 7 UXFIX 2 · echter Wizard, Raumauswahl Schritt 3, Anfrage-Zusammenfassung */
.price-planner-s07 .pc7-hero{padding:clamp(18px,3vw,34px) 0 12px;min-height:0}.price-planner-s07 .pc7-hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center}.price-planner-s07 .pc7-hero-copy h1{font-size:clamp(25px,3.2vw,42px);max-width:760px}.price-planner-s07 .pc7-hero-copy p{max-width:720px}.price-planner-s07 .pc7-hero-price{display:none!important}.price-planner-s07 .pc7-hero-mini{border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.78);border-radius:22px;padding:16px;box-shadow:0 14px 32px rgba(15,23,42,.07)}.price-planner-s07 .pc7-hero-mini span{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.price-planner-s07 .pc7-hero-mini strong{display:block;margin-top:10px;font-size:17px;color:#0f172a}.price-planner-s07 .pc7-hero-mini small{display:block;margin-top:6px;color:#64748b;line-height:1.45}.price-planner-s07 .pc7-live-state,#pc7HeroStatus{display:none!important}.price-planner-s07 .pc7-form.is-pc7-wizard-ready .pc7-card[id^="pc7-step-"]{display:none}.price-planner-s07 .pc7-form.is-pc7-wizard-ready .pc7-card[id^="pc7-step-"].is-pc7-step-active{display:block;animation:pc7StepIn .18s ease-out}.price-planner-s07 .pc7-steps a{cursor:pointer}.price-planner-s07 .pc7-steps a.is-active{background:#111827;color:#fff;border-color:#111827}.price-planner-s07 .pc7-steps a.is-done{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.price-planner-s07 .pc7-step-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid rgba(15,23,42,.08)}@keyframes pc7StepIn{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}
.price-planner-s07 .pc7-step3-room-picker{grid-column:1/-1}.price-planner-s07 .pc7-step3-room-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.price-planner-s07 .pc7-step3-room-list button{border:1px solid rgba(15,23,42,.1);background:#fff;border-radius:16px;padding:11px;text-align:left;cursor:pointer}.price-planner-s07 .pc7-step3-room-list button.is-active{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 4px rgba(99,102,241,.1)}.price-planner-s07 .pc7-step3-room-list strong{display:block;color:#0f172a;font-size:13px}.price-planner-s07 .pc7-step3-room-list span{display:block;color:#64748b;font-size:12px;margin-top:3px}.price-planner-s07 .pc7-step3-room-select{display:none;margin-top:10px}.price-planner-s07 .pc7-step3-room-select span{display:block;font-size:12px;font-weight:900;color:#334155;margin-bottom:6px}.price-planner-s07 .pc7-step3-room-select select{width:100%;border:1px solid #dbe3ef;border-radius:15px;padding:11px 12px;background:#fff;color:#0f172a}.price-planner-s07 .pc7-room-area-edit{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin:8px 0 4px;max-width:132px}.price-planner-s07 .pc7-room-area-edit span{font-size:11px;font-weight:950;color:#64748b}.price-planner-s07 .pc7-room-area-edit input{width:100%;border:1px solid #dbe3ef;border-radius:13px;padding:8px 9px;background:#fff;color:#0f172a;font-weight:900}.price-planner-s07 .pc7-room-area-edit input:focus{outline:0;border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}.price-planner-s07 .pc7-request-review{border:1px solid rgba(99,102,241,.18);background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);border-radius:22px;padding:16px;margin-bottom:16px}.price-planner-s07 .pc7-request-review-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.price-planner-s07 .pc7-request-review-head strong{display:block;font-size:18px;color:#0f172a}.price-planner-s07 .pc7-request-review-head span{display:block;font-size:13px;color:#64748b;margin-top:3px}.price-planner-s07 .pc7-request-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.price-planner-s07 .pc7-request-review-grid article{border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.82);border-radius:17px;padding:12px}.price-planner-s07 .pc7-request-review-grid small{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.price-planner-s07 .pc7-request-review-grid strong{display:block;color:#0f172a;font-size:16px;margin-top:4px}.price-planner-s07 .pc7-request-review-grid p{margin:5px 0 0;color:#64748b;font-size:12px;line-height:1.35}.price-planner-s07 .pc7-review-wide{grid-column:1/-1}.price-planner-s07 .pc7-review-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.price-planner-s07 .pc7-review-tags span,.price-planner-s07 .pc7-review-tags em{display:inline-flex;border-radius:999px;padding:6px 9px;background:#fff;color:#334155;border:1px solid rgba(15,23,42,.08);font-size:11px;font-weight:850}.price-planner-s07[data-price-planner-s07] .pc7-panel-title-row + #pc7Inventory:empty{display:none}.price-planner-s07 .pc7-panel:has(#pc7Inventory:empty){display:none}@media(max-width:900px){.price-planner-s07 .pc7-hero-grid{grid-template-columns:1fr}.price-planner-s07 .pc7-hero-mini{display:none}.price-planner-s07 .pc7-step3-room-list{grid-template-columns:repeat(2,minmax(0,1fr))}.price-planner-s07 .pc7-request-review-grid{grid-template-columns:1fr}}@media(max-width:620px){.price-planner-s07 .pc7-step3-room-list{display:none}.price-planner-s07 .pc7-step3-room-select{display:block}}


/* SESSION 7 STICKY PRICEBAR PATCH · dauerhafte Preisvorschau auf Desktop/Tablet/Handy */
.price-planner-s07[data-price-planner-s07]{padding-bottom:112px!important}
.price-planner-s07 .pc7-sticky-pricebar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;width:min(760px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(15,23,42,.14);background:rgba(17,24,39,.94);color:#fff;border-radius:24px;padding:12px 14px;box-shadow:0 24px 70px rgba(15,23,42,.32);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.price-planner-s07 .pc7-sticky-pricebar-main{display:grid;gap:2px;min-width:0}
.price-planner-s07 .pc7-sticky-pricebar span{font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#c7d2fe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-planner-s07 .pc7-sticky-pricebar strong{font-size:clamp(23px,4.2vw,36px);line-height:1;font-weight:1000;letter-spacing:-.05em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-planner-s07 .pc7-sticky-pricebar small{font-size:13px;color:#dbeafe;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-planner-s07 .pc7-sticky-pricebar-action{border:0;border-radius:17px;background:#c6ff00;color:#111827;font-weight:1000;padding:12px 15px;cursor:pointer;box-shadow:0 12px 24px rgba(198,255,0,.18)}
.price-planner-s07 .pc7-sticky-pricebar-action:focus-visible{outline:3px solid rgba(198,255,0,.55);outline-offset:3px}
@media(min-width:1180px){.price-planner-s07 .pc7-sticky-pricebar{left:auto;right:24px;transform:none;width:430px;bottom:22px}}
@media(max-width:680px){.price-planner-s07[data-price-planner-s07]{padding-bottom:132px!important}.price-planner-s07 .pc7-sticky-pricebar{grid-template-columns:1fr;border-radius:20px;padding:11px}.price-planner-s07 .pc7-sticky-pricebar-action{width:100%;padding:11px}.price-planner-s07 .pc7-sticky-pricebar small{font-size:12px}.price-planner-s07 .pc7-step-controls{bottom:104px!important}}


/* PRICEBAR_SYNC_FIX_20260524 · eine sichtbare, synchronisierte Preisleiste auf Desktop/Tablet/Handy */
.price-planner-s07[data-price-planner-s07]{padding-bottom:112px!important}
.price-planner-s07 .pc7-sticky-pricebar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;width:min(760px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(15,23,42,.14);background:rgba(17,24,39,.94);color:#fff;border-radius:24px;padding:12px 14px;box-shadow:0 24px 70px rgba(15,23,42,.32);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.price-planner-s07 .pc7-sticky-pricebar-main{display:grid;gap:2px;min-width:0}.price-planner-s07 .pc7-sticky-pricebar span{font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#c7d2fe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-planner-s07 .pc7-sticky-pricebar strong{font-size:clamp(23px,4.2vw,36px);line-height:1;font-weight:1000;letter-spacing:-.05em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-planner-s07 .pc7-sticky-pricebar small{font-size:13px;color:#dbeafe;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-planner-s07 .pc7-sticky-pricebar-action{border:0;border-radius:17px;background:#c6ff00;color:#111827;font-weight:1000;padding:12px 15px;cursor:pointer;box-shadow:0 12px 24px rgba(198,255,0,.18)}
@media(min-width:1180px){.price-planner-s07 .pc7-sticky-pricebar{left:auto;right:24px;transform:none;width:430px;bottom:22px}}
@media(max-width:680px){.price-planner-s07[data-price-planner-s07]{padding-bottom:132px!important}.price-planner-s07 .pc7-sticky-pricebar{grid-template-columns:1fr;border-radius:20px;padding:11px}.price-planner-s07 .pc7-sticky-pricebar-action{width:100%;padding:11px}.price-planner-s07 .pc7-sticky-pricebar small{font-size:12px}.price-planner-s07 .pc7-step-controls{bottom:104px!important}}
