/* КП Заповедное: second property detail overrides */
.zp-hero .house-hero-visual{background:#dcd8c9}
.zp-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:47% 50%}
.zp-hero h1{letter-spacing:-.06em}
.zp-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.zp-gallery .house-gallery-item{height:auto;aspect-ratio:1.38;overflow:hidden;background:#e9e6e0}
.zp-gallery .house-gallery-item.zp-feature{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:350px}
.zp-gallery .house-gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center center}
.zp-gallery .house-gallery-item.zp-feature img{object-position:center 55%}
.zp-drive-note{color:#817b74;font-size:13px;margin-top:26px}
.zp-finish{background:#ebe3d7;padding:72px 0}
.zp-finish-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.zp-finish-inner>div{max-width:780px}
.zp-finish h2{font-size:clamp(38px,4.8vw,64px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 20px}
.zp-finish p{font-size:19px;line-height:1.6;color:#5b554d;margin:0}
.zp-finish .house-btn-house{flex:none;white-space:nowrap}
.zp-other-property{background:#f7f4ef;padding:44px 0 60px}
.zp-other-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;border-top:1px solid #d8d1c7;padding-top:32px}
.zp-other-inner h2{font-size:clamp(24px,2.8vw,38px);line-height:1.1;margin:12px 0}
.zp-other-inner p{color:#70685f;font-size:15px;margin:0}
.zp-other-inner>a{display:inline-flex;padding:15px 20px;border:1px solid #8d7b67;white-space:nowrap;font-weight:700;gap:20px}
@media(max-width:900px){.zp-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.zp-gallery .house-gallery-item.zp-feature{grid-column:span 2;grid-row:span 1;aspect-ratio:1.5;min-height:0}.zp-finish-inner,.zp-other-inner{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:600px){.zp-gallery{gap:7px}.zp-gallery .house-gallery-item{aspect-ratio:1.14}.zp-gallery .house-gallery-item.zp-feature{aspect-ratio:1.45}.zp-finish{padding:50px 0}.zp-finish h2{font-size:40px}.zp-finish p{font-size:16px}.zp-other-property{padding-bottom:42px}}

/* КП Заповедное — рекламная посадочная страница. 2026-11-02 */
.zp-page{--zp-ink:#192820;--zp-forest:#2c4d39;--zp-accent:#a77c48}
.zp-hero{background:linear-gradient(135deg,#f9f8f3 0%,#edece4 100%);padding-top:26px;padding-bottom:65px}
.zp-hero .house-hero-layout{grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);gap:clamp(32px,4.5vw,68px)}
.zp-hero .house-hero-text h1{font-size:clamp(52px,5.6vw,84px);line-height:.97;max-width:700px}
.zp-hero .house-eyebrow{color:#58735f}
.zp-hero .house-eyebrow span{background:#567d5b}
.zp-hero .house-hero-lead{color:#585d55;max-width:550px}
.zp-hero .house-hero-visual{border-radius:8px;align-self:stretch;min-height:600px;box-shadow:0 28px 56px rgba(23,42,30,.10)}
.zp-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;position:absolute;inset:0}
.zp-hero .house-btn-house,.zp-page .zp-mid-cta a{background:var(--zp-forest);border-radius:7px}
.zp-hero .house-btn-house:hover,.zp-page .zp-mid-cta a:hover{background:#163522}
.zp-hero .house-btn-outline{border-radius:7px}
.zp-hero .house-hero-price span{color:var(--zp-forest)}
.zp-page .house-section-kicker{color:#6a8065}
.zp-prep-note{display:flex;align-items:flex-start;gap:12px;margin-top:23px;padding:16px 18px;border-left:3px solid #728d74;background:#e6ece3}
.zp-prep-icon{font-size:17px;font-weight:900;color:#365c39}
.zp-prep-note strong{font-size:14px;display:block;margin-bottom:5px;color:#23432c}
.zp-prep-note small{display:block;font-size:13px;line-height:1.5;color:#647164}
.zp-highlight{background:#e7ece4;padding:78px 0}
.zp-highlight-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}
.zp-highlight-copy h2{font-size:clamp(38px,4.6vw,68px);line-height:1.04;letter-spacing:-.06em;margin:20px 0}
.zp-highlight-copy p{font-size:17px;line-height:1.7;color:#5f6b5e}
.zp-highlight-visual{border-radius:7px;overflow:hidden;background:#d8dcd4}
.zp-highlight-visual img{display:block;width:100%;height:auto}
.zp-text-link{display:inline-flex;gap:24px;padding:15px 0;border-bottom:1px solid #365c39;color:#2f593d;font-weight:800}
.zp-editorial-gallery{padding:94px 0;background:#fdfdfb}
.zp-gallery-intro{display:grid;grid-template-columns:1.1fr .75fr;gap:60px;align-items:end;margin:22px 0 63px}
.zp-gallery-intro h2{font-size:clamp(42px,5.8vw,78px);line-height:1.02;letter-spacing:-.065em;margin:0}
.zp-gallery-intro h2 em{font-style:normal;color:#719077}
.zp-gallery-intro p{font-size:17px;line-height:1.65;color:#667168;margin:0 0 17px}
.zp-gallery-counter{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#49684d}
.zp-photo-set{padding-top:25px;margin-top:50px;border-top:1px solid #dce1d8}
.zp-set-heading{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin-bottom:22px}
.zp-set-index{display:inline-block;font-size:12px;color:#55765d;letter-spacing:.13em;font-weight:900;margin-bottom:9px}
.zp-set-heading h3{font-size:clamp(26px,3.2vw,43px);font-weight:800;letter-spacing:-.05em;margin:0}
.zp-set-heading p{color:#6e756d;line-height:1.65;font-size:15px;max-width:470px;margin:0}
.zp-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.zp-editorial-photo{position:relative;display:block;border-radius:5px;overflow:hidden;background:#eaeee7;cursor:zoom-in;min-width:0}
.zp-editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transition:transform .35s ease,filter .35s ease}
.zp-editorial-photo:hover img{transform:scale(1.025);filter:brightness(.96)}
.zp-photo-mark{position:absolute;right:12px;bottom:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.95);color:#25402b;font-size:17px}
.zp-photo-extra{display:none}
.zp-editorial-gallery.is-expanded .zp-photo-extra{display:block}
.zp-mid-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#233a2a;color:#fff;padding:33px 36px;margin:49px 0 5px;border-radius:8px}
.zp-mid-cta span{display:block;color:#c8dcc4;font-size:13px;margin-bottom:8px}
.zp-mid-cta strong{display:block;font-size:clamp(19px,2.3vw,30px);font-weight:700;max-width:660px;line-height:1.25;letter-spacing:-.03em}
.zp-mid-cta a{padding:18px 23px;display:inline-flex;gap:22px;white-space:nowrap;background:#d7e2d1!important;color:#213d2b;border-radius:5px!important;font-size:14px;font-weight:850}
.zp-mid-cta a:hover{background:#fff!important}
.zp-gallery-controls{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:45px auto 0}
.zp-gallery-controls button{border:1px solid #2d4d38;border-radius:5px;background:#2b4b35;color:#fff;padding:17px 26px;font-size:15px;font-weight:800;cursor:pointer}
.zp-gallery-controls button:hover{background:#173622}
.zp-gallery-controls button span{margin-left:20px}
.zp-gallery-controls>span{font-size:13px;color:#80867d}
.zp-page .zp-finish{background:#e8ede5}
.zp-page .zp-finish .house-btn-house{background:#2f4f38}
.zp-faq{background:#f3f5f0}
.zp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,120px)}
.zp-faq h2{font-size:clamp(35px,4.6vw,62px);letter-spacing:-.06em;line-height:1.07;margin:18px 0}
.zp-faq p{font-size:16px;color:#657062;line-height:1.7}
.zp-faq-items details{border-bottom:1px solid #cbd4c9;padding:20px 0}
.zp-faq-items details:first-child{border-top:1px solid #cbd4c9}
.zp-faq-items summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;font-size:18px;font-weight:800}
.zp-faq-items summary::-webkit-details-marker{display:none}
.zp-faq-items summary span{color:#61816a;font-size:24px}
.zp-faq-items details[open] summary span{transform:rotate(45deg)}
.zp-faq-items details p{max-width:610px;font-size:15px;margin:15px 0 0}
.zp-page .house-viewing{background:#faf9f6}
.zp-page .house-viewing .lead-form-wrap{box-shadow:0 18px 65px rgba(21,40,27,.07);border:1px solid #e2e8dc}
.zp-mobile-action{display:none}
@media(max-width:1020px){
 .zp-hero .house-hero-layout,.zp-highlight-layout,.zp-gallery-intro,.zp-faq-grid{grid-template-columns:1fr}
 .zp-hero .house-hero-visual{min-height:0;aspect-ratio:4/3;align-self:auto}
 .zp-highlight-layout,.zp-gallery-intro{gap:24px}
 .zp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zp-mid-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:650px){
 .zp-hero{padding-top:14px;padding-bottom:28px}
 .zp-hero .house-hero-text h1{font-size:clamp(43px,11.2vw,60px);margin:17px 0}
 .zp-hero .house-hero-visual{aspect-ratio:4/3;border-radius:7px;min-height:0}
 .zp-hero .house-hero-layout{gap:25px}
 .zp-prep-note{margin-top:18px}
 .zp-highlight{padding:53px 0}
 .zp-highlight-copy h2{font-size:39px}
 .zp-highlight-copy p{font-size:16px}
 .zp-editorial-gallery{padding:60px 0}
 .zp-gallery-intro{margin:17px 0 36px}
 .zp-gallery-intro h2{font-size:41px}
 .zp-gallery-intro p{font-size:15px}
 .zp-photo-set{margin-top:36px}
 .zp-set-heading{grid-template-columns:1fr;gap:10px}
 .zp-set-heading p{font-size:14px}
 .zp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .zp-editorial-photo{border-radius:3px}
 .zp-photo-mark{width:26px;height:26px;right:5px;bottom:5px}
 .zp-mid-cta{padding:23px 20px;margin:38px 0}
 .zp-mid-cta a{width:100%;justify-content:space-between}
 .zp-gallery-controls{margin-top:32px}
 .zp-gallery-controls button{width:100%}
 .zp-faq h2{font-size:40px}
 .zp-faq-items summary{font-size:16px}
 .zp-mobile-action{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(248,249,245,.97);box-shadow:0 -9px 30px rgba(20,35,25,.13);backdrop-filter:blur(10px)}
 .zp-mobile-action a{font-size:12px;font-weight:850;padding:14px 9px;text-align:center;border-radius:5px}
 .zp-mobile-call{width:29%;border:1px solid #46654c;color:#26452c}
 .zp-mobile-visit{background:#294c34;color:#fff;flex:1}
 .zp-page{padding-bottom:75px}
}
@media(prefers-reduced-motion:reduce){.zp-editorial-photo img{transition:none}}

/* ZAPOVEDNOE ROOM GALLERY v2 — grouped property photo story */
.zp-room-nav{display:flex;align-items:center;gap:9px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b2c2af transparent;padding:4px 0 22px;margin:0 0 20px;-webkit-overflow-scrolling:touch}
.zp-room-nav a{display:inline-flex;flex:0 0 auto;align-items:center;padding:12px 17px;border:1px solid #d9e1d6;background:#f5f7f2;border-radius:28px;color:#31513a;font-size:13px;font-weight:750;line-height:1.2;transition:background .2s,border-color .2s}
.zp-room-nav a:hover,.zp-room-nav a:focus-visible{background:#e4ecdf;border-color:#77957c}
.zp-room-set{scroll-margin-top:105px}
.zp-room-set .zp-set-heading{align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}
.zp-room-set .zp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.zp-room-set .zp-editorial-photo{border-radius:8px;background:#fff;border:1px solid #e1e6df;box-shadow:0 8px 25px rgba(29,56,37,.045);transition:box-shadow .25s ease,transform .25s ease}
.zp-room-set .zp-editorial-photo:hover{box-shadow:0 16px 30px rgba(29,56,37,.10);transform:translateY(-2px)}
.zp-room-set .zp-photo-image{display:block;overflow:hidden;line-height:0;background:#e7eae4}
.zp-room-set .zp-photo-image img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
.zp-room-set .zp-photo-caption{display:block;padding:13px 16px 15px;color:#526259;font-size:13px;line-height:1.4;font-weight:600}
.zp-room-set .zp-photo-mark{top:12px;bottom:auto;right:12px}
.zp-room-set .zp-editorial-photo.zp-photo-extra{display:none}
.zp-editorial-gallery.is-expanded .zp-room-set .zp-editorial-photo.zp-photo-extra{display:block}
@media(max-width:650px){.zp-room-nav{margin:0 -12px 5px;padding:4px 12px 15px}.zp-room-nav a{font-size:12px;padding:10px 13px}.zp-room-set .zp-set-heading{grid-template-columns:1fr;gap:10px}.zp-room-set .zp-editorial-grid{grid-template-columns:1fr;gap:12px}.zp-room-set .zp-photo-caption{padding:11px 13px 13px;font-size:12px}.zp-room-set .zp-photo-mark{top:9px;right:9px}}
@media(prefers-reduced-motion:reduce){.zp-room-set .zp-editorial-photo{transition:none}}
