/*
Theme Name: Kosmetik Angela
Author: Kosmetik Angela
Description: Editierbare Onepage nach der freigegebenen Kosmetik-Angela-Visualisierung.
Version: 1.52.0
Text Domain: kosmetik-angela
*/
:root{--gold:#c79b42;--gold2:#d1a84e;--ink:#17130f;--cream:#f8f4ed;--paper:#fff}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#eeeae3;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.ka-site{width:min(100%,1280px);margin:0 auto;background:#fff;box-shadow:0 0 34px rgba(50,35,20,.08);overflow:hidden}.ka-hero{position:relative;height:720px;background:radial-gradient(circle at 44% 42%,#fffdfa 0 14%,transparent 48%),linear-gradient(90deg,#f6f1e8 0%,#faf7f1 56%,#f8f4ed 100%);overflow:hidden}.ka-leaf-shadow{position:absolute;inset:-5% auto 0 -5%;width:47%;opacity:.20;filter:blur(13px);background:radial-gradient(ellipse at 5% 8%,#5e584d 0 8%,transparent 9%),radial-gradient(ellipse at 17% 23%,#5e584d 0 10%,transparent 11%),radial-gradient(ellipse at 1% 43%,#5e584d 0 12%,transparent 13%),radial-gradient(ellipse at 20% 61%,#5e584d 0 12%,transparent 13%),radial-gradient(ellipse at 4% 82%,#5e584d 0 11%,transparent 12%);transform:rotate(-9deg)}.ka-copy{position:absolute;z-index:3;left:6%;top:26%;width:39%}.ka-copy h1{margin:0 0 26px;font:400 clamp(58px,5.2vw,76px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-2.4px}.ka-copy p{margin:0;max-width:445px;font:400 22px/1.48 Georgia,'Times New Roman',serif}.ka-rule{display:block;width:94px;height:2px;background:var(--gold);margin-top:30px}.ka-brand{position:absolute;z-index:4;left:48.7%;top:4.5%;width:25%;height:88%}.ka-logo{position:absolute;top:0;left:50%;transform:translateX(-50%);width:320px;height:300px;object-fit:contain}.ka-tagline{position:absolute;left:4%;top:47%;margin:0;width:90%;font:400 28px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.25px}.ka-tagline em{display:block;color:var(--gold);font-style:italic;font-weight:400;font-size:1.08em;margin:3px 0}.ka-brand .ka-rule{position:absolute;left:4%;top:76%;width:60px;margin:0}.ka-portrait{position:absolute;z-index:2;right:0;top:0;width:32.5%;height:100%;overflow:hidden}.ka-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% center}
/* The spa image is intentionally one continuous background behind the carousel and below it, matching the approved visualization. */
.ka-services-scene{position:relative;background-image:linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.04)),var(--ka-spa-bg);background-size:cover;background-position:center bottom;background-repeat:no-repeat;padding-top:28px}.ka-services{position:relative;z-index:5;margin:0 44px;padding:0 12px 28px;background:rgba(255,255,255,.88);border-radius:13px;box-shadow:0 9px 32px rgba(55,38,18,.10);backdrop-filter:blur(3px)}.ka-track{display:flex;gap:16px;overflow-x:auto;padding:0 0 12px;scroll-snap-type:x mandatory;scrollbar-width:none}.ka-track::-webkit-scrollbar{display:none}.ka-card{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 6px 20px rgba(55,38,18,.09)}.ka-card>img{display:block;width:100%;height:292px;object-fit:cover}.ka-card-copy{height:160px;padding:16px 14px 20px;text-align:center}.ka-card-copy h2{margin:0;font:400 23px/1.15 Georgia,'Times New Roman',serif}.ka-card-copy span{display:block;width:36px;height:2px;background:var(--gold);margin:13px auto 15px}.ka-card-copy p{margin:0 auto;max-width:225px;font:400 15px/1.34 Georgia,'Times New Roman',serif}.ka-arrow{position:absolute;z-index:8;top:42%;width:48px;height:48px;border:0;border-radius:50%;background:var(--gold);color:#fff;font:36px/43px Georgia,serif;cursor:pointer;box-shadow:0 5px 14px #0002}.ka-prev{left:-30px}.ka-next{right:-30px}.ka-dots{text-align:center;margin-top:7px;height:18px}.ka-dots button{width:10px;height:10px;border:0;border-radius:50%;padding:0;margin:0 6px;background:#d6d4d0}.ka-dots button.is-active{background:var(--gold)}.ka-spa-space{height:300px}
.ka-contact{display:grid;grid-template-columns:1fr 1fr 1fr;background:linear-gradient(90deg,#c89a3e,#d1a84e,#c89a3e);color:#0f0d0a}.ka-contact>div{height:154px;display:flex;align-items:center;justify-content:center;padding:18px 25px;text-align:center;border-right:1px solid rgba(255,255,255,.82)}.ka-contact>div:last-child{border-right:0}.ka-contact-link{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#0f0d0a;text-decoration:none;font-size:16px;line-height:1.32}.ka-contact-link:hover span{text-decoration:underline}.ka-contact svg{width:38px;height:38px;fill:none;stroke:#0f0d0a;stroke-width:1.7}.ka-underlined{text-decoration:underline;text-underline-offset:3px}.ka-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:18px 58px;background:#f5f1ea;font-size:13px}.ka-bottom nav{display:flex;align-items:center;gap:24px}.ka-bottom nav i{display:block;width:1px;height:21px;background:#c5a25b}.ka-bottom a{color:#17130f}.ka-cookie{position:fixed;z-index:99999;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,1280px);display:flex;align-items:center;gap:20px;padding:14px 42px;background:#fff;border-top:1px solid #e6ded2;box-shadow:0 -4px 18px #0000000d;font-size:14px}.ka-cookie.is-hidden{display:none}.ka-cookie-icon{font-size:30px}.ka-cookie a{color:#17130f;margin-left:auto}.ka-cookie-ok{border:0;border-radius:4px;background:var(--gold);padding:13px 26px;color:#17130f;cursor:pointer}.ka-standard-page{max-width:900px;margin:70px auto;padding:0 28px;min-height:60vh}.ka-standard-page h1{font:400 48px Georgia,serif}.ka-standard-page .entry-content{font:16px/1.7 Arial,sans-serif}
@media(max-width:1000px){.ka-hero{height:650px}.ka-copy{top:24%}.ka-copy h1{font-size:58px}.ka-copy p{font-size:18px}.ka-logo{width:260px;height:245px}.ka-tagline{font-size:25px}.ka-card>img{height:240px}.ka-card-copy h2{font-size:19px}.ka-card-copy p{font-size:14px}.ka-spa-space{height:260px}}
@media(max-width:700px){body{background:#fff}.ka-site{box-shadow:none}.ka-hero{height:auto;display:grid;grid-template-columns:1fr 1fr}.ka-leaf-shadow{width:100%;height:65%}.ka-copy,.ka-brand,.ka-portrait{position:relative;left:auto;right:auto;top:auto;width:auto;height:auto}.ka-copy{grid-column:1/-1;padding:46px 28px 18px}.ka-copy h1{font-size:48px}.ka-copy p{font-size:18px}.ka-brand{padding:0 18px 34px;min-height:300px}.ka-logo{position:relative;left:auto;top:auto;transform:none;width:190px;height:175px;margin:0 auto;display:block}.ka-tagline{position:relative;left:auto;top:auto;width:auto;font-size:23px}.ka-brand .ka-rule{position:relative;left:auto;top:auto;margin-top:20px}.ka-portrait{min-height:330px}.ka-portrait img{height:100%;min-height:330px}.ka-services-scene{padding-top:20px;background-position:center bottom}.ka-services{margin:0 28px;padding:0 10px 24px}.ka-card{flex-basis:88%}.ka-card>img{height:270px}.ka-card-copy{height:150px}.ka-prev{left:-18px}.ka-next{right:-18px}.ka-spa-space{height:220px}.ka-contact{display:block}.ka-contact>div{height:108px;border-right:0;border-bottom:1px solid rgba(255,255,255,.7)}.ka-bottom{flex-direction:column;text-align:center;padding:18px 25px}.ka-cookie{flex-wrap:wrap;padding:12px 18px}.ka-cookie a{margin-left:0}.ka-cookie-ok{margin-left:auto}}


/* v1.13.0 – coherent final composition; no stacked legacy overrides */
.ka-site{width:min(100%,1280px);margin:0 auto;overflow:hidden}
.ka-hero{
  position:relative;
  height:clamp(560px,54vw,690px);
  overflow:hidden;
  isolation:isolate;
}
.ka-copy{
  left:6.2%;
  top:24%;
  width:39%;
  z-index:5;
}
.ka-copy h1{
  font-size:clamp(42px,5.25vw,72px);
  line-height:.98;
  letter-spacing:-.035em;
  margin-bottom:clamp(18px,2vw,26px);
}
.ka-copy p{
  max-width:445px;
  font-size:clamp(15px,1.62vw,21px);
  line-height:1.46;
}
.ka-copy .ka-rule{
  width:76px;
  margin-top:26px;
}

/* Centre brand column. Logo and tagline are in separate vertical zones. */
.ka-brand{
  left:48.2%;
  top:3.5%;
  width:23%;
  height:92%;
  z-index:6;
}
.ka-logo{
  top:0;
  left:50%;
  width:min(100%,280px);
  height:255px;
  object-fit:contain;
}
.ka-tagline{
  left:7%;
  top:50%;
  width:88%;
  font-size:clamp(16px,1.65vw,21px);
  line-height:1.15;
}
.ka-tagline em{font-size:1.05em;margin:2px 0}
.ka-brand .ka-rule{
  left:7%;
  top:75%;
  width:56px;
}

/* Clean portrait asset contains the complete lily. Keep its natural proportions
   so the flower remains visible instead of being cropped away. */
.ka-portrait{
  right:0;
  top:0;
  width:34.5%;
  height:100%;
  overflow:hidden;
  z-index:4;
}
.ka-portrait img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center bottom;
  transform:none;
  -webkit-mask-image:linear-gradient(to left,black 0%,black 91%,transparent 100%);
  mask-image:linear-gradient(to left,black 0%,black 91%,transparent 100%);
}

/* Continuous spa scene starts behind the floating slider and remains visible below. */
.ka-services-scene{
  position:relative;
  z-index:2;
  margin-top:0;
  padding-top:30px;
  min-height:640px;
  background-color:#f8f4ed;
  background-image:
    linear-gradient(to bottom,rgba(255,255,255,.86) 0%,rgba(255,255,255,.68) 20%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 60%),
    var(--ka-spa-bg);
  background-size:100% 100%,cover;
  background-position:center top,center bottom;
  background-repeat:no-repeat;
  overflow:visible;
}
.ka-services{
  margin:0 48px;
  padding:16px 14px 25px;
  background:rgba(255,255,255,.91);
  border-radius:12px;
  box-shadow:0 10px 30px rgba(55,38,18,.12);
  backdrop-filter:blur(2px);
}
.ka-spa-space{height:300px}

/* Compact desktop/tablet: preserve the same composition, but prevent collisions. */
@media (max-width:1000px) and (min-width:621px){
  .ka-hero{height:clamp(540px,68vw,630px)}
  .ka-copy{left:6%;top:24%;width:40%}
  .ka-copy h1{font-size:clamp(40px,6vw,58px)}
  .ka-copy p{font-size:clamp(14px,1.85vw,18px)}
  .ka-brand{left:48%;top:3%;width:20%;height:94%}
  .ka-logo{width:min(100%,225px);height:205px}
  .ka-tagline{left:5%;top:47%;width:92%;font-size:clamp(14px,1.8vw,17px)}
  .ka-brand .ka-rule{left:5%;top:72%;width:46px}
  .ka-portrait{width:36%;height:100%}
  .ka-portrait img{object-position:center bottom}
  .ka-services{margin:0 34px;padding:12px 10px 22px}
  .ka-card>img{height:clamp(170px,24vw,240px)}
  .ka-card-copy{height:135px;padding:12px 9px}
  .ka-card-copy h2{font-size:clamp(15px,1.9vw,19px)}
  .ka-card-copy p{font-size:clamp(11px,1.35vw,14px)}
  .ka-spa-space{height:260px}
}

/* Phone layout only. */
@media (max-width:620px){
  body{background:#fff}
  .ka-site{box-shadow:none}
  .ka-hero{
    height:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
  }
  .ka-leaf-shadow{width:100%;height:65%}
  .ka-copy,.ka-brand,.ka-portrait{
    position:relative;
    left:auto;right:auto;top:auto;
    width:auto;height:auto;
  }
  .ka-copy{grid-column:1/-1;padding:42px 24px 18px}
  .ka-copy h1{font-size:46px}
  .ka-copy p{font-size:17px}
  .ka-brand{padding:0 16px 30px;min-height:285px}
  .ka-logo{
    position:relative;left:auto;top:auto;transform:none;
    width:205px;height:180px;margin:0 auto;display:block;
  }
  .ka-tagline{position:relative;left:auto;top:auto;width:auto;font-size:20px}
  .ka-brand .ka-rule{position:relative;left:auto;top:auto;margin-top:18px}
  .ka-portrait{min-height:340px}
  .ka-portrait img{
    width:100%;height:100%;min-height:340px;
    object-position:center bottom;
    transform:none;
    -webkit-mask-image:none;mask-image:none;
  }
  .ka-services-scene{padding-top:20px;min-height:auto;background-size:auto 100%;background-position:center bottom}
  .ka-services{margin:0 26px;padding:10px 10px 22px}
  .ka-card{flex-basis:88%}
  .ka-card>img{height:270px}
  .ka-card-copy{height:150px}
  .ka-card-copy h2{font-size:19px}
  .ka-card-copy p{font-size:14px}
  .ka-spa-space{height:230px}
  .ka-contact{display:block}
  .ka-contact>div{height:108px;border-right:0;border-bottom:1px solid rgba(255,255,255,.7)}
  .ka-bottom{flex-direction:column;text-align:center;padding:18px 25px}
  .ka-cookie{flex-wrap:wrap;padding:12px 18px}
  .ka-cookie a{margin-left:0}
  .ka-cookie-ok{margin-left:auto}
}


/* v1.14.0 – show more portrait + restore the full towel in the flowing spa scene */
@media (min-width:1001px){
  .ka-copy{
    left:5.5%;
    width:37%;
  }
  .ka-brand{
    left:43.5%;
    width:21.5%;
  }
  .ka-logo{
    width:min(100%,270px);
  }
  .ka-tagline{
    left:8%;
    width:88%;
  }
  .ka-portrait{
    width:40%;
  }
  .ka-portrait img{
    object-position:center bottom;
  }
}

/* Use the prepared tall spa composition rather than zooming the shallow strip.
   This keeps the towel, eucalyptus and cream jar visible while the slider floats above it. */
.ka-services-scene{
  min-height:650px;
  background-image:
    linear-gradient(to bottom,rgba(255,255,255,.76) 0%,rgba(255,255,255,.50) 19%,rgba(255,255,255,.10) 45%,rgba(255,255,255,0) 60%),
    url('assets/images/spa-flow.jpg') !important;
  background-size:100% 100%,100% 100%;
  background-position:center top,center top;
}
.ka-spa-space{
  height:315px;
}

@media (max-width:1000px) and (min-width:621px){
  .ka-copy{
    left:5.5%;
    width:38%;
  }
  .ka-brand{
    left:43.5%;
    width:20%;
  }
  .ka-portrait{
    width:41%;
  }
  .ka-services-scene{
    min-height:610px;
    background-size:100% 100%,100% 100%;
  }
  .ka-spa-space{
    height:285px;
  }
}

@media (max-width:620px){
  .ka-services-scene{
    background-size:auto 100%,auto 100%;
    background-position:center top,center top;
  }
}
\n\n/* v1.15.0 – approved visualization crop + shorter spa scene */
@media (min-width:1001px){
  .ka-copy{left:6.2%;top:24%;width:38%}
  .ka-brand{left:47.5%;top:4%;width:21%;height:92%}
  .ka-logo{width:min(100%,285px);height:250px}
  .ka-tagline{left:8%;top:49%;width:88%;font-size:clamp(16px,1.55vw,20px)}
  .ka-brand .ka-rule{left:8%;top:73%}
  .ka-portrait{right:0;top:0;width:40%;height:100%}
  .ka-portrait img{width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:none;mask-image:linear-gradient(to left,black 0%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(to left,black 0%,black 94%,transparent 100%)}
}
.ka-services-scene{
  min-height:570px;
  padding-top:28px;
  background-image:linear-gradient(to bottom,rgba(255,255,255,.82) 0%,rgba(255,255,255,.56) 20%,rgba(255,255,255,.15) 43%,rgba(255,255,255,0) 58%),url('assets/images/spa-visual-flow.jpg') !important;
  background-size:100% 100%,100% 100%;
  background-position:center top,center top;
}
.ka-services{margin:0 58px;padding:16px 14px 24px}
.ka-spa-space{height:235px}
@media (max-width:1000px) and (min-width:621px){
  .ka-brand{left:46%;width:20%}
  .ka-logo{width:min(100%,230px);height:205px}
  .ka-tagline{top:47%;font-size:clamp(14px,1.7vw,17px)}
  .ka-portrait{width:41%}
  .ka-services-scene{min-height:540px;background-size:100% 100%,100% 100%}
  .ka-services{margin:0 38px}
  .ka-spa-space{height:215px}
}
@media (max-width:620px){
 .ka-portrait img{object-position:center bottom}
 .ka-services-scene{background-image:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(255,255,255,.12) 42%,rgba(255,255,255,0) 58%),url('assets/images/spa-visual-flow.jpg') !important;background-size:auto 100%,auto 100%;background-position:center top,center top}
 .ka-spa-space{height:200px}
}

/* v1.16.0 – slider content is restricted to the actual flyer offers */
.ka-card-copy{height:165px;padding:14px 12px 16px}
.ka-card-copy h2{font-size:18px;line-height:1.08}
.ka-card-copy p{font-size:12px;line-height:1.35;max-width:95%;margin-left:auto;margin-right:auto}
@media(max-width:1000px) and (min-width:621px){.ka-card-copy{height:158px}.ka-card-copy h2{font-size:15px}.ka-card-copy p{font-size:10.5px}}
@media(max-width:620px){.ka-card-copy{height:auto;min-height:170px}.ka-card-copy p{font-size:13px}}


/* v1.17.0 – display cleanup: clean hero + image-only flyer cards */
.ka-portrait{
  width:40%;
}
.ka-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  transform:none;
  -webkit-mask-image:linear-gradient(to left,black 0%,black 92%,transparent 100%);
  mask-image:linear-gradient(to left,black 0%,black 92%,transparent 100%);
}
.ka-card>img{
  object-fit:cover;
  object-position:center center;
}
.ka-card-copy{
  height:178px;
  padding:15px 12px 18px;
}
.ka-card-copy h2{
  font-size:18px;
  line-height:1.12;
}
.ka-card-copy p{
  font-size:12.5px;
  line-height:1.38;
  max-width:96%;
}

/* On narrower desktop/tablet screens, don't squeeze four cards until text becomes unreadable. */
@media (max-width:900px) and (min-width:621px){
  .ka-services{margin-left:32px;margin-right:32px}
  .ka-card{flex-basis:calc((100% - 32px)/3)}
  .ka-card>img{height:230px}
  .ka-card-copy{height:170px}
  .ka-card-copy h2{font-size:16px}
  .ka-card-copy p{font-size:11.5px}
}

/* Small tablets: two cards, still fully readable. */
@media (max-width:720px) and (min-width:621px){
  .ka-card{flex-basis:calc((100% - 16px)/2)}
  .ka-card>img{height:245px}
  .ka-card-copy h2{font-size:18px}
  .ka-card-copy p{font-size:12.5px}
}

/* Keep logo/tagline independent and prevent any text collision. */
.ka-brand{z-index:7}
.ka-logo{z-index:2}
.ka-tagline{z-index:3}


/* v1.18.0 – Slider bereinigt + weicher Spa-Hintergrund */
.ka-services-scene{
  position:relative;
  isolation:isolate;
  background:#f8f5ef !important;
  overflow:visible;
  min-height:600px;
}

/* Das Spa-Motiv beginnt transparent/hell hinter dem Slider und wird nach unten
   kontinuierlich sichtbar. Dadurch gibt es keine harte horizontale Bildkante. */
.ka-services-scene::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-45px;
  bottom:0;
  background-image:var(--ka-spa-bg);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center bottom;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 8%,rgba(0,0,0,.45) 24%,black 46%,black 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 8%,rgba(0,0,0,.45) 24%,black 46%,black 100%);
}
.ka-services-scene::after{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  top:0;
  height:245px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(250,248,244,.76),rgba(250,248,244,.36) 45%,rgba(250,248,244,0));
}
.ka-services{
  position:relative;
  z-index:3;
  background:rgba(255,255,255,.88);
}

/* Kein goldener Balken über den Karten. */
.ka-card{
  background:#fff;
}
.ka-card::before,
.ka-card::after{
  display:none !important;
  content:none !important;
}
.ka-card>img{
  display:block;
  width:100%;
  height:255px;
  object-fit:contain;
  object-position:center;
  background:#fff;
  border:0;
  margin:0;
}

/* Unter dem Titel keine Angebots-Aufzählung mehr. */
.ka-card-copy{
  height:92px;
  min-height:92px;
  padding:17px 10px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.ka-card-copy h2{
  margin:0;
  font-size:18px;
  line-height:1.16;
}
.ka-card-copy span{
  width:34px;
  height:1px;
  margin:12px auto 0;
}
.ka-card-copy p{
  display:none !important;
}

/* Etwas mehr vom unteren Motiv sichtbar, ohne den Bereich unnötig hoch zu machen. */
.ka-spa-space{
  height:285px;
}

@media (max-width:1000px) and (min-width:621px){
  .ka-card>img{height:220px}
  .ka-card-copy{height:88px;min-height:88px;padding-top:14px}
  .ka-card-copy h2{font-size:16px}
  .ka-services-scene::before{top:-35px}
  .ka-spa-space{height:255px}
}
@media (max-width:620px){
  .ka-card>img{height:260px}
  .ka-card-copy{height:94px;min-height:94px}
  .ka-card-copy h2{font-size:18px}
  .ka-services-scene::before{
    top:-25px;
    background-size:auto 100%;
    background-position:center bottom;
  }
  .ka-spa-space{height:230px}
}


/* v1.19.0 – redesigned hero + continuous transition */
@media (min-width:621px){
  .ka-site{overflow:hidden}
  .ka-hero{
    height:650px !important;
    background:radial-gradient(circle at 34% 38%,rgba(255,255,255,.95),rgba(255,255,255,0) 42%),linear-gradient(90deg,#f6f1e8 0%,#faf7f1 55%,#f7f2ea 100%) !important;
    overflow:visible !important;
    z-index:4;
  }
  .ka-brand{
    position:absolute !important;left:5.8% !important;top:4.5% !important;
    width:230px !important;height:135px !important;z-index:8 !important;
  }
  .ka-logo{
    position:relative !important;left:auto !important;top:auto !important;transform:none !important;
    display:block !important;width:220px !important;height:130px !important;
    object-fit:contain !important;object-position:left center !important;
  }
  .ka-tagline,.ka-brand .ka-rule{display:none !important}
  .ka-copy{left:6.2% !important;top:31% !important;width:39% !important;z-index:7 !important}
  .ka-copy h1{font-size:clamp(48px,5.1vw,70px) !important;line-height:.98 !important;margin-bottom:24px !important}
  .ka-copy p{max-width:455px !important;font-size:clamp(16px,1.55vw,21px) !important;line-height:1.48 !important}
  .ka-portrait{right:0 !important;top:0 !important;width:52% !important;height:650px !important;overflow:visible !important;z-index:5 !important}
  .ka-portrait img{
    width:100% !important;height:100% !important;object-fit:cover !important;object-position:52% center !important;transform:none !important;
    -webkit-mask-image:linear-gradient(to left,black 0%,black 84%,rgba(0,0,0,.76) 91%,transparent 100%) !important;
    mask-image:linear-gradient(to left,black 0%,black 84%,rgba(0,0,0,.76) 91%,transparent 100%) !important;
  }
  .ka-services-scene{
    margin-top:-72px !important;padding-top:116px !important;min-height:570px !important;
    background:#f8f4ed !important;position:relative !important;z-index:3 !important;overflow:visible !important;
  }
  .ka-services-scene::before{
    content:"" !important;display:block !important;position:absolute !important;z-index:0 !important;
    left:0 !important;right:0 !important;top:0 !important;bottom:0 !important;
    background-image:var(--ka-spa-bg) !important;background-repeat:no-repeat !important;
    background-size:cover !important;background-position:center bottom !important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.05) 10%,rgba(0,0,0,.22) 22%,rgba(0,0,0,.58) 40%,black 61%,black 100%) !important;
    mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.05) 10%,rgba(0,0,0,.22) 22%,rgba(0,0,0,.58) 40%,black 61%,black 100%) !important;
  }
  .ka-services-scene::after{
    content:"" !important;display:block !important;position:absolute !important;z-index:1 !important;
    left:0 !important;right:0 !important;top:0 !important;height:285px !important;
    background:linear-gradient(to bottom,#f8f4ed 0%,rgba(248,244,237,.92) 16%,rgba(248,244,237,.55) 44%,rgba(248,244,237,0) 100%) !important;
    pointer-events:none !important;
  }
  .ka-services{z-index:4 !important;margin:0 48px !important;background:rgba(255,255,255,.86) !important;box-shadow:0 12px 34px rgba(55,38,18,.11) !important}
  .ka-spa-space{height:230px !important}
}
@media (max-width:620px){
  .ka-hero{display:block !important;height:auto !important;overflow:hidden !important}
  .ka-brand{position:relative !important;left:auto !important;top:auto !important;width:auto !important;height:auto !important;padding:24px 24px 0 !important}
  .ka-logo{position:relative !important;left:auto !important;top:auto !important;transform:none !important;width:180px !important;height:110px !important;margin:0 !important;object-position:left center !important}
  .ka-tagline,.ka-brand .ka-rule{display:none !important}
  .ka-copy{position:relative !important;left:auto !important;top:auto !important;width:auto !important;padding:20px 24px 30px !important}
  .ka-portrait{position:relative !important;width:100% !important;height:420px !important;min-height:0 !important}
  .ka-portrait img{height:100% !important;min-height:0 !important;object-fit:cover !important;object-position:center center !important;-webkit-mask-image:none !important;mask-image:none !important}
  .ka-services-scene{margin-top:-35px !important;padding-top:72px !important}
}


