/* Shared responsive scale for the UDEL page families. Legacy home/seller heroes remain references. */
body.udel-clean {
    --udel-body: clamp(21px, 1.565vw, 30px);
    --udel-small: clamp(17px, 1.25vw, 24px);
    --udel-title: clamp(48px, 4.626vw, 89px);
    --udel-heading: clamp(32px, 3.4vw, 58px);
    --udel-subheading: clamp(25px, 2.1vw, 36px);
    --udel-gutter: clamp(18px, 3.05vw, 64px);
    --udel-shell: 1920px;
    --udel-space: clamp(44px, 5.6vw, 108px);
    --udel-gap: clamp(20px, 3vw, 58px);
}
body.udel-clean .udel-consent-link {
    color: inherit;
    font: inherit;
    text-decoration: underline !important;
    text-underline-offset: .15em;
}
body.udel-clean .udel-consent-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Every native family reads the same body and heading scale. */
body.udel-clean #udel-main :is(.udel-buy-v3,.udel-intent-page,.udel-intent-block,.udel-sale-cases,.udel-sale-case) {
    font-size: var(--udel-body);
    line-height: 1.42;
}
body.udel-clean #udel-main :is(.udel-buy-v3,.udel-intent-page,.udel-intent-block,.udel-sale-cases) h2 {
    font-size: var(--udel-heading);
    line-height: 1.12;
}
body.udel-clean #udel-main :is(.udel-buy-v3,.udel-intent-page,.udel-intent-block,.udel-sale-cases) h3 {
    font-size: var(--udel-subheading) !important;
    line-height: 1.16;
}
body.udel-clean #udel-main :is(.udel-buy-v3,.udel-intent-page,.udel-intent-block,.udel-sale-cases) :is(h1,h2,h3,p,li) {
    overflow-wrap: anywhere;
}
body.udel-clean #udel-main :is(.udel-buy-shell,.udel-intent-inner,.udel-sale-cases .udel-intent-inner) {
    box-sizing: border-box;
    width: min(100%, var(--udel-shell));
    max-width: var(--udel-shell);
    padding-inline: var(--udel-gutter);
    margin-inline: auto;
}
body.udel-clean #udel-main .udel-company-wide {
    width: min(calc(100% - 2 * var(--udel-gutter)), calc(var(--udel-shell) - 2 * var(--udel-gutter)));
}
body.udel-clean #udel-main :is(.udel-buy-block,.udel-intent-block,.udel-sale-cases) { padding-block: var(--udel-space); }
body.udel-clean #udel-main :is(.udel-buy-hero,.udel-company-hero) h1 { font-size: var(--udel-title) !important; line-height: 1.03; }
body.udel-clean #udel-main :is(.udel-buy-lead,.udel-company-lead) { font-size: clamp(22px,1.7vw,33px); line-height: 1.4; }
body.udel-clean #udel-main :is(.udel-buy-kicker,.udel-buy-source-note,.udel-buy-budget figcaption>p,.udel-buy-note,
    .udel-company-crumbs,.udel-company-review figcaption,.udel-company-contact-consent,.udel-sale-case-label) {
    font-size: var(--udel-small);
    line-height: 1.4;
}
body.udel-clean #udel-main :is(.udel-buy-button,.udel-intent-button,.udel-sale-case-video,.udel-company-consultation-form button) {
    min-height: 52px;
    font-size: var(--udel-body);
    line-height: 1.2;
    white-space: normal;
}
body.udel-clean #udel-main :is(.udel-buy-equation,.udel-buy-compare,.udel-buy-route,.udel-company-points,.udel-company-value-example) {
    font-size: var(--udel-body);
}
body.udel-clean #udel-main :is(.udel-buy-equation,.udel-buy-compare,.udel-company-points) :is(p,li,dd) { font-size: inherit; }
body.udel-clean #udel-main :is(.udel-buy-form,.udel-company-consultation-form) :is(label,.udel-form-status) { font-size: var(--udel-small); }
body.udel-clean #udel-main .udel-buy-form { font-size: var(--udel-body); }
body.udel-clean #udel-main :is(.udel-buy-step-copy p,.udel-buy-checks article .udel-buy-card-detail,.udel-buy-route strong,.udel-buy-equation strong,
    .udel-buy-listings .new_item__img-price,.udel-buy-listings .new_item__txt-tit) { font-size: var(--udel-body); }
