/* =====================================================
   LUMÉ
===================================================== */

/*
DATEI-NAVIGATION
1. Reset / Foundation
2. Typography
3. Header / Navigation
4. Hero
5. Homepage Sections
6. Leistungen
7. Preise
8. Kontakt
9. Termin
10. Kontaktformular
10. Footer
11. Utilities
12. Animationen
13. Responsive
*/

/* =====================================================
   1. RESET / FOUNDATION
===================================================== */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/playfair-display-v40-latin-500.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/playfair-display-v40-latin-600.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/lato-v25-latin-300.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/lato-v25-latin-700.woff2') format('woff2');
  font-display: swap;
}

:root {
  --gold: #B8966D;
  --gold-dark: #8C6A4A;
  --bg-main: #F6F1EA;
  --bg-soft: #EFE7DE;
  --text: #3A2B22;
  --text-soft: #5a4a3e;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;

  --shadow-soft: 0 15px 40px rgba(0,0,0,0.05);
  --shadow-mid: 0 25px 60px rgba(0,0,0,0.08);
  --shadow-deep: 0 40px 100px rgba(0,0,0,0.12);

  --z-header: 1000;
  --z-overlay: 4000;
  --z-menu: 5000;
  --z-progress: 9999;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* GLOBAL BACKGROUND FLOW */
body {
  margin: 0;
  font-family: 'Lato', sans-serif;
  color: var(--text);
  background: linear-gradient(
    180deg,
    #f6f1ea 0%,
    #f3ece4 22%,
    #efe7de 45%,
    #f6f1ea 68%,
    #efe7de 100%
  );
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(184,150,109,0.08), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(184,150,109,0.06), transparent 50%);
  animation: backgroundFlow 40s ease-in-out infinite;
}
main, section, header, footer { position: relative; z-index: 1; }
img { display: block; max-width: 100%; }
a { text-decoration: none; }
h1, h2, h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* =====================================================
   2. TYPOGRAPHY / GLOBAL ELEMENTS
===================================================== */

h2 {
  font-size: clamp(2.2rem, 4vw, 3rem);
  color: var(--gold-dark);
  margin-bottom: 60px;
  text-align: center;
}

h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: var(--gold);
  margin: 14px auto 0;
}

/* =====================================================
   HEADER 
===================================================== */

.navbar{
position:sticky;
top:0;
z-index:9999;

padding:22px 0 18px;

background:rgba(247,242,236,.94);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);

border-bottom:1px solid rgba(184,150,109,.14);

box-shadow:
0 10px 28px rgba(0,0,0,.045);

transition:.32s ease;
}

.navbar.scrolled{
padding:16px 0 14px;
background:rgba(247,242,236,.98);
box-shadow:
0 14px 34px rgba(0,0,0,.06);
}

/* INNER GRID */

.nav-container{
max-width:1280px;
margin:auto;
padding:0 34px;

display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:24px;
}

/* NAV LEFT / RIGHT */

.nav-left,
.nav-right{
display:flex;
align-items:center;
gap:42px;
}

.nav-right{
justify-content:flex-end;
}

/* TYPO LINKS */

.nav-left a,
.nav-right a:not(.book-btn){
position:relative;

font-family:'Playfair Display', serif;
font-size:21px;
letter-spacing:.18px;
color:#866344;

transition:.24s ease;
}

.nav-left a:hover,
.nav-right a:not(.book-btn):hover{
color:#5f4024;
}

.nav-left a::after,
.nav-right a:not(.book-btn)::after{
content:"";
position:absolute;
left:0;
bottom:-7px;

width:0;
height:1px;

background:linear-gradient(90deg,#D8B07E,#8C6A4A);
transition:.28s ease;
}

.nav-left a:hover::after,
.nav-right a:not(.book-btn):hover::after{
width:100%;
}

/* LOGO */

.logo{
display:flex;
justify-content:center;
align-items:center;
padding:0 24px;
}

.logo img{
height:86px;

filter:
drop-shadow(0 6px 14px rgba(184,150,109,.12));

transition:.28s ease;
}

.logo img:hover{
transform:translateY(-1px);
}

/* =====================================================
   MOBILE MENU — FINAL PREMIUM HERO
===================================================== */

.mobile-menu{
position:fixed;
inset:0;
z-index:99999;

background:
radial-gradient(circle at top left, rgba(184,150,109,.12), transparent 28%),
radial-gradient(circle at bottom right, rgba(184,150,109,.08), transparent 32%),
rgba(247,242,236,.97);

backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

padding:26px 22px 38px;

transform:translateY(-100%);
opacity:0;
visibility:hidden;

transition:
transform .34s ease,
opacity .34s ease,
visibility .34s ease;
}

.mobile-menu.active{
transform:translateY(0);
opacity:1;
visibility:visible;
}

/* =====================================================
   TOP AREA
===================================================== */

.mobile-menu-top{
position:absolute;
top:22px;
left:22px;
right:22px;

display:block;
margin:0;
max-width:none;
}

/* BACK BUTTON */

.mobile-back{
position:absolute;
top:0;
left:0;

display:flex;
align-items:center;
justify-content:center;

width:56px;
height:56px;

border-radius:50%;
text-decoration:none;

font-size:30px;
font-weight:600;
line-height:1;

color:#B8966D;

background:
linear-gradient(
180deg,
rgba(255,255,255,.98),
rgba(247,242,236,.92)
);

border:1px solid rgba(184,150,109,.24);

box-shadow:
0 14px 28px rgba(0,0,0,.06),
inset 0 1px 0 rgba(255,255,255,.94);

transition:
transform .25s ease,
box-shadow .25s ease;
}

.mobile-back:hover,
.mobile-back:active{
transform:translateY(-2px);

box-shadow:
0 18px 34px rgba(0,0,0,.08);
}

/* LOGO CENTER LOWER */

.mobile-menu-logo{
position:absolute;
top:78px;
left:50%;
transform:translateX(-50%);

width:88px;
height:88px;
padding:18px;

border-radius:24px;
background:#fff;

box-shadow:
0 18px 34px rgba(0,0,0,.06),
0 8px 18px rgba(184,150,109,.08);
}

.mobile-menu-logo img{
width:100%;
height:100%;
object-fit:contain;
}

.mobile-menu-top::after{
display:none;
}

/* =====================================================
   NAVIGATION
===================================================== */

.mobile-nav{
width:100%;
max-width:420px;

margin-top:130px;

display:flex;
flex-direction:column;
align-items:center;
gap:18px;
}

/* SECONDARY BUTTONS */

.mobile-nav a:not(.mobile-book){
display:flex;
align-items:center;
justify-content:center;

width:100%;
min-height:60px;
padding:14px 24px;

border-radius:999px;
text-decoration:none;

font-family:"Playfair Display", serif;
font-size:22px;
font-weight:600;

color:#866344;

background:
linear-gradient(
180deg,
rgba(255,255,255,.98),
rgba(247,242,236,.92)
);

border:1px solid rgba(184,150,109,.16);

box-shadow:
0 14px 30px rgba(0,0,0,.05),
inset 0 1px 0 rgba(255,255,255,.92);

transition:
transform .25s ease,
box-shadow .25s ease,
color .25s ease;
}

.mobile-nav a:not(.mobile-book):hover,
.mobile-nav a:not(.mobile-book):active{
transform:translateY(-2px);

box-shadow:
0 18px 36px rgba(0,0,0,.08),
0 8px 18px rgba(184,150,109,.08);

color:#7A5638;
}

/* GOLD CTA */

.mobile-nav .mobile-book{
display:flex;
align-items:center;
justify-content:center;

width:100%;
min-height:64px;
padding:14px 24px;

border-radius:999px;
text-decoration:none;

font-family:"Playfair Display", serif;
font-size:24px;
font-weight:700;
letter-spacing:.2px;

color:#fff !important;

background:
linear-gradient(
145deg,
#F4E2C4 0%,
#D8B07E 18%,
#B8966D 40%,
#8C6A4A 68%,
#E8CFAC 100%
);

box-shadow:
inset 0 2px 2px rgba(255,255,255,.45),
inset 0 -3px 6px rgba(0,0,0,.12),
0 24px 40px rgba(184,150,109,.22);

transition:
transform .25s ease,
box-shadow .25s ease;
}

.mobile-nav .mobile-book:hover,
.mobile-nav .mobile-book:active{
transform:translateY(-2px);

box-shadow:
inset 0 2px 2px rgba(255,255,255,.45),
inset 0 -3px 6px rgba(0,0,0,.12),
0 28px 46px rgba(184,150,109,.28);
}

/* OLD CLOSE BUTTON OFF */

.close-menu{
display:none;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (min-width:981px){

.mobile-menu{
display:none;
}

}

@media (max-width:980px){

.nav-left,
.nav-right{
display:none;
}

.nav-container{
grid-template-columns:auto auto;
padding:0 16px;
}

.logo{
justify-content:flex-start;
padding:0;
}

.logo img{
height:64px;
}

.navbar{
padding:16px 0 14px;
}

}

/* SMALL HEIGHT DEVICES */

@media(max-height:740px){

.mobile-menu{
justify-content:flex-start;
padding-top:24px;
overflow-y:auto;
}

.mobile-nav{
margin-top:190px;
}

}

/* =====================================================
   4. HERO
===================================================== */
.hero {
  min-height: 100vh;
  padding-bottom: 100px;
  background: url('../images/salon/parallax.JPEG') center/cover;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.6), rgba(0,0,0,0.3));
}
.hero-glass {
  position: relative;
  z-index: 2;
  max-width: 860px;
  width: min(92%, 860px);
  padding: 100px 80px;
  border-radius: 18px;
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(184,150,109,0.45);
  box-shadow: 0 25px 80px rgba(0,0,0,0.4);
}
.hero-buttons {
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 34px;
}

