:root{
  --bg:#07080b;
  --panel:#0f1220;
  --panel2:#0b0d16;
  --text:#f4f5f7;
  --muted:#b7bbca;
  --gold:#c8a354;
  --gold2:#e7d2a2;
  --border:rgba(255,255,255,.10);
  --shadow:0 22px 60px rgba(0,0,0,.55);
  --radius:22px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background:
    radial-gradient(1000px 560px at 18% 8%, rgba(200,163,84,.20), transparent 62%),
    radial-gradient(900px 560px at 82% 12%, rgba(231,210,162,.10), transparent 60%),
    radial-gradient(700px 520px at 50% 92%, rgba(200,163,84,.14), transparent 65%),
    linear-gradient(270deg, #000000, #0a0a0a, #111111, #000000);

  background-size: 100% 100%, 100% 100%, 100% 100%, 400% 400%;
  animation: bgMove 12s ease infinite;

  color:var(--text);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
.container{width:min(1160px, 92%); margin-inline:auto}

.header{
  position:sticky; top:0; z-index:50;
  background: rgba(7,8,11,.70);
  backdrop-filter: blur(00px);
  border-bottom:1px solid var(--border);
}
.header__inner{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0}
.brand{display:flex; align-items:center; gap:12px; min-width: 220px}
.brand__logo{width:46px; height:46px; border-radius:14px; object-fit:cover; border:1px solid var(--border); box-shadow:0 12px 28px rgba(0,0,0,.35)}
.brand__name{font-family:"Cinzel Decorative","Playfair Display", serif; font-weight:700; letter-spacing:.9px}
.brand__tag{color:var(--muted); font-size:.92rem}
.nav{display:flex; gap:12px; flex-wrap:wrap; justify-content:center}
.nav a{color:var(--muted); padding:8px 10px; border-radius:14px}
.nav a:hover{background:rgba(255,255,255,.06); color:var(--text)}
.header__cta{display:flex; gap:10px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:16px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  transition: transform .14s ease, background .14s ease, border-color .14s ease;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16)}
.btn--gold{
  background: linear-gradient(180deg, rgba(200,163,84,.98), rgba(150,110,44,.98));
  color:#160f05; font-weight:800;
  border-color: rgba(255,255,255,.14);
}
.btn--gold:hover{background: linear-gradient(180deg, rgba(231,210,162,.98), rgba(200,163,84,.98))}
.btn--ghost{background: rgba(255,255,255,.03)}
.btn--lg{padding:12px 16px; border-radius:18px; font-weight:800}

.hero{position:relative; padding:68px 0 34px; overflow:hidden}
.hero__glow{
  position:absolute; inset:-120px -120px auto -120px; height:420px;
  background: radial-gradient(circle at 30% 40%, rgba(200,163,84,.32), transparent 55%),
              radial-gradient(circle at 70% 30%, rgba(231,210,162,.16), transparent 56%);
  filter: blur(00px);
  opacity:.75;
  pointer-events:none;
}
.hero__inner{display:grid; grid-template-columns: 1.15fr .85fr; gap:22px; align-items:start; position:relative}
.kicker{color:var(--gold2); font-weight:800; letter-spacing:.14em; font-size:.82rem}
.hero__title{margin:14px 0 8px; font-family:"Cinzel Decorative","Playfair Display", serif; font-size: clamp(2.4rem, 4.6vw, 3.7rem); line-height:1.05}
.hero__subtitle{margin:0; color:var(--muted); font-size:1.1rem; max-width: 58ch}
.hero__buttons{display:flex; gap:10px; flex-wrap:wrap; margin:20px 0 10px}
.micro{color:var(--muted); font-size:.95rem}

.chips{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.chip{
  padding:12px 14px; border-radius:18px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  min-width: 220px;
}
.chip__label{color:var(--muted); font-size:.86rem}
.chip__value{font-weight:800}

.panel{
  position: relative;
  z-index: 1;

  background: linear-gradient(180deg, rgba(15,18,32,.70), rgba(11,13,22,.60));
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}
.panel__title{font-weight:900; margin-bottom:10px}
.panel__split{height:1px; background: var(--border); margin:14px 0}
.panel__actions{display:flex; gap:10px; flex-wrap:wrap}

.hours{display:flex; flex-direction:column; gap:8px}
.hour{display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:16px; background: rgba(255,255,255,.03); border:1px solid var(--border)}
.hour__day{color:var(--muted)}
.hour__time{font-weight:800}

.hero__watermark{
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%) rotate(-4deg);
  font-family: "Playfair Display", serif;
  font-size: clamp(120px, 35vw, 320px);

  opacity: 0.06;

  color: #e7d2a2;

  letter-spacing: 0.08em;
  user-select: none;
  pointer-events: none;
  z-index: 0;

  animation: floatLuxPro 12s ease-in-out infinite;
}
.panel,
.hours,
.hour {
  position: relative;
  z-index: 2;
}
@keyframes floatLuxPro {
  0% {
    transform: translate(-50%, -50%) rotate(-4deg) scale(1);
  }
  25% {
    transform: translate(-48%, -52%) rotate(-3deg) scale(1.03);
  }
  50% {
    transform: translate(-52%, -48%) rotate(-5deg) scale(1.05);
  }
  75% {
    transform: translate(-49%, -51%) rotate(-3deg) scale(1.02);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-4deg) scale(1);
  }
}

