
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Jost:wght@300;400;500;600&display=swap');
:root{--sky:#BDECF9;--ocean:#779DB3;--ink:#1a1a1a;--white:#ffffff;--offwhite:#f6f9fb;--mid:#4a6a7c;--nav-h:80px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
[data-lang="en"]{display:none!important}
.lang-en [data-lang="en"]{display:revert!important}
.lang-en [data-lang="de"]{display:none!important}
body{font-family:'Jost',sans-serif;background:var(--white);color:var(--ink);font-weight:400;line-height:1.8;overflow-x:hidden;font-size:18px}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.15}
h1{font-size:clamp(2.4rem,5.5vw,4.8rem)}h2{font-size:clamp(1.8rem,3vw,3rem)}h3{font-size:clamp(1.4rem,2vw,1.9rem)}
p{font-size:clamp(1rem,1.1vw,1.1rem);line-height:1.85;max-width:68ch}
.section-label{font-family:'Jost',sans-serif;font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;display:block;margin-bottom:0.75rem;color:var(--ocean)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);background:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.5rem,4vw,4rem);border-bottom:1px solid rgba(119,157,179,0.2);box-shadow:0 1px 20px rgba(26,26,26,0.06)}
.logo{display:flex;align-items:center;text-decoration:none}.logo img{height:54px;width:auto}
@media(max-width:860px){.logo img{height:42px}}
.nav-right{display:flex;align-items:center;gap:0.25rem}
.nav-links{display:flex;gap:0;list-style:none;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a,.nav-links>li>.dd-toggle{font-family:'Jost',sans-serif;font-size:0.84rem;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:0.55rem 1rem;display:flex;align-items:center;gap:0.3rem;transition:color 0.2s;cursor:pointer;white-space:nowrap;border:none;background:none}
.nav-links>li>a:hover,.nav-links>li>a.active,.nav-links>li>.dd-toggle:hover{color:var(--ocean)}
.nav-links>li>a.active{border-bottom:2px solid var(--ocean)}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%);background:var(--white);min-width:220px;border-top:2px solid var(--ocean);box-shadow:0 12px 32px rgba(26,26,26,0.1);z-index:100}
.nav-links>li:hover .dropdown-menu,.nav-links>li .dropdown-menu:hover{display:block}
.dropdown-menu a{display:block;padding:0.8rem 1.4rem;white-space:nowrap;font-size:0.82rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(119,157,179,0.1)}
.dropdown-menu a:hover{background:var(--sky);color:var(--mid)}
.lang-btn{display:flex;align-items:center;gap:0.4rem;background:none;border:1px solid rgba(119,157,179,0.35);cursor:pointer;padding:0.35rem 0.7rem;border-radius:4px;font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);transition:border-color 0.2s,background 0.2s;margin-left:0.75rem;white-space:nowrap}
.lang-btn:hover{border-color:var(--ocean);background:var(--sky)}
.lang-btn .flag{font-size:1.1rem}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;margin-left:0.5rem}
.hamburger span{display:block;width:24px;height:2px;background:var(--ink);transition:0.3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
@media(max-width:860px){
  .hamburger{display:flex}
  .nav-links{position:fixed;top:var(--nav-h);left:0;right:0;background:var(--white);flex-direction:column;align-items:flex-start;padding:1.5rem 1.5rem 2rem;transform:translateY(-110%);opacity:0;transition:transform 0.35s ease,opacity 0.35s ease;pointer-events:none;border-top:1px solid rgba(119,157,179,0.25);box-shadow:0 8px 24px rgba(26,26,26,0.08)}
  .nav-links.open{transform:translateY(0);opacity:1;pointer-events:all}
  .nav-links>li{width:100%}
  .nav-links>li>a,.nav-links>li>.dd-toggle{padding:0.85rem 0;border-bottom:1px solid rgba(119,157,179,0.15);width:100%}
  .dropdown-menu{position:static;transform:none;background:var(--offwhite);display:none;border-top:none;box-shadow:none;min-width:auto;padding-left:0.8rem}
  .dropdown-menu.mobile-open{display:block}
  .dropdown-menu a{font-size:0.82rem;padding:0.6rem 0.5rem}
}

/* SLIDER */
.slider{position:relative;width:100%;overflow:hidden;background:var(--ink)}
.slider-hero{height:clamp(380px,62vh,700px)}
.slides-wrap{display:flex;height:100%}
.slide{min-width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;transition:opacity 0.7s ease;overflow:hidden}
.slide.active{opacity:1;position:relative;z-index:1}
.slide-img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 6s ease}
.slide.active .slide-img{transform:scale(1.0)}
.slide-label{position:absolute;bottom:3.5rem;left:2.5rem;padding:0.35rem 1rem;font-family:'Jost',sans-serif;font-size:clamp(0.85rem,1.8vw,1.1rem);font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--white);background:rgba(189,236,249,0.22);backdrop-filter:blur(4px);display:inline-block}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.15);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,0.35);color:var(--white);width:46px;height:46px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:background 0.2s;z-index:10;display:flex;align-items:center;justify-content:center}
.slider-btn:hover{background:var(--ocean)}
.slider-btn.prev{left:1.5rem}.slider-btn.next{right:1.5rem}
.slider-dots{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:10}
.dot{width:8px;height:8px;border-radius:50%;border:2px solid rgba(255,255,255,0.6);background:transparent;cursor:pointer;transition:0.25s;padding:0}
.dot.active{background:var(--white);border-color:var(--white);transform:scale(1.3)}

