
  :root{
    --sand:#F7F3EC;--sand-2:#EFE7DA;--ink:#2A2622;--muted:#6B6258;
    --gold:#B08D57;--gold-d:#967440;--gold-l:#C9A86A;--line:#E2D9C9;--white:#FFFEFB;
    --radius:14px;--maxw:1180px;
    --shadow:0 18px 50px -28px rgba(42,38,34,.45);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--sand);
    line-height:1.65;font-weight:400;padding-bottom:76px;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:.2px}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eyebrow{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-d);font-weight:600}

  .btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Inter',sans-serif;
    font-size:.82rem;font-weight:600;letter-spacing:.04em;padding:.95em 1.7em;border-radius:999px;
    cursor:pointer;border:1.5px solid transparent;transition:.25s ease;text-transform:uppercase}
  .btn-primary{background:var(--gold);color:#fff;box-shadow:0 10px 24px -12px rgba(176,141,87,.8)}
  .btn-primary:hover{background:var(--gold-d);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-d)}
  .btn-light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(4px)}
  .btn-light:hover{background:#fff;color:var(--ink)}
  .btn-lg{font-size:.9rem;padding:1.1em 2.1em}

  .util{position:sticky;top:0;z-index:70;background:var(--ink);color:#E9E2D6;font-size:.78rem}
  .util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:18px}
  .util a:hover{color:var(--gold)}
  .util .right{display:flex;gap:20px}
  .util .right a{opacity:.85}

  header{position:sticky;top:40px;z-index:60;background:rgba(247,243,236,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:20px}
  .brand .logo{height:48px;width:auto;display:block}
  .main-nav{display:flex;gap:2px;list-style:none;align-items:center}
  .main-nav a{font-size:.84rem;font-weight:500;color:var(--ink);padding:8px 13px;border-radius:999px;transition:.2s;white-space:nowrap}
  .main-nav a:hover{background:var(--sand-2);color:var(--gold-d)}
  .nav-cta{display:flex;align-items:center;gap:16px;flex-shrink:0}
  .nav-cta .btn-primary{padding:.6em 1.2em;font-size:.78rem}
  .nav-phone{font-size:.84rem;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:6px}
  .nav-phone:hover{color:var(--gold-d)}

  .hero{position:relative;overflow:hidden;min-height:calc(92vh - 150px);display:flex;align-items:flex-end;background:linear-gradient(120deg,#6E8B92,#3f5358)}
  .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;
    transform-origin:58% 45%;will-change:transform;animation:bhHeroDrift 34s ease-in-out infinite}
  .hero-bg-mob{display:none} /* nur Mobil sichtbar (Regel in der 760px-Query) */
  @keyframes bhHeroDrift{
    0%{transform:scale(1.05) translate3d(0,0,0)}
    33%{transform:scale(1.09) translate3d(-1.1%,-0.7%,0)}
    66%{transform:scale(1.07) translate3d(0.9%,0.5%,0)}
    100%{transform:scale(1.05) translate3d(0,0,0)}
  }
  @media(prefers-reduced-motion:reduce){.hero img.bg{animation:none;transform:none}}
  .hero-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;
    background:linear-gradient(180deg,rgba(12,18,20,.45) 0%,rgba(12,18,20,.20) 26%,rgba(12,18,20,.58) 62%,rgba(12,18,20,.92) 100%)}
  .hero-inner{color:#fff;padding-bottom:60px;max-width:700px}
  .hero h1{font-size:clamp(2.5rem,5.4vw,4.4rem);color:#fff;font-weight:700;margin:16px 0 14px;text-shadow:0 3px 26px rgba(0,0,0,.5)}
  .hero h1 em{font-style:italic;font-weight:700;color:#F4E8CF}
  .hero p{font-size:1.14rem;color:#fff;max-width:540px;margin-bottom:30px;font-weight:500;text-shadow:0 2px 14px rgba(0,0,0,.55)}
  .hero .eyebrow{color:#F1E4CC}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-size:.84rem;color:rgba(255,255,255,.9)}
  .hero-meta span{display:inline-flex;align-items:center;gap:8px}
  .hero-meta .m-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-style:normal;font-size:.88rem;flex:none}
  .hero-meta .st{color:#E7C879;letter-spacing:2px}
  /* DTV-Sterneferien-Siegel oben rechts über dem Hero (animiert) */
  .hero-seal{position:absolute;top:3px;right:max(28px,calc((100% - 1180px)/2 + 28px));z-index:6;width:172px;height:172px;
    filter:drop-shadow(0 10px 24px rgba(0,0,0,.32));display:block;cursor:pointer}
  .hero-seal img{display:block;width:100%;height:100%;transform-origin:50% 50%;
    animation:sealSwing 4.5s ease-in-out infinite;transition:filter .2s}
  .hero-seal:hover img{filter:brightness(1.08)}
  @keyframes sealSwing{0%,100%{transform:rotate(-3.5deg) scale(1)}50%{transform:rotate(3.5deg) scale(1.03)}}
  @media(max-width:760px){
    /* Mobil: eigenes Hero-Bild (HeroBild-Mobile) mit Eyebrow + H1 darüber,
       Untertext ausgeblendet. */
    .hero{height:clamp(420px,64vh,500px);min-height:0;display:block;position:relative}
    .hero img.bg,.hero .hero-video{display:none}
    .hero .hero-bg-mob{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:none;transform:none}
    .hero-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;
      background:linear-gradient(180deg,rgba(12,18,20,.30) 0%,rgba(12,18,20,.10) 40%,rgba(12,18,20,.78) 100%)}
    .hero-inner{padding-top:36px;padding-bottom:30px}
    .hero-inner p{display:none} /* Untertext nur mobil ausblenden */
    .hero-seal{top:16px;right:16px;width:118px;height:118px}
    /* Header kompakt: Schnellsuche nur Lupe (Buchen-Button bleibt – die untere Leiste entfällt mobil) */
    .bh-aptsearch-nav span{display:none}
  }
  @media(prefers-reduced-motion:reduce){
    .hero-seal,.hero-seal img{animation:none}
  }

  .usps{background:var(--gold);color:#fff}
  .usps .wrap{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;padding:16px 28px;gap:12px 8px}
  .usp{display:flex;align-items:center;gap:9px;font-size:.81rem;font-weight:500;letter-spacing:.015em;white-space:nowrap}
  /* Icons in dezenten Kreis-Chips statt lose im Text */
  .usp .u-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
    background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);font-size:.92rem;flex:none}

  .trust{background:var(--white);border-bottom:1px solid var(--line)}
  .trust .wrap{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
  .trust .tlabel{width:100%;text-align:center;margin-bottom:4px}
  .chip{height:90px;width:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 20px;object-fit:contain;box-shadow:0 10px 24px -16px rgba(42,38,34,.4)}

  section{padding:92px 0}
  .sec-head{text-align:center;max-width:680px;margin:0 auto 56px}
  .sec-head h2{font-size:clamp(2.1rem,4vw,3.1rem);margin:12px 0 12px}
  .sec-head p{color:var(--muted)}
  .divider{width:54px;height:2px;background:var(--gold);margin:0 auto 4px}

  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
    display:flex;flex-direction:column;transition:.3s;box-shadow:0 1px 0 rgba(0,0,0,.02)}
  .card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
  .card .ph{aspect-ratio:4/3;position:relative;background:linear-gradient(135deg,#cdd9d4,#9fb0aa)}
  .card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,30,0) 50%,rgba(20,28,30,.38))}
  .badge{position:absolute;top:12px;left:12px;background:var(--gold);color:#fff;
    font-size:.62rem;font-weight:700;letter-spacing:.12em;padding:6px 12px;border-radius:999px;text-transform:uppercase;z-index:2}
  .ph-cat{position:absolute;left:14px;bottom:13px;z-index:2;color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600}
  .card .body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1}
  .card h3{font-size:1.55rem;margin-bottom:4px}
  .card .meta{font-size:.78rem;color:var(--gold-d);font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:14px}
  .card .feats{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:20px;flex:1}
  .card .feats li{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted)}
  .card .feats .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:8px;flex:none}
  .price{display:flex;align-items:baseline;gap:9px;margin-bottom:18px;padding-top:16px;border-top:1px solid var(--line)}
  .price .from{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
  .price .now{font-family:'Cormorant Garamond',serif;font-size:1.95rem;font-weight:700;color:var(--ink)}
  .price .unit{font-size:.78rem;color:var(--muted)}
  .card .btn{align-self:stretch;justify-content:center;margin-top:auto}

  .feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .feature.rev .visual{order:2}
  .feature .visual{aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;position:relative;
    background:linear-gradient(135deg,#bcae93,#8a9a86)}
  .feature .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .feature h2{font-size:clamp(2rem,3.6vw,2.9rem);margin:12px 0 18px}
  .feature p{color:var(--muted);margin-bottom:18px}
  .flist{list-style:none;display:flex;flex-direction:column;gap:15px;margin:20px 0 30px}
  .flist li{display:flex;gap:14px;align-items:flex-start;font-size:.94rem}
  .flist .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:9px;flex:none}
  .flist b{display:block;font-weight:600;color:var(--ink);margin-bottom:2px}
  .flist span{color:var(--muted);font-size:.9rem}

  .act-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .act{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 16px;text-align:center;transition:.3s;display:flex;flex-direction:column;align-items:center}
  .act:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
  .act .a-ico{width:52px;height:52px;border-radius:50%;background:var(--sand-2);margin:0 auto 12px;display:grid;place-items:center;color:var(--gold-d)}
  .act .a-ico svg{width:30px;height:30px}
  .act h3{font-size:1.08rem;margin:0}
  .act p{font-size:.86rem;color:var(--muted);line-height:1.6}

  .dining-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:48px}
  .dcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s}
  .dcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
  .dcard .dph{aspect-ratio:16/9;position:relative;background:var(--sand-2)}
  .dcard .dph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .dcard .dbody{padding:24px 26px 26px}
  .dcard .dtag{display:inline-block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
    font-weight:700;color:var(--gold-d);margin-bottom:10px}
  .dcard h3{font-size:1.5rem;margin-bottom:8px}
  .dcard p{font-size:.9rem;color:var(--muted);line-height:1.6}
  .dcard .dhours{margin-top:14px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}

  .reviews{background:linear-gradient(110deg,var(--ink),#3a352e);color:#fff;padding:80px 0;overflow:hidden}
  .reviews .sec-head h2{color:#fff}
  .reviews .sec-head p{color:rgba(255,255,255,.78)}
  .reviews .divider{background:var(--gold)}
  .gbadge{display:inline-flex;align-items:center;gap:11px;background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.2);padding:9px 18px;border-radius:999px;margin-top:16px;font-weight:500;font-size:.86rem}
  .gbadge .st{color:var(--gold);letter-spacing:2px}
  .marquee{position:relative;margin-top:48px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .marquee-track{display:flex;width:max-content;animation:scroll-x 80s linear infinite;will-change:transform}
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .rcard{flex:0 0 330px;margin-right:22px;background:var(--white);color:var(--ink);border-radius:var(--radius);
    padding:26px;border:1px solid rgba(226,217,201,.3)}
  .rcard .st{color:var(--gold);font-size:1rem;letter-spacing:1px;margin-bottom:12px;display:block}
  .rcard p{font-size:.9rem;line-height:1.6;color:#4a443c}
  .rauthor{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
  .rauthor .ava{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:#fff;font-size:.95rem;font-family:'Cormorant Garamond',serif;flex:none}
  .rauthor .m b{display:block;font-size:.88rem;font-weight:600}
  .rauthor .m span{font-size:.74rem;color:var(--muted)}

  .map-frame{aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--sand-2)}
  .map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .map-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
    background:var(--sand-2);text-align:center;padding:28px}
  .map-consent p{font-size:.88rem;color:var(--muted);max-width:320px;line-height:1.55}
  .map-consent strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--ink);margin-bottom:4px}

  .offers-bg{background:var(--sand-2);border-top:1px solid var(--line)}
  .offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .ocard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px 26px 30px;display:flex;flex-direction:column;transition:.3s}
  .ocard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
  .ocard .otag{display:inline-block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
    font-weight:700;color:var(--gold-d);background:var(--sand-2);padding:5px 12px;border-radius:999px;margin-bottom:14px}
  .ocard h3{font-size:1.4rem;margin-bottom:6px}
  .ocard .osub{font-size:.82rem;color:var(--muted);margin-bottom:14px}
  .ocard p{font-size:.88rem;color:var(--muted);line-height:1.6;flex:1}
  .ocard .btn{align-self:flex-start;margin-top:20px}

  .final-cta{background:var(--white);text-align:center;padding:92px 0;border-top:1px solid var(--line)}
  .final-cta h2{font-size:clamp(2rem,4vw,3rem);margin:12px 0 16px}
  .final-cta p{color:var(--muted);max-width:500px;margin:0 auto 32px}
  .final-cta .divider{margin-bottom:14px}
  .cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

  footer{background:var(--white);border-top:1px solid var(--line);padding:78px 0 30px}
  .fgrid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:46px}
  footer h4{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:16px;font-weight:700}
  footer h4:not(:first-child){margin-top:28px}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:2px}
  footer ul li a{display:inline-block;padding:5px 0;font-size:.9rem;color:var(--muted);position:relative}
  footer ul li a::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--gold);transition:.22s}
  footer ul li a:hover{color:var(--gold-d)}
  footer ul li a:hover::after{width:100%}
  footer a,footer p{font-size:.9rem;color:var(--muted)}
  footer a:hover{color:var(--gold-d)}
  .fbrand img{height:72px;width:auto;margin-bottom:20px}
  .fc-name{font-family:'Inter',sans-serif;font-size:1.02rem;font-weight:700;color:var(--ink);margin-bottom:8px}
  .f-contact p{margin-bottom:10px;line-height:1.7}
  .f-contact a{color:var(--ink);font-weight:500}
  .f-contact a:hover{color:var(--gold-d)}
  .f-hours{display:flex;flex-direction:column;gap:11px}
  .fh b{font-size:.85rem;color:var(--ink);font-weight:600;display:block;margin-bottom:1px}
  .fh span{font-size:.82rem;color:var(--muted);line-height:1.45}
  .social{display:flex;gap:10px;margin-top:20px}
  .social a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:.22s}
  .social a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .social a:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-2px)}
  .legal{border-top:1px solid var(--line);margin-top:52px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--muted)}
  .legal a{color:var(--muted)}
  .legal a:hover{color:var(--gold-d)}

  .stickybar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--white);
    border-top:1px solid var(--line);box-shadow:0 -8px 30px -20px rgba(0,0,0,.3)}
  .stickybar .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
  .stickybar .sx{display:flex;flex-direction:column;line-height:1.2}
  .stickybar .sx b{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--ink)}
  .stickybar .sx span{font-size:.74rem;color:var(--muted)}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  @media(max-width:1050px){
    .main-nav{display:none}
    .act-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(max-width:900px){
    .cards{grid-template-columns:1fr 1fr}
    .feature{grid-template-columns:1fr;gap:32px}
    /* Mobil immer: erst Bild, dann Text (Referenz: Golf-Bereich).
       .feature.rev nötig, sonst gewinnt die Desktop-Regel order:2. */
    .feature .visual,.feature.rev .visual,.feature .map-frame{order:-1}
    .fgrid{grid-template-columns:1fr 1fr}
    .offer-grid{grid-template-columns:1fr 1fr}
    .dining-grid{grid-template-columns:1fr}
    .nav-phone{display:none}
  }
  @media(max-width:620px){
    .util .right{display:none}
    .cards{grid-template-columns:1fr}
    .fgrid{grid-template-columns:1fr}
    .offer-grid{grid-template-columns:1fr}
    .act-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .nav{height:70px}
    .stickybar .sx{display:none}
    .stickybar .wrap{justify-content:center}
    .stickybar .btn{width:100%;justify-content:center}
    section{padding:64px 0}
    .usps .wrap{gap:10px 16px}
    .cta-row{flex-direction:column;align-items:center}
  }
  @media(prefers-reduced-motion:reduce){
    .marquee-track{animation:none}
    .reveal{opacity:1;transform:none;transition:none}
    .marquee{overflow-x:auto;-webkit-overflow-scrolling:touch}
  }
  /* Gästestimmen mobil: wischbares Karussell statt Auto-Marquee
     (Auto-Lauf steht bei „Bewegung reduzieren“ still – dann wäre alles starr) */
  @media(max-width:760px){
    /* Gästestimmen: von Hand wischbar (kein Auto-Lauf, kein Rand-Fade) */
    .marquee{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
      -webkit-mask-image:none;mask-image:none;padding-bottom:6px}
    .marquee::-webkit-scrollbar{display:none}
    .marquee-track{width:max-content;animation:none}
    .rcard{scroll-snap-align:start}
  }

/* ===== Bewertungs-Zeile unter dem Hero (auto via Google, Fallback statisch) ===== */
  .bh-rating{background:var(--white);border-bottom:1px solid var(--line)}
  .bh-rating .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:15px 28px;text-align:center}
  .bh-rating .st{color:var(--gold);letter-spacing:3px;font-size:1.05rem}
  .bh-rating b{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1}
  .bh-rating .cnt{font-size:.86rem;color:var(--muted)}
  @media(max-width:560px){.bh-rating .wrap{gap:8px}.bh-rating b{font-size:1.3rem}}