/* v1.20.0 – proportions + softer background transition */
@media (min-width:621px){

  /* Logo clearly larger, while keeping it in the upper-left corner. */
  .ka-brand{
    left:6.1% !important;
    top:4.8% !important;
    width:310px !important;
    height:175px !important;
  }
  .ka-logo{
    width:300px !important;
    height:170px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  /* Move the welcome block down enough to preserve breathing room below the larger logo. */
  .ka-copy{
    left:6.2% !important;
    top:34.5% !important;
    width:40% !important;
  }

  /* Portrait slightly smaller: more of the woman is visible instead of an extreme close-up. */
  .ka-portrait{
    width:47% !important;
    height:650px !important;
  }
  .ka-portrait img{
    object-fit:cover !important;
    object-position:46% center !important;
  }

  /* The spa image is intentionally oversized horizontally and softly feathered on all
     upper edges. This removes the visible hard transition beside the slider. */
  .ka-services-scene::before{
    left:-5% !important;
    right:-5% !important;
    top:-18px !important;
    bottom:-2px !important;
    background-size:110% auto !important;
    background-position:center bottom !important;
    filter:blur(1.5px) !important;
    transform:scale(1.015) !important;
    transform-origin:center bottom !important;
    -webkit-mask-image:
      linear-gradient(to bottom,
        transparent 0%,
        rgba(0,0,0,.02) 8%,
        rgba(0,0,0,.10) 18%,
        rgba(0,0,0,.28) 30%,
        rgba(0,0,0,.62) 45%,
        black 63%,
        black 100%) !important;
    mask-image:
      linear-gradient(to bottom,
        transparent 0%,
        rgba(0,0,0,.02) 8%,
        rgba(0,0,0,.10) 18%,
        rgba(0,0,0,.28) 30%,
        rgba(0,0,0,.62) 45%,
        black 63%,
        black 100%) !important;
  }

  /* Wider, softer veil over the complete slider zone instead of a short rectangular fade. */
  .ka-services-scene::after{
    top:-30px !important;
    height:350px !important;
    background:
      linear-gradient(to bottom,
        #f8f4ed 0%,
        rgba(248,244,237,.96) 13%,
        rgba(248,244,237,.80) 29%,
        rgba(248,244,237,.48) 48%,
        rgba(248,244,237,.18) 68%,
        rgba(248,244,237,0) 100%) !important;
  }

  .ka-services{
    background:rgba(255,255,255,.84) !important;
  }
}

@media (max-width:1000px) and (min-width:621px){
  .ka-brand{
    width:250px !important;
    height:150px !important;
  }
  .ka-logo{
    width:240px !important;
    height:145px !important;
  }
  .ka-copy{
    top:35% !important;
  }
  .ka-portrait{
    width:48% !important;
  }
}

@media (max-width:620px){
  .ka-logo{
    width:220px !important;
    height:130px !important;
  }
  .ka-portrait{
    height:380px !important;
  }
  .ka-portrait img{
    object-position:46% center !important;
  }
}


/* v1.21.0 – flyer hero + larger logo + slimmer area BELOW slider */
@media (min-width:621px){
  /* Logo nochmals grösser. */
  .ka-brand{
    left:6.0% !important;
    top:4.0% !important;
    width:350px !important;
    height:195px !important;
  }
  .ka-logo{
    width:340px !important;
    height:190px !important;
  }

  /* Text klar unter das grössere Logo verschieben. */
  .ka-copy{
    left:6.2% !important;
    top:38.5% !important;
    width:40% !important;
  }

  /* Hero rechts: Bild aus dem Flyer statt Frau/Lilie. */
  .ka-portrait{
    width:49% !important;
    height:650px !important;
    overflow:hidden !important;
  }
  .ka-portrait img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:48% 48% !important;
    transform:none !important;
    -webkit-mask-image:linear-gradient(to left,black 0%,black 84%,rgba(0,0,0,.72) 92%,transparent 100%) !important;
    mask-image:linear-gradient(to left,black 0%,black 84%,rgba(0,0,0,.72) 92%,transparent 100%) !important;
  }

  /* Wichtig: NUR der Bereich UNTER dem Slider wird schmaler.
     Sliderposition und Kartenhöhe bleiben unverändert. */
  .ka-services-scene{
    min-height:455px !important;
  }
  .ka-spa-space{
    height:125px !important;
  }

  /* Das Spa-Bild wird nach oben hinter den Slider gezogen und weich eingeblendet,
     damit rechts/seitlich keine harte Bildkante sichtbar bleibt. */
  .ka-services-scene::before{
    top:-70px !important;
    left:-8% !important;
    right:-8% !important;
    bottom:0 !important;
    background-size:116% auto !important;
    background-position:center bottom !important;
    filter:blur(1px) !important;
    -webkit-mask-image:linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.04) 10%,
      rgba(0,0,0,.18) 23%,
      rgba(0,0,0,.48) 38%,
      rgba(0,0,0,.82) 53%,
      black 67%,
      black 100%) !important;
    mask-image:linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.04) 10%,
      rgba(0,0,0,.18) 23%,
      rgba(0,0,0,.48) 38%,
      rgba(0,0,0,.82) 53%,
      black 67%,
      black 100%) !important;
  }
  .ka-services-scene::after{
    top:-55px !important;
    height:315px !important;
    background:linear-gradient(to bottom,
      #f8f4ed 0%,
      rgba(248,244,237,.94) 18%,
      rgba(248,244,237,.70) 38%,
      rgba(248,244,237,.34) 59%,
      rgba(248,244,237,0) 100%) !important;
  }
}