/* PAGE */
main{padding-top:var(--nav-h)}
section{padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,8vw,8rem)}
@media(max-width:860px){section{padding-left:1.2rem;padding-right:1.2rem}}
.section-inner{max-width:900px;margin:0 auto}
.ocean-section{background:var(--ocean)}
.ocean-section .section-label{color:var(--sky)}
.ocean-section h1,.ocean-section h2,.ocean-section h3{color:var(--white)}
.ocean-section p{color:rgba(255,255,255,0.88)}
.ocean-section .sub-label{color:var(--sky);font-family:'Jost',sans-serif;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;margin:0.75rem 0 1.5rem;display:block}
.ocean-section .note{color:var(--sky);font-size:0.95rem;margin-top:1.2rem;letter-spacing:0.06em}

/* BUTTONS */
.btn{display:inline-block;font-family:'Jost',sans-serif;font-size:0.84rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;padding:1rem 2.4rem;background:var(--ocean);color:var(--white);border:1px solid var(--ocean);text-decoration:none;cursor:pointer;transition:background 0.22s,color 0.22s}
.btn:hover{background:var(--mid);border-color:var(--mid)}
.btn-white{background:var(--white);color:var(--ocean);border-color:var(--white)}
.btn-white:hover{background:var(--sky);border-color:var(--sky);color:var(--mid)}

