
:root{--sea:#4f8a9d;--deep:#294f5d;--sand:#d9c3a5;--dune:#71815a;--cream:#f6f3ed;--ink:#30383b;--muted:#677276;--white:#fff;--shadow:0 18px 50px rgba(32,52,59,.13);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:#fff}img{display:block;max-width:100%}a{color:var(--deep)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.13}h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--deep)}p{margin-top:0}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 2px 18px rgba(0,0,0,.06)}.nav-wrap{max-width:1320px;margin:auto;min-height:82px;padding:10px 24px;display:flex;align-items:center;gap:24px}.brand{flex:0 0 auto}.brand img{width:210px}.site-header nav{margin-left:auto}.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{display:block;padding:10px 11px;border-radius:999px;text-decoration:none;color:var(--ink);font-size:.94rem}.nav-links a:hover,.nav-links a.active{background:var(--cream);color:var(--sea)}.header-book{margin-left:8px;padding:10px 17px;border-radius:999px;background:var(--deep);color:#fff;text-decoration:none;font-weight:700}.menu-button{display:none;margin-left:auto;border:0;background:transparent;padding:8px}.menu-button span{display:block;width:25px;height:2px;background:var(--deep);margin:5px}.hero{min-height:76vh;display:flex;align-items:center;padding:60px max(24px,calc((100% - 1200px)/2));background-size:cover;background-position:center;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,44,54,.82),rgba(17,44,54,.12))}.hero-panel{position:relative;color:#fff;max-width:710px}.hero h1{font-size:clamp(3.4rem,8vw,6.4rem);margin:.08em 0 .2em}.hero-panel>p:not(.kicker){font-size:clamp(1.08rem,2vw,1.35rem);max-width:650px}.hero-home{background-image:url("../bilder/strandbude.jpg"),linear-gradient(135deg,#517f8d,#b7d1d5)}.hero-house{background-image:url("../bilder/terrasse.jpg"),linear-gradient(135deg,#708d78,#d8c6aa)}.hero-gallery{background-image:url("../bilder/garten.jpg"),linear-gradient(135deg,#71815a,#c9d6bd)}.hero-zeeland{background-image:url("../bilder/duenen.jpg"),linear-gradient(135deg,#4f8a9d,#c7dce1)}.hero-about{background-image:url("../bilder/strand.jpg"),linear-gradient(135deg,#527d8b,#d4e2e5)}.hero-contact{background-image:url("../bilder/balkon.jpg"),linear-gradient(135deg,#796e5a,#d9c3a5)}.hero-mag{background-image:url("../bilder/strand.jpg"),linear-gradient(135deg,#527d8b,#d4e2e5)}.kicker{color:var(--sea);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.kicker.light{color:#fff}.button{display:inline-block;border:0;border-radius:999px;padding:14px 24px;background:var(--sea);color:#fff;text-decoration:none;font-weight:800;font:inherit;cursor:pointer}.button:hover{filter:brightness(.93)}.text-button{display:inline-block;color:#fff;font-weight:700;text-decoration:none;padding:14px 18px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.section{padding:92px max(24px,calc((100% - 1200px)/2))}.soft{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.intro-grid h2{margin-top:0}.lead{font-size:1.25rem;color:#485256}.facts-strip{display:grid;grid-template-columns:repeat(5,1fr);max-width:1200px;margin:-35px auto 0;position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.facts-strip div{text-align:center;padding:28px 10px;border-right:1px solid #e7e3db}.facts-strip div:last-child{border:0}.facts-strip strong,.facts-strip span{display:block}.facts-strip strong{font-family:Georgia,serif;font-size:1.45rem;color:var(--deep)}.facts-strip span{font-size:.85rem;color:var(--muted)}.image-story{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.image-frame{min-height:510px;background:linear-gradient(135deg,#dbe7e9,#efe2cf);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.image-frame img{width:100%;height:100%;min-height:510px;object-fit:cover}.image-frame.image-missing:after,.room-image.image-missing:after,.gallery-item.image-missing button:after{content:"Eigenes Foto hier einsetzen";display:grid;place-items:center;min-height:260px;color:var(--deep);font-weight:700}.arrow-link{text-decoration:none;font-weight:800;color:var(--sea)}.section-heading{text-align:center;max-width:780px;margin:0 auto 48px}.section-heading h2{margin:.15em 0}.cards-section{background:#fff}.card-grid{display:grid;gap:22px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.feature-card{padding:30px;border-radius:var(--radius);background:var(--cream)}.feature-card>span{font-size:2.1rem}.feature-card h3{font-size:1.45rem;color:var(--deep)}.split-banner{min-height:500px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(24,58,69,.9),rgba(24,58,69,.2)),url("../bilder/strand.jpg") center/cover;color:#fff}.split-banner>div{max-width:650px}.split-banner h2{color:#fff}.light-button{background:#fff;color:var(--deep)}.booking-cta{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center;background:var(--dune);color:#fff}.booking-cta h2{color:#fff}.cta-buttons{display:flex;flex-direction:column;gap:12px}.ghost-light{border:2px solid #fff;background:transparent;text-align:center}.icon-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.icon-facts div{text-align:center;padding:26px 12px;background:var(--cream);border-radius:16px}.icon-facts span,.icon-facts strong,.icon-facts small{display:block}.icon-facts span{font-size:2rem;color:var(--sea)}.icon-facts small{color:var(--muted)}.rooms{background:var(--cream)}.room{max-width:1200px;margin:0 auto 70px;display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.room.reverse .room-image{order:2}.room-image{min-height:450px;background:linear-gradient(135deg,#dbe7e9,#efe2cf)}.room-image img{width:100%;height:100%;object-fit:cover}.room-copy{padding:48px;align-self:center}.room-copy>span{font-size:2rem;color:var(--sand);font-weight:800}.room-copy h2{margin:.15em 0 .45em}.ticks{list-style:none;padding:0}.ticks li{padding:6px 0 6px 26px;position:relative}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--dune);font-weight:900}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.equipment-grid article{background:#fff;padding:28px;border-radius:16px}.equipment-grid ul{list-style:none;padding:0}.equipment-grid li{border-bottom:1px solid #e8e3da;padding:8px 0}.gallery-grid{columns:3 280px;column-gap:20px}.gallery-item{break-inside:avoid;margin:0 0 20px;border-radius:16px;overflow:hidden;background:var(--cream);box-shadow:0 10px 28px rgba(0,0,0,.08)}.gallery-item button{border:0;padding:0;width:100%;background:linear-gradient(135deg,#dbe7e9,#efe2cf);position:relative;cursor:zoom-in}.gallery-item img{width:100%;height:auto}.gallery-item button>span{position:absolute;right:12px;bottom:12px;background:rgba(41,79,93,.88);color:#fff;border-radius:999px;padding:7px 11px;font-size:.78rem}.gallery-item figcaption{padding:12px 15px}.lightbox{position:fixed;inset:0;z-index:500;background:rgba(8,20,25,.95);display:grid;place-items:center;padding:45px}.lightbox[hidden]{display:none}.lightbox img{max-width:88vw;max-height:80vh}.lightbox p{position:absolute;bottom:12px;color:#fff}.lb-close,.lb-prev,.lb-next{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;cursor:pointer}.lb-close{right:22px;top:18px;width:48px;height:48px;font-size:2rem}.lb-prev,.lb-next{top:48%;width:54px;height:54px;font-size:2.3rem}.lb-prev{left:18px}.lb-next{right:18px}.custom-map-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.map-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.map-card{border:1px solid #ded8cc;background:#fff;border-radius:16px;padding:20px;text-align:left;font:inherit;cursor:pointer}.map-card:hover,.map-card.active{border-color:var(--sea);box-shadow:var(--shadow);transform:translateY(-2px)}.map-card span,.map-card strong,.map-card small{display:block}.map-card span{font-size:1.7rem}.map-card strong{color:var(--deep);margin:7px 0}.map-card small{color:var(--muted)}.custom-map{position:relative;padding:12px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.custom-map img{width:100%}.map-detail{margin:10px;padding:18px;border-radius:13px;background:var(--cream)}.map-detail p{margin:5px 0 0}.portrait{min-height:520px}.contact-card,.booking-note{padding:24px;border-left:5px solid var(--sea);background:var(--cream);border-radius:13px;margin-top:25px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.contact-options{display:grid;gap:12px;margin:25px 0}.contact-options>a{display:flex;gap:15px;align-items:center;text-decoration:none;padding:18px;border-radius:14px;background:var(--cream)}.contact-options span{font-size:1.5rem}.contact-options small,.contact-options strong{display:block}.contact-form{padding:35px;border-radius:var(--radius);background:var(--cream)}.contact-form label{display:block;margin-bottom:17px;font-weight:700}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #bfc5c3;border-radius:9px;padding:12px;font:inherit;background:#fff}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(79,138,157,.25);border-color:var(--sea)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.consent{display:flex!important;gap:10px;font-weight:400!important}.consent input{width:auto;margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important}.form-help{font-size:.82rem;color:var(--muted);margin-top:12px}.legal-hero{padding:95px max(24px,calc((100% - 1000px)/2));background:var(--cream)}.legal-hero h1{font-size:clamp(3rem,7vw,5rem);color:var(--deep);margin:.1em 0}.legal{max-width:1000px;margin:auto}.legal h2{font-size:1.55rem;margin-top:2em}.legal-note{margin-top:50px;color:var(--muted);font-size:.9rem}.mag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mag-card{padding:32px;border-radius:var(--radius);background:var(--cream)}.mag-card>span{font-size:2.3rem}.mag-card h2{font-size:1.8rem}.article-hero{padding:110px max(24px,calc((100% - 900px)/2));background:linear-gradient(135deg,var(--deep),var(--sea));color:#fff}.article-hero h1{font-size:clamp(3rem,7vw,5rem);margin:.1em 0}.article{max-width:900px;margin:auto}.article h2{font-size:1.8rem;margin-top:2em}.not-found{min-height:70vh;display:grid;place-items:center;text-align:center;padding:40px}.not-found>div{max-width:750px}.not-found h1{font-size:clamp(3rem,8vw,6rem);color:var(--deep)}.site-footer{background:#233b43;color:#fff;padding:55px 24px 20px}.footer-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer-logo{width:220px;filter:brightness(0) invert(1)}.site-footer h2{font-family:Arial,sans-serif;font-size:.95rem;color:#fff;text-transform:uppercase;letter-spacing:.1em}.site-footer a{display:block;color:#fff;text-decoration:none;margin:6px 0}.footer-bottom{max-width:1200px;margin:35px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.17);display:flex;justify-content:space-between;color:rgba(255,255,255,.65);font-size:.83rem}
@media(max-width:1060px){.header-book{display:none}.nav-links a{padding:9px 7px;font-size:.88rem}.icon-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.menu-button{display:block}.site-header nav{position:absolute;top:100%;left:0;right:0}.nav-links{display:none;flex-direction:column;background:#fff;padding:12px 24px 22px;box-shadow:0 15px 30px rgba(0,0,0,.12)}.nav-links.open{display:flex}.nav-links a{padding:12px}.intro-grid,.image-story,.booking-cta,.contact-layout,.custom-map-layout{grid-template-columns:1fr}.facts-strip{grid-template-columns:repeat(3,1fr);margin:0;border-radius:0}.facts-strip div{border-bottom:1px solid #e7e3db}.card-grid.three,.equipment-grid,.mag-grid{grid-template-columns:1fr 1fr}.room{grid-template-columns:1fr}.room.reverse .room-image{order:initial}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:680px}.custom-map{order:-1}}
@media(max-width:580px){.brand img{width:180px}.nav-wrap{min-height:72px;padding:8px 16px}.section{padding:65px 20px}.hero{padding:50px 20px;min-height:610px;text-align:center}.hero:before{background:linear-gradient(rgba(17,44,54,.65),rgba(17,44,54,.45))}.hero-actions{justify-content:center}.facts-strip{grid-template-columns:1fr 1fr}.card-grid.three,.equipment-grid,.mag-grid,.map-cards{grid-template-columns:1fr}.image-frame,.image-frame img{min-height:320px}.room-image{min-height:280px}.room-copy{padding:28px 22px}.gallery-grid{columns:1}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-logo{margin:auto}.footer-bottom{flex-direction:column;gap:5px;text-align:center}.lightbox{padding:45px 8px}.lb-prev{left:5px}.lb-next{right:5px}}

/* =========================================================
   VERSION 2.1 – MOBILE NAVIGATION UND HAUSINFORMATIONEN
   ========================================================= */

@media (max-width: 850px) {
    .nav-wrap {
        position: relative;
    }

    .menu-button {
        display: block;
        position: relative;
        z-index: 1003;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        margin-left: auto;
        padding: 9px;
        border: 0;
        border-radius: 9px;
        background: transparent;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    .menu-button span {
        display: block;
        width: 26px;
        height: 3px;
        margin: 5px auto;
        border-radius: 3px;
        background: var(--deep);
        transition:
            transform 0.25s ease,
            opacity 0.2s ease;
    }

    .menu-button.open span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-button.open span:nth-child(2) {
        opacity: 0;
    }

    .menu-button.open span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    .site-header nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 1002;
        margin: 0;
    }

    .nav-links {
        display: none;
        width: 100%;
        max-height: calc(100vh - 72px);
        margin: 0;
        padding: 12px 20px 22px;
        overflow-y: auto;
        flex-direction: column;
        gap: 2px;
        background: #ffffff;
        box-shadow: 0 16px 30px rgba(0, 0, 0, 0.16);
    }

    .nav-links.open {
        display: flex;
    }

    .nav-links li,
    .nav-links a {
        width: 100%;
    }

    .nav-links a {
        display: block;
        padding: 13px 15px;
        border-radius: 9px;
        font-size: 1rem;
    }
}

@media (max-width: 580px) {
    .facts-strip {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0;
        padding: 8px;
        overflow: hidden;
        border-radius: 0;
        background:
            linear-gradient(
                135deg,
                var(--deep) 0%,
                var(--sea) 100%
            );
        box-shadow: none;
    }

    .facts-strip div {
        min-height: 122px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 18px 8px;
        border-right: 1px solid rgba(255, 255, 255, 0.18);
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
        text-align: center;
    }

    .facts-strip div:nth-child(even) {
        border-right: 0;
    }

    .facts-strip div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .facts-strip div:last-child {
        grid-column: 1 / -1;
        min-height: 105px;
        border-right: 0;
        border-bottom: 0;
        background: rgba(255, 255, 255, 0.07);
    }

    .facts-strip strong {
        color: #ffffff;
        font-family: Arial, Helvetica, sans-serif;
        font-size: clamp(1.7rem, 8vw, 2.35rem);
        font-weight: 900;
        line-height: 1;
        letter-spacing: 0.035em;
        text-transform: uppercase;
    }

    .facts-strip span {
        margin-top: 9px;
        color: rgba(255, 255, 255, 0.88);
        font-size: 0.78rem;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }
}
