/* ==========================================================
   TDS — Property Card v1.0
   ========================================================== */

body.single-property {
    background: #F7F5F1;
}

/* RH cleanup */

body.single-property .rh_header,
body.single-property .rh_mod_header,
body.single-property .rh_banner,
body.single-property .rh_prop_search {
    display: none !important;
}

body.single-property .rh_section {
    background: #F7F5F1 !important;
}

body.single-property .rh_wrap--padding,
body.single-property .rh_wrap--topPadding {
    padding-top: 0 !important;
}

/* Page shell */

body.single-property .rh_page--fullWidth {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    margin: 56px auto 0 !important;
}

/* Header */

body.single-property .rh_page__head.rh_page__property {
    display: grid !important;
    grid-template-columns: 1fr 330px;
    gap: 48px;

    margin: 0 0 34px !important;
    padding: 0 !important;
    border: 0 !important;
}

body.single-property .rh_page__property_title {
    max-width: 780px;
}

body.single-property .rh_page__title {
    margin: 0 !important;
    font-family: var(--font-heading);
    font-size: clamp(42px, 4vw, 68px) !important;
    line-height: .96 !important;
    font-weight: 800 !important;
    letter-spacing: -.055em !important;
    color: #172033 !important;
}

body.single-property .rh_page__property_address {
    margin: 18px 0 0 !important;
    font-family: var(--font-heading);
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: rgba(23,32,51,.62) !important;
}

body.single-property .rh_page__property_price {
    align-self: end;
    padding: 26px 28px;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(15,23,42,.08);
}

body.single-property .rh_page__property_price .status {
    margin: 0 0 8px !important;
    font-family: var(--font-heading);
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #C69C6D !important;
}

body.single-property .rh_page__property_price .price {
    margin: 0 !important;
    font-family: var(--font-heading);
    font-size: 38px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: -.045em;
    color: #172033 !important;
}

/* Gallery */

body.single-property .rh_property {
    background: transparent !important;
}

body.single-property .rh_property #property-featured-image,
body.single-property .rh_property .rh_gallery,
body.single-property .rh_property .inspiry_property_masonry_style,
body.single-property .rh_property .rh_property__gallery {
    border-radius: 30px !important;
    overflow: hidden !important;
    box-shadow: 0 28px 80px rgba(15,23,42,.10);
}

body.single-property .rh_property img {
    border-radius: 0;
}

/* Main layout */

body.single-property .rh_property__wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 350px !important;
    gap: 36px !important;

    padding: 40px 0 0 !important;
    background: transparent !important;
}

body.single-property .rh_property__main {
    width: 100% !important;
}

body.single-property .rh_property__sidebar {
    width: 100% !important;
}

/* Content cards */

body.single-property .rh_property__content,
body.single-property .rh_property__row,
body.single-property .rh_property__features,
body.single-property .rh_property__additional,
body.single-property .rh_property__map,
body.single-property .rh_property__mc_wrap,
body.single-property .rh_property__schedule_wrap,
body.single-property .rh_property__similar_properties {
    border: 0 !important;
}

body.single-property .rh_property__content > section,
body.single-property .rh_property__content > div,
body.single-property .rh_property__content .rh_property__row {
    border-radius: 28px;
}

/* Overview/meta */

body.single-property .rh_property__meta {
    padding: 24px !important;
    margin-bottom: 24px !important;
    background: #fff;
    border-radius: 28px !important;
    box-shadow: 0 18px 50px rgba(15,23,42,.06);
}

body.single-property .rh_property__id {
    font-family: var(--font-heading);
    color: rgba(23,32,51,.62);
}

body.single-property .rh_property__print a svg path {
    fill: #172033 !important;
}

/* Meta icons/cards */

body.single-property .rh_property__meta_wrap {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 28px !important;
}

body.single-property .rh_property__meta_wrap .rh_property__meta {
    margin: 0 !important;
    padding: 18px !important;
    min-height: 110px;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 16px 44px rgba(15,23,42,.06);
}

body.single-property .rh_property__meta_wrap svg path {
    fill: #C69C6D !important;
}

body.single-property .rh_property__meta_wrap .figure {
    font-family: var(--font-heading);
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #172033 !important;
}

body.single-property .rh_property__meta_wrap .label {
    font-family: var(--font-heading);
    font-size: 13px !important;
    font-weight: 700 !important;
    color: rgba(23,32,51,.56) !important;
}

/* Description */

body.single-property .rh_content,
body.single-property .rh_property__content .content {
    padding: 36px !important;
    margin-bottom: 28px !important;
    border-radius: 30px !important;
    background: #fff !important;
    box-shadow: 0 22px 60px rgba(15,23,42,.06);
}

body.single-property .rh_property__content h4,
body.single-property .rh_property__content h3,
body.single-property .rh_property__content .rh_property__heading {
    margin: 0 0 20px !important;
    font-family: var(--font-heading);
    font-size: 28px !important;
    line-height: 1.12;
    font-weight: 800 !important;
    letter-spacing: -.035em;
    color: #172033 !important;
}

body.single-property .rh_property__content p,
body.single-property .rh_property__content li {
    font-family: var(--font-heading);
    font-size: 16px !important;
    line-height: 1.78 !important;
    color: rgba(23,32,51,.68) !important;
}

/* Features */

body.single-property .rh_property__features_wrap {
    padding: 34px !important;
    margin-bottom: 28px !important;
    border-radius: 30px !important;
    background: #fff !important;
    box-shadow: 0 22px 60px rgba(15,23,42,.06);
}

body.single-property .rh_property__features li {
    font-family: var(--font-heading);
    color: rgba(23,32,51,.68) !important;
}

body.single-property .rh_property__features li a {
    color: rgba(23,32,51,.68) !important;
}

body.single-property .rh_property__features li i,
body.single-property .rh_property__features li svg {
    color: #C69C6D !important;
}

/* Sidebar */

body.single-property .rh_property__sidebar {
    position: relative;
}

body.single-property .rh_sidebar {
    position: sticky;
    top: 32px;
}

body.single-property .rh_sidebar .widget,
body.single-property .rh_property_agent,
body.single-property .rh_agent_form {
    border: 0 !important;
    border-radius: 30px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(15,23,42,.10);
    overflow: hidden;
}

body.single-property .rh_agent_form {
    padding: 28px !important;
}

body.single-property .rh_agent_form input,
body.single-property .rh_agent_form textarea,
body.single-property .rh_agent_form select {
    min-height: 52px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(23,32,51,.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-family: var(--font-heading) !important;
    font-size: 14px !important;
    color: #172033 !important;
}

body.single-property .rh_agent_form textarea {
    min-height: 120px !important;
}

body.single-property .rh_agent_form .rh_btn,
body.single-property .rh_agent_form input[type="submit"],
body.single-property .rh_sidebar .rh_btn {
    width: 100%;
    min-height: 56px;
    border-radius: 16px !important;
    background: #172033 !important;
    color: #fff !important;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
}

body.single-property .rh_agent_form .rh_btn:hover,
body.single-property .rh_agent_form input[type="submit"]:hover,
body.single-property .rh_sidebar .rh_btn:hover {
    background: #C69C6D !important;
}

/* Map */

body.single-property .rh_property__map,
body.single-property .rh_property__map_wrap,
body.single-property .rh_property__map_inner {
    border-radius: 30px !important;
    overflow: hidden !important;
}

body.single-property .rh_property__map .leaflet-tile-pane {
    filter: grayscale(.18) saturate(.48) contrast(.9) brightness(1.06) sepia(.08) !important;
}

/* Similar properties */

body.single-property .rh_property__similar_properties {
    margin-top: 44px !important;
}

body.single-property .rh_property__similar_properties .rh_section__head {
    margin-bottom: 24px !important;
}

body.single-property .rh_property__similar_properties .rh_section__title {
    font-family: var(--font-heading);
    font-size: 34px !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -.04em;
    color: #172033 !important;
}

/* Scroll top */

body.single-property #scroll-top,
body.single-property #scroll-top:hover,
body.single-property #scroll-top:focus {
    background: #C69C6D !important;
    color: #fff !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 40px rgba(15,23,42,.18) !important;
}

body.single-property #scroll-top:hover {
    background: #B78B5A !important;
}

/* Mobile */

@media (max-width: 1024px) {
    body.single-property .rh_page__head.rh_page__property,
    body.single-property .rh_property__wrap {
        grid-template-columns: 1fr !important;
    }

    body.single-property .rh_page__property_price {
        align-self: start;
        max-width: 360px;
    }

    body.single-property .rh_sidebar {
        position: static;
    }
}

@media (max-width: 767px) {
    body.single-property .rh_page--fullWidth {
        width: calc(100% - 40px) !important;
        margin-top: 34px !important;
    }

    body.single-property .rh_page__title {
        font-size: 40px !important;
    }

    body.single-property .rh_property__meta_wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.single-property .rh_content,
    body.single-property .rh_property__content .content,
    body.single-property .rh_property__features_wrap {
        padding: 24px !important;
        border-radius: 24px !important;
    }
}

/* ==========================================================
   TDS — Single Property Layout v1.0
   ========================================================== */

body.single-property {
background: #F7F5F1;
}

body.single-property .rh_header,
body.single-property .rh_mod_header,
body.single-property .rh_banner,
body.single-property .rh_prop_search {
display: none !important;
}

.tds-property {
background: #F7F5F1;
color: #172033;
}

.tds-property__container {
width: min(1280px, calc(100% - 64px));
margin: 48px auto 0;
}

.tds-property__grid {
display: grid;
grid-template-columns: minmax(0, 1fr) 350px;
gap: 36px;
margin-top: 36px;
}

.tds-property__main {
min-width: 0;
}

.tds-property__sidebar {
position: relative;
}

.tds-property-sidebar-card {
position: sticky;
top: 32px;
margin-bottom: 24px;
border-radius: 30px;
background: #fff;
box-shadow: 0 24px 70px rgba(15,23,42,.10);
overflow: hidden;
}

/* Hero */

.tds-property-hero__breadcrumbs {
margin-bottom: 24px;
font-family: var(--font-heading);
font-size: 13px;
color: rgba(23,32,51,.52);
}

.tds-property-hero__gallery {
position: relative;
display: grid;
grid-template-columns: 2.15fr 1fr;
grid-template-rows: repeat(3, 170px);
gap: 6px;
border-radius: 30px;
overflow: hidden;
box-shadow: 0 28px 80px rgba(15,23,42,.10);
background: #EAE7E2;
}

.tds-property-hero__image {
position: relative;
display: block;
overflow: hidden;
}

.tds-property-hero__image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .35s ease;
}

.tds-property-hero__image:hover img {
transform: scale(1.035);
}

.tds-property-hero__image--1 {
grid-row: span 3;
}

.tds-property-hero__count {
position: absolute;
left: 22px;
top: 22px;
padding: 11px 15px;
border-radius: 14px;
background: rgba(23,32,51,.86);
color: #fff;
font-family: var(--font-heading);
font-size: 14px;
font-weight: 800;
}

.tds-property-hero__more {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
background: rgba(15,23,42,.42);
color: #fff;
text-align: center;
font-family: var(--font-heading);
font-size: 18px;
font-weight: 800;
}

.tds-property-hero__head {
display: grid;
grid-template-columns: 1fr 320px;
gap: 36px;
margin-top: 36px;
align-items: end;
}

.tds-property-hero__labels {
display: flex;
gap: 10px;
margin-bottom: 18px;
}

.tds-property-hero__labels span {
padding: 8px 14px;
border-radius: 8px;
background: #172033;
color: #fff;
font-family: var(--font-heading);
font-size: 13px;
font-weight: 800;
}

.tds-property-hero__labels span:first-child {
background: #C69C6D;
}

.tds-property-hero h1 {
margin: 0;
max-width: 760px;
font-family: var(--font-heading);
font-size: clamp(42px, 4.4vw, 68px);
line-height: .96;
font-weight: 800;
letter-spacing: -.055em;
color: #172033;
}

.tds-property-hero__address {
margin: 18px 0 0;
font-family: var(--font-heading);
font-size: 17px;
color: rgba(23,32,51,.62);
}

.tds-property-hero__price {
padding: 28px;
border-radius: 28px;
background: #fff;
box-shadow: 0 22px 60px rgba(15,23,42,.08);
}

.tds-property-hero__price span {
display: block;
margin-bottom: 10px;
font-family: var(--font-heading);
font-size: 13px;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(23,32,51,.50);
}