/* ===== Apartment-Finder-Band (individuelle Auswahl aus 77 Wohnungen) ===== */
  .apt-finder{margin-top:48px;display:grid;grid-template-columns:0.8fr 1.2fr;gap:44px;align-items:center;
    background:linear-gradient(140deg,var(--sand-2) 0%,var(--white) 62%);border:1px solid var(--line);
    border-radius:26px;padding:36px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
  .apt-finder::before{content:"";position:absolute;top:-40%;right:-12%;width:340px;height:340px;
    background:radial-gradient(circle,rgba(176,141,87,.16),transparent 68%);pointer-events:none}
  .apt-finder-mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;position:relative;z-index:1}
  .apt-finder-mosaic img,.apt-finder-more{aspect-ratio:1;width:100%;object-fit:cover;border-radius:13px;display:block}
  .apt-finder-mosaic img{border:1px solid rgba(226,217,201,.7);transition:transform .3s ease}
  .apt-finder:hover .apt-finder-mosaic img{transform:scale(1.02)}
  .apt-finder-more{display:flex;flex-direction:column;align-items:center;justify-content:center;
    background:var(--ink);color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.85rem;font-weight:600;
    line-height:1;text-decoration:none;transition:.25s;letter-spacing:.01em}
  .apt-finder-more span{font-family:'Inter',system-ui,sans-serif;font-size:.6rem;letter-spacing:.18em;
    text-transform:uppercase;margin-top:7px;opacity:.82;font-weight:600}
  .apt-finder-more:hover{background:var(--gold-d);transform:translateY(-3px)}
  .apt-finder-body{position:relative;z-index:1}
  .apt-finder-body h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.7rem,2.6vw,2.35rem);
    line-height:1.06;margin:11px 0 13px;color:var(--ink);font-weight:600;white-space:nowrap}
  .apt-finder-body h3 em{font-style:italic;color:var(--gold-d)}
  .apt-finder-body p{color:var(--muted);margin:0 0 22px;max-width:46ch}
  .apt-finder-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:28px}
  .af-chip{font-size:.76rem;font-weight:600;color:var(--ink);background:var(--white);
    border:1px solid var(--line);border-radius:999px;padding:.5em .6em;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.3em}
  @media(max-width:900px){
    .apt-finder{grid-template-columns:1fr;gap:28px;padding:26px}
    .apt-finder-body h3{margin-top:4px;white-space:normal}
    .apt-finder-chips{grid-template-columns:repeat(2,1fr)}
  }
  @media(max-width:480px){
    .apt-finder{padding:20px}
    .apt-finder-mosaic{gap:8px}
    .apt-finder-more{font-size:1.5rem}
  }