/* =====================================================
   GLOBAL LUMÉ BUTTON SYSTEM + MOBILE BOOKING BAR FINAL
===================================================== */

.book-btn,
.parallax-button,
.services-cta a,
.mobile-book,
.cta-button{
text-decoration:none;
color:#fff !important;

display:inline-flex;
align-items:center;
justify-content:center;

min-height:58px;
padding:16px 30px;

border:none;
border-radius:999px;
cursor:pointer;

font-family:"Playfair Display", serif;
font-size:19px;
font-weight:600;
letter-spacing:.4px;
text-transform:uppercase;

background:
linear-gradient(
145deg,
#F4E2C4 0%,
#D8B07E 18%,
#B8966D 40%,
#8C6A4A 68%,
#E8CFAC 100%
);

box-shadow:
inset 0 2px 2px rgba(255,255,255,.45),
inset 0 -3px 6px rgba(0,0,0,.12),
0 18px 34px rgba(184,150,109,.24);

transition:
transform .28s ease,
box-shadow .28s ease,
filter .28s ease;
}

.book-btn:hover,
.parallax-button:hover,
.services-cta a:hover,
.mobile-book:hover,
.cta-button:hover{
transform:translateY(-3px);

box-shadow:
inset 0 2px 2px rgba(255,255,255,.45),
inset 0 -3px 6px rgba(0,0,0,.12),
0 24px 42px rgba(184,150,109,.32);

filter:brightness(1.03);
}

/* HEADER BUTTON */

.book-btn{
min-width:230px;
font-size:20px;
}

/* SECONDARY */

.book-btn.secondary,
.parallax-button.secondary,
.services-cta a.secondary{
background:#fff !important;
color:var(--gold-dark) !important;
border:1px solid rgba(184,150,109,.16);

box-shadow:
0 12px 26px rgba(0,0,0,.06);
}

/* =====================================================
   MOBILE BOOKING BAR
===================================================== */

.mobile-booking-bar{
position:fixed;
left:16px;
right:16px;
bottom:16px;

z-index:99990;

display:none;
align-items:center;
justify-content:center;

padding:8px;
border-radius:24px;

background:rgba(255,255,255,.78);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);

box-shadow:
0 20px 40px rgba(0,0,0,.12);

opacity:0;
transform:translateY(120px);

transition:
opacity .55s ease,
transform .55s ease;
}

/* JS fügt .show hinzu */

.mobile-booking-bar.show{
opacity:1;
transform:translateY(0);
}

.mobile-booking-bar.hide{
opacity:0;
transform:translateY(120px);
pointer-events:none;
}

/* BUTTON IN BAR */

.mobile-booking-bar a{
width:100%;
min-width:100%;
margin:0;

text-decoration:none;
color:#fff !important;

display:flex;
align-items:center;
justify-content:center;

min-height:58px;
padding:16px 24px;

border-radius:999px;

font-family:"Playfair Display", serif;
font-size:18px;
font-weight:700;
letter-spacing:.3px;
text-transform:uppercase;

background:
linear-gradient(
145deg,
#F4E2C4 0%,
#D8B07E 18%,
#B8966D 40%,
#8C6A4A 68%,
#E8CFAC 100%
);

box-shadow:
inset 0 2px 2px rgba(255,255,255,.45),
inset 0 -3px 6px rgba(0,0,0,.12),
0 18px 30px rgba(184,150,109,.22);
}

/* Mobile Booking Bar ausblenden wenn Menü offen */

body.menu-open .mobile-booking-bar{
transform:translateY(140%);
opacity:0;
pointer-events:none;
}

.mobile-booking-bar{
transition:
transform .35s ease,
opacity .25s ease;
}

