* { hyphens:none; -webkit-hyphens:none; word-break:normal; }
html { scroll-padding-top:135px; }
h1,h2,h3,p,a,span,strong { overflow-wrap:normal; }
.property-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.property-image { display:block; }
.property-image img { height:100%; }
.property-body h3 a { text-decoration:none; }
.property-card { display:flex; flex-direction:column; }
.property-card:last-child { grid-column:auto; max-width:none; }
.property-body { display:flex; flex-direction:column; flex:1; min-width:0; }
.property-meta { margin-top:auto; }
.property-foot { flex-wrap:wrap; }
.price small { font-size:.875rem; letter-spacing:normal; font-weight:400; }
.catalog-status { color:var(--muted); font-size:.9rem; margin:0 0 18px; }
.catalog-pagination { margin-top:30px; text-align:center; }
.catalog-pagination p { font-size:.9rem; color:var(--muted); }
.catalog-pagination[hidden],#catalog-more[hidden] { display:none; }
.catalog-empty { grid-column:1/-1; padding:40px 20px; text-align:center; background:white; border-radius:24px; }
.catalog-empty h1 { font-size:2rem; max-width:800px; margin-inline:auto; }
.footer-bottom-links { display:flex; flex-wrap:wrap; gap:18px; }
.cta-panel a { font-size:clamp(.95rem,1.8vw,1.38rem); }
.detail-page { padding:32px 0 0; }
.detail-back { display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-weight:800; color:var(--navy); margin-bottom:28px; }
.detail-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.detail-heading>div { min-width:0; }
.detail-heading h1 { color:var(--navy); margin:14px 0 0; font-size:clamp(2rem,3.8vw,3.25rem); max-width:780px; line-height:1.12; }
.detail-tags { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:var(--muted); }
.tag { padding:6px 13px; border-radius:100px; color:var(--navy); background:var(--blue-light); font-size:.875rem; font-weight:800; }
.detail-price { font-size:clamp(1.8rem,3vw,2.55rem); color:var(--navy); flex-shrink:0; }
.detail-price small { display:block; font-size:1rem; text-align:right; font-weight:400; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,330px); align-items:start; gap:30px; }
.detail-main { min-width:0; }
.gallery { position:relative; border-radius:26px; overflow:hidden; background:#dfebf1; }
.gallery-image { padding:0; border:0; width:100%; display:block; cursor:zoom-in; background:transparent; }
.gallery-image img { width:100%; max-height:600px; aspect-ratio:4/3; object-fit:contain; }
.gallery-controls { display:flex; align-items:center; justify-content:center; gap:20px; padding:10px; background:white; }
.gallery-controls button,.dialog-controls button { min-width:44px; min-height:44px; border:1px solid var(--line); background:white; color:var(--navy); border-radius:50%; font-size:1.2rem; cursor:pointer; }
.gallery-controls button:disabled { opacity:.35; cursor:default; }
.photo-thumbnails { display:flex; overflow:auto; gap:10px; padding:14px 2px; }
.photo-thumbnails button { padding:3px; border:2px solid transparent; border-radius:12px; background:white; cursor:pointer; flex-shrink:0; }
.photo-thumbnails button[aria-pressed="true"] { border-color:var(--terracotta); }
.photo-thumbnails img { width:92px; height:68px; object-fit:cover; border-radius:7px; }
.property-description,.property-characteristics { padding:30px 0 10px; }
.detail-main h2 { font-size:1.55rem; color:var(--navy); margin:0 0 18px; }
.description-text { white-space:pre-line; line-height:1.75; }
.category-note { padding:16px 20px; background:#fff2db; border-left:3px solid #cc8a35; border-radius:0 12px 12px 0; }
.feature-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.feature-chips span { background:var(--blue-light); padding:7px 13px; border-radius:100px; font-size:.9rem; }
.details-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; margin:0; }
.details-facts>div { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 14px; border-bottom:1px solid var(--line); padding:14px 0; }
.details-facts dt { color:var(--muted); }
.details-facts dd { margin:0; font-weight:800; color:var(--navy); }
.property-contact { position:sticky; top:150px; padding:27px; background:white; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.overline { color:var(--terracotta-dark); font-size:.875rem; font-weight:800; letter-spacing:.06em; }
.property-contact h2 { color:var(--navy); font-size:1.65rem; line-height:1.2; margin:16px 0; }
.property-contact p { color:var(--muted); }
.property-contact .btn { width:100%; text-align:center; }
.contact-call { color:var(--navy); border:1px solid var(--line); display:flex; flex-direction:column; gap:0; margin-top:12px; }
.contact-address { font-size:.875rem; margin-bottom:0; text-align:center; }
.translation-note { color:var(--muted); font-size:.875rem; }
.photo-dialog { max-width:96vw; max-height:96vh; padding:0; border:0; background:#102839; border-radius:15px; color:white; overflow:auto; }
.photo-dialog::backdrop { background:rgba(8,22,33,.85); }
.photo-dialog>img { max-width:94vw; max-height:78vh; object-fit:contain; }
.photo-close { position:absolute; right:12px; top:12px; width:44px; height:44px; border:0; background:white; color:var(--navy); border-radius:50%; font-size:28px; cursor:pointer; }
.dialog-controls { display:flex; justify-content:center; align-items:center; gap:22px; padding:12px; }
@media(max-width:1000px) { .detail-grid { grid-template-columns:minmax(0,1fr) 280px; gap:22px; } .detail-heading { align-items:start; } }
@media(max-width:900px) { .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .detail-grid { grid-template-columns:minmax(0,1fr); } .property-contact { position:static; } .detail-heading { flex-direction:column; gap:16px; } .detail-price small { display:inline; margin-left:10px; } .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .property-grid { grid-template-columns:minmax(0,1fr); } .detail-page { padding-top:22px; } .detail-back { margin-bottom:22px; } .details-facts { grid-template-columns:minmax(0,1fr); } .detail-heading h1 { font-size:2.05rem; } .detail-heading { margin-bottom:24px; } .property-description { padding-top:26px; } .property-contact { padding:22px; } .property-image { aspect-ratio:4/3; } }
@media(max-width:420px) { .nav { gap:8px; } .brand { width:calc(100% - 76px); height:85px; } .header-tools { gap:2px; } .language-picker { width:68px; } .nav { min-height:90px; } .wrap { width:calc(100% - 32px); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

.property-availability { position:absolute; left:15px; bottom:15px; border:1px solid #f0bd7f; border-radius:999px; padding:8px 14px; background:#fff0dc; color:#754113; font-weight:900; font-size:.8rem; box-shadow:0 4px 12px #38200320; }
.detail-tags .tag.negotiation { background:#fff0dc; color:#754113; border:1px solid #e4b57d; }
.property-contact .negotiation-note { color:#754113; padding:14px; background:#fff0dc; border-radius:12px; font-weight:700; }

.contact-phones { margin-top:20px; text-align:center; }
.property-contact .contact-phones-title { margin:0 0 10px; color:var(--navy); font-weight:800; }
.contact-phones .contact-call { min-height:50px; margin-top:8px; font-size:1.1rem; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.contact-call strong, .phone-number { white-space:nowrap; }
.footer-person { display:inline-flex; flex-direction:column; padding-block:3px; text-decoration:none; }
.footer-person:hover .phone-number { text-decoration:underline; }
.contact-person { font-size:1rem; font-weight:700; }
.contact-office { display:inline-block; padding:10px 0; margin-top:4px; color:var(--navy); text-underline-offset:3px; }
