.property-intro { background:linear-gradient(90deg,#0d1b2af5 0%,#0d1b2aeb 55%,#0d1b2a99 100%),url('/images/istanbul.webp') center 54%/cover;color:#fff;padding:3rem 0 3.5rem; }
.property-intro-inner { display:flex;align-items:center;justify-content:space-between;gap:2rem; }
.property-intro .eyebrow { color:#afbdcd; }
.property-intro h1 { font-size:clamp(2.7rem,5.2vw,4rem);margin:1rem 0 1.2rem;line-height:1.06; }
.property-intro h1 span {color:#5b9bff;}
.property-intro p:not(.eyebrow) {max-width:35rem;color:#afbdcd;font-size:1.125rem;}
.intro-contact {display:grid;gap:.7rem;border-left:1px solid #43556a;padding:1.5rem 0 1.5rem 2rem;min-width:240px;}
.intro-contact strong {font-size:1.4rem;}
.intro-contact span {font-size:.875rem;color:#afbdcd;}
.intro-contact span:last-child {display:flex;align-items:center;gap:1rem;}
.listing-filters {margin-top:-1.5rem;padding:1.25rem 1.5rem 1.5rem;background:var(--background);border:1px solid var(--border);position:relative;box-shadow:0 8px 28px #0d1b2a0b;}
.transaction-tabs {display:flex;gap:1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem;overflow:auto;}
.transaction-tabs button {font:inherit;font-size:.9375rem;font-weight:600;border:0;background:transparent;color:var(--body);border-bottom:3px solid transparent;padding:.65rem 0 .9rem;white-space:nowrap;cursor:pointer;}
.transaction-tabs button[aria-pressed="true"] {color:var(--foreground);border-color:var(--signal);}
#apartment-filters {display:grid;grid-template-columns:1.8fr 1.2fr .8fr 1.1fr auto;gap:1rem;align-items:end;}
#apartment-filters label,.sort-control {display:grid;gap:.5rem;font-size:.875rem;font-weight:600;min-width:0;}
#apartment-filters input,#apartment-filters select,.sort-control select {width:100%;height:46px;padding:.6rem .75rem;font:inherit;font-size:.9375rem;font-weight:400;background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:0;min-width:0;}
#apartment-filters input::placeholder {color:var(--muted);}
.filter-reset {display:flex;align-items:center;gap:.5rem;height:46px;padding:.5rem .8rem;background:var(--surface);color:var(--foreground);border:1px solid var(--border);font:inherit;font-size:.875rem;cursor:pointer;}
.property-catalogue button:focus-visible,.property-catalogue input:focus-visible,.property-catalogue select:focus-visible {outline:3px solid var(--primary);outline-offset:3px;}
.apartments-section {padding:3rem 0 4.5rem;}
.listing-results-bar {display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.listing-results-bar h2 {font-size:1.65rem;}
.listing-results-bar p {font-size:.875rem;color:var(--muted);margin-top:.45rem;}
.sort-control {grid-template-columns:auto 160px;align-items:center;}
.listing-source-note {color:var(--body);font-size:.875rem;margin:1rem 0 1.5rem;max-width:55rem;}
.apartment-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
.apartment-card {min-width:0;border:1px solid var(--border);background:var(--background);transition:box-shadow .15s;}
.apartment-card:hover {box-shadow:0 8px 24px #0d1b2a13;}
.apartment-card[hidden],.listing-empty[hidden] {display:none;}
.property-image {margin:0;}
.property-image-link {display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--surface);}
.property-image-link img {width:100%;height:100%;object-fit:cover;}
.property-image figcaption {display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1.2rem;border-bottom:1px solid var(--border);background:var(--surface);font-size:.8125rem;color:var(--body);line-height:1.5;}
.property-image figcaption a {display:flex;align-items:center;gap:.3rem;white-space:nowrap;min-height:28px;}
.detail-photo {margin-bottom:2rem;border:1px solid var(--border);}
.detail-photo figcaption {font-size:.875rem;flex-wrap:wrap;padding:.9rem 1rem;border-bottom:0;}
.apartment-badge {position:absolute;top:1rem;left:1rem;padding:.4rem .7rem;background:#fff;color:#0d1b2a;font-size:.8125rem;font-weight:600;}
.apartment-card-body {padding:1.2rem;}
.apartment-location {display:flex;align-items:flex-start;gap:.4rem;font-size:.8125rem;color:var(--muted);line-height:1.5;}
.apartment-location svg {margin-top:.12rem;flex-shrink:0;}
.apartment-card h2 {font-size:1.125rem;line-height:1.4;margin:.7rem 0;min-height:3.15rem;}
.apartment-card h2 a:hover {color:var(--primary);}
.apartment-price {font-size:1.5rem;font-weight:600;letter-spacing:-.01em;}
.apartment-price span {font-size:.8125rem;font-weight:400;color:var(--muted);}
.apartment-facts {display:flex;gap:1.5rem;margin:1rem 0 1.2rem;}
.apartment-facts > span {font-size:1rem;font-weight:600;}
.apartment-facts small {display:block;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:.1rem;}
.apartment-source {display:flex;justify-content:space-between;gap:.6rem;align-items:center;border-top:1px solid var(--border);padding-top:.8rem;font-size:.75rem;color:var(--muted);}
.apartment-source a {display:flex;align-items:center;gap:.3rem;min-height:32px;color:var(--body);}
.listing-empty {padding:3rem;background:var(--surface);text-align:center;}
.listing-empty p {margin:1rem auto;max-width:35rem;color:var(--body);}
.property-adviser {background:var(--surface);padding:3.5rem 0;}
.adviser-inner {display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:center;}
.adviser-inner h2 {margin:1rem 0;font-size:2rem;}
.adviser-inner p:not(.eyebrow) {color:var(--body);max-width:36rem;}
.adviser-actions {display:grid;gap:1rem;justify-items:start;}
.property-button {display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem;min-height:52px;background:var(--primary);color:var(--primary-foreground);font-size:.9375rem;font-weight:600;}
.adviser-phone {display:flex;align-items:center;gap:.6rem;font-size:1.125rem;min-height:44px;}
.property-source-footer {padding:3.5rem 0;}
.property-source-footer h2 {font-size:1.6rem;margin-bottom:1rem;}
.property-source-footer p {max-width:49rem;color:var(--body);}
.property-source-footer .text-link {margin-top:1rem;}
.property-contact-intro {padding:4rem 0;}
.property-contact-intro h1 {margin:1.5rem 0;}
.property-contact-intro .lead {max-width:40rem;}
.property-contact-links {padding:3.5rem 0;}
.property-contact-links ul {padding-left:1.2rem;line-height:2;color:var(--body);}
.property-contact-links .text-link {margin-right:2rem;}
.property-contact-links .small-note {margin-top:2rem;color:var(--muted);max-width:45rem;}
.filter-noscript {font-size:.875rem;color:var(--muted);padding-top:1rem;}
.property-detail {padding:2rem 0 4rem;}
.detail-back {font-size:.875rem;margin-bottom:2.5rem;}
.detail-header {display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--border);padding-bottom:2rem;}
.detail-header h1 {font-size:clamp(2rem,4vw,3rem);max-width:43rem;margin:1rem 0;}
.detail-location {display:flex;gap:.5rem;align-items:center;color:var(--body);}
.detail-price {font-size:2rem;font-weight:600;white-space:nowrap;}
.detail-price span {display:block;font-size:.875rem;font-weight:400;color:var(--muted);}
.detail-columns {display:grid;grid-template-columns:1.7fr 1fr;gap:4rem;padding-top:2.5rem;align-items:start;}
.detail-columns h2 {font-size:1.5rem;}
.detail-facts {display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;margin:1rem 0;}
.detail-facts > div {padding:.9rem 0;border-bottom:1px solid var(--border);}
.detail-facts dt {color:var(--muted);font-size:.875rem;}
.detail-facts dd {margin:.2rem 0 0;font-size:1.0625rem;font-weight:600;}
.rooms-note,.detail-source .small-note {color:var(--muted);font-size:.875rem;}
.detail-source {margin-top:2rem;}
.detail-source h2 {margin:1rem 0;}
.detail-source p {margin:.8rem 0;color:var(--body);}
.source-button {display:inline-flex;margin:.5rem 0;}
.detail-enquiry {border:1px solid var(--border);background:var(--surface);padding:1.7rem;}
.detail-enquiry h2 {margin:1rem 0;}
.detail-enquiry p:not(.eyebrow) {color:var(--body);margin-bottom:1.2rem;}
.detail-enquiry .adviser-phone {margin:1rem 0;}
.detail-enquiry .text-link {font-size:.875rem;}
.detail-more {margin-top:4rem;}
.detail-more h2 {margin-bottom:1.5rem;font-size:1.75rem;}
@media (max-width:850px) {.detail-header {display:block;}.detail-price {margin-top:1.5rem;}.detail-columns {grid-template-columns:1fr;gap:2rem;}.detail-enquiry {max-width:36rem;}.detail-more {margin-top:3rem;}}
@media (max-width:1000px) {#apartment-filters {grid-template-columns:repeat(2,minmax(0,1fr));}.search-filter {grid-column:1/-1;}.filter-reset {justify-content:center;}.apartment-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.intro-contact {min-width:210px;}}
@media (max-width:640px) {.property-intro {padding:2rem 0 3rem;}.property-intro-inner {display:block;}.intro-contact {margin-top:1.5rem;padding:1rem 0 0;border-left:0;border-top:1px solid #43556a;gap:.35rem;}.intro-contact strong {font-size:1.1rem;}.property-intro h1 {font-size:2.7rem;}.listing-filters {padding:1rem;}.transaction-tabs {gap:1rem;}#apartment-filters {gap:.8rem;}.listing-results-bar {align-items:flex-start;flex-direction:column;gap:1rem;}.sort-control {width:100%;grid-template-columns:auto 1fr;}.apartment-grid {grid-template-columns:1fr;}.apartments-section {padding-top:2rem;}.adviser-inner {grid-template-columns:1fr;gap:1.5rem;}.property-adviser {padding:2.5rem 0;}.property-contact-intro {padding:2.5rem 0;}}
@media (prefers-reduced-motion:reduce) {.apartment-card {transition:none;}}