.section{padding:54px 0}
.section--alt{background: rgba(255,255,255,.02); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px}
.section__head h2{margin:0; font-family:"Playfair Display", serif; font-size: clamp(1.7rem, 2.6vw, 2.2rem)}
.section__head p{margin:0; color:var(--muted)}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}

.cards{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px}
.card{
  border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  padding:18px;
  box-shadow: 0 14px 36px rgba(0,0,0,.22);
}
.card__title{font-weight:900; margin-bottom:8px}
.card__text{color:var(--muted)}
.card__bar{height:2px; width:42px; margin-top:14px; background: linear-gradient(90deg, var(--gold2), transparent)}

.stats{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:14px}
.stat{
  padding:16px; border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
}
.stat__k{color:var(--muted); font-size:.92rem}
.stat__v{font-weight:900; font-size:1.25rem; color: var(--gold2)}

.pricegrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;

  width: 100%;
  overflow-x: hidden;
}
.pricebox{
  border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  padding:18px;
}
.pricebox__title{font-weight:900; margin-bottom:12px}
.pricelist{display:flex; flex-direction:column; gap:10px}
.priceitem{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  width:100%;
  padding:12px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}

.priceitem__name {
  font-weight:800;
  font-size:14px;
  flex:1;
  min-width:0;
}

.priceitem__note{grid-column: 1 / -1; color:var(--muted); font-size:.92rem; margin-top:-4px}
.priceitem_note {
  font-size: 12px;
}
.priceitem__price {
  color: var(--gold2);
  font-weight: 900;
  font-size: 14px;
  white-space: nowrap;
}


.tablewrap{overflow:auto}
.table{width:100%; border-collapse:separate; border-spacing:0 10px}
.table th{color:var(--muted); font-weight:800; text-align:left; padding:10px 12px}
.table td{padding:10px 12px}
.table tr td:first-child{font-weight:800}
.table tr{background: rgba(255,255,255,.03)}
.table tr td:first-child{border-top-left-radius:18px;border-bottom-left-radius:18px}
.table tr td:last-child{border-top-right-radius:18px;border-bottom-right-radius:18px}

.team{display:grid; grid-template-columns: repeat(6,1fr); gap:12px}
.person{
  padding:16px; border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  text-align:left;
}
.person__avatar{
  width:42px; height:42px; border-radius:14px;
  background: linear-gradient(180deg, rgba(200,163,84,.35), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.10);
  display:flex; align-items:center; justify-content:center;
  font-weight:900; color: var(--gold2);
  margin-bottom:10px;
}
.person__name{font-weight:900}
.person__role{color:var(--muted); font-size:.95rem}

.contact{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
.contact__box{
  border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  padding:18px;
}
.contact__box--map{padding:0; overflow:hidden}
.contact__box--map iframe{width:100%; height:520px; border:0}
.kv{display:flex; flex-direction:column; gap:10px}
.kv__row{display:grid; grid-template-columns: 90px 1fr; gap:12px; padding:10px 0; border-bottom:1px dashed rgba(255,255,255,.12)}
.kv__row:last-child{border-bottom:none}
.kv__k{color:var(--muted)}
.kv__v{font-weight:800}
.contact__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}

