.shore-region,.shore-home {--ink:#173e41;--accent:#1c5857;--sand:#f5f1e8;color:var(--ink)}
.shore-region {background:var(--sand)}
.shore-region__intro {display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:clamp(24px,5vw,76px);padding-block:32px}
.shore-back,.shore-places a,.shore-sections a {color:#285a59;font:600 14px/1.45 Inter,sans-serif}
.shore-back:hover,.shore-places a:hover,.shore-sections a:hover {color:#a72b26}
.shore-region__intro h1 {margin:20px 0 12px;color:var(--ink);font:500 clamp(22px,2.3vw,36px)/1.1 Fraunces,Georgia,serif;letter-spacing:-.035em}
.shore-region__intro h1 strong {display:block;font:600 clamp(54px,6vw,96px)/1 Fraunces,Georgia,serif;letter-spacing:-.06em}
.shore-region__intro p {max-width:43ch;color:#445e5d;font:400 16px/1.55 Inter,sans-serif}
.shore-action {display:inline-flex;align-items:center;gap:18px;margin-top:6px;padding:11px 18px;border-radius:30px;background:#204c4b;color:white;font:600 14px/1.4 Inter,sans-serif}
.shore-action:hover {background:#123d3c;color:white}
.shore-region__photo {width:100%;height:clamp(190px,22vw,325px);object-fit:cover;border-radius:12px 48px 12px 12px}
.shore-catalog {padding:0 0 52px;background:#fbfaf7}
.shore-places,.shore-sections {display:flex;gap:clamp(14px,3vw,36px);align-items:center;flex-wrap:wrap;border-bottom:1px solid #d7dfd8}
.shore-places {margin-bottom:22px}
.shore-places a,.shore-sections a {display:inline-flex;align-items:center;min-height:49px;padding:0 2px}
.shore-places [aria-current] {box-shadow:inset 0 -3px #255351;color:#163e3f}
.shore-catalog__grid {display:grid;grid-template-columns:clamp(238px,19vw,285px) minmax(0,1fr);align-items:start;gap:24px;scroll-margin-top:85px}
.shore-filters {min-width:0;border:1px solid #d8e1db;border-radius:14px;background:white;padding:0!important}
.shore-filters summary {cursor:pointer;padding:14px 17px;font:650 16px/1.45 Inter,sans-serif}
.shore-filters__fields {border-top:1px solid #dce4df;padding:14px 17px}
.shore-filters__fields>.fewo-filter-head {display:none}
.shore-results {min-width:0}
.shore-results article {border:1px solid #dce2dc;box-shadow:none;border-radius:15px}
.shore-results article h2 {color:var(--ink);font:650 19px/1.24 Inter,sans-serif;letter-spacing:-.025em}
.shore-results article h2 + .clamp2 {display:none}
.shore-results .big {font-size:1.15rem}
.shore-home__title h1 {color:var(--ink);max-width:36ch;margin:0;font:600 clamp(30px,3.25vw,54px)/1.08 Fraunces,Georgia,serif;letter-spacing:-.043em}
.shore-home__title p {font:450 15px/1.5 Inter,sans-serif;color:#536a68}
.shore-home__facts {margin:12px 0 17px;gap:8px 22px}
.shore-home .shore-home__facts .card {display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:0!important;margin:0;min-height:0;background:transparent;border:0;box-shadow:none;color:#315955;font:550 14px/1.5 Inter,sans-serif}
.shore-home__facts i.fa {display:none}
.shore-photos {position:relative;display:grid;grid-template-columns:1.7fr 1fr;grid-template-rows:1fr 1fr;gap:5px;height:clamp(310px,31vw,470px);border-radius:17px;overflow:hidden;background:#eeeee8}
.shore-photos button:not(.shore-photos__all) {min-width:0;min-height:0;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.shore-photos button:first-child {grid-row:span 2}
.shore-photos[data-count="1"] {grid-template-columns:1fr}
.shore-photos[data-count="2"] {grid-template-rows:1fr}
.shore-photos[data-count="2"] button:first-child {grid-row:auto}
.shore-photos img {display:block;width:100%;height:100%;object-fit:cover}
.shore-photos__all {position:absolute;bottom:12px;right:12px;border:0;border-radius:22px;background:#fff;color:#183d40;padding:9px 15px;font:650 13px/1.4 Inter,sans-serif;box-shadow:0 2px 12px #0003}
.shore-home .exact-gallery[hidden] {display:none!important}
.shore-sections {justify-content:flex-start}
.shore-sections a[href="#preisrechner"] {margin-left:auto;min-height:38px;align-self:center;padding:8px 17px;border-radius:24px;background:#204c4b;color:white}
.shore-home .detail-mobile-booking-cta {display:none}
.shore-home section[id],.shore-home #preisrechner {scroll-margin-top:86px}
.shore-home h2 {color:var(--ink)}
.shore-home__layout section {padding-block:6px!important}
.shore-home__layout aside .detail-booking-stack {margin-top:0;position:static!important}
.shore-home__layout aside > .card {margin-top:18px}
.shore-home .detail-description {font-size:16px;line-height:1.7}
.shore-region :focus-visible,.shore-home :focus-visible {outline:3px solid #27807a;outline-offset:3px}
@media(max-width:959px) {
 .shore-catalog__grid {grid-template-columns:minmax(0,1fr);gap:15px}
}
@media(max-width:639px) {
 .shore-region__intro {display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-block:15px}
 .shore-region__intro h1 {margin:10px 0 8px;font-size:22px}
 .shore-region__intro h1 strong {font-size:52px}
 .shore-region__intro p {margin-bottom:5px;font-size:14px}
 .shore-region__photo {height:110px;border-radius:9px 28px 9px 9px}
 .shore-places {margin-bottom:12px}
 .shore-places a,.shore-sections a {min-height:44px}
 .shore-results #listsort {width:clamp(102px,35vw,157px);min-width:0}
 .shore-home__title h1 {font-size:32px}
 .shore-home__title p {font-size:13px}
 .shore-home__facts {gap:6px 12px;margin:10px 0 14px}
 .shore-home .shore-home__facts .card {font-size:12px}
 .shore-photos {height:clamp(218px,55vw,300px);grid-template-columns:2fr 1fr}
 .shore-sections {gap:0 10px;justify-content:space-between;padding-bottom:10px}
 .shore-sections a {font-size:13px}
 .shore-sections a[href="#preisrechner"] {width:100%;min-height:42px;justify-content:center}
}

/* Häuserübersicht und Wohnungen an einer Adresse */
main > .shore-house-index {padding:28px 0 25px!important;background:#f4f1e9}
.shore-house-index h1 {max-width:27ch;margin:11px 0 8px;color:#173e41;font:600 clamp(30px,3.7vw,58px)/1.05 Fraunces,Georgia,serif;letter-spacing:-.045em}
.shore-house-index h1 span {white-space:nowrap}
.shore-house-index p {margin:0;color:#45615d}
.shore-house-index .fewo-house-tools {max-width:720px;margin:18px 0 0}
.shore-house-index .fewo-house-search {background:white}
main > .shore-house-list {padding:26px 0 55px!important;background:#fbfaf7}
.shore-house-list .fewo-house-card {border:1px solid #dce3dd;box-shadow:none;border-radius:15px}
.shore-house-list .fewo-house-card > a > .relative {aspect-ratio:1.75}
.shore-house-list .fewo-house-card h2 {font:650 22px/1.2 Fraunces,Georgia,serif;color:#173e41}
body[data-page="hausdetailseite"] main > section:first-child {padding:14px 0!important;background:#f4f1e9}
body[data-page="hausdetailseite"] main > section:nth-child(2) {padding:22px 0 40px!important}
body[data-page="hausdetailseite"] main [itemtype="https://schema.org/Place"] > .grid {align-items:center}
body[data-page="hausdetailseite"] [data-house-cover] {width:100%;height:clamp(205px,23vw,345px);object-fit:cover}
body[data-page="hausdetailseite"] main h1 {color:#173e41;font:600 clamp(34px,4vw,64px)/1.04 Fraunces,Georgia,serif;letter-spacing:-.045em}
body[data-page="hausdetailseite"] main h1 + div {color:#48625f}
body[data-page="hausdetailseite"] [data-house-actions] {align-items:center}
body[data-page="hausdetailseite"] [data-house-actions] a {font:650 14px/1.45 Inter,sans-serif}
body[data-page="hausdetailseite"] [data-house-actions] a:first-child {background:#204c4b;border-color:#204c4b;color:#fff}
body[data-page="hausdetailseite"] [data-house-actions] a[href="#haus-lage"] {color:#245a57;text-decoration:underline;text-underline-offset:3px}
.shore-house-about {padding:12px 0 0;margin-top:18px;border-top:1px solid #d5dfd9}
.shore-house-about summary {cursor:pointer;font-weight:600;color:#204c4b}
#wohnungen-im-haus {margin-top:30px}
#wohnungen-im-haus > h2,.shore-house-location h2 {color:#173e41;font:600 clamp(25px,2.4vw,38px)/1.15 Fraunces,Georgia,serif}
.shore-house-location {padding:24px 0!important;scroll-margin-top:78px}
.shore-house-location > div {margin-top:12px}
@media(max-width:639px) {
    main > .shore-house-index {padding:16px 0!important}
    main > .shore-house-list {padding-top:15px!important}
    .shore-house-index .fewo-house-tools {margin-top:12px}
    body[data-page="hausdetailseite"] main > section:nth-child(2) {padding-top:14px!important}
    body[data-page="hausdetailseite"] main [itemtype="https://schema.org/Place"] > .grid {gap:14px}
    body[data-page="hausdetailseite"] main [itemtype="https://schema.org/Place"] > .grid > :has(h1) {grid-row:1}
    body[data-page="hausdetailseite"] [data-house-cover] {height:192px}
    body[data-page="hausdetailseite"] [data-house-actions] {margin-top:12px;gap:9px}
}

/* Property photography and type follow the homepage panorama. */
.shore-home {--ink:#19363d;--accent:#ba302a}
.shore-home .shore-home__title h1,body[data-page="hausdetailseite"] main h1,.shore-house-location h2 {font-family:Inter,Arial,sans-serif;font-weight:740;letter-spacing:-.052em}
.shore-photo-header {position:relative;isolation:isolate;overflow:hidden;border-radius:18px;background:#263e43}
.shore-photo-header .shore-photos {height:clamp(290px,30vw,425px);border-radius:0;grid-template-columns:2.4fr 1fr;gap:4px}
.shore-photo-header .shore-photos[data-count="1"] {grid-template-columns:1fr}
.shore-photo-header::after {content:"";position:absolute;inset:0 auto 0 0;width:70.6%;pointer-events:none;background:linear-gradient(0deg,#0c212de8 0, #122c3970 38%,transparent 73%)}
.shore-photo-header:has([data-count="1"])::after {width:100%}
.shore-photo-header .shore-home__title {position:absolute;z-index:1;left:clamp(18px,3vw,46px);bottom:clamp(20px,2.4vw,37px);width:61%;pointer-events:none}
.shore-photo-header .shore-home__title h1 {margin:0;color:white;font-size:clamp(30px,3.9vw,62px);line-height:1.03;text-wrap:balance;overflow-wrap:anywhere}
.shore-photo-header .shore-home__title p {color:white;margin-top:9px;line-height:1.3}
.shore-photo-header .shore-home__title .ico {color:#f0af9d}
.shore-photos__all {z-index:2}
.shore-home__facts {gap:8px 12px;align-items:center;margin:16px 0}
.shore-home .shore-home__facts .card {padding:6px 12px!important;border:1px solid #dce2df;border-radius:22px;color:#304b52;background:#faf9f6}
.shore-home .shore-sections {border-block:1px solid #dce2df;gap:clamp(10px,2.1vw,32px);padding:6px 0}
.shore-home .shore-sections a {color:#29434a;min-height:40px;text-decoration:none}
.shore-home .shore-sections a:hover {text-decoration:underline;text-underline-offset:4px}
.shore-home .shore-sections a[href="#preisrechner"] {background:#ba302a;color:white;border-radius:10px;padding:8px 18px}
.shore-home h2,.shore-home h3 {font-family:Inter,Arial,sans-serif;letter-spacing:-.035em}
.shore-home__layout #preisrechner>.card {border:1px solid #d6dfdb;border-radius:15px;background:white;box-shadow:0 8px 26px #18383e0d}
.shore-home__layout #preisrechner>.card>:first-child {background:#f7f6f1}
@media(max-width:680px){
 .shore-photo-header {border-radius:12px}
 .shore-photo-header .shore-photos {height:clamp(230px,66vw,340px);grid-template-columns:1fr}
 .shore-photo-header .shore-photos button:not(:first-child):not(.shore-photos__all) {display:none}
 .shore-photo-header::after {width:100%;background:linear-gradient(0deg,#112832ef,transparent 85%)}
 .shore-photo-header .shore-home__title {width:calc(100% - 30px);bottom:14px;left:15px}
 .shore-photo-header .shore-home__title h1 {font-size:clamp(26px,7vw,38px)}
 .shore-photo-header .shore-home__title p {font-size:12px;margin-top:5px}
 .shore-photos__all {top:10px;right:10px;bottom:auto;font-size:12px}
 .shore-home .shore-sections {gap:3px 13px;justify-content:flex-start}
 .shore-home .shore-sections a[href="#preisrechner"] {width:auto;margin-left:0}
 .shore-home__facts {gap:5px;margin:10px 0}
 .shore-home .shore-home__facts .card {padding:4px 8px!important}
}

.connected-detail .detail-ort-link {color:#25555c;text-decoration:underline;text-underline-offset:3px;line-height:1.7}

.shore-region__intro>*{min-width:0}.shore-region__intro h1 strong{overflow-wrap:break-word;font-size:clamp(40px,5.3vw,80px)}
.shore-places{gap:0 18px}