/* ===== Gemeinsames Mega-Menü (identisch zu den Unterseiten / base.css) ===== */
  .menu{display:flex;gap:26px;list-style:none;align-items:center;margin:0;padding:0}
  .menu>li{position:relative}
  .menu>li>a{display:flex;align-items:center;gap:7px;font-size:.84rem;font-weight:500;letter-spacing:.02em;padding:20px 0;color:var(--ink);position:relative}
  .caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;opacity:.55;transition:.2s}
  .menu>li:hover .caret{transform:rotate(225deg);margin-top:2px}
  .menu>li>a::after{content:"";position:absolute;left:0;bottom:14px;width:0;height:1.5px;background:var(--gold);transition:.25s}
  .menu>li:hover>a::after{width:100%}
  .mega,.drop{position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:26px 28px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s ease;z-index:80}
  .menu>li:hover .mega,.menu>li:hover .drop,.menu>li:focus-within .mega,.menu>li:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
  .mega{display:flex;gap:36px}
  .drop{display:flex;flex-direction:column;min-width:212px}
  .has-drop .drop{left:auto;right:0}
  .col{display:flex;flex-direction:column;min-width:174px}
  .col-h{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);font-weight:700;margin-bottom:13px}
  .mega a,.drop a{font-size:.86rem;color:var(--muted);padding:7px 0;transition:.18s}
  .mega a:hover,.drop a:hover{color:var(--gold-d);transform:translateX(4px)}
  .mega .more{color:var(--ink);font-weight:600;margin-top:8px}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
  .burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.active span:nth-child(2){opacity:0}
  .burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-scrim{position:fixed;inset:0;background:rgba(20,16,12,.4);opacity:0;visibility:hidden;transition:.3s;z-index:74}
  .nav-scrim.show{opacity:1;visibility:visible}
  @media(max-width:960px){
    .burger{display:flex}
    nav#nav{position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--white);transform:translateX(100%);transition:transform .3s ease;box-shadow:-24px 0 70px -30px rgba(0,0,0,.55);padding:96px 24px 50px;overflow-y:auto;z-index:75;display:block}
    nav#nav.open{transform:translateX(0)}
    .menu{flex-direction:column;align-items:stretch;gap:0}
    .menu>li{position:static;border-bottom:1px solid var(--line)}
    .menu>li>a{padding:16px 2px;justify-content:space-between}
    .menu>li>a::after{display:none}
    .mega,.drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 2px 16px;min-width:0;display:none}
    .menu>li.open .mega{display:flex;flex-direction:column;gap:18px}
    .menu>li.open .drop{display:flex}
    .menu>li.open .caret{transform:rotate(225deg)}
    .has-drop .drop{right:auto;left:0}
    .nav-cta .btn-primary{padding:.78em 1.15em;font-size:.74rem}
  }