/* ── INFO CAROUSEL (replaces info-grid) ── */
.info-carousel-wrap{display:block;width:100%}
.info-carousel{overflow:hidden;border-top:3px solid var(--ocean);width:100%}
.info-carousel-track{display:flex;width:100%;transition:transform 0.45s cubic-bezier(.4,0,.2,1)}
.info-slide{width:100%;flex:0 0 100%;padding:2.5rem 3.5rem;background:var(--offwhite);flex-shrink:0;box-sizing:border-box;min-width:0}
.info-slide h2{margin-bottom:1rem;color:var(--ink);font-size:clamp(1.8rem,3vw,3rem)}
.info-slide h3{font-family:'Jost',sans-serif;font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;margin:1.2rem 0 0.4rem;color:var(--ocean)}
.info-slide p{color:#333;font-size:clamp(1rem,1.1vw,1.1rem);max-width:none;word-break:break-word;overflow-wrap:anywhere}

.carousel-nav-btn{display:none}
.info-nav-btns{display:flex;gap:1rem;margin-top:1rem;align-items:center;justify-content:center}
.info-nav-btn{background:none;border:1px solid rgba(255,255,255,0.6);color:var(--white);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;flex-shrink:0}
.info-nav-btn:hover{background:var(--white);color:var(--ocean);border-color:var(--white)}
.info-nav-btn:disabled{opacity:0.25;cursor:default}
@media(max-width:700px){
  .carousel-nav-btn{display:none}
  .carousel-nav-dots{display:none}
  .info-slide{padding:1.5rem 1.75rem;font-size:0.95rem}
  .info-slide h2{font-size:clamp(1.8rem,3vw,3rem)}
  .info-slide h3{font-size:0.72rem}
  .info-slide p{font-size:1rem}
  .swipe-hint{display:flex!important}
}

/* ── FAQ CAROUSEL ── */
.faq-carousel{width:100%}
.faq-track-wrap{overflow:hidden;position:relative;padding:0 10%;box-sizing:border-box}
@media(max-width:700px){.faq-track-wrap{padding:0 5%}}
.faq-track{display:flex;transition:transform 0.45s cubic-bezier(.4,0,.2,1);will-change:transform}
.faq-card{flex:0 0 100%;min-width:0;padding:0 0.75rem;box-sizing:border-box;opacity:0.3;transition:opacity 0.45s ease;pointer-events:none}
.faq-card.active{opacity:1;pointer-events:auto}
.faq-card>div{background:var(--white);border:2px solid #779DB3;border-left:4px solid #779DB3;padding:1.75rem 2rem}@media(max-width:700px){.faq-card>div{padding:1.25rem}}
.faq-card strong{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:600;color:var(--ink);display:block;margin-bottom:0.6rem}
.faq-card p{color:#333;font-size:clamp(1rem,1.1vw,1.1rem);max-width:none}
.faq-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1.5rem}
.faq-counter{font-family:'Jost',sans-serif;font-size:0.82rem;color:var(--mid);letter-spacing:0.1em}
.faq-btn{background:none;border:1px solid #779DB3;color:#779DB3;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background 0.2s;flex-shrink:0}
.faq-btn:hover{background:#779DB3;color:var(--white)}


/* Swipe hint — mobile only */
/* ── APT SHOWCASE GRID (homepage) ── */
.apt-showcase{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:2.5rem}
@media(max-width:540px){.apt-showcase{grid-template-columns:1fr}}
.apt-showcase-card{display:block;text-decoration:none;background:var(--white);overflow:hidden}
.apt-showcase-card:hover .apt-showcase-img img{transform:scale(1.04)}
.apt-showcase-img{position:relative;overflow:hidden;aspect-ratio:4/3}
.apt-showcase-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 0.5s ease}
.apt-showcase-info{padding:1.5rem 1.8rem 1.8rem;background:var(--offwhite)}
.apt-showcase-info .apt-num{font-family:'Jost',sans-serif;font-size:0.8rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--ocean);margin-bottom:0.4rem;display:block}
.apt-showcase-info h3{font-size:clamp(1.4rem,2vw,1.9rem);color:var(--ink);margin-bottom:0.4rem;line-height:1.2}
.apt-showcase-info .apt-price{font-family:'Jost',sans-serif;font-size:clamp(1rem,1.1vw,1.1rem);color:var(--mid)}
.apt-showcase-info .apt-arrow{display:inline-block;margin-top:0.8rem;width:36px;height:36px;border:1px solid rgba(119,157,179,0.4);border-radius:50%;text-align:center;line-height:36px;font-size:1rem;color:var(--ocean);transition:background 0.2s}
.apt-showcase-card:hover .apt-arrow{background:var(--ocean);color:var(--white);border-color:var(--ocean)}

/* ── APARTMENT DETAIL ── */

/* Image grid: 3 columns, full width, fixed height */
.apt-hero{
  display:grid;
  grid-template-columns:3fr 2fr 2fr;
  grid-template-rows:1fr 1fr;
  gap:3px;
  width:100%;
  height:clamp(400px,60vh,680px);
}
/* Main image spans both rows */
.apt-hero-main{
  grid-column:1;
  grid-row:1 / 3;
  position:relative;
  overflow:hidden;
}
/* Each right image fills one row */
.apt-hero-img{
  position:relative;
  overflow:hidden;
}
/* All images fill their cell */
.apt-hero-main img,
.apt-hero-img img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Mobile: stack vertically */
@media(max-width:700px){
  .apt-hero{
    grid-template-columns:1fr 1fr;
    grid-template-rows:220px 140px;
    height:auto;
  }
  .apt-hero-main{
    grid-column:1 / 3;
    grid-row:1;
  }
}

/* Below images: ocean band with headline left, price+btn right */
.apt-header{
  background:var(--ocean);
  padding:2.5rem clamp(1.5rem,8vw,8rem);
}
.apt-header-inner{
  max-width:900px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:2rem;
  align-items:center;
}
@media(max-width:700px){
  .apt-header-inner{grid-template-columns:1fr;gap:1.2rem}
}
.apt-header .section-label{color:var(--sky)}
.apt-header h1{color:var(--white);margin:0.3rem 0 0}
.apt-header .apt-type{
  font-family:'Jost',sans-serif;font-size:1rem;
  color:var(--sky);font-weight:400;letter-spacing:0.04em;margin-top:0.5rem
}
.apt-price-col{text-align:right;flex-shrink:0}
@media(max-width:700px){.apt-price-col{text-align:left}}
.apt-price-from{
  font-family:'Jost',sans-serif;font-size:0.7rem;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--sky);margin-bottom:0.1rem
}
.apt-price-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem;font-weight:600;color:var(--white);line-height:1
}
.apt-price-unit{
  font-family:'Jost',sans-serif;font-size:0.8rem;
  color:var(--sky);margin-bottom:0.75rem
}
.apt-enquire{
  display:inline-block;
  background:var(--white);color:var(--ocean);
  font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;
  padding:0.65rem 1.4rem;text-decoration:none;
  transition:background 0.2s,color 0.2s;
}
.apt-enquire:hover{background:var(--sky);color:var(--mid)}