/* =====================================================
   MOBILE BURGER
===================================================== */

.mobile-menu-btn{
display:none;
align-items:center;
justify-content:center;

width:54px;
height:54px;

border:none;
border-radius:50%;
cursor:pointer;

font-size:24px;
color:#8C6A4A;
background:#fff;

box-shadow:
0 10px 22px rgba(0,0,0,.08);

transition:.25s ease;
}

.mobile-menu-btn:hover{
transform:translateY(-2px);
}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:980px){

.mobile-menu-btn{
display:flex;
}

.nav-right .book-btn{
display:none;
}

.book-btn,
.parallax-button,
.services-cta a,
.mobile-book,
.cta-button{
min-height:54px;
padding:14px 24px;
font-size:16px;
}

.mobile-booking-bar{
display:flex;
}

}

/* FOOTER SAFETY */

.footer-visible .mobile-booking-bar,
footer:hover ~ .mobile-booking-bar{
opacity:0 !important;
transform:translateY(120px) !important;
pointer-events:none;
}
/* =====================================================
   5. INDEX SECTIONS — FINAL 12/10 REFINED
   BASIS BLEIBT • NUR VEREDLUNG
===================================================== */

/* ---------------------------------------------------
   GLOBAL SECTIONS
--------------------------------------------------- */

.about,
.services,
.team,
.gallery,
.why,
.partners,
.parallax-section{
padding:118px 22px;
position:relative;
overflow:hidden;
}

.about::before,
.services::before,
.team::before,
.gallery::before,
.why::before,
.partners::before,
.parallax-section::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;

background:
radial-gradient(circle at 12% 18%, rgba(184,150,109,.045), transparent 34%),
radial-gradient(circle at 84% 78%, rgba(184,150,109,.03), transparent 40%);
}

/* ---------------------------------------------------
   GLOBAL TITLES
--------------------------------------------------- */

.about h2,
.services h2,
.team h2,
.gallery h2,
.why h2,
.partners h2,
.parallax-wrapper h2{
text-align:center;
font-size:clamp(42px,6vw,82px);
line-height:1.02;
letter-spacing:-1px;
margin-bottom:18px;
color:var(--gold-dark);
}

.about h2::after,
.services h2::after,
.team h2::after,
.gallery h2::after,
.why h2::after,
.partners h2::after,
.parallax-wrapper h2::after{
content:"";
display:block;
width:88px;
height:2px;
margin:18px auto 0;

background:
linear-gradient(
90deg,
transparent,
#B8966D,
transparent
);
}

/* ---------------------------------------------------
   ABOUT
--------------------------------------------------- */

.about-wrapper{
max-width:1120px;
margin:auto;
padding:84px 70px;
border-radius:34px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.92),
rgba(247,242,236,.82)
);

backdrop-filter:blur(16px);

border-top:5px solid #C8A06D;
border-right:1px solid rgba(184,150,109,.16);
border-left:1px solid rgba(184,150,109,.16);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 38px 110px rgba(0,0,0,.06),
0 12px 28px rgba(184,150,109,.08);
}

.about-wrapper p{
max-width:820px;
margin:0 auto 20px;
text-align:center;
font-size:1.08rem;
line-height:2.05;
color:var(--text-soft);
}

/* ---------------------------------------------------
   SERVICES
--------------------------------------------------- */

.services-grid{
max-width:1240px;
margin:auto;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:26px;
}

.service-card{
padding:42px 36px;
border-radius:30px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.80),
rgba(255,255,255,.58)
);

backdrop-filter:blur(14px);

border-top:5px solid #C8A06D;
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 26px 70px rgba(0,0,0,.05);

transition:.32s ease;
}

.service-card:hover{
transform:translateY(-6px);
box-shadow:
0 40px 95px rgba(0,0,0,.08),
0 14px 28px rgba(184,150,109,.10);
}

.service-card h3{
position:relative;
display:inline-block;
font-size:2rem;
margin-bottom:18px;
color:var(--gold-dark);
}

.service-card h3::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:44%;
height:2px;
background:#B8966D;
}

.service-card p{
line-height:1.95;
color:var(--text-soft);
}

/* ---------------------------------------------------
   TEAM
--------------------------------------------------- */

.team-grid{
max-width:1240px;
margin:auto;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:28px;
}

.team-card{
overflow:hidden;
border-radius:32px;
background:#fff;

box-shadow:
0 32px 82px rgba(0,0,0,.06);

transition:.32s ease;
}

.team-card:hover{
transform:translateY(-6px);
}

.team-card img{
width:100%;
height:640px;
object-fit:cover;
display:block;
}

.team-info{
padding:30px 30px 12px;
text-align:center;
}

.team-info h3{
display:inline-block;
font-size:2rem;
margin-bottom:10px;
color:var(--gold-dark);
}

.team-info h3::after{
content:"";
display:block;
width:62%;
height:2px;
margin:10px auto 0;
background:#B8966D;
}

.quote-box{
padding:0 34px 34px;
text-align:center;
}

.quote-text{
line-height:1.9;
color:var(--text-soft);
margin-bottom:12px;
}

.quote-author{
font-size:13px;
letter-spacing:2px;
text-transform:uppercase;
color:#B8966D;
}

/* ---------------------------------------------------
   GALLERY
--------------------------------------------------- */

.gallery-grid{
max-width:1240px;
margin:auto;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:22px;
}

.before-after{
position:relative;
overflow:hidden;
border-radius:30px;
aspect-ratio:1/1;

box-shadow:
0 24px 64px rgba(0,0,0,.06);
}

.before-after img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
}

.after-img{
clip-path:inset(0 50% 0 0);
z-index:2;
}

.ba-line{
position:absolute;
top:0;
bottom:0;
left:50%;
width:2px;
background:#fff;
z-index:4;
}

.ba-handle{
position:absolute;
left:50%;
bottom:18px;
transform:translateX(-50%);

min-width:138px;
height:48px;
padding:0 18px;

display:flex;
align-items:center;
justify-content:center;
gap:10px;

border-radius:40px;

font-size:12px;
font-weight:700;
letter-spacing:2px;

color:#8C6A4A;

background:rgba(255,255,255,.92);
backdrop-filter:blur(14px);

box-shadow:
0 14px 28px rgba(0,0,0,.10);

z-index:5;
cursor:ew-resize;
touch-action:none;
}

/* ---------------------------------------------------
   WHY
--------------------------------------------------- */

.why{
padding-bottom:40px;
}

.why-wrapper{
max-width:1160px;
margin:auto;
padding:84px 60px;
border-radius:34px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.92),
rgba(247,242,236,.84)
);

border-top:5px solid #C8A06D;
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 36px 95px rgba(0,0,0,.06);
}

.why-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
margin-top:46px;
}

