/* Общие стили страниц «Решения» (solution-*.html). Основа — опубликованный solution-hotel-50.css; страницы собирает scripts/build_solution_pages.py. */
@import url("assets/brand/pannacotta-brand.css?v=4ee86e99");

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.solution-page{margin:0;background:#fff;color:var(--color-foreground);font:15px/1.5 var(--font-text)}
.solution-page a{color:inherit;text-decoration:none}
.solution-shell{width:min(1480px,100%);margin-inline:auto;padding-inline:clamp(18px,3vw,48px)}
.solution-breadcrumb{display:flex;align-items:center;gap:10px;padding-block:26px 18px;color:var(--color-muted);font-size:11px}
.solution-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.solution-area{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0 25px}
.solution-area__label{margin-right:19px;color:#343638;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.solution-area__chip{min-width:76px;display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:7px 14px;border-radius:25px;background:#f0f0ef;color:#44474a;font-size:13px;white-space:nowrap}
.solution-area__chip.is-current{background:var(--color-brand);color:#fff;font-weight:700}
.solution-area__chip.is-future{color:#808387;cursor:default}
.solution-area a.solution-area__chip:not(.is-current):hover{background:#e6e6e3;color:var(--color-brand)}
.solution-area__note{margin-left:auto;color:#777a7e;font-size:10px}
.solution-overline{margin:0 0 17px;color:var(--color-brand);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.solution-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);align-items:end;gap:48px;padding:22px 0 58px}
.solution-intro h1,.solution-panel h2,.solution-cta h2{margin:0;font-family:var(--font-display);font-weight:800;line-height:.86;letter-spacing:-.035em;text-transform:uppercase}
.solution-intro h1{font-size:clamp(78px,10vw,150px)}
.solution-intro h1 span{color:var(--color-brand)}
.solution-intro__aside{padding-bottom:7px}
.solution-intro__index{margin:0 0 17px;color:var(--color-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.solution-lead{max-width:590px;margin:0 0 26px;color:#53565a;font-size:clamp(17px,1.65vw,22px);line-height:1.4}
.solution-text-link{display:inline-flex;align-items:center;gap:26px;padding:10px 0;border-bottom:2px solid var(--color-brand);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.solution-text-link span{color:var(--color-brand);font-size:23px;line-height:1}
.solution-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:19px}
.solution-section-heading h2{margin:0;font:800 clamp(38px,4.5vw,60px)/.9 var(--font-display);letter-spacing:-.025em;text-transform:uppercase}
.solution-section-heading p{max-width:260px;margin:0;color:#777a7e;font-size:12px}
.solution-choice{padding-bottom:43px}
.solution-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.solution-tab{position:relative;min-height:116px;display:flex;align-items:center;gap:21px;padding:21px 26px;border:1px solid #dbddde;background:#f4f4f2;color:#232426;font-family:var(--font-text);text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.solution-tab:hover{transform:translateY(-4px);border-color:#a5a7a8;box-shadow:0 12px 28px rgb(0 0 0 / .08)}
.solution-tab.is-active{border-color:var(--color-brand);background:#fff4f2;box-shadow:inset 0 -4px 0 var(--color-brand)}
.solution-tab__letter{flex:0 0 auto;font:800 62px/.8 var(--font-display);color:var(--color-brand)}
.solution-tab__copy{display:grid;gap:6px}
.solution-tab strong{font:800 clamp(20px,2vw,29px)/1 var(--font-display);text-transform:uppercase}
.solution-tab small{color:#606368;font-size:11px}
.solution-tab__arrow{margin-left:auto;align-self:flex-start;font-size:23px;line-height:1}
.solution-panel[hidden]{display:none}
.solution-panel__intro{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:20px 0 24px;border-top:1px solid #d8d9d9}
.solution-panel h2{font-size:clamp(56px,6vw,88px)}
.solution-panel__intro>p{max-width:365px;margin:0 0 6px;color:#606368;font-size:15px;line-height:1.5}
.solution-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.solution-visual{min-width:0;margin:0;border:1px solid #dddedd;background:#f6f6f4}
.solution-visual__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;padding:12px 16px;background:#fff;color:#37393b;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.solution-visual__frame{height:clamp(390px,42vw,560px);display:grid;place-items:center;overflow:hidden;cursor:zoom-in}
.solution-visual__frame img{display:block;width:100%;height:100%;object-fit:contain}
.solution-visual__frame:hover img{filter:brightness(.96)}
.solution-visual--plan .solution-visual__frame{background:#f4f4f2}
.solution-visual--render .solution-visual__frame{background:#292a2d}
.solution-visual figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px 16px;background:#fff;color:#686b70;font-size:11px;line-height:1.4}
.solution-visual figcaption a{flex:0 0 auto;color:#292b2c;font-weight:700;text-decoration:underline;text-decoration-color:var(--color-brand);text-underline-offset:3px}
.solution-visual figcaption a:hover{color:var(--color-brand)}
.solution-composition{padding-top:63px}
.solution-composition__heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}
.solution-composition__heading>p{max-width:230px;margin:0 0 3px;color:#72757a;font-size:11px}
.solution-composition h3{margin:0;font:800 clamp(39px,4.5vw,59px)/.9 var(--font-display);letter-spacing:-.025em;text-transform:uppercase}
.solution-composition h3 span{color:var(--color-brand)}
.solution-zone-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.solution-zone{min-width:0;min-height:174px;display:flex;flex-direction:column;padding:18px 17px;border:1px solid #e4e4e3;background:#f6f6f4;color:var(--color-foreground);font:inherit;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.solution-zone:hover{transform:translateY(-4px);border-color:var(--color-brand);box-shadow:0 12px 22px rgb(0 0 0 / .06)}
.solution-zone.is-active{border-color:var(--color-brand);background:#fff1ef;box-shadow:inset 0 -3px 0 var(--color-brand)}
.solution-zone>span{display:block;min-height:31px;color:var(--color-brand);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.solution-zone__description{display:block;margin:15px 0 0;color:#303235;font-size:12px;line-height:1.65}
.solution-zone small{display:block;margin-top:auto;padding-top:13px;color:#676a6d;font-size:10px;font-weight:700}
.solution-zone.is-active small{color:var(--color-brand)}
.solution-product-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:31px 0 12px}
.solution-product-status p{margin:0;color:#62666a;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.solution-product-status button{padding:7px 0;border:0;border-bottom:1px solid var(--color-brand);background:transparent;color:var(--color-brand);font:700 11px var(--font-text);cursor:pointer}
.solution-product-status button[hidden]{display:none}
.solution-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.solution-product{min-width:0;overflow:hidden;border:1px solid #e1e2e2;background:#fff;transition:border-color .2s,box-shadow .2s,opacity .2s,transform .2s}
.solution-product.is-highlighted{z-index:1;border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand),0 13px 23px rgb(243 50 44 / .12);transform:translateY(-2px)}
.solution-product.is-muted{opacity:.36}
.solution-product__image{height:215px;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:19px;background:#f8f8f7}
.solution-product__image img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;mix-blend-mode:multiply}
.solution-product__meta{position:relative;display:flex;align-items:start;justify-content:space-between;gap:15px;min-height:77px;padding:15px 16px;background:#fff}
.solution-product h4{max-width:205px;margin:0;font:800 19px/1.08 var(--font-display);text-transform:uppercase}
.solution-product__meta span{flex:0 0 auto;color:#6c6e72;font-size:10px;white-space:nowrap}
.solution-note{max-width:920px;margin:32px 0 70px;color:#73767a;font-size:12px;line-height:1.55}
.solution-cta{border-top:4px solid var(--color-brand);background:#202123;color:#fff}
.solution-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:67px}
.solution-cta h2{font-size:clamp(49px,6vw,82px)}
.solution-cta p:not(.solution-overline){max-width:550px;margin:21px 0 0;color:#bec0c2;font-size:14px}
.solution-cta a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:275px;min-height:65px;padding:0 0 0 21px;background:var(--color-brand);color:#fff;font:800 20px/1 var(--font-display);text-transform:uppercase;transition:transform .2s,background .2s}
.solution-cta a:hover{transform:translateY(-3px);background:var(--color-brand-hover)}
.solution-cta a span{min-height:65px;width:65px;display:grid;place-items:center;background:rgb(0 0 0 / .12);font:400 28px/1 var(--font-text)}
.solution-footer{display:flex;align-items:center;gap:30px;min-height:100px;color:#707378;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.solution-footer img{display:block;width:150px;height:auto}
.solution-footer>a:last-child{margin-left:auto;color:#26282a;font-weight:700}
.solution-lightbox{width:min(1500px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;border:1px solid #3c3d3e;background:#1e1f21;color:#fff;box-shadow:0 30px 80px rgb(0 0 0 / .35)}
.solution-lightbox::backdrop{background:rgb(10 11 12 / .82)}
.solution-lightbox__content{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 34px)}
.solution-lightbox__header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:10px 13px 10px 21px;border-bottom:1px solid #454647}
.solution-lightbox__header strong{font:800 21px/1 var(--font-display);text-transform:uppercase}
.solution-lightbox__header button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:7px 10px;border:1px solid #77797b;background:transparent;color:#fff;font:700 11px var(--font-text);cursor:pointer}
.solution-lightbox__header button:hover{border-color:var(--color-brand);background:var(--color-brand)}
.solution-lightbox__header button span{font:400 24px/1 var(--font-text)}
.solution-lightbox__media{min-height:0;display:grid;place-items:center;padding:12px;overflow:auto}
.solution-lightbox__media img{display:block;max-width:100%;max-height:calc(100vh - 112px);width:auto;height:auto;object-fit:contain}
body.has-solution-lightbox{overflow:hidden}
.solution-page :focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}
@media(max-width:1050px){.solution-intro{gap:25px}.solution-zone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-tab{padding:18px}}
@media(max-width:800px){.solution-intro{grid-template-columns:1fr;gap:20px}.solution-intro h1{font-size:clamp(75px,13vw,120px)}.solution-panel__intro{align-items:start;flex-direction:column}.solution-visuals{grid-template-columns:1fr}.solution-visual__frame{height:auto;aspect-ratio:1.32}.solution-visual--render .solution-visual__frame{aspect-ratio:1.6}.solution-cta__inner{align-items:start;flex-direction:column}.solution-section-heading{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:560px){.solution-breadcrumb{padding-block:18px 10px}.solution-intro{padding:19px 0 45px}.solution-intro h1{font-size:clamp(69px,17vw,100px)}.solution-lead{font-size:16px}.solution-choice{padding-bottom:30px}.solution-tabs{grid-template-columns:1fr;gap:7px}.solution-tab{min-height:88px;padding:15px}.solution-tab__letter{font-size:52px}.solution-tab strong{font-size:23px}.solution-panel h2{font-size:clamp(55px,13vw,78px)}.solution-panel__intro>p{font-size:13px}.solution-visual__frame{aspect-ratio:1.15}.solution-visual--render .solution-visual__frame{aspect-ratio:1.7}.solution-visual figcaption{align-items:start;flex-direction:column;min-height:71px}.solution-composition{padding-top:49px}.solution-zone-grid{grid-template-columns:1fr 1fr}.solution-zone{min-height:145px;padding:14px}.solution-zone__description{margin-top:10px;font-size:11px}.solution-note{margin-bottom:55px}.solution-cta__inner{padding-block:55px}.solution-cta a{width:100%;min-width:0}.solution-footer{flex-wrap:wrap;gap:14px;padding-block:26px}.solution-footer span{flex-basis:100%}.solution-footer>a:last-child{margin-left:0}}
@media(max-width:360px){.solution-zone-grid{grid-template-columns:1fr}.solution-intro h1{font-size:62px}}
@media(max-width:1050px){.solution-product__meta{display:block}.solution-product__meta span{display:block;margin-top:8px}}
@media(max-width:800px){.solution-area__note{flex-basis:100%;margin-left:0}.solution-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.solution-area{gap:6px;padding-bottom:15px}.solution-area__label{flex-basis:100%;margin-bottom:3px}.solution-area__chip{min-width:0;min-height:35px;padding:6px 11px;font-size:12px}.solution-area__note{font-size:9px}.solution-composition__heading{display:block}.solution-composition__heading>p{margin-top:10px}.solution-zone{min-height:155px}.solution-zone small{font-size:9px}.solution-product__image{height:150px;padding:12px}.solution-product__meta{min-height:84px;padding:11px}.solution-product h4{font-size:16px}.solution-product__meta span{font-size:9px}}
@media(max-width:360px){.solution-product-grid{grid-template-columns:1fr}.solution-product__image{height:185px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.solution-tab,.solution-zone,.solution-cta a{transition:none}.solution-tab:hover,.solution-zone:hover,.solution-cta a:hover{transform:none}}

/* Дополнения генератора: один вариант без вкладок, таблица зон вместо планограммы, пометка кандидата. */
.solution-panel--single{padding-top:8px}
.solution-candidate{margin:-28px 0 44px;padding:13px 16px;border-left:3px solid var(--color-brand);background:#f6f6f4;color:#44474a;font-size:13px;line-height:1.5}
.solution-visual--zones{display:flex;flex-direction:column}
.solution-zone-table{flex:1 1 auto;min-height:clamp(390px,42vw,560px);display:flex;align-items:center;padding:clamp(16px,2.4vw,34px);background:#f4f4f2}
.solution-zone-table table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.45}
.solution-zone-table caption{padding-bottom:16px;color:#686b70;font-size:11px;font-weight:700;letter-spacing:.1em;text-align:left;text-transform:uppercase}
.solution-zone-table th,.solution-zone-table td{padding:13px 0;border-top:1px solid #d9dad8;text-align:left;vertical-align:top}
.solution-zone-table th{width:38%;padding-right:16px;color:#1f2123;font-family:var(--font-display);font-size:19px;font-weight:800;line-height:1.05;text-transform:uppercase}
.solution-zone-table th span{display:block;margin-bottom:5px;color:var(--color-brand);font-family:var(--font-text);font-size:10px;letter-spacing:.12em}
.solution-zone-table td{color:#53565a}
@media(max-width:800px){.solution-zone-table{min-height:0}}
@media(max-width:560px){.solution-candidate{margin:-18px 0 32px;font-size:12px}.solution-zone-table table{font-size:12px}.solution-zone-table th{width:42%;font-size:16px}}
/* WP15: второй рендер на всю ширину, ссылка на планировщик рядом с основной ссылкой */
.solution-visuals--three>.solution-visual:nth-child(3){grid-column:1/-1}
.solution-visuals--three>.solution-visual:nth-child(3) .solution-visual__frame{height:auto;aspect-ratio:16/9}
.solution-text-link--planner{display:flex;width:max-content;margin-top:8px}
.solution-zone-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.solution-zone-grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.solution-zone-grid--4{grid-template-columns:1fr}}