body.udel-clean #udel-main :is(.udel-buy-route small,.udel-buy-equation li>span,.udel-buy-step-result span,.udel-buy-case-fact span,
    .udel-buy-listings .new_item__txt-type,.udel-buy-listings .new_item__txt-more,.udel-buy-video-poster span,.udel-buy-form-consent) { font-size: var(--udel-small); }
body.udel-clean #udel-main .udel-buy-hero-card-copy strong { font-size: var(--udel-subheading); }
body.udel-clean #udel-main .udel-buy-hero-card-copy small { font-size: var(--udel-small); }
body.udel-clean #udel-main :is(.udel-company-faq,.udel-buy-faq) { max-width: min(100%,68ch); }
body.udel-clean #udel-main :is(.udel-company-faq,.udel-buy-faq) summary { font-size: var(--udel-body); }
body.udel-clean #udel-main :is(.udel-company-team-card,.udel-company-broker,.udel-sale-case) :is(p,li,dd,blockquote) { font-size: var(--udel-body); }

/* Tokens cover both published Elementor service layouts and their native editorial successors. */
body.udel-scale-services #udel-main,
body.udel-clean #udel-main .udel-service-page {
    --udel-service-copy: var(--udel-body);
    --udel-service-title: var(--udel-title);
    --udel-service-lead: clamp(22px,1.7vw,33px);
    --udel-service-heading: var(--udel-heading);
    --udel-service-subtitle: var(--udel-heading);
    --udel-service-card-title: var(--udel-subheading);
    --udel-service-small: var(--udel-small);
    --udel-service-gutter: var(--udel-gutter);
    --udel-service-gap: var(--udel-gap);
    --udel-service-pad: clamp(22px,2.7vw,52px);
    --udel-service-card-pad: clamp(22px,2vw,38px);
    --udel-service-card-image: clamp(85px,7.5vw,144px);
    --udel-service-card-height: clamp(150px,15vw,288px);
    --udel-service-flip-height: clamp(300px,27vw,520px);
    --udel-service-inner: min(calc(100% - 2 * var(--udel-gutter)),calc(var(--udel-shell) - 2 * var(--udel-gutter)));
    --udel-service-section-space: var(--udel-space);
}
body.udel-clean #udel-main .udel-service-page :is(.udel-service-inner,.udel-intent-inner,.udel-service-hero-shell) {
    width: var(--udel-service-inner);
    max-width: none;
    padding-inline: 0;
}
body.udel-clean #udel-main .udel-service-page .udel-service-hero .udel-company-lead { font-size: var(--udel-service-lead); }
body.udel-clean #udel-main .udel-service-page :is(.udel-company-points li,.udel-intent-button) { font-size: var(--udel-body); }
body.udel-scale-services #udel-main .elementor-top-section > .elementor-container {
    box-sizing: border-box;
    max-width: calc(var(--udel-shell) - 2 * var(--udel-gutter)) !important;
}
body.udel-scale-services #udel-main :is(.elementor-widget-image-box,.elementor-widget-flip-box) .elementor-heading-title {
    font-size: var(--udel-subheading) !important;
}