/* Body: description left, booking box right */
.apt-body{
  max-width:900px;margin:0 auto;
  padding:1.5rem 2rem;
  display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start
}
@media(max-width:900px){.apt-body{grid-template-columns:1fr;gap:2rem}}

.apt-desc{color:#333;font-size:1.05rem;line-height:1.85;max-width:65ch}
.highlights-label{font-family:'Jost',sans-serif;font-size:0.75rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--ocean);margin:2rem 0 0.5rem;display:block}
.highlights{list-style:none;margin:0 0 2rem}
.highlights li{padding:0.6rem 0;border-bottom:1px solid rgba(189,236,249,0.5);display:flex;align-items:center;gap:0.85rem;font-size:1.05rem}
.highlights li::before{content:'—';color:var(--ocean);font-size:0.9rem;flex-shrink:0}

/* BOOKING BOX */
.booking-box{background:#4a6a7c !important;color:var(--white);padding:2rem}
.booking-box h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--white);margin-bottom:0.5rem}
.booking-box .bk-desc{font-size:0.95rem;color:rgba(255,255,255,0.65);margin-bottom:1.5rem;max-width:none}
.prot{color:var(--sky);font-size:0.95rem;display:flex;align-items:center;gap:0.7rem;margin-bottom:0.75rem;cursor:pointer;background:none;border:none;padding:0;font-family:'Jost',sans-serif;width:100%;text-align:left}
.prot:hover{color:var(--white)}
.prot-icon{width:30px;height:30px;border-radius:50%;background:rgb(119, 157, 179);display:flex;align-items:center;justify-content:center;font-size:0.8rem;flex-shrink:0;transition:background 0.2s}
.prot:hover .prot-icon{background:rgba(189,236,249,0.28)}
.booking-box address{font-style:normal;font-size:0.88rem;color:rgba(255,255,255,0.45);line-height:1.9;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.1)}