/* WordPress-Admin-Leiste: klebrigen Header darunter schieben */
body.admin-bar header{top:32px}
@media screen and (max-width:782px){body.admin-bar header{top:46px}}

/* ===== Aktions-Bubble (Startseiten-Hero · abgerundetes Aktions-Badge) ===== */
.bh-bubble{position:absolute;top:22px;right:max(22px,calc((100% - 1180px)/2 + 22px));left:auto;z-index:6;
  width:auto;max-width:262px;min-width:196px;border-radius:20px;text-decoration:none;cursor:default;
  background:linear-gradient(150deg,#D4AA70 0%,#B08D57 52%,#7A5828 100%);
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:18px 20px 20px;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.30),0 20px 50px -14px rgba(120,88,40,.7),0 0 0 1px rgba(176,141,87,.22);
  transition:transform .25s ease,filter .25s ease}
.bh-bubble.is-link{cursor:pointer}
.bh-bubble.is-link:hover{filter:brightness(1.05);transform:translateY(-2px)}
.bh-bubble::before{content:"";position:absolute;inset:6px;border-radius:14px;border:1px dashed rgba(255,255,255,.45);pointer-events:none}
.bh-bubble::after{display:none}
.bh-bubble .cb-logo{width:52px;height:auto;margin-bottom:8px;filter:invert(1) drop-shadow(0 1px 4px rgba(0,0,0,.3))}
.bh-bubble .cb-label{font-family:'Inter',sans-serif;font-size:.64rem;font-weight:700;color:rgba(255,255,255,.72);letter-spacing:.22em;text-transform:uppercase;margin-bottom:5px;line-height:1.3}
.bh-bubble .cb-code{font-family:'Cormorant Garamond',serif;font-size:1.98rem;font-weight:700;color:#fff;line-height:1.03;letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.28);margin-bottom:9px;word-break:normal;overflow-wrap:break-word;hyphens:none}
.bh-bubble .cb-sep{display:block;width:34px;height:1px;background:rgba(255,255,255,.4);margin:0 0 9px}
.bh-bubble .cb-hint{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.9);letter-spacing:.01em;text-transform:none;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:640px){
  .bh-bubble{width:auto;max-width:176px;min-width:0;padding:12px 13px 13px;top:12px;left:auto;right:12px;border-radius:15px}
  .bh-bubble::before{inset:5px;border-radius:10px}
  .bh-bubble .cb-logo{width:32px;margin-bottom:5px}
  .bh-bubble .cb-label{font-size:.5rem;letter-spacing:.14em;margin-bottom:3px}
  .bh-bubble .cb-code{font-size:1.12rem;margin-bottom:6px;line-height:1.05}
  .bh-bubble .cb-sep{width:22px;margin-bottom:6px}
  .bh-bubble .cb-hint{font-size:.58rem;line-height:1.35;letter-spacing:.01em;-webkit-line-clamp:3}
}