.tds-property-hero__price strong,
.tds-property-hero__price .price {
font-family: var(--font-heading);
font-size: 38px;
line-height: 1;
font-weight: 800;
letter-spacing: -.045em;
color: #172033;
}

/* Cards */

.tds-property-card {
margin-bottom: 28px;
padding: 34px;
border-radius: 30px;
background: #fff;
box-shadow: 0 22px 60px rgba(15,23,42,.06);
}

.tds-property-card h2,
.tds-property-card h3,
.tds-property-card h4,
.tds-property-card .rh_property__heading {
margin: 0 0 22px !important;
font-family: var(--font-heading);
font-size: 30px !important;
line-height: 1.12;
font-weight: 800 !important;
letter-spacing: -.035em;
color: #172033 !important;
}

.tds-property-card p,
.tds-property-card li {
font-family: var(--font-heading);
font-size: 16px !important;
line-height: 1.78 !important;
color: rgba(23,32,51,.68) !important;
}

/* Meta */

.tds-property-overview .rh_property__row {
border: 0 !important;
padding: 0 !important;
}

.tds-property-overview .rh_property__meta_wrap {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
margin-top: 24px;
}

.tds-property-overview .rh_property__meta {
min-height: 112px;
padding: 18px !important;
border-radius: 22px !important;
background: #F7F5F1 !important;
}

.tds-property-overview svg path {
fill: #C69C6D !important;
}

/* Sidebar/forms */

.tds-property-sidebar-card input,
.tds-property-sidebar-card textarea,
.tds-property-sidebar-card select {
border: 0 !important;
border-bottom: 1px solid rgba(23,32,51,.10) !important;
border-radius: 0 !important;
background: transparent !important;
font-family: var(--font-heading) !important;
}

.tds-property-sidebar-card .rh_btn,
.tds-property-sidebar-card input[type="submit"],
.tds-property-sidebar-card button[type="submit"] {
width: 100%;
min-height: 56px;
border-radius: 16px !important;
background: #172033 !important;
color: #fff !important;
font-family: var(--font-heading);
font-weight: 800;
}

.tds-property-sidebar-card .rh_btn:hover,
.tds-property-sidebar-card input[type="submit"]:hover,
.tds-property-sidebar-card button[type="submit"]:hover {
background: #C69C6D !important;
}

/* Maps */

.tds-property-card .leaflet-tile-pane {
filter: grayscale(.18) saturate(.48) contrast(.9) brightness(1.06) sepia(.08) !important;
}

.tds-property-card .rh_property__map,
.tds-property-card .rh_property__map_wrap,
.tds-property-card .leaflet-container {
border-radius: 24px !important;
overflow: hidden !important;
}

/* Responsive */

@media (max-width: 1024px) {
.tds-property__grid,
.tds-property-hero__head {
grid-template-columns: 1fr;
}

.tds-property-sidebar-card {
position: static;
}
}

