/* Front-end styles for Azbuka Visual Builder */
.azvb-section{width:min(1240px,calc(100% - 32px));margin:32px auto;box-sizing:border-box}.azvb-section.alignfull{width:100%;max-width:none;margin-left:0;margin-right:0}.azvb-section.is-rounded{border-radius:24px;overflow:hidden}.azvb-section__inner{width:min(1180px,calc(100% - 32px));margin:0 auto}.azvb-hero{box-sizing:border-box}.azvb-hero .wp-block-cover__inner-container,.azvb-hero--plain{padding:clamp(48px,8vw,100px) 20px}.azvb-hero--plain{background:linear-gradient(135deg,#eef6ff,#fff)}.azvb-hero h1{font-size:clamp(38px,6vw,74px);line-height:1.02;max-width:920px}.azvb-hero p:not(.azvb-eyebrow){font-size:clamp(17px,2vw,22px);max-width:760px}.azvb-eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#1b82d1}.azvb-feature-grid,.azvb-steps{gap:18px}.azvb-feature-card,.azvb-step{height:100%;padding:24px;border:1px solid #dce6f0;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(16,41,76,.07)}.azvb-step>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0b70b7;color:#fff;font-weight:900}.azvb-cta{padding:30px;border-radius:22px;background:linear-gradient(135deg,#0d3f7a,#1686cc);color:#fff;margin-top:36px;margin-bottom:36px}.azvb-cta h2,.azvb-cta p{color:#fff}.azvb-dynamic-widget{width:min(1240px,calc(100% - 32px));margin:32px auto}.azvb-widget-fallback{display:none}.azvb-property-grid,.azvb-latest-posts__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.azvb-property-card,.azvb-latest-posts article{border:1px solid #dce6f0;border-radius:18px;overflow:hidden;background:#fff}.azvb-property-card img,.azvb-latest-posts img{width:100%;height:220px;object-fit:cover}.azvb-property-card h3,.azvb-latest-posts article div{padding:18px}.azvb-latest-posts article a{color:inherit;text-decoration:none}.azvb-office-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.azvb-office-gallery figure{margin:0}.azvb-office-gallery img{width:100%;height:260px;object-fit:cover;border-radius:16px}.azvb-yandex-reviews iframe,.azvb-map iframe{width:100%;height:560px;border:0;border-radius:18px}.azvb-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.azvb-contacts>div{padding:22px;border:1px solid #dce6f0;border-radius:16px;background:#fff}.azvb-contacts span{display:block;color:#617087;margin-bottom:6px}.azvb-contacts strong{font-size:18px}.azvb-rounded-image img{border-radius:22px}
@media(max-width:760px){.azvb-section,.azvb-dynamic-widget{width:calc(100% - 20px)}.azvb-section__inner{width:calc(100% - 20px)}.azvb-hero h1{font-size:clamp(32px,10vw,46px);overflow-wrap:anywhere}.azvb-feature-grid,.azvb-steps,.azvb-property-grid,.azvb-latest-posts__grid,.azvb-office-gallery,.azvb-contacts{grid-template-columns:1fr!important}.azvb-cta{margin-left:10px!important;margin-right:10px!important}.azvb-yandex-reviews iframe,.azvb-map iframe{height:380px}}
.azvb-home-search{width:min(1180px,calc(100% - 32px));margin:-70px auto 42px;position:relative;z-index:4}.azvb-home-search form{display:grid;grid-template-columns:1.2fr 1.6fr .8fr .8fr auto auto;gap:10px;padding:18px;background:#fff;border-radius:18px;box-shadow:0 18px 55px rgba(9,34,69,.2)}.azvb-home-search label{display:grid;gap:5px}.azvb-home-search label span{font-size:12px;font-weight:800;color:#526278}.azvb-home-search input,.azvb-home-search select{width:100%;min-height:48px;border:1px solid #d8e1eb;border-radius:10px;padding:0 12px}.azvb-home-search button,.azvb-home-search a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:10px;text-decoration:none;font-weight:800}.azvb-home-search button{background:#0875bb;color:#fff;border:0}.azvb-home-search a{border:1px solid #d8e1eb;color:#183b63}.azvb-home-category-grid{gap:16px}.azvb-home-category-card{border-radius:20px;overflow:hidden}.azvb-home-category-card .wp-block-cover__inner-container{padding:22px}.azvb-home-category-card h3,.azvb-home-category-card li{color:#fff}.azvb-home-category-card .wp-block-button{margin-top:18px}.azvb-home-category-card .wp-block-button__link{background:#0875bb;border:1px solid rgba(255,255,255,.7)}
@media(max-width:1050px){.azvb-home-search form{grid-template-columns:repeat(2,minmax(0,1fr))}.azvb-home-category-grid{flex-wrap:wrap}.azvb-home-category-grid>.wp-block-column{flex-basis:calc(50% - 8px)!important}}
@media(max-width:760px){.azvb-home-search{margin:-30px auto 28px;width:calc(100% - 20px)}.azvb-home-search form{grid-template-columns:1fr;padding:12px}.azvb-home-category-grid>.wp-block-column{flex-basis:100%!important}.azvb-home-category-card{min-height:280px!important}}


/* 1.2.2 — одинаковое жирное начертание телефонов на странице контактов. */
.contacts-section .contact-line .azvb-contact-phone,
.contacts-section .contact-line a[href^="tel:"] {
    display: block !important;
    color: #061427 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
}

/* Строка старого шаблона с обещанием 24/7 больше не выводится. */
.contacts-section .contact-line small {
    display: none !important;
}


/* 1.2.3 — номер больше не может переноситься внутри круглой иконки. */
@media (max-width: 760px) {
    .azmf-contact-strip .azmf-icon {
        overflow: hidden !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-indent: 0 !important;
        line-height: 1 !important;
    }
}


/* 1.3.0 — безопасный SEO-слой под неизменённым Codex-шорткодом. */
.azvb-safe-seo-layer {
    max-width: 1180px;
    margin: 54px auto;
    padding: 42px clamp(18px, 4vw, 54px);
    border: 1px solid rgba(16, 51, 89, .10);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 46px rgba(18, 48, 82, .07);
}
.azvb-safe-seo-layer h2 {
    margin-top: 34px;
    margin-bottom: 14px;
}
.azvb-safe-seo-layer h2:first-child {
    margin-top: 0;
}
.azvb-safe-seo-layer p,
.azvb-safe-seo-layer li {
    line-height: 1.72;
}
.azvb-safe-seo-image img {
    width: 100%;
    max-height: 440px;
    object-fit: cover;
    border-radius: 18px;
}
.azvb-safe-seo-layer .wp-block-details {
    margin: 10px 0;
    padding: 14px 18px;
    border: 1px solid rgba(16, 51, 89, .12);
    border-radius: 14px;
    background: #f8fbff;
}
.azvb-safe-seo-layer .wp-block-details summary {
    cursor: pointer;
    font-weight: 750;
}
@media (max-width: 760px) {
    .azvb-safe-seo-layer {
        width: calc(100% - 20px);
        margin: 28px auto;
        padding: 24px 16px;
        border-radius: 18px;
    }
}