/* COMPARE TABLE */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare-table{width:100%;border-collapse:collapse;font-size:1rem;table-layout:fixed}
@media(max-width:700px){.compare-table{min-width:560px}}
.compare-table thead th{background:var(--ocean);color:var(--sky);font-family:'Jost',sans-serif;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;padding:1rem 1.2rem;text-align:left;width:20%}
.compare-table thead th:first-child{background:var(--offwhite);color:transparent}
.img-row td{padding:0;border-bottom:3px solid var(--ocean)}
.img-row td:first-child{background:var(--offwhite)!important}
.img-row td a{display:block;overflow:hidden}
.img-row td a img{width:100%;height:150px;object-fit:cover;display:block;transition:transform 0.3s}
.img-row td a:hover img{transform:scale(1.04)}
@media(max-width:700px){.img-row td a img{height:90px}}
.compare-table tbody tr:nth-child(odd) td{background:rgba(189,236,249,0.07)}
.compare-table tbody tr:nth-child(even) td{background:var(--white)}
.compare-table tbody tr:nth-child(odd) td:first-child{background:rgba(119,157,179,0.13);font-weight:500}
.compare-table tbody tr:nth-child(even) td:first-child{background:rgba(119,157,179,0.06);font-weight:500}
.compare-table tbody tr:hover td{background:rgba(189,236,249,0.2)!important}
.compare-table td{padding:0.85rem 1.2rem;border-bottom:1px solid rgba(189,236,249,0.35);font-size:0.98rem}
.check{color:var(--ocean);font-weight:600}.cross{color:#ccc}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;max-width:1100px;align-items:start}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2rem}}
.contact-item{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}
.contact-item .icon:not(.contact-icon-label){font-size:1.3rem;flex-shrink:0;margin-top:0.1rem}
.contact-item .icon.contact-icon-label{font-size:0.75rem;flex-shrink:0}
.contact-item p,.contact-item address{font-size:1.05rem;color:var(--ink);line-height:1.7;font-style:normal;max-width:none}
.reveal-btn{color:var(--ocean);background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:1.05rem;padding:0;text-align:left;display:inline}
.reveal-btn:hover{text-decoration:underline}
.maps-embed{width:100%;height:280px;border:0;display:block;margin-top:1.5rem;filter:grayscale(20%)}
.date-range-picker{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:0.5rem}
@media(max-width:480px){.date-range-picker{grid-template-columns:1fr}}
.date-input-wrap label{font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ocean);display:block;margin-bottom:0.35rem}
.date-input-wrap input[type="date"]{width:100%;padding:0.85rem 1rem;border:1px solid rgba(119,157,179,0.4);background:var(--white);color:var(--ink);font-family:'Jost',sans-serif;font-size:1rem;outline:none;transition:border-color 0.2s}
.date-input-wrap input[type="date"]:focus{border-color:var(--ocean)}
.stay-summary{grid-column:1/-1;font-size:0.9rem;color:var(--mid);padding:0.75rem 1rem;background:var(--sky);display:none;align-items:center}
.stay-summary.visible{display:flex}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:540px){.form-grid{grid-template-columns:1fr}}
.form-group{display:flex;flex-direction:column;gap:0.35rem}
.form-group.full{grid-column:1/-1}
label{font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ocean)}
input,textarea,select{width:100%;padding:0.85rem 1rem;border:1px solid rgba(119,157,179,0.4);background:var(--white);color:var(--ink);font-family:'Jost',sans-serif;font-size:1rem;transition:border-color 0.2s;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--ocean)}
textarea{resize:vertical;min-height:110px}
.form-note{font-size:0.9rem;color:#777;margin-bottom:1.2rem;max-width:none}
.required{color:var(--ocean)}

/* FOOTER */
footer{background:#325366;color:rgba(255,255,255,0.85);padding:3.5rem clamp(1.5rem,5vw,5rem) 2rem}
.footer-inner{max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,0.2)}
.footer-brand img{height:42px;width:auto;filter:brightness(0) invert(1);opacity:0.9}
footer address{font-style:normal;font-size:1rem;line-height:1.9;margin-top:0.6rem}
.footer-contact-line{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:0.5rem}
.footer-reveal-btn{color:var(--sky);background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.95rem;padding:0;display:inline-flex;align-items:center;gap:0.35rem}
.footer-reveal-btn:hover{text-decoration:underline;color:var(--white)}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}
.footer-links a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:0.88rem;transition:color 0.2s}
.footer-links a:hover{color:var(--sky)}
.footer-copy{max-width:1400px;margin:1.5rem auto 0;font-size:0.82rem;color:rgba(255,255,255,0.6);display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem}