/* ===== Hero-Video (Startseite · Resort-Luftaufnahme, Standbild als Fallback) ===== */
.hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero .hero-video{display:none}}
@media(max-width:760px){.hero .hero-video{display:none}} /* mobil: statisches Standbild (spart Daten) */

/* Apartments-Seite hat eine fixe Buchungsleiste am unteren Rand */
body.page-template-page-apartments-full .bh-bubble-float{bottom:88px}
@media(max-width:640px){.bh-bubble-float{width:auto;max-width:172px;padding:12px 13px;animation:none}
  .bh-bubble-float::before{inset:5px;animation:none}}

/* SONDERTYPEN (Penthouse · Townhouse · Reihenhaus) */
.types-sec{background:var(--sand-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.type-card{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;transition:.3s ease}
.type-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold)}
.type-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sand-2)}
.type-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.type-card:hover .type-media img{transform:scale(1.05)}
.type-count{position:absolute;top:12px;left:12px;background:rgba(42,38,34,.85);color:#fff;
  font-family:'Inter',sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px}
.type-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.type-body h3{font-size:1.65rem;margin-bottom:8px}
.type-facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.type-facts span{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;color:var(--gold-d);
  background:var(--sand);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
.type-body p{font-size:.9rem;color:var(--muted);line-height:1.6;margin-bottom:16px}
.type-units{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.type-unit{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--line);border-radius:12px;padding:11px 14px;transition:.18s ease}
.type-unit:hover{border-color:var(--gold);background:var(--sand);transform:translateY(-1px)}
.tu-name{font-family:'Inter',sans-serif;font-size:.84rem;font-weight:600;color:var(--ink)}
.tu-go{font-family:'Inter',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-d);white-space:nowrap}
.type-more{display:inline-block;margin-top:14px;font-family:'Inter',sans-serif;font-size:.76rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink);transition:.18s}
.type-more:hover{color:var(--gold-d)}
@media(max-width:980px){.types-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}}