.why-item{
padding:30px 26px;
border-radius:24px;
background:#fff;

box-shadow:
0 18px 44px rgba(0,0,0,.04);
}

.why-item h3{
font-size:1.35rem;
margin-bottom:12px;
color:var(--gold-dark);
}

.why-item p{
line-height:1.9;
color:var(--text-soft);
}

/* ---------------------------------------------------
   CTA
--------------------------------------------------- */

.parallax-section{
padding:26px 22px 130px;
margin-top:-34px;
z-index:3;
}

.parallax-content{
max-width:1180px;
margin:auto;
}

.parallax-wrapper{
position:relative;
padding:92px 70px;
border-radius:38px;
text-align:center;

background:
linear-gradient(
180deg,
rgba(255,255,255,.97),
rgba(248,242,235,.92)
);

border-top:5px solid #D2AE7B;
border-right:1px solid rgba(184,150,109,.18);
border-left:1px solid rgba(184,150,109,.18);
border-bottom:1px solid rgba(184,150,109,.10);

box-shadow:
0 55px 140px rgba(0,0,0,.10),
0 18px 44px rgba(184,150,109,.12);
}

.parallax-wrapper p{
max-width:760px;
margin:0 auto 44px;
font-size:1.12rem;
line-height:2;
color:var(--text-soft);
}

.parallax-buttons{
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
}


/* =====================================================
   PARTNERS
===================================================== */

.partners{
padding:90px 22px 130px;
}

.partners-slider{
max-width:1280px;
margin:auto;
overflow:hidden;
position:relative;
}

.partners-track{
display:flex;
align-items:center;
gap:26px;
width:max-content;

animation:partnerScroll 24s linear infinite;
}

.partners-slider:hover .partners-track{
animation-play-state:paused;
}

.partner-item{
flex:0 0 auto;

width:260px;
height:140px;
padding:24px;

display:flex;
align-items:center;
justify-content:center;

border-radius:28px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.92),
rgba(247,242,236,.82)
);

border-top:4px solid #C8A06D;
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 20px 44px rgba(0,0,0,.05);

transition:.35s ease;
}

.partner-item img{
max-width:100%;
max-height:72px;
object-fit:contain;
filter:grayscale(100%);
opacity:.82;
transition:.35s ease;
}

.partner-item:hover{
transform:translateY(-8px) scale(1.04);

box-shadow:
0 34px 70px rgba(0,0,0,.08),
0 16px 30px rgba(184,150,109,.10);
}

.partner-item:hover img{
filter:none;
opacity:1;
transform:scale(1.08);
}

@media(max-width:980px){

.partners{
padding:70px 14px 95px;
}

.partner-item{
width:190px;
height:110px;
padding:18px;
border-radius:22px;
}

.partner-item img{
max-height:54px;
}

.partners-track{
gap:14px;
}

}

/* ---------------------------------------------------
   MOBILE
--------------------------------------------------- */

@media (max-width:980px){

.about,
.services,
.team,
.gallery,
.why,
.partners,
.parallax-section{
padding:92px 14px;
}

.why{
padding-bottom:10px;
}

.parallax-section{
padding:10px 14px 92px;
margin-top:-10px;
}

.about-wrapper,
.why-wrapper,
.parallax-wrapper{
padding:40px 18px;
border-radius:24px;
}

.services-grid,
.team-grid,
.why-grid{
grid-template-columns:1fr;
gap:18px;
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:12px;
}

.team-card img{
height:420px;
}

.team-info{
padding:22px 18px 8px;
}

.quote-box{
padding:0 18px 24px;
}

.parallax-buttons{
flex-direction:column;
gap:12px;
}

.parallax-button{
width:100%;
min-width:100%;
height:54px;
}

.partner-item{
min-width:140px;
height:74px;
padding:10px 16px;
}

}

/* =====================================================
   6. LEISTUNGEN — END OF LUXURY MASTER CSS
===================================================== */

.services-page{
padding:clamp(120px,9vw,150px) 20px clamp(160px,12vw,220px);
max-width:1380px;
margin:0 auto;
position:relative;
}

.services-page::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
radial-gradient(circle at 8% 12%, rgba(184,150,109,.06), transparent 30%),
radial-gradient(circle at 92% 78%, rgba(184,150,109,.05), transparent 34%);
}

/* WRAPPER */

.services-wrapper{
position:relative;
padding:clamp(34px,4vw,64px);
border-radius:36px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.82),
rgba(248,244,239,.72)
);

backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);

border-top:5px solid rgba(210,174,123,.92);
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 60px 140px rgba(0,0,0,.08),
0 18px 42px rgba(184,150,109,.08);

overflow:hidden;
}

.services-wrapper::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
linear-gradient(120deg, rgba(255,255,255,.28), transparent 32%, transparent 70%, rgba(184,150,109,.05));
}

/* INTRO */

.services-intro{
max-width:900px;
margin:0 auto 88px;
padding:56px 54px;
border-radius:30px;
text-align:center;

background:
linear-gradient(
180deg,
rgba(255,255,255,.94),
rgba(250,247,243,.86)
);

border:1px solid rgba(184,150,109,.16);

box-shadow:
0 28px 72px rgba(0,0,0,.05);
}

.services-intro .hero-mini{
display:inline-block;
margin-bottom:16px;
padding:9px 16px;
border-radius:999px;

font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:#8C6A4A;
background:rgba(184,150,109,.10);
}

.services-intro h1{
font-size:clamp(3rem,6vw,5.6rem);
line-height:.96;
margin:0 0 22px;
color:var(--gold-dark);
letter-spacing:-1.2px;
}

.services-intro p{
max-width:720px;
margin:0 auto;
font-size:1.12rem;
line-height:2;
color:var(--text-soft);
}

/* ROWS */

.service-row{
position:relative;
display:grid;
grid-template-columns:1.05fr .95fr;
gap:clamp(30px,4vw,70px);
align-items:center;

padding:34px;
margin-bottom:34px;
border-radius:32px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.78),
rgba(255,255,255,.58)
);

border:1px solid rgba(184,150,109,.12);

box-shadow:
0 28px 74px rgba(0,0,0,.045);

transition:
transform .38s ease,
box-shadow .38s ease,
border-color .38s ease;
}

.service-row:last-child{
margin-bottom:0;
}

.service-row:hover{
transform:translateY(-7px);
border-color:rgba(184,150,109,.24);

box-shadow:
0 42px 92px rgba(0,0,0,.07),
0 18px 42px rgba(184,150,109,.08);
}

.service-row.reverse{
grid-template-columns:.95fr 1.05fr;
}

.service-row.reverse .service-image{
order:1;
}

.service-row.reverse .service-text{
order:2;
}

/* IMAGE */