@media (max-width:1000px) and (min-width:621px){
  .ka-brand{width:285px !important;height:165px !important}
  .ka-logo{width:275px !important;height:160px !important}
  .ka-copy{top:39% !important}
  .ka-spa-space{height:110px !important}
}

@media (max-width:620px){
  .ka-logo{width:245px !important;height:145px !important}
  .ka-copy{padding-top:28px !important}
  .ka-portrait{height:340px !important}
  .ka-portrait img{object-position:center center !important}
  .ka-spa-space{height:100px !important}
}


/* v1.22.0 – hero image without painted background + contact links without underline */
@media (min-width:621px){
  /* Hero flyer image floats on the cream hero instead of reading as a rectangular background panel. */
  .ka-portrait{
    background:transparent !important;
  }
  .ka-portrait img{
    object-fit:contain !important;
    object-position:center bottom !important;
    background:transparent !important;
    -webkit-mask-image:
      linear-gradient(to left,black 0%,black 82%,rgba(0,0,0,.62) 91%,transparent 100%) !important;
    mask-image:
      linear-gradient(to left,black 0%,black 82%,rgba(0,0,0,.62) 91%,transparent 100%) !important;
  }
}
/* Remove underline only from phone and e-mail/contact links. */
.ka-contact a,
.ka-contact a:link,
.ka-contact a:visited,
.ka-contact a:hover,
.ka-contact a:focus{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}