/* Aktivitäten: Hinweis auf die Ausflugsziele */
.act-more{margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:16px;
  padding:24px 28px;box-shadow:0 14px 36px -30px rgba(42,38,34,.5)}
.act-more-txt{flex:1;min-width:280px}
.act-more-txt b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;color:var(--ink);margin-bottom:6px}
.act-more-txt span{display:block;font-size:.9rem;color:var(--muted);line-height:1.65}
.act-more-txt span b{display:inline;font-family:'Inter',sans-serif;font-size:.9rem;color:var(--gold-d);font-weight:700}
.act-more .btn{flex:none;white-space:nowrap}
@media(max-width:780px){.act-more{flex-direction:column;align-items:stretch;text-align:left}.act-more .btn{justify-content:center}}

/* Golf-Bereich: Hunde-Hinweis mit kleiner Trab-Animation */
.fp-dogline{display:flex;align-items:center;gap:12px;margin-top:22px;padding:12px 16px;
  background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;
  font-size:.9rem;color:var(--ink);line-height:1.45;overflow:hidden}
.fp-dogline b{color:var(--gold-d)}
.fp-dog{flex:none;display:inline-flex;width:46px;color:var(--gold-d);transform:translateX(-220%)}
.fp-dog svg{width:100%;height:auto;display:block}
.fp-dogtext{opacity:0}
.fp-leg{transform-origin:50% 8%}
/* Auslösen über das reveal-System der Startseite (.in) */
.fp-dogline.in .fp-dog{animation:fpDogRun 1.5s cubic-bezier(.25,.9,.3,1) forwards}
.fp-dogline.in .fp-dogtext{animation:fpTextIn .5s ease forwards .8s}
.fp-dogline.in .fp-leg-a{animation:fpTrotA .24s linear 6}
.fp-dogline.in .fp-leg-b{animation:fpTrotB .24s linear 6}
.fp-dogline.in .fp-dog svg{animation:fpBob .24s ease-in-out 6}
@keyframes fpDogRun{0%{transform:translateX(-220%)}100%{transform:translateX(0)}}
@keyframes fpTextIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@keyframes fpTrotA{0%,100%{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}
@keyframes fpTrotB{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@keyframes fpBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){
  .fp-dog{transform:none !important;animation:none !important}
  .fp-dogtext{opacity:1 !important;animation:none !important}
  .fp-leg,.fp-dog svg{animation:none !important}
}

/* Nach dem Reinlaufen: alle 5 s einmal Schwanz wedeln und kurz hinsetzen */
.fp-dog svg{transform-origin:58% 94%}
.fp-dogline.in .fp-dog svg{animation:fpSit 5s ease-in-out 1.6s infinite}
.fp-tail{transform-box:fill-box;transform-origin:100% 100%}
.fp-dogline.in .fp-tail{animation:fpWag 5s ease-in-out 1.6s infinite}
@keyframes fpSit{
  0%,66%{transform:none}
  74%{transform:translateY(3px) rotate(7deg)}          /* setzt sich: Hinterteil senkt sich */
  90%{transform:translateY(3px) rotate(7deg)}
  100%{transform:none}                                  /* steht wieder auf */
}
@keyframes fpWag{
  0%,64%{transform:rotate(0)}
  70%{transform:rotate(-26deg)}                         /* wedeln während des Sitzens */
  76%{transform:rotate(20deg)}
  82%{transform:rotate(-24deg)}
  88%{transform:rotate(18deg)}
  94%{transform:rotate(-10deg)}
  100%{transform:rotate(0)}
}
@media(prefers-reduced-motion:reduce){
  .fp-dogline.in .fp-dog svg,.fp-dogline.in .fp-tail{animation:none !important}
}

/* Schnellsuche-Button im Apartment-Finder */
.apt-finder-cta{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:stretch}
.apt-finder-cta .btn{flex:1 1 240px;justify-content:center;white-space:nowrap}
.apt-finder-cta .btn{max-width:100%}
.apt-finder-quick{display:inline-flex;align-items:center;gap:9px}
.apt-finder-quick svg{width:18px;height:18px;color:var(--gold-d)}
.apt-finder-quick:hover svg{color:inherit}

/* === Mobile-Feinschliff (Nutzer-Review 16.07.) === */
@media(max-width:540px){
  /* 77-Apartments-Pillen: kompakter, 2-3 nebeneinander */
  .apt-finder-chips{gap:7px}
  .af-chip{font-size:.66rem;padding:.42em .8em}
  /* Aktivitäten-CTA: voll breit, Schrift sicher im Button */
  .act-more .btn{width:100%;justify-content:center;text-align:center;font-size:.7rem;letter-spacing:.02em;padding:1.2em .5em}
}

/* Hunde-Icon bei hundefreundlichen Sondertyp-Einheiten */
.tu-paw{display:inline-flex;vertical-align:-2px;margin-left:4px;color:var(--gold-d)}
.tu-paw svg{width:15px;height:15px}

/* Resort & Golf nebeneinander (Startseite) */
.fp-duo{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.fp-duo-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.fp-duo-media{aspect-ratio:16/9;overflow:hidden;flex:none}
.fp-duo-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.fp-duo-card:hover .fp-duo-media img{transform:scale(1.04)}
.fp-duo-body{padding:32px 32px 34px;display:flex;flex-direction:column}
.fp-duo-body .eyebrow{display:block;margin-bottom:8px}
.fp-duo-body h2{font-size:clamp(1.6rem,2.4vw,2.15rem);margin:0 0 12px;line-height:1.12}
.fp-duo-body>p{color:var(--muted);margin:0 0 20px;line-height:1.7}
.fp-duo-body .flist{margin-bottom:22px}
.fp-duo-body .fp-dogline{margin-top:auto}
@media(max-width:860px){.fp-duo{grid-template-columns:1fr;gap:24px}}

/* Ausstattung als Akkordeon (Apartment-Kacheln Startseite) */
.feat-acc{margin:2px 0 16px;border-top:1px solid var(--line)}
.feat-acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-d);user-select:none}
.feat-acc>summary::-webkit-details-marker{display:none}
.feat-acc>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;flex:none;margin-right:3px}
.feat-acc[open]>summary::after{transform:rotate(-135deg)}
.feat-acc>summary:hover{color:var(--gold)}
.feat-acc .feats{margin:2px 0 6px}

