/* Единая типографика публичного сайта. Административная оболочка не подключает этот файл. */
body.realtor-theme[data-public-typography] {
    --type-hero: 48px;
    --type-h1: 36px;
    --type-h2: 30px;
    --type-h3: 22px;
    --type-text: 16px;
    --type-lead: 18px;
    --type-meta: 14px;
    --type-small: 12px;
    font-family: Montserrat, Arial, sans-serif;
    font-size: var(--type-text);
    line-height: 1.7;
}
body.realtor-theme[data-public-typography] main :is(h1,h2,h3) {
    font-family: Oswald, "Arial Narrow", sans-serif;
    line-height: 1.25;
}
body.realtor-theme[data-public-typography] main h1 {
    font-size: var(--type-h1);
    line-height: 1.2;
    margin-bottom: 24px;
}
body.realtor-theme[data-public-typography] main h2 {
    font-size: var(--type-h2);
    margin-bottom: 18px;
}
body.realtor-theme[data-public-typography] main h3 {
    font-size: var(--type-h3);
    line-height: 1.3;
    margin-bottom: 14px;
}
body.realtor-theme[data-public-typography] main p {
    font-size: var(--type-text);
    line-height: 1.7;
    margin-bottom: 16px;
}
body.realtor-theme[data-public-typography] .re-hero h1 { font-size: var(--type-hero); }
body.realtor-theme[data-public-typography] :is(.re-hero-description,.re-sell-lead,.agency-contacts-heading>p:last-child) {
    font-size: var(--type-lead);
    line-height: 1.7;
}
body.realtor-theme[data-public-typography] :is(.description,.blog-content,.blog-content p,.blog-content li,.property-facts dt,.property-facts dd) {
    font-size: var(--type-text);
    line-height: 1.8;
}
body.realtor-theme[data-public-typography] :is(.button,input,select,textarea,label) {
    font-size: var(--type-text);
    font-family: Montserrat, Arial, sans-serif;
}
body.realtor-theme[data-public-typography] :is(.re-nav,.re-text-link,.re-eyebrow,.eyebrow,.re-hero-note,.re-hero-photo>span,.re-contact-hint,.re-sell-location,.property-address,.agency-property-email,.agency-property-catalog,.agency-property-correction,.feedback-consent,.map-caption,.re-search-fields label>span,.re-search-tabs button,.blog-meta,.footer-link-group,.footer-brand p,.footer-agency-contacts,.footer-documents,.footer-legal,.footer-credit,.footer-cookie-settings) {
    font-size: var(--type-meta);
    line-height: 1.6;
}
body.realtor-theme[data-public-typography] .listing-card .card-body h2,
body.realtor-theme[data-public-typography] .listing-card .card-body h2 a {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 12px;
}
body.realtor-theme[data-public-typography] .listing-card :is(.card-location,.card-facts,.card-facts span,.price-equivalents) {
    font-size: var(--type-meta);
    line-height: 1.6;
}
body.realtor-theme[data-public-typography] .listing-card :is(.card-excerpt,.card-meta,time) { font-size: var(--type-text); }
body.realtor-theme[data-public-typography] .listing-card .card-price { font-size: 20px; }
body.realtor-theme[data-public-typography] .project-card h2,
body.realtor-theme[data-public-typography] .project-card h2 a {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 12px;
}
body.realtor-theme[data-public-typography] .project-card-body p { font-size: var(--type-meta); }
body.realtor-theme[data-public-typography] small { font-size: var(--type-meta); }
body.realtor-theme[data-public-typography] .availability-badge { font-size: var(--type-meta); }
body.realtor-theme[data-public-typography] .property-share-button { font-size: var(--type-text) !important; }
body.realtor-theme[data-public-typography] .blog-grid .card-body h2,
body.realtor-theme[data-public-typography] .blog-grid .card-body h2 a { font-size: 22px; }
body.realtor-theme[data-public-typography] .blog-grid :is(.card-body>p,.blog-meta,.blog-meta time) { font-size: var(--type-text); }
body.realtor-theme[data-public-typography] .property-price-block .card-price { font-size: 32px; }
body.realtor-theme[data-public-typography] .property-price-block .price-equivalents { font-size: var(--type-meta); }
body.realtor-theme[data-public-typography] :is(.feature-strip small,.smart-search>small,.smart-status,.smart-dropdown [role=option] small,.search-understood li,.property-share-status) { font-size: var(--type-small); }
body.realtor-theme[data-public-typography] .public-help-faq summary { font-size: var(--type-lead); }
body.realtor-theme[data-public-typography] .breadcrumbs {
    font-size: var(--type-meta);
    line-height: 1.35;
    column-gap: 10px;
    row-gap: 3px;
}
@media (max-width: 700px) {
    body.realtor-theme[data-public-typography] {
        --type-hero: 36px;
        --type-h1: 30px;
        --type-h2: 26px;
        --type-h3: 20px;
    }
    body.realtor-theme[data-public-typography] .property-price-block .card-price { font-size: 28px; }
    body.realtor-theme[data-public-typography] .breadcrumbs { column-gap: 8px; row-gap: 2px; }
}

/* Одинаковая геометрия и центрирование номеров страниц. */
body.realtor-theme[data-public-typography] .pagination{align-items:center}
body.realtor-theme[data-public-typography] .pagination>a,
body.realtor-theme[data-public-typography] .pagination>span{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;height:44px;padding:0 10px;font-family:Montserrat,Arial,sans-serif;font-size:18px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}

body.realtor-theme[data-public-typography] .pagination>a{transition:background-color .2s,color .2s,border-color .2s}
body.realtor-theme[data-public-typography] .pagination>a:hover{background:#edf0e9;border-color:#b5ad88;color:#354036}
body.realtor-theme[data-public-typography] .pagination>a[aria-current=page],
body.realtor-theme[data-public-typography] .pagination>a[aria-current=page]:hover,
body.realtor-theme[data-public-typography] .pagination>a[aria-current=page]:focus-visible{background:#556359;border-color:#556359;color:#fff}
