/*
Theme Name: Xill — дочерняя тема
Description: Светлое синее оформление агентства: главная, каталог, квартира, застройщик и контакты. Требует Xill Catalog.
Author: sn1pe-web
Template: twentytwentyfive
Version: 0.4.4
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: xill-child
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{--blue:#164f93;--ink:#1c2834;--muted:#5d6a77;--surface:#eef5fa;--line:#d9e1e9;--white:#fff}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body.xill-site{display:flex;flex-direction:column;min-height:calc(100vh - var(--xill-admin-offset,0px));min-height:calc(100dvh - var(--xill-admin-offset,0px));margin:0;padding:0;background:var(--white);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--blue);text-underline-offset:5px}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4b8fdc;outline-offset:4px}button,summary{cursor:pointer}button{border-radius:2px}p{margin:0 0 1em}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;line-height:1.12;letter-spacing:-.025em;margin:0 0 .65em;color:var(--ink)}h1{font-size:clamp(34px,4vw,60px)}h2{font-size:clamp(28px,3vw,40px)}h3{font-size:20px}ul,ol{padding-left:24px}input,select,textarea{max-width:100%;min-width:0;border:1px solid #a4b2bf;border-radius:2px;background:white;color:var(--ink);padding:12px;width:100%}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--blue);margin:3px 0}.container{max-width:1376px;margin-inline:auto;padding-inline:48px}.section{margin-block:88px}.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-size:13px;margin-bottom:24px}.muted{color:var(--muted)}.small{font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:14px 24px;border:1px solid var(--blue);background:var(--blue);color:white;font-size:16px;font-weight:700;line-height:1.3;text-decoration:none;border-radius:2px}.button:hover{background:#103d73;border-color:#103d73;color:white}.text-link{font-weight:700}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{display:block;padding:12px;background:var(--blue);color:white;position:fixed;top:0;left:0;z-index:1000}
.site-header{display:flex;align-items:center;gap:30px;min-height:108px;position:relative}.site-header::after{content:"";height:1px;background:var(--blue);position:absolute;bottom:0;left:24px;right:24px}.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--blue);flex-shrink:0}.brand strong{font-size:30px;letter-spacing:.24em;text-transform:uppercase;line-height:1.1;display:block}.brand small{font-size:11px;letter-spacing:.12em;display:block;margin-top:6px;color:var(--ink)}.brand-mark{width:53px;height:45px;display:block;position:relative;border:2px solid var(--blue);border-bottom:0;margin-bottom:4px}.brand-mark::after{content:"";position:absolute;bottom:-7px;left:-14px;right:-14px;height:13px;background:var(--white);border-top:3px solid var(--blue);border-radius:50% 50% 0 0}.brand-logo{max-width:250px;max-height:70px;width:auto;object-fit:contain}.main-nav{display:flex;justify-content:center;align-items:stretch;gap:24px;flex:1}.nav-item{position:relative;display:flex;align-items:center}.main-nav .nav-item>a{display:inline-block;position:relative;padding:0;margin-block:40px;color:var(--ink);font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap}.main-nav a[aria-current=page]{color:var(--blue)}.main-nav a[aria-current=page]::after,.main-nav .nav-item>a:hover::after,.main-nav .nav-item>a:focus-visible::after{content:"";position:absolute;bottom:-10px;left:0;right:0;height:4px;background:var(--blue)}.header-contact{display:flex;flex-direction:column;align-items:end;gap:5px;font-size:14px}.header-contact a{text-decoration:none;font-weight:700;white-space:nowrap}.contact-link{font-size:16px}.menu-toggle{display:none;background:white;border:1px solid var(--line);color:var(--blue);padding:10px 14px;min-height:44px}
.hero{padding-top:52px}.hero-intro{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:end;margin-bottom:38px}.hero h1{font-size:clamp(38px,4.8vw,68px);line-height:1.05;letter-spacing:-.045em;margin:0}.hero h1 span{color:var(--blue)}.hero-intro>p{font-size:22px;line-height:1.35;margin:0 0 5px}.hero-image{min-height:490px;position:relative;background-color:var(--surface);overflow:hidden;display:flex;align-items:end}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-action{position:relative;background:white;border:1px solid var(--line);width:440px;padding:28px 32px;display:flex;align-items:start;flex-direction:column;gap:18px}.hero-action h2{font-size:25px;margin:0}.hero-action>a:last-child{font-size:19px}.quick-categories{display:flex;align-items:center;gap:0;padding-block:30px;border-bottom:1px solid var(--line);flex-wrap:wrap;row-gap:22px}.quick-categories>span{color:var(--muted);font-size:14px;padding-right:24px}.quick-categories a{padding-inline:23px;border-left:1px solid #a4b2bf;font-size:16px;font-weight:700;text-decoration:none;color:var(--ink)}.quick-categories a:hover{color:var(--blue)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:12px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.apartment-card{border:1px solid var(--line);min-width:0;transition:box-shadow .2s}.apartment-card:hover{box-shadow:0 6px 20px #1c283415}.card-link{display:block;color:var(--ink);text-decoration:none;height:100%}.card-image{aspect-ratio:1.5;position:relative;background:var(--surface);overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.card-link:hover img{transform:scale(1.025)}.photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:20px}.card-badge{position:absolute;left:16px;top:16px;background:white;color:var(--blue);font-size:12px;font-weight:700;padding:5px 10px}.card-body{padding:22px}.card-price{font-size:25px;font-weight:700;line-height:1.2;margin-bottom:12px}.card-body h3{font-size:18px;line-height:1.35;margin-bottom:16px}.card-specs{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:14px;margin-bottom:16px}.card-specs>span+span{position:relative}.card-specs>span+span::before{content:"·";position:absolute;left:-10px;color:#a4b2bf}.card-address,.card-metro{font-size:14px;line-height:1.4;margin-bottom:8px}.card-address{color:var(--muted)}.card-metro{color:var(--blue);margin-bottom:0}.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding-top:30px}.benefit-number{display:block;color:var(--blue);font-size:16px;margin-bottom:28px}.benefits h3{font-size:23px;line-height:1.3;font-weight:500}.about-summary{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:64px}.about-summary p{line-height:1.7}.lead-section{margin-block:80px;background:var(--surface);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:64px}.lead-section>div>p{max-width:400px}.lead-form{display:flex;flex-direction:column;gap:18px}.lead-form>label{display:flex;flex-direction:column;gap:7px}.lead-form .consent{flex-direction:row;align-items:start;font-size:12px;line-height:1.5;gap:10px}.lead-form .button{align-self:start}.xill-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{padding:16px;background:var(--surface);border:1px solid #a4b2bf;font-size:14px}.lead-section .form-status{background:white}
.page-intro{padding-block:56px 28px}.page-intro .eyebrow{margin-bottom:16px}.page-intro>p:last-child{color:var(--muted);margin-bottom:0}.catalog-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:36px;align-items:start;margin-bottom:80px}.filter-panel{border:1px solid var(--line);background:#f8fafc;padding:22px}.filter-panel>summary{display:none}.filter-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.filter-title h2{font-size:20px;margin:0}.filter-title a{font-size:12px}.filter-panel fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.filter-panel legend{font-size:14px;font-weight:700;margin-bottom:10px}.check-option{display:flex;align-items:start;gap:8px;font-size:13px;padding-block:4px;line-height:1.6}.range-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.range-fields input{padding:9px 6px;font-size:14px}.range-fields label{display:flex;flex-direction:column;gap:4px}.filter-panel .button{width:100%;font-size:14px;padding-inline:8px}.filter-reset{display:block;text-align:center;margin-top:14px;font-size:13px}.sort-form{display:flex;align-items:center;justify-content:end;gap:12px;margin-bottom:24px;font-size:14px;flex-wrap:wrap}.sort-form select{width:auto;padding:10px;min-height:44px}.sort-button{min-height:44px;padding:8px 12px;border:1px solid var(--line);background:white;color:var(--blue)}.catalog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{padding:48px 28px;background:var(--surface);grid-column:1/-1}.empty-state h2{font-size:28px}.pagination{margin-top:40px}.page-numbers{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}.page-numbers a,.page-numbers .current,.page-numbers .dots{padding:10px 14px;min-height:44px;display:inline-flex;border:1px solid var(--line);text-decoration:none}.page-numbers .current{background:var(--blue);color:white;border-color:var(--blue)}.developer-heading{display:flex;gap:28px;align-items:center;margin-bottom:24px}.developer-heading h1{margin:0}.developer-logo{max-width:150px;max-height:100px;object-fit:contain}.prose{max-width:800px;line-height:1.7;overflow-wrap:anywhere}.prose img{height:auto}.prose>*:last-child{margin-bottom:0}
.breadcrumbs{font-size:13px;color:var(--muted);margin-block:32px}.apartment-title{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:32px}.apartment-title h1{font-size:clamp(30px,3.4vw,48px);margin:0;max-width:800px}.apartment-title .eyebrow{margin-bottom:16px}.detail-price{font-size:32px;font-weight:700;white-space:nowrap;margin:0}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:40px}.gallery-photo{display:block;aspect-ratio:1.45;background:var(--surface);overflow:hidden}.gallery-photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:280px}.gallery-photo:only-child{grid-column:1/-1;max-height:620px;aspect-ratio:2}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;margin-bottom:80px;align-items:start}.main-specs{display:flex;gap:36px;flex-wrap:wrap;padding-bottom:32px;border-bottom:1px solid var(--line)}.main-specs>div{display:flex;flex-direction:column;gap:10px}.main-specs span{color:var(--muted);font-size:13px}.main-specs strong{font-size:22px}.detail-section{margin-block:36px}.detail-section h2{font-size:28px}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:15px}.detail-list dt{color:var(--muted)}.detail-list dd{color:var(--ink);margin:0;overflow-wrap:anywhere}.apartment-contact{background:var(--surface);padding:28px;position:sticky;top:24px}.apartment-contact h2{font-size:28px}.apartment-contact .button{display:flex;width:100%;margin-top:24px}.contact-number{display:block;text-align:center;margin-block:12px 24px;font-weight:700}.apartment-contact>.text-link{display:block;font-size:14px}.metro-line{color:var(--blue)}
.about-page{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:72px;align-items:center}.about-page .button{margin-top:28px}.about-photo img{width:100%;max-height:550px;object-fit:cover;display:block}.about-placeholder{background:var(--surface);padding:64px;min-height:390px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:40px}.about-placeholder .brand-mark::after{background:var(--surface)}.about-placeholder p{font-size:40px;letter-spacing:-.035em;line-height:1.15;color:var(--blue);margin:0}.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-block:24px 64px}.contact-grid h2{font-size:16px;color:var(--muted);font-weight:400}.contact-grid a,.contact-grid p{font-size:22px;overflow-wrap:anywhere}.site-footer{border-top:1px solid var(--line);padding-block:48px 24px;background:#f8fafc}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1fr;gap:48px}.footer-grid .brand{margin-bottom:28px}.footer-grid .brand-mark::after{background:#f8fafc}.footer-grid nav{display:flex;flex-direction:column;gap:12px}.footer-grid nav a{color:var(--ink);text-decoration:none}.footer-contacts{display:flex;flex-direction:column;align-items:start;gap:10px}.footer-contacts>a{font-weight:700}.footer-contacts p{margin:0}.messengers{display:flex;gap:16px;flex-wrap:wrap}.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px}
#xill-lightbox{border:0;padding:18px;background:#101923;color:white;width:calc(100vw - 40px);max-width:1320px;max-height:calc(100dvh - 40px)}#xill-lightbox::backdrop{background:#000d}#xill-lightbox[open]{display:flex;flex-direction:column;gap:16px}.lightbox-toolbar{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap}.lightbox-toolbar button{min-height:44px;padding:8px 16px;background:#fff;color:var(--ink);border:0}.lightbox-toolbar button:last-child{margin-left:auto}#gallery-full{display:block;width:100%;height:calc(100dvh - 150px);object-fit:contain;min-height:0}body.gallery-open{overflow:hidden}
@media(min-width:1280px){.catalog-layout{grid-template-columns:260px minmax(0,1fr)}.catalog-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-cards .card-body{padding:18px}.catalog-cards .card-price{font-size:22px}}
@media(max-width:1150px){.container{padding-inline:32px}.site-header{gap:20px}.brand strong{font-size:24px}.brand small{font-size:10px}.brand-mark{width:40px;height:36px}.brand{gap:14px}.main-nav{gap:18px}.main-nav .nav-item>a{font-size:14px}.header-contact{font-size:12px}.contact-link{font-size:14px}.hero-intro{grid-template-columns:1.7fr 1fr;gap:30px}.hero-intro>p{font-size:19px}.hero-image{min-height:400px}.quick-categories a{padding-inline:14px;font-size:14px}.detail-layout{gap:32px;grid-template-columns:minmax(0,1fr) 280px}.benefits{gap:24px}.benefits h3{font-size:20px}.lead-section{padding:36px;gap:36px}}
@media(max-width:900px){.site-header{flex-wrap:wrap;min-height:90px;justify-content:space-between;padding-top:20px;padding-bottom:20px}.site-header::after{left:20px;right:20px}.menu-toggle:not([hidden]){display:block}.header-contact{flex-direction:row;align-items:center;gap:16px;margin-left:auto}.header-contact .contact-link{display:none}.main-nav{order:4;flex-basis:100%;justify-content:start;flex-wrap:wrap;gap:10px 30px}.main-nav[hidden]{display:none}.main-nav .nav-item>a{margin-block:12px;font-size:16px}.main-nav a[aria-current=page]::after,.main-nav .nav-item>a:hover::after,.main-nav .nav-item>a:focus-visible::after{height:2px;bottom:-8px}.hero{padding-top:36px}.hero-intro{grid-template-columns:1fr;gap:24px}.hero h1{font-size:50px}.hero-intro>p{font-size:20px;max-width:450px}.hero-image{min-height:370px}.hero-action{width:370px;padding:24px}.hero-action h2{font-size:22px}.quick-categories{gap:16px}.quick-categories>span{width:100%;padding:0}.quick-categories a{padding-left:0;padding-right:16px;border-left:0;border-right:1px solid var(--line)}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{margin-block:64px}.benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.benefit-number{margin-bottom:16px}.about-summary{gap:32px;padding-top:40px}.lead-section{grid-template-columns:1fr;gap:32px}.lead-section>div>p{max-width:600px}.catalog-layout{grid-template-columns:1fr;gap:24px}.filter-panel{padding:0}.filter-panel>summary{display:flex;justify-content:space-between;padding:16px 20px;font-weight:700;color:var(--blue);list-style:none}.filter-panel>form{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.filter-title{grid-column:1/-1}.filter-panel .filter-reset{margin-top:0;align-self:center}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1fr)}.apartment-contact{position:static;max-width:none}.apartment-contact .button{max-width:320px}.contact-number{text-align:left}.apartment-title{align-items:start;flex-direction:column;gap:20px}.about-page{gap:32px}.about-placeholder{padding:36px}.about-placeholder p{font-size:34px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-contacts{grid-column:1/-1}}
@media(max-width:540px){.container{padding-inline:20px}.site-header{gap:16px}.brand strong{font-size:23px}.brand small{font-size:8px}.brand-mark{width:33px;height:31px}.brand-mark::after{left:-8px;right:-8px}.brand{gap:13px}.brand-logo{max-width:200px;max-height:50px}.header-contact{flex-basis:100%;justify-content:start;margin-left:0}.header-contact .contact-link{display:block;margin-left:auto}.main-nav{gap:6px 20px}.hero{padding-top:30px}.eyebrow{font-size:11px;margin-bottom:18px}.hero h1{font-size:38px}.hero-intro{margin-bottom:28px;gap:20px}.hero-intro>p{font-size:18px}.hero-image{display:block;min-height:0;padding-top:230px;background-color:var(--surface)}.hero-photo{height:230px}.hero-action{width:100%;padding:24px;gap:16px}.hero-action .button{width:100%;font-size:14px;gap:10px}.hero-action h2{font-size:22px}.hero-action>a:last-child{font-size:16px}.quick-categories{padding-block:24px;gap:16px 12px}.quick-categories a{font-size:14px;padding-right:12px}.section{margin-block:48px}.section-heading{align-items:start;flex-direction:column;gap:16px;margin-bottom:24px}.cards-grid{grid-template-columns:1fr;gap:20px}.card-body{padding:20px}.card-price{font-size:25px}.benefits{gap:24px 20px}.benefits h3{font-size:18px}.about-summary{grid-template-columns:1fr;gap:20px;padding-top:32px}.lead-section{margin-block:48px;padding:28px 20px;gap:24px}.lead-section h2{font-size:28px}.lead-form .button{width:100%}.page-intro{padding-block:36px 24px}.filter-panel>form{grid-template-columns:1fr}.filter-title{grid-column:auto}.filter-panel .filter-reset{margin-top:18px}.sort-form{justify-content:start;gap:8px}.sort-form label{width:100%;font-size:12px}.sort-form select{flex:1}.empty-state{padding:28px 20px}.empty-state h2{font-size:24px}.developer-heading{flex-direction:column;align-items:start;gap:16px}.developer-logo{max-width:100px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-photo:first-child{grid-column:1/-1;grid-row:auto;min-height:0;aspect-ratio:1.35}.gallery-photo:only-child{aspect-ratio:1.35}.breadcrumbs{margin-top:24px;font-size:12px}.detail-price{font-size:30px}.main-specs{gap:24px;display:grid;grid-template-columns:1fr 1fr}.main-specs strong{font-size:20px}.detail-list>div{grid-template-columns:1fr 1fr;gap:12px;font-size:14px}.detail-section h2{font-size:25px}.detail-layout{gap:16px;margin-bottom:48px}.apartment-contact{padding:24px}.about-page{grid-template-columns:1fr;gap:32px;margin-bottom:48px}.about-placeholder{min-height:300px}.contact-grid{grid-template-columns:1fr;gap:24px}.contact-grid a,.contact-grid p{font-size:20px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-contacts{grid-column:auto}.footer-grid .brand{margin-bottom:20px}.footer-bottom{margin-top:28px}.lightbox-toolbar{gap:8px}.lightbox-toolbar button{padding:8px 12px;font-size:13px}.lightbox-toolbar button:last-child{margin-left:0}.lightbox-toolbar span{font-size:13px}#xill-lightbox{width:calc(100vw - 16px);padding:10px}#gallery-full{height:calc(100dvh - 160px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Fill short pages; WP adds the admin-bar margin to html, outside the body. */
body.admin-bar{--xill-admin-offset:var(--wp-admin--admin-bar--height,32px)}
body.xill-site>.site-header{width:100%;flex-shrink:0}
body.xill-site>main{width:100%;flex:1 0 auto}
body.xill-site>.site-footer{flex-shrink:0}
@media(max-width:782px){body.admin-bar{--xill-admin-offset:var(--wp-admin--admin-bar--height,46px)}}