.service-image{
position:relative;
overflow:hidden;
border-radius:26px;
box-shadow:
0 26px 64px rgba(0,0,0,.10);
isolation:isolate;
}

.service-image::before{
content:"LUMÉ SIGNATURE";
position:absolute;
top:16px;
left:16px;
z-index:3;

padding:8px 12px;
border-radius:999px;

font-size:10px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:#fff;
background:rgba(20,16,14,.42);
backdrop-filter:blur(10px);
}

.service-image::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(
180deg,
rgba(255,255,255,.04),
rgba(0,0,0,.16)
);
pointer-events:none;
}

.service-image img{
width:100%;
aspect-ratio:4/3;
object-fit:cover;
display:block;

transform:scale(1.01);
transition:transform .9s cubic-bezier(.22,.61,.36,1);
}

.service-row:hover .service-image img{
transform:scale(1.08);
}

/* TEXT */

.service-text{
position:relative;
padding:10px 4px;
}

.service-text h3{
font-size:clamp(2rem,3vw,3.4rem);
line-height:1;
margin:0 0 18px;
color:var(--gold-dark);
letter-spacing:-.5px;
}

.service-text h3::after{
content:"";
display:block;
width:74px;
height:2px;
margin-top:14px;

background:
linear-gradient(90deg,#D2AE7B,transparent);
}

.service-text p{
max-width:48ch;
margin:0;

font-size:1.06rem;
line-height:2;
color:var(--text-soft);
}

/* CTA */

.services-cta{
position:relative;
margin-top:72px;
padding:58px 42px;
border-radius:34px;

display:grid;
grid-template-columns:repeat(2,minmax(240px,280px));
justify-content:center;
gap:18px;

text-align:center;

background:
linear-gradient(
135deg,
rgba(255,255,255,.95),
rgba(247,242,236,.88)
);

border-top:5px solid #D2AE7B;
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 36px 100px rgba(0,0,0,.07),
0 14px 34px rgba(184,150,109,.08);
}

.services-cta h3{
grid-column:1 / -1;
margin:0 0 10px;

font-size:clamp(2.2rem,4vw,4rem);
line-height:1.04;
color:var(--gold-dark);
}

.services-cta a{
width:100%;
}

/* MOBILE */

@media(max-width:980px){

.services-page{
padding:118px 14px 180px;
}

.services-wrapper{
padding:20px;
border-radius:24px;
}

.services-intro{
margin-bottom:42px;
padding:34px 20px;
border-radius:22px;
}

.services-intro h1{
font-size:clamp(2.4rem,10vw,3.6rem);
}

.service-row,
.service-row.reverse{
grid-template-columns:1fr;
gap:22px;
padding:18px;
margin-bottom:20px;
border-radius:24px;
}

.service-row.reverse .service-image,
.service-row.reverse .service-text{
order:initial;
}

.service-image{
border-radius:20px;
}

.service-text h3{
font-size:clamp(1.8rem,8vw,2.5rem);
}

.service-text p{
max-width:100%;
}

.services-cta{
margin-top:42px;
padding:34px 18px;
grid-template-columns:1fr;
gap:12px;
border-radius:24px;
}

.services-cta h3{
font-size:30px;
line-height:1.08;
margin-bottom:10px;
}

}

/* =====================================================
   7. PREISE 
===================================================== */

.prices-page{
padding:clamp(122px,9vw,160px) 20px clamp(180px,12vw,240px);
max-width:1420px;
margin:0 auto;
position:relative;
}

.prices-page::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
radial-gradient(circle at 8% 14%, rgba(184,150,109,.08), transparent 30%),
radial-gradient(circle at 92% 84%, rgba(184,150,109,.05), transparent 34%);
}

/* =====================================================
WRAPPER
===================================================== */

.prices-wrapper{
position:relative;
padding:clamp(36px,4vw,72px);
border-radius:40px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.88),
rgba(248,244,239,.78)
);

backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);

border-top:5px solid rgba(210,174,123,.95);
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 70px 160px rgba(0,0,0,.09),
0 22px 50px rgba(184,150,109,.08);

overflow:hidden;
}

.prices-wrapper::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
linear-gradient(120deg, rgba(255,255,255,.24), transparent 30%, transparent 70%, rgba(184,150,109,.04));
}

/* =====================================================
HERO
===================================================== */

.prices-hero{
position:relative;
max-width:980px;
margin:0 auto 82px;
padding:64px 58px;
border-radius:34px;
text-align:center;

background:
linear-gradient(
180deg,
rgba(255,255,255,.96),
rgba(250,247,243,.90)
);

border:1px solid rgba(184,150,109,.16);

box-shadow:
0 32px 82px rgba(0,0,0,.05);
}

.prices-hero .hero-mini{
display:inline-block;
margin-bottom:18px;
padding:10px 18px;
border-radius:999px;

font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:#8C6A4A;
background:rgba(184,150,109,.10);
}

.prices-hero h1{
font-size:clamp(3.2rem,6vw,6rem);
line-height:.94;
letter-spacing:-1.4px;
margin:0 0 26px;
color:var(--gold-dark);
}

.prices-hero h1::after{
content:"";
display:block;
width:92px;
height:2px;
margin:18px auto 0;

background:
linear-gradient(90deg,transparent,#B8966D,transparent);
}

.prices-hero p{
max-width:780px;
margin:0 auto 16px;
font-size:1.1rem;
line-height:2;
color:var(--text-soft);
}

.prices-hero-actions{
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
margin-top:36px;
}

/* =====================================================
SWITCH
===================================================== */

.price-switch{
display:flex;
justify-content:center;
gap:14px;
margin:0 auto 64px;
flex-wrap:wrap;
}

.switch-btn{
display:inline-flex;
align-items:center;
justify-content:center;

min-width:190px;
min-height:58px;
padding:16px 30px;

border:none;
border-radius:999px;
cursor:pointer;

font-family:"Playfair Display", serif;
font-size:18px;
font-weight:600;
letter-spacing:.35px;
text-transform:uppercase;

background:#fff;
color:var(--gold-dark);

border:1px solid rgba(184,150,109,.16);

box-shadow:
0 12px 28px rgba(0,0,0,.06);

transition:
transform .28s ease,
box-shadow .28s ease,
filter .28s ease;
}

.switch-btn:hover{
transform:translateY(-3px);
box-shadow:
0 18px 36px rgba(0,0,0,.08);
}

.switch-btn.active{
color:#fff;

background:
linear-gradient(
145deg,
#F4E2C4 0%,
#D8B07E 18%,
#B8966D 40%,
#8C6A4A 68%,
#E8CFAC 100%
);

box-shadow:
inset 0 2px 2px rgba(255,255,255,.45),
inset 0 -3px 6px rgba(0,0,0,.12),
0 18px 34px rgba(184,150,109,.24);
}

/* =====================================================
GRID
===================================================== */

.price-content{
display:none;
}

.price-content.active{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:26px;
}

/* =====================================================
CARDS
===================================================== */

.price-card{
position:relative;
padding:36px 32px;
border-radius:30px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.86),
rgba(255,255,255,.64)
);