.legal{margin-top:16px; border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:12px; background: rgba(255,255,255,.02)}
.legal summary{cursor:pointer; font-weight:900}
.legal__inner{margin-top:10px; color:var(--muted); font-size:.95rem}
.legal__hint{margin-top:10px; color:rgba(231,210,162,.85); font-size:.92rem}

.reviews{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px}
.review{
  padding:18px; border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
}
.review__head{display:flex; justify-content:space-between; gap:12px; margin-bottom:10px}
.review__name{font-weight:900}
.review__date{color:var(--muted); font-size:.92rem}
.review__text{color:var(--muted)}

.footer{padding:28px 0 90px; border-top:1px solid var(--border); color:var(--muted)}
.footer__inner{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap}
.footer__small{font-size:.92rem}

.float{
  position:fixed; right:18px; bottom:18px; z-index:60;
  padding:12px 16px; border-radius:999px;
  background: linear-gradient(180deg, rgba(200,163,84,.98), rgba(150,110,44,.98));
  color:#160f05; font-weight:900;
  border:1px solid rgba(255,255,255,.16);
  box-shadow: 0 22px 60px rgba(0,0,0,.45);
}

@media (max-width: 1020px){
  .hero__inner{grid-template-columns: 1fr}
  .nav{display:none}
  .cards{grid-template-columns: repeat(2,1fr)}
  .stats{grid-template-columns: 1fr}
  .pricegrid{grid-template-columns: 1fr}
  .team{grid-template-columns: repeat(3,1fr)}
  .reviews{grid-template-columns: 1fr}
  .contact{grid-template-columns: 1fr}
  .contact__box--map iframe{height:320px}
}
@media (max-width: 560px){
  .header__cta{display:none}
  .cards{grid-template-columns: 1fr}
  .team{grid-template-columns: repeat(2,1fr)}
}


.callout{
  margin-top:10px;
  color: rgba(231,210,162,.92);
  font-weight:800;
}
.callout a{
  color: rgba(231,210,162,.98);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
.gimg{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  box-shadow: 0 14px 36px rgba(0,0,0,.22);
  aspect-ratio: 4/3;
}
.gimg img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.95;
}
.gimg:hover img{opacity:1}
@media (max-width: 1020px){
  .gallery{grid-template-columns: repeat(2,1fr)}
}
@media (max-width: 560px){
  .gallery{grid-template-columns: 1fr}
}
/* Section backgrounds: keep black/gold but vary texture per section */
.section{
  position: relative;
  overflow: hidden;
}
.section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity: .08;

  background:
    radial-gradient(600px 200px at 20% 20%, rgba(215,177,95,0.05), transparent 60%),
    radial-gradient(500px 200px at 80% 80%, rgba(215,177,95,0.04), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.25));
}

.section > *{
  position: relative;
  z-index: 1;
}

/* Per-section subtle variation */
#leistungen::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background:
    radial-gradient(700px 300px at 25% 15%, rgba(215,177,95,.08), transparent 60%),
    radial-gradient(600px 260px at 75% 70%, rgba(120,170,255,.05), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.4));
}

#preise::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background:
    radial-gradient(640px 280px at 20% 30%, rgba(215,177,95,.08), transparent 60%),
    radial-gradient(520px 220px at 85% 15%, rgba(215,177,95,.05), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, transparent 2px 8px),
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.3));
}

#galerie::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background:
    radial-gradient(760px 320px at 70% 20%, rgba(215,177,95,.07), transparent 62%),
    radial-gradient(540px 240px at 20% 75%, rgba(215,177,95,.05), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.45));
}

#team::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background:
    radial-gradient(720px 320px at 30% 25%, rgba(215,177,95,.08), transparent 62%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 10px),
    linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.5));
}

#kontakt::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background:
    radial-gradient(740px 320px at 25% 10%, rgba(215,177,95,.08), transparent 62%),
    radial-gradient(540px 240px at 85% 80%, rgba(215,177,95,.05), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55));
}

#reviews::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background:
    radial-gradient(760px 320px at 20% 30%, rgba(215,177,95,.08), transparent 62%),
    radial-gradient(520px 220px at 80% 55%, rgba(120,170,255,.04), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.5));
}



}
/* ===== Instagram QR ===== */
.qr-box{
  text-align: center;
  padding: 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(212,175,55,0.3);
  border-radius: 16px;
}

