:root{--audit-ink:#201a34;--audit-muted:#6f687d;--audit-line:#e9e3f3;--audit-violet:#7655df;--audit-soft:#f7f3ff;--audit-green:#17785b;--audit-red:#b53f4f}
html,body{max-width:100%;overflow-x:hidden}
.container,.container-wide,.simple-page,.detail-section,.calc-layout,.project-calc{min-width:0}
.detail-hero,.detail-grid,.info-grid,.package-grid,.cards-grid,.catalog-grid{min-width:0}
.detail-hero>* , .detail-grid>* , .info-grid>* , .package-grid>* , .cards-grid>*{min-width:0;max-width:100%}
.detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;width:100%!important}
.detail-grid>article,.detail-grid>.panel{width:auto!important;min-width:0!important;margin:0!important;overflow:hidden}
.detail-grid .detail-map-real,.detail-grid iframe{width:100%!important;max-width:100%!important}
.detail-grid p,.detail-grid li,.detail-grid span,.catering-section p,.venue-catering p{overflow-wrap:break-word;word-break:normal}
.info-grid,.package-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.catering-section article,.venue-catering article{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.catering-section article h3,.venue-catering article h3{margin:0;line-height:1.22}
.catering-section article>b,.venue-catering article>b{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f0eaff;color:#6446bc;font-size:13px}
.menu-link-button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;margin-top:auto!important;padding:11px 16px!important;border:1px solid #6f52d8!important;border-radius:999px!important;background:#fff!important;color:#5134b0!important;font-weight:800!important;text-decoration:none!important}
.menu-pending{display:block;color:var(--audit-muted);line-height:1.45}
.venue-card,.card-item,.venue-body{min-width:0!important}
.venue-card h3,.venue-card .metro,.venue-card .chips,.venue-card .external-rating,.venue-card .note{overflow-wrap:break-word!important;word-break:normal!important;white-space:normal!important}
.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.catalog-grid .venue-card{width:auto!important;max-width:100%!important}
.catalog-grid .venue-photo-wrap{width:100%;overflow:hidden}
.catalog-grid .venue-photo-wrap img{width:100%;height:100%;object-fit:cover}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border-radius:14px;background:#f6f1ff;color:#574577;font-size:13px;font-weight:700}
.project-toolbar button,.calc-clear{border:0;border-radius:999px;background:#fff;color:#a23c4a;padding:8px 12px;font-weight:800;cursor:pointer;box-shadow:0 3px 12px #4a2d6d12}
.project-item>div{min-width:0}
.project-item b,.project-item span,.project-item small{overflow-wrap:break-word!important;word-break:normal!important}
.calc-layout{display:block!important;width:100%!important;max-width:100%!important}
.project-calc{display:block!important;width:100%!important;max-width:100%!important}
.calc-inputs{margin:0 0 22px!important;padding:28px!important;border:1px solid var(--audit-line)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 16px 44px rgba(51,38,91,.07)!important}
.calc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.calc-panel-head h2,.calc-section-title h2{margin:4px 0 8px!important;font-size:clamp(24px,3vw,38px)!important;line-height:1.05!important}
.calc-panel-head p{max-width:760px;margin:0;color:var(--audit-muted);line-height:1.55}
.calc-kicker{color:var(--audit-violet);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.calc-input-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.calc-input-grid label{display:grid!important;gap:7px!important;min-width:0;color:#544c62;font-size:13px!important;font-weight:700}
.calc-input-grid input,.calc-input-grid select{width:100%!important;min-width:0!important;padding:13px 14px!important;border:1px solid #ddd5ed!important;border-radius:12px!important;background:#fbfaff!important;color:var(--audit-ink)!important;font:inherit!important;outline:none}
.calc-input-grid input:focus,.calc-input-grid select:focus{border-color:var(--audit-violet)!important;box-shadow:0 0 0 3px rgba(118,85,223,.12)}
.calc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 30px}
.calc-summary article{display:flex;flex-direction:column;min-width:0;min-height:142px;padding:20px;border:1px solid var(--audit-line);border-radius:20px;background:linear-gradient(145deg,#fff,#faf8ff);box-shadow:0 12px 34px rgba(49,36,83,.06)}
.calc-summary span{color:var(--audit-muted);font-size:13px;font-weight:700}
.calc-summary strong{margin:10px 0 8px;font-size:clamp(24px,2.6vw,36px);line-height:1;overflow-wrap:break-word}
.calc-summary small{margin-top:auto;color:var(--audit-muted);line-height:1.35}
.calc-summary .status-over_budget{border-color:#f1bbc2;background:#fff7f8}
.calc-summary .status-within_budget{border-color:#b9e4d5;background:#f5fffb}
.calc-stage-section,.calc-results{margin:0 0 30px}
.calc-section-title{margin-bottom:16px}
.calc-timeline{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:100%!important;overflow:visible!important;margin:0!important}
.calc-step{min-width:0!important;width:auto!important;max-width:100%!important;padding:18px!important;border:1px solid var(--audit-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 32px rgba(45,32,79,.05)!important;overflow:hidden!important}
.calc-step h3{margin:0 0 12px!important}
.calc-step h3 a{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px!important}
.calc-step h3 a>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#eee8ff;color:#6848c8;font-size:12px}
.calc-step h3 a>em{margin-left:auto;font-style:normal}
.calc-row{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;min-width:0!important;margin:8px 0!important;padding:9px!important;border:1px solid #eee9f4!important;border-radius:13px!important;background:#fff!important}
.calc-row img{width:44px!important;height:44px!important;border-radius:10px!important;object-fit:cover!important}
.calc-row>div{display:grid;gap:3px;min-width:0}
.calc-row b,.calc-row span{min-width:0;overflow-wrap:break-word!important;word-break:normal!important;white-space:normal!important;line-height:1.25!important}
.calc-row b{font-size:12px}.calc-row span{color:var(--audit-muted);font-size:11px}
.calc-row button{min-width:30px!important;width:auto!important;height:30px!important;padding:0 8px!important;border:0!important;border-radius:999px!important;cursor:pointer!important;font-size:11px!important}
.calc-row .calc-use{background:#ece7fb!important;color:#5942ab!important}.calc-row .calc-remove{padding:0!important;background:#fff1f2!important;color:#bc4857!important;font-size:17px!important}
.calc-row.muted-row{opacity:.55}
.calc-warnings{margin:14px 0!important;padding:18px 20px!important;border:1px solid #f0dfb6!important;border-radius:18px!important;background:#fffaf0!important}
.calc-warnings.is-error{border-color:#f2c1c7!important;background:#fff7f8!important}
.calc-warnings h3{margin:0 0 8px!important}.calc-warnings p{margin:5px 0!important;line-height:1.45}
.calc-results{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;align-items:start}
.calc-allocation,.actual-costs{min-width:0;padding:24px;border:1px solid var(--audit-line);border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(45,32,79,.06)}
.allocation-grid{display:grid;gap:12px}
.allocation-card{padding:16px;border:1px solid #ece6f4;border-radius:16px;background:#fdfcff}
.allocation-card header,.allocation-card header>div,.allocation-card li{display:flex;align-items:center;justify-content:space-between;gap:12px}
.allocation-card header>div{justify-content:flex-start}.allocation-card header span{font-weight:900}.allocation-card header strong{color:var(--audit-violet)}
.allocation-card header>b{font-size:18px;white-space:nowrap}
.allocation-bar{height:5px;margin:11px 0;border-radius:9px;background:#ece8f4;overflow:hidden}.allocation-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7453dd,#ac8cff)}
.allocation-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.allocation-card li{font-size:12px;line-height:1.35}.allocation-card li span{min-width:0}.allocation-card li small{color:var(--audit-violet);font-weight:800}.allocation-card li b{white-space:nowrap}
.calc-note{margin:16px 0 0;color:var(--audit-muted);font-size:12px;line-height:1.5}
.calc-table-scroll{width:100%;overflow-x:auto;border:1px solid #eee8f5;border-radius:16px}
.actual-costs table{width:100%;min-width:600px;border-collapse:collapse;background:#fff}
.actual-costs th,.actual-costs td{padding:13px 14px;border-bottom:1px solid #eee9f4;text-align:left;vertical-align:top;font-size:12px;line-height:1.4}
.actual-costs th{background:#faf8fe;color:#655d71;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.actual-costs td:last-child,.actual-costs th:last-child{text-align:right;white-space:nowrap}
.actual-costs tfoot td{font-weight:900;background:#f8f5ff}
.price-pending{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0df;color:#9b5d18;font-weight:800;white-space:nowrap}
.calc-balance{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:15px;border-radius:14px;background:#f5f2fb}.calc-balance span{font-size:12px;color:var(--audit-muted)}.calc-balance strong{font-size:16px}.calc-balance.status-over_budget{background:#fff0f2;color:var(--audit-red)}.calc-balance.status-within_budget{background:#edfbf6;color:var(--audit-green)}
.calc-layout>.lead-form,.page-calc .lead-form{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important;margin:28px 0 0!important;padding:28px!important;border-radius:24px!important;background:#241a3a!important;color:#fff!important}
.page-calc .lead-form>span,.page-calc .lead-form>h2,.page-calc .lead-form>p,.page-calc .lead-form>.lead-result{grid-column:1/-1}
.page-calc .lead-form input[type=text],.page-calc .lead-form input[type=email],.page-calc .lead-form input:not([type]){width:100%!important;min-width:0!important}
.page-calc .lead-form label{grid-column:1/-1;color:#fff}.page-calc .lead-form button{grid-column:1/-1;justify-self:start}
.ai-estimate{display:grid;gap:12px;margin-top:14px;padding:16px;border:1px solid #e8e0f5;border-radius:17px;background:#fbf9ff}
.ai-estimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.ai-estimate-grid p{display:flex;justify-content:space-between;gap:10px;margin:0!important;padding-bottom:6px;border-bottom:1px solid #eee8f7;font-size:12px}.ai-estimate-grid strong{font-size:12px;white-space:nowrap}
.ai-estimate-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.ai-estimate-total strong{font-size:20px}
.bot-text p{margin:.45em 0!important}.bot-text ul,.bot-text ol{margin:.5em 0!important;padding-left:1.35em!important}.bot-text li{margin:.28em 0!important}
.ai-card-carousel{min-width:0!important}.ai-card,.ai-card>div{min-width:0!important}.ai-card b,.ai-card span,.ai-card strong,.ai-card a{overflow-wrap:break-word!important;word-break:normal!important;white-space:normal!important}
.ai-card-open{display:inline-flex;margin-top:7px;font-size:12px;font-weight:800}
.ai-card{position:relative!important}.ai-card.is-selected{border-color:#7b57db!important;box-shadow:0 0 0 2px rgba(123,87,219,.13),0 14px 30px rgba(58,45,100,.1)!important}.ai-card-selected{display:none!important;position:absolute;z-index:3;top:8px;right:8px;min-height:0!important;margin:0!important;padding:5px 8px;border-radius:999px;background:#6d4ed8!important;color:#fff!important;font-size:10px!important;font-weight:900!important}.ai-card.is-selected .ai-card-selected{display:inline-flex!important}.concept-visual-result{display:grid;gap:6px;margin-top:12px;padding:15px;border:1px solid #dcd1f3;border-radius:16px;background:#fff}.concept-visual-result p{margin:0!important;color:var(--audit-muted);font-size:13px}.concept-visual-result a{color:#6446be;font-weight:900}
.page-calc .lead-form,.calc-layout>.lead-form{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;padding:clamp(22px,3vw,36px)!important}.lead-form-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:22px}.final-step-kicker{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;min-height:0!important;margin:2px 0 0!important;padding:8px 12px!important;border-radius:999px!important;background:#8d67f1!important;color:#fff!important;font-size:11px!important;font-weight:900!important;line-height:1.2!important;white-space:nowrap!important}.lead-form-head h2{margin:0 0 7px!important;color:#fff!important;font-size:clamp(25px,3vw,38px)!important;line-height:1.1!important}.lead-form-head p{max-width:720px;margin:0!important;color:#d9d0e7!important;line-height:1.55!important}.lead-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.lead-fields input{width:100%!important;min-height:52px!important;margin:0!important}.lead-consents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.page-calc .lead-consents label{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;margin:0!important;color:#fff!important;line-height:1.45!important}.lead-consents a{color:#bd9aff!important}.lead-submit{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.page-calc .lead-submit button{justify-self:auto!important;min-height:52px!important;margin:0!important}.lead-submit .lead-result{margin:0!important;color:#9ff0cf!important;line-height:1.45}
@media(max-width:1180px){.calc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calc-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}.calc-results{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.info-grid,.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr!important}.calc-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.calc-layout>.lead-form,.page-calc .lead-form{grid-template-columns:1fr!important}.page-calc .lead-form>*{grid-column:1!important}.lead-fields,.lead-consents{grid-template-columns:1fr}}
@media(max-width:640px){.container,.container-wide{width:min(100% - 28px,100%)!important}.catalog-grid,.info-grid,.package-grid,.calc-summary,.calc-timeline{grid-template-columns:1fr!important}.calc-input-grid{grid-template-columns:1fr!important}.calc-inputs,.calc-allocation,.actual-costs{padding:18px!important}.calc-panel-head{display:grid}.calc-clear{justify-self:start}.calc-step{padding:14px!important}.calc-row{grid-template-columns:40px minmax(0,1fr) auto auto!important}.calc-summary article{min-height:120px}.ai-estimate-grid{grid-template-columns:1fr}.lead-form-head{grid-template-columns:1fr;gap:12px}.final-step-kicker{justify-self:start}.lead-submit{display:grid}.lead-submit button{width:100%!important}}

/* Полноэкранный режим остаётся частью текущей страницы: тот же DOM и тот же диалог. */
.chat-view-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;min-width:0;margin:0 0 10px}
.chat-expand-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid #ded5ef;border-radius:999px;background:#fff;color:#5d42b4;font:inherit;font-size:12px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 7px 20px rgba(54,38,91,.08);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.chat-expand-toggle:hover{transform:translateY(-1px);border-color:#8a6be2;background:#f8f5ff}
.chat-expand-toggle:focus-visible{outline:3px solid rgba(118,85,223,.22);outline-offset:2px}
.chat-expand-icon{display:grid;place-items:center;width:18px;height:18px;font-size:19px;font-weight:400;line-height:1;transition:transform .32s ease}
.chat-expanded .chat-expand-icon{transform:rotate(180deg)}
body.chat-expanded-lock{overflow:hidden!important}
.chat-section.chat-expanded,.ai-section.chat-expanded{position:fixed!important;inset:0!important;z-index:6000!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:0!important;background:#f8f6fc!important;overflow:hidden!important;box-sizing:border-box!important;will-change:transform;border-radius:0!important}
.chat-section.chat-expanded{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:0!important}
.ai-section.chat-expanded .ai-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:0!important;width:100%!important;height:100%!important;min-height:0!important}
.chat-section.chat-expanded .chat-copy,.ai-section.chat-expanded .ai-side,.chat-section.chat-expanded .chat-tabs,.ai-section.chat-expanded .ai-head,.ai-section.chat-expanded .ai-timeline,.chat-section.chat-expanded .clear-dialog,.ai-section.chat-expanded .clear-dialog{display:none!important}
.chat-section.chat-expanded .chat-box.ai-widget,.ai-section.chat-expanded .ai-widget{position:relative!important;display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:clamp(14px,2vw,28px)!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.chat-section.chat-expanded .chat-messages,.chat-section.chat-expanded .ai-messages,.ai-section.chat-expanded .ai-messages{display:block!important;flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 12px!important;padding:64px clamp(10px,2vw,28px) 22px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
.chat-section.chat-expanded .chat-view-controls,.ai-section.chat-expanded .chat-view-controls{position:absolute!important;z-index:12!important;top:18px!important;right:clamp(16px,2vw,28px)!important;margin:0!important}
.chat-section.chat-expanded .chat-expand-toggle,.ai-section.chat-expanded .chat-expand-toggle{background:#261a3f;color:#fff;border-color:#261a3f;box-shadow:0 10px 26px rgba(38,26,63,.2)}
@media(max-width:900px){.chat-expand-toggle{min-height:36px;padding:7px 12px}.chat-section.chat-expanded .chat-box.ai-widget,.ai-section.chat-expanded .ai-widget{padding:10px!important}.chat-section.chat-expanded .chat-messages,.chat-section.chat-expanded .ai-messages,.ai-section.chat-expanded .ai-messages{padding:58px 8px 16px!important}.chat-section.chat-expanded .chat-view-controls,.ai-section.chat-expanded .chat-view-controls{top:12px!important;right:12px!important}}
@media(prefers-reduced-motion:reduce){.chat-expand-toggle,.chat-expand-icon{transition:none!important}}