border-top:4px solid rgba(210,174,123,.90);
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 28px 72px rgba(0,0,0,.05);

overflow:hidden;

transition:
transform .36s ease,
box-shadow .36s ease,
border-color .36s ease;
}

.price-card::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
linear-gradient(120deg, rgba(255,255,255,.18), transparent 32%, transparent 72%, rgba(184,150,109,.03));
}

.price-card:hover{
transform:translateY(-8px);

box-shadow:
0 42px 98px rgba(0,0,0,.08),
0 16px 36px rgba(184,150,109,.09);
}

.price-card.featured,
.price-card.full-width{
grid-column:1 / -1;
width:100%;
}

.price-card.premium{
background:
linear-gradient(
180deg,
rgba(255,255,255,.94),
rgba(247,242,236,.84)
);
}

/* =====================================================
TOP
===================================================== */

.price-card-top{
position:relative;
margin-bottom:26px;
z-index:2;
}

.price-badge{
display:inline-block;
margin-bottom:14px;
padding:8px 14px;
border-radius:999px;

font-size:11px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:#fff;

background:
linear-gradient(135deg,#C9A06E,#8C6A4A);
}

.price-card h3{
font-size:clamp(1.9rem,2vw,2.5rem);
line-height:1.04;
margin:0 0 14px;
color:var(--gold-dark);
}

.price-card h3::after{
content:"";
display:block;
width:76px;
height:2px;
margin-top:14px;

background:
linear-gradient(90deg,#D2AE7B,transparent);
}

.price-card-top p{
margin:0;
max-width:940px;

line-height:2.05;
font-size:1.05rem;
font-weight:300;

color:var(--text-soft);
}

/* =====================================================
PRICE ROWS
===================================================== */

.price-list{
position:relative;
z-index:2;
display:grid;
gap:22px;
margin-top:34px;
}

.price-row{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;

gap:14px;

padding:30px 26px;

border:none;
border-radius:24px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.72),
rgba(247,242,236,.52)
);

box-shadow:
0 16px 34px rgba(0,0,0,.04);

transition:
transform .3s ease,
box-shadow .3s ease;
}

.price-row span{
font-size:1.06rem;
color:var(--text);
}

.price-row strong{
font-family:"Playfair Display", serif;
font-size:2rem;
font-weight:600;
letter-spacing:.2px;
color:var(--gold-dark);
white-space:nowrap;
margin-top:4px;
}

/* =====================================================
NOTES
===================================================== */

.price-note{
position:relative;
z-index:2;

margin-top:24px;
padding-top:20px;

border-top:1px solid rgba(184,150,109,.14);

font-size:.97rem;
line-height:1.95;
color:var(--text-soft);
}

.price-disclaimer{
margin-top:44px;
text-align:center;

font-size:.95rem;
line-height:1.9;
color:var(--text-soft);
}

/* =====================================================
TRUST
===================================================== */

.price-trust{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:42px;
}

.trust-item{
padding:26px 20px;
border-radius:24px;
text-align:center;

background:
linear-gradient(
180deg,
rgba(255,255,255,.88),
rgba(255,255,255,.70)
);

box-shadow:
0 18px 46px rgba(0,0,0,.04);
}

.trust-item span{
display:inline-flex;
align-items:center;
justify-content:center;

width:36px;
height:36px;
margin-bottom:12px;
border-radius:50%;

font-size:16px;
font-weight:700;

color:#fff;
background:#B8966D;
}

.trust-item p{
margin:0;
line-height:1.75;
color:var(--text-soft);
}

/* =====================================================
MOBILE
===================================================== */

@media(max-width:980px){

.prices-page{
padding:118px 14px 190px;
}

.prices-wrapper{
padding:20px;
border-radius:24px;
}

.prices-hero{
margin-bottom:42px;
padding:34px 20px;
border-radius:24px;
}

.prices-hero h1{
font-size:clamp(2.5rem,10vw,4rem);
}

.prices-hero-actions{
flex-direction:column;
gap:12px;
}

.price-switch{
gap:10px;
margin-bottom:34px;
}

.switch-btn{
flex:1;
min-width:auto;
min-height:54px;
padding:14px 18px;
font-size:15px;
}

.price-content.active{
grid-template-columns:1fr;
gap:18px;
}

.price-card,
.price-card.featured{
grid-column:auto;
padding:24px 18px;
border-radius:22px;
}

.price-card h3{
font-size:clamp(1.7rem,8vw,2.4rem);
}

.price-row{
padding:24px 20px;
}

.price-row span{
font-size:.98rem;
}

.price-row strong{
font-size:1.22rem;
}

.price-trust{
grid-template-columns:1fr;
gap:14px;
margin-top:28px;
}

.trust-item{
padding:20px 18px;
border-radius:18px;
}

.price-disclaimer{
margin-top:28px;
font-size:.92rem;
}

}

/* =====================================================
MOBILE PANEL SAFETY
===================================================== */

.price-info-panel,
.price-overlay{
display:none;
}

/* =====================================================
   PREISE — BOTH PATCHES
   CONVERSION + ULTRA LUXURY
===================================================== */

/* =====================================================
SOFT TAB ANIMATION
===================================================== */

.price-content{
display:none;
opacity:0;
transform:translateY(14px);
}

.price-content.active{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:26px;

animation:priceTabReveal .55s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes priceTabReveal{
0%{
opacity:0;
transform:translateY(18px);
}
100%{
opacity:1;
transform:translateY(0);
}
}

/* =====================================================
CARD LUXURY HOVER
===================================================== */

.price-card{
transition:
transform .38s ease,
box-shadow .38s ease,
border-color .38s ease,
filter .38s ease;
}

.price-card:hover{
transform:translateY(-10px) scale(1.01);

box-shadow:
0 46px 105px rgba(0,0,0,.09),
0 18px 38px rgba(184,150,109,.10);

filter:brightness(1.015);
}

/* =====================================================
PRICE SHIMMER
===================================================== */

.price-row strong{
background:
linear-gradient(
90deg,
#8C6A4A 0%,
#D8B07E 25%,
#B8966D 50%,
#E8CFAC 75%,
#8C6A4A 100%
);

background-size:220% auto;

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

animation:priceShimmer 7s linear infinite;
}

@keyframes priceShimmer{
0%{
background-position:0% center;
}
100%{
background-position:220% center;
}
}

/* =====================================================
CTA POWER UPGRADE
===================================================== */

.prices-hero-actions .book-btn:first-child,
.parallax-buttons .book-btn:first-child{
position:relative;
overflow:hidden;
}

.prices-hero-actions .book-btn:first-child::after,
.parallax-buttons .book-btn:first-child::after{
content:"";
position:absolute;
top:0;
left:-120%;
width:60%;
height:100%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.35),
transparent
);

