/* ==========================================================
   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;
}

}

