/* Scoped to the property overview/detail. Shared page heading stays unchanged. */
.properties-modern .property-filters { margin:0 0 24px; border:1px solid #dfe3dc; border-radius:16px; background:#fff; box-shadow:0 3px 14px rgba(25,43,32,.025); }
.properties-modern .property-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:end; padding:22px; }
.properties-modern .property-filter-fields { display:grid; grid-template-columns:minmax(245px,1.2fr) repeat(3,minmax(0,1fr)); gap:16px; align-items:end; padding:20px 22px; border-top:1px solid #e6e9e3; background:#f5f7f3; border-radius:0 0 16px 16px; }
.properties-modern .property-filters label { display:grid; gap:8px; min-width:0; font-size:13px; color:#50594d; }
.properties-modern .property-filters input,.properties-modern .property-filters select { box-sizing:border-box; width:100%; min-width:0; height:48px; border:1px solid #d5dbd1; border-radius:10px; padding:12px 14px; font:inherit; font-size:14px; line-height:1.4; color:#202b22; background:#fff; transition:border-color .15s,box-shadow .15s; }
.properties-modern .property-search-control,.properties-modern .property-select-control { display:block; position:relative; min-width:0; }
.properties-modern .property-search-control svg { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#687568; pointer-events:none; }
.properties-modern .property-search-control input { padding-left:46px; }
/* Keep native select semantics/keyboard/picker, replacing only its edge-hugging arrow. */
.properties-modern .property-select-control select { -webkit-appearance:none; appearance:none; padding-right:46px; cursor:pointer; text-overflow:ellipsis; }
.properties-modern .property-select-control::after { content:""; position:absolute; right:18px; top:50%; width:7px; height:7px; border-right:1.7px solid #536451; border-bottom:1.7px solid #536451; transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.properties-modern .property-filters select:hover,.properties-modern .property-search-control input:hover { border-color:#a3afa0; }
.properties-modern .property-filters select:focus-visible,.properties-modern .property-search-control input:focus-visible { border-color:#506b52; outline:2px solid #506b52; outline-offset:2px; box-shadow:0 0 0 5px #e9efe6; }
.properties-modern .property-search-submit { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border:1px solid #192b20; border-radius:10px; padding:12px 24px; background:#192b20; color:white; font:inherit; font-size:14px; font-weight:500; cursor:pointer; transition:background .15s; }
.properties-modern .property-search-submit:hover { background:#294132; }
.properties-modern .property-markets { min-width:0; margin:0; padding:0; border:0; }
.properties-modern .property-markets legend { font-size:13px; color:#50594d; margin-bottom:8px; }
.properties-modern .property-markets>div { display:inline-flex; gap:3px; padding:3px; border:1px solid #d5dbd1; background:#e9ede5; border-radius:11px; }
.properties-modern .property-market { position:relative; cursor:pointer; }
.properties-modern .property-market input { position:absolute; opacity:0; width:1px; min-height:0; height:1px; padding:0; }
.properties-modern .property-market span { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 16px; border:1px solid transparent; border-radius:8px; font-size:14px; color:#52614f; background:transparent; }
.properties-modern .property-market:hover span { background:#fff; }
.properties-modern .property-market input:checked+span { background:#192b20; color:#fff; border-color:#192b20; }
.properties-modern .property-market input:focus-visible+span { outline:2px solid #506246; outline-offset:3px; }
.properties-modern .property-results-info { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 16px; color:#586051; font-size:14px; }
.properties-modern .property-reset { text-decoration:underline; text-underline-offset:4px; padding-block:8px; }
.properties-modern .property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.properties-modern .property-card { min-width:0; padding:12px; background:#fff; border:1px solid #e0e3dc; border-radius:16px; }
.properties-modern .property-image-link { display:block; overflow:hidden; border-radius:12px; background:#f1f3ee; }
.properties-modern .property-image-link img { display:block; width:100%; aspect-ratio:1; height:auto; object-fit:cover; transition:transform .2s ease; }
.properties-modern .property-image-link:hover img { transform:scale(1.025); }
@media(prefers-reduced-motion:reduce){.properties-modern .property-image-link img{transition:none;transform:none;}}
.properties-modern .property-image-placeholder { display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; color:#626b5b; }
.properties-modern .property-card-body { padding:20px 10px 10px; }
.properties-modern .property-badges { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.properties-modern .property-badge { font-size:13px; line-height:1.4; padding:6px 10px; border-radius:999px; background:#edf2e8; color:#36432e; }
.properties-modern .property-badge-phase { background:#f3f3ef; color:#555d50; }
.properties-modern .property-card h2 { font-size:21px; font-weight:500; line-height:1.3; letter-spacing:-.02em; margin:6px 0 10px; }
.properties-modern .property-location { color:#626b5b; font-size:14px; margin:0; }
.properties-modern .property-excerpt { color:#50594d; font-size:15px; line-height:1.65; margin:0 0 16px; }
.properties-modern .property-card-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; border-top:1px solid #e5e8e0; padding-top:16px; }
.properties-modern .property-price { display:grid; gap:4px; font-size:18px; font-weight:500; }
.properties-modern .property-price-nok { font-size:13px; line-height:1.5; font-weight:400; color:#626b5b; }
.properties-modern .property-read { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:14px; font-weight:500; }
.properties-modern .property-language-note { font-size:13px; color:#626b5b; margin-bottom:10px; }
.properties-modern .property-empty { border:1px solid #e0e3dc; border-radius:12px; background:#fff; padding:32px; grid-column:1/-1; }
.properties-modern .property-empty h2 { font-size:22px; margin-bottom:10px; }
.properties-modern .property-empty p { font-size:15px; line-height:1.6; color:#50594d; }
.properties-modern footer .footer-logo { display:block; width:180px; flex-shrink:0; }
.properties-modern footer .footer-logo img { display:block; width:180px; height:27px; max-width:100%; }
.properties-modern .footer-icons { flex-wrap:wrap; }
.properties-modern .footer-copy { white-space:normal; letter-spacing:0; }
.properties-modern a:focus-visible,.properties-modern button:focus-visible,.properties-modern input:focus-visible,.properties-modern select:focus-visible { outline:2px solid #506246; outline-offset:4px; }
.properties-modern .drawer-close { min-width:44px; min-height:44px; }
@media(max-width:1000px){.properties-modern .property-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.properties-modern .property-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.properties-modern .property-grid{grid-template-columns:minmax(0,1fr);gap:20px;}.properties-modern .property-card h2{font-size:22px;}.properties-modern .property-card-body{padding:16px 6px 6px;}.properties-modern .property-search-row{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px;}.properties-modern .property-search-submit{width:100%;}.properties-modern .property-filters{margin-bottom:20px;}.properties-modern .property-filter-fields{padding:16px;gap:16px 12px;}.properties-modern .property-markets{grid-column:1/-1;}.properties-modern .property-markets>div{display:flex;}.properties-modern .property-market{flex:1;}.properties-modern .property-market span{padding:8px 12px;}.properties-modern .property-filter-fields>label:last-child{grid-column:1/-1;}.properties-modern .property-filters input,.properties-modern .property-filters select{font-size:16px;}}
@media(forced-colors:active){.properties-modern .property-select-control select{appearance:auto;padding-right:14px;}.properties-modern .property-select-control::after{display:none;}.properties-modern .property-market input:checked+span{outline:2px solid Highlight;}}
@media(max-width:420px){.properties-modern .property-filter-fields{grid-template-columns:minmax(0,1fr);}}