/* Zwei Buttons nebeneinander (Feature-Spalten) – füllt die Breite, passt sich an */
.fp-btnrow{display:flex;gap:10px;flex-wrap:wrap}
.fp-btnrow .btn{flex:1 1 0;min-width:0;justify-content:center;white-space:nowrap;font-size:.74rem;padding:.95em 1.05em}
.fp-btnrow .btn.btn-lg{font-size:.8rem}
@media(max-width:520px){.fp-btnrow .btn{flex:1 1 100%}}

/* Einzelner Button in Duo-Karte: nicht auf volle Breite strecken */
.fp-duo-body>.btn{align-self:flex-start}

/* Aktivitäten: Hover-Reveal (nur Icon+Titel, Text bei Mouseover, Hintergrund abgedunkelt) */
.act{position:relative;overflow:hidden}
.act-hover{position:absolute;inset:0;background:rgba(38,33,28,.92);display:flex;align-items:center;justify-content:center;padding:20px 18px;opacity:0;transition:opacity .28s ease;pointer-events:none}
.act-hover p{margin:0;font-size:.84rem;line-height:1.55;color:#fff;text-align:center}
.act:hover .act-hover{opacity:1}
@media(hover:none){.act-hover{position:static;opacity:1;background:none;padding:10px 0 0}.act-hover p{color:var(--muted);font-size:.82rem}}

/* Menü-Button „Verfügbarkeit & Preise": kurzer Zoom bei Klick */
@keyframes bhBtnZoom{0%{transform:scale(1)}45%{transform:scale(1.13)}100%{transform:scale(1)}}
.bh-btn-zoom{animation:bhBtnZoom .36s ease}

/* Mobil: Apartment-Finder-Buttons nicht mehr riesig (Stretch-Bug) */
@media(max-width:760px){
  .apt-finder-cta{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
  .apt-finder-cta .btn{flex:0 0 auto;width:100%;min-height:0;height:auto;font-size:.8rem;padding:.95em 1.1em;line-height:1.35;white-space:normal}
}
/* Mobil: Zwei-Button-Reihen sauber gestapelt, natürliche Höhe */
@media(max-width:560px){
  .fp-btnrow{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
  .fp-btnrow .btn{flex:0 0 auto;width:100%;height:auto;min-height:0}
}

/* Kurze Laptop-Viewports (≤900px hoch): große 3-zeilige Hero-Headline etwas
   verkleinern, damit die erste Zeile nicht hinter dem Menü verschwindet. */
@media(min-width:761px) and (max-height:900px){
  .hero h1{font-size:clamp(1.9rem,3.6vw,3.1rem)}
  .hero-inner{padding-bottom:40px}
  .hero p{margin-bottom:20px;font-size:1.04rem}
}