.qr-box p{
  margin-bottom: 10px;
  color: #d4af37;
  font-weight: 600;
}

.qr-box img{
  width: 180px;
  max-width: 100%;
  border-radius: 12px;
  background: #000;
  padding: 10px;
}
    .qr-box img:hover{
  transform: scale(1.05);
  transition: 0.3s;
    }


.priceitem__price {
  white-space: nowrap;
  display: flex;
  gap: 6px;
}
.priceitem {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.priceitem__price {
  white-space: nowrap;

}
/* fix table inside screen */


/* mobile optimization */
@media (max-width: 768px) {
  #priceGrid td,
  #priceGrid th {
    font-size: 12px;
    padding: 4px;
  }
}
.table td {
  white-space: nowrap !important;
}
@keyframes bgMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(200,163,84,0.05), transparent 70%);
  animation: pulseGlow 6s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%,100% { opacity: 0.3; }
  50% { opacity: 0.6; }
}
@keyframes floatLux {
  0% {
    transform: translate(-50%, -50%) rotate(-4deg);
  }
  50% {
    transform: translate(-50%, calc(-50% - 20px)) rotate(-4deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-4deg);
  }
}
/* ===== UI Enhancements ===== */

/* Glow movement */
@keyframes glowMove {
  0% { transform: translateX(-30px) translateY(0); }
  50% { transform: translateX(30px) translateY(10px); }
  100% { transform: translateX(-30px) translateY(0); }
}

.hero__glow {
  animation: glowMove 20s ease-in-out infinite;
}


/* Shine effect on price items */
.priceitem {
  position: relative;
  overflow: hidden;
}

.priceitem::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.08),
    transparent
  );
}

.priceitem:hover::after {
  animation: shineMove 0.8s forwards;
}

@keyframes shineMove {
  to { left: 120%; }
}


/* Subtle lift on hover */
.card:hover,
.person:hover,
.pricebox:hover {
  transform: translateY(-4px);
  transition: 0.3s ease;
}


/* WhatsApp button enhancement */
.float:hover {
  box-shadow: 0 0 25px rgba(200,163,84,.5);
  transform: translateY(-2px);
}


/* Fade-in animation */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}
.gimg {
  position: relative;
  overflow: hidden;
}

.gimg img {
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.gimg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(200,163,84,0.15)
  );
  opacity: 0;
  transition: 0.4s;
}

.gimg:hover img {
  transform: scale(1.05);
}

.gimg:hover::after {
  opacity: 1;
}
.header.scrolled {
  background: rgba(7,8,11,0.9);
  border-bottom: 1px solid rgba(200,163,84,0.3);
}
@media (max-width: 768px){
  .hero__watermark{
    font-size: 38vw;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-4deg);
    opacity: 0.07;
  }
}
button,
a,
.btn,
.float {
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

button:focus,
a:focus {
  outline: none;
}

button:active,
a:active {
  outline: none;
}
.btn:active,
.float:active {
  transform: scale(0.96);
}
.btn--gold {
  position: relative;
  overflow: hidden;
}

.btn--gold::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
}

.btn--gold:hover::after {
  animation: shineBtn 0.7s forwards;
}

@keyframes shineBtn {
  to { left: 120%; }
}

/* price backgrounds */

#herren,
#damen{
  position: relative;
  overflow: hidden;
}

#herren::before,
#damen::before{
  content:"";
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  background-repeat:no-repeat;
  opacity:.22;
  z-index:0;
}

#herren::before{
  background-image:
  linear-gradient(rgba(0,0,0,.78), rgba(0,0,0,.88)),
  url("assets/herren-bg.jpg");
}

#damen::before{
  background-image:
  linear-gradient(rgba(0,0,0,.72), rgba(0,0,0,.84)),
  url("assets/damen-bg.jpg");
}

#herren > *,
#damen > *{
  position:relative;
  z-index:2;
}
@media (max-width: 768px){

  #herren,
  #damen{
    min-height: auto;
    padding: 25px 15px;
  }

  #herren::before,
  #damen::before{
    background-position: center top;
    opacity: .18;
  }

  table{
    font-size: 14px;
  }

  th, td{
    padding: 8px 6px;
  }

}
#herren,
#damen{
  min-height: 400px;
}