/* v1.23.0 – corrected images */
@media (min-width:621px){
  /* The source photo itself has a light background. Blend its left edge into the
     cream hero so no rectangular image panel is visible. */
  .ka-portrait{
    width:47% !important;
    background:transparent !important;
    overflow:hidden !important;
  }
  .ka-portrait img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:48% center !important;
    background:transparent !important;
    -webkit-mask-image:linear-gradient(to left,
      black 0%,black 78%,rgba(0,0,0,.92) 84%,
      rgba(0,0,0,.58) 91%,transparent 100%) !important;
    mask-image:linear-gradient(to left,
      black 0%,black 78%,rgba(0,0,0,.92) 84%,
      rgba(0,0,0,.58) 91%,transparent 100%) !important;
  }
}

/* Keep card images clean and fully visible. */
.ka-card>img{
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
}

/* Phone and e-mail remain without underline. */
.ka-contact a,
.ka-contact a:link,
.ka-contact a:visited,
.ka-contact a:hover,
.ka-contact a:focus{
  text-decoration:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
}

/* v1.24.0 – right-edge face + corrected service imagery */
@media (min-width:621px){
 .ka-portrait{width:49% !important;background:transparent !important;overflow:hidden !important}
 .ka-portrait img{
   width:100% !important;height:100% !important;object-fit:cover !important;
   object-position:right center !important;background:transparent !important;
   -webkit-mask-image:linear-gradient(to left,black 0%,black 76%,rgba(0,0,0,.88) 84%,rgba(0,0,0,.42) 93%,transparent 100%) !important;
   mask-image:linear-gradient(to left,black 0%,black 76%,rgba(0,0,0,.88) 84%,rgba(0,0,0,.42) 93%,transparent 100%) !important;
 }
}
.ka-card>img{object-fit:cover !important;object-position:center !important;background:#fff !important}


/* =========================================================
   v1.25.0 – Slider controls, footer lines, mobile refinement
   ========================================================= */

/* Gold slider buttons: arrow optically centered in circle */
.ka-arrow,
.ka-prev,
.ka-next,
button.ka-arrow,
button.ka-prev,
button.ka-next{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
}
.ka-arrow svg,
.ka-prev svg,
.ka-next svg{
  display:block !important;
  margin:auto !important;
  transform:none !important;
}
.ka-arrow::before,
.ka-prev::before,
.ka-next::before{
  line-height:1 !important;
  margin:0 !important;
  position:static !important;
}

/* Desktop footer/contact separators black */
.ka-contact > * + *{
  border-left-color:#111 !important;
}
.ka-contact{
  --ka-contact-divider:#111;
}

/* Remove underlines from contact links */
.ka-contact a,
.ka-contact a:link,
.ka-contact a:visited,
.ka-contact a:hover,
.ka-contact a:focus{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* MOBILE */
@media (max-width:620px){

  /* Logo centered */
  .ka-brand{
    padding:18px 20px 0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .ka-logo{
    width:235px !important;
    height:132px !important;
    margin:0 auto !important;
    object-position:center center !important;
  }

  /* Less gap between logo and heading/copy */
  .ka-copy{
    padding:6px 24px 25px !important;
    text-align:left !important;
  }
  .ka-copy h1{
    margin-top:0 !important;
  }

  /* Slider: exactly one centered card */
  .ka-services{
    margin-left:16px !important;
    margin-right:16px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important;
  }
  .ka-track,
  .ka-slider-track{
    display:flex !important;
    align-items:stretch !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-inline:calc((100% - min(82vw, 330px))/2) !important;
  }
  .ka-card{
    flex:0 0 min(82vw,330px) !important;
    width:min(82vw,330px) !important;
    max-width:min(82vw,330px) !important;
    scroll-snap-align:center !important;
    scroll-snap-stop:always !important;
  }
  .ka-card > img{
    width:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  /* Keep arrows centered in gold circles on mobile too */
  .ka-arrow,
  .ka-prev,
  .ka-next{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
  }

  /* Footer: no white separator lines between texts */
  .ka-contact{
    display:block !important;
  }
  .ka-contact > *{
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
  }
  .ka-contact > * + *{
    border-left:0 !important;
    border-top:0 !important;
  }
}


/* =========================================================
   v1.26.0 – hard fixes requested after v1.25
   ========================================================= */

/* DESKTOP: contact separators must be BLACK, regardless of older rules */
@media (min-width:621px){
  .ka-contact{
    border-color:#111 !important;
  }
  .ka-contact > *{
    border-color:#111 !important;
  }
  .ka-contact > * + *{
    border-left:1px solid #111 !important;
  }
}

/* SLIDER ARROWS: center the actual glyph, not only the button box */
.ka-arrow,
.ka-prev,
.ka-next,
button.ka-arrow,
button.ka-prev,
button.ka-next{
  box-sizing:border-box !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  text-align:center !important;
  line-height:0 !important;
  font-size:0 !important;
}
.ka-arrow::before,
.ka-prev::before,
.ka-next::before{
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  font-size:26px !important;
  transform:translateY(-1px) !important;
}
.ka-prev::before{content:"‹" !important;}
.ka-next::before{content:"›" !important;}
.ka-arrow svg,
.ka-prev svg,
.ka-next svg{
  position:static !important;
  display:block !important;
  margin:0 auto !important;
  width:18px !important;
  height:18px !important;
}

/* MOBILE: viewport clips neighbouring cards completely.
   Exactly ONE card is visible and centered. */
@media (max-width:620px){
  .ka-services{
    margin-left:18px !important;
    margin-right:18px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
  }

  .ka-slider,
  .ka-slider-viewport,
  .ka-track-wrap{
    overflow:hidden !important;
    width:100% !important;
    max-width:100% !important;
  }

  .ka-track,
  .ka-slider-track{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    gap:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth !important;
    scrollbar-width:none !important;
  }
  .ka-track::-webkit-scrollbar,
  .ka-slider-track::-webkit-scrollbar{
    display:none !important;
  }

  .ka-card{
    box-sizing:border-box !important;
    flex:0 0 100% !important;
    min-width:100% !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    scroll-snap-align:center !important;
    scroll-snap-stop:always !important;
  }

  /* Footer on mobile: no separators */
  .ka-contact > *,
  .ka-contact > * + *{
    border:0 !important;
  }
}

/* Address icon: enforce visible map-pin even if prior icon markup/CSS failed */
.ka-contact-address::before,
.ka-address::before{
  content:"⌖" !important;
  display:block !important;
  font-family:Arial,sans-serif !important;
  font-size:27px !important;
  line-height:1 !important;
  margin:0 auto 8px !important;
  color:#111 !important;
  text-align:center !important;
}

/* Contact links remain clean */
.ka-contact a,
.ka-contact a:link,
.ka-contact a:visited,
.ka-contact a:hover,
.ka-contact a:focus{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   v1.27.0 – footer + slider control/mobile fixes
   ========================================================= */

/* Desktop footer separators: finer black lines */
@media (min-width:621px){
  .ka-contact > * + *{
    border-left:0.6px solid rgba(0,0,0,.72) !important;
  }
}

/* Address pin: draw it ourselves so it cannot disappear because of icon fonts */
.ka-contact-address::before,
.ka-address::before{
  content:"" !important;
  display:block !important;
  width:18px !important;
  height:18px !important;
  margin:0 auto 9px !important;
  border:2px solid #111 !important;
  border-radius:50% 50% 50% 0 !important;
  transform:rotate(-45deg) !important;
  box-sizing:border-box !important;
  background:transparent !important;
}
.ka-contact-address::after,
.ka-address::after{
  content:"" !important;
  position:absolute !important;
  width:5px !important;
  height:5px !important;
  border-radius:50% !important;
  background:#111 !important;
  top:6px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}
.ka-contact-address,
.ka-address{
  position:relative !important;
}

/* Slider controls: return controls to true vertical center */
.ka-services{
  position:relative !important;
}
.ka-prev,
.ka-next,
.ka-arrow{
  top:50% !important;
  margin-top:0 !important;
}
.ka-prev,
.ka-next{
  transform:translateY(-50%) !important;
}
.ka-prev::before,
.ka-next::before{
  transform:translateY(-1px) !important;
}

/* Mobile: narrower slider, one card only, arrows fully visible */
@media (max-width:620px){
  .ka-services{
    width:calc(100% - 48px) !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:10px 22px 18px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  /* Only this inner viewport clips cards; buttons remain visible outside it. */
  .ka-slider,
  .ka-slider-viewport,
  .ka-track-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .ka-track,
  .ka-slider-track{
    width:100% !important;
    max-width:100% !important;
    gap:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .ka-track::-webkit-scrollbar,
  .ka-slider-track::-webkit-scrollbar{display:none !important}

  .ka-card{
    flex:0 0 100% !important;
    min-width:100% !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }

  .ka-prev,
  .ka-next,
  .ka-arrow{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    z-index:30 !important;
    opacity:1 !important;
    visibility:visible !important;
    top:50% !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
  }
  .ka-prev{left:-19px !important;transform:translateY(-50%) !important}
  .ka-next{right:-19px !important;transform:translateY(-50%) !important}
  .ka-prev::before,
  .ka-next::before{
    font-size:24px !important;
    line-height:1 !important;
    transform:translateY(-1px) !important;
  }

  /* No footer separators on mobile */
  .ka-contact > *,
  .ka-contact > * + *{
    border:0 !important;
  }
}

/* v1.28.0 precise fixes */
@media(min-width:621px){.ka-contact>div{border-right:.5px solid rgba(0,0,0,.38)!important}.ka-contact>div:last-child{border-right:0!important}.ka-contact>div+div{border-left:0!important}}
.ka-contact-address::before,.ka-contact-address::after,.ka-address::before,.ka-address::after{content:none!important;display:none!important}
.ka-address-link svg{display:block!important;visibility:visible!important;opacity:1!important;width:34px!important;height:34px!important;stroke:#111!important;stroke-width:1.7!important;fill:none!important;margin:0 auto 5px!important}
.ka-arrow{font-size:0!important;line-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.ka-arrow::before{content:""!important;display:block!important;width:9px!important;height:9px!important;border-top:2px solid #fff!important;border-right:2px solid #fff!important;margin:0!important;position:static!important}
.ka-prev::before{transform:translateX(2px) rotate(-135deg)!important}.ka-next::before{transform:translateX(-2px) rotate(45deg)!important}
.ka-spa-space{height:250px!important}
@media(max-width:620px){
.ka-services-scene{padding-left:0!important;padding-right:0!important;background-position:center bottom!important}
.ka-services{width:calc(100% - 64px)!important;max-width:360px!important;margin-left:auto!important;margin-right:auto!important;padding:10px 14px 16px!important;box-sizing:border-box!important;overflow:visible!important}
.ka-track{display:flex!important;width:100%!important;max-width:100%!important;gap:0!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding:0!important;scrollbar-width:none!important}.ka-track::-webkit-scrollbar{display:none!important}
.ka-card{flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;margin:0!important;scroll-snap-align:start!important}
.ka-arrow{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;top:50%!important;opacity:1!important;visibility:visible!important;z-index:50!important}.ka-prev{left:-20px!important;transform:translateY(-50%)!important}.ka-next{right:-20px!important;transform:translateY(-50%)!important}
.ka-spa-space{height:165px!important}.ka-address-link svg{display:block!important;visibility:visible!important;opacity:1!important;width:31px!important;height:31px!important;margin:0 auto 5px!important}.ka-contact>div,.ka-contact>div+div{border:0!important}}

/* =========================================================
   v1.29.0 – continuous spa background + exact arrow centering
   ========================================================= */

/* One continuous spa image behind the complete slider zone.
   Remove the second overlay that caused the visible horizontal "step". */
.ka-services-scene{
  background:#f8f4ed !important;
  overflow:hidden !important;
}
.ka-services-scene::before{
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  transform:none !important;
  filter:none !important;
  background-image:var(--ka-spa-bg) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center bottom !important;
  -webkit-mask-image:linear-gradient(to bottom,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.20) 10%,
    rgba(0,0,0,.42) 22%,
    rgba(0,0,0,.70) 36%,
    rgba(0,0,0,.92) 50%,
    #000 62%,
    #000 100%) !important;
  mask-image:linear-gradient(to bottom,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.20) 10%,
    rgba(0,0,0,.42) 22%,
    rgba(0,0,0,.70) 36%,
    rgba(0,0,0,.92) 50%,
    #000 62%,
    #000 100%) !important;
}
.ka-services-scene::after{display:none !important;content:none !important}

/* The area below the slider is deliberately smaller. */
.ka-spa-space{height:82px !important}

/* Exact center: place chevron by its own bounding box at 50/50. */
.ka-arrow{
  position:absolute !important;
  display:block !important;
  padding:0 !important;
  font-size:0 !important;
  line-height:0 !important;
}
.ka-arrow::before{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  width:8px !important;
  height:8px !important;
  left:50% !important;
  top:50% !important;
  margin:0 !important;
  border-top:2px solid #fff !important;
  border-right:2px solid #fff !important;
  transform-origin:50% 50% !important;
}
.ka-prev::before{transform:translate(-38%,-50%) rotate(-135deg) !important}
.ka-next::before{transform:translate(-62%,-50%) rotate(45deg) !important}

@media(max-width:620px){
  /* Keep the same continuous background on mobile; no image ending halfway
     through the slider. */
  .ka-services-scene{
    margin-top:-28px !important;
    padding-top:54px !important;
    background:#f8f4ed !important;
    overflow:hidden !important;
  }
  .ka-services-scene::before{
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;
    background-size:auto 100% !important;
    background-position:center bottom !important;
    -webkit-mask-image:linear-gradient(to bottom,
      rgba(0,0,0,.12) 0%,
      rgba(0,0,0,.30) 12%,
      rgba(0,0,0,.58) 27%,
      rgba(0,0,0,.84) 42%,
      #000 57%,
      #000 100%) !important;
    mask-image:linear-gradient(to bottom,
      rgba(0,0,0,.12) 0%,
      rgba(0,0,0,.30) 12%,
      rgba(0,0,0,.58) 27%,
      rgba(0,0,0,.84) 42%,
      #000 57%,
      #000 100%) !important;
  }

  .ka-services{
    width:calc(100% - 76px) !important;
    max-width:340px !important;
    margin:0 auto !important;
    padding:10px 12px 14px !important;
  }
  .ka-spa-space{height:62px !important}

  .ka-arrow{
    width:40px !important;
    height:40px !important;
    top:50% !important;
  }
  .ka-prev{left:-20px !important;transform:translateY(-50%) !important}
  .ka-next{right:-20px !important;transform:translateY(-50%) !important}
}

/* v1.30.0 – remove background seam completely + robust mobile location pin */
.ka-services-scene{
  background:#f8f4ed !important;
  isolation:isolate !important;
}
.ka-services-scene::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:0 !important;
  inset:0 !important;
  background-image:var(--ka-spa-bg) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center bottom !important;
  filter:none !important;
  opacity:1 !important;
  /* fully transparent at the top: no horizontal start edge */
  -webkit-mask-image:linear-gradient(to bottom,
    transparent 0%,
    transparent 13%,
    rgba(0,0,0,.10) 21%,
    rgba(0,0,0,.32) 31%,
    rgba(0,0,0,.62) 43%,
    rgba(0,0,0,.88) 54%,
    #000 64%,
    #000 100%) !important;
  mask-image:linear-gradient(to bottom,
    transparent 0%,
    transparent 13%,
    rgba(0,0,0,.10) 21%,
    rgba(0,0,0,.32) 31%,
    rgba(0,0,0,.62) 43%,
    rgba(0,0,0,.88) 54%,
    #000 64%,
    #000 100%) !important;
}
.ka-services-scene::after{content:none !important;display:none !important}
.ka-services,.ka-spa-space{position:relative !important;z-index:2 !important}

/* Less image space below slider. */
.ka-spa-space{height:52px !important}

/* Mobile address pin independent of inline SVG rendering. */
@media(max-width:620px){
  .ka-services-scene{
    margin-top:0 !important;
    padding-top:24px !important;
    overflow:hidden !important;
  }
  .ka-services-scene::before{
    inset:0 !important;
    background-size:cover !important;
    background-position:center bottom !important;
    -webkit-mask-image:linear-gradient(to bottom,
      transparent 0%,
      transparent 10%,
      rgba(0,0,0,.08) 18%,
      rgba(0,0,0,.28) 29%,
      rgba(0,0,0,.58) 42%,
      rgba(0,0,0,.86) 54%,
      #000 65%,
      #000 100%) !important;
    mask-image:linear-gradient(to bottom,
      transparent 0%,
      transparent 10%,
      rgba(0,0,0,.08) 18%,
      rgba(0,0,0,.28) 29%,
      rgba(0,0,0,.58) 42%,
      rgba(0,0,0,.86) 54%,
      #000 65%,
      #000 100%) !important;
  }
  .ka-spa-space{height:42px !important}

  /* Hide potentially unreliable inline pin only, replace with CSS-drawn pin. */
  .ka-address-link>svg{display:none !important}
  .ka-address-link::before{
    content:"" !important;
    display:block !important;
    width:22px !important;
    height:22px !important;
    flex:0 0 22px !important;
    margin:0 auto 5px !important;
    background:
      radial-gradient(circle at 50% 42%, transparent 0 2px, #111 2.3px 3.8px, transparent 4.1px),
      linear-gradient(45deg, transparent 48%, #111 49% 53%, transparent 54%) bottom 2px center/9px 9px no-repeat !important;
    border:2px solid #111 !important;
    border-radius:50% 50% 50% 0 !important;
    transform:rotate(-45deg) !important;
    box-sizing:border-box !important;
  }
  .ka-address-link>span{margin-top:2px !important}
}

/* =========================================================
   v1.31.0 – seam-free scene, tighter mobile, undistorted pin
   ========================================================= */

/* Important: do NOT start the spa photo at a separate horizontal line.
   The photo fills the WHOLE scene; a cream overlay fades away vertically. */
.ka-services-scene{
  position:relative !important;
  overflow:hidden !important;
  background:#f8f4ed !important;
  isolation:isolate !important;
}
.ka-services-scene::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:-2px !important;
  z-index:0 !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  background-image:
    linear-gradient(to bottom,
      rgba(248,244,237,.98) 0%,
      rgba(248,244,237,.94) 9%,
      rgba(248,244,237,.78) 20%,
      rgba(248,244,237,.52) 31%,
      rgba(248,244,237,.24) 42%,
      rgba(248,244,237,.07) 52%,
      rgba(248,244,237,0) 60%),
    var(--ka-spa-bg) !important;
  background-repeat:no-repeat,no-repeat !important;
  background-size:100% 100%,cover !important;
  background-position:center,center bottom !important;
}
.ka-services-scene::after{display:none !important;content:none !important}
.ka-services,.ka-spa-space{position:relative !important;z-index:2 !important}

/* Much less empty image below the cards. */
.ka-spa-space{height:34px !important}

/* Use the original SVG pin again – fixed dimensions, no transforms. */
.ka-address-link::before,.ka-address-link::after{
  content:none !important;
  display:none !important;
}
.ka-address-link>svg{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  max-width:30px !important;
  max-height:30px !important;
  margin:0 auto 5px !important;
  padding:0 !important;
  transform:none !important;
  aspect-ratio:1/1 !important;
  overflow:visible !important;
  stroke:#111 !important;
  stroke-width:1.7 !important;
  fill:none !important;
}

@media(max-width:620px){
  .ka-services-scene{
    margin-top:0 !important;
    padding-top:16px !important;
  }
  .ka-services-scene::before{
    inset:-2px !important;
    background-image:
      linear-gradient(to bottom,
        rgba(248,244,237,.98) 0%,
        rgba(248,244,237,.91) 8%,
        rgba(248,244,237,.70) 18%,
        rgba(248,244,237,.42) 29%,
        rgba(248,244,237,.17) 39%,
        rgba(248,244,237,0) 49%),
      var(--ka-spa-bg) !important;
    background-size:100% 100%,cover !important;
    background-position:center,center bottom !important;
  }

  /* only a very narrow strip of the spa image below slider */
  .ka-spa-space{height:12px !important}

  .ka-address-link::before,.ka-address-link::after{
    content:none !important;
    display:none !important;
  }
  .ka-address-link>svg{
    display:block !important;
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    min-height:27px !important;
    max-width:27px !important;
    max-height:27px !important;
    margin:0 auto 4px !important;
    transform:none !important;
    aspect-ratio:1/1 !important;
  }
}

/* =========================================================
   v1.32.0 – uniform slider image format
   ========================================================= */

/* Every service image gets exactly the same visible frame. */
.ka-card img{
  display:block !important;
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* Remove any decorative gold line attached to/below the photo itself. */
.ka-card .ka-card-image,
.ka-card figure{
  position:relative !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.ka-card .ka-card-image::before,
.ka-card .ka-card-image::after,
.ka-card figure::before,
.ka-card figure::after{
  content:none !important;
  display:none !important;
  border:0 !important;
}

/* Remove stray gold borders/underlines at the bottom-left edge of images. */
.ka-card img,
.ka-card picture,
.ka-card .ka-card-image{
  border-bottom:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

/* Keep cards themselves equal height and width. */
.ka-card{
  overflow:hidden !important;
}
.ka-card > *{
  box-sizing:border-box !important;
}

@media(max-width:900px){
  .ka-card img{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
}

@media(max-width:620px){
  .ka-card img{
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

/* =========================================================
   v1.33.0 – actual slider DOM selectors + seamless spa scene
   ========================================================= */

/* The previous rules did not catch every image wrapper.
   Normalize every direct media area in every service card. */
.ka-track .ka-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  overflow:hidden !important;
}
.ka-track .ka-card > img,
.ka-track .ka-card > a > img,
.ka-track .ka-card picture,
.ka-track .ka-card picture img,
.ka-track .ka-card figure,
.ka-track .ka-card figure img{
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  aspect-ratio:auto !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Kill ALL old gold fragments attached to the media area.
   The intentional small line under the TITLE remains untouched. */
.ka-track .ka-card > img,
.ka-track .ka-card > a,
.ka-track .ka-card > a > img,
.ka-track .ka-card picture,
.ka-track .ka-card figure{
  border-top:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-left:0 !important;
  text-decoration:none !important;
}
.ka-track .ka-card > a::before,
.ka-track .ka-card > a::after,
.ka-track .ka-card picture::before,
.ka-track .ka-card picture::after,
.ka-track .ka-card figure::before,
.ka-track .ka-card figure::after{
  content:none !important;
  display:none !important;
}

/* Some old theme rule draws a line via first child pseudo element. */
.ka-track .ka-card > :first-child::before,
.ka-track .ka-card > :first-child::after{
  content:none !important;
  display:none !important;
}

/* No separate/fading second image layer: use one single spa photo on
   the entire scene, then fade a cream overlay OUT. This removes the seam. */
.ka-services-scene{
  position:relative !important;
  background-image:var(--ka-spa-bg) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center bottom !important;
  overflow:hidden !important;
}
.ka-services-scene::before{
  content:"" !important;
  position:absolute !important;
  inset:-2px !important;
  display:block !important;
  z-index:0 !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  background:linear-gradient(to bottom,
    #f8f4ed 0%,
    rgba(248,244,237,.98) 8%,
    rgba(248,244,237,.91) 17%,
    rgba(248,244,237,.74) 27%,
    rgba(248,244,237,.49) 38%,
    rgba(248,244,237,.24) 48%,
    rgba(248,244,237,.08) 57%,
    rgba(248,244,237,0) 65%) !important;
}
.ka-services-scene::after{content:none !important;display:none !important}
.ka-services,.ka-spa-space{position:relative !important;z-index:2 !important}
.ka-spa-space{height:24px !important}

@media(max-width:900px){
  .ka-track .ka-card > img,
  .ka-track .ka-card > a > img,
  .ka-track .ka-card picture,
  .ka-track .ka-card picture img,
  .ka-track .ka-card figure,
  .ka-track .ka-card figure img{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
}

@media(max-width:620px){
  .ka-services-scene{
    background-image:var(--ka-spa-bg) !important;
    background-size:cover !important;
    background-position:center bottom !important;
    padding-top:12px !important;
  }
  .ka-services-scene::before{
    inset:-2px !important;
    background:linear-gradient(to bottom,
      #f8f4ed 0%,
      rgba(248,244,237,.95) 9%,
      rgba(248,244,237,.78) 20%,
      rgba(248,244,237,.52) 31%,
      rgba(248,244,237,.26) 41%,
      rgba(248,244,237,.08) 50%,
      rgba(248,244,237,0) 58%) !important;
  }
  .ka-track .ka-card > img,
  .ka-track .ka-card > a > img,
  .ka-track .ka-card picture,
  .ka-track .ka-card picture img,
  .ka-track .ka-card figure,
  .ka-track .ka-card figure img{
    width:100% !important;
    height:240px !important;
    min-height:240px !important;
    max-height:240px !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .ka-spa-space{height:6px !important}
}

/* v1.34.0 – source images normalized + truly hidden scene boundary */
.ka-track .ka-card{
  flex:0 0 calc((100% - 48px)/4) !important;
}
.ka-track .ka-card>img{
  display:block !important;
  width:100% !important;
  aspect-ratio:18/13 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  border:0 !important;
  outline:0 !important;
}

/* The scene starts in exactly the hero cream. The spa photo is completely
   concealed at the section boundary, then fades in lower down behind the slider. */
.ka-services-scene{
  background:#f8f4ed !important;
  position:relative !important;
  overflow:hidden !important;
}
.ka-services-scene::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:
    linear-gradient(to bottom,
      #f8f4ed 0%,
      #f8f4ed 28%,
      rgba(248,244,237,.96) 34%,
      rgba(248,244,237,.78) 43%,
      rgba(248,244,237,.48) 53%,
      rgba(248,244,237,.18) 62%,
      rgba(248,244,237,0) 70%),
    var(--ka-spa-bg) !important;
  background-size:100% 100%,cover !important;
  background-position:center,center bottom !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.ka-services-scene::after{display:none !important;content:none !important}
.ka-services,.ka-spa-space{position:relative !important;z-index:2 !important}
.ka-spa-space{height:18px !important}

@media(max-width:900px) and (min-width:621px){
 .ka-track .ka-card>img{aspect-ratio:18/13 !important;height:auto !important}
}
@media(max-width:620px){
 .ka-track .ka-card{flex:0 0 100% !important;width:100% !important;min-width:100% !important}
 .ka-track .ka-card>img{
   width:100% !important;
   aspect-ratio:18/13 !important;
   height:auto !important;
   min-height:0 !important;
   max-height:none !important;
 }
 .ka-services-scene::before{
   background-image:
     linear-gradient(to bottom,
       #f8f4ed 0%,
       #f8f4ed 24%,
       rgba(248,244,237,.95) 31%,
       rgba(248,244,237,.74) 42%,
       rgba(248,244,237,.42) 53%,
       rgba(248,244,237,.13) 63%,
       rgba(248,244,237,0) 71%),
     var(--ka-spa-bg) !important;
   background-size:100% 100%,cover !important;
   background-position:center,center bottom !important;
 }
 .ka-spa-space{height:4px !important}
}

/* =========================================================
   v1.35.0 – force corrected bundled slider media
   ========================================================= */
.ka-card-media{
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  overflow:hidden !important;
  flex:0 0 250px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:#fff !important;
}
.ka-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.ka-card-media::before,.ka-card-media::after,
.ka-card-media img::before,.ka-card-media img::after{
  content:none !important;
  display:none !important;
}

/* Desktop needs a little more spa image visible below the slider. */
.ka-spa-space{height:72px !important}

@media(max-width:900px) and (min-width:621px){
 .ka-card-media{
   height:230px !important;
   min-height:230px !important;
   max-height:230px !important;
   flex-basis:230px !important;
 }
 .ka-spa-space{height:48px !important}
}

@media(max-width:620px){
 .ka-card-media{
   width:100% !important;
   height:230px !important;
   min-height:230px !important;
   max-height:230px !important;
   flex:0 0 230px !important;
 }
 .ka-card-media img{
   width:100% !important;
   height:100% !important;
   object-fit:cover !important;
 }
 /* On mobile there should be virtually no extra spa strip after the slider. */
 .ka-spa-space{height:0 !important;min-height:0 !important;margin:0 !important;padding:0 !important}
 .ka-services{margin-bottom:0 !important}
}

/* v1.36.0 – exact card/media geometry and corrected vertical spacing */
.ka-slider{
  padding-bottom:14px !important;
}
.ka-track{
  align-items:stretch !important;
}
.ka-track .ka-card{
  display:flex !important;
  flex-direction:column !important;
  height:330px !important;
  min-height:330px !important;
  max-height:330px !important;
  overflow:hidden !important;
}
.ka-card-media{
  display:block !important;
  width:100% !important;
  height:240px !important;
  min-height:240px !important;
  max-height:240px !important;
  flex:0 0 240px !important;
}
.ka-card-media img{
  width:100% !important;
  height:240px !important;
  min-height:240px !important;
  max-height:240px !important;
  object-fit:cover !important;
  object-position:center !important;
}
.ka-card h3{
  flex:1 1 auto !important;
}
.ka-dots{
  margin-top:10px !important;
  margin-bottom:0 !important;
}
.ka-spa-space{
  height:92px !important;
  min-height:92px !important;
}

@media(max-width:900px) and (min-width:621px){
 .ka-track .ka-card{height:310px !important;min-height:310px !important;max-height:310px !important}
 .ka-card-media,.ka-card-media img{height:220px !important;min-height:220px !important;max-height:220px !important}
 .ka-card-media{flex-basis:220px !important}
 .ka-spa-space{height:76px !important;min-height:76px !important}
}

@media(max-width:620px){
 .ka-slider{
   padding-top:10px !important;
   padding-bottom:6px !important;
 }
 .ka-track .ka-card{
   height:318px !important;
   min-height:318px !important;
   max-height:318px !important;
 }
 .ka-card-media,.ka-card-media img{
   height:230px !important;
   min-height:230px !important;
   max-height:230px !important;
 }
 .ka-card-media{flex-basis:230px !important}
 .ka-dots{
   margin-top:5px !important;
   margin-bottom:0 !important;
 }
 /* less empty/white space immediately under the slider, but more of the spa image visible below */
 .ka-spa-space{
   height:64px !important;
   min-height:64px !important;
   margin:0 !important;
   padding:0 !important;
 }
}

/* v1.37.0 – Gesichtspflege framing + tighter footer distance */
.ka-spa-space{
  height:58px !important;
  min-height:58px !important;
}
@media(max-width:900px) and (min-width:621px){
  .ka-spa-space{
    height:42px !important;
    min-height:42px !important;
  }
}
@media(max-width:620px){
  .ka-spa-space{
    height:22px !important;
    min-height:22px !important;
  }
  .ka-services-scene{
    padding-bottom:0 !important;
  }
}

/* v1.38.0 – footer contact items aligned to one visual grid */
.ka-contact{
  align-items:stretch !important;
}
.ka-contact-item{
  display:grid !important;
  grid-template-rows:36px auto !important;
  align-content:center !important;
  justify-items:center !important;
  row-gap:10px !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
}
.ka-contact-item .ka-contact-icon,
.ka-contact-item > svg,
.ka-contact-item > img:first-child{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:center !important;
  object-fit:contain !important;
}
.ka-contact-item > a,
.ka-contact-item > div,
.ka-contact-item > p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.ka-contact-item a{
  line-height:1.35 !important;
}
@media(max-width:620px){
  .ka-contact-item{
    grid-template-rows:32px auto !important;
    row-gap:7px !important;
    padding-top:13px !important;
    padding-bottom:13px !important;
  }
  .ka-contact-item .ka-contact-icon,
  .ka-contact-item > svg,
  .ka-contact-item > img:first-child{
    width:25px !important;
    height:25px !important;
    min-width:25px !important;
    min-height:25px !important;
    max-width:25px !important;
    max-height:25px !important;
  }
}

/* =========================================================
   v1.39.0 – footer horizontal rows + mobile hero/slider spacing
   ========================================================= */

/* FOOTER: icon is now beside the text, not above it.
   This avoids the three different visual heights completely. */
.ka-contact{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.ka-contact-item{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
  min-height:104px !important;
  padding:14px 22px !important;
  text-align:left !important;
}
.ka-contact-item .ka-contact-icon,
.ka-contact-item > svg,
.ka-contact-item > img:first-child{
  flex:0 0 25px !important;
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  min-height:25px !important;
  max-width:25px !important;
  max-height:25px !important;
  margin:0 !important;
  align-self:center !important;
}
.ka-contact-item > a,
.ka-contact-item > div,
.ka-contact-item > p{
  margin:0 !important;
  align-self:center !important;
  line-height:1.35 !important;
}
.ka-contact-item a{ text-align:left !important; }

/* MOBILE */
@media(max-width:620px){
  /* remove excessive blank space before the logo */
  .ka-hero{
    padding-top:8px !important;
  }
  .ka-hero-inner,
  .ka-hero-copy{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  .ka-logo{
    margin-top:0 !important;
    margin-bottom:6px !important;
  }

  /* give the hero/text a little breathing room before the slider */
  .ka-services-scene{
    padding-top:24px !important;
  }
  .ka-services{
    margin-top:0 !important;
  }

  /* but remove most of the space AFTER the slider */
  .ka-slider{
    margin-bottom:0 !important;
    padding-bottom:4px !important;
  }
  .ka-dots{
    margin-top:5px !important;
    margin-bottom:0 !important;
  }
  .ka-spa-space{
    height:10px !important;
    min-height:10px !important;
    max-height:10px !important;
  }

  /* Footer stays horizontal per item, but stacks the three items vertically. */
  .ka-contact{
    grid-template-columns:1fr !important;
  }
  .ka-contact-item{
    min-height:66px !important;
    padding:9px 18px !important;
    gap:11px !important;
    justify-content:center !important;
    text-align:left !important;
  }
  .ka-contact-item .ka-contact-icon,
  .ka-contact-item > svg,
  .ka-contact-item > img:first-child{
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    min-height:23px !important;
    max-width:23px !important;
    max-height:23px !important;
    flex-basis:23px !important;
  }
}

/* v1.40.0 – selectors now match the REAL footer markup */
.ka-contact .ka-contact-item{
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:14px!important;padding:14px 20px!important;min-height:92px!important;text-align:left!important
}
.ka-contact .ka-contact-link{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:center!important;gap:12px!important;margin:0!important;text-align:left!important
}
.ka-contact .ka-contact-link svg{
 display:block!important;flex:0 0 25px!important;width:25px!important;height:25px!important;
 margin:0!important;position:static!important;transform:none!important
}
.ka-contact .ka-contact-link span{margin:0!important;line-height:1.32!important;text-align:left!important}

/* mobile spacing: target the REAL hero children (.ka-brand/.ka-copy), not nonexistent wrappers */
@media(max-width:620px){
 .ka-hero{padding-top:0!important}
 .ka-brand{margin-top:0!important;padding-top:4px!important;margin-bottom:0!important}
 .ka-brand .ka-logo{margin:0 auto 2px!important}
 .ka-copy{margin-top:0!important;padding-top:0!important}
 .ka-services-scene{padding-top:30px!important}
 .ka-services{margin-top:0!important;margin-bottom:0!important}
 .ka-slider{padding-bottom:2px!important;margin-bottom:0!important}
 .ka-dots{margin-top:4px!important;margin-bottom:0!important}
 .ka-spa-space{height:6px!important;min-height:6px!important;max-height:6px!important}
 .ka-contact{grid-template-columns:1fr!important}
 .ka-contact .ka-contact-item{min-height:58px!important;padding:8px 14px!important}
 .ka-contact .ka-contact-link{gap:10px!important}
 .ka-contact .ka-contact-link svg{width:22px!important;height:22px!important;flex-basis:22px!important}
}

/* v1.41.0 – mobile footer compact + slider/footer distance + exact media box */
.ka-card-media{
  aspect-ratio:4/3 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
}
.ka-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
}

/* reduce the photo area between slider and contact footer */
.ka-spa-space{
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
}

@media(max-width:620px){
  .ka-services-scene{
    padding-bottom:0 !important;
  }
  .ka-slider{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .ka-dots{
    margin:3px 0 0 !important;
  }
  .ka-spa-space{
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
  }

  /* compact, calm mobile footer: three equal rows */
  .ka-contact{
    display:grid !important;
    grid-template-columns:1fr !important;
    padding:0 !important;
  }
  .ka-contact .ka-contact-item{
    display:flex !important;
    min-height:52px !important;
    height:auto !important;
    padding:9px 18px !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.22) !important;
  }
  .ka-contact .ka-contact-item:last-child{
    border-bottom:0 !important;
  }
  .ka-contact .ka-contact-link{
    width:min(290px,100%) !important;
    display:grid !important;
    grid-template-columns:24px 1fr !important;
    align-items:center !important;
    justify-content:center !important;
    column-gap:11px !important;
    margin:0 auto !important;
  }
  .ka-contact .ka-contact-link svg{
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    min-height:21px !important;
    margin:0 !important;
    justify-self:center !important;
  }
  .ka-contact .ka-contact-link span{
    margin:0 !important;
    line-height:1.25 !important;
    text-align:left !important;
  }
}

/* =========================================================
   v1.42.0 – direct geometry fix
   ========================================================= */

/* Every slider card gets exactly the same media and copy geometry. */
.ka-track .ka-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.ka-track .ka-card .ka-card-media{
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  flex:0 0 250px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
.ka-track .ka-card .ka-card-media img{
  display:block !important;
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
}
.ka-track .ka-card .ka-card-copy{
  box-sizing:border-box !important;
  width:100% !important;
  height:92px !important;
  min-height:92px !important;
  max-height:92px !important;
  flex:0 0 92px !important;
  padding:15px 10px 10px !important;
}

/* Desktop: retain a small amount of spa image below slider, but less than before. */
.ka-services{
  padding-bottom:12px !important;
}
.ka-spa-space{
  height:24px !important;
  min-height:24px !important;
  max-height:24px !important;
}

/* No divider lines in contact footer. */
.ka-contact .ka-contact-item,
.ka-contact .ka-contact-item + .ka-contact-item{
  border:0 !important;
  border-top:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-left:0 !important;
}

@media(max-width:620px){
  /* Identical card proportions on mobile too. */
  .ka-track .ka-card .ka-card-media{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex-basis:245px !important;
  }
  .ka-track .ka-card .ka-card-media img{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
  }
  .ka-track .ka-card .ka-card-copy{
    height:82px !important;
    min-height:82px !important;
    max-height:82px !important;
    flex-basis:82px !important;
    padding:13px 8px 8px !important;
  }

  /* The old visible gap was the scene after the services box.
     Remove that element entirely on mobile. */
  .ka-spa-space{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
  }
  .ka-services-scene{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  .ka-services{
    padding-bottom:7px !important;
    margin-bottom:0 !important;
  }
  .ka-dots{
    height:12px !important;
    margin:3px 0 0 !important;
    line-height:12px !important;
  }

  /* Compact, uniform mobile contact block without any rules. */
  .ka-contact{
    gap:0 !important;
  }
  .ka-contact .ka-contact-item{
    box-sizing:border-box !important;
    min-height:0 !important;
    height:auto !important;
    padding:8px 16px !important;
    margin:0 !important;
    border:0 !important;
  }
  .ka-contact .ka-contact-link{
    width:270px !important;
    max-width:100% !important;
    min-height:34px !important;
    grid-template-columns:24px minmax(0,1fr) !important;
    column-gap:10px !important;
    align-items:center !important;
  }
  .ka-contact .ka-contact-link svg{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
  }
  .ka-contact .ka-contact-link span{
    line-height:1.18 !important;
  }
}

/* v1.43.0 – final override: square slider media + responsive lower spacing */
.ka-track .ka-card .ka-card-media{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 auto !important;
  overflow:hidden !important;
}
.ka-track .ka-card .ka-card-media img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Desktop needs visibly more spa image below the slider. */
@media(min-width:701px){
  .ka-services-scene{
    min-height:0 !important;
    height:auto !important;
    padding-bottom:0 !important;
  }
  .ka-spa-space{
    display:block !important;
    height:82px !important;
    min-height:82px !important;
    max-height:82px !important;
  }
}

/* The theme's actual mobile breakpoint is 700px, so fix the complete range. */
@media(max-width:700px){
  .ka-services-scene{
    min-height:0 !important;
    height:auto !important;
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  .ka-services{
    margin-bottom:0 !important;
    padding-bottom:5px !important;
  }
  .ka-slider{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .ka-dots{
    height:12px !important;
    margin:2px 0 0 !important;
  }
  .ka-spa-space{
    display:block !important;
    height:18px !important;
    min-height:18px !important;
    max-height:18px !important;
  }
}

/* v1.44.0 – mobile text restored, balanced spacing, desktop footer separators */
.ka-track .ka-card .ka-card-media,
.ka-track .ka-card .ka-card-media img{
  aspect-ratio:1/1 !important;
}
.ka-track .ka-card .ka-card-media img{
  object-fit:cover !important;
}

/* Desktop footer: restore fine black separators only between columns. */
@media(min-width:701px){
  .ka-contact .ka-contact-item{
    border:0 !important;
  }
  .ka-contact .ka-contact-item + .ka-contact-item{
    border-left:1px solid rgba(0,0,0,.42) !important;
  }
}

@media(max-width:700px){
  /* Restore title/text area; previous fixed-height rules clipped it. */
  .ka-track .ka-card .ka-card-copy{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    height:auto !important;
    min-height:118px !important;
    max-height:none !important;
    flex:0 0 auto !important;
    overflow:visible !important;
    padding:13px 12px 14px !important;
  }
  .ka-track .ka-card .ka-card-copy h3,
  .ka-track .ka-card .ka-card-copy p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  /* Similar breathing room above and below the slider. */
  .ka-services{
    padding-top:18px !important;
    padding-bottom:8px !important;
  }
  .ka-spa-space{
    display:block !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
  }

  /* Mobile footer remains without separators. */
  .ka-contact .ka-contact-item,
  .ka-contact .ka-contact-item + .ka-contact-item{
    border:0 !important;
  }
}

/* v1.45.0 — based strictly on user's v1.44 ZIP.
   Only the requested fixes below; no layout rebuild. */

/* Slider: titles only, no descriptive text below images. */
.ka-card-copy p,
.ka-card-description,
.ka-card-desc{
  display:none !important;
}

/* All visible slider image areas use exactly the same 4:3 geometry. */
.ka-track .ka-card .ka-card-media{
  width:100% !important;
  aspect-ratio:4/3 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}
.ka-track .ka-card .ka-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Keep the v1.44 desktop layout, but restore a comfortable amount
   of the spa image below the slider. */
@media(min-width:701px){
  .ka-spa-space{
    display:block !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }
  /* Desktop footer separators stay thin and black. */
  .ka-contact .ka-contact-item{border:0 !important;}
  .ka-contact .ka-contact-item + .ka-contact-item{
    border-left:.6px solid rgba(0,0,0,.55) !important;
  }
}

/* Mobile: keep v1.44 arrangement, only balance the space below slider. */
@media(max-width:700px){
  .ka-spa-space{
    display:block !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
  }
  .ka-contact .ka-contact-item,
  .ka-contact .ka-contact-item + .ka-contact-item{
    border:0 !important;
  }
}

/* v1.46.0 — ONLY normalize slider image display.
   Gesichtspflege is the reference; all other images use exactly the same box. */
.ka-track .ka-card{
  align-self:stretch !important;
}
.ka-track .ka-card .ka-card-media{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}
.ka-track .ka-card .ka-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}

/* v1.47.0 — slider source files are physically cropped to 1000x750.
   Force one identical rendered image rectangle for every offer card. */
.ka-track .ka-card .ka-card-media{
  width:100% !important;
  height:250px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
}
.ka-track .ka-card .ka-card-media img{
  width:100% !important;
  height:250px !important;
  min-width:100% !important;
  min-height:250px !important;
  max-width:100% !important;
  max-height:250px !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:700px){
  .ka-track .ka-card .ka-card-media,
  .ka-track .ka-card .ka-card-media img{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}

/* v1.52.0 — consolidated slider rules. These replace the accumulated mobile overrides. */
.ka-slider,
.ka-slider * { box-sizing:border-box; }

.ka-slider-viewport,
.ka-viewport {
  overflow:hidden !important;
}

.ka-track {
  display:flex !important;
  align-items:stretch !important;
}

.ka-track .ka-card {
  position:relative !important;
  overflow:hidden !important;
  border:0 !important;
  outline:0 !important;
  border-radius:10px !important;
  background:#fff !important;
}

.ka-track .ka-card::before,
.ka-track .ka-card::after,
.ka-track .ka-card .ka-card-media::before,
.ka-track .ka-card .ka-card-media::after {
  content:none !important;
  display:none !important;
}

.ka-track .ka-card .ka-card-media {
  width:100% !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border:0 !important;
  outline:0 !important;
  border-radius:10px 10px 0 0 !important;
}

.ka-track .ka-card .ka-card-media img {
  display:block !important;
  width:100% !important;
  height:250px !important;
  min-width:100% !important;
  min-height:250px !important;
  max-width:100% !important;
  max-height:250px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:10px 10px 0 0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Wimpern & Brauen: eyebrow remains visible. */
.ka-track .ka-card img[src*="wimpern-brauen"] {
  object-position:50% 12% !important;
}

/* Permanent Make-up: focus on needle + eyebrow. */
.ka-track .ka-card img[src*="permanent-makeup"] {
  object-position:center center !important;
}

@media (max-width:700px) {
  .ka-track {
    gap:0 !important;
  }

  .ka-track .ka-card {
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:346px !important;
    min-height:346px !important;
    max-height:346px !important;
    display:grid !important;
    grid-template-rows:250px 96px !important;
    margin:0 !important;
  }

  .ka-track .ka-card .ka-card-media,
  .ka-track .ka-card .ka-card-media img {
    width:100% !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }

  .ka-track .ka-card .ka-card-copy {
    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;
    padding:14px 8px 8px !important;
    margin:0 !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:center !important;
  }

  .ka-track .ka-card .ka-card-copy h3 {
    min-height:44px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1.12 !important;
  }
}

/* v1.53.0 — definitive mobile corner geometry + Permanent Make-up */
.ka-services .ka-track .ka-card{
  border-radius:10px !important;
  overflow:hidden !important;
}
.ka-services .ka-track .ka-card .ka-card-media{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:250px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:10px 10px 0 0 !important;
  clip-path:inset(0 round 10px 10px 0 0) !important;
  background:#fff !important;
}
.ka-services .ka-track .ka-card .ka-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:10px 10px 0 0 !important;
  object-fit:cover !important;
}
.ka-services .ka-track .ka-card .ka-card-media::before,
.ka-services .ka-track .ka-card .ka-card-media::after,
.ka-services .ka-track .ka-card::before,
.ka-services .ka-track .ka-card::after{
  content:none !important;
  display:none !important;
}
@media(max-width:700px){
  .ka-services .ka-track .ka-card{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:346px !important;
    display:grid !important;
    grid-template-rows:250px 96px !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }
  .ka-services .ka-track .ka-card .ka-card-media{
    width:100% !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    border-radius:10px 10px 0 0 !important;
    clip-path:inset(0 round 10px 10px 0 0) !important;
  }
  .ka-services .ka-track .ka-card .ka-card-copy{
    width:100% !important;
    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;
    padding:14px 8px 8px !important;
    overflow:hidden !important;
  }
  .ka-services .ka-track .ka-card .ka-card-copy h2{
    margin:0 !important;
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1.12 !important;
  }
}

/* v1.54.0 — one identical visible mobile image frame for every service */
.ka-services .ka-track .ka-card{
  padding:0 !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
.ka-services .ka-track .ka-card .ka-card-media{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:250px !important;
  border-radius:12px 12px 0 0 !important;
  overflow:hidden !important;
  -webkit-mask-image:-webkit-radial-gradient(white,black) !important;
}
.ka-services .ka-track .ka-card .ka-card-media img{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:12px 12px 0 0 !important;
}
@media(max-width:700px){
  .ka-services .ka-track .ka-card{
    padding:0 !important;
    border-radius:12px !important;
  }
  .ka-services .ka-track .ka-card .ka-card-media{
    width:100% !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    border-radius:12px 12px 0 0 !important;
  }
  .ka-services .ka-track .ka-card .ka-card-media img{
    width:100% !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    border-radius:12px 12px 0 0 !important;
  }
}

/* v1.55.0 — definitive corner fix: clipping happens only on the card */
.ka-services .ka-track .ka-card,
.ka-slider .ka-track .ka-card,
.ka-track .ka-card {
  position:relative !important;
  overflow:hidden !important;
  border-radius:12px !important;
  clip-path:inset(0 round 12px) !important;
  -webkit-mask-image:-webkit-radial-gradient(white,black) !important;
  transform:translateZ(0) !important;
}

.ka-services .ka-track .ka-card .ka-card-media,
.ka-slider .ka-track .ka-card .ka-card-media,
.ka-track .ka-card .ka-card-media {
  overflow:hidden !important;
  border-radius:0 !important;
  clip-path:none !important;
  -webkit-mask-image:none !important;
}

.ka-services .ka-track .ka-card .ka-card-media img,
.ka-slider .ka-track .ka-card .ka-card-media img,
.ka-track .ka-card .ka-card-media img {
  display:block !important;
  width:100% !important;
  height:250px !important;
  border-radius:0 !important;
  clip-path:none !important;
  object-fit:cover !important;
}

/* Kill any decorative line/border/pseudo element that can appear at image top. */
.ka-track .ka-card::before,
.ka-track .ka-card::after,
.ka-track .ka-card-media::before,
.ka-track .ka-card-media::after,
.ka-track .ka-card img::before,
.ka-track .ka-card img::after {
  content:none !important;
  display:none !important;
  border:0 !important;
}

@media(max-width:700px){
  .ka-services .ka-track .ka-card,
  .ka-slider .ka-track .ka-card,
  .ka-track .ka-card {
    border-radius:12px !important;
    clip-path:inset(0 round 12px) !important;
    overflow:hidden !important;
  }
  .ka-track .ka-card .ka-card-media,
  .ka-track .ka-card .ka-card-media img {
    border-radius:0 !important;
    width:100% !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}