/* A larger editorial page keeps its prose at a readable measure. */
body.udel-clean #udel-main .udel-blog-archive { font-size: var(--udel-body); }
body.udel-clean #udel-main .udel-blog-wrap {
    width: min(calc(100% - 2 * var(--udel-gutter)),calc(var(--udel-shell) - 2 * var(--udel-gutter)));
}
body.udel-clean #udel-main .udel-blog-hero h1 { max-width: 22ch; font-size: var(--udel-title) !important; }
body.udel-clean #udel-main .udel-blog-hero-lead { font-size: var(--udel-body); }
body.udel-clean #udel-main :is(.udel-blog-topic h2,.udel-blog-reads h2) { font-size: var(--udel-heading); line-height: 1.15; }
body.udel-clean #udel-main .udel-blog-card h3 { font-size: var(--udel-subheading) !important; }
body.udel-clean #udel-main .udel-blog-card-body { gap: 12px; padding: clamp(22px,2vw,38px); }
body.udel-clean #udel-main :is(.udel-blog-card-excerpt,.udel-blog-card .new_item__txt-des,.udel-blog-card-more) {
    font-size: var(--udel-body);
    line-height: 1.42;
}
body.udel-clean #udel-main :is(.udel-blog-card-author,.udel-blog-author-panel,.udel-blog-breadcrumbs,.udel-blog-topics a,.udel-blog-meta,.udel-blog-date,.udel-blog-author-name) {
    font-size: var(--udel-small);
}
body.udel-clean #udel-main .udel-blog-card-grid { gap: var(--udel-gap); }
body.udel-clean #udel-main .udel-blog-hero { padding-block: clamp(28px,3vw,58px); }
body.udel-clean.single-article #udel-main .content_single {
    box-sizing: border-box;
    width: min(100%,calc(66ch + 2 * var(--udel-gutter)));
    max-width: 1420px;
    padding: clamp(24px,3vw,58px) var(--udel-gutter);
    font-size: var(--udel-body);
}
body.udel-clean.single-article #udel-main .content_single .b-item {
    font-size: var(--udel-body);
    line-height: 1.55;
    overflow-wrap: anywhere;
}
body.udel-clean.single-article #udel-main .content_single h1 { font-size: clamp(33px,4vw,72px) !important; }
body.udel-clean.single-article #udel-main .b-item h2 { font-size: var(--udel-heading); }
body.udel-clean.single-article #udel-main .b-item h3 { font-size: var(--udel-subheading) !important; }
body.udel-clean.single-article #udel-main .b-item table { display: block; max-width: 100%; overflow-x: auto; font-size: var(--udel-small); }
body.udel-clean.single-article #udel-main .b-item :is(th,td) { font-size: inherit; line-height: 1.4; }
body.udel-clean.single-article #udel-main .kama_breadcrumbs { max-width: min(calc(100% - 2 * var(--udel-gutter)),1420px); font-size: var(--udel-small); }
body.udel-clean.single-article #udel-main :is(.udel-blog-contents summary,.udel-blog-back,.udel-blog-contents nav) { font-size: var(--udel-small); }
body.udel-clean #udel-main .udel-blog-reads {
    box-sizing: border-box;
    width: min(calc(100% - 2 * var(--udel-gutter)),calc(var(--udel-shell) - 2 * var(--udel-gutter)));
    margin-inline: auto;
    font-size: var(--udel-body);
}
body.udel-clean #udel-main .udel-blog-reads ul { font-size: inherit; }
body.udel-clean #udel-main>.udel-blog-reads a { font-size: var(--udel-body); }
body.udel-clean #udel-main .udel-contact-guide { font-size: var(--udel-body); }
body.udel-clean #udel-main .udel-contact-guide h2 { font-size: var(--udel-heading); }

/* Catalog prose uses one body size, two heading levels and consistent emphasis. */
body.udel-scale-catalog #udel-main .item_more__des-txt {
    --udel-catalog-title: clamp(27px,2.4vw,42px);
    --udel-catalog-heading: clamp(23px,1.8vw,34px);
    max-width: 70ch;
    font-family: "PragmaticaWeb-Book",Arial,sans-serif;
    font-size: var(--udel-body);
    font-weight: 400;
    line-height: 1.5;
    color: #333;
    text-align: left;
    overflow-wrap: break-word;
}
body.udel-scale-catalog #udel-main .item_more__des-txt :is(p,li,ul,ol,div,span) {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: normal;
    text-align: left;
}
body.udel-scale-catalog #udel-main .item_more__des-txt :is(h2,h3,h4) {
    position: static;
    max-width: 100%;
    font-family: "PragmaticaWeb-Bold",Arial,sans-serif;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    text-align: left;
    text-wrap: balance;
    overflow-wrap: break-word;
}
body.udel-scale-catalog #udel-main .item_more__des-txt h2 {
    margin: 1.5em 0 .65em;
    font-size: var(--udel-catalog-title) !important;
    line-height: 1.18;
}
body.udel-scale-catalog #udel-main .item_more__des-txt h3 {
    margin: 1.5em 0 .55em;
    font-size: var(--udel-catalog-heading) !important;
    line-height: 1.25;
}
body.udel-scale-catalog #udel-main .item_more__des-txt h4 {
    margin: 1.3em 0 .5em;
    font-size: var(--udel-body) !important;
    line-height: 1.3;
}
body.udel-scale-catalog #udel-main .item_more__des-txt :is(h2,h3,h4)::before,
body.udel-scale-catalog #udel-main .item_more__des-txt :is(h2,h3,h4)::after {
    content: none !important;
    display: none !important;
}
body.udel-scale-catalog #udel-main .item_more__des-txt > :first-child { margin-top: 0; }
body.udel-scale-catalog #udel-main .item_more__des-txt p { margin: 0 0 .9em; }
body.udel-scale-catalog #udel-main .item_more__des-txt :is(ul,ol) { margin: 0 0 1em; padding-left: 1.35em; }
body.udel-scale-catalog #udel-main .item_more__des-txt li { margin: 0 0 .45em; padding-left: .15em; }
body.udel-scale-catalog #udel-main .item_more__des-txt li > p { margin: 0 0 .45em; }
body.udel-scale-catalog #udel-main .item_more__des-txt :is(strong,b) {
    font-family: "PragmaticaWeb-Medium",Arial,sans-serif;
    font-size: inherit !important;
    font-weight: 400;
    line-height: inherit;
    color: inherit;
}
body.udel-scale-catalog #udel-main .item_more__des-txt hr {
    width: 100%;
    height: 1px;
    margin: 1.35em 0;
    padding: 0;
    border: 0;
    background: #e5ded5;
}
body.udel-scale-catalog #udel-main .item_more__des-txt hr + :is(h2,h3,h4) { margin-top: 0; }
body.udel-scale-catalog #udel-main .item_more__des-txt a { color: #773b12; text-underline-offset: .15em; }
body.udel-scale-catalog #udel-main .item_more__des-tit {
    font-family: "PragmaticaWeb-Medium",Arial,sans-serif;
    font-size: var(--udel-small);
    line-height: 1.4;
}
body.udel-scale-catalog #udel-main .item_more__des-tit span { font: inherit; }
body.udel-scale-catalog #udel-main .item_more__des .b-item_detail {
    font-family: "PragmaticaWeb-Book",Arial,sans-serif;
    font-size: var(--udel-small);
    line-height: 1.45;
}
body.udel-scale-catalog #udel-main .item_more__des .b-item_detail span { font-size: inherit; line-height: inherit; }