transform:skewX(-20deg);

animation:ctaSweep 4.8s ease-in-out infinite;
}

@keyframes ctaSweep{
0%{left:-120%;}
45%{left:140%;}
100%{left:140%;}
}

/* =====================================================
SIGNATURE CARD BOOST
===================================================== */

.price-card.featured{
position:relative;
}

.price-card.featured::after{
content:"Empfohlen für perfekte Ergebnisse";
position:absolute;
top:18px;
right:18px;

padding:8px 12px;
border-radius:999px;

font-size:10px;
font-weight:700;
letter-spacing:1.6px;
text-transform:uppercase;

color:#8C6A4A;
background:rgba(184,150,109,.10);
}

/* =====================================================
PREMIUM SERVICE DESIRE BOOST
===================================================== */

.price-card.premium{
transform-origin:center;
}

.price-card.premium:hover{
transform:translateY(-10px) scale(1.018);
}

/* =====================================================
TRUST BAR FLOAT
===================================================== */

.trust-item{
transition:
transform .3s ease,
box-shadow .3s ease;
}

.trust-item:hover{
transform:translateY(-4px);

box-shadow:
0 24px 54px rgba(0,0,0,.06);
}

/* =====================================================
BOOKING BAR MORE CONVERSION
===================================================== */

.mobile-booking-bar a{
position:relative;
overflow:hidden;
}

.mobile-booking-bar a::after{
content:"";
position:absolute;
top:0;
left:-120%;
width:60%;
height:100%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.28),
transparent
);

transform:skewX(-20deg);

animation:ctaSweep 5.2s ease-in-out infinite;
}

/* =====================================================
CTA SECTION EXTRA IMPACT
===================================================== */

.parallax-wrapper h2{
max-width:900px;
margin-left:auto;
margin-right:auto;
}

.parallax-wrapper p{
font-size:1.14rem;
}

/* =====================================================
MOBILE REFINED
===================================================== */

@media(max-width:980px){

.price-content.active{
grid-template-columns:1fr;
gap:18px;
}

.price-card:hover,
.price-card.premium:hover{
transform:none;
}

.price-row strong{
animation:none;
background:none;
-webkit-text-fill-color:initial;
color:var(--gold-dark);
}

.price-card.featured::after{
position:static;
display:inline-block;
margin-top:10px;
font-size:10px;
}

}

/* =====================================================
REDUCED MOTION SAFE
===================================================== */

@media(prefers-reduced-motion:reduce){

.price-content.active,
.price-row strong,
.prices-hero-actions .book-btn:first-child::after,
.parallax-buttons .book-btn:first-child::after,
.mobile-booking-bar a::after{
animation:none !important;
}

}

/* =====================================================
   8. KONTAKT — FINAL BOSS LUXURY
===================================================== */

.contact-page{
padding:clamp(124px,10vw,175px) 20px clamp(180px,14vw,240px);
max-width:1420px;
margin:0 auto;
position:relative;
}

.contact-page::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
radial-gradient(circle at 10% 14%, rgba(184,150,109,.08), transparent 30%),
radial-gradient(circle at 92% 84%, rgba(184,150,109,.05), transparent 34%);
}

/* =====================================================
WRAPPER
===================================================== */

.contact-wrapper{
position:relative;
padding:clamp(34px,4vw,68px);
border-radius:40px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.86),
rgba(248,244,239,.78)
);

backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);

border-top:5px solid rgba(210,174,123,.94);
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 70px 160px rgba(0,0,0,.09),
0 22px 52px rgba(184,150,109,.08);

overflow:hidden;
}

.contact-wrapper::before{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:
linear-gradient(120deg, rgba(255,255,255,.22), transparent 32%, transparent 72%, rgba(184,150,109,.04));
}

/* =====================================================
HERO
===================================================== */

.contact-hero{
position:relative;
z-index:2;

max-width:960px;
margin:0 auto 76px;
padding:60px 56px;
border-radius:34px;
text-align:center;

background:
linear-gradient(
180deg,
rgba(255,255,255,.96),
rgba(250,247,243,.90)
);

border:1px solid rgba(184,150,109,.16);

box-shadow:
0 30px 80px rgba(0,0,0,.05);
}

.contact-hero .hero-mini{
display:inline-block;
margin-bottom:18px;
padding:10px 18px;
border-radius:999px;

font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:#8C6A4A;
background:rgba(184,150,109,.10);
}

.contact-hero h1{
font-size:clamp(3rem,6vw,5.8rem);
line-height:.94;
letter-spacing:-1.2px;
margin:0 0 26px;
color:var(--gold-dark);
}

.contact-hero h1::after{
content:"";
display:block;
width:88px;
height:2px;
margin:18px auto 0;

background:
linear-gradient(90deg,transparent,#B8966D,transparent);
}

.contact-hero p{
max-width:760px;
margin:0 auto 16px;
font-size:1.08rem;
line-height:2;
color:var(--text-soft);
}

.contact-hero-actions{
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
margin-top:34px;
}

/* =====================================================
GRID
===================================================== */

.contact-grid{
position:relative;
z-index:2;

display:grid;
grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);
gap:28px;
align-items:start;
}

/* =====================================================
LEFT COLUMN
===================================================== */

.contact-column{
display:grid;
gap:18px;
}

.contact-card{
position:relative;
padding:30px 28px;
border-radius:28px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.86),
rgba(255,255,255,.66)
);

border-top:4px solid rgba(210,174,123,.88);
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 24px 64px rgba(0,0,0,.05);

transition:
transform .34s ease,
box-shadow .34s ease;
}

.contact-card:hover{
transform:translateY(-6px);

box-shadow:
0 38px 92px rgba(0,0,0,.08),
0 14px 34px rgba(184,150,109,.08);
}

.contact-card.featured{
background:
linear-gradient(
180deg,
rgba(255,255,255,.94),
rgba(248,244,238,.82)
);
}

.contact-card.premium{
background:
linear-gradient(
180deg,
rgba(255,255,255,.90),
rgba(247,242,236,.78)
);
}

