/* Reset gegen Theme-Buttonstile (Hello Elementor setzt Rahmen, Rundung, Farben auf button) */
.tsh button,.tsh button:hover,.tsh button:focus,.tsh button:active,.tsh button:focus-visible{background:none!important;background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline-offset:2px;padding:0;margin:0;text-transform:none;letter-spacing:normal;color:inherit;font-family:inherit;font-weight:inherit;min-width:0;width:auto;height:auto;line-height:inherit;text-decoration:none}
.tsh .tsh-burger{display:none}
/* THE SPA Header – Maße aus Figma (Nav 1440×80, Links 14px, Abstand 32px, Booking 35px Pille) */
body.tsh-on #site-header,body.tsh-on .site-header,body.tsh-on #masthead,body.tsh-on .elementor-location-header{display:none!important}
.tsh{position:relative;z-index:1000;background:var(--tsh-bg,#fff);color:var(--tsh-c,#000);font-size:14px;line-height:1.2}
.tsh *{box-sizing:border-box}
.tsh a{text-decoration:none;color:inherit}
.tsh ul{list-style:none;margin:0;padding:0}
.tsh-bar{display:flex;align-items:center;height:var(--tsh-h,80px)}
.tsh .tsh-logo{color:#fff;display:flex;align-items:center;justify-content:center;width:var(--tsh-lw,80px);height:var(--tsh-h,80px);background:var(--tsh-lb,#000);color:#fff;font-size:20px;letter-spacing:.1em;line-height:1;flex:0 0 auto;text-align:center}
.tsh-lt{display:block;text-align:left;line-height:1.05}.tsh-lt b{display:block;font-weight:300;font-size:22px;letter-spacing:.35em}.tsh-lt small{display:block;font-size:6px;letter-spacing:.2em;margin-top:2px;text-align:right}
.tsh-logo img{width:var(--tsh-li,41px);max-width:100%;height:auto}
.tsh-hbox{display:flex;align-items:center;justify-content:center;width:80px;height:var(--tsh-h,80px);flex:0 0 auto}
.tsh-hbox img{max-width:56px;height:auto}
.tsh-nav{flex:1 1 auto;padding-right:260px}
.tsh-nav>ul{display:flex;justify-content:center;align-items:center;gap:0}
.tsh .tsh-top,.tsh button.tsh-top{display:inline-flex;align-items:center;gap:2px;height:var(--tsh-h,80px);padding:0 var(--tsh-gp,16px);background:none;border:0;border-radius:0;color:var(--tsh-c,#000);font-family:var(--tsh-ff,inherit)!important;font-size:var(--tsh-fs,14px)!important;font-weight:var(--tsh-fw,400)!important;letter-spacing:var(--tsh-tr,0)!important;line-height:1.2;cursor:pointer;text-transform:none;position:relative}
.tsh.tsh-up .tsh-top{text-transform:uppercase!important}
.tsh-lbl{display:inline-block}
/* Hover/aktiv: Unterstrich unter Label + Pfeil (Figma), nie eine Pille */
.tsh .tsh-top::after{content:"";position:absolute;left:var(--tsh-gp,16px);right:var(--tsh-gp,16px);top:calc(50% + var(--tsh-ulo,6px) + .6em);height:var(--tsh-ulw,2px);background:var(--tsh-hc,currentColor);opacity:0;transition:opacity .15s}
.tsh.tsh-hv-underline .tsh-top:hover::after,.tsh.tsh-hv-underline .tsh-top:focus-visible::after{opacity:1}
.tsh.tsh-hv-underline.tsh-openul .tsh-top[aria-expanded="true"]::after{opacity:1}
.tsh.tsh-hv-fade .tsh-top:hover{opacity:.55}
.tsh.tsh-hv-color .tsh-top:hover,.tsh.tsh-hv-color .tsh-top[aria-expanded="true"]{color:var(--tsh-hc,#888)!important}
.tsh.tsh-sticky{position:sticky;top:0}.admin-bar .tsh.tsh-sticky{top:32px}
.tsh.tsh-shadow{box-shadow:0 2px 12px rgba(0,0,0,.08)}
.tsh-car{flex:0 0 auto;transition:transform .2s}
.tsh-top[aria-expanded="true"] .tsh-car{transform:rotate(180deg)}
.tsh-has{position:static}
.tsh-panel{position:absolute;left:0;right:0;top:100%;background:var(--tsh-pbg,#fff);z-index:1001}
.tsh-panel[hidden],.tsh-bpanel[hidden]{display:none}
.tsh-grid{display:grid;gap:var(--tsh-tg,0)}
.tsh-c1{grid-template-columns:1fr}.tsh-c2{grid-template-columns:repeat(2,1fr)}.tsh-c3{grid-template-columns:repeat(3,1fr)}
.tsh-c4{grid-template-columns:repeat(4,1fr)}.tsh-c5{grid-template-columns:repeat(5,1fr)}.tsh-c6{grid-template-columns:repeat(6,1fr)}
/* Bild-Kachel: Titel oben links, Bild vollflächig */
.tsh-tile{position:relative;display:block;overflow:hidden;color:#fff}
.tsh-bild{padding:var(--tsh-tp,40px)}
.tsh-c5 .tsh-bild,.tsh-c4 .tsh-bild,.tsh-c6 .tsh-bild{padding:24px}
.tsh-c3 .tsh-bild{padding:30px}
.tsh-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.tsh-bw .tsh-bg{filter:grayscale(1)}
.tsh-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,var(--tsh-ov,.35)),rgba(0,0,0,0) 40%,rgba(0,0,0,var(--tsh-ov,.35)));pointer-events:none}
.tsh-bild>*:not(.tsh-bg){position:relative;z-index:1}
.tsh-bild .tsh-t{display:block;font-size:var(--tsh-ts,40px);line-height:1.1;font-weight:var(--tsh-pt-w,300);color:var(--tsh-pt-c,#fff);font-family:var(--tsh-fft,inherit)}
.tsh.tsh-ptu .tsh-t{text-transform:uppercase}
.tsh-c3 .tsh-bild .tsh-t{font-size:var(--tsh-ts,34px)}
.tsh-c4 .tsh-bild .tsh-t,.tsh-c5 .tsh-bild .tsh-t,.tsh-c6 .tsh-bild .tsh-t{font-size:var(--tsh-ts,24px)}
.tsh-cta{font-family:var(--tsh-ffc,inherit);display:inline-block;font-size:var(--tsh-cs,14px);font-weight:var(--tsh-cw,500);color:#fff}
.tsh-cta-top{margin-top:14px;border-bottom:1px solid #fff;padding-bottom:2px}
.tsh-cta-bottom{position:absolute!important;left:24px;bottom:24px}
.tsh-c2 .tsh-cta-bottom,.tsh-c1 .tsh-cta-bottom{left:40px;bottom:40px}
.tsh-c3 .tsh-cta-bottom{left:30px;bottom:30px}
.tsh-bild:hover .tsh-cta{text-decoration:underline}
/* Hotel-Farbkachel: Titel + Untertitel unten links */
.tsh-hotel{display:flex;flex-direction:column;justify-content:flex-end;min-height:var(--tsh-th,320px);padding:16px}
.tsh .tsh-hotel .tsh-t{font-family:var(--tsh-fft,inherit);font-size:16px;font-weight:var(--tsh-pt-w,300);line-height:1.1}
.tsh-hotel .tsh-s{margin-top:4px;font-size:10px;letter-spacing:.08em;opacity:.75}
.tsh-hotel.is-cur{filter:brightness(1.15)}
.tsh-row{font-family:var(--tsh-ff,inherit);display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f3f5f7;color:#000;margin:0 0 2px;border-radius:8px;font-size:14px}
.tsh-row em{font-style:normal}
/* Jetzt buchen: schwarze Pille, 35px hoch, fix oben rechts */
.tsh-book{position:relative;margin-left:auto}
.tsh-book.tsh-fixed{position:fixed;top:var(--tsh-bt,24px);right:var(--tsh-br,54px);z-index:9999}
.admin-bar .tsh-book.tsh-fixed{top:calc(var(--tsh-bt,24px) + 32px)}
.tsh .tsh-bbtn,.tsh button.tsh-bbtn,.tsh a.tsh-bbtn{display:inline-flex;align-items:center;gap:8px;height:var(--tsh-bh,35px);padding:0 var(--tsh-bpx,20px);border:0!important;border-radius:var(--tsh-br-r,24px)!important;background:var(--tsh-bb,#000)!important;color:var(--tsh-bc,#fff)!important;font-family:inherit;font-size:var(--tsh-bfs,14px)!important;font-weight:var(--tsh-bfw,700)!important;font-family:var(--tsh-ffb,inherit)!important;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);white-space:nowrap;text-transform:none}
.tsh .tsh-bbtn span,.tsh .tsh-bcar{color:var(--tsh-bc,#fff)!important}
.tsh-bcar{font-style:normal;font-size:10px;font-weight:400}
.tsh-bpanel{position:absolute;right:0;top:calc(100% + 8px);width:218px;background:#fff;border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.18)}

.tsh .tsh-bbtn:hover,.tsh button.tsh-bbtn:hover,.tsh a.tsh-bbtn:hover{background:var(--tsh-bhb,var(--tsh-bb,#000))!important;color:var(--tsh-bhc,var(--tsh-bc,#fff))!important}.tsh .tsh-bbtn:hover span,.tsh .tsh-bbtn:hover .tsh-bcar{color:var(--tsh-bhc,var(--tsh-bc,#fff))!important}

/* Burger */
.tsh .tsh-burger{position:relative;width:48px;height:48px;margin:0 var(--tsh-mpad,16px) 0 auto;cursor:pointer;color:var(--tsh-mic,var(--tsh-c,#000));flex:0 0 auto}
.tsh .tsh-burger i{position:absolute;left:12px;right:12px;height:2px;background:currentColor;display:block;margin:0;transition:transform .2s,opacity .2s,top .2s}
.tsh .tsh-burger i:nth-child(1){top:16px}.tsh .tsh-burger i:nth-child(2){top:23px}.tsh .tsh-burger i:nth-child(3){top:30px}
.tsh.tsh-open .tsh-burger i:nth-child(1){top:23px;transform:rotate(45deg)}
.tsh.tsh-open .tsh-burger i:nth-child(2){opacity:0}
.tsh.tsh-open .tsh-burger i:nth-child(3){top:23px;transform:rotate(-45deg)}
/* Mobil: Leiste + Drawer */
@media (max-width:1024px){
 .tsh .tsh-top::after{display:none}
 .tsh .tsh-burger{display:block}
 .tsh-bar{height:var(--tsh-mh,64px)}
 .tsh .tsh-logo,.tsh-hbox{width:var(--tsh-mh,64px);height:var(--tsh-mh,64px)}
 .tsh-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:0;background:var(--tsh-mbg,#fff);color:var(--tsh-mc,#000);max-height:calc(100vh - var(--tsh-mh,64px));max-height:calc(100dvh - var(--tsh-mh,64px));overflow-y:auto;z-index:1002;box-shadow:0 12px 24px rgba(0,0,0,.08)}
 .tsh.tsh-open .tsh-nav{display:block}
 .tsh-nav>ul{display:block}
 .tsh .tsh-top,.tsh button.tsh-top{display:flex;width:100%;height:var(--tsh-mih,52px);padding:0 20px;justify-content:space-between;color:var(--tsh-mc,#000);font-size:var(--tsh-mfs,16px)!important;border-top:1px solid rgba(0,0,0,.08)}
 .tsh-has{position:static}
 .tsh-panel{position:static}
 .tsh-grid{grid-template-columns:1fr!important}
 .tsh-bild{min-height:var(--tsh-mth,180px)!important;padding:24px!important}
 .tsh-bild .tsh-t{font-size:var(--tsh-mts,24px)!important}
 .tsh-hotel{min-height:72px!important}
 .tsh-book,.tsh-book.tsh-fixed{position:absolute;top:calc((var(--tsh-mh,64px) - var(--tsh-bh,35px))/2);right:calc(var(--tsh-mpad,16px) + 56px);margin:0}
 .admin-bar .tsh-book.tsh-fixed{top:calc((var(--tsh-mh,64px) - var(--tsh-bh,35px))/2)}
 .tsh.tsh-nomobbook .tsh-book{display:none}
 .tsh-bpanel{right:0;left:auto}
 .tsh.tsh-sticky{top:0}
 body.tsh-lock{overflow:hidden}
}