/* COOKIE */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--ink);border-top:2px solid var(--ocean);padding:1.5rem 2rem;display:none;animation:slideUp 0.4s ease}
#cookie-banner.show{display:block}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.cookie-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.cookie-text h4{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--white);margin-bottom:0.3rem}
.cookie-text p{font-size:0.9rem;color:rgba(255,255,255,0.65);max-width:60ch}
.cookie-text a{color:var(--sky)}
.cookie-btns{display:flex;gap:0.75rem;flex-wrap:wrap}
.cookie-btns button{cursor:pointer;font-family:'Jost',sans-serif;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;padding:0.7rem 1.4rem;border:1px solid}
.btn-accept-all{background:var(--ocean);border-color:var(--ocean);color:var(--white)}
.btn-accept-essential{background:transparent;border-color:rgba(255,255,255,0.35);color:var(--white)}
.btn-customize{background:transparent;border-color:rgba(255,255,255,0.12);color:rgba(255,255,255,0.45);font-size:0.75rem!important}
#cookie-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.5);align-items:center;justify-content:center}
#cookie-modal.show{display:flex}
.modal-box{background:var(--white);max-width:560px;width:95%;padding:2.5rem;max-height:90vh;overflow-y:auto;border-top:3px solid var(--ocean)}
.modal-box h3{font-size:2rem;margin-bottom:1rem}
.cookie-cat{border-top:1px solid rgba(189,236,249,0.5);padding:1.2rem 0}
.cookie-cat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.4rem}
.cookie-cat p{font-size:0.9rem;color:#555;max-width:none}
.toggle{position:relative;display:inline-block;width:42px;height:24px}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:24px;cursor:pointer;transition:0.3s}
.toggle-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:white;border-radius:50%;transition:0.3s}
input:checked+.toggle-slider{background:var(--ocean)}
input:checked+.toggle-slider::before{transform:translateX(18px)}
.modal-footer{margin-top:1.5rem;display:flex;gap:0.75rem;flex-wrap:wrap}

.legal-content{max-width:800px;margin:0 auto;padding:clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5rem)}
.legal-content h1{margin-bottom:2rem}
.legal-content h2{font-size:1.8rem;margin:2.5rem 0 0.75rem;color:var(--ocean)}
.legal-content p,.legal-content li{font-size:1rem;color:#333;line-height:1.85;max-width:none}
.legal-content a{color:var(--ocean)}

@keyframes fadeUp2{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fade-in{opacity:0;animation:fadeUp2 0.6s ease forwards}
.fade-in-1{animation-delay:0.1s}.fade-in-2{animation-delay:0.25s}
.fade-in-3{animation-delay:0.4s}.fade-in-4{animation-delay:0.55s}

/* FAQ on offwhite background */
.faq-white .faq-card>div{background:var(--white);border:2px solid #779DB3;border-left:4px solid #779DB3;padding:1.75rem 2rem}
.faq-white .faq-card strong{color:var(--ink)}
.faq-white .faq-card p{color:#444}
.faq-white .faq-counter{color:var(--mid)}
.faq-white .faq-btn{background:none;border:1px solid #779DB3;color:#779DB3;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background 0.2s;flex-shrink:0}
.faq-white .faq-btn:hover{background:#779DB3;color:var(--white)}

/* ── UTILITY CLASSES (replaces inline styles) ── */
.hero-em{font-style:normal;color:var(--sky)}
.section-offwhite{background:var(--offwhite)}
.section-white{background:var(--white)}
.section-pt{padding-top:2.5rem}
.section-pb0{padding-bottom:0}
.section-pb{padding-bottom:2.5rem}
.section-pb2{padding-bottom:2rem}
.btn-outline{background:transparent;color:var(--ocean);border-color:var(--ocean)}
.info-nav-ocean{border-color:rgba(255,255,255,0.4);color:var(--white)}
/* Table */
.compare-table thead th a{color:var(--sky);text-decoration:none}
.img-row td.no-pad{padding:0}
.compare-table td.price-row{font-weight:700}
.mt-btn{margin-top:2.5rem}
/* Contact page */
.contact-item .contact-icon-label{font-size:0.8rem;letter-spacing:0.05em;color:var(--ocean);font-family:'Jost',sans-serif;font-weight:600;padding-top:0.2rem}
.anreise-box{background:var(--sky);padding:1.2rem 1.5rem;border-left:3px solid var(--ocean);margin-top:0.5rem}
.anreise-box h4{font-family:'Jost',sans-serif;font-size:0.82rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--mid);margin-bottom:0.4rem}
.anreise-box p{font-size:1rem;color:var(--ink)}
.contact-h2-top{margin-bottom:1.5rem}
.contact-h2-form{margin-bottom:0.5rem}
.form-legal{font-size:0.85rem;color:#888;margin:1rem 0}
.form-success{display:none;margin-top:1rem;padding:1rem 1.5rem;background:var(--sky);color:var(--mid);border-left:3px solid var(--ocean)}
.form-error{display:none;margin-top:1rem;padding:1rem 1.5rem;background:#fdecea;color:#b3261e;border-left:3px solid #b3261e}
.apt-price-sup{font-size:1.8rem}

.compare-th-link{color:var(--sky);text-decoration:none}

/* Honeypot field - hidden from real users, visible to bots */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