.contact-label{
display:inline-block;
margin-bottom:14px;
padding:8px 14px;
border-radius:999px;

font-size:11px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:#fff;

background:
linear-gradient(135deg,#C9A06E,#8C6A4A);
}

.contact-card h3{
font-size:clamp(1.8rem,2vw,2.5rem);
line-height:1.04;
margin:0 0 14px;
color:var(--gold-dark);
}

.contact-card h3::after{
content:"";
display:block;
width:74px;
height:2px;
margin-top:14px;

background:
linear-gradient(90deg,#D2AE7B,transparent);
}

.contact-card p{
margin:0 0 14px;
line-height:1.9;
color:var(--text-soft);
}

.contact-card p:last-child{
margin-bottom:0;
}

.contact-card a{
color:var(--gold-dark);
text-decoration:none;
font-weight:500;
}

.contact-card a:hover{
opacity:.8;
}

.contact-inline-actions{
margin-top:18px;
}

.book-btn.small{
min-height:48px;
padding:12px 22px;
font-size:14px;
}

/* =====================================================
MAP COLUMN
===================================================== */

.contact-map-column{
display:grid;
gap:20px;
}

.contact-map-shell{
position:relative;
min-height:660px;
border-radius:30px;
overflow:hidden;

background:
linear-gradient(
180deg,
rgba(255,255,255,.84),
rgba(247,242,236,.74)
);

border-top:4px solid rgba(210,174,123,.88);
border-right:1px solid rgba(184,150,109,.14);
border-left:1px solid rgba(184,150,109,.14);
border-bottom:1px solid rgba(184,150,109,.08);

box-shadow:
0 34px 90px rgba(0,0,0,.10);
}

#map-container,
#map-container iframe,
.map-consent{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}

.map-consent{
z-index:2;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:18px;
text-align:center;
padding:30px;

background:
linear-gradient(
180deg,
rgba(43,31,24,.28),
rgba(43,31,24,.46)
);

backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
}

.map-consent.hidden{
opacity:0;
visibility:hidden;
pointer-events:none;
transition:opacity .4s ease;
}

.map-text{
margin:0;
font-family:"Playfair Display", serif;
font-size:clamp(1.6rem,2vw,2.2rem);
color:#fff;
}

.map-caption{
padding:30px 28px;
border-radius:26px;

background:
linear-gradient(
180deg,
rgba(255,255,255,.88),
rgba(255,255,255,.70)
);

box-shadow:
0 20px 54px rgba(0,0,0,.04);
}

.map-caption h3{
margin:0 0 14px;
font-size:clamp(1.7rem,2vw,2.2rem);
color:var(--gold-dark);
}

.map-caption p{
margin:0;
line-height:1.9;
color:var(--text-soft);
}

/* =====================================================
TRUST
===================================================== */

.contact-trust{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:38px;
}

.trust-item{
padding:24px 20px;
border-radius:22px;
text-align:center;

background:
linear-gradient(
180deg,
rgba(255,255,255,.88),
rgba(255,255,255,.70)
);

box-shadow:
0 18px 44px rgba(0,0,0,.04);

transition:
transform .3s ease,
box-shadow .3s ease;
}

.trust-item:hover{
transform:translateY(-4px);

box-shadow:
0 24px 56px rgba(0,0,0,.06);
}

.trust-item span{
display:inline-flex;
align-items:center;
justify-content:center;

width:36px;
height:36px;
margin-bottom:12px;
border-radius:50%;

font-size:16px;
font-weight:700;

color:#fff;
background:#B8966D;
}

.trust-item p{
margin:0;
line-height:1.75;
color:var(--text-soft);
}

/* =====================================================
MOBILE
===================================================== */

@media(max-width:980px){

.contact-page{
padding:118px 14px 190px;
}

.contact-wrapper{
padding:20px;
border-radius:24px;
}

.contact-hero{
margin-bottom:38px;
padding:34px 20px;
border-radius:24px;
}

.contact-hero h1{
font-size:clamp(2.5rem,10vw,4rem);
}

.contact-hero-actions{
flex-direction:column;
gap:12px;
}

.contact-grid{
grid-template-columns:1fr;
gap:20px;
}

.contact-column{
gap:16px;
}

.contact-card{
padding:24px 18px;
border-radius:22px;
}

.contact-card h3{
font-size:clamp(1.7rem,8vw,2.3rem);
}

.contact-map-shell{
min-height:430px;
border-radius:22px;
}

.map-caption{
padding:22px 18px;
border-radius:20px;
}

.contact-trust{
grid-template-columns:1fr;
gap:14px;
margin-top:28px;
}

.trust-item{
padding:20px 18px;
border-radius:18px;
}

}

/* =====================================================
IOS SUPPORT
===================================================== */

@supports (-webkit-touch-callout:none){

.contact-wrapper,
.contact-hero,
.map-consent{
-webkit-backdrop-filter:blur(18px);
}

}

/* =====================================================
   11. FOOTER
===================================================== */
.footer {
  background: linear-gradient(180deg,#2b1f18 0%,#1e1511 100%);
  color: white;
  padding: 110px 20px 70px;
}
.footer-container {
  max-width: 1100px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 70px;
}
.footer a {
  color: inherit;
}
.footer-bottom {
  max-width: 1100px;
  margin: 70px auto 0;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  justify-content: space-between;
}

/* =====================================================
   12. UTILITIES / EFFECTS
===================================================== */
.fade-in {
  opacity: 0;
  transform: translateY(60px);
  transition: 0.9s;
}
.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  z-index: var(--z-progress);
  background: linear-gradient(to right,var(--gold),var(--gold-dark));
}


/* =====================================================
   13. ANIMATIONEN
===================================================== */
@keyframes partnerScroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(-50% - 35px), 0, 0);
  }
}

/* =====================================================
   14. RESPONSIVE
===================================================== */
@media (max-width:900px){

.nav-left,
.nav-right{
display:none;
}


.services-grid,
.team-grid,
.gallery-grid,
.contact-grid,
.footer-container{
grid-template-columns:1fr;
}

.services-wrapper,
.prices-wrapper,
.contact-wrapper{
padding:50px 25px;
}

.footer-bottom{
flex-direction:column;
gap:15px;
text-align:center;
}

}

/* =====================================================
   15. MOBILE BOOKING BAR
===================================================== */

.mobile-booking-bar{
position:fixed;
left:16px;
right:16px;
bottom:16px;

z-index:calc(var(--z-menu) + 10);

display:none;

padding:8px;
border-radius:22px;

background:rgba(255,255,255,.76);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);

box-shadow:
0 18px 40px rgba(0,0,0,.12);

transform:translateY(120%);
opacity:0;

transition:
transform .5s ease,
opacity .5s ease;
}

.mobile-booking-bar.show{
transform:translateY(0);
opacity:1;
}

.mobile-booking-bar.hide{
transform:translateY(140%);
opacity:0;
pointer-events:none;
}

@media(max-width:900px){

.mobile-booking-bar{
display:block;
}

}

/* PREISE PAGE BOOKING BAR FINAL SAFETY */

.mobile-booking-bar{
z-index:999999;
}

.price-overlay.active{
z-index:99990;
}

.price-info-panel{
z-index:99991;
}