@media (max-width: 767px) {
.tds-property__container {
width: calc(100% - 40px);
margin-top: 32px;
}

.tds-property-hero__gallery {
grid-template-columns: 1fr;
grid-template-rows: auto;
}

.tds-property-hero__image {
min-height: 220px;
}

.tds-property-hero__image--1 {
grid-row: auto;
}

.tds-property-hero h1 {
font-size: 40px;
}

.tds-property-card {
padding: 24px;
border-radius: 24px;
}

.tds-property-overview .rh_property__meta_wrap {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

/* TDS Property — top hero + collapsible description */

.tds-property-top {
    position: relative;
    min-height: 430px;
    padding-bottom: 90px;
    background-image:
        linear-gradient(90deg, rgba(15,23,42,.78), rgba(15,23,42,.42), rgba(15,23,42,.16)),
        url('/wp-content/themes/realhomes-child/assets/images/targ-hero.png');
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.tds-property-top__inner {
    width: min(1280px, calc(100% - 64px));
    min-height: 430px;
    margin: 0 auto;
    padding-top: 110px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tds-property-top__inner span {
    margin-bottom: 16px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #C69C6D;
}

.tds-property-top__inner h1 {
    margin: 0;
    max-width: 880px;
    font-family: var(--font-heading);
    font-size: clamp(48px, 5vw, 82px);
    line-height: .94;
    font-weight: 800;
    letter-spacing: -.055em;
    color: #fff;
}

.tds-property__container {
    margin-top: -72px !important;
    position: relative;
    z-index: 5;
}

.tds-property-hero__breadcrumbs {
    display: none !important;
}

/* nie pozwalamy menu nachodzić na galerię */
body.single-property .tds-property > .targ-header {
    display: none !important;
}

/* opis rozwijany */

.tds-property-description {
    position: relative;
    overflow: hidden;
}

.tds-property-description__content {
    position: relative;
}

.tds-property-description--collapsed .tds-property-description__content {
    max-height: 360px;
    overflow: hidden;
}

.tds-property-description--collapsed .tds-property-description__content::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

.tds-property-description--open .tds-property-description__content {
    max-height: none;
}

.tds-property-description__more {
    margin-top: 22px;
    min-height: 48px;
    padding: 0 20px;

    border: 1px solid rgba(23,32,51,.10);
    border-radius: 14px;
    background: #fff;
    color: #C69C6D;

    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 34px rgba(15,23,42,.08);
}

.tds-property-description__more:hover {
    background: #172033;
    color: #fff;
}

@media (max-width: 767px) {
    .tds-property-top {
        min-height: 390px;
    }

    .tds-property-top__inner {
        width: calc(100% - 40px);
        min-height: 390px;
        padding-top: 90px;
    }

    .tds-property-top__inner h1 {
        font-size: 42px;
    }

    .tds-property__container {
        margin-top: -52px !important;
    }
}

/* TDS Property — corrections v1.2 */

.tds-property__container {
    margin-top: 48px !important;
}

.tds-property-top {
    display: none !important;
}

.tds-property-hero__gallery {
    grid-template-columns: 2.2fr .7fr !important;
    grid-template-rows: repeat(3, 170px) !important;
}

.tds-property-hero__image--1 {
    grid-row: 1 / span 3 !important;
}

.tds-property-hero__image--2 {
    grid-column: 2;
    grid-row: 1;
}

.tds-property-hero__image--3 {
    grid-column: 2;
    grid-row: 2;
}

.tds-property-hero__image--4 {
    grid-column: 2;
    grid-row: 3;
}

.tds-property-hero__hidden {
    display: none !important;
}

.tds-property-similar,
.rh_property__similar_properties {
    display: none !important;
}

.tds-property-media .rh_property__heading {
    display: none !important;
}

@media (max-width: 767px) {
    .tds-property-hero__gallery {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }

    .tds-property-hero__image--1,
    .tds-property-hero__image--2,
    .tds-property-hero__image--3,
    .tds-property-hero__image--4 {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

/* TDS — horizontal agent */

.tds-agent-strip {
    padding: 0 !important;
    overflow: hidden;
}

.tds-agent-strip .rh_property_agent,
.tds-agent-strip .rh_agent_form {
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.tds-agent-strip .rh_property_agent {
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 28px !important;
}

.tds-agent-strip .rh_property_agent__avatar,
.tds-agent-strip .rh_agent__avatar,
.tds-agent-strip img {
    width: 86px !important;
    height: 86px !important;
    border-radius: 22px !important;
    object-fit: cover;
}

.tds-agent-strip .rh_property_agent__title,
.tds-agent-strip .rh_agent__name,
.tds-agent-strip h3 {
    margin: 0 0 8px !important;
    font-family: var(--font-heading);
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #172033 !important;
}

.tds-agent-strip .rh_property_agent__details,
.tds-agent-strip .rh_agent__listed {
    font-family: var(--font-heading);
    color: rgba(23,32,51,.62) !important;
}

.tds-agent-strip .rh_agent_form {
    border-top: 1px solid rgba(23,32,51,.08) !important;
    padding: 28px !important;
}

.tds-agent-strip .rh_agent_form input,
.tds-agent-strip .rh_agent_form textarea {
    background: #F7F5F1 !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 0 16px !important;
}

.tds-agent-strip .rh_agent_form textarea {
    padding-top: 14px !important;
}

.tds-agent-strip .rh_agent_form input[type="submit"],
.tds-agent-strip .rh_agent_form .rh_btn {
    background: #172033 !important;
    color: #fff !important;
    border-radius: 16px !important;
}

.tds-agent-strip .rh_agent_form input[type="submit"]:hover,
.tds-agent-strip .rh_agent_form .rh_btn:hover {
    background: #C69C6D !important;
}

/* prawa kolumna jako lekki CTA */

.tds-sidebar-summary {
    padding: 28px;
}

.tds-sidebar-summary__price span {
    display: block;
    margin-bottom: 8px;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(23,32,51,.5);
}

.tds-sidebar-summary__price strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 32px;
    line-height: 1;
    font-weight: 800;
    color: #172033;
}

.tds-sidebar-summary__phone,
.tds-sidebar-summary__message {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin-top: 18px;
    border-radius: 16px;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
}

.tds-sidebar-summary__phone {
    background: #172033;
    color: #fff;
}

.tds-sidebar-summary__message {
    background: #F7F5F1;
    color: #172033;
}

.tds-sidebar-summary__phone:hover,
.tds-sidebar-summary__message:hover {
    background: #C69C6D;
    color: #fff;
}

/* ==========================================================
   TDS Property — full width content v2.0
   ========================================================== */

.tds-property-header {
    position: relative;
    z-index: 100;
    background: #172033;
}

.tds-property-header .targ-header {
    position: relative !important;
    inset: auto !important;
    width: min(1280px, calc(100% - 64px));
    margin: 0 auto;
}

.tds-property__container {
    width: min(1280px, calc(100% - 64px)) !important;
    margin: 36px auto 0 !important;
}

.tds-property__grid,
.tds-property__main,
.tds-property__sidebar {
    display: block !important;
    width: 100% !important;
}

.tds-property__sidebar,
.tds-sidebar-summary,
.tds-property-sidebar-card {
    display: none !important;
}

/* Agent */

.tds-agent-card {
    margin: 28px 0;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(15,23,42,.06);
    overflow: hidden;
}

.tds-agent-card__summary {
    min-height: 150px;
    padding: 28px 32px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.tds-agent-card__identity {
    display: flex;
    align-items: center;
    gap: 22px;
}

.tds-agent-card__identity img {
    width: 92px;
    height: 92px;
    object-fit: cover;
    border-radius: 24px;
}

.tds-agent-card__identity span {
    display: block;
    margin-bottom: 5px;

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #C69C6D;
}

.tds-agent-card__identity h2 {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 800;
    color: #172033;
}

.tds-agent-card__identity a {
    display: inline-block;
    margin-right: 18px;
    font-family: var(--font-heading);
    font-size: 14px;
    color: rgba(23,32,51,.64);
    text-decoration: none;
}

.tds-agent-card__actions {
    display: flex;
    gap: 12px;
}

.tds-button {
    min-height: 52px;
    padding: 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 16px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.tds-button--dark {
    background: #172033;
    color: #fff;
}

.tds-button--light {
    background: #F7F5F1;
    color: #172033;
}

.tds-button:hover {
    background: #C69C6D;
    color: #fff;
}

.tds-agent-card__form {
    display: none;
    padding: 32px;
    border-top: 1px solid rgba(23,32,51,.08);
}

.tds-agent-card--open .tds-agent-card__form {
    display: block;
}

.tds-agent-card__form .rh_property_agent {
    display: none !important;
}

.tds-agent-card__form .rh_agent_form {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Accordion */

.tds-property-accordion {
    padding: 0 !important;
    overflow: hidden;
}

.tds-property-accordion__trigger {
    width: 100%;
    min-height: 94px;
    padding: 0 32px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    border: 0;
    background: #fff;
    color: #172033;
    text-align: left;
    cursor: pointer;
}

.tds-property-accordion__trigger small {
    display: block;
    margin-bottom: 5px;

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #C69C6D;
}

.tds-property-accordion__trigger strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
}

.tds-property-accordion__icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #F7F5F1;
    font-size: 24px;
    color: #172033;
}

.tds-property-accordion__content {
    display: none;
    padding: 0 32px 32px;
}

.tds-property-accordion--open .tds-property-accordion__content {
    display: block;
}

/* Cena i rata */

.tds-property-hero__installment {
    margin: 12px 0 0 !important;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    color: #C69C6D;
}

.tds-property-hero__finance-link {
    display: inline-block;
    margin-top: 12px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    color: #172033;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 767px) {
    .tds-property-header .targ-header,
    .tds-property__container {
        width: calc(100% - 40px) !important;
    }

    .tds-agent-card__summary {
        display: block;
        padding: 24px;
    }

    .tds-agent-card__actions {
        margin-top: 22px;
    }

    .tds-agent-card__actions .tds-button {
        flex: 1;
    }

    .tds-agent-card__identity {
        align-items: flex-start;
    }

    .tds-agent-card__identity img {
        width: 74px;
        height: 74px;
    }

    .tds-property-accordion__trigger {
        padding: 0 24px;
    }

    .tds-property-accordion__content {
        padding: 0 24px 24px;
    }
}

/* ==========================================================
   TDS Property — header refinement
   ========================================================== */

body.single-property .tds-property-header {
    position: relative;
    z-index: 100;
    min-height: 104px;
    background: #172033;
}

body.single-property .tds-property-header .targ-header {
    width: min(1280px, calc(100% - 64px));
    min-height: 104px;
    margin: 0 auto;
    padding: 12px 0;

    display: grid;
    grid-template-columns: 190px 1fr auto;
    align-items: center;
    gap: 36px;
}

body.single-property .tds-property-header .targ-header__logo {
    width: 170px;
    height: 80px;

    display: flex;
    align-items: center;
    justify-content: flex-start;
}

body.single-property .tds-property-header .targ-header__logo img {
    display: block;
    width: auto !important;
    max-width: 170px !important;
    height: auto !important;
    max-height: 80px !important;
    object-fit: contain !important;
    object-position: left center;
}

body.single-property .tds-property-header .targ-header__nav {
    align-self: center;
}

body.single-property .tds-property-header .targ-header__actions {
    align-self: center;
}

body.single-property .tds-property-header,
body.single-property .tds-property-header .targ-header,
body.single-property .tds-property-header .targ-header__logo {
    overflow: visible !important;
}

@media (max-width: 767px) {
    body.single-property .tds-property-header {
        min-height: 82px;
    }

    body.single-property .tds-property-header .targ-header {
        width: calc(100% - 40px);
        min-height: 82px;
        grid-template-columns: 130px 1fr auto;
        padding: 8px 0;
    }

    body.single-property .tds-property-header .targ-header__logo {
        width: 125px;
        height: 62px;
    }

    body.single-property .tds-property-header .targ-header__logo img {
        max-width: 125px !important;
        max-height: 62px !important;
    }
}

/* ==========================================================
   TDS Property — vertical rhythm
   ========================================================== */

body.single-property .tds-property-hero__head {
    margin-top: 38px !important;
    margin-bottom: 38px !important;
}

body.single-property .tds-property-overview {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

body.single-property .tds-agent-card {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

/* ==========================================================
   TDS Property — header and logo alignment v2.1
   ========================================================== */

body.single-property {
    --tds-property-container: 1280px;
}

/*
 * Header i zawartość strony korzystają dokładnie
 * z tej samej szerokości oraz tych samych marginesów.
 */
body.single-property .tds-property-header .targ-header,
body.single-property .tds-property__container {
    width: min(
        var(--tds-property-container),
        calc(100% - 64px)
    ) !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

/*
 * Zwiększamy wysokość headera, aby pełne pionowe logo
 * wraz z podpisem mieściło się bez przycinania.
 */
body.single-property .tds-property-header {
    min-height: 134px !important;
    overflow: visible !important;
}

body.single-property .tds-property-header .targ-header {
    min-height: 134px !important;
    padding: 12px 0 !important;

    grid-template-columns: 220px minmax(0, 1fr) auto !important;
    gap: 36px !important;

    overflow: visible !important;
}

/*
 * Kontener logo zaczyna się dokładnie tam,
 * gdzie zaczyna się galeria.
 */
body.single-property .tds-property-header .targ-header__logo {
    position: relative !important;

    width: 220px !important;
    height: 110px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

/*
 * Logo nie jest już ograniczane do 80 px.
 */
body.single-property .tds-property-header .targ-header__logo img {
    display: block !important;

    width: 205px !important;
    max-width: none !important;

    height: auto !important;
    max-height: 108px !important;

    object-fit: contain !important;
    object-position: left center !important;

    margin: 0 !important;
    padding: 0 !important;
}

/*
 * Korekta przezroczystego marginesu zapisanego
 * wewnątrz samego pliku PNG.
 *
 * Wartość można skorygować o kilka pikseli po odświeżeniu.
 */
body.single-property .tds-property-header .targ-header__logo img {
    transform: translateX(-8px);
}

@media (max-width: 900px) {
    body.single-property .tds-property-header {
        min-height: 96px !important;
    }

    body.single-property .tds-property-header .targ-header {
        min-height: 96px !important;
        grid-template-columns: 150px minmax(0, 1fr) auto !important;
        gap: 18px !important;
    }

    body.single-property .tds-property-header .targ-header__logo {
        width: 150px !important;
        height: 76px !important;
    }

    body.single-property .tds-property-header .targ-header__logo img {
        width: 145px !important;
        max-height: 74px !important;
        transform: translateX(-5px);
    }
}

@media (max-width: 767px) {
    body.single-property .tds-property-header .targ-header,
    body.single-property .tds-property__container {
        width: calc(100% - 40px) !important;
    }
}


/* TDS PROPERTY HEADER 2.2 — START */

/* ----------------------------------------------------------
   Property header shell
   ---------------------------------------------------------- */

body.single-property .tds-property-header {
position: relative;
z-index: 100;

height: 132px;
min-height: 132px;

background:
linear-gradient(
90deg,
rgba(15, 23, 42, .98) 0%,
rgba(23, 32, 51, .96) 52%,
rgba(28, 38, 58, .93) 100%
);

overflow: visible;
isolation: isolate;
}

body.single-property .tds-property-header__background {
position: absolute;
inset: 0;
z-index: -1;

background-image:
linear-gradient(
90deg,
rgba(15, 23, 42, .93) 0%,
rgba(15, 23, 42, .88) 45%,
rgba(23, 32, 51, .84) 100%
),
var(--tds-property-header-image);

background-size: cover;
background-position: center 48%;

opacity: .28;
filter: saturate(.65) contrast(.92);

pointer-events: none;
}

/* Delikatne przejście przy dolnej krawędzi headera. */
body.single-property .tds-property-header::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: -1px;
height: 30px;

background:
linear-gradient(
to bottom,
rgba(247, 245, 241, 0),
rgba(247, 245, 241, .12)
);

pointer-events: none;
}

/* ----------------------------------------------------------
   Header inner layout — desktop
   ---------------------------------------------------------- */

body.single-property .tds-property-header .targ-header {
position: relative !important;
top: auto !important;
left: auto !important;
right: auto !important;

z-index: 2;

width: min(1280px, calc(100% - 64px)) !important;
height: 132px !important;

margin: 0 auto !important;
padding: 0 !important;

display: grid !important;
grid-template-columns: 216px minmax(0, 1fr) auto !important;
align-items: center !important;
gap: 36px !important;

transform: none !important;
overflow: visible !important;
}

/*
 * Globalny header.css przesuwa logo przez top/left.
 * W widoku nieruchomości zerujemy te wartości.
 */
body.single-property .tds-property-header .targ-header__logo {
position: static !important;
top: auto !important;
left: auto !important;
right: auto !important;

width: 196px !important;
height: 112px !important;

margin: 0 !important;
padding: 0 !important;

display: flex !important;
align-items: center !important;
justify-content: flex-start !important;

transform: none !important;
overflow: visible !important;
}

/*
 * Widoczna część logo zaczyna się dokładnie przy lewej
 * krawędzi kontenera galerii.
 */
body.single-property .tds-property-header .targ-header__logo img {
display: block !important;

width: 184px !important;
max-width: none !important;

height: auto !important;
max-height: 108px !important;

margin: 0 !important;
padding: 0 !important;

object-fit: contain !important;
object-position: left center !important;

transform: translateX(-8px) !important;
}

body.single-property .tds-property-header .targ-header__nav {
margin: 0 !important;
align-self: center !important;
}

body.single-property .tds-property-header .targ-header__actions {
align-self: center !important;
}

/* ----------------------------------------------------------
   Transition / breadcrumbs
   ---------------------------------------------------------- */

body.single-property .tds-property-transition {
width: min(1280px, calc(100% - 64px));
margin: 0 auto;
padding: 25px 0 20px;
}

body.single-property .tds-property-breadcrumbs {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 9px;

min-height: 22px;

font-family: var(--font-ui);
font-size: 13px;
line-height: 1.45;

color: rgba(23, 32, 51, .54);
}

body.single-property .tds-property-breadcrumbs a {
color: rgba(23, 32, 51, .60);
text-decoration: none;
transition: color .18s ease;
}

body.single-property .tds-property-breadcrumbs a:hover {
color: #172033;
}

body.single-property .tds-property-breadcrumbs__separator {
color: #c69c6d;
font-size: 17px;
line-height: 1;
}

body.single-property .tds-property-breadcrumbs__current {
max-width: min(520px, 50vw);

overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

font-weight: 700;
color: #172033;
}

/*
 * Kontener galerii i breadcrumbs mają identyczną szerokość.
 */
body.single-property .tds-property__container {
width: min(1280px, calc(100% - 64px)) !important;
margin: 0 auto !important;
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1024px) {

body.single-property .tds-property-header {
height: 112px;
min-height: 112px;
}

body.single-property .tds-property-header .targ-header {
height: 112px !important;
grid-template-columns: 170px minmax(0, 1fr) auto !important;
gap: 20px !important;
}

body.single-property .tds-property-header .targ-header__logo {
width: 160px !important;
height: 92px !important;
}

body.single-property .tds-property-header .targ-header__logo img {
width: 154px !important;
max-height: 88px !important;
transform: translateX(-6px) !important;
}

}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 767px) {

body.single-property .tds-property-header {
height: 112px;
min-height: 112px;
}

body.single-property .tds-property-header .targ-header {
position: relative !important;

width: 100% !important;
height: 112px !important;

display: grid !important;
grid-template-columns: 64px minmax(0, 1fr) 64px !important;
align-items: center !important;

padding: 0 20px !important;
gap: 0 !important;
}

/*
 * Dokładne centrowanie względem ekranu,
 * niezależnie od szerokości burgera.
 */
body.single-property .tds-property-header .targ-header__logo {
position: absolute !important;
left: 50% !important;
top: 50% !important;

width: 158px !important;
height: 92px !important;

transform: translate(-50%, -50%) !important;
}

body.single-property .tds-property-header .targ-header__logo img {
width: 154px !important;
max-height: 88px !important;

margin: 0 auto !important;
transform: none !important;

object-position: center !important;
}

body.single-property .tds-property-header .targ-header__burger {
position: absolute !important;
top: 50% !important;
right: 24px !important;

transform: translateY(-50%) !important;
}

body.single-property .tds-property-header .targ-header__nav,
body.single-property .tds-property-header .targ-header__phone,
body.single-property .tds-property-header .targ-header__icon {
display: none !important;
}

body.single-property .tds-property-transition,
body.single-property .tds-property__container {
width: calc(100% - 40px) !important;
}

body.single-property .tds-property-transition {
padding: 20px 0 16px;
}

body.single-property .tds-property-breadcrumbs {
gap: 7px;
font-size: 12px;
}

/*
 * Na telefonie ukrywamy najmniej potrzebne elementy,
 * aby ścieżka nie zajmowała kilku wierszy.
 */
body.single-property .tds-property-breadcrumbs > a:first-child,
body.single-property .tds-property-breadcrumbs > a:first-child
+ .tds-property-breadcrumbs__separator {
display: none;
}

body.single-property .tds-property-breadcrumbs__current {
max-width: 42vw;
}

}

/* TDS PROPERTY HEADER 2.2 — END */


/* ==========================================================
   TDS MOBILE LIGHTBOX — immersive gallery v1.0
   ========================================================== */

@media (max-width: 767px) {

/*
 * Przeglądarka Safari/Chrome na telefonie dynamicznie
 * zmienia wysokość paska adresu. Jednostka dvh uwzględnia
 * aktualnie dostępną przestrzeń.
 */
body.single-property .fancybox-container {
height: 100dvh !important;
}

body.single-property .fancybox-inner,
body.single-property .fancybox-stage,
body.single-property .fancybox-slide {
width: 100vw !important;
height: 100dvh !important;
}

body.single-property
.fancybox-slide--image
.fancybox-content {
position: absolute !important;
inset: 0 !important;

width: 100vw !important;
height: 100dvh !important;

margin: 0 !important;
padding: 0 !important;

overflow-x: auto !important;
overflow-y: hidden !important;

transform: none !important;

-webkit-overflow-scrolling: touch;
scrollbar-width: none;
touch-action: pan-x;
}

body.single-property
.fancybox-slide--image
.fancybox-content::-webkit-scrollbar {
display: none;
}

/*
 * Zdjęcie poziome otrzymuje wysokość całego ekranu.
 * Jego szerokość wynika z naturalnych proporcji.
 * Jeśli jest szersze od ekranu, można przesuwać je palcem.
 */
body.single-property .fancybox-image {
position: relative !important;
top: auto !important;
left: auto !important;

display: block !important;

width: auto !important;
min-width: 100vw !important;
max-width: none !important;

height: 100dvh !important;
max-height: none !important;

margin: 0 auto !important;

object-fit: cover !important;
object-position: center center !important;

transform: none !important;
}

/*
 * Panel narzędzi pozostaje ponad zdjęciem.
 */
body.single-property .fancybox-toolbar,
body.single-property .fancybox-navigation,
body.single-property .fancybox-infobar,
body.single-property .fancybox-caption {
z-index: 999999 !important;
}

/*
 * Przyciski nawigacji nie zasłaniają nadmiernie zdjęcia.
 */
body.single-property .fancybox-button--arrow_left,
body.single-property .fancybox-button--arrow_right {
width: 54px !important;
height: 72px !important;

background: rgba(15, 23, 42, .58) !important;
}

body.single-property .fancybox-caption {
padding: 18px 24px
calc(18px + env(safe-area-inset-bottom))
!important;

background:
linear-gradient(
to top,
rgba(8, 12, 22, .92),
rgba(8, 12, 22, 0)
) !important;
}
}

/* Telefon obrócony poziomo. */
@media
(max-width: 950px)
and (orientation: landscape) {

body.single-property
.fancybox-slide--image
.fancybox-content {
overflow-x: hidden !important;
overflow-y: auto !important;
touch-action: pan-y;
}

body.single-property .fancybox-image {
width: 100vw !important;
min-width: 100vw !important;

height: auto !important;
min-height: 100dvh !important;

object-fit: cover !important;
}
}

/* ==========================================================
   TDS immersive gallery — centering refinement
   ========================================================== */

@media (max-width: 767px) {

    body.single-property
    .fancybox-slide--image
    .fancybox-content {
	display: block !important;
	scroll-behavior: smooth;
    }

    body.single-property .fancybox-image {
	margin: 0 !important;
	object-position: center center !important;
    }
}

@media
    (max-width: 950px)
    and (orientation: landscape) {

    body.single-property
    .fancybox-slide--image
    .fancybox-content {
	display: block !important;
	scroll-behavior: smooth;
    }

    body.single-property .fancybox-image {
	margin: 0 !important;
	object-position: center center !important;
    }
}
/* ==========================================================
   TDS Property Overview — offer ID bar
   ========================================================== */

body.single-property .tds-property-overview__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-bottom: 26px;
    padding: 0 2px 20px;

    border-bottom: 1px solid rgba(23, 32, 51, .08);
}

body.single-property .tds-property-overview__id {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

body.single-property .tds-property-overview__id span {
    font-family: var(--font-ui);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: rgba(23, 32, 51, .48);
}

body.single-property .tds-property-overview__id strong {
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;

    color: #172033;
}

body.single-property .tds-property-overview__actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

body.single-property .tds-overview-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;

    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;

    color: rgba(23, 32, 51, .62);
    text-decoration: none;

    cursor: pointer;
    transition:
        color .18s ease,
        opacity .18s ease;
}

body.single-property .tds-overview-action:hover {
    color: #c99e6c;
}

@media (max-width: 767px) {
    body.single-property .tds-property-overview__top {
        align-items: flex-start;
        gap: 16px;

        margin-bottom: 20px;
        padding-bottom: 16px;
    }

    body.single-property .tds-property-overview__actions {
        gap: 12px;
    }

    body.single-property .tds-overview-action {
        font-size: 0;
    }

    body.single-property .tds-overview-action::first-letter {
        font-size: 20px;
    }
}


/* TDS AGENT COMPONENT 2.0 — START */

body.single-property .tds-agent-card {
margin: 28px 0;
border: 1px solid rgba(23, 32, 51, .055);
border-radius: 30px;
background: #fff;
box-shadow: 0 22px 60px rgba(15, 23, 42, .065);
overflow: hidden;
}

body.single-property .tds-agent-card__summary {
min-height: 164px;
padding: 30px 34px;

display: flex;
align-items: center;
justify-content: space-between;
gap: 36px;
}

body.single-property .tds-agent-card__identity {
min-width: 0;
display: flex;
align-items: center;
gap: 24px;
}

body.single-property .tds-agent-card__photo {
flex: 0 0 96px;
width: 96px;
height: 96px;

display: flex;
align-items: center;
justify-content: center;

border-radius: 26px;
background:
linear-gradient(
145deg,
rgba(201, 158, 108, .20),
rgba(23, 32, 51, .08)
);

overflow: hidden;
}

body.single-property .tds-agent-card__photo img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

body.single-property .tds-agent-card__photo > span {
font-family: var(--font-heading);
font-size: 38px;
font-weight: 800;
color: #172033;
}

body.single-property .tds-agent-card__details {
min-width: 0;
}

body.single-property .tds-agent-card__eyebrow {
margin: 0 0 7px;

font-family: var(--font-ui);
font-size: 11px;
font-weight: 800;
letter-spacing: .13em;
text-transform: uppercase;

color: #c99e6c;
}

body.single-property .tds-agent-card__details h2 {
margin: 0 0 10px;

font-family: var(--font-heading);
font-size: clamp(23px, 2vw, 29px);
line-height: 1.1;
font-weight: 800;
letter-spacing: -.035em;

color: #172033;
}

body.single-property .tds-agent-card__phone {
display: inline-flex;
align-items: center;
gap: 10px;

margin: 0 0 7px;

font-family: var(--font-heading);
font-size: clamp(20px, 1.8vw, 27px);
line-height: 1.15;
font-weight: 800;
letter-spacing: -.025em;

color: #172033;
text-decoration: none;
transition: color .18s ease;
}

body.single-property .tds-agent-card__phone svg {
width: 22px;
height: 22px;
fill: none;
stroke: #c99e6c;
stroke-width: 1.65;
stroke-linecap: round;
stroke-linejoin: round;
}

body.single-property .tds-agent-card__phone:hover {
color: #c99e6c;
}

body.single-property .tds-agent-card__email {
display: block;

max-width: 360px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

font-family: var(--font-ui);
font-size: 13px;
font-weight: 600;

color: rgba(23, 32, 51, .55);
text-decoration: none;
}

body.single-property .tds-agent-card__email:hover {
color: #172033;
}

body.single-property .tds-agent-card__actions {
display: flex;
align-items: center;
flex-wrap: wrap;
justify-content: flex-end;
gap: 10px;
}

body.single-property .tds-agent-action {
min-height: 52px;
padding: 0 19px;

display: inline-flex;
align-items: center;
justify-content: center;
gap: 9px;

border: 1px solid transparent;
border-radius: 16px;

font-family: var(--font-ui);
font-size: 13px;
font-weight: 800;
line-height: 1;

text-decoration: none;
cursor: pointer;

transition:
background-color .18s ease,
border-color .18s ease,
color .18s ease,
transform .18s ease;
}

body.single-property .tds-agent-action:hover {
transform: translateY(-1px);
}

body.single-property .tds-agent-action svg {
width: 19px;
height: 19px;

fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}

body.single-property .tds-agent-action--primary {
background: #172033;
color: #fff;
}

body.single-property .tds-agent-action--primary:hover {
background: #c99e6c;
color: #fff;
}

body.single-property .tds-agent-action--whatsapp {
border-color: rgba(23, 32, 51, .08);
background: #f7f5f1;
color: #172033;
}

body.single-property .tds-agent-action--whatsapp:hover {
border-color: rgba(201, 158, 108, .30);
background: rgba(201, 158, 108, .13);
color: #172033;
}

body.single-property .tds-agent-action--whatsapp svg {
fill: currentColor;
stroke: none;
}

body.single-property .tds-agent-action--secondary {
border-color: rgba(23, 32, 51, .09);
background: #fff;
color: #172033;
}

body.single-property .tds-agent-action--secondary:hover {
border-color: rgba(201, 158, 108, .30);
background: #f7f5f1;
}

body.single-property .tds-agent-action__chevron {
width: 16px !important;
height: 16px !important;
margin-left: 3px;
transition: transform .22s ease;
}

body.single-property
.tds-agent-card--open
.tds-agent-action__chevron {
transform: rotate(180deg);
}

/* Formularz */

body.single-property .tds-agent-card__form {
display: grid;
grid-template-rows: 0fr;

padding: 0 34px;

border-top: 0 solid rgba(23, 32, 51, .08);

opacity: 0;
visibility: hidden;
overflow: hidden;

transition:
grid-template-rows .30s ease,
opacity .22s ease,
padding .30s ease,
border-width .30s ease,
visibility 0s linear .30s;
}

body.single-property .tds-agent-card--open .tds-agent-card__form {
grid-template-rows: 1fr;

padding-top: 32px;
padding-bottom: 34px;

border-top-width: 1px;

opacity: 1;
visibility: visible;

transition:
grid-template-rows .30s ease,
opacity .22s ease .06s,
padding .30s ease,
border-width .30s ease,
visibility 0s linear 0s;
}

body.single-property .tds-agent-card__form > * {
min-height: 0;
}

body.single-property .tds-agent-card__form-heading {
max-width: 760px;
margin: 0 auto 22px;
}

body.single-property .tds-agent-card__form-heading p {
margin: 0 0 5px;

font-family: var(--font-heading);
font-size: 25px;
line-height: 1.15;
font-weight: 800;
letter-spacing: -.025em;

color: #172033;
}

body.single-property .tds-agent-card__form-heading span {
font-family: var(--font-ui);
font-size: 14px;
line-height: 1.5;

color: rgba(23, 32, 51, .58);
}

/*
 * Ukrywamy powtórzoną prezentację agenta z partiala RH,
 * pozostawiając jego działający formularz.
 */
body.single-property
.tds-agent-card__form
.rh_property_agent > *:not(.rh_agent_form),
body.single-property
.tds-agent-card__form
.rh_property_agent__agent_info,
body.single-property
.tds-agent-card__form
.rh_property_agent__title,
body.single-property
.tds-agent-card__form
.rh_property_agent__agent_head {
display: none !important;
}

body.single-property .tds-agent-card__form .rh_property_agent,
body.single-property .tds-agent-card__form .rh_agent_form,
body.single-property .tds-agent-card__form .rh_sidebar {
max-width: 760px !important;
width: 100% !important;

margin: 0 auto !important;
padding: 0 !important;

border: 0 !important;
border-radius: 0 !important;
background: transparent !important;
box-shadow: none !important;
}

body.single-property
.tds-agent-card__form
.agent-form.contact-form-small {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}

body.single-property
.tds-agent-card__form
.rh_agent_form__field {
margin: 0 !important;
}

body.single-property
.tds-agent-card__form
.rh_agent_form__textarea,
body.single-property
.tds-agent-card__form
.rh_inspiry_gdpr,
body.single-property
.tds-agent-card__form
.inspiry-recaptcha-wrapper,
body.single-property
.tds-agent-card__form
.rh_agent_form__row {
grid-column: 1 / -1;
}

body.single-property
.tds-agent-card__form
.rh_agent_form__field label {
display: block;
margin: 0 0 7px;

font-family: var(--font-ui);
font-size: 12px;
font-weight: 700;

color: rgba(23, 32, 51, .58);
}

body.single-property
.tds-agent-card__form
.rh_agent_form__field input,
body.single-property
.tds-agent-card__form
.rh_agent_form__field textarea {
width: 100% !important;

border: 1px solid rgba(23, 32, 51, .09) !important;
border-radius: 15px !important;

background: #f7f5f1 !important;
color: #172033 !important;

font-family: var(--font-ui) !important;
font-size: 14px !important;

box-shadow: none !important;
}

body.single-property
.tds-agent-card__form
.rh_agent_form__field input {
min-height: 54px !important;
padding: 0 16px !important;
}

body.single-property
.tds-agent-card__form
.rh_agent_form__field textarea {
min-height: 150px !important;
padding: 15px 16px !important;
resize: vertical;
}

body.single-property
.tds-agent-card__form
.rh_agent_form__field input:focus,
body.single-property
.tds-agent-card__form
.rh_agent_form__field textarea:focus {
border-color: rgba(201, 158, 108, .65) !important;
outline: none !important;
background: #fff !important;
}

body.single-property
.tds-agent-card__form
.agent-form-contact-methods-wrapper {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
}

body.single-property
.tds-agent-card__form
.btn-mail-now {
min-height: 54px !important;
padding: 0 24px !important;

border: 0 !important;
border-radius: 16px !important;

background: #172033 !important;
color: #fff !important;

font-family: var(--font-ui) !important;
font-size: 14px !important;
font-weight: 800 !important;
}

body.single-property
.tds-agent-card__form
.btn-mail-now:hover {
background: #c99e6c !important;
}

/* Mobile */

@media (max-width: 860px) {

body.single-property .tds-agent-card__summary {
align-items: flex-start;
flex-direction: column;
}

body.single-property .tds-agent-card__actions {
width: 100%;
justify-content: flex-start;
}

}

@media (max-width: 767px) {

body.single-property .tds-agent-card {
border-radius: 24px;
}

body.single-property .tds-agent-card__summary {
min-height: 0;
padding: 24px;
gap: 23px;
}

body.single-property .tds-agent-card__identity {
width: 100%;
align-items: flex-start;
gap: 17px;
}

body.single-property .tds-agent-card__photo {
flex-basis: 76px;
width: 76px;
height: 76px;
border-radius: 21px;
}

body.single-property .tds-agent-card__details h2 {
font-size: 21px;
}

body.single-property .tds-agent-card__phone {
font-size: 20px;
}

body.single-property .tds-agent-card__email {
max-width: calc(100vw - 160px);
font-size: 12px;
}

body.single-property .tds-agent-card__actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 9px;
}

body.single-property .tds-agent-action {
width: 100%;
min-height: 50px;
padding: 0 12px;
}

body.single-property .tds-agent-action--secondary {
grid-column: 1 / -1;
}

body.single-property .tds-agent-card__form {
padding-left: 24px;
padding-right: 24px;
}

body.single-property .tds-agent-card--open .tds-agent-card__form {
padding-top: 26px;
padding-bottom: 26px;
}

body.single-property
.tds-agent-card__form
.agent-form.contact-form-small {
grid-template-columns: 1fr;
}

}

/* TDS AGENT COMPONENT 2.0 — END */


/* ==========================================================
   TDS Agent — temporary RH form visibility fix
   ========================================================== */

body.single-property
.tds-agent-card--open
.tds-agent-card__form form {
display: block !important;
visibility: visible !important;
opacity: 1 !important;

width: 100% !important;
max-width: 760px !important;

margin: 0 auto !important;
}

body.single-property
.tds-agent-card--open
.tds-agent-card__form form * {
visibility: visible;
}

body.single-property
.tds-agent-card__form
.rh_property_agent,
body.single-property
.tds-agent-card__form
.rh_property_agent__agent_info,
body.single-property
.tds-agent-card__form
.rh_agent_form,
body.single-property
.tds-agent-card__form
.agent-form {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}


/* ==========================================================
   TDS Agent 2.1 — RealHomes enquiry form integration
   ========================================================== */

body.single-property .tds-agent-card__photo > a {
display: block;
width: 100%;
height: 100%;
}

body.single-property .tds-agent-card__details h2 a {
color: inherit;
text-decoration: none;
}

body.single-property .tds-agent-card__details h2 a:hover {
color: #c99e6c;
}

/*
 * Wewnętrzny kontener odpowiada za animację wysokości.
 */
body.single-property .tds-agent-card__form-inner {
min-height: 0;
overflow: hidden;
}

/*
 * Sam widget RH pozostaje aktywny, ale nie otrzymuje
 * swojego pierwotnego wyglądu.
 */
body.single-property
.tds-agent-card__form
.rh_property_agent {
display: block !important;
visibility: visible !important;
opacity: 1 !important;

width: 100% !important;
max-width: 760px !important;

margin: 0 auto !important;
padding: 0 !important;

border: 0 !important;
border-radius: 0 !important;
background: transparent !important;
box-shadow: none !important;
}

/*
 * Ukrywamy wyłącznie powtórzone dane agenta.
 * Formularz .rh_property_agent__enquiry_form pozostaje widoczny.
 */
body.single-property
.tds-agent-card__form
.rh_property_agent > .agent-image,

body.single-property
.tds-agent-card__form
.rh_property_agent > .rh_property_agent__title,

body.single-property
.tds-agent-card__form
.rh_property_agent > .rh_property_agent__agent_info,

body.single-property
.tds-agent-card__form
.rh_property_agent > .rh_property_agent__link {
display: none !important;
}

body.single-property
.tds-agent-card__form
.rh_property_agent__enquiry_form {
display: block !important;
visibility: visible !important;
opacity: 1 !important;

width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}

body.single-property
.tds-agent-card__form
.rh_widget_form.agent-form {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;

width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row {
margin: 0 !important;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row:nth-of-type(4),

body.single-property
.tds-agent-card__form
.rh_inspiry_gdpr,

body.single-property
.tds-agent-card__form
.rh_modal__recaptcha,

body.single-property
.tds-agent-card__form
.sidebar-agent-form-contact-methods-wrapper,

body.single-property
.tds-agent-card__form
.btn-mail-now,

body.single-property
.tds-agent-card__form
.ajax-loader,

body.single-property
.tds-agent-card__form
.error-container,

body.single-property
.tds-agent-card__form
.message-container {
grid-column: 1 / -1;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row label {
display: block;

margin: 0 0 7px;

font-family: var(--font-ui);
font-size: 12px;
font-weight: 700;
line-height: 1.3;

color: rgba(23, 32, 51, .58);
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row input,

body.single-property
.tds-agent-card__form
.rh_widget_form__row textarea {
width: 100% !important;

border: 1px solid rgba(23, 32, 51, .09) !important;
border-radius: 15px !important;

background: #f7f5f1 !important;
color: #172033 !important;

font-family: var(--font-ui) !important;
font-size: 14px !important;

box-shadow: none !important;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row input {
min-height: 54px !important;
padding: 0 16px !important;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row textarea {
min-height: 155px !important;
padding: 15px 16px !important;
resize: vertical;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row input:focus,

body.single-property
.tds-agent-card__form
.rh_widget_form__row textarea:focus {
outline: none !important;
border-color: rgba(201, 158, 108, .68) !important;
background: #fff !important;
}

body.single-property
.tds-agent-card__form
.rh_inspiry_gdpr {
margin: 4px 0 0 !important;
padding: 0 !important;
}

body.single-property
.tds-agent-card__form
.rh_inspiry_gdpr .gdpr-checkbox-label {
display: block;

margin: 0 0 9px;

font-family: var(--font-ui);
font-size: 12px;
font-weight: 800;

color: #172033;
}

body.single-property
.tds-agent-card__form
.rh_inspiry_gdpr label {
display: flex;
align-items: flex-start;
gap: 10px;

font-family: var(--font-ui);
font-size: 12px;
line-height: 1.5;

color: rgba(23, 32, 51, .62);
}

body.single-property
.tds-agent-card__form
.btn-mail-now {
min-height: 54px !important;
width: fit-content !important;

display: inline-flex !important;
align-items: center;
justify-content: center;
gap: 9px;

margin: 4px 0 0 !important;
padding: 0 25px !important;

border: 0 !important;
border-radius: 16px !important;

background: #172033 !important;
color: #fff !important;

font-family: var(--font-ui) !important;
font-size: 14px !important;
font-weight: 800 !important;

box-shadow: none !important;
}

body.single-property
.tds-agent-card__form
.btn-mail-now:hover {
background: #c99e6c !important;
}

body.single-property
.tds-agent-card__form
.btn-mail-now svg {
width: 19px;
height: 19px;
}

@media (max-width: 767px) {

body.single-property
.tds-agent-card__form
.rh_widget_form.agent-form {
grid-template-columns: 1fr;
}

body.single-property
.tds-agent-card__form
.rh_widget_form__row:nth-of-type(4) {
grid-column: auto;
}

body.single-property
.tds-agent-card__form
.btn-mail-now {
width: 100% !important;
}

}


/* =====================================================
   TDS: hide RealHomes mobile agent sticky bar
   ===================================================== */
@media (max-width: 767px) {
    #property-agent-contact-methods-wrapper {
        display: none !important;
    }

}

/* ==========================================================
   TDS Financing component v1
   ========================================================== */

#tds-financing .tds-property-accordion__content {
    padding: 8px 32px 32px;
}

.tds-financing-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    gap: clamp(36px, 5vw, 76px);
    align-items: stretch;
}

.tds-financing-fields {
    min-width: 0;
    padding: 8px 0 0;
}

.tds-financing-fields__title {
    margin: 0 0 28px;
    font-family: var(--font-heading);
    font-size: clamp(25px, 2vw, 34px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #172033;
}

.tds-financing-fields .rh_property__mc_wrap,
.tds-financing-fields .rh_property__mc {
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.tds-financing-fields .rh_property__heading,
.tds-financing-fields .mc_right_side {
    display: none;
}

.tds-financing-fields .mc_left_side {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.tds-financing-fields .rh_mc_field {
    margin: 0 0 25px;
}

.tds-financing-fields .rh_mc_field:last-child {
    margin-bottom: 0;
}

.tds-financing-fields .rh_mc_field > label {
    display: block;
    margin: 0 0 10px;
    font-family: var(--font-heading);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
    color: #172033;
}

.tds-financing-fields .rh_form__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
    padding: 0;
}

.tds-financing-fields .rh_form__item input[type="text"],
.tds-financing-fields .rh_form__item select,
.tds-financing-fields .bootstrap-select > .dropdown-toggle {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid #DDD9D2;
    border-radius: 10px;
    background: #FFF;
    box-shadow: none;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 54px;
    color: #5F6674;
}

.tds-financing-fields .bootstrap-select {
    width: 100%;
}

.tds-financing-fields .bootstrap-select > .dropdown-toggle {
    display: flex;
    align-items: center;
}

.tds-financing-fields .bootstrap-select .filter-option {
    display: flex;
    align-items: center;
}

.tds-financing-fields .mc_downpayment {
    grid-column: 1;
    grid-row: 1;
    padding-right: 105px;
}

.tds-financing-fields .mc_downpayment_percent {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    width: 92px;
    border-left: 1px solid #E2DED8;
    border-radius: 0 10px 10px 0;
    text-align: center;
}

.tds-financing-fields input[type="range"] {
    grid-column: 1;
    width: 100%;
    height: 18px;
    margin: -1px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.tds-financing-fields input[type="range"]::-webkit-slider-runnable-track {
    height: 5px;
    border-radius: 99px;
    background: #E5E1DB;
}

.tds-financing-fields input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    margin-top: -7px;
    border: 2px solid #FFF;
    border-radius: 50%;
    background: #CDA16B;
    box-shadow: 0 2px 8px rgba(23, 32, 51, .18);
    appearance: none;
    -webkit-appearance: none;
}

.tds-financing-fields input[type="range"]::-moz-range-track {
    height: 5px;
    border: 0;
    border-radius: 99px;
    background: #E5E1DB;
}

.tds-financing-fields input[type="range"]::-moz-range-progress {
    height: 5px;
    border-radius: 99px;
    background: #CDA16B;
}

.tds-financing-fields input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 2px solid #FFF;
    border-radius: 50%;
    background: #CDA16B;
    box-shadow: 0 2px 8px rgba(23, 32, 51, .18);
}

.tds-financing-result {
    min-width: 0;
    padding: clamp(34px, 4vw, 54px);
    border: 1px solid rgba(205, 161, 107, .16);
    border-radius: 26px;
    background:
        radial-gradient(
            circle at 50% 0,
            rgba(255, 255, 255, .9),
            transparent 48%
        ),
        #F7F2EB;
}

.tds-financing-result__eyebrow {
    margin: 0 0 18px;
    font-family: var(--font-heading);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .13em;
    text-align: center;
    text-transform: uppercase;
    color: #C28F55;
}

.tds-financing-result__payment {
    margin: 0 0 34px;
    text-align: center;
    color: #172033;
}

.tds-financing-result__payment strong {
    display: block;
    font-family: var(--font-heading);
    font-size: clamp(50px, 5vw, 74px);
    line-height: .95;
    font-weight: 800;
    letter-spacing: -.055em;
}

.tds-financing-result__payment > span {
    display: block;
    margin-top: 9px;
    font-size: 17px;
    line-height: 1.4;
}

.tds-financing-result__summary {
    margin: 0;
    border-top: 1px solid #DED7CE;
}

.tds-financing-result__summary > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    min-height: 62px;
    border-bottom: 1px solid #DED7CE;
}

.tds-financing-result__summary dt,
.tds-financing-result__summary dd {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    color: #3F485A;
}

.tds-financing-result__summary dd {
    font-family: var(--font-heading);
    font-weight: 800;
    white-space: nowrap;
    color: #172033;
}

.tds-financing-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.tds-financing-info__button {
    width: 20px;
    height: 20px;
    padding: 0;
    border: 1px solid #CDA16B;
    border-radius: 50%;
    background: transparent;
    font-family: Georgia, serif;
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
    color: #9D6F3A;
    cursor: help;
}

.tds-financing-info__tooltip {
    position: absolute;
    left: 0;
    bottom: calc(100% + 13px);
    z-index: 20;
    width: min(310px, 76vw);
    padding: 14px 16px;
    border: 1px solid rgba(205, 161, 107, .24);
    border-radius: 12px;
    background: #FFF;
    box-shadow: 0 14px 34px rgba(23, 32, 51, .14);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
    color: #505869;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
    pointer-events: none;
}

.tds-financing-info__tooltip::after {
    content: "";
    position: absolute;
    left: 107px;
    top: 100%;
    width: 11px;
    height: 11px;
    border-right: 1px solid rgba(205, 161, 107, .24);
    border-bottom: 1px solid rgba(205, 161, 107, .24);
    background: #FFF;
    transform: translateY(-6px) rotate(45deg);
}

.tds-financing-info:hover .tds-financing-info__tooltip,
.tds-financing-info:focus-within .tds-financing-info__tooltip,
.tds-financing-info.is-open .tds-financing-info__tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.tds-financing-result__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    font-family: var(--font-heading);
    font-size: 15px;
    line-height: 1.4;
    font-weight: 800;
    color: #172033;
    text-decoration: none;
}

.tds-financing-result__link:hover,
.tds-financing-result__link:focus-visible {
    color: #A9743F;
}

.tds-financing-disclaimer {
    margin: 28px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: #737A88;
}

@media (max-width: 980px) {
    .tds-financing-layout {
        grid-template-columns: 1fr;
    }

    .tds-financing-result {
        padding: 34px;
    }
}

@media (max-width: 767px) {
    #tds-financing .tds-property-accordion__content {
        padding: 4px 24px 24px;
    }

    .tds-financing-layout {
        gap: 30px;
    }

    .tds-financing-fields__title {
        margin-bottom: 22px;
        font-size: 25px;
    }

    .tds-financing-result {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .tds-financing-result__payment strong {
        font-size: clamp(44px, 14vw, 58px);
    }

    .tds-financing-result__summary > div {
        gap: 12px;
    }

    .tds-financing-result__summary dt,
    .tds-financing-result__summary dd {
        font-size: 13px;
    }

    .tds-financing-info__tooltip {
        position: fixed;
        left: 20px;
        right: 20px;
        bottom: 24px;
        width: auto;
        max-width: none;
    }

    .tds-financing-info__tooltip::after {
        display: none;
    }
}


/* ==========================================================
   TDS Financing component v2 — standalone TARG UI
   ========================================================== */

#tds-financing[data-tds-financing-version="2"] .tds-financing-fields {
    padding-top: 8px;
}

#tds-financing[data-tds-financing-version="2"] .tds-financing-field {
    margin: 0 0 25px;
}

#tds-financing[data-tds-financing-version="2"] .tds-financing-field:last-child {
    margin-bottom: 0;
}

#tds-financing[data-tds-financing-version="2"] .tds-financing-field > label {
    display: block;
    margin: 0 0 10px;
    font-family: var(--font-heading);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
    color: #172033;
}

.tds-financing-select {
    position: relative;
}

.tds-financing-select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 19px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #737A88;
    border-bottom: 2px solid #737A88;
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}

.tds-financing-select select,
.tds-financing-input {
    display: block;
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid #DDD9D2;
    border-radius: 10px;
    outline: 0;
    background: #FFF;
    box-shadow: none;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 56px;
    color: #5F6674;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.tds-financing-select select {
    padding-right: 48px;
    appearance: none;
    -webkit-appearance: none;
}

.tds-financing-select select:focus,
.tds-financing-input:focus {
    border-color: #CDA16B;
    box-shadow: 0 0 0 3px rgba(205, 161, 107, .16);
}

.tds-financing-input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 105px;
}

.tds-financing-input-group .tds-financing-input:first-child {
    border-radius: 10px 0 0 10px;
}

.tds-financing-input-group .tds-financing-input--percent {
    border-left: 0;
    border-radius: 0 10px 10px 0;
    text-align: center;
}

.tds-financing-range {
    --tds-range-progress: 0%;
    display: block;
    width: 100%;
    height: 20px;
    margin: 3px 0 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.tds-financing-range::-webkit-slider-runnable-track {
    height: 5px;
    border-radius: 999px;
    background:
        linear-gradient(
            to right,
            #CDA16B 0,
            #CDA16B var(--tds-range-progress),
            #E5E1DB var(--tds-range-progress),
            #E5E1DB 100%
        );
}

.tds-financing-range::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    margin-top: -7px;
    border: 2px solid #FFF;
    border-radius: 50%;
    background: #CDA16B;
    box-shadow: 0 2px 8px rgba(23, 32, 51, .18);
    appearance: none;
    -webkit-appearance: none;
}

.tds-financing-range::-moz-range-track {
    height: 5px;
    border: 0;
    border-radius: 999px;
    background: #E5E1DB;
}

.tds-financing-range::-moz-range-progress {
    height: 5px;
    border-radius: 999px;
    background: #CDA16B;
}

.tds-financing-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 2px solid #FFF;
    border-radius: 50%;
    background: #CDA16B;
    box-shadow: 0 2px 8px rgba(23, 32, 51, .18);
}

@media (max-width: 767px) {
    .tds-financing-input-group {
        grid-template-columns: minmax(0, 1fr) 88px;
    }

    .tds-financing-select select,
    .tds-financing-input {
        min-height: 52px;
        font-size: 15px;
        line-height: 52px;
    }
}

/* TDS PRESENTATION FORM — START */

#tds-schedule {
	scroll-margin-top: 32px;
}

.tds-schedule__inner {
	width: min(100%, 1180px);
	margin: 0 auto;
	padding: 24px 48px 52px;
}

.tds-schedule__intro {
	margin-bottom: 30px;
}

.tds-schedule__intro h2 {
	margin: 0 0 8px;
	color: #172033;
	font-size: clamp(30px, 2.5vw, 46px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.tds-schedule__intro p {
	margin: 0;
	color: #7d8490;
	font-size: 17px;
	line-height: 1.6;
}

.tds-schedule__status {
	margin: 0 0 26px;
	padding: 16px 18px;
	border: 1px solid transparent;
	border-radius: 14px;
	font-size: 15px;
	line-height: 1.5;
}

.tds-schedule__status--success {
	border-color: rgba(93, 131, 100, 0.25);
	background: #f3f7f2;
	color: #3f6547;
}

.tds-schedule__status--error {
	border-color: rgba(159, 83, 72, 0.22);
	background: #fbf3f1;
	color: #8b493f;
}

.tds-schedule__form,
.tds-schedule__form * {
	box-sizing: border-box;
}

.tds-schedule__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 30px;
}

.tds-schedule__field {
	display: flex;
	min-width: 0;
	margin: 0;
	flex-direction: column;
	gap: 10px;
}

.tds-schedule__field--wide {
	grid-column: 1 / -1;
}

.tds-schedule__field > span {
	color: #172033;
	font-size: 15px;
	font-style: normal;
	font-weight: 650;
	line-height: 1.4;
}

.tds-schedule__field em {
	color: #7d8490;
	font-style: normal;
	font-weight: 400;
}

.tds-schedule__field input,
.tds-schedule__field select,
.tds-schedule__field textarea {
	width: 100%;
	margin: 0;
	border: 1px solid #d9d8d4;
	border-radius: 12px;
	outline: none;
	background: #ffffff;
	box-shadow: none;
	color: #172033;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease;
}

.tds-schedule__field input,
.tds-schedule__field select {
	height: 58px;
	padding: 0 18px;
}

.tds-schedule__field textarea {
	min-height: 116px;
	padding: 17px 18px;
	resize: vertical;
}

.tds-schedule__field input::placeholder,
.tds-schedule__field textarea::placeholder {
	color: #9ba0aa;
	opacity: 1;
}

.tds-schedule__field input:focus,
.tds-schedule__field select:focus,
.tds-schedule__field textarea:focus {
	border-color: #cda16b;
	box-shadow: 0 0 0 3px rgba(205, 161, 107, 0.14);
}

.tds-schedule__field select {
	appearance: auto;
	cursor: pointer;
}

.tds-schedule__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 26px 0 24px;
	color: #6f7682;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
}

.tds-schedule__consent input {
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	flex: 0 0 20px;
	accent-color: #cda16b;
	cursor: pointer;
}

.tds-schedule__consent a {
	color: #172033;
	text-decoration: underline;
	text-decoration-color: rgba(23, 32, 51, 0.42);
	text-underline-offset: 3px;
}

.tds-schedule__consent a:hover,
.tds-schedule__consent a:focus-visible {
	color: #9a6f42;
	text-decoration-color: currentColor;
}

.tds-schedule__submit {
	display: inline-flex;
	min-height: 58px;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin: 0;
	padding: 0 28px;
	border: 1px solid #172033;
	border-radius: 10px;
	background: #172033;
	box-shadow: none;
	color: #ffffff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 650;
	line-height: 1;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.tds-schedule__submit span:last-child {
	color: #cda16b;
	font-size: 24px;
	font-weight: 400;
	transition: transform 180ms ease;
}

.tds-schedule__submit:hover,
.tds-schedule__submit:focus-visible {
	border-color: #26324a;
	background: #26324a;
	color: #ffffff;
}

.tds-schedule__submit:hover span:last-child {
	transform: translateX(4px);
}

.tds-schedule__submit:focus-visible {
	outline: 3px solid rgba(205, 161, 107, 0.35);
	outline-offset: 3px;
}

.tds-schedule__honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 767px) {
	.tds-schedule__inner {
		padding: 10px 24px 34px;
	}

	.tds-schedule__intro {
		margin-bottom: 24px;
	}

	.tds-schedule__intro h2 {
		font-size: clamp(28px, 9vw, 38px);
	}

	.tds-schedule__intro p {
		font-size: 15px;
	}

	.tds-schedule__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.tds-schedule__field--wide {
		grid-column: auto;
	}

	.tds-schedule__field input,
	.tds-schedule__field select {
		height: 56px;
		font-size: 16px;
	}

	.tds-schedule__consent {
		margin-top: 24px;
	}

	.tds-schedule__submit {
		width: 100%;
	}
}

/* TDS PRESENTATION FORM — END */

/* =====================================================
   TDS PROPERTY FEATURES — START
   Cechy nieruchomości
   ===================================================== */

/* Główna karta sekcji */

body.single-property .features-content-wrapper {
    box-sizing: border-box;

    width: 100%;
    padding: clamp(46px, 4vw, 72px);

    border: 1px solid rgba(205, 161, 109, 0.42);
    border-radius: 30px;

    background: rgba(255, 255, 255, 0.97);

    box-shadow:
        0 22px 60px rgba(23, 32, 51, 0.045),
        0 3px 12px rgba(23, 32, 51, 0.025);
}

/*
 * Usunięcie wyglądu wewnętrznej karty RH.
 */

body.single-property
.features-content-wrapper
.rh_property__features_wrap {
    box-sizing: border-box;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(40px, 5vw, 76px);
    row-gap: 0;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
}

/*
 * Obsługa wariantu RH, w którym lista posiada dodatkowy
 * element UL pomiędzy kontenerem i pozycjami.
 */

body.single-property
.features-content-wrapper
.rh_property__features_wrap > ul,
body.single-property
.features-content-wrapper
.rh_property__features {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: 1 / -1;
    column-gap: clamp(40px, 5vw, 76px);
    row-gap: 0;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Nagłówek sekcji */

body.single-property
.features-content-wrapper
.rh_property__heading {
    display: block;
    grid-column: 1 / -1;

    margin: 0 0 28px !important;
    padding: 0 !important;

    color: #172033 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
}

/* Mały złoty nagłówek */

body.single-property
.features-content-wrapper
.rh_property__heading::before {
    content: "CECHY NIERUCHOMOŚCI";

    display: block;
    margin: 0 0 14px;

    color: #bd884f;

    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

/* Główny tytuł */

body.single-property
.features-content-wrapper
.rh_property__heading::after {
    content: "Najważniejsze cechy";

    display: block;

    color: #172033;

    font-size: clamp(30px, 2.5vw, 42px);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.035em;
}

/* Pojedyncza cecha */

body.single-property
.features-content-wrapper
.rh_property__feature {
    box-sizing: border-box;

    display: flex !important;
    align-items: center;
    gap: 16px;

    width: 100% !important;
    min-width: 0;
    min-height: 70px;

    margin: 0 !important;
    padding: 13px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(23, 32, 51, 0.085) !important;

    color: #394154 !important;
    background: transparent !important;

    list-style: none !important;
}

/*
 * Usunięcie dolnej linii z ostatniej pozycji każdej
 * z trzech kolumn przy typowym układzie listy.
 */

@media (min-width: 1100px) {
    body.single-property
    .features-content-wrapper
    .rh_property__feature:nth-last-child(-n + 3) {
        border-bottom-color: transparent !important;
    }
}

/* Okrąg ze znacznikiem */

body.single-property
.features-content-wrapper
.rh_property__feature
.rh_done_icon {
    position: static !important;
    inset: auto !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    color: #bd884f !important;
    background: #f8f2e9 !important;

    box-shadow: none !important;
}

/* SVG znacznika RH */

body.single-property
.features-content-wrapper
.rh_property__feature
.rh_done_icon svg {
    display: block;

    width: 18px !important;
    height: 18px !important;

    margin: 0 !important;

    fill: none !important;
    stroke: #bd884f !important;
    stroke-width: 2 !important;
}

/*
 * RH może definiować kolor bezpośrednio na elementach
 * wewnątrz SVG.
 */

body.single-property
.features-content-wrapper
.rh_property__feature
.rh_done_icon svg path,
body.single-property
.features-content-wrapper
.rh_property__feature
.rh_done_icon svg polyline,
body.single-property
.features-content-wrapper
.rh_property__feature
.rh_done_icon svg line {
    fill: none !important;
    stroke: #bd884f !important;
}

/*
 * Wariant znacznika z ikoną fontową zamiast SVG.
 */

body.single-property
.features-content-wrapper
.rh_property__feature
.rh_done_icon i {
    margin: 0 !important;

    color: #bd884f !important;

    font-size: 15px !important;
    line-height: 1 !important;
}

/* Tekst i ewentualne odnośniki */

body.single-property
.features-content-wrapper
.rh_property__feature a,
body.single-property
.features-content-wrapper
.rh_property__feature > span:not(.rh_done_icon) {
    min-width: 0;

    color: #394154 !important;

    font-size: 17px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    text-decoration: none !important;

    transition: color 160ms ease;
}

body.single-property
.features-content-wrapper
.rh_property__feature a:hover {
    color: #bd884f !important;
}

/* Tablet */

@media (min-width: 768px) and (max-width: 1099px) {
    body.single-property
    .features-content-wrapper
    .rh_property__features_wrap,
    body.single-property
    .features-content-wrapper
    .rh_property__features_wrap > ul,
    body.single-property
    .features-content-wrapper
    .rh_property__features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 42px;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__feature:nth-last-child(-n + 2) {
        border-bottom-color: transparent !important;
    }
}

/* Telefon */

@media (max-width: 767px) {
    body.single-property .features-content-wrapper {
        padding: 34px 26px;
        border-radius: 24px;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__features_wrap,
    body.single-property
    .features-content-wrapper
    .rh_property__features_wrap > ul,
    body.single-property
    .features-content-wrapper
    .rh_property__features {
        grid-template-columns: minmax(0, 1fr);
    }

    body.single-property
    .features-content-wrapper
    .rh_property__heading {
        margin-bottom: 22px !important;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__heading::before {
        margin-bottom: 12px;
        font-size: 12px;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__heading::after {
        font-size: 31px;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__feature {
        min-height: 64px;
        padding: 10px 0 !important;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__feature:last-child {
        border-bottom-color: transparent !important;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__feature
    .rh_done_icon {
        flex-basis: 38px;
        width: 38px !important;
        height: 38px !important;
    }

    body.single-property
    .features-content-wrapper
    .rh_property__feature a,
    body.single-property
    .features-content-wrapper
    .rh_property__feature > span:not(.rh_done_icon) {
        font-size: 16px !important;
    }
}

/* =====================================================
   TDS PROPERTY FEATURES — END
   ===================================================== */

/* =====================================================
   TDS PROPERTY FEATURES EXACT — START
   Cechy nieruchomości — selektory aktualnego HTML
   ===================================================== */

/*
 * RealHomes dostarcza dane i listę cech.
 * Wygląd sekcji jest kontrolowany przez TARG Design System.
 */

body.single-property
section.tds-property-card
> #property-content-section-features.rh_property__features_wrap {
    box-sizing: border-box;

    width: 100%;
    margin: 0 !important;
    padding: clamp(42px, 4vw, 68px) !important;

    border: 0 !important;
    border-radius: inherit;
    background: transparent !important;
    box-shadow: none !important;
}

/* Nagłówek */

body.single-property
#property-content-section-features
> h4.rh_property__heading {
    display: block !important;

    margin: 0 0 clamp(26px, 3vw, 40px) !important;
    padding: 0 !important;

    border: 0 !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

body.single-property
#property-content-section-features
> h4.rh_property__heading::before {
    content: "CECHY NIERUCHOMOŚCI";

    display: block;

    margin: 0 0 11px;

    color: #c99b65;
    font-family: var(--font-ui, "Rubik", sans-serif);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.single-property
#property-content-section-features
> h4.rh_property__heading::after {
    content: "Najważniejsze cechy";

    display: block;

    color: #111b32;
    font-family: var(--font-heading, "Rubik", sans-serif);
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

/* Wrapper listy */

body.single-property
#property-content-section-features
.rh-property-features-inner-wrap {
    box-sizing: border-box;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Siatka cech */

body.single-property
#property-content-section-features
ul.rh_property__features.arrow-bullet-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: clamp(32px, 4vw, 70px) !important;
    row-gap: 0 !important;

    float: none !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Pojedyncza cecha */

body.single-property
#property-content-section-features
li.rh_property__feature {
    box-sizing: border-box;

    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    float: none !important;
    clear: none !important;

    position: relative !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 70px;
    margin: 0 !important;
    padding: 13px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(17, 27, 50, 0.09) !important;

    color: #596171;
    background: transparent !important;
}

/* Okrągły znacznik TDS */

body.single-property
#property-content-section-features
li.rh_property__feature
> span.rh_done_icon {
    box-sizing: border-box;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    float: none !important;

    position: static !important;
    inset: auto !important;

    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 13px !important;

    border: 1px solid rgba(201, 155, 101, 0.22) !important;
    border-radius: 50% !important;

    color: #bd884f !important;
    background: #faf4eb !important;
}

/* RealHomes używa w tym miejscu wypełnionego SVG */

body.single-property
#property-content-section-features
span.rh_done_icon
svg {
    display: block !important;

    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;

    fill: #bd884f !important;
}

body.single-property
#property-content-section-features
span.rh_done_icon
svg path {
    fill: #bd884f !important;
    stroke: none !important;
}

/* Nazwa cechy */

body.single-property
#property-content-section-features
li.rh_property__feature
> a {
    display: block !important;

    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;

    color: #525b6d !important;
    font-family: var(--font-ui, "Rubik", sans-serif);
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;

    transition:
        color 160ms ease,
        transform 160ms ease;
}

body.single-property
#property-content-section-features
li.rh_property__feature
> a:hover {
    color: #111b32 !important;
    transform: translateX(2px);
}

/* Tablet */

@media (max-width: 1099px) {
    body.single-property
    #property-content-section-features
    ul.rh_property__features.arrow-bullet-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Telefon */

@media (max-width: 767px) {
    body.single-property
    section.tds-property-card
    > #property-content-section-features.rh_property__features_wrap {
        padding: 34px 27px !important;
    }

    body.single-property
    #property-content-section-features
    > h4.rh_property__heading {
        margin-bottom: 21px !important;
    }

    body.single-property
    #property-content-section-features
    > h4.rh_property__heading::before {
        margin-bottom: 9px;
        font-size: 10px;
    }

    body.single-property
    #property-content-section-features
    > h4.rh_property__heading::after {
        font-size: clamp(27px, 8vw, 35px);
    }

    body.single-property
    #property-content-section-features
    ul.rh_property__features.arrow-bullet-list {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.single-property
    #property-content-section-features
    li.rh_property__feature {
        min-height: 62px;
        padding: 10px 0 !important;
    }

    body.single-property
    #property-content-section-features
    li.rh_property__feature
    > span.rh_done_icon {
        flex-basis: 38px !important;

        width: 38px !important;
        height: 38px !important;
        padding: 11px !important;
    }

    body.single-property
    #property-content-section-features
    li.rh_property__feature
    > a {
        font-size: 16px !important;
    }
}

/* =====================================================
   TDS PROPERTY FEATURES EXACT — END
   ===================================================== */
/* =====================================================
   TDS PROPERTY PARAMETERS DYNAMIC V2 — START
   ===================================================== */

body.single-property .tds-property-overview {
    overflow: hidden;
}

body.single-property .tds-property-overview__top {
    margin-bottom: 32px;
}

body.single-property .tds-property-overview--without-parameters .tds-property-overview__top {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

body.single-property .tds-property-overview__top > .tds-property-overview__actions:only-child {
    margin-left: auto;
}

body.single-property .tds-property-parameters__eyebrow {
    margin: 0 0 22px !important;
    color: #c99b65 !important;
    font-family: var(--font-ui, "Rubik", sans-serif) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.single-property .tds-property-parameters__grid {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(var(--tds-parameter-columns), minmax(0, 1fr));
    gap: 1px;
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(201, 155, 101, .22);
    border-radius: 24px;
    background: rgba(17, 27, 50, .09);
}

body.single-property .tds-property-overview--compact-parameters .tds-property-parameters__grid {
    width: fit-content;
    max-width: 100%;
}

body.single-property .tds-property-overview--compact-parameters .tds-property-parameter {
    width: min(320px, calc(100vw - 96px));
}

body.single-property .tds-property-parameter {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 17px;
    min-width: 0;
    min-height: 132px;
    padding: 24px 22px;
    background: #fdfcf9;
}

body.single-property .tds-property-parameter__icon {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    color: #bd884f;
    background: #faf4eb;
}

body.single-property .tds-property-parameter__icon svg {
    display: block;
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.single-property .tds-property-parameter__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.single-property .tds-property-parameter__label {
    margin-bottom: 8px;
    overflow-wrap: anywhere;
    color: #747c8a;
    font-family: var(--font-ui, "Rubik", sans-serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

body.single-property .tds-property-parameter__value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    color: #111b32;
    font-family: var(--font-heading, "Rubik", sans-serif);
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.035em;
}

body.single-property .tds-property-parameter__value small {
    color: #737b89;
    font-family: var(--font-ui, "Rubik", sans-serif);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
}

@media (max-width: 1099px) {
    body.single-property .tds-property-parameters__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-property .tds-property-overview--compact-parameters .tds-property-parameters__grid {
        width: 100%;
    }

    body.single-property .tds-property-overview--compact-parameters .tds-property-parameter {
        width: auto;
    }
}

@media (max-width: 767px) {
    body.single-property .tds-property-overview__top {
        align-items: flex-start;
        gap: 18px;
        margin-bottom: 26px;
    }

    body.single-property .tds-property-overview__actions {
        gap: 13px;
    }

    body.single-property .tds-overview-action {
        font-size: 12px;
    }

    body.single-property .tds-property-parameters__eyebrow {
        margin-bottom: 17px !important;
        font-size: 10px !important;
    }

    body.single-property .tds-property-parameters__grid {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 20px;
    }

    body.single-property .tds-property-parameter {
        min-height: 104px;
        padding: 19px 18px;
    }

    body.single-property .tds-property-parameter__icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

    body.single-property .tds-property-parameter__icon svg {
        width: 23px;
        height: 23px;
    }

    body.single-property .tds-property-parameter__label {
        margin-bottom: 6px;
        font-size: 13px;
    }

    body.single-property .tds-property-parameter__value {
        font-size: 27px;
    }
}

/* =====================================================
   TDS PROPERTY PARAMETERS DYNAMIC V2 — END
   ===================================================== */

/* =====================================================
   TDS PROPERTY PARAMETERS COLOR BALANCE — START
   Ograniczenie złota i neutralizacja obramowań
   ===================================================== */

/*
 * Złoto pozostaje akcentem:
 * - nagłówek sekcji,
 * - cienki kontur ikon.
 *
 * Ramka, separatory i tła medalionów są neutralne.
 */

body.single-property
.tds-property-parameters__grid {
    border-color: rgba(17, 27, 50, 0.10);
    background: rgba(17, 27, 50, 0.085);
}

body.single-property
.tds-property-parameter {
    background: #fdfcf9;
}

body.single-property
.tds-property-parameter__icon {
    border: 1px solid rgba(17, 27, 50, 0.055);
    color: #b98751;
    background: #f6f4f0;
}

/*
 * Starsza reguła RealHomes/TDS nadawała wszystkim ścieżkom
 * SVG złote wypełnienie. Nowe ikony mają być konturowe.
 */

body.single-property
.tds-property-overview
.tds-property-parameter__icon
svg {
    fill: none !important;
    stroke: currentColor !important;
}

body.single-property
.tds-property-overview
.tds-property-parameter__icon
svg path,
body.single-property
.tds-property-overview
.tds-property-parameter__icon
svg rect,
body.single-property
.tds-property-overview
.tds-property-parameter__icon
svg circle,
body.single-property
.tds-property-overview
.tds-property-parameter__icon
svg line,
body.single-property
.tds-property-overview
.tds-property-parameter__icon
svg polyline {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.55 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/*
 * Wartości pozostają granatowe, a etykiety spokojnie szare.
 */

body.single-property
.tds-property-parameter__label {
    color: #737b89;
}

body.single-property
.tds-property-parameter__value {
    color: #111b32;
}

body.single-property
.tds-property-parameter__value small {
    color: #737b89;
}

/* =====================================================
   TDS PROPERTY PARAMETERS COLOR BALANCE — END
   ===================================================== */

/* =====================================================
   TDS_SCHEDULE_MOBILE_DATE_WIDTH_START
   Pole daty prezentacji — szerokość i zachowanie iOS
   ===================================================== */

.tds-schedule__grid,
.tds-schedule__grid > *,
.tds-schedule__field {
    min-width: 0;
}

.tds-schedule__field input[type="date"] {
    box-sizing: border-box !important;

    display: block;

    inline-size: 100% !important;
    width: 100% !important;

    min-inline-size: 0 !important;
    min-width: 0 !important;

    max-inline-size: 100% !important;
    max-width: 100% !important;

    margin-inline: 0 !important;
}

.tds-schedule__field input[type="date"]::-webkit-date-and-time-value {
    min-width: 0;
    min-height: 1.4em;

    margin: 0;

    text-align: left;
}

@media (max-width: 767px) {

    .tds-schedule__form,
    .tds-schedule__grid,
    .tds-schedule__field {
        box-sizing: border-box;

        width: 100%;
        max-width: 100%;
    }

    .tds-schedule__field input[type="date"] {
        flex: 0 1 auto;

        height: 56px !important;
        padding-inline: 18px !important;

        font-size: 16px !important;
    }
}

/* TDS_SCHEDULE_MOBILE_DATE_WIDTH_END */

/* TDS_SCHEDULE_MOBILE_CALENDAR_START */
.tds-mobile-calendar {
    display: none;
}

@media (max-width: 767px) {
    .tds-schedule__grid,
    .tds-schedule__grid > *,
    .tds-schedule__field {
        box-sizing: border-box;
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    .tds-mobile-calendar {
        box-sizing: border-box;
        display: block;
        position: relative;
        width: 100%;
        max-width: 100%;
        margin-top: 10px;
    }

    .tds-mobile-calendar__control {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        max-width: 100%;
        height: 58px;
        padding: 0 18px;
        border: 1px solid #d9d7d2;
        border-radius: 13px;
        background: #fff;
        color: #111b33;
        font: inherit;
        font-size: 16px;
        text-align: left;
    }

    .tds-mobile-calendar__control:focus-visible {
        outline: 2px solid #c99b63;
        outline-offset: 2px;
    }

    .tds-mobile-calendar__icon {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        border: 1.5px solid #c99b63;
        border-radius: 4px;
    }

    .tds-mobile-calendar__panel {
        box-sizing: border-box;
        width: 100%;
        margin-top: 10px;
        padding: 18px 14px 15px;
        border: 1px solid #e3d5c3;
        border-radius: 18px;
        background: #fffdfa;
        box-shadow: 0 18px 42px rgba(17, 27, 51, .10);
    }

    .tds-mobile-calendar__panel[hidden],
    .tds-mobile-calendar__error[hidden] {
        display: none !important;
    }

    .tds-mobile-calendar__header {
        display: grid;
        grid-template-columns: 42px 1fr 42px;
        align-items: center;
        gap: 8px;
        margin-bottom: 15px;
    }

    .tds-mobile-calendar__month {
        color: #111b33;
        font-size: 17px;
        font-weight: 700;
        text-align: center;
    }

    .tds-mobile-calendar__nav {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #f4f1ec;
        color: #111b33;
        font-size: 28px;
    }

    .tds-mobile-calendar__nav:disabled {
        opacity: .28;
    }

    .tds-mobile-calendar__weekdays,
    .tds-mobile-calendar__days {
        display: grid;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: 5px;
    }

    .tds-mobile-calendar__weekdays {
        margin-bottom: 7px;
    }

    .tds-mobile-calendar__weekdays span {
        color: #8b909b;
        font-size: 12px;
        font-weight: 700;
        text-align: center;
    }

    .tds-mobile-calendar__day,
    .tds-mobile-calendar__blank {
        min-width: 0;
        aspect-ratio: 1;
    }

    .tds-mobile-calendar__day {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: transparent;
        color: #111b33;
        font-size: 14px;
        font-weight: 600;
    }

    .tds-mobile-calendar__day.is-selected {
        background: #111b33;
        color: #fff;
    }

    .tds-mobile-calendar__day:disabled {
        color: #c8c6c1;
        opacity: .65;
    }

    .tds-mobile-calendar__day.is-sunday:disabled {
        background: #f5f3ef;
        color: #c2beb8;
    }

    .tds-mobile-calendar__legend {
        margin: 14px 2px 0;
        color: #858a95;
        font-size: 12px;
        line-height: 1.45;
    }

    .tds-mobile-calendar__error {
        display: block;
        margin-top: 8px;
        color: #a64c43;
        font-size: 12px;
    }
}
/* TDS_SCHEDULE_MOBILE_CALENDAR_END */

/* =====================================================
   TDS_PROPERTY_DESCRIPTION_TYPOGRAPHY_START
   Spójna typografia treści opisu nieruchomości
   ===================================================== */

body.single-property .tds-property-description__content {
    color: #727782;
    font-family: "Satoshi", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;
}

body.single-property .tds-property-description__content > :first-child {
    margin-top: 0 !important;
}

body.single-property .tds-property-description__content > :last-child {
    margin-bottom: 0 !important;
}

body.single-property .tds-property-description__content h1,
body.single-property .tds-property-description__content h2 {
    margin: 40px 0 14px !important;
    color: #111b32 !important;
    font-family: "Satoshi", sans-serif !important;
    font-size: clamp(29px, 2.15vw, 36px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.035em !important;
    text-transform: none !important;
}

body.single-property .tds-property-description__content h3 {
    margin: 34px 0 12px !important;
    color: #111b32 !important;
    font-family: "Satoshi", sans-serif !important;
    font-size: clamp(24px, 1.7vw, 28px) !important;
    font-weight: 700 !important;
    line-height: 1.24 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
}

body.single-property .tds-property-description__content h4,
body.single-property .tds-property-description__content h5,
body.single-property .tds-property-description__content h6 {
    margin: 28px 0 10px !important;
    color: #111b32 !important;
    font-family: "Satoshi", sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
    text-transform: none !important;
}

body.single-property .tds-property-description__content p {
    margin: 0 0 18px !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
}

body.single-property .tds-property-description__content ul,
body.single-property .tds-property-description__content ol {
    margin: 20px 0 24px !important;
    padding-left: 26px !important;
}

body.single-property .tds-property-description__content li {
    margin: 0 0 9px !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

body.single-property .tds-property-description__content strong,
body.single-property .tds-property-description__content b {
    color: #111b32;
    font-weight: 700;
}

body.single-property .tds-property-description__content a {
    color: #9a6f42;
    text-decoration-color: rgba(154, 111, 66, 0.45);
    text-underline-offset: 3px;
}

body.single-property .tds-property-description__content blockquote {
    margin: 28px 0 !important;
    padding: 4px 0 4px 22px !important;
    border-left: 2px solid #cda06a !important;
    color: #4f5664 !important;
    font-size: 19px !important;
    line-height: 1.65 !important;
}

@media (max-width: 767px) {
    body.single-property .tds-property-description__content {
        font-size: 16px;
        line-height: 1.68;
    }

    body.single-property .tds-property-description__content h1,
    body.single-property .tds-property-description__content h2 {
        margin: 32px 0 12px !important;
        font-size: 27px !important;
        line-height: 1.2 !important;
    }

    body.single-property .tds-property-description__content h3 {
        margin: 28px 0 10px !important;
        font-size: 23px !important;
    }

    body.single-property .tds-property-description__content h4,
    body.single-property .tds-property-description__content h5,
    body.single-property .tds-property-description__content h6 {
        margin: 24px 0 9px !important;
        font-size: 19px !important;
    }
}

/* TDS_PROPERTY_DESCRIPTION_TYPOGRAPHY_END */

/* TDS_ADAPTIVE_PROPERTY_GALLERY_START
   Układ galerii zależny od liczby zdjęć.
   Telefon zachowuje dotychczasowy widok.
---------------------------------------------------------- */

@media (min-width: 768px) {
    .tds-property-hero__gallery--count-1,
    .tds-property-hero__gallery--count-2,
    .tds-property-hero__gallery--count-3,
    .tds-property-hero__gallery--count-4 {
        height: 522px !important;
    }

    .tds-property-hero__gallery--count-1 > .tds-property-hero__image,
    .tds-property-hero__gallery--count-2 > .tds-property-hero__image,
    .tds-property-hero__gallery--count-3 > .tds-property-hero__image,
    .tds-property-hero__gallery--count-4 > .tds-property-hero__image {
        min-width: 0 !important;
        min-height: 0 !important;
    }

    /* Jedno zdjęcie — cała szerokość galerii. */
    .tds-property-hero__gallery--count-1 {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: minmax(0, 1fr) !important;
    }

    .tds-property-hero__gallery--count-1 .tds-property-hero__image--1 {
        grid-column: 1 / -1 !important;
        grid-row: 1 / -1 !important;
    }

    /* Dwa zdjęcia — główne po lewej, drugie w całej prawej kolumnie. */
    .tds-property-hero__gallery--count-2 {
        grid-template-columns: minmax(0, 2.2fr) minmax(0, .7fr) !important;
        grid-template-rows: minmax(0, 1fr) !important;
    }

    .tds-property-hero__gallery--count-2 .tds-property-hero__image--1 {
        grid-column: 1 !important;
        grid-row: 1 / -1 !important;
    }

    .tds-property-hero__gallery--count-2 .tds-property-hero__image--2 {
        grid-column: 2 !important;
        grid-row: 1 / -1 !important;
    }

    /* Trzy zdjęcia — dwa równomiernie ułożone po prawej. */
    .tds-property-hero__gallery--count-3 {
        grid-template-columns: minmax(0, 2.2fr) minmax(0, .7fr) !important;
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    }

    .tds-property-hero__gallery--count-3 .tds-property-hero__image--1 {
        grid-column: 1 !important;
        grid-row: 1 / -1 !important;
    }

    .tds-property-hero__gallery--count-3 .tds-property-hero__image--2 {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .tds-property-hero__gallery--count-3 .tds-property-hero__image--3 {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    /* Cztery lub więcej — dotychczasowy układ trzech miniaturek. */
    .tds-property-hero__gallery--count-4 {
        grid-template-columns: minmax(0, 2.2fr) minmax(0, .7fr) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    }

    .tds-property-hero__gallery--count-4 .tds-property-hero__image--1 {
        grid-column: 1 !important;
        grid-row: 1 / -1 !important;
    }

    .tds-property-hero__gallery--count-4 .tds-property-hero__image--2 {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .tds-property-hero__gallery--count-4 .tds-property-hero__image--3 {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    .tds-property-hero__gallery--count-4 .tds-property-hero__image--4 {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
}

/* TDS_ADAPTIVE_PROPERTY_GALLERY_END */