/* The listing title and facts keep the same hierarchy as the revised description. */
body.udel-scale-catalog #udel-main h1.single_title {
    margin: 0 0 .7em;
    font-family: "PragmaticaWeb-Bold",Arial,sans-serif;
    font-size: clamp(30px,3.2vw,58px) !important;
    font-weight: 400;
    line-height: 1.14;
    text-wrap: balance;
    overflow-wrap: break-word;
}
body.udel-scale-catalog #udel-main .item__info :is(.info_top__half-tit,.info_center__triple-tit,.info_contacts__item-left,.chit) {
    font-family: "PragmaticaWeb-Book",Arial,sans-serif;
    font-size: var(--udel-small);
    line-height: 1.4;
    color: #5b544d;
}
body.udel-scale-catalog #udel-main .item__info :is(.info_center__triple-tit,.info_contacts__item-left) span { font: inherit; color: inherit; }
body.udel-scale-catalog #udel-main .item__info :is(.info_center__triple-sub,.info_contacts__item-right,.info_contacts__item-right a,.info_contacts__item-right span) {
    min-width: 0;
    font-family: "PragmaticaWeb-Medium",Arial,sans-serif;
    font-size: var(--udel-body) !important;
    line-height: 1.4;
    color: #333;
    overflow-wrap: break-word;
}
body.udel-scale-catalog #udel-main .item__info .info_top__half-price {
    font-family: "PragmaticaWeb-Medium",Arial,sans-serif;
    font-size: clamp(27px,2.4vw,42px);
    line-height: 1.2;
}
body.udel-scale-catalog #udel-main .item__info .b-info_center { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
body.udel-scale-catalog #udel-main .item__info .b-info_center::before,
body.udel-scale-catalog #udel-main .item__info .b-info_center::after { content: none; display: none; }
body.udel-scale-catalog #udel-main .item__info .info_center__triple { float: none; width: auto; min-width: 0; }
body.udel-scale-catalog #udel-main .item__info .b-info_links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; width: 100%; margin-inline: 0; padding-inline: 0; }
body.udel-scale-catalog #udel-main .item__info .b-info_links::before,
body.udel-scale-catalog #udel-main .item__info .b-info_links::after { content: none; display: none; }
body.udel-scale-catalog #udel-main .item__info .b-info_links .link { float: none; width: 100%; margin: 0; }
body.udel-scale-catalog #udel-main .item__info .link {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    font-family: "PragmaticaWeb-Medium",Arial,sans-serif;
    font-size: var(--udel-small);
    line-height: 1.25;
    white-space: normal;
    color: #1c1b20;
}
body.udel-scale-catalog #udel-main .item__info :is(.link2,.info_contacts__item-right a) {
    color: #773b12;
    overflow-wrap: anywhere;
}
body.udel-scale-catalog #udel-main .item__info .link2 { font-size: var(--udel-small); line-height: 1.4; }
body.udel-scale-catalog #udel-main .item_more__des .item_detail__left span { color: #5b544d; }
body.udel-scale-catalog #udel-main .item_more__des .item_detail__right span { color: #333; font-family: "PragmaticaWeb-Medium",Arial,sans-serif; }
@media (max-width:1100px) {
    body.udel-scale-catalog #udel-main .item__info .b-info_links { grid-template-columns: minmax(0,1fr); }
    body.udel-scale-catalog #udel-main .item__info .b-info_center { grid-template-columns: minmax(0,1fr); }
    body.udel-scale-catalog #udel-main .item__info .info_center__triple { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
    body.udel-scale-catalog #udel-main .item__info .info_center__triple-tit { flex-shrink: 0; }
    body.udel-scale-catalog #udel-main .item__info .info_center__triple-sub { text-align: right; }
}

/* Native and legacy forms must not fall back to the legacy mobile1.2rem rule. */
body.udel-clean :is(#udel-main,.jet-popup,.b-modal,.b-popup) :is(input[type=text],input[type=tel],input[type=email],textarea) {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 52px !important;
    font-size: var(--udel-body) !important;
    line-height: 1.3;
}
body.udel-clean .jet-popup :is(.elementor-field-option,.elementor-field-option label,.elementor-field-option a) { font-size: var(--udel-small) !important; }
body.udel-clean :is(.jet-popup,.b-modal,.b-popup) :is(button[type=submit],input[type=submit]) {
    min-height: 52px !important;
    max-width: 100%;
    font-size: var(--udel-body) !important;
    white-space: normal;
}
@media (max-width:1100px) {
    body.udel-clean #udel-main .udel-blog-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
    body.udel-clean { --udel-title: clamp(33px,8.53vw,48px); }
    body.udel-clean #udel-main .udel-blog-card-grid { grid-template-columns: minmax(0,1fr); }
}

/* Enlarged text needs the same room in the hero cards and author byline. */
body.udel-clean #udel-main .udel-buy-hero-card-copy { min-width: 0; overflow-wrap: anywhere; }
body.udel-clean #udel-main .udel-buy-hero-card-copy strong { font-size: var(--udel-body); }
body.udel-clean #udel-main .udel-blog-author-panel a { font-size: var(--udel-small); }
body.udel-clean #udel-main :is(.udel-blog-author-label,.udel-blog-author-role,.udel-blog-card-cta,.udel-blog-topics>p) { font-size: var(--udel-small); }
body.udel-clean #udel-main .udel-blog-avatar { flex-basis: clamp(44px,4vw,78px); width: clamp(44px,4vw,78px); height: clamp(44px,4vw,78px); }
body.udel-clean #udel-main .udel-blog-hero .udel-blog-author-panel { padding: clamp(14px,1.4vw,26px); }
body.udel-clean #udel-main .udel-blog-topics a span { font-size: clamp(14px,.9375vw,18px); }
body.udel-clean input[type=checkbox]:is([name="form_fields[sogl]"],[name="form_fields[consent_data]"],[name="confirm[]"]) {
    width: 22px !important; min-width: 22px; height: 22px !important; flex: 0 0 22px; margin-top: 2px; accent-color: #773b12;
}
body.udel-clean #udel-main .udel-buy-form-consent { grid-template-columns: 22px minmax(0,1fr); }
@media (max-width:680px) {
    body.udel-clean #udel-main .udel-buy-hero-cards { grid-template-columns: minmax(0,1fr); }
    body.udel-clean #udel-main a.udel-buy-hero-card { min-height: 154px; }
}

/* Measured mobile overflow, floated contact hit-area and service icon fixes. */
@media (max-width:767px) {
    body.udel-scale-catalog #udel-main .b-item_detail > :is(.item_detail__left,.item_detail__right) { min-width:0; overflow-wrap:anywhere; }
}
body.udel-clean #udel-main .udel-contact-guide { clear:both; display:flow-root; }
body.udel-clean #udel-main img[data-udel-shared-role="icon"] { object-fit:contain; }
body.udel-clean #udel-main .elementor-field select.elementor-field-textual { color:#555; }

/* Contrast of small catalog labels and the existing orange price badges. */
body.udel-clean #udel-main .kama_breadcrumbs { color:#625b53; }
body.udel-clean #udel-main .kama_breadcrumbs a { color:#773b12; }
body.udel-clean #udel-main :is(.popular__spheres a span,.new_item__txt-type,.new_more__left) { color:#655e57; }
body.udel-clean #udel-main .new_item__img-price { color:#201a13; }

body.udel-clean #udel-main .new_more__left { opacity:1; }
