.dhs-room-grid{max-width:var(--dhs-container);margin:30px auto;display:grid;grid-template-columns:repeat(var(--dhs-columns),minmax(0,1fr));gap:24px}.dhs-room-card{background:var(--dhs-card);color:var(--dhs-text);border:1px solid rgba(0,0,0,.07);border-radius:var(--dhs-radius);overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.07);transition:.25s ease}.dhs-room-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.11)}.dhs-room-image{display:block;aspect-ratio:16/10;overflow:hidden}.dhs-room-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}.dhs-room-card:hover img{transform:scale(1.035)}.dhs-room-body{padding:24px}.dhs-badge{display:inline-block;padding:6px 11px;background:var(--dhs-accent);color:#111;border-radius:999px;font-size:12px;font-weight:800}.dhs-room-body h3{font-size:24px;margin:14px 0 8px;color:inherit}.dhs-room-body p{color:var(--dhs-muted);line-height:1.65}.dhs-room-facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.dhs-room-facts span{background:var(--dhs-bg);padding:7px 10px;border-radius:10px;font-size:13px}.dhs-room-foot{border-top:1px solid rgba(0,0,0,.08);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dhs-room-foot strong{font-size:19px}.dhs-room-foot a{background:var(--dhs-accent);color:#111!important;text-decoration:none;padding:11px 17px;border-radius:999px;font-weight:750}.dhs-room-foot a:hover{background:var(--dhs-accent-dark)}.dhs-placeholder{max-width:var(--dhs-container);margin:24px auto;padding:24px;background:var(--dhs-bg);border-left:5px solid var(--dhs-accent);border-radius:var(--dhs-radius);display:flex;flex-direction:column;gap:5px}.dhs-placeholder span{color:var(--dhs-muted)}.dhs-single-room{max-width:var(--dhs-container);margin:auto}.dhs-single-room>.dhs-room-card{max-width:520px}.dhs-room-content{margin-top:30px}@media(max-width:900px){.dhs-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.dhs-room-grid{grid-template-columns:1fr}.dhs-room-body{padding:20px}}.dhs-room-subtitle{margin:-2px 0 10px;color:var(--dhs-muted);font-size:14px;font-weight:650}.dhs-room-foot strong{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}
.dhs-room-template{width:100%;padding:48px 20px 70px}.dhs-room-template .dhs-single-room{width:100%}.dhs-room-template .dhs-single-room>.dhs-room-card{max-width:none}.dhs-room-template .dhs-room-content{background:var(--dhs-card);border:1px solid rgba(0,0,0,.07);border-radius:var(--dhs-radius);padding:30px;box-shadow:0 14px 38px rgba(0,0,0,.05)}

/* Zimmer-Detailseite */
.dhs-room-template{padding:38px 20px 72px;background:#fff}.dhs-room-detail{width:min(100%,var(--dhs-container));margin:0 auto;color:var(--dhs-text)}.dhs-room-back{display:inline-block;margin:0 0 18px;color:var(--dhs-muted)!important;text-decoration:none;font-size:13px}.dhs-room-back:hover{color:var(--dhs-accent-dark)!important}.dhs-detail-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:34px;align-items:start}.dhs-detail-gallery{min-width:0}.dhs-detail-main-image{position:relative;overflow:hidden;border-radius:18px;background:#eee;aspect-ratio:4/3;cursor:zoom-in}.dhs-detail-slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .28s ease}.dhs-detail-slide.is-active{opacity:1;pointer-events:auto}.dhs-detail-slide img{width:100%;height:100%;object-fit:cover;display:block}.dhs-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(40,40,40,.62);color:#fff;font-size:30px;line-height:1;cursor:pointer}.dhs-gallery-prev{left:14px}.dhs-gallery-next{right:14px}.dhs-gallery-counter{position:absolute;right:14px;bottom:12px;z-index:3;padding:6px 10px;border-radius:999px;background:rgba(17,17,17,.7);color:#fff;font-size:12px}.dhs-gallery-zoom{position:absolute;left:14px;bottom:12px;z-index:3;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:#111;font-size:17px}.dhs-detail-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.dhs-detail-thumb{height:74px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.7;transition:.2s}.dhs-detail-thumb.is-active{border-color:var(--dhs-accent);opacity:1}.dhs-detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}.dhs-detail-summary{padding:6px 0}.dhs-detail-summary h1{margin:8px 0 4px;font-size:clamp(32px,3.8vw,52px);line-height:1.02;color:inherit}.dhs-detail-subtitle{margin:0 0 10px;color:var(--dhs-accent-dark);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.dhs-detail-price{padding:12px 0 18px;border-bottom:1px solid rgba(0,0,0,.13)}.dhs-detail-price strong{font-size:clamp(25px,3vw,38px);color:var(--dhs-accent-dark);font-weight:500}.dhs-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:18px 0;border-top:1px solid rgba(0,0,0,.13);border-bottom:1px solid rgba(0,0,0,.13)}.dhs-detail-facts>div{display:flex;align-items:center;gap:8px;padding:15px 9px;border-right:1px solid rgba(0,0,0,.1)}.dhs-detail-facts>div:nth-child(3n){border-right:0}.dhs-fact-icon{font-size:18px;color:var(--dhs-accent-dark)}.dhs-detail-facts small,.dhs-detail-facts strong{display:block}.dhs-detail-facts small{margin-bottom:2px;color:var(--dhs-muted);font-size:9px;text-transform:uppercase;letter-spacing:.055em}.dhs-detail-facts strong{font-size:12px}.dhs-room-detail .dhs-room-content{margin:0;padding:0;border:0;box-shadow:none;background:transparent;font-size:14px;line-height:1.75}.dhs-room-detail .dhs-room-content>:first-child{margin-top:0}.dhs-room-detail .dhs-room-content>:last-child{margin-bottom:0}.dhs-detail-amenities{width:min(100%,760px);margin:30px 0 0 auto;background:var(--dhs-bg);border:1px solid rgba(0,0,0,.09);border-radius:16px;padding:26px}.dhs-detail-amenities h2{margin:0 0 18px;font-size:21px}.dhs-amenity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 24px}.dhs-amenity-list span{display:flex;align-items:flex-start;gap:9px;font-size:13px}.dhs-amenity-list i{color:var(--dhs-accent-dark);font-style:normal;font-weight:900}.dhs-booking-cta{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:24px;margin-top:34px;padding:28px 34px;border:1px solid var(--dhs-accent);border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.055)}.dhs-booking-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--dhs-accent);color:#111;box-shadow:0 8px 24px rgba(0,0,0,.09)}.dhs-booking-icon .dhs-icon-svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.8;fill:none}.dhs-booking-button-icon{display:inline-flex;align-items:center;justify-content:center}.dhs-booking-button-icon .dhs-icon-svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none}.dhs-booking-text strong,.dhs-booking-text span{display:block}.dhs-booking-text strong{margin-bottom:5px}.dhs-booking-text span{font-size:13px}.dhs-booking-primary,.dhs-booking-secondary{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:58px;padding:0 28px;text-decoration:none!important;text-transform:uppercase;font-weight:800;letter-spacing:.025em;white-space:nowrap}.dhs-booking-primary{background:var(--dhs-accent);color:#111!important;border:1px solid var(--dhs-accent);border-radius:4px}.dhs-booking-primary:hover{background:var(--dhs-accent-dark);border-color:var(--dhs-accent-dark);color:#111!important}.dhs-booking-secondary{background:#fff;color:var(--dhs-accent-dark)!important;border:1px solid var(--dhs-accent);border-radius:4px}.dhs-booking-secondary:hover{background:var(--dhs-bg);color:var(--dhs-accent-dark)!important}
html.dhs-lightbox-open,html.dhs-lightbox-open body{overflow:hidden}.dhs-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:34px;background:rgba(12,12,12,.92)}.dhs-lightbox.is-open{display:flex}.dhs-lightbox-stage{position:relative;width:min(86vw,1400px);height:min(88vh,950px)}.dhs-lightbox-slide{position:absolute;inset:0;margin:0;display:none;align-items:center;justify-content:center}.dhs-lightbox-slide.is-active{display:flex}.dhs-lightbox-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.4)}.dhs-lightbox-close{position:fixed;top:10px;right:18px;width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:48px;line-height:1;cursor:pointer}.dhs-lightbox-arrow{position:fixed;top:var(--dhs-lightbox-arrow-top,50%);transform:translateY(-50%);width:58px;height:58px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:44px;cursor:pointer}.dhs-lightbox-prev{left:var(--dhs-lightbox-prev-left,18px)}.dhs-lightbox-next{right:var(--dhs-lightbox-next-right,18px)}.dhs-lightbox-counter{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:13px}
@media(max-width:1050px){.dhs-detail-top{grid-template-columns:1fr}.dhs-detail-amenities{width:100%;margin-left:0}.dhs-booking-cta{grid-template-columns:auto 1fr}.dhs-booking-primary,.dhs-booking-secondary{width:100%}}
@media(max-width:760px){.dhs-room-template{padding:24px 14px 44px}.dhs-detail-main-image{aspect-ratio:4/3;border-radius:14px}.dhs-detail-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}.dhs-detail-thumb{height:62px}.dhs-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-detail-facts>div,.dhs-detail-facts>div:nth-child(3n){border-right:1px solid rgba(0,0,0,.1)}.dhs-detail-facts>div:nth-child(2n){border-right:0}.dhs-amenity-list{grid-template-columns:1fr}.dhs-booking-cta{grid-template-columns:1fr;padding:24px;text-align:center}.dhs-booking-icon{display:none}.dhs-booking-primary,.dhs-booking-secondary{white-space:normal;padding:14px 18px}.dhs-lightbox{padding:12px}.dhs-lightbox-stage{width:92vw;height:82vh}.dhs-lightbox-arrow{width:44px;height:44px;font-size:34px}.dhs-lightbox-prev{left:8px}.dhs-lightbox-next{right:8px}}


/* 0.2.5 – Central-Hotel Detailspalte */
.dhs-detail-summary{padding:0 0 4px;min-width:0}
.dhs-detail-summary h1{margin:0 0 8px;font-size:clamp(34px,3.7vw,52px);font-weight:500;line-height:1.04}
.dhs-detail-subtitle{margin:0 0 20px;color:var(--dhs-accent-dark);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.075em;line-height:1.55}
.dhs-detail-price{display:flex;align-items:baseline;gap:12px;padding:8px 0 22px;border-bottom:1px solid rgba(0,0,0,.15)}
.dhs-detail-price strong{font-size:clamp(43px,4.4vw,64px);line-height:.95;color:var(--dhs-accent-dark);font-weight:500}
.dhs-price-prefix,.dhs-price-suffix{color:var(--dhs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.dhs-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0 30px;border-top:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14)}
.dhs-detail-fact{position:relative;display:flex!important;flex-direction:column;align-items:center!important;justify-content:center;gap:8px!important;min-height:108px;padding:18px 9px!important;text-align:center;border-right:1px solid rgba(0,0,0,.12)!important}
.dhs-detail-fact:last-child{border-right:0!important}
.dhs-fact-icon{display:block;width:27px;height:27px;color:var(--dhs-accent-dark)}
.dhs-fact-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dhs-fact-copy strong,.dhs-fact-copy small{display:block}
.dhs-fact-copy strong{font-size:13px;font-weight:500;color:var(--dhs-text)}
.dhs-fact-copy small{margin-top:7px;color:var(--dhs-muted);font-size:10px;text-transform:uppercase;letter-spacing:.075em}
.dhs-room-detail .dhs-room-content{font-size:15px;line-height:1.7}
.dhs-detail-amenities{width:100%;margin:32px 0 0;background:#f6f6f6;border:1px solid rgba(0,0,0,.11);border-radius:28px;padding:30px 30px 24px}
.dhs-detail-amenities h2{margin:0 0 26px;font-size:21px;font-weight:500}
.dhs-amenity-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px}
.dhs-amenity-group h3{margin:0 0 13px;color:var(--dhs-accent-dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.dhs-amenity-group ul{list-style:none;margin:0;padding:0}
.dhs-amenity-group li{display:grid;grid-template-columns:19px 1fr;gap:10px;margin:0 0 11px;font-size:14px;line-height:1.55}
.dhs-amenity-group li i{color:var(--dhs-accent-dark);font-style:normal;font-weight:600}
@media(max-width:1199px){.dhs-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.dhs-detail-fact:nth-child(3n){border-right:0!important}.dhs-detail-fact:nth-child(n+4){border-top:1px solid rgba(0,0,0,.12)}}
@media(max-width:760px){.dhs-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-detail-fact:nth-child(3n){border-right:1px solid rgba(0,0,0,.12)!important}.dhs-detail-fact:nth-child(2n){border-right:0!important}.dhs-detail-fact:nth-child(n+3){border-top:1px solid rgba(0,0,0,.12)}.dhs-amenity-groups{grid-template-columns:1fr}.dhs-detail-amenities{padding:25px 24px;border-radius:22px}}

/* Dateck Gallery Engine 0.3 */
.dhs-detail-main-image{touch-action:pan-y;isolation:isolate}
.dhs-detail-slide{transform:scale(1.012);transition:opacity .3s ease,transform .45s ease}
.dhs-detail-slide.is-active{transform:scale(1)}
.dhs-gallery-arrow{display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s ease,transform .2s ease}
.dhs-gallery-arrow:hover{background:rgba(17,17,17,.82);transform:translateY(-50%) scale(1.06)}
.dhs-detail-thumbnails{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px;scrollbar-width:thin}
.dhs-detail-thumb{flex:0 0 92px;scroll-snap-align:center}
.dhs-lightbox{padding:24px;background:rgba(10,10,10,.94);backdrop-filter:blur(5px)}
.dhs-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:min(92vw,1500px);height:min(90vh,1000px);touch-action:none}
.dhs-lightbox-slide{inset:0;flex-direction:column;gap:10px;opacity:0;visibility:hidden;display:flex;transition:opacity .22s ease,visibility .22s ease}
.dhs-lightbox-slide.is-active{opacity:1;visibility:visible}
.dhs-lightbox-slide img{max-width:calc(100% - 150px);max-height:calc(100% - 48px);user-select:none;-webkit-user-drag:none}
.dhs-lightbox-slide figcaption{max-width:min(900px,80vw);color:rgba(255,255,255,.82);font-size:13px;text-align:center}
.dhs-lightbox-arrow{position:absolute;top:50%;z-index:8;transform:translateY(-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(18,18,18,.58);color:#fff;font-size:42px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.dhs-lightbox-arrow:hover{background:rgba(255,255,255,.2);transform:translateY(-50%) scale(1.06)}
.dhs-lightbox-prev{left:18px}.dhs-lightbox-next{right:18px}
.dhs-lightbox-counter{position:absolute;top:16px;right:16px;bottom:auto;left:auto;transform:none;z-index:9;padding:7px 12px;border-radius:999px;background:rgba(15,15,15,.68);color:#fff;font-size:13px}
.dhs-lightbox-close{z-index:10;top:12px;right:18px;border-radius:50%;background:rgba(15,15,15,.35);font-size:40px}
@media(max-width:760px){.dhs-detail-thumb{flex-basis:74px}.dhs-lightbox{padding:8px}.dhs-lightbox-stage{width:100%;height:88vh}.dhs-lightbox-slide img{max-width:100%;max-height:calc(100% - 40px);border-radius:10px}.dhs-lightbox-arrow{width:46px;height:46px;font-size:34px;background:rgba(18,18,18,.68)}.dhs-lightbox-prev{left:8px}.dhs-lightbox-next{right:8px}.dhs-lightbox-counter{top:10px;right:10px}.dhs-lightbox-close{top:4px;right:6px}}

/* 0.3.1 PayPal-Popup */
.dhs-paypal-popup{position:fixed;right:30px;bottom:30px;width:min(340px,calc(100vw - 36px));z-index:999998;display:none;background:#fff;border:1px solid color-mix(in srgb,var(--dhs-accent) 55%,#ddd);border-radius:28px;padding:26px 28px 24px;box-shadow:0 20px 55px rgba(0,0,0,.18);color:#222}.dhs-paypal-popup.is-visible{display:block;animation:dhsPopupIn .35s ease}.dhs-paypal-close{position:absolute;top:13px;right:17px;border:0;background:none;color:#666;font-size:28px;cursor:pointer}.dhs-paypal-badge{display:inline-flex;align-items:center;gap:8px;background:var(--dhs-accent);padding:6px 13px;border-radius:999px;font-size:13px;font-weight:800}.dhs-paypal-logo{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#073b83;color:#fff;font-family:Arial,sans-serif;font-style:italic}.dhs-paypal-popup h3{margin:18px 0 9px;font-size:22px;line-height:1.25}.dhs-paypal-popup p{margin:0 0 21px;color:var(--dhs-muted);line-height:1.65;font-size:14px}.dhs-paypal-button{display:block;padding:14px 18px;border-radius:999px;background:var(--dhs-accent);color:#111!important;text-align:center;text-decoration:none!important;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:.05em}.dhs-paypal-button:hover{background:var(--dhs-accent-dark);color:#111!important}@keyframes dhsPopupIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:520px){.dhs-paypal-popup{right:18px;bottom:18px;padding:23px}}

/* 0.3.1 Hotel-Club-Hinweis */
.dhs-club-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-top:32px;padding:26px 30px;border-radius:18px;background:linear-gradient(135deg,var(--dhs-primary),#292929);color:#fff;box-shadow:0 15px 40px rgba(0,0,0,.12)}.dhs-club-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--dhs-accent);color:#111;font-size:25px}.dhs-club-copy>span{display:block;margin-bottom:4px;color:var(--dhs-accent);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.dhs-club-copy h2{margin:0 0 6px;color:#fff;font-size:22px}.dhs-club-copy p{margin:0;color:#ddd;font-size:14px;line-height:1.55}.dhs-club-notice>a{display:inline-flex;align-items:center;gap:12px;padding:14px 20px;border-radius:999px;background:var(--dhs-accent);color:#111!important;text-decoration:none!important;font-weight:800;white-space:nowrap}.dhs-club-notice>a:hover{background:var(--dhs-accent-dark);color:#111!important}@media(max-width:780px){.dhs-club-notice{grid-template-columns:auto 1fr}.dhs-club-notice>a{grid-column:1/-1;width:100%;justify-content:center}}@media(max-width:520px){.dhs-club-notice{grid-template-columns:1fr;text-align:center}.dhs-club-icon{margin:auto}}

/* 0.5.0 Dateck Website Studio */
.dhs-site-header{position:relative;z-index:9999;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(12px)}.dhs-site-header.is-sticky{position:sticky;top:0}.dhs-site-header__inner{max-width:var(--dhs-container);min-height:82px;margin:auto;padding:0 20px;display:flex;align-items:center;gap:28px}.dhs-site-logo{display:flex;align-items:center;color:var(--dhs-text);text-decoration:none;font-size:20px;font-weight:800}.dhs-site-logo img{display:block;max-width:190px;max-height:62px}.dhs-site-nav{margin-left:auto}.dhs-site-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.dhs-site-nav a{color:var(--dhs-text);text-decoration:none;font-size:14px;font-weight:650}.dhs-site-nav a:hover{color:var(--dhs-accent-dark)}.dhs-site-header__actions{display:flex;align-items:center;gap:14px}.dhs-site-phone{color:var(--dhs-text);text-decoration:none;font-size:13px}.dhs-site-book,.dhs-home-actions a.is-primary{display:inline-flex;padding:13px 20px;border-radius:999px;background:var(--dhs-accent);color:#111!important;text-decoration:none;font-weight:800}.dhs-site-menu-toggle{display:none;margin-left:auto;border:0;background:none;padding:8px}.dhs-site-menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:#111}.dhs-homepage{background:var(--dhs-bg);color:var(--dhs-text)}.dhs-home-hero{min-height:min(78vh,760px);background:#222 center/cover no-repeat;display:flex;align-items:center}.dhs-home-hero__content{width:min(var(--dhs-container),calc(100% - 40px));margin:auto;color:#fff}.dhs-home-hero__content>span,.dhs-home-kicker{display:block;color:var(--dhs-accent);font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.dhs-home-hero h1{max-width:850px;margin:12px 0 18px;color:#fff;font-size:clamp(44px,7vw,86px);line-height:.98}.dhs-home-hero p{max-width:650px;font-size:18px;line-height:1.65}.dhs-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.dhs-home-actions a{display:inline-flex;padding:13px 20px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;text-decoration:none;font-weight:750}.dhs-home-section{max-width:var(--dhs-container);margin:auto;padding:90px 20px}.dhs-home-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.dhs-home-intro h2,.dhs-home-section__head h2{font-size:clamp(34px,4vw,56px);line-height:1.05;margin:12px 0 22px}.dhs-home-intro__copy{font-size:16px;line-height:1.75}.dhs-home-intro__image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--dhs-radius)}.dhs-home-link{display:inline-block;margin-top:16px;color:var(--dhs-accent-dark);font-weight:800;text-decoration:none}.dhs-home-section__head{max-width:720px;margin-bottom:34px}.dhs-home-section__head p{color:var(--dhs-muted)}.dhs-home-club{max-width:calc(var(--dhs-container) - 40px);margin:30px auto 90px;padding:38px 42px;border-radius:28px;background:linear-gradient(135deg,var(--dhs-primary),#2c2c2c);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.dhs-home-club h2{color:#fff;margin:10px 0}.dhs-home-club p{color:#ddd;max-width:720px}.dhs-home-club>a,.dhs-site-footer__button{display:inline-flex;padding:14px 20px;border-radius:999px;background:var(--dhs-accent);color:#111!important;text-decoration:none;font-weight:800;white-space:nowrap}.dhs-site-footer{background:#151515;color:#ddd;padding:70px 20px 20px}.dhs-site-footer__grid,.dhs-site-footer__bottom{max-width:var(--dhs-container);margin:auto}.dhs-site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:50px}.dhs-site-footer h2,.dhs-site-footer h3{color:#fff}.dhs-site-footer h3{font-size:15px}.dhs-site-footer p{line-height:1.65}.dhs-site-footer a{color:#ddd;text-decoration:none}.dhs-site-footer ul{list-style:none;padding:0}.dhs-site-footer li{margin:8px 0}.dhs-site-footer img{max-width:190px;max-height:70px}.dhs-site-footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #333;margin-top:50px;padding-top:20px;font-size:13px;color:#999}
@media(max-width:960px){.dhs-site-menu-toggle{display:block}.dhs-site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px 22px;border-top:1px solid #eee}.dhs-site-header.menu-open .dhs-site-nav{display:block}.dhs-site-nav ul{display:block}.dhs-site-nav li{margin:14px 0}.dhs-site-phone{display:none}.dhs-home-intro{grid-template-columns:1fr;gap:35px}.dhs-site-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.dhs-site-header__inner{min-height:68px}.dhs-site-logo img{max-height:48px;max-width:150px}.dhs-site-book{display:none}.dhs-home-hero{min-height:650px}.dhs-home-section{padding:65px 16px}.dhs-home-club{margin:20px 16px 65px;padding:30px 24px;display:block}.dhs-home-club>a{margin-top:16px}.dhs-site-footer__grid{grid-template-columns:1fr}.dhs-site-footer__bottom{display:block}.dhs-site-footer__bottom span{display:block;margin:7px 0}}

/* Flexible Hero-Höhen 0.5.1 */
.dhs-home-hero{height:var(--dhs-hero-desktop,760px);min-height:var(--dhs-hero-min,420px);background-position:var(--dhs-hero-position,center center);display:flex}.dhs-home-hero--top{align-items:flex-start}.dhs-home-hero--center{align-items:center}.dhs-home-hero--bottom{align-items:flex-end}@media(max-width:1024px){.dhs-home-hero{height:var(--dhs-hero-tablet,620px)}}@media(max-width:640px){.dhs-home-hero{height:var(--dhs-hero-mobile,520px)}}

/* Website Studio modules 0.6.0 */
.dhs-home-section__head--center{text-align:center;margin-left:auto;margin-right:auto}.dhs-feature-grid{display:grid;grid-template-columns:repeat(var(--dhs-feature-cols,3),minmax(0,1fr));gap:56px 48px}.dhs-feature-item{min-width:0}.dhs-feature-icon{display:flex;width:30px;height:30px;margin-bottom:24px;color:var(--dhs-accent-dark)}.dhs-feature-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dhs-feature-item h3{margin:0 0 8px;font-size:20px}.dhs-feature-item p{margin:0;color:var(--dhs-muted);line-height:1.55}.dhs-home-gallery{max-width:none;padding-left:max(20px,calc((100vw - var(--dhs-container))/2));padding-right:max(20px,calc((100vw - var(--dhs-container))/2))}.dhs-home-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:70px;align-items:center}.dhs-home-location h2{font-size:clamp(34px,4vw,56px);line-height:1.08;margin:12px 0 22px}.dhs-home-location__text{line-height:1.75}.dhs-home-location h3{margin:36px 0 16px;color:var(--dhs-accent-dark);font-size:18px}.dhs-home-location ul{list-style:none;margin:0;padding:0}.dhs-home-location li{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.08)}.dhs-home-location li span{color:var(--dhs-muted);text-align:right}.dhs-home-location__map{min-height:420px;border-radius:var(--dhs-radius);overflow:hidden;background:#eee;box-shadow:0 20px 60px rgba(0,0,0,.08)}.dhs-home-location__map iframe{display:block;width:100%;height:100%;min-height:420px;border:0}.dhs-home-shortcode>.dhs-home-section__head:empty{display:none}
@media(max-width:960px){.dhs-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-home-location{grid-template-columns:1fr;gap:35px}.dhs-home-location__map,.dhs-home-location__map iframe{min-height:360px}}
@media(max-width:600px){.dhs-feature-grid{grid-template-columns:1fr;gap:34px}.dhs-home-location li{display:block}.dhs-home-location li span{display:block;margin-top:3px;text-align:left}}


/* Website Studio 0.6.1 – individuelle Section Designs */
.dhs-home-section{padding-top:var(--dhs-section-pt,90px);padding-bottom:var(--dhs-section-pb,90px);background:var(--dhs-section-bg,transparent);color:var(--dhs-section-color,var(--dhs-text));box-shadow:0 0 0 100vmax var(--dhs-section-bg,transparent);clip-path:inset(0 -100vmax)}.dhs-home-section h1,.dhs-home-section h2,.dhs-home-section h3,.dhs-home-section p,.dhs-home-section li,.dhs-home-section strong{color:inherit}.dhs-home-section .dhs-home-kicker,.dhs-home-section .dhs-feature-icon,.dhs-home-section .dhs-home-location h3{color:var(--dhs-accent-dark)}.dhs-home-hero{background-color:var(--dhs-section-bg,#222);color:var(--dhs-section-color,#fff);padding-top:var(--dhs-section-pt,0);padding-bottom:var(--dhs-section-pb,0)}.dhs-home-hero__content,.dhs-home-hero h1,.dhs-home-hero p{color:var(--dhs-section-color,#fff)}

/* 0.6.2: Club form module inside the Website Studio section */
.dhs-home-club-form{max-width:none!important;width:100%;box-sizing:border-box}.dhs-home-club-form>.dhs-club-signup{max-width:var(--dhs-container);margin:0 auto;padding-left:20px;padding-right:20px;box-sizing:border-box}.dhs-home-club-form .dhs-club-signup{--club-accent:var(--dhs-accent);--club-accent-dark:var(--dhs-accent-dark)}

/* 0.6.5 reliable section anchors */
.dhs-home-section,.dhs-home-hero,[data-dhs-anchor]{scroll-margin-top:110px;}
@media(max-width:782px){.dhs-home-section,.dhs-home-hero,[data-dhs-anchor]{scroll-margin-top:84px;}}

/* 0.7.0 Dateck Header Builder */
body.dhs-header-replace-theme #site-header,
body.dhs-header-replace-theme #top-bar-wrap,
body.dhs-header-replace-theme header#masthead:not(.dhs-site-header),
body.dhs-header-replace-theme .site-header:not(.dhs-site-header),
body.dhs-header-replace-theme .oceanwp-mobile-menu-icon,
body.dhs-header-replace-theme .ast-primary-header-bar,
body.dhs-header-replace-theme .site-header-wrap,
body.dhs-header-replace-theme .kadence-sticky-header{display:none!important}
.dhs-site-header{background:var(--dhs-header-bg,#fff);color:var(--dhs-header-text,#1f1f1f);border-bottom:1px solid color-mix(in srgb,var(--dhs-header-text) 12%,transparent)}
.dhs-site-header.is-sticky{position:sticky;top:var(--wp-admin--admin-bar--height,0px)}
.dhs-site-header__inner{min-height:var(--dhs-header-height,82px);max-width:var(--dhs-container);padding:0 20px;gap:24px}
.dhs-site-logo{color:var(--dhs-header-text);flex:0 0 auto}.dhs-site-logo img{max-height:var(--dhs-logo-height,62px);max-width:230px;width:auto}.dhs-logo-dark{display:none!important}
.dhs-site-nav{min-width:0}.dhs-site-nav ul{flex-wrap:nowrap;white-space:nowrap}.dhs-site-nav a{font-size:var(--dhs-menu-font,14px);color:var(--dhs-header-text)}
.dhs-menu-align-left .dhs-site-nav{margin-left:0;margin-right:auto}.dhs-menu-align-center .dhs-site-nav{margin-left:auto;margin-right:auto}.dhs-menu-align-right .dhs-site-nav{margin-left:auto;margin-right:0}
.dhs-site-header__actions{margin-left:auto;flex:0 0 auto}.dhs-menu-align-right .dhs-site-header__actions{margin-left:0}
.dhs-site-phone{display:inline-flex;align-items:center;gap:7px;color:var(--dhs-header-text);white-space:nowrap}.dhs-site-phone svg,.dhs-drawer-phone svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dhs-site-book{background:var(--dhs-accent)!important;color:#111!important;border:0!important;white-space:nowrap}
.dhs-site-language{display:flex;align-items:center;height:44px;border-radius:999px;background:var(--dhs-control-lang-bg,#f1f1f1);padding:4px;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(0,0,0,.025)}
.dhs-site-language button{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;color:var(--dhs-control-lang-inactive-text,#5f5f5f)!important;border-radius:999px!important;padding:0 13px!important;min-width:38px!important;height:36px!important;min-height:36px!important;line-height:1!important;font-size:13px!important;font-weight:800!important;transition:background .18s ease,color .18s ease,transform .18s ease!important}
.dhs-site-language button:hover{color:var(--dhs-control-lang-active-bg,var(--dhs-accent))!important}
.dhs-site-language button.is-active{background:var(--dhs-control-lang-active-bg,var(--dhs-accent))!important;color:var(--dhs-control-lang-active-text,#fff)!important;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.dhs-darkmode-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0!important;border:0!important;border-radius:50%!important;background:var(--dhs-control-dark-bg,#f1f1f1)!important;color:var(--dhs-control-dark-icon,#1f1f1f)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.025);transition:background .18s ease,color .18s ease,transform .18s ease!important}
.dhs-darkmode-toggle:hover{transform:translateY(-1px)}
html.dhs-dark-mode .dhs-darkmode-toggle{background:var(--dhs-control-dark-active-bg,#2b2b2b)!important;color:var(--dhs-control-dark-active-icon,#f7cb68)!important}
.dhs-darkmode-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dhs-site-menu-toggle{color:var(--dhs-header-text);border:1px solid var(--dhs-accent)!important;border-radius:50%!important;width:48px;height:48px;padding:10px!important;background:transparent!important;flex:0 0 auto}.dhs-site-menu-toggle span{width:22px;background:currentColor;margin:4px auto}.dhs-site-menu-toggle.is-always{display:block;margin-left:0}
.dhs-menu-mode-hamburger .dhs-site-nav{display:none}.dhs-menu-mode-hamburger .dhs-site-logo{margin-right:auto}.dhs-menu-mode-hamburger .dhs-site-header__actions{margin-left:auto}
.dhs-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.25s;z-index:10000}.dhs-menu-drawer{position:fixed;top:0;bottom:0;left:0;width:min(390px,88vw);padding:38px 34px;background:var(--dhs-header-bg,#fff);color:var(--dhs-header-text,#111);transform:translateX(-105%);transition:transform .3s ease;z-index:10001;box-shadow:20px 0 60px rgba(0,0,0,.18);overflow:auto}.dhs-menu-drawer__logo img{max-width:190px;max-height:70px}.dhs-menu-close{position:absolute;right:20px;top:18px;border:0!important;background:transparent!important;color:inherit!important;font-size:35px!important;line-height:1!important;padding:5px!important}.dhs-menu-drawer ul{list-style:none;margin:42px 0 30px;padding:0}.dhs-menu-drawer li{margin:0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}.dhs-menu-drawer a:not(.dhs-site-book){display:block;padding:15px 0;color:inherit;text-decoration:none;font-size:18px;font-weight:700}.dhs-drawer-phone{display:flex!important;align-items:center;gap:10px;color:inherit;text-decoration:none;margin:20px 0}.dhs-menu-drawer .dhs-site-book{margin-top:16px}
.dhs-site-header.menu-open .dhs-menu-overlay{opacity:1;visibility:visible}.dhs-site-header.menu-open .dhs-menu-drawer{transform:translateX(0)}html.dhs-menu-open{overflow:hidden}
html.dhs-dark-mode body{background:var(--dhs-dark-background,#151515);color:var(--dhs-dark-text,#fff)}html.dhs-dark-mode .dhs-site-header{--dhs-header-bg:var(--dhs-header-dark-bg,#151515);--dhs-header-text:var(--dhs-header-dark-text,#fff)}html.dhs-dark-mode .dhs-logo-light{display:none!important}html.dhs-dark-mode .dhs-logo-dark{display:block!important}html.dhs-dark-mode .dhs-homepage{background:var(--dhs-dark-background,#151515);color:var(--dhs-dark-text,#fff)}
@media(max-width:1100px){.dhs-site-nav ul{gap:14px}.dhs-site-phone span{display:none}}
@media(max-width:960px){.dhs-menu-mode-normal .dhs-site-menu-toggle{display:block}.dhs-menu-mode-normal .dhs-site-nav{display:none}.dhs-site-header.menu-open .dhs-site-nav{display:none}.dhs-site-phone{display:none}.dhs-site-header__actions{gap:8px}}
@media(max-width:650px){.dhs-site-header__inner{padding:0 14px;gap:10px}.dhs-site-logo img{max-width:155px}.dhs-site-language{display:none}.dhs-darkmode-toggle{width:36px;height:36px}.dhs-site-menu-toggle{width:44px;height:44px}.dhs-site-book{display:none}.dhs-menu-drawer .dhs-site-book{display:inline-flex}}


/* 0.7.1 Header, offcanvas, full width and global dark mode */
.dhs-site-header{position:relative;z-index:9998;overflow:visible!important}
.dhs-site-header.is-sticky{z-index:9998}
.dhs-site-header.is-full-width .dhs-site-header__inner{max-width:none;width:100%;padding-left:clamp(18px,3vw,56px);padding-right:clamp(18px,3vw,56px)}
.dhs-menu-overlay,.dhs-menu-drawer{font-family:inherit}
html.dhs-menu-open .dhs-menu-overlay{opacity:1;visibility:visible;pointer-events:auto}
html.dhs-menu-open .dhs-menu-drawer{transform:translateX(0)}
.dhs-menu-overlay{pointer-events:none}
.dhs-menu-drawer{height:100dvh;max-height:100dvh}
.dhs-menu-drawer .dhs-site-language{display:flex;margin-top:20px;width:max-content}
.dhs-icon-sun{display:none}.dhs-icon-moon,.dhs-icon-sun{line-height:0}
html.dhs-dark-mode .dhs-icon-moon{display:none}html.dhs-dark-mode .dhs-icon-sun{display:inline-flex}
html.dhs-dark-mode .dhs-site-header[data-has-dark-logo="0"] .dhs-logo-light{display:block!important}
html.dhs-dark-mode .dhs-site-header[data-has-dark-logo="0"] .dhs-logo-dark{display:none!important}

/* Complete website dark mode. Sections with custom light colors are converted too. */
html.dhs-dark-mode{color-scheme:dark;--dhs-bg:#171717;--dhs-card:#242424;--dhs-text:#f5f5f5;--dhs-muted:#c1c1c1;--dhs-section-bg:#171717;--dhs-section-color:#f5f5f5}
html.dhs-dark-mode body,
html.dhs-dark-mode #wrap,
html.dhs-dark-mode #main,
html.dhs-dark-mode #content-wrap,
html.dhs-dark-mode #primary,
html.dhs-dark-mode .site-content,
html.dhs-dark-mode .content-area{background:#171717!important;color:#f5f5f5!important}
html.dhs-dark-mode .dhs-home-section,
html.dhs-dark-mode .dhs-home-club-form,
html.dhs-dark-mode .dhs-home-shortcode,
html.dhs-dark-mode .dhs-room-template{background:#171717!important;color:#f5f5f5!important}
html.dhs-dark-mode .dhs-room-card,
html.dhs-dark-mode .dhs-room-template .dhs-room-content,
html.dhs-dark-mode .dhs-room-detail__amenities,
html.dhs-dark-mode .dhs-club-signup__form,
html.dhs-dark-mode .dhs-home-location__map,
html.dhs-dark-mode .gm-card,
html.dhs-dark-mode .gm-mini,
html.dhs-dark-mode .gm-info{background:#242424!important;color:#f5f5f5!important;border-color:#3b3b3b!important}
html.dhs-dark-mode .dhs-homepage h1,
html.dhs-dark-mode .dhs-homepage h2,
html.dhs-dark-mode .dhs-homepage h3,
html.dhs-dark-mode .dhs-homepage h4,
html.dhs-dark-mode .dhs-homepage p,
html.dhs-dark-mode .dhs-homepage li,
html.dhs-dark-mode .dhs-room-template h1,
html.dhs-dark-mode .dhs-room-template h2,
html.dhs-dark-mode .dhs-room-template h3,
html.dhs-dark-mode .dhs-room-template p,
html.dhs-dark-mode .dhs-room-template li{color:inherit!important}
html.dhs-dark-mode input,
html.dhs-dark-mode textarea,
html.dhs-dark-mode select{background:#1b1b1b!important;color:#fff!important;border-color:#494949!important}
html.dhs-dark-mode .dhs-menu-drawer{background:var(--dhs-header-dark-bg,#151515)!important;color:var(--dhs-header-dark-text,#fff)!important}
html.dhs-dark-mode .dhs-menu-overlay{background:rgba(0,0,0,.72)}

/* 0.7.2 Header, full-width dropdown, dark-mode surfaces and GTranslate bridge */
.dhs-site-header{
  background:var(--dhs-header-light-bg,#fff)!important;
  color:var(--dhs-header-light-text,#1f1f1f)!important;
}
.dhs-site-header .dhs-site-logo,
.dhs-site-header .dhs-site-nav a,
.dhs-site-header .dhs-site-phone,
.dhs-site-header .dhs-darkmode-toggle,
.dhs-site-header .dhs-site-menu-toggle{color:inherit!important}
html.dhs-dark-mode .dhs-site-header{
  background:var(--dhs-header-dark-bg,#151515)!important;
  color:var(--dhs-header-dark-text,#fff)!important;
  border-bottom-color:rgba(255,255,255,.12)!important;
}
.dhs-gtranslate-bridge{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.dhs-gtranslate-bridge .gtranslate_wrapper,.dhs-gtranslate-bridge select,.dhs-gtranslate-bridge a{display:block!important}

/* Central-style full-width dropdown menu */
.dhs-menu-drawer{
  left:0!important;right:0!important;top:var(--dhs-header-height,82px)!important;bottom:auto!important;
  width:100%!important;max-width:none!important;height:auto!important;max-height:calc(100dvh - var(--dhs-header-height,82px))!important;
  padding:clamp(28px,4vw,58px) clamp(24px,4vw,64px)!important;
  transform:translateY(-115%)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.25)!important;
  border-radius:0!important;
}
html.admin-bar .dhs-menu-drawer{top:calc(var(--dhs-header-height,82px) + var(--wp-admin--admin-bar--height,32px))!important;max-height:calc(100dvh - var(--dhs-header-height,82px) - var(--wp-admin--admin-bar--height,32px))!important}
html.dhs-menu-open .dhs-menu-drawer{transform:translateY(0)!important}
.dhs-menu-drawer__logo{display:none}
.dhs-menu-drawer .dhs-menu-close{right:clamp(20px,3vw,48px);top:18px}
.dhs-menu-drawer nav{max-width:var(--dhs-container);margin:0 auto}
.dhs-menu-drawer ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 50px;margin:0;padding:0 70px 0 0}
.dhs-menu-drawer li{border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.dhs-menu-drawer a:not(.dhs-site-book){padding:16px 0;font-size:clamp(16px,1.5vw,21px)}
.dhs-menu-drawer .dhs-drawer-phone,.dhs-menu-drawer>.dhs-site-book{max-width:var(--dhs-container);margin-left:auto;margin-right:auto}
html.dhs-dark-mode .dhs-menu-drawer{background:var(--dhs-header-dark-bg,#151515)!important;color:var(--dhs-header-dark-text,#fff)!important}
@media(max-width:800px){.dhs-menu-drawer ul{grid-template-columns:1fr;padding-right:45px}.dhs-menu-drawer{top:var(--dhs-header-height,68px)!important}}

/* Button icon represents the active appearance: sun in light mode, moon in dark mode. */
.dhs-icon-sun{display:inline-flex!important}.dhs-icon-moon{display:none!important}
html.dhs-dark-mode .dhs-icon-sun{display:none!important}html.dhs-dark-mode .dhs-icon-moon{display:inline-flex!important}

/* Use saved dark design colors on the complete viewport and every full-width section. */
html.dhs-dark-mode{
  --dhs-bg:var(--dhs-dark-background,#171717);
  --dhs-card:var(--dhs-dark-card,#242424);
  --dhs-text:var(--dhs-dark-text,#f5f5f5);
  --dhs-muted:color-mix(in srgb,var(--dhs-dark-text,#f5f5f5) 72%,transparent);
}
html.dhs-dark-mode body,html.dhs-dark-mode #wrap,html.dhs-dark-mode #main,html.dhs-dark-mode #content-wrap,html.dhs-dark-mode #primary,html.dhs-dark-mode .site-content,html.dhs-dark-mode .content-area,html.dhs-dark-mode .dhs-homepage,html.dhs-dark-mode .dhs-room-template{background:var(--dhs-dark-background,#171717)!important;color:var(--dhs-dark-text,#f5f5f5)!important}
html.dhs-dark-mode .dhs-home-section{
  --dhs-section-bg:var(--dhs-section-dark-bg,var(--dhs-dark-background,#171717))!important;
  --dhs-section-color:var(--dhs-section-dark-color,var(--dhs-dark-text,#f5f5f5))!important;
  /* Use the resolved section variables for both the inner area and the
     full-width paint. This keeps custom section colors full width in dark mode. */
  background:var(--dhs-section-bg)!important;
  color:var(--dhs-section-color)!important;
  box-shadow:0 0 0 100vmax var(--dhs-section-bg)!important;
}
html.dhs-dark-mode .dhs-room-card,
html.dhs-dark-mode .dhs-room-body,
html.dhs-dark-mode .dhs-room-template .dhs-room-content,
html.dhs-dark-mode .dhs-detail-amenities,
html.dhs-dark-mode .dhs-club-signup__form,
html.dhs-dark-mode .dhs-home-club-form,
html.dhs-dark-mode .dhs-home-location__map,
html.dhs-dark-mode .dhs-booking-cta,
html.dhs-dark-mode .dhs-paypal-popup,
html.dhs-dark-mode .gm-card,
html.dhs-dark-mode .gm-mini,
html.dhs-dark-mode .gm-info{background:var(--dhs-dark-card,#242424)!important;color:var(--dhs-dark-text,#f5f5f5)!important;border-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 18%,transparent)!important}
html.dhs-dark-mode .dhs-detail-amenities h2,
html.dhs-dark-mode .dhs-amenity-group li,
html.dhs-dark-mode .dhs-room-content,
html.dhs-dark-mode .dhs-detail-summary,
html.dhs-dark-mode .dhs-detail-summary h1,
html.dhs-dark-mode .dhs-detail-facts strong,
html.dhs-dark-mode .dhs-booking-text strong,
html.dhs-dark-mode .dhs-booking-text span{color:var(--dhs-dark-text,#f5f5f5)!important}
html.dhs-dark-mode .dhs-detail-price,html.dhs-dark-mode .dhs-detail-facts,html.dhs-dark-mode .dhs-detail-facts>div{border-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 18%,transparent)!important}
html.dhs-dark-mode .dhs-booking-secondary{background:var(--dhs-dark-card,#242424)!important}
.dhs-site-header,.dhs-site-header.is-sticky{z-index:10002!important}
.dhs-menu-overlay{top:var(--dhs-header-height,82px)!important;z-index:9999!important}
html.admin-bar .dhs-menu-overlay{top:calc(var(--dhs-header-height,82px) + var(--wp-admin--admin-bar--height,32px))!important}
.dhs-menu-drawer{z-index:10001!important}


/* 0.7.3 clean full-width menu */
.dhs-menu-drawer{padding:0!important;overflow:auto!important}
.dhs-menu-drawer>nav{width:min(var(--dhs-container,1200px),calc(100% - 60px));margin:0 auto;padding:0 0 28px}
.dhs-menu-drawer>nav ul{margin:0!important;padding:0!important;list-style:none!important}
.dhs-menu-drawer>nav li{margin:0!important;padding:0!important}
.dhs-menu-drawer>nav a{display:block!important;padding:18px 0!important;border:0!important;text-decoration:none!important;color:inherit!important;font-weight:600!important;text-transform:uppercase}
.dhs-menu-drawer>nav a:hover,.dhs-menu-drawer>nav .current-menu-item>a{color:var(--dhs-accent)!important}
.dhs-menu-close,.dhs-menu-drawer__logo,.dhs-drawer-phone,.dhs-menu-drawer>.dhs-site-book{display:none!important}
@media(max-width:640px){.dhs-menu-drawer>nav{width:calc(100% - 36px)}}


/* 0.7.4 – Central-style single-column dropdown and configurable heading colors */
.dhs-menu-drawer > nav{
  width:min(var(--dhs-container,1200px),calc(100% - 60px))!important;
  margin:0 auto!important;
  padding:18px 0 34px!important;
}
.dhs-menu-drawer > nav > ul,
.dhs-menu-drawer > nav ul{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  white-space:normal!important;
}
.dhs-menu-drawer > nav li{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.dhs-menu-drawer > nav a,
.dhs-menu-drawer > nav a:not(.dhs-site-book){
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  padding:14px 0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
  background:transparent!important;
  color:inherit!important;
  font-size:var(--dhs-menu-font,14px)!important;
  font-weight:600!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
}
.dhs-menu-drawer > nav a::before,
.dhs-menu-drawer > nav a::after{display:none!important;content:none!important}
.dhs-menu-drawer > nav a:hover,
.dhs-menu-drawer > nav .current-menu-item > a,
.dhs-menu-drawer > nav .current_page_item > a{color:var(--dhs-accent)!important;text-decoration:none!important}

/* Heading colors are independent from normal body text. */
.dhs-homepage h1,.dhs-homepage h2,.dhs-homepage h3,
.dhs-room-template h1,.dhs-room-template h2,.dhs-room-template h3,
.dhs-club-signup__title,.dhs-club-signup__subtitle,
.dhs-site-footer h1,.dhs-site-footer h2,.dhs-site-footer h3{
  color:var(--dhs-heading,var(--dhs-text,#1f1f1f));
}
html.dhs-dark-mode .dhs-homepage h1,
html.dhs-dark-mode .dhs-homepage h2,
html.dhs-dark-mode .dhs-homepage h3,
html.dhs-dark-mode .dhs-room-template h1,
html.dhs-dark-mode .dhs-room-template h2,
html.dhs-dark-mode .dhs-room-template h3,
html.dhs-dark-mode .dhs-club-signup__title,
html.dhs-dark-mode .dhs-club-signup__subtitle,
html.dhs-dark-mode .dhs-club-signup__intro h1,
html.dhs-dark-mode .dhs-club-signup__intro h2,
html.dhs-dark-mode .dhs-club-signup__intro h3{
  color:var(--dhs-dark-heading,#e8e8e8)!important;
}
html.dhs-dark-mode .dhs-club-signup__description,
html.dhs-dark-mode .dhs-club-signup__benefit-text{
  color:var(--dhs-dark-text,#f5f5f5)!important;
}
@media(max-width:640px){.dhs-menu-drawer > nav{width:calc(100% - 36px)!important}}


/* 0.7.5 – full-width menu alignment and independent Hero colors */
.dhs-menu-drawer > nav{
  padding-top:42px!important;
  padding-bottom:46px!important;
}
.dhs-site-header.is-full-width .dhs-menu-drawer > nav{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:clamp(18px,3vw,56px)!important;
  padding-right:clamp(18px,3vw,56px)!important;
  text-align:left!important;
}
.dhs-site-header.is-full-width .dhs-menu-drawer > nav a{
  margin-left:0!important;
  margin-right:auto!important;
  text-align:left!important;
}
.dhs-home-hero .dhs-home-hero__content > span{
  color:var(--dhs-hero-eyebrow-color,var(--dhs-accent))!important;
}
.dhs-homepage .dhs-home-hero h1,
html.dhs-dark-mode .dhs-homepage .dhs-home-hero h1{
  color:var(--dhs-hero-heading-color,#fff)!important;
}
.dhs-homepage .dhs-home-hero p,
html.dhs-dark-mode .dhs-homepage .dhs-home-hero p{
  color:var(--dhs-hero-body-color,#fff)!important;
}
@media(max-width:640px){
  .dhs-site-header.is-full-width .dhs-menu-drawer > nav{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* 0.7.6 – align portalized full-width menu with the hamburger button */
.dhs-menu-drawer.is-header-full-width > nav{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:42px!important;
  padding-right:clamp(18px,3vw,56px)!important;
  padding-bottom:46px!important;
  padding-left:var(--dhs-menu-start,20px)!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.dhs-menu-drawer.is-header-full-width > nav ul,
.dhs-menu-drawer.is-header-full-width > nav li,
.dhs-menu-drawer.is-header-full-width > nav a{
  width:auto!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
@media(max-width:640px){
  .dhs-menu-drawer.is-header-full-width > nav{
    padding-left:var(--dhs-menu-start,18px)!important;
    padding-right:18px!important;
  }
}

/* 0.7.7 PayPal heading follows the global heading colors */
.dhs-paypal-popup h3{color:var(--dhs-heading,var(--dhs-text,#1f1f1f))!important}
html.dhs-dark-mode .dhs-paypal-popup h3{color:var(--dhs-dark-heading,var(--dhs-dark-text,#e8e8e8))!important}


/* 0.7.8 – klickbare Zimmerkarten im Central-Stil */
.dhs-room-card-link{display:block;color:inherit!important;text-decoration:none!important;border-radius:var(--dhs-radius);height:100%}
.dhs-room-card-link:focus-visible{outline:3px solid var(--dhs-accent);outline-offset:4px}
.dhs-room-card-link .dhs-room-card{height:100%;display:flex;flex-direction:column;background:var(--dhs-card);overflow:hidden}
.dhs-room-card-link .dhs-room-body{display:flex;flex:1;flex-direction:column;padding:26px 28px 28px}
.dhs-room-card-link .dhs-room-body h3{margin:4px 0 10px;font-size:21px;line-height:1.25;color:var(--dhs-heading,var(--dhs-text))}
.dhs-room-card-description{margin:0 0 14px!important;color:var(--dhs-text)!important;line-height:1.55!important}
.dhs-room-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px}
.dhs-room-card-tags span{padding:9px 13px;border-radius:999px;background:color-mix(in srgb,var(--dhs-accent) 14%,var(--dhs-card));color:var(--dhs-text);font-size:12px;line-height:1}
.dhs-room-details-link{display:inline-flex;align-items:center;gap:10px;margin-top:auto;color:var(--dhs-accent-dark);font-size:16px;text-decoration:underline;text-underline-offset:4px}
.dhs-room-details-link b{font-size:20px;font-weight:400;transition:transform .2s ease}
.dhs-room-card-link:hover .dhs-room-details-link b{transform:translateX(4px)}
.dhs-room-card-link:hover .dhs-room-card{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.11)}
.dhs-room-card-link:hover img{transform:scale(1.035)}
html.dhs-dark-mode .dhs-room-card-tags span{background:color-mix(in srgb,var(--dhs-accent) 18%,var(--dhs-dark-card,#242424));color:var(--dhs-dark-text,#fff)}
html.dhs-dark-mode .dhs-room-card-link .dhs-room-body h3{color:var(--dhs-dark-heading,#f3f3f3)}
html.dhs-dark-mode .dhs-room-card-description{color:var(--dhs-dark-text,#fff)!important}

/* 0.7.8 – eigenständige Farben des Club-Hinweises */
.dhs-club-notice{background:var(--club-banner-bg,#1b1b1b)!important;color:var(--club-text,#e5e5e5)!important}
.dhs-club-icon{background:var(--club-eyebrow,var(--dhs-accent))!important;color:var(--club-button-text,#111)!important}
.dhs-club-copy>span{color:var(--club-eyebrow,var(--dhs-accent))!important}
.dhs-club-copy h2{color:var(--club-heading,#fff)!important}
.dhs-club-copy p{color:var(--club-text,#e5e5e5)!important}
.dhs-club-notice>a{background:var(--club-button-bg,var(--dhs-accent))!important;color:var(--club-button-text,#111)!important}
html.dhs-dark-mode .dhs-club-notice{background:var(--club-dark-banner-bg,#202020)!important;color:var(--club-dark-text,#ddd)!important}
html.dhs-dark-mode .dhs-club-icon{background:var(--club-dark-eyebrow,var(--dhs-accent))!important;color:var(--club-dark-button-text,#111)!important}
html.dhs-dark-mode .dhs-club-copy>span{color:var(--club-dark-eyebrow,var(--dhs-accent))!important}
html.dhs-dark-mode .dhs-club-copy h2{color:var(--club-dark-heading,#f3f3f3)!important}
html.dhs-dark-mode .dhs-club-copy p{color:var(--club-dark-text,#ddd)!important}
html.dhs-dark-mode .dhs-club-notice>a{background:var(--club-dark-button-bg,var(--dhs-accent))!important;color:var(--club-dark-button-text,#111)!important}

/* 0.7.9 – classic room cards with full-card click target */
.dhs-room-card-classic{position:relative;height:100%;display:flex;flex-direction:column;background:var(--dhs-card);overflow:hidden}
.dhs-room-card-classic .dhs-room-card-hitarea{position:absolute;inset:0;z-index:1;border-radius:inherit;text-decoration:none!important}
.dhs-room-card-classic .dhs-room-image{position:relative;z-index:0}
.dhs-room-card-classic .dhs-room-body{display:flex;flex:1;flex-direction:column;padding:24px}
.dhs-room-card-classic .dhs-room-body h3{margin:14px 0 8px;font-size:24px;line-height:1.25;color:var(--dhs-heading,var(--dhs-text))}
.dhs-room-card-classic .dhs-room-subtitle{margin:0 0 10px;color:var(--dhs-muted);font-size:14px;font-weight:650;line-height:1.6}
.dhs-room-card-classic .dhs-room-card-description{margin:0 0 12px!important;color:var(--dhs-muted)!important;line-height:1.6!important}
.dhs-room-card-classic .dhs-room-facts{margin-top:auto;padding-top:8px}
.dhs-room-card-classic .dhs-room-foot{margin-top:14px}
.dhs-room-card-classic .dhs-room-card-button{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;background:var(--dhs-accent);color:#111!important;border-radius:999px;font-weight:750;text-decoration:none!important;white-space:nowrap}
.dhs-room-card-classic .dhs-room-card-button:hover{background:var(--dhs-accent-dark);color:#111!important}
.dhs-room-card-classic:focus-within{outline:3px solid var(--dhs-accent);outline-offset:4px}
.dhs-room-card-classic:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.11)}
.dhs-room-card-classic:hover .dhs-room-image img{transform:scale(1.035)}
html.dhs-dark-mode .dhs-room-card-classic .dhs-room-body h3{color:var(--dhs-dark-heading,#f3f3f3)}
html.dhs-dark-mode .dhs-room-card-classic .dhs-room-subtitle,
html.dhs-dark-mode .dhs-room-card-classic .dhs-room-card-description{color:var(--dhs-dark-text,#fff)!important}
@media(max-width:620px){.dhs-room-card-classic .dhs-room-foot{align-items:flex-start}.dhs-room-card-classic .dhs-room-card-button{padding-inline:16px}}


/* 0.7.13 – selectable mobile header variants */
.dhs-book-mobile{display:none}
@media(max-width:650px){
  .dhs-site-header__inner{min-height:64px;padding-left:16px!important;padding-right:16px!important;gap:10px}
  .dhs-site-header .dhs-site-menu-toggle{display:flex!important;align-items:center;justify-content:center;margin:0!important;order:1;flex:0 0 auto}
  .dhs-site-header .dhs-site-logo{order:2;min-width:0;margin:0!important;flex:1 1 auto}
  .dhs-site-header .dhs-site-logo img{height:var(--dhs-mobile-logo-height,44px)!important;max-height:var(--dhs-mobile-logo-height,44px)!important;max-width:100%!important;width:auto!important}
  .dhs-site-header .dhs-site-header__actions{order:3;margin-left:auto!important;gap:7px;flex:0 0 auto}
  .dhs-site-header .dhs-site-phone{display:none!important}
  .dhs-site-header__actions[data-mobile-language="0"] .dhs-site-language{display:none!important}
  .dhs-site-header__actions[data-mobile-language="1"] .dhs-site-language{display:flex!important}
  .dhs-site-header__actions[data-mobile-darkmode="0"] .dhs-darkmode-toggle{display:none!important}
  .dhs-site-header__actions[data-mobile-button="0"] .dhs-site-book{display:none!important}
  .dhs-site-header__actions[data-mobile-button="1"] .dhs-site-book{display:inline-flex!important;min-height:42px;padding:10px 15px;font-size:12px;white-space:nowrap}
  .dhs-book-desktop{display:none}.dhs-book-mobile{display:inline}
  .dhs-site-language{height:42px;padding:4px}.dhs-site-language button{min-width:34px!important;height:34px!important;min-height:34px!important;padding:0 9px!important;font-size:12px!important}
  .dhs-darkmode-toggle{width:42px;height:42px;flex:0 0 42px}
  .dhs-site-menu-toggle{width:46px;height:46px;flex:0 0 46px}
  .dhs-mobile-type-logo .dhs-site-logo{display:flex}
  .dhs-mobile-type-compact .dhs-site-logo{display:none!important}
  .dhs-mobile-type-compact .dhs-site-header__inner{justify-content:flex-start}
  .dhs-mobile-type-compact .dhs-site-header__actions{display:flex;flex:1 1 auto;justify-content:flex-end}
  .dhs-mobile-type-logo_language .dhs-site-logo{display:flex;flex:1 1 auto}
  .dhs-mobile-type-logo_language .dhs-site-header__actions{display:flex}
  .dhs-mobile-type-logo_language .dhs-site-book{display:none!important}
}
@media(max-width:410px){
  .dhs-site-header__inner{padding-left:10px!important;padding-right:10px!important;gap:6px}
  .dhs-mobile-type-logo_language .dhs-site-logo img{max-width:115px!important}
  .dhs-site-language button{min-width:30px;padding-inline:6px}
  .dhs-site-header__actions[data-mobile-button="1"] .dhs-site-book{padding-inline:11px}
}


/* 0.7.14 – stable CSS hamburger for every desktop/mobile header variant */
.dhs-site-header .dhs-site-menu-toggle{
  position:relative;
  display:none;
  align-items:center;
  justify-content:center;
  color:var(--dhs-header-text,currentColor)!important;
  overflow:visible;
}
.dhs-site-header .dhs-site-menu-toggle::before,
.dhs-site-header .dhs-site-menu-toggle::after,
.dhs-site-header .dhs-site-menu-toggle>span{
  content:"";
  position:absolute;
  left:50%;
  width:22px!important;
  height:2px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px;
  background:currentColor!important;
  opacity:1;
  transform:translateX(-50%);
  transform-origin:center;
  transition:top .22s ease,transform .22s ease,opacity .16s ease,background-color .2s ease;
  pointer-events:none;
}
.dhs-site-header .dhs-site-menu-toggle::before{top:15px}
.dhs-site-header .dhs-site-menu-toggle>span{top:22px}
.dhs-site-header .dhs-site-menu-toggle::after{top:29px}
.dhs-site-header .dhs-site-menu-toggle[aria-expanded="true"]::before{
  top:22px;
  transform:translateX(-50%) rotate(45deg);
}
.dhs-site-header .dhs-site-menu-toggle[aria-expanded="true"]>span{opacity:0}
.dhs-site-header .dhs-site-menu-toggle[aria-expanded="true"]::after{
  top:22px;
  transform:translateX(-50%) rotate(-45deg);
}
.dhs-menu-mode-hamburger .dhs-site-menu-toggle.is-always{display:flex!important}
@media(max-width:960px){
  .dhs-menu-mode-normal .dhs-site-menu-toggle{display:flex!important}
}

/* 0.7.15 – Über-uns-Modul */
.dhs-home-intro.no-image{display:block}.dhs-home-intro.no-image .dhs-home-intro__copy{width:100%;max-width:none}.dhs-home-intro__copy h2{line-height:1.08}


/* 0.8.0 – gemeinsame Section-Typografie */
.dhs-home-section h2,.dhs-home-hero h1{font-size:var(--dhs-section-heading-desktop,48px);line-height:1.08}
.dhs-home-section p,.dhs-home-section li,.dhs-home-section .dhs-home-location__text,.dhs-home-hero p{font-size:var(--dhs-section-body-desktop,16px)}
.dhs-feature-item__link{display:block;color:inherit;text-decoration:none}
.dhs-feature-item__link:hover{color:inherit}
.dhs-feature-item__link:hover h3{color:var(--dhs-accent-dark)}
@media(max-width:960px){.dhs-home-section h2,.dhs-home-hero h1{font-size:var(--dhs-section-heading-tablet,42px)}.dhs-home-section p,.dhs-home-section li,.dhs-home-section .dhs-home-location__text,.dhs-home-hero p{font-size:var(--dhs-section-body-tablet,16px)}}
@media(max-width:600px){.dhs-home-section h2,.dhs-home-hero h1{font-size:var(--dhs-section-heading-mobile,34px)}.dhs-home-section p,.dhs-home-section li,.dhs-home-section .dhs-home-location__text,.dhs-home-hero p{font-size:var(--dhs-section-body-mobile,15px)}}

/* 0.8.1 – gemeinsame Dateck Icons */
.dhs-icon-svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* 0.9.0 – Dateck Hotel Gallery */
.dhs-hotel-gallery{width:100%;min-width:0}.dhs-hotel-gallery .dhs-detail-main-image{aspect-ratio:16/9;border-radius:var(--dhs-radius);box-shadow:0 20px 55px rgba(0,0,0,.10)}.dhs-gallery-ratio-4-3 .dhs-detail-main-image{aspect-ratio:4/3}.dhs-gallery-ratio-3-2 .dhs-detail-main-image{aspect-ratio:3/2}.dhs-gallery-ratio-auto .dhs-detail-main-image{aspect-ratio:auto;min-height:460px}.dhs-hotel-gallery--panorama .dhs-detail-main-image{aspect-ratio:21/8}.dhs-hotel-gallery .dhs-detail-thumbnails{display:flex;grid-template-columns:none;gap:10px;overflow-x:auto;padding:3px 1px 8px;scrollbar-width:thin}.dhs-hotel-gallery .dhs-detail-thumb{flex:0 0 118px;height:78px}.dhs-hotel-gallery__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dhs-hotel-gallery__tile{position:relative;width:100%;height:auto;min-height:220px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#eee;cursor:zoom-in}.dhs-hotel-gallery__tile img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;transition:transform .35s ease}.dhs-hotel-gallery__tile:hover img{transform:scale(1.035)}.dhs-hotel-gallery__tile span{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;border-radius:10px;background:rgba(15,15,15,.64);color:#fff;font-size:12px;text-align:left}.dhs-hotel-gallery--masonry .dhs-hotel-gallery__tiles{display:block;columns:3;column-gap:14px}.dhs-hotel-gallery--masonry .dhs-hotel-gallery__tile{display:block;min-height:0;margin:0 0 14px;break-inside:avoid}.dhs-hotel-gallery--masonry .dhs-hotel-gallery__tile img{height:auto;min-height:0}.dhs-gallery-hidden-stage{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important}.dhs-hotel-gallery--grid .dhs-detail-thumb,.dhs-hotel-gallery--masonry .dhs-detail-thumb{opacity:1;border:0}.dhs-hotel-gallery--grid .dhs-detail-thumb.is-active,.dhs-hotel-gallery--masonry .dhs-detail-thumb.is-active{border:0}.dhs-dark-mode .dhs-hotel-gallery__tile{background:var(--dhs-dark-card)}@media(max-width:800px){.dhs-hotel-gallery__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-hotel-gallery--masonry .dhs-hotel-gallery__tiles{columns:2}.dhs-hotel-gallery--panorama .dhs-detail-main-image{aspect-ratio:16/9}.dhs-gallery-ratio-auto .dhs-detail-main-image{min-height:300px}}@media(max-width:520px){.dhs-hotel-gallery__tiles{grid-template-columns:1fr}.dhs-hotel-gallery--masonry .dhs-hotel-gallery__tiles{columns:1}.dhs-hotel-gallery__tile{min-height:210px}.dhs-hotel-gallery .dhs-detail-thumb{flex-basis:86px;height:62px}}

/* 0.9.1 Central compact bento gallery */
.dhs-hotel-gallery--central{position:relative;width:100%;isolation:isolate}
.dhs-bento-nav{display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px}
.dhs-bento-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(0,0,0,.13);border-radius:50%;background:var(--dhs-card,#fff);color:var(--dhs-text,#111);font-size:27px;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}
.dhs-bento-arrow:hover{transform:translateY(-2px);background:var(--dhs-bg,#f5f5f5)}
.dhs-bento-arrow:disabled{opacity:.34;cursor:default;transform:none}
.dhs-bento-viewport{width:100%;overflow:hidden}
.dhs-bento-track{display:flex;width:100%;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform}
.dhs-bento-page{flex:0 0 100%;display:grid;grid-template-columns:2.1fr 1.55fr 1.55fr .75fr;grid-template-rows:1fr 1fr;gap:14px;height:500px;min-width:0}
.dhs-bento-item{position:relative;display:block;width:100%;height:100%!important;min-width:0;min-height:0;padding:0!important;margin:0!important;border:0!important;border-radius:20px!important;overflow:hidden;background:#ececec;cursor:zoom-in;opacity:1!important;box-shadow:none!important}
.dhs-bento-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.dhs-bento-item:hover img{transform:scale(1.025)}
.dhs-bento-item span{position:absolute;left:12px;right:12px;bottom:12px;padding:7px 10px;border-radius:10px;background:rgba(16,16,16,.62);color:#fff;font-size:12px;text-align:left;opacity:0;transform:translateY(5px);transition:.2s}
.dhs-bento-item:hover span{opacity:1;transform:none}
.dhs-bento-item--tall-left{grid-column:1;grid-row:1/3}
.dhs-bento-item--top-mid{grid-column:2;grid-row:1}
.dhs-bento-item--bottom-mid{grid-column:2;grid-row:2}
.dhs-bento-item--tall-right{grid-column:3;grid-row:1/3}
.dhs-bento-item--top-slim{grid-column:4;grid-row:1}
.dhs-bento-item--bottom-slim{grid-column:4;grid-row:2}
.dhs-bento-item--default{grid-column:auto;grid-row:auto}
.dhs-dark-mode .dhs-bento-arrow{border-color:rgba(255,255,255,.15);background:var(--dhs-dark-card,#242424);color:var(--dhs-dark-text,#fff)}
.dhs-dark-mode .dhs-bento-item{background:var(--dhs-dark-card,#242424)}
/* Lightbox always belongs to the viewport, never to a transformed/colored section. */
body>.dhs-lightbox{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;z-index:2147483000!important;transform:none!important;overflow:visible!important}
@media(max-width:900px){
  .dhs-bento-page{grid-template-columns:1.7fr 1fr 1fr;grid-template-rows:1fr 1fr;height:430px}
  .dhs-bento-item--tall-left{grid-column:1;grid-row:1/3}
  .dhs-bento-item--top-mid{grid-column:2;grid-row:1}
  .dhs-bento-item--bottom-mid{grid-column:2;grid-row:2}
  .dhs-bento-item--tall-right{grid-column:3;grid-row:1/3}
  .dhs-bento-item--top-slim,.dhs-bento-item--bottom-slim{display:none}
}
@media(max-width:600px){
  .dhs-bento-nav{margin-bottom:12px}
  .dhs-bento-arrow{width:40px;height:40px}
  .dhs-bento-page{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;height:330px;gap:9px}
  .dhs-bento-item{border-radius:14px!important}
  .dhs-bento-item--tall-left{grid-column:1;grid-row:1/3}
  .dhs-bento-item--top-mid{grid-column:2;grid-row:1}
  .dhs-bento-item--bottom-mid{grid-column:2;grid-row:2}
  .dhs-bento-item--tall-right,.dhs-bento-item--top-slim,.dhs-bento-item--bottom-slim{display:none}
}

/* 0.9.2 – Globale Dateck Typografie */
.dhs-site-header,.dhs-site-footer,.dhs-home-section,.dhs-home-hero,.dhs-room-grid,.dhs-room-detail,.dhs-club-signup,.dhs-paypal-popup,.dhs-hotel-gallery{font-family:var(--dhs-font-body,system-ui,sans-serif);font-weight:var(--dhs-body-weight,400);line-height:var(--dhs-body-line-height,1.65);letter-spacing:var(--dhs-body-letter-spacing,0em)}
.dhs-site-header h1,.dhs-site-header h2,.dhs-site-header h3,.dhs-site-footer h1,.dhs-site-footer h2,.dhs-site-footer h3,.dhs-home-section h1,.dhs-home-section h2,.dhs-home-section h3,.dhs-home-hero h1,.dhs-home-hero h2,.dhs-home-hero h3,.dhs-room-grid h1,.dhs-room-grid h2,.dhs-room-grid h3,.dhs-room-detail h1,.dhs-room-detail h2,.dhs-room-detail h3,.dhs-club-signup h1,.dhs-club-signup h2,.dhs-club-signup h3,.dhs-paypal-popup h1,.dhs-paypal-popup h2,.dhs-paypal-popup h3{font-family:var(--dhs-font-heading,system-ui,sans-serif);font-weight:var(--dhs-heading-weight,700);line-height:var(--dhs-heading-line-height,1.12);letter-spacing:var(--dhs-heading-letter-spacing,-.02em)}
.dhs-home-section h1,.dhs-home-hero h1,.dhs-room-detail h1{font-size:var(--dhs-h1-desktop,64px)!important}.dhs-home-section h2,.dhs-room-detail h2,.dhs-club-signup h2{font-size:var(--dhs-h2-desktop,48px)!important}.dhs-home-section h3,.dhs-room-grid h3,.dhs-room-detail h3,.dhs-club-signup h3,.dhs-paypal-popup h3{font-size:var(--dhs-h3-desktop,28px)!important}.dhs-home-section p,.dhs-home-section li,.dhs-home-hero p,.dhs-room-grid p,.dhs-room-detail p,.dhs-room-detail li,.dhs-club-signup p,.dhs-club-signup label,.dhs-paypal-popup p{font-size:var(--dhs-body-desktop,16px)!important}
@media(max-width:960px){.dhs-home-section h1,.dhs-home-hero h1,.dhs-room-detail h1{font-size:var(--dhs-h1-tablet,52px)!important}.dhs-home-section h2,.dhs-room-detail h2,.dhs-club-signup h2{font-size:var(--dhs-h2-tablet,40px)!important}.dhs-home-section h3,.dhs-room-grid h3,.dhs-room-detail h3,.dhs-club-signup h3,.dhs-paypal-popup h3{font-size:var(--dhs-h3-tablet,25px)!important}.dhs-home-section p,.dhs-home-section li,.dhs-home-hero p,.dhs-room-grid p,.dhs-room-detail p,.dhs-room-detail li,.dhs-club-signup p,.dhs-club-signup label,.dhs-paypal-popup p{font-size:var(--dhs-body-tablet,16px)!important}}
@media(max-width:600px){.dhs-home-section h1,.dhs-home-hero h1,.dhs-room-detail h1{font-size:var(--dhs-h1-mobile,40px)!important}.dhs-home-section h2,.dhs-room-detail h2,.dhs-club-signup h2{font-size:var(--dhs-h2-mobile,32px)!important}.dhs-home-section h3,.dhs-room-grid h3,.dhs-room-detail h3,.dhs-club-signup h3,.dhs-paypal-popup h3{font-size:var(--dhs-h3-mobile,22px)!important}.dhs-home-section p,.dhs-home-section li,.dhs-home-hero p,.dhs-room-grid p,.dhs-room-detail p,.dhs-room-detail li,.dhs-club-signup p,.dhs-club-signup label,.dhs-paypal-popup p{font-size:var(--dhs-body-mobile,15px)!important}}


/* 0.9.4 – independently configurable dropdown navigation colors */
.dhs-site-header .dhs-menu-drawer{
  background:var(--dhs-hamburger-bg,#fff)!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}
.dhs-site-header .dhs-menu-drawer > nav a,
.dhs-site-header .dhs-menu-drawer > nav a:not(.dhs-site-book){
  position:relative!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
  padding-left:14px!important;
  padding-right:14px!important;
  border-radius:8px!important;
  transition:color .18s ease,background-color .18s ease,transform .18s ease!important;
}
.dhs-site-header .dhs-menu-drawer > nav a::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:3px!important;
  height:0!important;
  border-radius:999px!important;
  background:var(--dhs-hamburger-hover,#c9952d)!important;
  transform:translateY(-50%)!important;
  transition:height .18s ease!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover{
  color:var(--dhs-hamburger-hover,#c9952d)!important;
  background:var(--dhs-hamburger-hover-bg,transparent)!important;
  transform:translateX(3px)!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover::before{height:54%!important}
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a,
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a{
  color:var(--dhs-hamburger-active,#c9952d)!important;
  background:var(--dhs-hamburger-hover-bg,transparent)!important;
}
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a::before,
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a::before,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a::before{height:54%!important;background:var(--dhs-hamburger-active,#c9952d)!important}
.dhs-site-header.dhs-dropdown-separators .dhs-menu-drawer > nav li+li{
  border-top:1px solid color-mix(in srgb,var(--dhs-hamburger-text,#1f1f1f) 14%,transparent)!important;
}
html.dhs-dark-mode .dhs-site-header .dhs-menu-drawer{
  background:var(--dhs-hamburger-bg,#fff)!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}


/* 0.9.5 – separate classic dropdown and hamburger menu colors */
.dhs-site-menu-toggle{color:var(--dhs-hamburger-icon,var(--dhs-header-text,#111))!important}
.dhs-site-nav li{position:relative}
.dhs-site-nav .sub-menu{position:absolute;top:100%;left:0;min-width:220px;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:10px!important;background:var(--dhs-dropdown-bg,#fff)!important;box-shadow:0 16px 40px rgba(0,0,0,.14);border-radius:12px;z-index:10020;white-space:normal!important}
.dhs-site-nav li:hover>.sub-menu,.dhs-site-nav li:focus-within>.sub-menu{display:flex!important}
.dhs-site-nav .sub-menu a{display:block;padding:11px 12px;border-radius:8px;color:var(--dhs-dropdown-text,#1f1f1f)!important;background:transparent!important}
.dhs-site-nav .sub-menu a:hover{color:var(--dhs-dropdown-hover,#c9952d)!important;background:var(--dhs-dropdown-hover-bg,transparent)!important}
.dhs-site-nav .sub-menu .current-menu-item>a,.dhs-site-nav .sub-menu .current_page_item>a{color:var(--dhs-dropdown-active,#c9952d)!important}
.dhs-site-header.dhs-dropdown-separators .dhs-site-nav .sub-menu li+li{border-top:1px solid color-mix(in srgb,var(--dhs-dropdown-text,#1f1f1f) 14%,transparent)}


/* 0.9.6 – Portalized hamburger drawer uses its own copied color variables. */
body > .dhs-menu-drawer{
  background:var(--dhs-hamburger-bg,#fff)!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}
body > .dhs-menu-drawer > nav a,
body > .dhs-menu-drawer > nav a:not(.dhs-site-book){
  position:relative!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
  padding-left:14px!important;
  padding-right:14px!important;
  border-radius:8px!important;
  transition:color .18s ease,background-color .18s ease,transform .18s ease!important;
}
body > .dhs-menu-drawer > nav a::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:3px!important;
  height:0!important;
  border-radius:999px!important;
  background:var(--dhs-hamburger-hover,#c9952d)!important;
  transform:translateY(-50%)!important;
  transition:height .18s ease!important;
}
body > .dhs-menu-drawer > nav a:hover{
  color:var(--dhs-hamburger-hover,#c9952d)!important;
  background:var(--dhs-hamburger-hover-bg,transparent)!important;
  transform:translateX(3px)!important;
}
body > .dhs-menu-drawer > nav a:hover::before{height:54%!important}
body > .dhs-menu-drawer > nav .current-menu-item > a,
body > .dhs-menu-drawer > nav .current_page_item > a,
body > .dhs-menu-drawer > nav .current-menu-ancestor > a{
  color:var(--dhs-hamburger-active,#c9952d)!important;
  background:var(--dhs-hamburger-hover-bg,transparent)!important;
}
body > .dhs-menu-drawer > nav .current-menu-item > a::before,
body > .dhs-menu-drawer > nav .current_page_item > a::before,
body > .dhs-menu-drawer > nav .current-menu-ancestor > a::before{
  height:54%!important;
  background:var(--dhs-hamburger-active,#c9952d)!important;
}
html.dhs-dark-mode body > .dhs-menu-drawer,
body.dhs-dark-mode > .dhs-menu-drawer{
  background:var(--dhs-hamburger-bg,#fff)!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}


/* 0.9.7 – clean hamburger menu: background + text + hover text only */
.dhs-site-header .dhs-menu-drawer,
body > .dhs-menu-drawer{
  background:var(--dhs-hamburger-bg,#fff)!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}
.dhs-site-header .dhs-menu-drawer > nav a,
.dhs-site-header .dhs-menu-drawer > nav a:not(.dhs-site-book),
body > .dhs-menu-drawer > nav a,
body > .dhs-menu-drawer > nav a:not(.dhs-site-book){
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
  box-shadow:none!important;
  transition:color .18s ease!important;
}
.dhs-site-header .dhs-menu-drawer > nav a::before,
.dhs-site-header .dhs-menu-drawer > nav a::after,
body > .dhs-menu-drawer > nav a::before,
body > .dhs-menu-drawer > nav a::after{
  display:none!important;
  content:none!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible,
body > .dhs-menu-drawer > nav a:hover,
body > .dhs-menu-drawer > nav a:focus-visible{
  color:var(--dhs-hamburger-hover,#c9952d)!important;
  background:transparent!important;
  transform:none!important;
}
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a,
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a,
body > .dhs-menu-drawer > nav .current-menu-item > a,
body > .dhs-menu-drawer > nav .current_page_item > a,
body > .dhs-menu-drawer > nav .current-menu-ancestor > a{
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
  background:transparent!important;
}
.dhs-site-header .dhs-menu-drawer > nav li,
.dhs-site-header .dhs-menu-drawer > nav li+li,
body > .dhs-menu-drawer > nav li,
body > .dhs-menu-drawer > nav li+li{
  border:0!important;
  background:transparent!important;
}

/* 0.9.8 – consistent hamburger link hover, including same-page anchors/current items */
.dhs-site-header .dhs-menu-drawer > nav a,
body > .dhs-menu-drawer > nav a{
  position:relative!important;
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  padding-bottom:6px!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
  text-decoration:none!important;
}
.dhs-site-header .dhs-menu-drawer > nav a::after,
body > .dhs-menu-drawer > nav a::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:1px!important;
  width:100%!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--dhs-hamburger-hover,#c9952d)!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .22s ease!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a:hover,
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a:hover,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a:hover,
body > .dhs-menu-drawer > nav a:hover,
body > .dhs-menu-drawer > nav a:focus-visible,
body > .dhs-menu-drawer > nav .current-menu-item > a:hover,
body > .dhs-menu-drawer > nav .current_page_item > a:hover,
body > .dhs-menu-drawer > nav .current-menu-ancestor > a:hover{
  color:var(--dhs-hamburger-hover,#c9952d)!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover::after,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible::after,
body > .dhs-menu-drawer > nav a:hover::after,
body > .dhs-menu-drawer > nav a:focus-visible::after{
  transform:scaleX(1)!important;
}


/* 0.9.9 – unified menu hover style for normal and hamburger navigation */
.dhs-site-header .dhs-site-nav > ul > li > a,
.dhs-site-header .dhs-menu-drawer > nav a,
body > .dhs-menu-drawer > nav a{
  position:relative!important;
  text-decoration:none!important;
  transition:color var(--dhs-menu-hover-duration,180ms) ease!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a{
  display:inline-block!important;
  padding-bottom:calc(var(--dhs-menu-underline-gap,3px) + var(--dhs-menu-underline-height,2px))!important;
}
.dhs-site-header .dhs-menu-drawer > nav a,
body > .dhs-menu-drawer > nav a{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  padding-bottom:calc(var(--dhs-menu-underline-gap,3px) + var(--dhs-menu-underline-height,2px))!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a::after,
.dhs-site-header .dhs-menu-drawer > nav a::after,
body > .dhs-menu-drawer > nav a::after{
  content:""!important;
  display:var(--dhs-menu-underline-display,block)!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:var(--dhs-menu-underline-height,2px)!important;
  border-radius:999px!important;
  transform:scaleX(0)!important;
  transform-origin:var(--dhs-menu-underline-origin,center) center!important;
  transition:transform var(--dhs-menu-hover-duration,180ms) ease!important;
  pointer-events:none!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a::after{
  background:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d))!important;
}
.dhs-site-header .dhs-menu-drawer > nav a::after,
body > .dhs-menu-drawer > nav a::after{
  background:var(--dhs-hamburger-hover,#c9952d)!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a:hover,
.dhs-site-header .dhs-site-nav > ul > li > a:focus-visible{
  color:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d))!important;
}
.dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a,
.dhs-site-header .dhs-site-nav > ul > li.current_page_item > a,
.dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a{
  color:var(--dhs-menu-active,var(--dhs-menu-hover,#c9952d))!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible,
body > .dhs-menu-drawer > nav a:hover,
body > .dhs-menu-drawer > nav a:focus-visible,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a:hover,
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a:hover,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a:hover,
body > .dhs-menu-drawer > nav .current-menu-item > a:hover,
body > .dhs-menu-drawer > nav .current_page_item > a:hover,
body > .dhs-menu-drawer > nav .current-menu-ancestor > a:hover{
  color:var(--dhs-hamburger-hover,#c9952d)!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a:hover::after,
.dhs-site-header .dhs-site-nav > ul > li > a:focus-visible::after,
.dhs-site-header .dhs-menu-drawer > nav a:hover::after,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible::after,
body > .dhs-menu-drawer > nav a:hover::after,
body > .dhs-menu-drawer > nav a:focus-visible::after{
  transform:scaleX(1)!important;
}
/* Keep submenu links governed by the separate Dropdown Design settings. */
.dhs-site-header .dhs-site-nav .sub-menu a{
  padding-bottom:11px!important;
}
.dhs-site-header .dhs-site-nav .sub-menu a::after{display:none!important}


/* 0.9.10 – one shared hover style for every navigation; hamburger keeps only background/text */
.dhs-site-header .dhs-site-nav > ul > li > a,
.dhs-site-header .dhs-menu-drawer > nav a,
body > .dhs-menu-drawer > nav a{
  position:relative!important;
  display:inline-flex!important;
  width:fit-content!important;
  max-width:100%!important;
  align-items:center!important;
  color:inherit;
  text-decoration:none!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:calc(var(--dhs-menu-underline-gap,3px) + var(--dhs-menu-underline-height,2px))!important;
  transition:color var(--dhs-menu-hover-duration,180ms) ease!important;
}
.dhs-site-header .dhs-menu-drawer > nav li,
body > .dhs-menu-drawer > nav li{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a::after,
.dhs-site-header .dhs-menu-drawer > nav a::after,
body > .dhs-menu-drawer > nav a::after{
  content:""!important;
  display:var(--dhs-menu-underline-display,block)!important;
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:0!important;
  width:100%!important;
  height:var(--dhs-menu-underline-height,2px)!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d))!important;
  transform:scaleX(0)!important;
  transform-origin:var(--dhs-menu-underline-origin,center) center!important;
  transition:transform var(--dhs-menu-hover-duration,180ms) ease!important;
  pointer-events:none!important;
}
/* Normal, active and ancestor items must all react identically on real hover/focus. */
.dhs-site-header .dhs-site-nav > ul > li > a:hover,
.dhs-site-header .dhs-site-nav > ul > li > a:focus-visible,
.dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a:hover,
.dhs-site-header .dhs-site-nav > ul > li.current_page_item > a:hover,
.dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a:hover,
.dhs-site-header .dhs-menu-drawer > nav a:hover,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a:hover,
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a:hover,
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a:hover,
body > .dhs-menu-drawer > nav a:hover,
body > .dhs-menu-drawer > nav a:focus-visible,
body > .dhs-menu-drawer > nav .current-menu-item > a:hover,
body > .dhs-menu-drawer > nav .current_page_item > a:hover,
body > .dhs-menu-drawer > nav .current-menu-ancestor > a:hover{
  color:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d))!important;
}
.dhs-site-header .dhs-site-nav > ul > li > a:hover::after,
.dhs-site-header .dhs-site-nav > ul > li > a:focus-visible::after,
.dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a:hover::after,
.dhs-site-header .dhs-site-nav > ul > li.current_page_item > a:hover::after,
.dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a:hover::after,
.dhs-site-header .dhs-menu-drawer > nav a:hover::after,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible::after,
body > .dhs-menu-drawer > nav a:hover::after,
body > .dhs-menu-drawer > nav a:focus-visible::after{
  transform:scaleX(1)!important;
}
/* Active color applies only while not hovered; hover always wins. */
.dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a:not(:hover),
.dhs-site-header .dhs-site-nav > ul > li.current_page_item > a:not(:hover),
.dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a:not(:hover),
.dhs-site-header .dhs-menu-drawer > nav .current-menu-item > a:not(:hover),
.dhs-site-header .dhs-menu-drawer > nav .current_page_item > a:not(:hover),
.dhs-site-header .dhs-menu-drawer > nav .current-menu-ancestor > a:not(:hover),
body > .dhs-menu-drawer > nav .current-menu-item > a:not(:hover),
body > .dhs-menu-drawer > nav .current_page_item > a:not(:hover),
body > .dhs-menu-drawer > nav .current-menu-ancestor > a:not(:hover){
  color:var(--dhs-menu-active,var(--dhs-menu-hover,#c9952d))!important;
}
/* The open drawer owns only its surface and base text color. */
.dhs-site-header .dhs-menu-drawer,
body > .dhs-menu-drawer{
  background:var(--dhs-hamburger-bg,#fff)!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}
.dhs-site-header .dhs-menu-drawer > nav a:not(:hover),
body > .dhs-menu-drawer > nav a:not(:hover){
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
}
/* Real dropdown submenus keep their separate Dropdown Design and no shared underline. */
.dhs-site-header .dhs-site-nav .sub-menu a{
  display:flex!important;
  width:100%!important;
  padding:11px 14px!important;
}
.dhs-site-header .dhs-site-nav .sub-menu a::after{display:none!important}

/* 0.9.11 – keep hamburger underline strictly at text width */
.dhs-site-header .dhs-menu-drawer > nav li,
body > .dhs-menu-drawer > nav li,
.dhs-site-header .dhs-menu-drawer > nav li.current-menu-item,
body > .dhs-menu-drawer > nav li.current-menu-item{
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.dhs-site-header .dhs-menu-drawer > nav li > a,
body > .dhs-menu-drawer > nav li > a{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.dhs-site-header .dhs-menu-drawer > nav li > a::before,
body > .dhs-menu-drawer > nav li > a::before{
  display:none!important;
  content:none!important;
}
.dhs-site-header .dhs-menu-drawer > nav li > a::after,
body > .dhs-menu-drawer > nav li > a::after{
  left:0!important;
  right:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:var(--dhs-menu-underline-height,2px)!important;
  bottom:0!important;
  border:0!important;
  box-shadow:none!important;
}

/* 0.9.12 – clean hamburger hover and accordion submenus */
.dhs-site-header .dhs-menu-drawer > nav li::before,
.dhs-site-header .dhs-menu-drawer > nav li::after,
body > .dhs-menu-drawer > nav li::before,
body > .dhs-menu-drawer > nav li::after{
  display:none!important;
  content:none!important;
  width:0!important;
  height:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.dhs-site-header .dhs-menu-drawer > nav li,
body > .dhs-menu-drawer > nav li{
  position:relative!important;
  border:0!important;
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.dhs-site-header .dhs-menu-drawer > nav li > a,
body > .dhs-menu-drawer > nav li > a{
  border:0!important;
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
/* Only the link itself may draw the hover underline. */
.dhs-site-header .dhs-menu-drawer > nav li > a::after,
body > .dhs-menu-drawer > nav li > a::after{
  display:var(--dhs-menu-underline-display,block)!important;
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:0!important;
  width:100%!important;
  height:var(--dhs-menu-underline-height,2px)!important;
  background:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d))!important;
  transform:scaleX(0)!important;
  transform-origin:var(--dhs-menu-underline-origin,center) center!important;
  transition:transform var(--dhs-menu-hover-duration,180ms) ease!important;
}
.dhs-site-header .dhs-menu-drawer > nav li > a:hover::after,
.dhs-site-header .dhs-menu-drawer > nav li > a:focus-visible::after,
body > .dhs-menu-drawer > nav li > a:hover::after,
body > .dhs-menu-drawer > nav li > a:focus-visible::after{
  transform:scaleX(1)!important;
}
/* Parent rows with submenus. */
.dhs-site-header .dhs-menu-drawer > nav .menu-item-has-children,
body > .dhs-menu-drawer > nav .menu-item-has-children{
  display:grid!important;
  grid-template-columns:max-content 34px!important;
  align-items:center!important;
  justify-content:start!important;
  column-gap:8px!important;
}
.dhs-site-header .dhs-menu-drawer > nav .menu-item-has-children > a,
body > .dhs-menu-drawer > nav .menu-item-has-children > a{
  grid-column:1!important;
}
.dhs-submenu-toggle{
  grid-column:2!important;
  width:30px!important;
  height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--dhs-hamburger-text,#1f1f1f)!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.dhs-submenu-toggle::before{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transition:transform .2s ease;
}
.menu-item-has-children.is-submenu-open > .dhs-submenu-toggle::before{
  transform:rotate(225deg) translate(-1px,-1px);
}
.dhs-site-header .dhs-menu-drawer > nav .sub-menu,
body > .dhs-menu-drawer > nav .sub-menu{
  grid-column:1 / -1!important;
  display:none!important;
  width:100%!important;
  margin:2px 0 10px 18px!important;
  padding:0!important;
}
.dhs-site-header .dhs-menu-drawer > nav .menu-item-has-children.is-submenu-open > .sub-menu,
body > .dhs-menu-drawer > nav .menu-item-has-children.is-submenu-open > .sub-menu{
  display:block!important;
}
.dhs-site-header .dhs-menu-drawer > nav .sub-menu li,
body > .dhs-menu-drawer > nav .sub-menu li{
  display:block!important;
  width:100%!important;
}
.dhs-site-header .dhs-menu-drawer > nav .sub-menu a,
body > .dhs-menu-drawer > nav .sub-menu a{
  display:inline-block!important;
  width:auto!important;
  max-width:max-content!important;
  padding:9px 0!important;
  font-size:.9em!important;
  font-weight:500!important;
  text-transform:none!important;
  opacity:.82;
}


/* 0.9.13 – draw hamburger hover underline on a dedicated text label only */
.dhs-site-header .dhs-menu-drawer > nav a::before,
.dhs-site-header .dhs-menu-drawer > nav a::after,
body > .dhs-menu-drawer > nav a::before,
body > .dhs-menu-drawer > nav a::after{
  display:none!important;
  content:none!important;
  width:0!important;
  height:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.dhs-menu-link-label{
  position:relative!important;
  display:inline-block!important;
  width:auto!important;
  max-width:100%!important;
  padding-bottom:var(--dhs-menu-underline-gap,3px)!important;
}
.dhs-menu-link-label::after{
  content:"";
  position:absolute;
  left:0;
  right:auto;
  bottom:0;
  width:100%;
  height:var(--dhs-menu-underline-height,2px);
  border-radius:999px;
  background:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d));
  transform:scaleX(0);
  transform-origin:var(--dhs-menu-underline-origin,center) center;
  transition:transform var(--dhs-menu-hover-duration,180ms) ease;
  pointer-events:none;
}
.dhs-site-header .dhs-menu-drawer > nav a:hover .dhs-menu-link-label::after,
.dhs-site-header .dhs-menu-drawer > nav a:focus-visible .dhs-menu-link-label::after,
body > .dhs-menu-drawer > nav a:hover .dhs-menu-link-label::after,
body > .dhs-menu-drawer > nav a:focus-visible .dhs-menu-link-label::after{
  transform:scaleX(1);
}

/* 0.9.14 – hard reset theme-generated active/current menu lines inside the hamburger drawer */
.dhs-site-header .dhs-menu-drawer nav *,
body > .dhs-menu-drawer nav *{
  border-bottom:0!important;
  box-shadow:none!important;
}
.dhs-site-header .dhs-menu-drawer nav *::before,
.dhs-site-header .dhs-menu-drawer nav *::after,
body > .dhs-menu-drawer nav *::before,
body > .dhs-menu-drawer nav *::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
/* Restore only the intentional text-width underline. */
.dhs-site-header .dhs-menu-drawer .dhs-menu-link-label::after,
body > .dhs-menu-drawer .dhs-menu-link-label::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:100%!important;
  height:var(--dhs-menu-underline-height,2px)!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--dhs-menu-hover,var(--dhs-accent-dark,#c9952d))!important;
  transform:scaleX(0)!important;
  transform-origin:var(--dhs-menu-underline-origin,center) center!important;
  transition:transform var(--dhs-menu-hover-duration,180ms) ease!important;
}
.dhs-site-header .dhs-menu-drawer a:hover .dhs-menu-link-label::after,
.dhs-site-header .dhs-menu-drawer a:focus-visible .dhs-menu-link-label::after,
body > .dhs-menu-drawer a:hover .dhs-menu-link-label::after,
body > .dhs-menu-drawer a:focus-visible .dhs-menu-link-label::after{
  transform:scaleX(1)!important;
}
/* Restore submenu chevron only. */
.dhs-site-header .dhs-menu-drawer .dhs-submenu-toggle::before,
body > .dhs-menu-drawer .dhs-submenu-toggle::before{
  content:""!important;
  display:block!important;
  width:8px!important;
  height:8px!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  background:none!important;
  transform:rotate(45deg) translate(-1px,-1px)!important;
  transition:transform .2s ease!important;
}
.dhs-site-header .dhs-menu-drawer .menu-item-has-children.is-submenu-open > .dhs-submenu-toggle::before,
body > .dhs-menu-drawer .menu-item-has-children.is-submenu-open > .dhs-submenu-toggle::before{
  transform:rotate(225deg) translate(-1px,-1px)!important;
}


/* 0.9.15 – remove legacy full-width anchor pseudo-line with matching specificity */
.dhs-site-header .dhs-menu-drawer > nav li > a::after,
body > .dhs-menu-drawer > nav li > a::after,
.dhs-site-header .dhs-menu-drawer > nav li.current-menu-item > a::after,
.dhs-site-header .dhs-menu-drawer > nav li.current_page_item > a::after,
body > .dhs-menu-drawer > nav li.current-menu-item > a::after,
body > .dhs-menu-drawer > nav li.current_page_item > a::after{
  content:none!important;
  display:none!important;
  position:static!important;
  width:0!important;
  height:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  transform:none!important;
}
/* Keep only the text-width underline generated on the label span. */
.dhs-site-header .dhs-menu-drawer > nav li > a .dhs-menu-link-label::after,
body > .dhs-menu-drawer > nav li > a .dhs-menu-link-label::after{
  content:""!important;
  display:block!important;
}

/* 0.10.0 – Beste Lage */
.dhs-home-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:70px;align-items:center}
.dhs-home-location__copy{min-width:0}
.dhs-home-location__text{line-height:1.75;max-width:760px}
.dhs-home-location__copy>h3{margin:36px 0 16px;color:var(--dhs-accent-dark);font-size:18px}
.dhs-location-highlights{display:grid;gap:10px}
.dhs-location-highlight{border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.dhs-location-highlight>a,.dhs-location-highlight:not(:has(>a)){display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;color:inherit;text-decoration:none}
.dhs-location-highlight__icon{display:flex;width:26px;height:26px;color:var(--dhs-accent-dark)}
.dhs-location-highlight__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dhs-location-highlight__content{display:flex;flex-direction:column;gap:3px;min-width:0}
.dhs-location-highlight__content strong{font-size:1em}
.dhs-location-highlight__content small{font-size:.88em;line-height:1.45;color:var(--dhs-muted)}
.dhs-location-highlight__distance{font-weight:700;color:var(--dhs-accent-dark);text-align:right;white-space:nowrap}
.dhs-location-highlight>a:hover .dhs-location-highlight__content strong{color:var(--dhs-accent-dark)}
.dhs-location-route{display:inline-flex;margin-top:28px}
.dhs-home-location__map{min-height:var(--dhs-location-map-height,420px);height:var(--dhs-location-map-height,420px);border-radius:var(--dhs-radius);overflow:hidden;background:#eee;box-shadow:0 20px 60px rgba(0,0,0,.08)}
.dhs-home-location__map iframe{display:block;width:100%;height:100%;min-height:0;border:0}
html.dhs-dark-mode .dhs-location-highlight{border-color:rgba(255,255,255,.12)}
html.dhs-dark-mode .dhs-location-highlight__content small{color:var(--dhs-dark-muted,#b7b7b7)}
@media(max-width:960px){.dhs-home-location{grid-template-columns:1fr;gap:38px}.dhs-home-location__map{height:min(var(--dhs-location-map-height,420px),420px)}}
@media(max-width:600px){.dhs-location-highlight>a,.dhs-location-highlight:not(:has(>a)){grid-template-columns:30px minmax(0,1fr);gap:12px}.dhs-location-highlight__distance{grid-column:2;text-align:left;white-space:normal}.dhs-home-location__map{height:320px;min-height:320px}}


/* 0.10.1 – Dateck Link Style */
.dhs-link,
a.dhs-link{
  color:inherit!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
  box-shadow:none;
}
.dhs-link:hover,
.dhs-link:focus-visible,
a.dhs-link:hover,
a.dhs-link:focus-visible{
  color:var(--dhs-accent-dark)!important;
  text-decoration:none!important;
}
.dhs-link__arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:1.02em;
  line-height:1;
  color:var(--dhs-accent-dark);
  transform:translateX(0);
  transition:transform .18s ease,color .18s ease;
}
.dhs-link:hover .dhs-link__arrow,
.dhs-link:focus-visible .dhs-link__arrow{
  transform:translateX(3px);
}
.dhs-location-highlight>a.dhs-link{
  text-decoration:none!important;
}
.dhs-location-highlight>a.dhs-link::before,
.dhs-location-highlight>a.dhs-link::after{
  content:none!important;
  display:none!important;
}
.dhs-location-highlight__meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.dhs-location-highlight.has-link{transition:border-color .18s ease}
.dhs-location-highlight.has-link:hover{border-color:color-mix(in srgb,var(--dhs-accent-dark) 42%,transparent)}
.dhs-location-highlight.has-link .dhs-location-highlight__content strong{transition:color .18s ease}
.dhs-location-highlight.has-link:hover .dhs-location-highlight__content strong{color:var(--dhs-accent-dark)}
.dhs-location-route.dhs-link{align-items:center;gap:8px;text-decoration:none!important}
@media(max-width:600px){
  .dhs-location-highlight__meta{grid-column:2;justify-content:flex-start;gap:10px}
}

/* 0.10.3 – Gruppierte Lage-Highlights */
.dhs-location-groups{display:grid;gap:30px;margin-top:30px}
.dhs-location-group h3{margin:0 0 12px;color:var(--dhs-accent-dark);font-size:1.02em;letter-spacing:.01em}
.dhs-location-group__text{margin:0 0 12px;color:var(--dhs-muted);line-height:1.6}
.dhs-location-group .dhs-location-highlights{gap:0}
.dhs-location-group+.dhs-location-group{padding-top:2px}
html.dhs-dark-mode .dhs-location-group h3{color:var(--dhs-accent)}
html.dhs-dark-mode .dhs-location-group__text{color:var(--dhs-dark-muted,#b7b7b7)}

/* Contact module */
.dhs-contact-module{width:100%;font-family:var(--dhs-font-body,system-ui,sans-serif);color:var(--dhs-text)}
.dhs-contact-container{width:min(var(--dhs-container,1200px),calc(100% - 40px));margin:0 auto}
.dhs-contact-hero{display:flex;align-items:center;min-height:360px;padding:70px 0;background:var(--dhs-contact-hero-bg,#111);color:var(--dhs-contact-hero-text,var(--dhs-accent))}
.dhs-contact-hero span{display:block;margin-bottom:4px;color:rgba(255,255,255,.62);font-size:14px}.dhs-contact-hero h1{margin:0;color:inherit!important;font-size:var(--dhs-h1-desktop,64px)}
.dhs-contact-section{padding:110px 0;background:var(--dhs-bg);transition:.25s}
.dhs-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,1fr);gap:72px;align-items:center}
.dhs-contact-badge{display:inline-flex;padding:10px 17px;border:1px solid var(--dhs-contact-accent);border-radius:999px;color:var(--dhs-contact-accent-dark);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.dhs-contact-copy h2{margin:20px 0 12px;color:var(--dhs-heading);font-size:var(--dhs-h2-desktop,48px);font-weight:500;letter-spacing:.08em}.dhs-contact-copy h3{margin:0 0 20px;color:var(--dhs-heading);font-size:var(--dhs-h3-desktop,28px)}.dhs-contact-copy>p{max-width:620px;margin:0 0 32px;color:var(--dhs-text);line-height:1.75}
.dhs-contact-details{display:grid;gap:18px}.dhs-contact-details a,.dhs-contact-details>div{display:flex;align-items:center;gap:16px;color:var(--dhs-text)!important;text-decoration:none!important}.dhs-contact-details span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--dhs-contact-accent) 18%,#fff);color:var(--dhs-contact-accent-dark);flex:0 0 auto}.dhs-contact-details svg{width:20px;height:20px;fill:currentColor}.dhs-contact-details strong{font-weight:700}
.dhs-contact-form{padding:38px;border:1px solid color-mix(in srgb,var(--dhs-contact-accent) 55%,transparent);border-radius:28px;background:var(--dhs-card);box-shadow:0 22px 55px rgba(0,0,0,.09)}
.dhs-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.dhs-contact-fields label{display:grid;gap:9px;color:var(--dhs-text);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.dhs-contact-fields .wide{grid-column:1/-1}.dhs-contact-fields label>span small{font-weight:400;text-transform:none;letter-spacing:0}.dhs-contact-fields input:not([type=checkbox]),.dhs-contact-fields textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:28px;background:#f6f6f6;color:#1f1f1f;padding:15px 18px;font:inherit;text-transform:none;letter-spacing:0;outline:none;transition:.2s}.dhs-contact-fields textarea{border-radius:22px;resize:vertical}.dhs-contact-fields input:focus,.dhs-contact-fields textarea:focus{border-color:var(--dhs-contact-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dhs-contact-accent) 18%,transparent)}
.dhs-contact-privacy{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:14px!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:400!important}.dhs-contact-privacy input{width:22px;height:22px;margin:0}.dhs-contact-privacy a{color:var(--dhs-contact-accent-dark)!important;text-decoration:none!important}.dhs-contact-hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.dhs-contact-form>button{width:100%;margin-top:24px;padding:17px 24px;border:0;border-radius:999px;background:var(--dhs-contact-accent);color:#111;font-weight:800;letter-spacing:.08em;cursor:pointer;box-shadow:0 13px 30px color-mix(in srgb,var(--dhs-contact-accent) 28%,transparent);transition:.2s}.dhs-contact-form>button:hover{background:var(--dhs-contact-accent-dark);transform:translateY(-1px)}.dhs-contact-form>button:disabled{opacity:.65;cursor:wait}.dhs-contact-message{display:none;margin-top:16px;padding:13px 16px;border-radius:12px;font-size:14px}.dhs-contact-message.is-success{display:block;background:#e7f7ec;color:#176c35}.dhs-contact-message.is-error{display:block;background:#fff0f0;color:#a52020}
.dhs-contact-map{margin-top:70px}.dhs-contact-map-heading{display:flex;align-items:flex-start;gap:16px;margin:0 0 24px}.dhs-contact-map-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--dhs-contact-accent) 18%,#fff);color:var(--dhs-contact-accent-dark)}.dhs-contact-map-icon svg{width:22px;height:22px;fill:currentColor}.dhs-contact-map-heading h3{margin:0 0 7px;color:var(--dhs-heading);font-size:var(--dhs-h3-desktop,28px)}.dhs-contact-map-heading p{max-width:760px;margin:0;color:var(--dhs-text);line-height:1.7}.dhs-contact-map iframe{display:block;width:100%;border:0;border-radius:24px;box-shadow:0 18px 45px rgba(0,0,0,.08)}.dhs-contact-map-actions{display:flex;justify-content:flex-start;margin-top:22px}.dhs-contact-map-button{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--dhs-contact-accent);color:#111!important;text-decoration:none!important;font-weight:800;transition:.2s}.dhs-contact-map-button span{transition:transform .2s}.dhs-contact-map-button:hover{background:var(--dhs-contact-accent-dark);color:#111!important}.dhs-contact-map-button:hover span{transform:translate(3px,-2px)}
html.dhs-dark-mode .dhs-contact-section{background:var(--dhs-dark-background)}html.dhs-dark-mode .dhs-contact-module{color:var(--dhs-dark-text)}html.dhs-dark-mode .dhs-contact-copy h2,html.dhs-dark-mode .dhs-contact-copy h3{color:var(--dhs-dark-heading)!important}html.dhs-dark-mode .dhs-contact-copy>p,html.dhs-dark-mode .dhs-contact-details a,html.dhs-dark-mode .dhs-contact-details>div{color:var(--dhs-dark-text)!important}html.dhs-dark-mode .dhs-contact-form{background:var(--dhs-dark-card);border-color:color-mix(in srgb,var(--dhs-contact-accent) 45%,transparent)}html.dhs-dark-mode .dhs-contact-map-heading h3{color:var(--dhs-dark-heading)!important}html.dhs-dark-mode .dhs-contact-map-heading p{color:var(--dhs-dark-text)!important}html.dhs-dark-mode .dhs-contact-map-icon{background:color-mix(in srgb,var(--dhs-contact-accent) 18%,var(--dhs-dark-card));color:var(--dhs-contact-accent)}html.dhs-dark-mode .dhs-contact-fields label{color:var(--dhs-dark-text)}html.dhs-dark-mode .dhs-contact-fields input:not([type=checkbox]),html.dhs-dark-mode .dhs-contact-fields textarea{background:#1b1b1b;border-color:#444;color:var(--dhs-dark-text)}
@media(max-width:900px){.dhs-contact-grid{grid-template-columns:1fr;gap:50px}.dhs-contact-hero h1{font-size:var(--dhs-h1-tablet,52px)}.dhs-contact-copy h2{font-size:var(--dhs-h2-tablet,40px)}}
@media(max-width:600px){.dhs-contact-map-heading{gap:12px}.dhs-contact-map-icon{width:42px;height:42px}.dhs-contact-map-heading h3{font-size:var(--dhs-h3-mobile,22px)}.dhs-contact-map-actions{display:block}.dhs-contact-map-button{justify-content:center;width:100%;box-sizing:border-box}.dhs-contact-container{width:min(100% - 28px,var(--dhs-container,1200px))}.dhs-contact-hero{min-height:250px;padding:48px 0}.dhs-contact-hero h1{font-size:var(--dhs-h1-mobile,40px)}.dhs-contact-section{padding:72px 0}.dhs-contact-copy h2{font-size:var(--dhs-h2-mobile,32px)}.dhs-contact-fields{grid-template-columns:1fr}.dhs-contact-fields .wide{grid-column:auto}.dhs-contact-form{padding:25px 18px;border-radius:22px}}

/* 0.12.0 Footer Builder */
body.dhs-footer-replace-theme #footer,
body.dhs-footer-replace-theme #footer-widgets,
body.dhs-footer-replace-theme #footer-bottom,
body.dhs-footer-replace-theme #site-footer,
body.dhs-footer-replace-theme footer#colophon,
body.dhs-footer-replace-theme .site-footer:not(.dhs-site-footer),
body.dhs-footer-replace-theme .footer-widgets,
body.dhs-footer-replace-theme .footer-bottom,
body.dhs-footer-replace-theme .footer-wrap:not(.dhs-site-footer),
body.dhs-footer-replace-theme .site-footer-wrap,
body.dhs-footer-replace-theme .kadence-footer-wrap,
body.dhs-footer-replace-theme .ast-footer-overlay,
body.dhs-footer-replace-theme .oceanwp-footer-callout{display:none!important}
body.dhs-footer-replace-copyright #footer-bottom,
body.dhs-footer-replace-copyright .footer-bottom,
body.dhs-footer-replace-copyright .site-info,
body.dhs-footer-replace-copyright .footer-copyright,
body.dhs-footer-replace-copyright .copyright,
body.dhs-footer-replace-copyright .ast-footer-copyright,
body.dhs-footer-replace-copyright .site-footer-bottom-section{display:none!important}
.dhs-site-footer{background:var(--dhs-footer-bg,#151515)!important;color:var(--dhs-footer-text,#ddd)!important;padding:70px 20px 20px}
.dhs-site-footer__inner{max-width:var(--dhs-container);margin:0 auto}
.dhs-site-footer.is-full-width{width:100%;max-width:none}
.dhs-site-footer__grid,.dhs-site-footer__bottom{max-width:none;margin-left:auto;margin-right:auto}
.dhs-site-footer h1,.dhs-site-footer h2,.dhs-site-footer h3{color:var(--dhs-footer-heading,#fff)!important}
.dhs-site-footer p,.dhs-site-footer li,.dhs-site-footer span{color:inherit}
.dhs-site-footer a{color:var(--dhs-footer-link,#ddd)!important;text-decoration:none!important;transition:color .18s ease}
.dhs-site-footer a:hover,.dhs-site-footer a:focus-visible{color:var(--dhs-footer-link-hover,#f7cb68)!important}
.dhs-site-footer__bottom{border-top-color:var(--dhs-footer-border,#333)!important;color:var(--dhs-footer-muted,#999)!important}
.dhs-site-footer__bottom span,.dhs-site-footer__bottom a{color:var(--dhs-footer-muted,#999)!important}
.dhs-footer-logo-dark{display:none!important}
html.dhs-dark-mode .dhs-site-footer{background:var(--dhs-footer-dark-bg,#101010)!important;color:var(--dhs-footer-dark-text,#ddd)!important}
html.dhs-dark-mode .dhs-site-footer h1,html.dhs-dark-mode .dhs-site-footer h2,html.dhs-dark-mode .dhs-site-footer h3{color:var(--dhs-footer-dark-heading,#fff)!important}
html.dhs-dark-mode .dhs-site-footer a{color:var(--dhs-footer-dark-link,#ddd)!important}
html.dhs-dark-mode .dhs-site-footer a:hover,html.dhs-dark-mode .dhs-site-footer a:focus-visible{color:var(--dhs-footer-dark-link-hover,#f7cb68)!important}
html.dhs-dark-mode .dhs-site-footer__bottom{border-top-color:var(--dhs-footer-dark-border,#333)!important;color:var(--dhs-footer-dark-muted,#999)!important}
html.dhs-dark-mode .dhs-site-footer__bottom span,html.dhs-dark-mode .dhs-site-footer__bottom a{color:var(--dhs-footer-dark-muted,#999)!important}
html.dhs-dark-mode .dhs-site-footer[data-has-dark-logo="1"] .dhs-footer-logo-light{display:none!important}
html.dhs-dark-mode .dhs-site-footer[data-has-dark-logo="1"] .dhs-footer-logo-dark{display:block!important}
html.dhs-dark-mode .dhs-site-footer[data-has-dark-logo="0"] .dhs-footer-logo-light{display:block!important}

/* Header controls: readable contrast in dark mode */
html.dhs-dark-mode .dhs-site-language{
  background:var(--dhs-control-lang-dark-bg,color-mix(in srgb,var(--dhs-dark-card,#242424) 88%,var(--dhs-dark-text,#f5f5f5) 12%))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;
}
html.dhs-dark-mode .dhs-site-language button:not(.is-active){
  color:var(--dhs-control-lang-dark-inactive-text,var(--dhs-dark-text,#f5f5f5))!important;
}
html.dhs-dark-mode .dhs-site-language button:not(.is-active):hover{
  color:var(--dhs-control-lang-active-bg,var(--dhs-accent,#f7cb68))!important;
}


/* 0.13.0 – Floating Buttons & Back to Top */
.dhs-floating-actions{position:fixed;z-index:9991;display:flex;flex-direction:column;gap:10px;pointer-events:none}.dhs-floating-actions.is-right{right:var(--dhs-floating-side,22px)}.dhs-floating-actions.is-left{left:var(--dhs-floating-side,22px)}.dhs-floating-actions.is-middle{top:50%;transform:translateY(-50%)}.dhs-floating-actions.is-bottom{bottom:var(--dhs-floating-bottom,110px)}
.dhs-floating-action{position:relative;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--dhs-item-bg,var(--dhs-floating-bg,var(--dhs-accent)));color:var(--dhs-item-fg,var(--dhs-floating-fg,#111))!important;text-decoration:none!important;box-shadow:0 12px 28px rgba(0,0,0,.18);pointer-events:auto;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.dhs-floating-action svg{width:21px;height:21px;stroke:currentColor}.dhs-floating-action:hover,.dhs-floating-action:focus-visible{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 34px rgba(0,0,0,.24);filter:brightness(.97)}
.dhs-floating-action::after{content:attr(data-tooltip);position:absolute;top:50%;right:calc(100% + 11px);transform:translateY(-50%) translateX(6px);padding:8px 11px;border-radius:9px;background:#111;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;visibility:hidden;transition:.18s;pointer-events:none}.dhs-floating-actions.is-left .dhs-floating-action::after{right:auto;left:calc(100% + 11px);transform:translateY(-50%) translateX(-6px)}.dhs-floating-action:hover::after,.dhs-floating-action:focus-visible::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.dhs-floating-actions.is-bar{gap:0;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--dhs-card,#fff) 92%,transparent);box-shadow:0 12px 35px rgba(0,0,0,.18)}.dhs-floating-actions.is-bar .dhs-floating-action{width:44px;height:44px;box-shadow:none}.dhs-floating-actions.is-bar .dhs-floating-action+ .dhs-floating-action{margin-top:3px}
.dhs-back-to-top{position:fixed;z-index:2147483000;bottom:var(--dhs-btt-bottom,24px);display:grid;place-items:center;width:var(--dhs-btt-size,48px);height:var(--dhs-btt-size,48px);padding:0;border:0;border-radius:50%;background:var(--dhs-btt-bg,#111);color:var(--dhs-btt-fg,#fff);box-shadow:0 12px 30px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(14px);cursor:pointer;transition:opacity .22s ease,visibility .22s ease,transform .22s ease,background .18s ease,color .18s ease}.dhs-back-to-top.is-right{right:var(--dhs-btt-side,24px)}.dhs-back-to-top.is-left{left:var(--dhs-btt-side,24px)}.dhs-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.dhs-back-to-top:hover,.dhs-back-to-top:focus-visible{background:var(--dhs-btt-hover,var(--dhs-accent));color:#111;transform:translateY(-2px)}.dhs-back-to-top svg{width:22px;height:22px;stroke:currentColor}
@media(min-width:769px){.is-hidden-desktop{display:none!important}}
@media(max-width:768px){.is-hidden-mobile{display:none!important}.dhs-floating-actions{--dhs-floating-side:14px}.dhs-floating-action{width:46px;height:46px}.dhs-floating-action::after{display:none}.dhs-back-to-top{--dhs-btt-side:14px;--dhs-btt-bottom:16px}}

/* 0.13.1 – Back-to-top compatibility reset */
button.dhs-back-to-top{position:fixed!important;margin:0!important;min-width:0!important;max-width:none!important;line-height:1!important;overflow:visible!important;-webkit-appearance:none!important;appearance:none!important;}
button.dhs-back-to-top.is-visible{display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}

/* Dateck Guestmap 0.14.0 */
.dhs-guestmap{max-width:var(--dhs-container);margin:0 auto;padding:42px 20px 70px;color:var(--dhs-text);font-family:var(--dhs-font-body)}.dhs-guestmap__intro{max-width:780px;margin:0 0 34px}.dhs-guestmap__intro h2{margin:7px 0 14px;font-family:var(--dhs-font-heading);font-size:var(--dhs-h2-desktop);line-height:var(--dhs-heading-line-height);color:var(--dhs-heading)}.dhs-guestmap__intro p{margin:0;color:var(--dhs-muted);line-height:1.75}.dhs-guestmap__sections{display:flex;flex-direction:column;gap:24px}.dhs-gm-section{background:color-mix(in srgb,var(--dhs-accent) 8%,var(--dhs-bg));border:1px solid color-mix(in srgb,var(--dhs-accent) 18%,transparent);border-radius:var(--dhs-radius);padding:24px}.dhs-gm-section__head{display:flex;align-items:flex-start;gap:13px;margin-bottom:17px}.dhs-gm-section__icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--dhs-accent);color:var(--dhs-primary);box-shadow:0 8px 22px color-mix(in srgb,var(--dhs-accent) 30%,transparent)}.dhs-gm-section__icon svg{width:23px;height:23px}.dhs-gm-section__head h3{margin:3px 0 5px;font-family:var(--dhs-font-heading);font-size:var(--dhs-h3-desktop);color:var(--dhs-heading)}.dhs-gm-section__head p{margin:0;color:var(--dhs-muted)}.dhs-gm-grid{display:grid;gap:14px}.dhs-gm-grid--1{grid-template-columns:1fr}.dhs-gm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-gm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.dhs-gm-card{display:block;background:var(--dhs-card);color:var(--dhs-text)!important;border:1px solid color-mix(in srgb,var(--dhs-text) 10%,transparent);border-radius:calc(var(--dhs-radius) - 3px);overflow:hidden;text-decoration:none!important;box-shadow:0 8px 24px rgba(0,0,0,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dhs-gm-card--link:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.09);border-color:color-mix(in srgb,var(--dhs-accent) 50%,transparent)}.dhs-gm-card__image{display:block;width:100%;height:175px;object-fit:cover}.dhs-gm-card__content{padding:18px}.dhs-gm-card__top{display:flex;align-items:flex-start;gap:10px}.dhs-gm-card__top h4{flex:1;margin:0 0 7px;font-family:var(--dhs-font-heading);font-size:18px;line-height:1.3;color:var(--dhs-heading)}.dhs-gm-card__arrow{font-size:18px;color:var(--dhs-accent-dark);transition:transform .18s ease}.dhs-gm-card--link:hover .dhs-gm-card__arrow{transform:translate(2px,-2px)}.dhs-gm-card__meta{display:block;margin-bottom:7px;color:var(--dhs-accent-dark);font-size:15px}.dhs-gm-card p{margin:0 0 9px;color:var(--dhs-text);line-height:1.6}.dhs-gm-card__address{display:flex;gap:7px;align-items:flex-start;color:var(--dhs-muted);font-size:14px}.dhs-gm-card__address svg{width:17px;height:17px;flex:0 0 auto;margin-top:2px}.erc-dark-mode .dhs-guestmap,.dark-mode .dhs-guestmap{color:var(--dhs-dark-text)}.erc-dark-mode .dhs-guestmap__intro h2,.dark-mode .dhs-guestmap__intro h2,.erc-dark-mode .dhs-gm-section__head h3,.dark-mode .dhs-gm-section__head h3,.erc-dark-mode .dhs-gm-card__top h4,.dark-mode .dhs-gm-card__top h4{color:var(--dhs-dark-heading)}.erc-dark-mode .dhs-guestmap__intro p,.dark-mode .dhs-guestmap__intro p,.erc-dark-mode .dhs-gm-section__head p,.dark-mode .dhs-gm-section__head p,.erc-dark-mode .dhs-gm-card__address,.dark-mode .dhs-gm-card__address{color:color-mix(in srgb,var(--dhs-dark-text) 72%,transparent)}.erc-dark-mode .dhs-gm-section,.dark-mode .dhs-gm-section{background:color-mix(in srgb,var(--dhs-dark-card) 86%,var(--dhs-accent) 14%);border-color:color-mix(in srgb,var(--dhs-accent) 25%,transparent)}.erc-dark-mode .dhs-gm-card,.dark-mode .dhs-gm-card{background:var(--dhs-dark-card);color:var(--dhs-dark-text)!important;border-color:color-mix(in srgb,var(--dhs-dark-text) 12%,transparent)}.erc-dark-mode .dhs-gm-card p,.dark-mode .dhs-gm-card p{color:var(--dhs-dark-text)}@media(max-width:900px){.dhs-gm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-guestmap__intro h2{font-size:var(--dhs-h2-tablet)}.dhs-gm-section__head h3{font-size:var(--dhs-h3-tablet)}}@media(max-width:640px){.dhs-guestmap{padding:28px 12px 50px}.dhs-gm-section{padding:18px}.dhs-gm-grid--2,.dhs-gm-grid--3{grid-template-columns:1fr}.dhs-guestmap__intro h2{font-size:var(--dhs-h2-mobile)}.dhs-gm-section__head h3{font-size:var(--dhs-h3-mobile)}}


/* Dateck Guestmap 0.14.1 – global design colors and dark-mode heading fix */
html.dhs-dark-mode .dhs-guestmap{
  color:var(--dhs-dark-text,#f4f4f4)!important;
}
html.dhs-dark-mode .dhs-guestmap__intro h1,
html.dhs-dark-mode .dhs-guestmap__intro h2,
html.dhs-dark-mode .dhs-guestmap__intro h3,
html.dhs-dark-mode .dhs-gm-section__head h2,
html.dhs-dark-mode .dhs-gm-section__head h3,
html.dhs-dark-mode .dhs-gm-section__head h4,
html.dhs-dark-mode .dhs-gm-card__top h3,
html.dhs-dark-mode .dhs-gm-card__top h4,
html.dhs-dark-mode .dhs-gm-card__top h5{
  color:var(--dhs-dark-heading,var(--dhs-dark-text,#f4f4f4))!important;
}
html.dhs-dark-mode .dhs-guestmap__intro p,
html.dhs-dark-mode .dhs-gm-section__head p,
html.dhs-dark-mode .dhs-gm-card__address{
  color:color-mix(in srgb,var(--dhs-dark-text,#f4f4f4) 72%,transparent)!important;
}
html.dhs-dark-mode .dhs-gm-section{
  background:color-mix(in srgb,var(--dhs-dark-card,#202020) 86%,var(--dhs-accent) 14%)!important;
  border-color:color-mix(in srgb,var(--dhs-accent) 25%,transparent)!important;
}
html.dhs-dark-mode .dhs-gm-card{
  background:var(--dhs-dark-card,#202020)!important;
  color:var(--dhs-dark-text,#f4f4f4)!important;
  border-color:color-mix(in srgb,var(--dhs-dark-text,#f4f4f4) 12%,transparent)!important;
}
html.dhs-dark-mode .dhs-gm-card p{
  color:var(--dhs-dark-text,#f4f4f4)!important;
}

/* =========================================================
 * 0.15.0 – Global UI Polishing
 * Einheitliche Buttons, Karten, Formulare, Fokuszustände und Mobile-Basis.
 * ======================================================= */
:root{
  --dhs-ui-radius-sm:12px;
  --dhs-ui-radius-md:18px;
  --dhs-ui-radius-lg:26px;
  --dhs-ui-control-height:50px;
  --dhs-ui-shadow-sm:0 8px 24px rgba(15,23,42,.06);
  --dhs-ui-shadow-md:0 16px 44px rgba(15,23,42,.09);
  --dhs-ui-shadow-hover:0 22px 56px rgba(15,23,42,.13);
  --dhs-ui-border:color-mix(in srgb,var(--dhs-text,#222) 12%,transparent);
  --dhs-ui-focus:0 0 0 3px color-mix(in srgb,var(--dhs-accent,#f7cb68) 28%,transparent);
  --dhs-ui-transition:180ms ease;
}

/* Global box model and media safety */
.dhs-homepage *,
.dhs-room-template *,
.dhs-contact-module *,
.dhs-club-signup *,
.dhs-guestmap *,
.dhs-site-header *,
.dhs-site-footer *{box-sizing:border-box}
.dhs-homepage img,.dhs-room-template img,.dhs-contact-module img,.dhs-guestmap img{max-width:100%;height:auto}

/* Consistent interactive controls */
.dhs-homepage button,
.dhs-homepage .button,
.dhs-homepage a[class*="button"],
.dhs-room-template button,
.dhs-room-template a[class*="button"],
.dhs-contact-module button,
.dhs-contact-module a[class*="button"],
.dhs-club-signup button,
.dhs-site-header button,
.dhs-site-header a.dhs-site-book,
.dhs-site-footer a[class*="button"]{
  min-height:var(--dhs-ui-control-height);
  border-radius:999px;
  transition:transform var(--dhs-ui-transition),box-shadow var(--dhs-ui-transition),background-color var(--dhs-ui-transition),border-color var(--dhs-ui-transition),color var(--dhs-ui-transition);
}
.dhs-homepage button:hover,
.dhs-homepage .button:hover,
.dhs-homepage a[class*="button"]:hover,
.dhs-room-template button:hover,
.dhs-room-template a[class*="button"]:hover,
.dhs-contact-module button:hover,
.dhs-contact-module a[class*="button"]:hover,
.dhs-club-signup button:hover,
.dhs-site-header a.dhs-site-book:hover,
.dhs-site-footer a[class*="button"]:hover{transform:translateY(-1px)}

/* Accessible focus indicators */
.dhs-homepage :where(a,button,input,textarea,select):focus-visible,
.dhs-room-template :where(a,button,input,textarea,select):focus-visible,
.dhs-contact-module :where(a,button,input,textarea,select):focus-visible,
.dhs-club-signup :where(a,button,input,textarea,select):focus-visible,
.dhs-guestmap :where(a,button,input,textarea,select):focus-visible,
.dhs-site-header :where(a,button):focus-visible,
.dhs-site-footer :where(a,button):focus-visible{
  outline:2px solid transparent!important;
  box-shadow:var(--dhs-ui-focus)!important;
}

/* Shared card DNA */
.dhs-room-card,
.dhs-contact-form,
.dhs-club-signup__form,
.dhs-detail-amenities,
.dhs-booking-cta,
.dhs-paypal-popup,
.dhs-gm-category,
.dhs-gm-card,
.dhs-home-location__map{
  border-color:var(--dhs-ui-border);
  box-shadow:var(--dhs-ui-shadow-sm);
}
.dhs-room-card,.dhs-gm-card{
  transition:transform 240ms ease,box-shadow 240ms ease,border-color 240ms ease;
}
.dhs-room-card:hover,.dhs-gm-card:hover{box-shadow:var(--dhs-ui-shadow-hover)}

/* Form consistency */
.dhs-contact-fields input:not([type=checkbox]),
.dhs-contact-fields textarea,
.dhs-club-signup input:not([type=checkbox]),
.dhs-club-signup textarea,
.dhs-club-signup select{
  min-height:var(--dhs-ui-control-height);
  border-radius:var(--dhs-ui-radius-lg);
  border-color:var(--dhs-ui-border);
  transition:border-color var(--dhs-ui-transition),box-shadow var(--dhs-ui-transition),background-color var(--dhs-ui-transition);
}
.dhs-contact-fields textarea,.dhs-club-signup textarea{min-height:150px}
.dhs-contact-fields input:focus,.dhs-contact-fields textarea:focus,.dhs-contact-fields select:focus,
.dhs-club-signup input:focus,.dhs-club-signup textarea:focus,.dhs-club-signup select:focus{
  border-color:var(--dhs-accent)!important;
  box-shadow:var(--dhs-ui-focus)!important;
}

/* Better typography rhythm */
.dhs-home-section :where(h1,h2,h3),
.dhs-room-template :where(h1,h2,h3),
.dhs-contact-module :where(h1,h2,h3),
.dhs-guestmap :where(h1,h2,h3){text-wrap:balance}
.dhs-home-section :where(p,li),
.dhs-room-template :where(p,li),
.dhs-contact-module :where(p,li),
.dhs-guestmap :where(p,li){text-wrap:pretty}

/* Dark mode polish */
html.dhs-dark-mode{
  --dhs-ui-border:color-mix(in srgb,var(--dhs-dark-text,#fff) 16%,transparent);
  --dhs-ui-shadow-sm:0 10px 28px rgba(0,0,0,.22);
  --dhs-ui-shadow-md:0 18px 48px rgba(0,0,0,.28);
  --dhs-ui-shadow-hover:0 24px 60px rgba(0,0,0,.34);
}
html.dhs-dark-mode .dhs-room-card,
html.dhs-dark-mode .dhs-contact-form,
html.dhs-dark-mode .dhs-club-signup__form,
html.dhs-dark-mode .dhs-detail-amenities,
html.dhs-dark-mode .dhs-booking-cta,
html.dhs-dark-mode .dhs-gm-category,
html.dhs-dark-mode .dhs-gm-card{box-shadow:var(--dhs-ui-shadow-sm)}

/* Responsive polish */
@media(max-width:900px){
  .dhs-home-section,.dhs-contact-section{overflow-x:clip}
  .dhs-booking-cta{grid-template-columns:auto 1fr;gap:18px;padding:24px}
  .dhs-booking-primary,.dhs-booking-secondary{width:100%;white-space:normal;text-align:center}
}
@media(max-width:650px){
  :root{--dhs-ui-control-height:48px}
  .dhs-room-template{padding-left:14px;padding-right:14px}
  .dhs-room-grid{gap:18px;margin-top:22px;margin-bottom:22px}
  .dhs-room-card{border-radius:18px}
  .dhs-room-body{padding:20px}
  .dhs-room-foot{align-items:stretch;flex-direction:column}
  .dhs-room-foot a{width:100%;display:flex;justify-content:center;align-items:center;text-align:center}
  .dhs-booking-cta{grid-template-columns:1fr;padding:20px;border-radius:18px;text-align:center}
  .dhs-booking-icon{margin:0 auto}
  .dhs-contact-form,.dhs-club-signup__form{border-radius:22px}
  .dhs-detail-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .dhs-homepage *,
  .dhs-room-template *,
  .dhs-contact-module *,
  .dhs-club-signup *,
  .dhs-guestmap *,
  .dhs-site-header *,
  .dhs-site-footer *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* =========================================================
 * 0.15.1 – Gallery regression fix
 * Global image safety must not override the Bento gallery crop.
 * ======================================================= */
.dhs-homepage .dhs-bento-item img,
.dhs-hotel-gallery .dhs-bento-item img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  display:block!important;
}

/* =========================================================
 * 0.15.2 – Preset-aware global UI tokens
 * ======================================================= */
:root{
  --dhs-ui-control-height:var(--dhs-control-height,50px);
  --dhs-ui-shadow-sm:var(--dhs-shadow-sm,0 8px 24px rgba(15,23,42,.06));
  --dhs-ui-shadow-md:var(--dhs-shadow-md,0 16px 44px rgba(15,23,42,.09));
  --dhs-ui-shadow-hover:var(--dhs-shadow-hover,0 22px 56px rgba(15,23,42,.13));
}
.dhs-homepage button,
.dhs-homepage .button,
.dhs-homepage a[class*="button"],
.dhs-room-template button,
.dhs-room-template a[class*="button"],
.dhs-contact-module button,
.dhs-contact-module a[class*="button"],
.dhs-club-signup button,
.dhs-site-header a.dhs-site-book,
.dhs-site-footer a[class*="button"]{border-radius:var(--dhs-button-radius,28px)}
.dhs-room-card,
.dhs-contact-form,
.dhs-club-signup__form,
.dhs-detail-amenities,
.dhs-booking-cta,
.dhs-paypal-popup,
.dhs-gm-category,
.dhs-gm-card,
.dhs-home-location__map{border-style:solid;border-width:var(--dhs-card-border,0px)}

/* 0.15.3 – intelligent preset rhythm and contrast */
.dhs-site-book,.dhs-home-actions a.is-primary,.dhs-room-card-button,.dhs-room-card__button,.dhs-room-booking-bar .is-primary,.dhs-contact-submit,.dhs-club-submit,.dhs-site-footer__button,.dhs-floating-button,.dhs-back-to-top{color:var(--dhs-accent-contrast,#111)!important}
.dhs-home-section{transition:background-color .25s ease,color .25s ease}
html.dhs-dark-mode .dhs-home-section{background:var(--dhs-section-bg)!important;color:var(--dhs-section-color)!important}

.dhs-room-card-classic .dhs-room-card-button,.dhs-room-card-classic .dhs-room-card-button:hover{color:var(--dhs-accent-contrast,#111)!important}


/* =========================================================
 * 0.16.0 – Design Engine: robust contrast and preset surfaces
 * ======================================================= */
/* Header controls are controls, not global buttons. Keep them perfectly circular. */
.dhs-site-header .dhs-darkmode-toggle{
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border-radius:50%!important;
  line-height:1!important;
}
.dhs-site-header .dhs-darkmode-toggle svg{width:20px!important;height:20px!important}
@media(max-width:650px){.dhs-site-header .dhs-darkmode-toggle{flex-basis:36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important}}

/* Language control contrast must follow the active pill, also in Minimal and Dark. */
.dhs-site-language button.is-active{color:var(--dhs-accent-contrast,#111)!important}
.dhs-site-language button:not(.is-active){color:var(--dhs-control-lang-inactive-text,var(--dhs-text,#222))!important}
html.dhs-dark-mode .dhs-site-language button.is-active{color:var(--dhs-accent-contrast,#111)!important}
html.dhs-dark-mode .dhs-site-language button:not(.is-active){color:var(--dhs-dark-text,#f5f5f5)!important}

/* Core button contrast – choose contrast from the actual background token. */
.dhs-site-book,
.dhs-home-actions a.is-primary,
.dhs-room-card-button,
.dhs-room-card__button,
.dhs-room-booking-bar .is-primary,
.dhs-booking-primary,
.dhs-contact-submit,
.dhs-club-submit,
.dhs-club-signup__submit,
.erc-club-thankyou__button,
.dhs-site-footer__button,
.dhs-floating-action,
.dhs-paypal-button{
  color:var(--dhs-accent-contrast,#111)!important;
}
.dhs-site-book:hover,.dhs-home-actions a.is-primary:hover,.dhs-room-card-button:hover,.dhs-room-card__button:hover,.dhs-booking-primary:hover,.dhs-contact-submit:hover,.dhs-club-submit:hover,.dhs-club-signup__submit:hover,.erc-club-thankyou__button:hover,.dhs-site-footer__button:hover,.dhs-paypal-button:hover{color:var(--dhs-accent-dark-contrast,var(--dhs-accent-contrast,#111))!important}
.dhs-back-to-top{color:var(--dhs-btt-fg,var(--dhs-primary-contrast,#fff))!important}
.dhs-back-to-top:hover,.dhs-back-to-top:focus-visible{color:var(--dhs-btt-hover-fg,var(--dhs-accent-contrast,#111))!important}

/* Preset-aware room detail page, including Dark as the base preset without toggling. */
.dhs-room-template{background:var(--dhs-bg,#fff)!important;color:var(--dhs-text,#222)!important}
.dhs-room-detail{color:var(--dhs-text,#222)!important}
.dhs-room-detail :where(h1,h2,h3,h4,strong){color:var(--dhs-heading,var(--dhs-text,#222))}
.dhs-room-detail :where(p,li,span){color:inherit}
.dhs-detail-amenities,.dhs-booking-cta{background:var(--dhs-card,#fff)!important;color:var(--dhs-card-contrast,var(--dhs-text,#222))!important;border-color:color-mix(in srgb,var(--dhs-text,#222) 15%,transparent)!important}
.dhs-detail-amenities :where(h2,h3,strong,li,span),.dhs-booking-cta :where(strong,span){color:inherit!important}
.dhs-detail-price,.dhs-detail-facts,.dhs-detail-facts>div{border-color:color-mix(in srgb,var(--dhs-text,#222) 16%,transparent)!important}
.dhs-detail-facts small{color:var(--dhs-muted,#666)!important}
html.dhs-dark-mode .dhs-room-template{background:var(--dhs-dark-background,#171717)!important;color:var(--dhs-dark-text,#f5f5f5)!important}
html.dhs-dark-mode .dhs-room-detail{color:var(--dhs-dark-text,#f5f5f5)!important}
html.dhs-dark-mode .dhs-room-detail :where(h1,h2,h3,h4,strong){color:var(--dhs-dark-heading,var(--dhs-dark-text,#f5f5f5))!important}
html.dhs-dark-mode .dhs-detail-amenities,html.dhs-dark-mode .dhs-booking-cta{background:var(--dhs-dark-card,#242424)!important;color:var(--dhs-dark-card-contrast,#fff)!important;border-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 18%,transparent)!important}

/* Club section: intro follows the section tone; form follows card contrast. */
.dhs-home-club-form .dhs-club-signup{color:var(--dhs-section-color,var(--dhs-text,#222))!important}
.dhs-home-club-form .dhs-club-signup__intro :where(.dhs-club-signup__title,.dhs-club-signup__subtitle,.dhs-club-signup__description p,.dhs-club-signup__benefits li){color:var(--dhs-section-color,var(--dhs-text,#222))!important}
.dhs-home-club-form .dhs-club-signup__badge{color:var(--dhs-accent)!important;border-color:var(--dhs-accent)!important}
.dhs-club-signup__form-card{background:var(--dhs-card,var(--club-surface,#fff))!important;color:var(--dhs-card-contrast,var(--club-surface-contrast,#111))!important}
.dhs-club-signup__form-card .erc-form-field label,.dhs-club-signup__form-card .erc-form-consent label{color:color-mix(in srgb,currentColor 76%,transparent)!important}
.dhs-club-signup__form-card input{background:color-mix(in srgb,var(--dhs-card,#fff) 92%,var(--dhs-text,#222) 8%)!important;color:var(--dhs-card-contrast,#111)!important;border-color:color-mix(in srgb,var(--dhs-card-contrast,#111) 16%,transparent)!important}
.dhs-club-signup__submit,.erc-club-thankyou__button{color:var(--club-accent-contrast,var(--dhs-accent-contrast,#111))!important}
html.dhs-dark-mode .dhs-home-club-form .dhs-club-signup{color:var(--dhs-section-color,var(--dhs-dark-text,#f5f5f5))!important}
html.dhs-dark-mode .dhs-home-club-form .dhs-club-signup__intro :where(.dhs-club-signup__title,.dhs-club-signup__subtitle,.dhs-club-signup__description p,.dhs-club-signup__benefits li){color:var(--dhs-section-color,var(--dhs-dark-text,#f5f5f5))!important}
html.dhs-dark-mode .dhs-club-signup__form-card{background:var(--dhs-dark-card,#242424)!important;color:var(--dhs-dark-card-contrast,#fff)!important}
html.dhs-dark-mode .dhs-club-signup__form-card input{background:color-mix(in srgb,var(--dhs-dark-card,#242424) 78%,#000)!important;color:var(--dhs-dark-card-contrast,#fff)!important}

/* PayPal popup is fully token driven, including every preset and dark mode. */
.dhs-paypal-popup{background:var(--dhs-card,#fff)!important;color:var(--dhs-card-contrast,var(--dhs-text,#222))!important;border-color:color-mix(in srgb,var(--dhs-accent) 48%,transparent)!important}
.dhs-paypal-popup h3{color:var(--dhs-card-contrast,var(--dhs-heading,#222))!important}
.dhs-paypal-popup p{color:color-mix(in srgb,var(--dhs-card-contrast,#111) 72%,transparent)!important}
.dhs-paypal-close{color:color-mix(in srgb,var(--dhs-card-contrast,#111) 62%,transparent)!important}
.dhs-paypal-badge,.dhs-paypal-button{background:var(--dhs-accent)!important;color:var(--dhs-accent-contrast,#111)!important}
.dhs-paypal-button:hover{background:var(--dhs-accent-dark)!important;color:var(--dhs-accent-dark-contrast,#111)!important}
html.dhs-dark-mode .dhs-paypal-popup{background:var(--dhs-dark-card,#242424)!important;color:var(--dhs-dark-card-contrast,#fff)!important}
html.dhs-dark-mode .dhs-paypal-popup h3{color:var(--dhs-dark-card-contrast,#fff)!important}
html.dhs-dark-mode .dhs-paypal-popup p{color:color-mix(in srgb,var(--dhs-dark-card-contrast,#fff) 74%,transparent)!important}
html.dhs-dark-mode .dhs-paypal-close{color:color-mix(in srgb,var(--dhs-dark-card-contrast,#fff) 66%,transparent)!important}

/* Footer/club CTA and icons also remain readable with dark preset tokens. */
.dhs-site-footer__button{background:var(--dhs-accent)!important;color:var(--dhs-accent-contrast,#111)!important}
.dhs-club-notice>a{color:var(--club-button-text,var(--dhs-accent-contrast,#111))!important}
.dhs-club-icon{color:var(--dhs-accent-contrast,#111)!important}

/* 0.16.4 – targeted dark-mode/header/club fixes based on stable 0.16.0 */

/* Header controls are controls, not global buttons: always keep the mode button perfectly round. */
.dhs-site-header .dhs-darkmode-toggle,
body .dhs-darkmode-toggle{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  flex:0 0 44px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border-radius:50%!important;
}
@media(max-width:650px){
  .dhs-site-header .dhs-darkmode-toggle,
  body .dhs-darkmode-toggle{
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    flex-basis:40px!important;
  }
}

/* Language capsule: readable in both modes regardless of preset colors. */
.dhs-site-language{
  color:var(--dhs-text,#1f1f1f)!important;
}
.dhs-site-language button:not(.is-active){
  color:var(--dhs-text,#1f1f1f)!important;
}
html.dhs-dark-mode .dhs-site-language{
  background:var(--dhs-control-lang-dark-bg,color-mix(in srgb,var(--dhs-dark-card,#242424) 82%,var(--dhs-dark-text,#f5f5f5) 18%))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dhs-dark-text,#fff) 13%,transparent)!important;
}
html.dhs-dark-mode .dhs-site-language button:not(.is-active){
  color:var(--dhs-control-lang-dark-inactive-text,var(--dhs-dark-text,#f5f5f5))!important;
}
html.dhs-dark-mode .dhs-site-language button.is-active{
  background:var(--dhs-control-lang-active-bg,var(--dhs-accent))!important;
  color:var(--dhs-control-lang-active-text,var(--dhs-accent-contrast,#111))!important;
}

/* Complete navigation follows dark mode – normal menu, dropdowns and detached hamburger drawer. */
html.dhs-dark-mode .dhs-site-header{
  background:var(--dhs-header-dark-bg,var(--dhs-dark-background,#151515))!important;
  color:var(--dhs-header-dark-text,var(--dhs-dark-text,#f5f5f5))!important;
  border-bottom-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 12%,transparent)!important;
}
html.dhs-dark-mode .dhs-site-header .dhs-site-logo,
html.dhs-dark-mode .dhs-site-header .dhs-site-nav a,
html.dhs-dark-mode .dhs-site-header .dhs-site-phone,
html.dhs-dark-mode .dhs-site-header .dhs-site-menu-toggle{
  color:var(--dhs-header-dark-text,var(--dhs-dark-text,#f5f5f5))!important;
}
html.dhs-dark-mode .dhs-site-header .dhs-site-nav .sub-menu,
html.dhs-dark-mode .dhs-site-header .dhs-site-nav ul ul{
  background:var(--dhs-dark-card,#242424)!important;
  color:var(--dhs-dark-text,#f5f5f5)!important;
  border-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 14%,transparent)!important;
}
html.dhs-dark-mode .dhs-site-header .dhs-site-nav .sub-menu a,
html.dhs-dark-mode .dhs-site-header .dhs-site-nav ul ul a{
  color:var(--dhs-dark-text,#f5f5f5)!important;
}
html.dhs-dark-mode .dhs-site-header .dhs-site-nav a:hover,
html.dhs-dark-mode .dhs-site-header .dhs-site-nav a:focus-visible,
html.dhs-dark-mode .dhs-site-header .dhs-site-nav .current-menu-item > a:hover,
html.dhs-dark-mode .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:hover{
  color:var(--dhs-menu-hover,var(--dhs-accent))!important;
}
html.dhs-dark-mode .dhs-menu-drawer,
html.dhs-dark-mode body > .dhs-menu-drawer{
  background:var(--dhs-dark-card,#242424)!important;
  color:var(--dhs-dark-text,#f5f5f5)!important;
  border-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 14%,transparent)!important;
}
html.dhs-dark-mode .dhs-menu-drawer nav a,
html.dhs-dark-mode body > .dhs-menu-drawer nav a,
html.dhs-dark-mode .dhs-menu-drawer .dhs-submenu-toggle,
html.dhs-dark-mode body > .dhs-menu-drawer .dhs-submenu-toggle{
  color:var(--dhs-dark-text,#f5f5f5)!important;
}
html.dhs-dark-mode .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body > .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body > .dhs-menu-drawer nav a:focus-visible{
  color:var(--dhs-menu-hover,var(--dhs-accent))!important;
}
html.dhs-dark-mode .dhs-menu-drawer .sub-menu,
html.dhs-dark-mode body > .dhs-menu-drawer .sub-menu{
  background:color-mix(in srgb,var(--dhs-dark-card,#242424) 82%,#000 18%)!important;
  border-color:color-mix(in srgb,var(--dhs-dark-text,#fff) 12%,transparent)!important;
}

/* CTA buttons always use their calculated accent contrast. */
.dhs-site-book,
.dhs-site-footer__button,
.dhs-club-notice > a,
.dhs-paypal-button,
.dhs-room-card__button,
.dhs-room-booking a.is-primary{
  color:var(--dhs-accent-contrast,#111)!important;
}


/* 0.16.5 – Modern preset: targeted dark-mode polish without changing other presets. */
html.dhs-dark-mode body.dhs-preset-modern .dhs-home-intro{
  background:var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#222222))!important;
  color:var(--dhs-section-dark-color,var(--dhs-section-secondary-dark-text,#f1f1f1))!important;
  box-shadow:0 0 0 100vmax var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#222222))!important;
  clip-path:inset(0 -100vmax)!important;
}
html.dhs-dark-mode body.dhs-preset-modern .dhs-site-header .dhs-site-nav a,
html.dhs-dark-mode body.dhs-preset-modern .dhs-site-header .dhs-site-nav .current-menu-item > a,
html.dhs-dark-mode body.dhs-preset-modern .dhs-site-header .dhs-site-nav .current_page_item > a,
html.dhs-dark-mode body.dhs-preset-modern .dhs-site-header .dhs-site-nav .current-menu-ancestor > a,
html.dhs-dark-mode body.dhs-preset-modern .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-modern body > .dhs-menu-drawer nav a{
  color:#ffffff!important;
}
html.dhs-dark-mode body.dhs-preset-modern .dhs-site-header .dhs-site-nav a:hover,
html.dhs-dark-mode body.dhs-preset-modern .dhs-site-header .dhs-site-nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-modern .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-modern .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-modern body > .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-modern body > .dhs-menu-drawer nav a:focus-visible{
  color:var(--dhs-menu-hover,var(--dhs-accent))!important;
}

/* 0.16.6 – Elegant preset: targeted dark-mode polish without changing other presets. */
html.dhs-dark-mode body.dhs-preset-elegant .dhs-home-intro{
  background:var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#241f16))!important;
  color:var(--dhs-section-dark-color,var(--dhs-section-secondary-dark-text,#f5efe3))!important;
  box-shadow:0 0 0 100vmax var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#241f16))!important;
  clip-path:inset(0 -100vmax)!important;
}
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav a,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current-menu-item > a,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current_page_item > a,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current-menu-ancestor > a,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-elegant body > .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-menu-drawer .dhs-submenu-toggle,
html.dhs-dark-mode body.dhs-preset-elegant body > .dhs-menu-drawer .dhs-submenu-toggle{
  color:var(--dhs-accent,#d4af37)!important;
}
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav a:hover,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current-menu-item > a:hover,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current-menu-item > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:hover,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-elegant body > .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-elegant body > .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-menu-drawer .dhs-submenu-toggle:hover,
html.dhs-dark-mode body.dhs-preset-elegant .dhs-menu-drawer .dhs-submenu-toggle:focus-visible,
html.dhs-dark-mode body.dhs-preset-elegant body > .dhs-menu-drawer .dhs-submenu-toggle:hover,
html.dhs-dark-mode body.dhs-preset-elegant body > .dhs-menu-drawer .dhs-submenu-toggle:focus-visible{
  color:#ffffff!important;
}

/* 0.16.7 – Luxury preset: targeted dark-mode polish without changing other presets. */
html.dhs-dark-mode body.dhs-preset-luxury .dhs-home-rooms,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-home-features{
  background:var(--dhs-section-dark-bg,var(--dhs-section-primary-dark-bg,#0d0d0d))!important;
  color:var(--dhs-section-dark-color,var(--dhs-section-primary-dark-text,#ece8df))!important;
  box-shadow:0 0 0 100vmax var(--dhs-section-dark-bg,var(--dhs-section-primary-dark-bg,#0d0d0d))!important;
  clip-path:inset(0 -100vmax)!important;
}
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav a,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current-menu-item > a,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current_page_item > a,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current-menu-ancestor > a,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer .dhs-submenu-toggle,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer .dhs-submenu-toggle{
  color:var(--dhs-accent,#d4ad55)!important;
}
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav a:hover,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current-menu-item > a:hover,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current-menu-item > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:hover,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer .dhs-submenu-toggle:hover,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer .dhs-submenu-toggle:focus-visible,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer .dhs-submenu-toggle:hover,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer .dhs-submenu-toggle:focus-visible{
  color:#ffffff!important;
}
html.dhs-dark-mode body.dhs-preset-luxury .dhs-site-header .dhs-site-nav > ul > li > a::after,
html.dhs-dark-mode body.dhs-preset-luxury .dhs-menu-drawer > nav a::after,
html.dhs-dark-mode body.dhs-preset-luxury body > .dhs-menu-drawer > nav a::after{
  background:var(--dhs-accent,#d4ad55)!important;
}

/* 0.16.8 – preset underline colors and perfectly circular hamburger control */
body.dhs-preset-modern{--dhs-preset-menu-underline:var(--dhs-accent,#21a6a6)}
body.dhs-preset-elegant{--dhs-preset-menu-underline:var(--dhs-accent,#d4af37)}
body.dhs-preset-luxury{--dhs-preset-menu-underline:var(--dhs-accent,#d4ad55)}
body.dhs-preset-minimal{--dhs-preset-menu-underline:var(--dhs-accent,#d7d7d7)}
body.dhs-preset-dark{--dhs-preset-menu-underline:var(--dhs-accent,#f7cb68)}

/* Override every legacy red/global underline source, including the drawer label span. */
body[class*="dhs-preset-"] .dhs-site-header .dhs-site-nav > ul > li > a::after,
body[class*="dhs-preset-"] .dhs-site-header .dhs-menu-drawer .dhs-menu-link-label::after,
body[class*="dhs-preset-"] > .dhs-menu-drawer .dhs-menu-link-label::after,
html.dhs-dark-mode body[class*="dhs-preset-"] .dhs-site-header .dhs-site-nav > ul > li > a::after,
html.dhs-dark-mode body[class*="dhs-preset-"] .dhs-site-header .dhs-menu-drawer .dhs-menu-link-label::after,
html.dhs-dark-mode body[class*="dhs-preset-"] > .dhs-menu-drawer .dhs-menu-link-label::after{
  background:var(--dhs-preset-menu-underline,var(--dhs-accent))!important;
  box-shadow:none!important;
}

/* Fixed square geometry: borders, inherited line-height and theme padding can no longer make it oval. */
.dhs-site-header .dhs-site-menu-toggle,
body .dhs-site-menu-toggle{
  inline-size:48px!important;
  block-size:48px!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  flex:0 0 48px!important;
  aspect-ratio:1 / 1!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  transform:none!important;
}
@media(max-width:650px){
  .dhs-site-header .dhs-site-menu-toggle,
  body .dhs-site-menu-toggle{
    inline-size:44px!important;
    block-size:44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    flex:0 0 44px!important;
  }
  .dhs-site-header .dhs-site-menu-toggle::before{top:13px!important}
  .dhs-site-header .dhs-site-menu-toggle>span{top:20px!important}
  .dhs-site-header .dhs-site-menu-toggle::after{top:27px!important}
}


/* v0.16.9 Minimal preset polish */
body.dhs-preset-minimal .dhs-availability-card i,
body.dhs-preset-minimal .dhs-availability-card svg,
body.dhs-preset-minimal .dhs-footer-club .button,
body.dhs-preset-minimal .dhs-footer-club .button *,
body.dhs-preset-minimal .dhs-club-submit,
body.dhs-preset-minimal .dhs-club-submit *{color:#fff!important}

html.dhs-dark-mode body.dhs-preset-minimal .dhs-room-features i,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-room-features svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-benefits i,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-benefits svg{color:#fff!important;fill:#fff!important}

html.dhs-dark-mode body.dhs-preset-minimal .dhs-about-section{background:var(--dhs-dark-surface,#1f1f1f)!important;box-shadow:0 0 0 100vmax var(--dhs-dark-surface,#1f1f1f);clip-path:inset(0 -100vmax)}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-about-section .dhs-eyebrow{color:#fff!important}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-theme-toggle i,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-theme-toggle svg{color:#fff!important;fill:#fff!important}
html.dhs-dark-mode body.dhs-preset-minimal footer a,
html.dhs-dark-mode body.dhs-preset-minimal footer .dhs-footer-contact a,
html.dhs-dark-mode body.dhs-preset-minimal footer .dhs-footer-menu a{color:#fff!important}

/* v0.16.10 – Minimal preset: corrected selectors and menu colors */
/* Minimal navigation – light mode */
body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li > a,
body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a,
body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li.current_page_item > a,
body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a,
body.dhs-preset-minimal .dhs-menu-drawer nav a,
body.dhs-preset-minimal > .dhs-menu-drawer nav a,
body.dhs-preset-minimal .dhs-menu-drawer .dhs-submenu-toggle,
body.dhs-preset-minimal > .dhs-menu-drawer .dhs-submenu-toggle {
  color:#202020!important;
}
body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li > a:hover,
body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li > a:focus-visible,
body.dhs-preset-minimal .dhs-menu-drawer nav a:hover,
body.dhs-preset-minimal .dhs-menu-drawer nav a:focus-visible,
body.dhs-preset-minimal > .dhs-menu-drawer nav a:hover,
body.dhs-preset-minimal > .dhs-menu-drawer nav a:focus-visible {
  color:#777777!important;
}

/* Minimal navigation and dark-mode control – dark mode */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li > a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li.current_page_item > a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-minimal > .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-menu-drawer .dhs-submenu-toggle,
html.dhs-dark-mode body.dhs-preset-minimal > .dhs-menu-drawer .dhs-submenu-toggle,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-darkmode-toggle,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-darkmode-toggle svg {
  color:#ffffff!important;
  stroke:currentColor!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li > a:hover,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-site-nav > ul > li > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-minimal > .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-minimal > .dhs-menu-drawer nav a:focus-visible {
  color:#d7d7d7!important;
}

/* Availability button icon and footer club button text */
body.dhs-preset-minimal .dhs-booking-primary,
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon,
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg,
body.dhs-preset-minimal .dhs-site-footer__button {
  color:#ffffff!important;
}
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg {
  stroke:#ffffff!important;
}

/* Full-width About section and white eyebrow in Minimal dark mode */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-intro {
  background:var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#1d1d1d))!important;
  color:var(--dhs-section-dark-color,var(--dhs-section-secondary-dark-text,#eeeeee))!important;
  box-shadow:0 0 0 100vmax var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#1d1d1d))!important;
  clip-path:inset(0 -100vmax)!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-intro .dhs-home-kicker {
  color:#ffffff!important;
}

/* Room amenities, availability icon and Hotel Club icons – Minimal dark mode */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-amenity-group li i,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-signup__benefit-icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-signup__benefit-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-signup__submit {
  color:#ffffff!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-signup__benefit-icon svg {
  stroke:#ffffff!important;
}

/* Footer links and club button – Minimal dark mode */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-footer a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-footer p a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-footer li a,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-footer__button {
  color:#ffffff!important;
}

/* v0.16.11 – Minimal detail-page final color corrections */
/* Availability button icon: force every SVG part to pure white in light and dark mode. */
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon,
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg,
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg path,
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg rect,
body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg circle,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg path,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg rect,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-primary .dhs-booking-button-icon svg circle {
  color:#ffffff!important;
  stroke:#ffffff!important;
}

/* Minimal dark mode: secondary room button text and arrow stay white in every state. */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary:link,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary:visited,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary:hover,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary:focus,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary:active,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-secondary span {
  color:#ffffff!important;
}


/* v0.16.12 Minimal dark icon fixes */
body.dateck-dark .dateck-booking-button svg,
body.dateck-dark .dateck-booking-button svg *,
body.dateck-dark .dateck-booking-button i,
body.dateck-dark .dateck-booking-button i:before{
    fill:#fff !important;
    stroke:#fff !important;
    color:#fff !important;
}

body.dateck-dark .dhs-feature-item i,
body.dateck-dark .dhs-feature-item i:before,
body.dateck-dark .dhs-feature-item svg,
body.dateck-dark .dhs-feature-item svg *{
    color:#fff !important;
    fill:#fff !important;
    stroke:#fff !important;
}

/* v0.16.13 – Minimal: exact dark-mode icon selectors */
/* Detail page: round booking/availability icon on the left. */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-icon .dhs-icon-svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-booking-icon svg * {
    color:#ffffff !important;
    stroke:#ffffff !important;
}

/* Homepage: “Alles auf einen Blick” icons. */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-feature-icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-feature-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-feature-icon svg * {
    color:#ffffff !important;
    stroke:#ffffff !important;
}


/* v0.16.14 Minimal booking icon fix */
.dhs-booking-button .dhs-booking-icon svg,
.dhs-booking-button .dhs-booking-icon svg *{
    stroke:#fff !important;
    fill:none !important;
}


/* v0.16.15 Minimal preset booking icon always white */
body.dhs-preset-minimal .dhs-booking-icon,
body.dhs-preset-minimal .dhs-booking-icon *{
    color:#fff !important;
}
body.dhs-preset-minimal .dhs-booking-icon svg,
body.dhs-preset-minimal .dhs-booking-icon svg *,
body.dhs-preset-minimal .dhs-booking-icon svg path,
body.dhs-preset-minimal .dhs-booking-icon svg rect,
body.dhs-preset-minimal .dhs-booking-icon svg circle,
body.dhs-preset-minimal .dhs-booking-icon svg line,
body.dhs-preset-minimal .dhs-booking-icon svg polyline{
    stroke:#fff !important;
    fill:none !important;
}

/* v0.16.16 – Dark preset targeted polish */
/* Light mode header: mode icon stays black and menu hover uses the preset accent instead of a legacy red. */
body.dhs-preset-dark:not(.dhs-dark-mode) .dhs-darkmode-toggle,
html:not(.dhs-dark-mode) body.dhs-preset-dark .dhs-darkmode-toggle,
body.dhs-preset-dark:not(.dhs-dark-mode) .dhs-darkmode-toggle svg,
html:not(.dhs-dark-mode) body.dhs-preset-dark .dhs-darkmode-toggle svg {
    color:#111111 !important;
    stroke:#111111 !important;
}

body.dhs-preset-dark .dhs-site-header .dhs-site-nav a:hover,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav a:focus-visible,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav .current-menu-item > a:hover,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav .current-menu-item > a:focus-visible,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav .current_page_item > a:hover,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav .current_page_item > a:focus-visible,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:hover,
body.dhs-preset-dark .dhs-site-header .dhs-site-nav .current-menu-ancestor > a:focus-visible,
body.dhs-preset-dark .dhs-menu-drawer nav a:hover,
body.dhs-preset-dark .dhs-menu-drawer nav a:focus-visible,
body.dhs-preset-dark > .dhs-menu-drawer nav a:hover,
body.dhs-preset-dark > .dhs-menu-drawer nav a:focus-visible {
    color:var(--dhs-accent,#f7cb68) !important;
}

/* Homepage: the About surface spans the viewport while its content keeps the normal container width. */
body.dhs-preset-dark .dhs-home-intro {
    background:var(--dhs-section-bg,var(--dhs-section-secondary-bg,#151515)) !important;
    color:var(--dhs-section-color,var(--dhs-section-secondary-text,#f5f5f5)) !important;
    box-shadow:0 0 0 100vmax var(--dhs-section-bg,var(--dhs-section-secondary-bg,#151515)) !important;
    clip-path:inset(0 -100vmax) !important;
}
html.dhs-dark-mode body.dhs-preset-dark .dhs-home-intro {
    background:var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#151515)) !important;
    color:var(--dhs-section-dark-color,var(--dhs-section-secondary-dark-text,#f5f5f5)) !important;
    box-shadow:0 0 0 100vmax var(--dhs-section-dark-bg,var(--dhs-section-secondary-dark-bg,#151515)) !important;
    clip-path:inset(0 -100vmax) !important;
}

/* Room detail: give the Hotel Club / direct-booking banner the same outlined-card treatment as the booking CTA below it. */
body.dhs-preset-dark .dhs-club-notice {
    border:1px solid color-mix(in srgb,var(--dhs-text,#f5f5f5) 20%,transparent) !important;
    box-sizing:border-box !important;
}
html.dhs-dark-mode body.dhs-preset-dark .dhs-club-notice {
    border-color:color-mix(in srgb,var(--dhs-dark-text,#ffffff) 20%,transparent) !important;
}

/* Dark mode footer: accent button keeps a deliberately dark, readable label in every state. */
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-footer__button,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-footer__button:link,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-footer__button:visited,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-footer__button:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-footer__button:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-footer__button:active {
    color:#171717 !important;
}

/* v0.16.17 – Dark preset header visibility fixes */
/* Light mode: keep the round control dark, but make the sun/moon glyph clearly visible. */
html:not(.dhs-dark-mode) body.dhs-preset-dark .dhs-site-header .dhs-darkmode-toggle,
body.dhs-preset-dark:not(.dhs-dark-mode) .dhs-site-header .dhs-darkmode-toggle {
    color:var(--dhs-accent,#f7cb68) !important;
}
html:not(.dhs-dark-mode) body.dhs-preset-dark .dhs-site-header .dhs-darkmode-toggle svg,
html:not(.dhs-dark-mode) body.dhs-preset-dark .dhs-site-header .dhs-darkmode-toggle svg *,
body.dhs-preset-dark:not(.dhs-dark-mode) .dhs-site-header .dhs-darkmode-toggle svg,
body.dhs-preset-dark:not(.dhs-dark-mode) .dhs-site-header .dhs-darkmode-toggle svg * {
    color:var(--dhs-accent,#f7cb68) !important;
    stroke:var(--dhs-accent,#f7cb68) !important;
}

/* Dark mode: navigation stays bright and hover/focus uses gold instead of any inherited red. */
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li > a,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current_page_item > a,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a,
html.dhs-dark-mode body.dhs-preset-dark .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer nav a,
html.dhs-dark-mode body.dhs-preset-dark .dhs-menu-drawer .dhs-submenu-toggle,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer .dhs-submenu-toggle {
    color:#ffffff !important;
}
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li > a:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current_page_item > a:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current_page_item > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li.current-menu-ancestor > a:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer nav a:hover,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer nav a:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark .dhs-menu-drawer .dhs-submenu-toggle:hover,
html.dhs-dark-mode body.dhs-preset-dark .dhs-menu-drawer .dhs-submenu-toggle:focus-visible,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer .dhs-submenu-toggle:hover,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer .dhs-submenu-toggle:focus-visible {
    color:var(--dhs-accent,#f7cb68) !important;
}
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-site-nav > ul > li > a::after,
html.dhs-dark-mode body.dhs-preset-dark .dhs-site-header .dhs-menu-drawer .dhs-menu-link-label::after,
html.dhs-dark-mode body.dhs-preset-dark > .dhs-menu-drawer .dhs-menu-link-label::after {
    background:var(--dhs-accent,#f7cb68) !important;
}


/* Dateck Unterkunft Suite 0.18.1 – full-width decorative section accents */
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"]){position:relative;isolation:isolate;overflow:visible;width:min(100%,var(--dhs-container));max-width:var(--dhs-container);margin-left:auto;margin-right:auto;box-sizing:border-box}
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])>*{position:relative;z-index:2}
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])::before,
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])::after{content:"";position:absolute;z-index:0;pointer-events:none;color:var(--dhs-section-accent,var(--dhs-accent));opacity:var(--dhs-section-accent-opacity,.06)}
/* Pattern layers span the viewport, while the content remains in its normal container. */
.dhs-home-section[data-dhs-accent="dots"]::before,
.dhs-home-section[data-dhs-accent="lines"]::before{top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%)}
.dhs-home-section[data-dhs-accent="circles"]::before{width:360px;height:360px;border-radius:50%;background:currentColor;top:-205px;right:max(-135px,calc((100% - 100vw)/2 - 30px))}
.dhs-home-section[data-dhs-accent="circles"]::after{width:230px;height:230px;border:52px solid currentColor;border-radius:50%;left:max(-125px,calc((100% - 100vw)/2 - 35px));bottom:-145px;background:transparent}
.dhs-home-section[data-dhs-accent="glow"]::before{width:620px;height:410px;border-radius:50%;background:currentColor;filter:blur(88px);top:-245px;right:max(-210px,calc((100% - 100vw)/2 - 80px))}
.dhs-home-section[data-dhs-accent="glow"]::after{width:430px;height:330px;border-radius:50%;background:currentColor;filter:blur(105px);left:max(-220px,calc((100% - 100vw)/2 - 90px));bottom:-215px}
.dhs-home-section[data-dhs-accent="dots"]::before{background-image:radial-gradient(currentColor 1.7px,transparent 1.8px);background-size:24px 24px;mask-image:linear-gradient(110deg,#000 0%,#000 20%,transparent 72%);-webkit-mask-image:linear-gradient(110deg,#000 0%,#000 20%,transparent 72%)}
.dhs-home-section[data-dhs-accent="dots"]::after{top:0;bottom:0;right:calc((100% - 100vw)/2);width:42vw;background-image:radial-gradient(currentColor 1.4px,transparent 1.5px);background-size:28px 28px;mask-image:linear-gradient(250deg,#000,transparent 72%);-webkit-mask-image:linear-gradient(250deg,#000,transparent 72%)}
.dhs-home-section[data-dhs-accent="lines"]::before{background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);-webkit-mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%)}
.dhs-home-section[data-dhs-accent="lines"]::after{top:0;bottom:0;right:calc((100% - 100vw)/2);width:44vw;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(250deg,#000,transparent 72%);-webkit-mask-image:linear-gradient(250deg,#000,transparent 72%)}
.dhs-home-section[data-dhs-accent="waves"]::before{width:700px;height:300px;right:max(-180px,calc((100% - 100vw)/2 - 110px));top:-85px;border:2px solid currentColor;border-radius:50%;box-shadow:0 38px 0 currentColor,0 76px 0 currentColor,0 114px 0 currentColor;transform:rotate(-9deg);background:transparent}
.dhs-home-section[data-dhs-accent="waves"]::after{width:520px;height:220px;left:max(-180px,calc((100% - 100vw)/2 - 95px));bottom:-130px;border:2px solid currentColor;border-radius:50%;box-shadow:0 32px 0 currentColor,0 64px 0 currentColor;transform:rotate(8deg);background:transparent}
.dhs-home-section[data-dhs-accent-position="top-left"]::before{left:max(-145px,calc((100% - 100vw)/2 - 45px))!important;right:auto!important}.dhs-home-section[data-dhs-accent-position="top-left"]::after{display:none}
.dhs-home-section[data-dhs-accent-position="top-right"]::after{display:none}
.dhs-home-section[data-dhs-accent-position="bottom"]::before{top:auto!important;bottom:-165px!important}.dhs-home-section[data-dhs-accent-position="bottom"]::after{display:none}
@media(max-width:760px){.dhs-home-section[data-dhs-accent="circles"]::before{width:260px;height:260px;top:-155px}.dhs-home-section[data-dhs-accent="circles"]::after{width:170px;height:170px;border-width:38px}.dhs-home-section[data-dhs-accent="waves"]::before{width:460px;height:210px}.dhs-home-section[data-dhs-accent="waves"]::after{width:350px;height:170px}}

/* Floating buttons: SVGs always follow the selected icon color. */
.dhs-floating-action,.dhs-floating-action span{color:var(--dhs-item-fg,var(--dhs-floating-fg,#111))!important}
.dhs-floating-action svg,.dhs-floating-action svg *{color:inherit!important;stroke:currentColor!important}
.dhs-floating-action svg [fill]:not([fill="none"]){fill:currentColor!important}

/* Decorative use of the otherwise empty area below the room gallery. */
.dhs-detail-gallery-column{min-width:0;display:flex;flex-direction:column}
.dhs-room-gallery-accent{position:relative;min-height:180px;width:100%;margin-top:18px;overflow:hidden;background:transparent;border:0;border-radius:0;opacity:1;pointer-events:none}
.dhs-room-gallery-accent::before,.dhs-room-gallery-accent::after{content:"";position:absolute;color:var(--dhs-room-accent);opacity:var(--dhs-room-accent-opacity,.06);pointer-events:none}
.dhs-room-gallery-accent[data-accent="circles"]::before{width:310px;height:310px;border-radius:50%;background:currentColor;right:-95px;top:-155px}.dhs-room-gallery-accent[data-accent="circles"]::after{width:165px;height:165px;border:36px solid currentColor;border-radius:50%;left:-70px;bottom:-92px}
.dhs-room-gallery-accent[data-accent="glow"]::before{width:440px;height:280px;border-radius:50%;background:currentColor;filter:blur(72px);right:-120px;top:-125px}.dhs-room-gallery-accent[data-accent="glow"]::after{width:300px;height:230px;border-radius:50%;background:currentColor;filter:blur(82px);left:-125px;bottom:-135px}
.dhs-room-gallery-accent[data-accent="dots"]::before{inset:0;background-image:radial-gradient(currentColor 1.6px,transparent 1.7px);background-size:21px 21px;mask-image:linear-gradient(135deg,#000 0%,#000 20%,transparent 78%);-webkit-mask-image:linear-gradient(135deg,#000 0%,#000 20%,transparent 78%)}
.dhs-room-gallery-accent[data-accent="dots"]::after{inset:0;background-image:radial-gradient(currentColor 1.2px,transparent 1.3px);background-size:28px 28px;mask-image:linear-gradient(315deg,#000,transparent 72%);-webkit-mask-image:linear-gradient(315deg,#000,transparent 72%)}
.dhs-room-gallery-accent[data-accent="lines"]::before{inset:0;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(135deg,#000 0%,#000 18%,transparent 75%);-webkit-mask-image:linear-gradient(135deg,#000 0%,#000 18%,transparent 75%)}
.dhs-room-gallery-accent[data-accent="lines"]::after{inset:0;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(315deg,#000,transparent 74%);-webkit-mask-image:linear-gradient(315deg,#000,transparent 74%)}
html.dhs-dark-mode .dhs-room-gallery-accent{background:transparent;border-color:transparent}
@media(max-width:1050px){.dhs-detail-gallery-column{width:100%}.dhs-room-gallery-accent{min-height:170px}}
@media(max-width:900px){.dhs-room-gallery-accent{min-height:150px}}


/* Dateck Unterkunft Suite 0.18.3 – accents viewport-wide, content stays contained */
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"]){
  clip-path:inset(0 -100vmax);
}
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])::before,
.dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])::after{
  pointer-events:none;
}
/* The detail-page decoration is deliberately free-floating, not a card. */
.dhs-room-gallery-accent{box-shadow:none!important;}


/* Dateck Unterkunft Suite 0.18.4 – light/dark accent tuning and richer room detail decoration */
html.dhs-dark-mode .dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])::before,
html.dhs-dark-mode .dhs-home-section[data-dhs-accent]:not([data-dhs-accent="none"])::after{
  color:var(--dhs-section-accent-dark,var(--dhs-section-accent,var(--dhs-accent)));
  opacity:var(--dhs-section-accent-dark-opacity,.05);
}

/* Minimal preset: room eyebrow/title must stay readable in dark mode. */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-rooms .dhs-home-kicker,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-rooms .dhs-home-section__head h2{
  color:#fff!important;
}

/* Use the available gallery-column height as a deliberate decorative canvas. */
.dhs-room-gallery-accent{
  min-height:clamp(300px,38vw,560px);
  margin-top:10px;
  overflow:hidden;
  color:var(--dhs-room-accent);
}
.dhs-room-gallery-accent::before,
.dhs-room-gallery-accent::after{
  opacity:var(--dhs-room-accent-opacity,.09);
}
html.dhs-dark-mode .dhs-room-gallery-accent{
  color:var(--dhs-room-accent-dark,var(--dhs-room-accent));
}
html.dhs-dark-mode .dhs-room-gallery-accent::before,
html.dhs-dark-mode .dhs-room-gallery-accent::after{
  opacity:var(--dhs-room-accent-dark-opacity,.05);
}

/* Circles: multiple distributed shapes without introducing a card background. */
.dhs-room-gallery-accent[data-accent="circles"]::before{
  width:210px;height:210px;right:3%;top:5%;
  background:currentColor;border-radius:50%;
  box-shadow:
    -430px 105px 0 -58px currentColor,
    -250px 285px 0 -78px currentColor,
    -20px 355px 0 -54px currentColor;
}
.dhs-room-gallery-accent[data-accent="circles"]::after{
  width:150px;height:150px;left:2%;bottom:8%;
  border:32px solid currentColor;border-radius:50%;background:transparent;
  box-shadow:
    315px -155px 0 -20px transparent,
    315px -155px 0 0 currentColor;
  clip-path:none;
}
/* Keep the second ring hollow even with the extra shadow shape. */
.dhs-room-gallery-accent[data-accent="circles"]::after{box-shadow:330px -170px 0 -42px currentColor;}

.dhs-room-gallery-accent[data-accent="glow"]::before{
  width:520px;height:340px;right:-115px;top:-80px;filter:blur(88px);
  box-shadow:-390px 250px 0 -65px currentColor;
}
.dhs-room-gallery-accent[data-accent="glow"]::after{
  width:360px;height:270px;left:-100px;bottom:-55px;filter:blur(92px);
  box-shadow:420px -120px 0 -95px currentColor;
}
.dhs-room-gallery-accent[data-accent="dots"]::before,
.dhs-room-gallery-accent[data-accent="lines"]::before{inset:0;}
.dhs-room-gallery-accent[data-accent="dots"]::after,
.dhs-room-gallery-accent[data-accent="lines"]::after{inset:18% 0 0 18%;}

@media(max-width:1050px){
  .dhs-room-gallery-accent{min-height:240px;}
}
@media(max-width:760px){
  .dhs-room-gallery-accent{min-height:190px;}
  .dhs-room-gallery-accent[data-accent="circles"]::before{width:155px;height:155px;right:-20px;top:-25px;box-shadow:-250px 100px 0 -48px currentColor,-100px 205px 0 -58px currentColor;}
  .dhs-room-gallery-accent[data-accent="circles"]::after{width:105px;height:105px;border-width:24px;left:-36px;bottom:-35px;box-shadow:230px -105px 0 -34px currentColor;}
}


/* Dateck Unterkunft Suite 0.18.5 – gallery-safe accents, mobile detail cleanup and template-origin persistence */
/* The gallery gets its own decorative layer. Its Bento/Grid layout is never used as an effect canvas. */
.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"])::before,
.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"])::after{display:none!important}
.dhs-home-gallery .dhs-gallery-accent-layer{
  position:absolute!important;inset:0;z-index:0!important;display:block;pointer-events:none;
  color:var(--dhs-section-accent,var(--dhs-accent));opacity:var(--dhs-section-accent-opacity,.09);
  overflow:visible;
}
html.dhs-dark-mode .dhs-home-gallery .dhs-gallery-accent-layer{
  color:var(--dhs-section-accent-dark,var(--dhs-section-accent,var(--dhs-accent)));
  opacity:var(--dhs-section-accent-dark-opacity,.05);
}
.dhs-home-gallery .dhs-gallery-accent-layer::before,
.dhs-home-gallery .dhs-gallery-accent-layer::after{content:"";position:absolute;pointer-events:none;color:inherit}
.dhs-home-gallery[data-dhs-accent="circles"] .dhs-gallery-accent-layer::before{width:360px;height:360px;border-radius:50%;background:currentColor;right:calc((100% - 100vw)/2 - 120px);top:-190px;box-shadow:-72vw 430px 0 -105px currentColor}
.dhs-home-gallery[data-dhs-accent="circles"] .dhs-gallery-accent-layer::after{width:180px;height:180px;border:42px solid currentColor;border-radius:50%;left:calc((100% - 100vw)/2 - 72px);bottom:-100px}
.dhs-home-gallery[data-dhs-accent="glow"] .dhs-gallery-accent-layer::before{width:650px;height:420px;border-radius:50%;background:currentColor;filter:blur(95px);right:calc((100% - 100vw)/2 - 180px);top:-230px}
.dhs-home-gallery[data-dhs-accent="glow"] .dhs-gallery-accent-layer::after{width:470px;height:340px;border-radius:50%;background:currentColor;filter:blur(105px);left:calc((100% - 100vw)/2 - 170px);bottom:-220px}
.dhs-home-gallery[data-dhs-accent="dots"] .dhs-gallery-accent-layer{left:50%;width:100vw;transform:translateX(-50%);background-image:radial-gradient(currentColor 1.5px,transparent 1.6px);background-size:25px 25px;mask-image:linear-gradient(110deg,#000 0%,transparent 65%);-webkit-mask-image:linear-gradient(110deg,#000 0%,transparent 65%)}
.dhs-home-gallery[data-dhs-accent="lines"] .dhs-gallery-accent-layer{left:50%;width:100vw;transform:translateX(-50%);background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(110deg,#000 0%,transparent 72%);-webkit-mask-image:linear-gradient(110deg,#000 0%,transparent 72%)}
.dhs-home-gallery[data-dhs-accent="waves"] .dhs-gallery-accent-layer::before{width:760px;height:310px;right:calc((100% - 100vw)/2 - 190px);top:-100px;border:2px solid currentColor;border-radius:50%;box-shadow:0 40px 0 currentColor,0 80px 0 currentColor,0 120px 0 currentColor;transform:rotate(-8deg)}
.dhs-home-gallery[data-dhs-accent="waves"] .dhs-gallery-accent-layer::after{width:560px;height:230px;left:calc((100% - 100vw)/2 - 170px);bottom:-145px;border:2px solid currentColor;border-radius:50%;box-shadow:0 34px 0 currentColor,0 68px 0 currentColor;transform:rotate(8deg)}
.dhs-home-gallery[data-dhs-accent-position="top-left"] .dhs-gallery-accent-layer::before{left:calc((100% - 100vw)/2 - 120px)!important;right:auto!important}.dhs-home-gallery[data-dhs-accent-position="top-left"] .dhs-gallery-accent-layer::after{display:none}
.dhs-home-gallery[data-dhs-accent-position="top-right"] .dhs-gallery-accent-layer::after{display:none}
.dhs-home-gallery[data-dhs-accent-position="bottom"] .dhs-gallery-accent-layer::before{top:auto!important;bottom:-155px!important}.dhs-home-gallery[data-dhs-accent-position="bottom"] .dhs-gallery-accent-layer::after{display:none}
/* The actual gallery is explicitly isolated from decorative positioning rules. */
.dhs-home-gallery>.dhs-hotel-gallery,.dhs-home-gallery .dhs-bento-viewport,.dhs-home-gallery .dhs-bento-track,.dhs-home-gallery .dhs-bento-page{position:relative;z-index:2;min-width:0}

/* The empty-space decoration on room detail pages is desktop/tablet only. */
@media(max-width:760px){.dhs-room-gallery-accent{display:none!important}}

/* Template-derived dark-mode polish remains active after the UI switches to Custom. */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-intro .dhs-home-kicker,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-rooms .dhs-home-kicker,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-location :where(h2,h3,.dhs-location-highlight__content strong),
html.dhs-dark-mode body.dhs-preset-minimal .dhs-home-club-form .dhs-club-signup__intro :where(.dhs-club-signup__title,.dhs-club-signup__subtitle,.dhs-club-signup__description p,.dhs-club-signup__benefits li){color:#fff!important}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-location-highlight__icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-location-highlight__distance,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-signup__benefit-icon,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-club-signup__benefit-icon svg{color:#fff!important;stroke:currentColor!important}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-darkmode-toggle,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-darkmode-toggle svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-site-header .dhs-darkmode-toggle svg *{color:#fff!important;stroke:#fff!important}

/* Dateck Unterkunft Suite 0.18.6 – gallery section accent layout fix
 * The generic accent container must not re-apply the normal section max-width
 * to the homepage gallery. The gallery already owns its viewport-aligned
 * horizontal padding, so constraining it again collapses the Bento layout.
 */
.dhs-home-section.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"]){
  width:auto!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box;
}
.dhs-home-section.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"]) > .dhs-hotel-gallery{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.dhs-home-section.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"]) .dhs-bento-viewport,
.dhs-home-section.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"]) .dhs-bento-track,
.dhs-home-section.dhs-home-gallery[data-dhs-accent]:not([data-dhs-accent="none"]) .dhs-bento-page{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* Dateck Unterkunft Suite 0.18.7 – isolated transitions between homepage sections */
.dhs-homepage [data-dhs-transition]{position:relative;overflow:visible}
.dhs-section-transition{
  position:absolute;
  left:50%;
  bottom:0;
  width:100vw;
  height:0;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:30;
}
.dhs-homepage [data-dhs-transition="shadow-soft"]>.dhs-section-transition{
  box-shadow:0 10px 24px 9px rgba(0,0,0,.09);
}
.dhs-homepage [data-dhs-transition="shadow-medium"]>.dhs-section-transition{
  box-shadow:0 16px 40px 14px rgba(0,0,0,.14);
}
.dhs-homepage [data-dhs-transition="shadow-strong"]>.dhs-section-transition{
  box-shadow:0 22px 58px 20px rgba(0,0,0,.20);
}
.dhs-homepage [data-dhs-transition="fade-soft"]>.dhs-section-transition{
  height:72px;
  bottom:-72px;
  background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,0));
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-soft"]>.dhs-section-transition{box-shadow:0 10px 26px 10px rgba(0,0,0,.28)}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-medium"]>.dhs-section-transition{box-shadow:0 17px 44px 15px rgba(0,0,0,.38)}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-strong"]>.dhs-section-transition{box-shadow:0 24px 62px 22px rgba(0,0,0,.48)}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="fade-soft"]>.dhs-section-transition{background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,0))}
@media(max-width:767px){
  .dhs-homepage [data-dhs-transition="shadow-strong"]>.dhs-section-transition{box-shadow:0 15px 36px 12px rgba(0,0,0,.16)}
  .dhs-homepage [data-dhs-transition="fade-soft"]>.dhs-section-transition{height:48px;bottom:-48px}
}

/* Dateck Unterkunft Suite 0.18.8 – isolated accent/content/transition layer engine */
.dhs-homepage .dhs-home-section{
  position:relative;
  isolation:isolate;
  overflow:visible;
}
/* Retire section pseudo-elements: decorative accents now live only inside their own layer. */
.dhs-homepage .dhs-home-section[data-dhs-accent]::before,
.dhs-homepage .dhs-home-section[data-dhs-accent]::after{
  content:none!important;
  display:none!important;
}
.dhs-homepage .dhs-home-section > :not(.dhs-section-accent-layer):not(.dhs-gallery-accent-layer):not(.dhs-section-transition){
  position:relative;
  z-index:2;
}
.dhs-section-accent-layer{
  position:absolute!important;
  left:50%!important;
  top:0!important;
  bottom:0!important;
  width:100vw!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  color:var(--dhs-section-accent,var(--dhs-accent));
  opacity:var(--dhs-section-accent-opacity,.09);
}
html.dhs-dark-mode .dhs-section-accent-layer{
  color:var(--dhs-section-accent-dark,var(--dhs-section-accent,var(--dhs-accent)));
  opacity:var(--dhs-section-accent-dark-opacity,.05);
}
.dhs-section-accent-layer::before,
.dhs-section-accent-layer::after{
  content:"";
  position:absolute;
  pointer-events:none;
  color:inherit;
  box-sizing:border-box;
}
.dhs-home-section[data-dhs-accent="circles"] > .dhs-section-accent-layer::before{
  width:360px;height:360px;border-radius:50%;background:currentColor;top:-205px;right:-90px;
  box-shadow:-72vw 430px 0 -105px currentColor;
}
.dhs-home-section[data-dhs-accent="circles"] > .dhs-section-accent-layer::after{
  width:230px;height:230px;border:52px solid currentColor;border-radius:50%;left:-95px;bottom:-145px;background:transparent;
}
.dhs-home-section[data-dhs-accent="glow"] > .dhs-section-accent-layer::before{
  width:620px;height:410px;border-radius:50%;background:currentColor;filter:blur(88px);top:-245px;right:-160px;
}
.dhs-home-section[data-dhs-accent="glow"] > .dhs-section-accent-layer::after{
  width:430px;height:330px;border-radius:50%;background:currentColor;filter:blur(105px);left:-170px;bottom:-215px;
}
.dhs-home-section[data-dhs-accent="dots"] > .dhs-section-accent-layer{
  background-image:radial-gradient(currentColor 1.7px,transparent 1.8px);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
  mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
}
.dhs-home-section[data-dhs-accent="dots"] > .dhs-section-accent-layer::after{
  inset:0 0 0 auto;width:44vw;
  background-image:radial-gradient(currentColor 1.4px,transparent 1.5px);background-size:28px 28px;
  -webkit-mask-image:linear-gradient(250deg,#000,transparent 72%);mask-image:linear-gradient(250deg,#000,transparent 72%);
}
.dhs-home-section[data-dhs-accent="lines"] > .dhs-section-accent-layer{
  background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
  mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
}
.dhs-home-section[data-dhs-accent="lines"] > .dhs-section-accent-layer::after{
  inset:0 0 0 auto;width:44vw;
  background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:linear-gradient(250deg,#000,transparent 72%);mask-image:linear-gradient(250deg,#000,transparent 72%);
}
.dhs-home-section[data-dhs-accent="waves"] > .dhs-section-accent-layer::before{
  width:700px;height:300px;right:-120px;top:-85px;border:2px solid currentColor;border-radius:50%;
  box-shadow:0 38px 0 currentColor,0 76px 0 currentColor,0 114px 0 currentColor;transform:rotate(-9deg);
}
.dhs-home-section[data-dhs-accent="waves"] > .dhs-section-accent-layer::after{
  width:520px;height:220px;left:-125px;bottom:-130px;border:2px solid currentColor;border-radius:50%;
  box-shadow:0 32px 0 currentColor,0 64px 0 currentColor;transform:rotate(8deg);
}
.dhs-home-section[data-dhs-accent-position="top-left"] > .dhs-section-accent-layer::before{left:-95px!important;right:auto!important}
.dhs-home-section[data-dhs-accent-position="top-left"] > .dhs-section-accent-layer::after{display:none!important}
.dhs-home-section[data-dhs-accent-position="top-right"] > .dhs-section-accent-layer::after{display:none!important}
.dhs-home-section[data-dhs-accent-position="bottom"] > .dhs-section-accent-layer::before{top:auto!important;bottom:-165px!important}
.dhs-home-section[data-dhs-accent-position="bottom"] > .dhs-section-accent-layer::after{display:none!important}

/* Transition always belongs to the bottom edge and sits above accent, below interactive content. */
.dhs-homepage .dhs-home-section > .dhs-section-transition{
  position:absolute!important;
  left:50%!important;
  bottom:-1px!important;
  width:100vw!important;
  height:1px!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
  z-index:4!important;
  opacity:1!important;
}
.dhs-homepage [data-dhs-transition="shadow-soft"] > .dhs-section-transition{box-shadow:0 12px 28px 10px rgba(0,0,0,.09)!important}
.dhs-homepage [data-dhs-transition="shadow-medium"] > .dhs-section-transition{box-shadow:0 18px 42px 15px rgba(0,0,0,.14)!important}
.dhs-homepage [data-dhs-transition="shadow-strong"] > .dhs-section-transition{box-shadow:0 24px 58px 20px rgba(0,0,0,.20)!important}
.dhs-homepage [data-dhs-transition="fade-soft"] > .dhs-section-transition{
  height:72px!important;bottom:-72px!important;box-shadow:none!important;
  background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,0))!important;
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-soft"] > .dhs-section-transition{box-shadow:0 12px 30px 11px rgba(0,0,0,.28)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-medium"] > .dhs-section-transition{box-shadow:0 18px 46px 16px rgba(0,0,0,.38)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-strong"] > .dhs-section-transition{box-shadow:0 25px 64px 22px rgba(0,0,0,.48)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="fade-soft"] > .dhs-section-transition{background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,0))!important}
@media(max-width:760px){
  .dhs-home-section[data-dhs-accent="circles"] > .dhs-section-accent-layer::before{width:260px;height:260px;top:-155px}
  .dhs-home-section[data-dhs-accent="circles"] > .dhs-section-accent-layer::after{width:170px;height:170px;border-width:38px}
  .dhs-home-section[data-dhs-accent="waves"] > .dhs-section-accent-layer::before{width:460px;height:210px}
  .dhs-home-section[data-dhs-accent="waves"] > .dhs-section-accent-layer::after{width:350px;height:170px}
  .dhs-homepage [data-dhs-transition="shadow-strong"] > .dhs-section-transition{box-shadow:0 16px 38px 12px rgba(0,0,0,.16)!important}
  .dhs-homepage [data-dhs-transition="fade-soft"] > .dhs-section-transition{height:48px!important;bottom:-48px!important}
}


/* Dateck Unterkunft Suite 0.18.9 – premium section accents and transitions */
/* Feine Struktur: a subtle, image-free grain that adds depth without affecting content. */
.dhs-home-section[data-dhs-accent="noise"] > .dhs-section-accent-layer,
.dhs-home-gallery[data-dhs-accent="noise"] > .dhs-section-accent-layer{
  background-image:
    radial-gradient(circle at 18% 24%,currentColor 0 0.7px,transparent 0.9px),
    radial-gradient(circle at 72% 66%,currentColor 0 0.65px,transparent 0.85px),
    radial-gradient(circle at 43% 82%,currentColor 0 0.55px,transparent 0.75px);
  background-size:11px 11px,13px 13px,17px 17px;
  opacity:calc(var(--dhs-section-accent-opacity,.09) * .55);
  -webkit-mask-image:linear-gradient(100deg,transparent 0%,#000 15%,#000 85%,transparent 100%);
  mask-image:linear-gradient(100deg,transparent 0%,#000 15%,#000 85%,transparent 100%);
}
html.dhs-dark-mode .dhs-home-section[data-dhs-accent="noise"] > .dhs-section-accent-layer,
html.dhs-dark-mode .dhs-home-gallery[data-dhs-accent="noise"] > .dhs-section-accent-layer{
  opacity:calc(var(--dhs-section-accent-dark-opacity,.05) * .7);
}

/* Glass Shapes: translucent panels and rings with blur, fully decorative. */
.dhs-home-section[data-dhs-accent="glass"] > .dhs-section-accent-layer::before,
.dhs-home-gallery[data-dhs-accent="glass"] > .dhs-section-accent-layer::before{
  width:360px;height:210px;right:-70px;top:-55px;border-radius:54px;
  background:linear-gradient(135deg,currentColor,transparent 72%);
  border:1px solid currentColor;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 28px 70px rgba(0,0,0,.08);
  transform:rotate(-9deg);
  filter:blur(.15px);
}
.dhs-home-section[data-dhs-accent="glass"] > .dhs-section-accent-layer::after,
.dhs-home-gallery[data-dhs-accent="glass"] > .dhs-section-accent-layer::after{
  width:210px;height:210px;left:-72px;bottom:-82px;border-radius:50%;
  border:28px solid currentColor;background:transparent;
  box-shadow:0 24px 65px rgba(0,0,0,.06);
}

/* Diagonal translucent planes for a modern editorial look. */
.dhs-home-section[data-dhs-accent="diagonal"] > .dhs-section-accent-layer::before,
.dhs-home-gallery[data-dhs-accent="diagonal"] > .dhs-section-accent-layer::before{
  width:48vw;height:155%;right:-16vw;top:-28%;background:currentColor;
  transform:skewX(-18deg) rotate(2deg);border-radius:80px;
}
.dhs-home-section[data-dhs-accent="diagonal"] > .dhs-section-accent-layer::after,
.dhs-home-gallery[data-dhs-accent="diagonal"] > .dhs-section-accent-layer::after{
  width:24vw;height:125%;left:-14vw;bottom:-20%;border:2px solid currentColor;
  transform:skewX(16deg) rotate(-4deg);border-radius:70px;
}

/* Respect the existing position selector for the new shape styles. */
.dhs-home-section[data-dhs-accent-position="top-left"][data-dhs-accent="glass"] > .dhs-section-accent-layer::before,
.dhs-home-section[data-dhs-accent-position="top-left"][data-dhs-accent="diagonal"] > .dhs-section-accent-layer::before,
.dhs-home-gallery[data-dhs-accent-position="top-left"][data-dhs-accent="glass"] > .dhs-section-accent-layer::before,
.dhs-home-gallery[data-dhs-accent-position="top-left"][data-dhs-accent="diagonal"] > .dhs-section-accent-layer::before{left:-70px!important;right:auto!important}
.dhs-home-section[data-dhs-accent-position="bottom"][data-dhs-accent="glass"] > .dhs-section-accent-layer::before,
.dhs-home-gallery[data-dhs-accent-position="bottom"][data-dhs-accent="glass"] > .dhs-section-accent-layer::before{top:auto!important;bottom:-70px!important}

/* Additional section transitions. */
.dhs-homepage [data-dhs-transition="glow-soft"] > .dhs-section-transition{
  height:90px!important;bottom:-45px!important;box-shadow:none!important;
  background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.16) 0%,rgba(0,0,0,.07) 38%,transparent 72%)!important;
  filter:blur(8px);
}
.dhs-homepage [data-dhs-transition="light-edge"] > .dhs-section-transition{
  height:2px!important;bottom:-1px!important;box-shadow:0 1px 0 rgba(255,255,255,.72),0 8px 24px rgba(0,0,0,.08)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92) 18%,rgba(255,255,255,.92) 82%,transparent)!important;
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="glow-soft"] > .dhs-section-transition{
  background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.52) 0%,rgba(0,0,0,.22) 40%,transparent 74%)!important;
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="light-edge"] > .dhs-section-transition{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 18%,rgba(255,255,255,.18) 82%,transparent)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.09),0 10px 28px rgba(0,0,0,.30)!important;
}

/* Hero-specific polish: the same new transitions get slightly more presence below large imagery. */
.dhs-home-hero[data-dhs-transition="glow-soft"] > .dhs-section-transition{
  height:110px!important;bottom:-55px!important;
}
.dhs-home-hero[data-dhs-transition="light-edge"] > .dhs-section-transition{
  box-shadow:0 1px 0 rgba(255,255,255,.48),0 12px 34px rgba(0,0,0,.16)!important;
}

@media(max-width:760px){
  .dhs-home-section[data-dhs-accent="glass"] > .dhs-section-accent-layer::before,
  .dhs-home-gallery[data-dhs-accent="glass"] > .dhs-section-accent-layer::before{width:250px;height:150px;right:-85px;top:-45px;border-radius:38px}
  .dhs-home-section[data-dhs-accent="glass"] > .dhs-section-accent-layer::after,
  .dhs-home-gallery[data-dhs-accent="glass"] > .dhs-section-accent-layer::after{width:145px;height:145px;border-width:20px}
  .dhs-home-section[data-dhs-accent="diagonal"] > .dhs-section-accent-layer::before,
  .dhs-home-gallery[data-dhs-accent="diagonal"] > .dhs-section-accent-layer::before{width:72vw;right:-34vw}
  .dhs-homepage [data-dhs-transition="glow-soft"] > .dhs-section-transition{height:64px!important;bottom:-32px!important}
}


/* 0.19.0 – Card & Section Shadow Studio */
:where(.dhs-room-card,.dhs-room-content,.dhs-booking-panel,.dhs-booking-box,.dhs-amenities-card,.dhs-feature-card,.dhs-club-signup__form,.dhs-club-form,.gm-card,.dhs-contact-card){box-shadow:var(--dhs-card-shadow,0 18px 45px rgba(15,23,42,.08));transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}
:where(.dhs-room-card,.dhs-feature-card,.gm-card):hover{transform:var(--dhs-card-hover-transform,translateY(-6px));box-shadow:var(--dhs-card-shadow-hover,var(--dhs-card-shadow))}
html.dhs-dark-mode :where(.dhs-room-card,.dhs-room-content,.dhs-booking-panel,.dhs-booking-box,.dhs-amenities-card,.dhs-feature-card,.dhs-club-signup__form,.dhs-club-form,.gm-card,.dhs-contact-card){box-shadow:var(--dhs-card-shadow,0 18px 45px rgba(0,0,0,.24))}



/* 0.19.1 – Full-width premium transition shadows (replaces boxed section shadows). */
.dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition{height:92px!important;bottom:-46px!important;background:transparent!important;box-shadow:24px 30px 58px -24px rgba(15,23,42,.24)!important}
.dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition{height:96px!important;bottom:-48px!important;background:transparent!important;box-shadow:0 20px 36px -18px rgba(15,23,42,.18),0 48px 86px -36px rgba(15,23,42,.26)!important}
.dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition{height:72px!important;bottom:-36px!important;background:linear-gradient(to bottom,rgba(255,255,255,.28),transparent)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 28px 58px -30px rgba(15,23,42,.22)!important;backdrop-filter:blur(4px)}
.dhs-homepage [data-dhs-transition="glow-ambient"] > .dhs-section-transition{height:120px!important;bottom:-60px!important;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dhs-section-accent,var(--dhs-accent)) 30%,transparent),transparent 72%)!important;filter:blur(10px);box-shadow:none!important}
.dhs-homepage [data-dhs-transition="glow-premium"] > .dhs-section-transition{height:116px!important;bottom:-58px!important;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dhs-section-accent,var(--dhs-accent)) 20%,transparent),transparent 66%)!important;box-shadow:0 18px 34px -22px rgba(15,23,42,.2),0 52px 94px -44px rgba(15,23,42,.3)!important;filter:blur(5px)}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition{box-shadow:24px 34px 68px -22px rgba(0,0,0,.68)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition{box-shadow:0 22px 42px -18px rgba(0,0,0,.58),0 54px 102px -40px rgba(0,0,0,.76)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition{background:linear-gradient(to bottom,rgba(255,255,255,.07),transparent)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 32px 68px -28px rgba(0,0,0,.72)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="glow-ambient"] > .dhs-section-transition{background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dhs-section-accent,var(--dhs-accent)) 22%,transparent),transparent 74%)!important}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="glow-premium"] > .dhs-section-transition{background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dhs-section-accent,var(--dhs-accent)) 16%,transparent),transparent 70%)!important;box-shadow:0 20px 42px -20px rgba(0,0,0,.62),0 58px 112px -42px rgba(0,0,0,.82)!important}
@media(max-width:760px){.dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition,.dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition,.dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition,.dhs-homepage [data-dhs-transition="glow-ambient"] > .dhs-section-transition,.dhs-homepage [data-dhs-transition="glow-premium"] > .dhs-section-transition{height:56px!important;bottom:-28px!important;filter:none}}


/* Dateck Unterkunft Suite 0.19.3 – card designer + transparent transition fix */
/* Card styles: apply to the real card nodes and fully replace the legacy hover. */
.dhs-room-grid .dhs-room-card.dhs-room-card-classic,
.dhs-room-card.dhs-room-card-classic,
.dhs-feature-card,
.gm-card,
.dhs-gm-card,
.dhs-contact-card,
.dhs-club-signup__form,
.dhs-club-form{
  box-shadow:var(--dhs-card-shadow,none)!important;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease!important;
  will-change:transform,box-shadow;
}
.dhs-room-grid .dhs-room-card.dhs-room-card-classic:hover,
.dhs-room-card.dhs-room-card-classic:hover,
.dhs-feature-card:hover,
.gm-card:hover,
.dhs-gm-card:hover{
  transform:var(--dhs-card-hover-transform,none)!important;
  box-shadow:var(--dhs-card-shadow-hover,var(--dhs-card-shadow,none))!important;
}
.dhs-room-grid .dhs-room-card.dhs-room-card-classic:hover .dhs-room-image img,
.dhs-room-card.dhs-room-card-classic:hover .dhs-room-image img{
  transform:scale(var(--dhs-card-hover-image-scale,1))!important;
}

/* All shadow-style section transitions are zero-height transparent layers.
   They cast into the following section without creating a white strip. */
.dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition,
.dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition,
.dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition{
  height:1px!important;
  bottom:-1px!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}
.dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition{
  box-shadow:18px 22px 42px 8px rgba(15,23,42,.18)!important;
}
.dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition{
  box-shadow:0 13px 28px 8px rgba(15,23,42,.14),0 30px 58px 10px rgba(15,23,42,.12)!important;
}
.dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition{
  box-shadow:0 1px 0 rgba(255,255,255,.72),0 14px 34px 10px rgba(15,23,42,.12)!important;
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition{
  box-shadow:18px 24px 48px 8px rgba(0,0,0,.52)!important;
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition{
  box-shadow:0 15px 32px 8px rgba(0,0,0,.45),0 34px 66px 10px rgba(0,0,0,.38)!important;
}
html.dhs-dark-mode .dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition{
  box-shadow:0 1px 0 rgba(255,255,255,.12),0 16px 38px 10px rgba(0,0,0,.46)!important;
}

/* Glow transitions remain visual overlays, but are always transparent at their edges. */
.dhs-homepage [data-dhs-transition="glow-ambient"] > .dhs-section-transition,
.dhs-homepage [data-dhs-transition="glow-premium"] > .dhs-section-transition{
  box-shadow:none!important;
  pointer-events:none!important;
  background-color:transparent!important;
}
@media(max-width:760px){
  .dhs-homepage [data-dhs-transition="shadow-long"] > .dhs-section-transition,
  .dhs-homepage [data-dhs-transition="shadow-floating"] > .dhs-section-transition,
  .dhs-homepage [data-dhs-transition="shadow-glass"] > .dhs-section-transition{
    height:1px!important;
    bottom:-1px!important;
  }
}


/* 0.20.2 – Contact page aligned with presets, card designer and dark mode */
.dhs-contact-module{overflow:clip;background:var(--dhs-bg)}
.dhs-contact-hero{position:relative;isolation:isolate;overflow:hidden;min-height:390px;background:var(--dhs-contact-hero-bg,var(--dhs-primary,#111))}
.dhs-contact-hero:before,.dhs-contact-hero:after{content:"";position:absolute;z-index:-1;border-radius:999px;background:color-mix(in srgb,var(--dhs-contact-hero-text,var(--dhs-accent)) 18%,transparent);filter:blur(1px)}
.dhs-contact-hero:before{width:330px;height:330px;right:-90px;top:-130px}.dhs-contact-hero:after{width:170px;height:170px;right:18%;bottom:-105px;opacity:.55}
.dhs-contact-hero span{font-weight:750;letter-spacing:.16em;text-transform:uppercase}.dhs-contact-hero h1{font-family:var(--dhs-font-heading,inherit);font-weight:var(--dhs-heading-weight,700);letter-spacing:var(--dhs-heading-letter-spacing,-.02em)}
.dhs-contact-grid{align-items:stretch}.dhs-contact-copy{display:flex;flex-direction:column;justify-content:center;padding:28px 0}.dhs-contact-copy h2{font-family:var(--dhs-font-heading,inherit);font-weight:var(--dhs-heading-weight,700);letter-spacing:var(--dhs-heading-letter-spacing,-.02em)}
.dhs-contact-badge{background:color-mix(in srgb,var(--dhs-contact-accent) 8%,transparent);font-weight:800}
.dhs-contact-details{margin-top:6px}.dhs-contact-details a,.dhs-contact-details>div{padding:12px 14px;border:1px solid color-mix(in srgb,var(--dhs-text) 10%,transparent);border-radius:calc(var(--dhs-radius,20px) * .72);background:color-mix(in srgb,var(--dhs-card) 82%,transparent);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.dhs-contact-details a:hover{transform:translateX(4px);border-color:color-mix(in srgb,var(--dhs-contact-accent) 48%,transparent);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.dhs-contact-form{position:relative;overflow:hidden;border-radius:var(--dhs-radius,28px);border-color:color-mix(in srgb,var(--dhs-contact-accent) 28%,transparent);box-shadow:var(--dhs-card-shadow,0 22px 55px rgba(0,0,0,.09));transition:transform .28s ease,box-shadow .28s ease}
.dhs-contact-form:before{content:"";position:absolute;width:170px;height:170px;right:-85px;top:-85px;border-radius:50%;background:color-mix(in srgb,var(--dhs-contact-accent) 12%,transparent);pointer-events:none}
.dhs-contact-fields input:not([type=checkbox]),.dhs-contact-fields textarea{min-height:var(--dhs-control-height,50px);border-radius:var(--dhs-button-radius,28px);background:color-mix(in srgb,var(--dhs-bg) 74%,var(--dhs-card));border-color:color-mix(in srgb,var(--dhs-text) 15%,transparent)}.dhs-contact-fields textarea{border-radius:calc(var(--dhs-button-radius,28px) * .8)}
.dhs-contact-form>button,.dhs-contact-submit{border-radius:var(--dhs-button-radius,999px);background:var(--dhs-accent);color:var(--dhs-accent-contrast,#111)!important;box-shadow:0 13px 30px color-mix(in srgb,var(--dhs-accent) 28%,transparent)}.dhs-contact-form>button:hover,.dhs-contact-submit:hover{background:var(--dhs-accent-dark);color:var(--dhs-accent-dark-contrast,var(--dhs-accent-contrast,#111))!important}
.dhs-contact-map iframe{border-radius:var(--dhs-radius,24px);box-shadow:var(--dhs-card-shadow,0 18px 45px rgba(0,0,0,.08))}
html.dhs-dark-mode .dhs-contact-module{background:var(--dhs-dark-background)}html.dhs-dark-mode .dhs-contact-details a,html.dhs-dark-mode .dhs-contact-details>div{background:color-mix(in srgb,var(--dhs-dark-card) 90%,transparent);border-color:rgba(255,255,255,.09)}html.dhs-dark-mode .dhs-contact-fields input:not([type=checkbox]),html.dhs-dark-mode .dhs-contact-fields textarea{background:color-mix(in srgb,var(--dhs-dark-card) 72%,#000);border-color:rgba(255,255,255,.13);color:var(--dhs-dark-text)}
body.dhs-preset-luxury .dhs-contact-form,body.dhs-preset-dark .dhs-contact-form{border-color:color-mix(in srgb,var(--dhs-accent) 42%,transparent)}body.dhs-preset-minimal .dhs-contact-form{border-width:1px;box-shadow:var(--dhs-card-shadow)}
@media(max-width:600px){.dhs-contact-hero:before{width:220px;height:220px}.dhs-contact-copy{padding:0}.dhs-contact-details a,.dhs-contact-details>div{padding:10px 12px}}


/* Dateck reusable standalone page hero 0.20.3 */
.dhs-page-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:var(--dhs-page-hero-desktop,520px);background-color:var(--dhs-page-hero-bg,#111);background-position:var(--dhs-page-hero-position,center center);background-size:cover;background-repeat:no-repeat}
.dhs-page-hero--top{align-items:flex-start}.dhs-page-hero--center{align-items:center}.dhs-page-hero--bottom{align-items:flex-end}
.dhs-page-hero__container,.dhs-page-hero .dhs-contact-container{width:min(100% - 40px,var(--dhs-container,1200px));margin-inline:auto}
.dhs-page-hero__content{position:relative;z-index:2;padding-block:64px}
.dhs-page-hero__eyebrow{display:block;margin-bottom:12px;color:var(--dhs-page-hero-eyebrow,var(--dhs-accent));font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.dhs-page-hero h1{max-width:900px;margin:0;color:var(--dhs-page-hero-heading,#fff)!important;font-family:var(--dhs-font-heading);font-size:var(--dhs-h1-desktop,64px);line-height:1.05}
.dhs-page-hero p{max-width:760px;margin:18px 0 0;color:var(--dhs-page-hero-body,#fff)!important;font-size:18px;line-height:1.7}
.dhs-page-hero__effect{position:absolute;inset:0;z-index:1;pointer-events:none;color:var(--dhs-page-hero-effect,var(--dhs-accent));opacity:var(--dhs-page-hero-effect-opacity,.08)}
.dhs-page-hero[data-dhs-page-effect="none"] .dhs-page-hero__effect{display:none}
.dhs-page-hero[data-dhs-page-effect="circles"] .dhs-page-hero__effect:before,.dhs-page-hero[data-dhs-page-effect="circles"] .dhs-page-hero__effect:after{content:"";position:absolute;border-radius:50%;background:currentColor}
.dhs-page-hero[data-dhs-page-effect="circles"] .dhs-page-hero__effect:before{width:420px;height:420px;right:-130px;top:-210px}
.dhs-page-hero[data-dhs-page-effect="circles"] .dhs-page-hero__effect:after{width:250px;height:250px;left:-90px;bottom:-130px;background:transparent;border:55px solid currentColor}
.dhs-page-hero[data-dhs-page-effect="glow"] .dhs-page-hero__effect:before,.dhs-page-hero[data-dhs-page-effect="glow"] .dhs-page-hero__effect:after{content:"";position:absolute;border-radius:50%;background:currentColor;filter:blur(90px)}
.dhs-page-hero[data-dhs-page-effect="glow"] .dhs-page-hero__effect:before{width:620px;height:420px;right:-190px;top:-230px}
.dhs-page-hero[data-dhs-page-effect="glow"] .dhs-page-hero__effect:after{width:440px;height:320px;left:-180px;bottom:-210px}
.dhs-page-hero[data-dhs-page-effect="dots"] .dhs-page-hero__effect{background-image:radial-gradient(currentColor 1.6px,transparent 1.7px);background-size:25px 25px;mask-image:linear-gradient(110deg,#000 0%,transparent 72%);-webkit-mask-image:linear-gradient(110deg,#000 0%,transparent 72%)}
.dhs-page-hero[data-dhs-page-effect="lines"] .dhs-page-hero__effect{background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(110deg,#000 0%,transparent 75%);-webkit-mask-image:linear-gradient(110deg,#000 0%,transparent 75%)}
.dhs-page-hero[data-dhs-page-effect="waves"] .dhs-page-hero__effect:before{content:"";position:absolute;width:760px;height:310px;right:-180px;top:-100px;border:2px solid currentColor;border-radius:50%;box-shadow:0 40px 0 currentColor,0 80px 0 currentColor,0 120px 0 currentColor;transform:rotate(-8deg)}
.dhs-guestmap-page{background:var(--dhs-bg)}
html.dhs-dark-mode .dhs-guestmap-page{background:var(--dhs-dark-background)}
@media(max-width:900px){.dhs-page-hero{min-height:var(--dhs-page-hero-tablet,430px)}.dhs-page-hero h1{font-size:var(--dhs-h1-tablet,52px)}}
@media(max-width:600px){.dhs-page-hero{min-height:var(--dhs-page-hero-mobile,340px)}.dhs-page-hero__container,.dhs-page-hero .dhs-contact-container{width:min(100% - 28px,var(--dhs-container,1200px))}.dhs-page-hero__content{padding-block:42px}.dhs-page-hero h1{font-size:var(--dhs-h1-mobile,40px)}.dhs-page-hero p{font-size:16px}.dhs-page-hero[data-dhs-page-effect="circles"] .dhs-page-hero__effect:before{width:280px;height:280px;right:-100px;top:-150px}}

/* 0.20.4 – contact button follows the active preset */
.dhs-contact-form .dhs-contact-submit{
  width:100%;min-height:48px;border:1px solid transparent!important;
  border-radius:var(--dhs-button-radius,999px)!important;
  background:var(--dhs-accent)!important;color:var(--dhs-accent-contrast,#111)!important;
  box-shadow:var(--dhs-card-shadow,0 12px 28px rgba(0,0,0,.12))!important;
}
.dhs-contact-form .dhs-contact-submit:hover{background:var(--dhs-accent-dark)!important;color:var(--dhs-accent-dark-contrast,var(--dhs-accent-contrast,#111))!important;transform:translateY(-1px)}
body.dhs-preset-minimal .dhs-contact-form .dhs-contact-submit{
  background:var(--dhs-card,#fff)!important;color:var(--dhs-heading,#202020)!important;
  border-color:color-mix(in srgb,var(--dhs-heading,#202020) 32%,transparent)!important;box-shadow:none!important;
}
body.dhs-preset-minimal .dhs-contact-form .dhs-contact-submit:hover{background:var(--dhs-heading,#202020)!important;color:var(--dhs-card,#fff)!important}
body.dhs-preset-minimal .dhs-contact-details a>span,body.dhs-preset-minimal .dhs-contact-details>div>span,
body.dhs-preset-minimal .dhs-guestmap-category__icon{background:#f1f2f3!important;color:#444!important;box-shadow:none!important}
body.dhs-preset-minimal .dhs-contact-details svg,body.dhs-preset-minimal .dhs-guestmap-category__icon svg{opacity:.82}

/* 0.20.5 – Minimal preset Guestmap icons */
body.dhs-preset-minimal .dhs-gm-section__icon{
  background:#f2f2f2!important;
  color:#252525!important;
  border:1px solid rgba(20,20,20,.08)!important;
  box-shadow:0 7px 18px rgba(15,23,42,.09)!important;
}
body.dhs-preset-minimal .dhs-gm-section__icon svg,
body.dhs-preset-minimal .dhs-gm-section__icon svg *{
  color:#252525!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-gm-section__icon{
  background:#343434!important;
  color:#f5f5f5!important;
  border-color:rgba(255,255,255,.1)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.24)!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-gm-section__icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-gm-section__icon svg *{
  color:#f5f5f5!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}

/* 0.20.6 – Minimal Dark Mode contrast fixes */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-form .dhs-contact-submit,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-form .dhs-contact-submit:disabled{
  background:#f4f4f4!important;
  color:#171717!important;
  border-color:rgba(255,255,255,.3)!important;
  opacity:1!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-form .dhs-contact-submit:hover{
  background:#ffffff!important;
  color:#111111!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-icon{
  background:#f1f1f1!important;
  color:#242424!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-icon svg,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-icon svg *{
  color:#242424!important;
  fill:currentColor!important;
  stroke:currentColor!important;
  opacity:1!important;
}


/* 0.20.7 – flexible popup positions and icons */
.dhs-popup{right:auto!important;bottom:auto!important}
.dhs-popup--right-bottom{right:30px!important;bottom:30px!important}
.dhs-popup--left-bottom{left:30px!important;bottom:30px!important}
.dhs-popup--right-top{right:30px!important;top:30px!important}
.dhs-popup--left-top{left:30px!important;top:30px!important}
.dhs-popup--right-center{right:30px!important;top:50%!important;transform:translateY(-50%)}
.dhs-popup--left-center{left:30px!important;top:50%!important;transform:translateY(-50%)}
.dhs-popup--right-center.is-visible,.dhs-popup--left-center.is-visible{animation:dhsPopupCenterIn .35s ease}
.dhs-popup-badge svg{width:18px;height:18px;fill:currentColor}.dhs-popup-paypal{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#073b83;color:#fff;font-family:Arial,sans-serif;font-style:italic;font-weight:800}
@keyframes dhsPopupCenterIn{from{opacity:0;transform:translateY(calc(-50% + 18px))}to{opacity:1;transform:translateY(-50%)}}
@media(max-width:520px){.dhs-popup{left:18px!important;right:18px!important;width:auto!important}.dhs-popup--right-top,.dhs-popup--left-top{top:18px!important}.dhs-popup--right-bottom,.dhs-popup--left-bottom{bottom:18px!important}.dhs-popup--right-center,.dhs-popup--left-center{top:50%!important}}

/* Minimal preset: route button remains readable in dark mode. */
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-button{
 background:#f5f5f5!important;color:#171717!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-button:hover{
 background:#2a2a2a!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;
}


/* 0.20.8 – Minimal route button in light and dark mode */
body.dhs-preset-minimal .dhs-contact-map-button,
body.dhs-preset-minimal .dhs-contact-map-button:link,
body.dhs-preset-minimal .dhs-contact-map-button:visited{
  background:#f7f7f7!important;
  color:#1c1c1c!important;
  border:1px solid rgba(24,24,24,.18)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
}
body.dhs-preset-minimal .dhs-contact-map-button:hover,
body.dhs-preset-minimal .dhs-contact-map-button:focus{
  background:#1f1f1f!important;
  color:#fff!important;
  border-color:#1f1f1f!important;
}
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-button,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-button:link,
html.dhs-dark-mode body.dhs-preset-minimal .dhs-contact-map-button:visited{
  background:#f5f5f5!important;color:#171717!important;border-color:rgba(255,255,255,.72)!important;
}


/* 0.20.9 – unified global button colors */
.dhs-contact-submit,
.dhs-contact-form>button,
.dhs-contact-map-button,
.dhs-room-card-button,
.dhs-site-book,
.dhs-home-actions .is-primary,
.dhs-popup-button,
.dhs-club-notice>a{
  background:var(--dhs-button-bg)!important;
  color:var(--dhs-button-text)!important;
}
html.dhs-dark-mode .dhs-contact-submit,
html.dhs-dark-mode .dhs-contact-form>button,
html.dhs-dark-mode .dhs-contact-map-button,
html.dhs-dark-mode .dhs-room-card-button,
html.dhs-dark-mode .dhs-site-book,
html.dhs-dark-mode .dhs-home-actions .is-primary,
html.dhs-dark-mode .dhs-popup-button,
html.dhs-dark-mode .dhs-club-notice>a{
  background:var(--dhs-button-bg-dark,var(--dhs-button-bg))!important;
  color:var(--dhs-button-text-dark,var(--dhs-button-text))!important;
}
.dhs-contact-submit:hover,
.dhs-contact-form>button:hover,
.dhs-contact-map-button:hover,
.dhs-room-card-button:hover,
.dhs-site-book:hover,
.dhs-home-actions .is-primary:hover,
.dhs-popup-button:hover,
.dhs-club-notice>a:hover{
  background:var(--dhs-button-hover-bg,var(--dhs-accent-dark))!important;
  color:var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast))!important;
}

/* Dateck Unterkunft Suite 0.20.10 – room-detail accent uses its own dark-mode color.
 * The pseudo-elements previously kept the light-mode variable because they
 * declared their own color. Apply the dark variable directly to both layers. */
html.dhs-dark-mode .dhs-room-gallery-accent::before,
html.dhs-dark-mode .dhs-room-gallery-accent::after{
  color:var(--dhs-room-accent-dark,var(--dhs-room-accent))!important;
  opacity:var(--dhs-room-accent-dark-opacity,.05)!important;
}


/* Dateck Unterkunft Suite 0.20.11 – one global button system.
 * These rules deliberately live at the end of the stylesheet so preset-,
 * module- and theme-specific link colors can no longer override button text. */
:where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-submit,
  .dhs-contact-form > button,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .dhs-club-submit,
  .dhs-club-signup__submit,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
),
:where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
):link,
:where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
):visited{
  background:var(--dhs-button-bg)!important;
  color:var(--dhs-button-text)!important;
  border-color:color-mix(in srgb,var(--dhs-button-text) 22%,transparent)!important;
  text-decoration:none!important;
}
html.dhs-dark-mode :where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-submit,
  .dhs-contact-form > button,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .dhs-club-submit,
  .dhs-club-signup__submit,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
),
html.dhs-dark-mode :where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
):link,
html.dhs-dark-mode :where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
):visited{
  background:var(--dhs-button-bg-dark,var(--dhs-button-bg))!important;
  color:var(--dhs-button-text-dark,var(--dhs-button-text))!important;
  border-color:color-mix(in srgb,var(--dhs-button-text-dark,var(--dhs-button-text)) 22%,transparent)!important;
}
:where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-submit,
  .dhs-contact-form > button,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .dhs-club-submit,
  .dhs-club-signup__submit,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
):is(:hover,:focus-visible){
  background:var(--dhs-button-hover-bg)!important;
  color:var(--dhs-button-hover-text)!important;
  border-color:color-mix(in srgb,var(--dhs-button-hover-text) 25%,transparent)!important;
}
html.dhs-dark-mode :where(
  .dhs-site-book,
  .dhs-site-footer__button,
  .dhs-home-actions a,
  .dhs-room-card-button,
  .dhs-room-card__button,
  .dhs-booking-primary,
  .dhs-room-booking-bar .is-primary,
  .dhs-contact-submit,
  .dhs-contact-form > button,
  .dhs-contact-map-button,
  .dhs-club-notice > a,
  .dhs-club-submit,
  .dhs-club-signup__submit,
  .erc-club-thankyou__button,
  .dhs-popup-button,
  .dhs-paypal-button,
  .dhs-floating-button
):is(:hover,:focus-visible){
  background:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg))!important;
  color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text))!important;
  border-color:color-mix(in srgb,var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text)) 25%,transparent)!important;
}

/* Dateck Unterkunft Suite 0.20.12 – final global button specificity fix.
 * Use explicit component selectors instead of :where(), because older module
 * rules with !important otherwise win through higher specificity. */
body .dhs-room-card-classic a.dhs-room-card-button,
body .dhs-room-card-classic a.dhs-room-card-button:link,
body .dhs-room-card-classic a.dhs-room-card-button:visited,
body a.dhs-room-card-button,
body a.dhs-room-card-button:link,
body a.dhs-room-card-button:visited,
body .dhs-contact-form button.dhs-contact-submit,
body .dhs-contact-form button.dhs-contact-submit:disabled,
body .dhs-contact-form > button,
body .dhs-contact-form > button:disabled,
body a.dhs-contact-map-button,
body a.dhs-contact-map-button:link,
body a.dhs-contact-map-button:visited,
body .dhs-home-actions a,
body .dhs-home-actions a:link,
body .dhs-home-actions a:visited,
body a.dhs-site-book,
body a.dhs-site-book:link,
body a.dhs-site-book:visited,
body a.dhs-site-footer__button,
body a.dhs-site-footer__button:link,
body a.dhs-site-footer__button:visited,
body .dhs-club-notice > a,
body .dhs-club-notice > a:link,
body .dhs-club-notice > a:visited,
body a.dhs-popup-button,
body a.dhs-popup-button:link,
body a.dhs-popup-button:visited{
  background:var(--dhs-button-bg)!important;
  background-color:var(--dhs-button-bg)!important;
  color:var(--dhs-button-text)!important;
  -webkit-text-fill-color:var(--dhs-button-text)!important;
  border-color:color-mix(in srgb,var(--dhs-button-text) 22%,transparent)!important;
  text-decoration:none!important;
}
body .dhs-contact-form button.dhs-contact-submit:disabled,
body .dhs-contact-form > button:disabled{
  opacity:.58!important;
}
body .dhs-room-card-classic a.dhs-room-card-button:hover,
body .dhs-room-card-classic a.dhs-room-card-button:focus-visible,
body a.dhs-room-card-button:hover,
body a.dhs-room-card-button:focus-visible,
body .dhs-contact-form button.dhs-contact-submit:hover,
body .dhs-contact-form button.dhs-contact-submit:focus-visible,
body .dhs-contact-form > button:hover,
body .dhs-contact-form > button:focus-visible,
body a.dhs-contact-map-button:hover,
body a.dhs-contact-map-button:focus-visible,
body .dhs-home-actions a:hover,
body .dhs-home-actions a:focus-visible,
body a.dhs-site-book:hover,
body a.dhs-site-book:focus-visible,
body a.dhs-site-footer__button:hover,
body a.dhs-site-footer__button:focus-visible,
body .dhs-club-notice > a:hover,
body .dhs-club-notice > a:focus-visible,
body a.dhs-popup-button:hover,
body a.dhs-popup-button:focus-visible{
  background:var(--dhs-button-hover-bg)!important;
  background-color:var(--dhs-button-hover-bg)!important;
  color:var(--dhs-button-hover-text)!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text)!important;
  border-color:color-mix(in srgb,var(--dhs-button-hover-text) 25%,transparent)!important;
}
html.dhs-dark-mode body .dhs-room-card-classic a.dhs-room-card-button,
html.dhs-dark-mode body .dhs-room-card-classic a.dhs-room-card-button:link,
html.dhs-dark-mode body .dhs-room-card-classic a.dhs-room-card-button:visited,
html.dhs-dark-mode body a.dhs-room-card-button,
html.dhs-dark-mode body a.dhs-room-card-button:link,
html.dhs-dark-mode body a.dhs-room-card-button:visited,
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit,
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit:disabled,
html.dhs-dark-mode body .dhs-contact-form > button,
html.dhs-dark-mode body .dhs-contact-form > button:disabled,
html.dhs-dark-mode body a.dhs-contact-map-button,
html.dhs-dark-mode body a.dhs-contact-map-button:link,
html.dhs-dark-mode body a.dhs-contact-map-button:visited,
html.dhs-dark-mode body .dhs-home-actions a,
html.dhs-dark-mode body .dhs-home-actions a:link,
html.dhs-dark-mode body .dhs-home-actions a:visited,
html.dhs-dark-mode body a.dhs-site-book,
html.dhs-dark-mode body a.dhs-site-book:link,
html.dhs-dark-mode body a.dhs-site-book:visited,
html.dhs-dark-mode body a.dhs-site-footer__button,
html.dhs-dark-mode body a.dhs-site-footer__button:link,
html.dhs-dark-mode body a.dhs-site-footer__button:visited,
html.dhs-dark-mode body .dhs-club-notice > a,
html.dhs-dark-mode body .dhs-club-notice > a:link,
html.dhs-dark-mode body .dhs-club-notice > a:visited,
html.dhs-dark-mode body a.dhs-popup-button,
html.dhs-dark-mode body a.dhs-popup-button:link,
html.dhs-dark-mode body a.dhs-popup-button:visited{
  background:var(--dhs-button-bg-dark,var(--dhs-button-bg))!important;
  background-color:var(--dhs-button-bg-dark,var(--dhs-button-bg))!important;
  color:var(--dhs-button-text-dark,var(--dhs-button-text))!important;
  -webkit-text-fill-color:var(--dhs-button-text-dark,var(--dhs-button-text))!important;
}
html.dhs-dark-mode body .dhs-room-card-classic a.dhs-room-card-button:hover,
html.dhs-dark-mode body .dhs-room-card-classic a.dhs-room-card-button:focus-visible,
html.dhs-dark-mode body a.dhs-room-card-button:hover,
html.dhs-dark-mode body a.dhs-room-card-button:focus-visible,
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit:hover,
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit:focus-visible,
html.dhs-dark-mode body .dhs-contact-form > button:hover,
html.dhs-dark-mode body .dhs-contact-form > button:focus-visible,
html.dhs-dark-mode body a.dhs-contact-map-button:hover,
html.dhs-dark-mode body a.dhs-contact-map-button:focus-visible,
html.dhs-dark-mode body .dhs-home-actions a:hover,
html.dhs-dark-mode body .dhs-home-actions a:focus-visible,
html.dhs-dark-mode body a.dhs-site-book:hover,
html.dhs-dark-mode body a.dhs-site-book:focus-visible,
html.dhs-dark-mode body a.dhs-site-footer__button:hover,
html.dhs-dark-mode body a.dhs-site-footer__button:focus-visible,
html.dhs-dark-mode body .dhs-club-notice > a:hover,
html.dhs-dark-mode body .dhs-club-notice > a:focus-visible,
html.dhs-dark-mode body a.dhs-popup-button:hover,
html.dhs-dark-mode body a.dhs-popup-button:focus-visible{
  background:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg))!important;
  background-color:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg))!important;
  color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text))!important;
}

/* Dateck Unterkunft Suite 0.20.15 – unified dark-mode button finish.
 * Final override for the few components that still carried module/preset styles. */
body .dhs-contact-form button.dhs-contact-submit,
body .dhs-contact-form > button,
body a.dhs-contact-map-button,
body a.dhs-booking-primary,
body .dhs-room-booking-bar a.is-primary,
body .dhs-room-booking-bar button.is-primary,
body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit {
  background: var(--dhs-button-bg) !important;
  background-color: var(--dhs-button-bg) !important;
  color: var(--dhs-button-text) !important;
  -webkit-text-fill-color: var(--dhs-button-text) !important;
  border-color: color-mix(in srgb, var(--dhs-button-text) 22%, transparent) !important;
}
body .dhs-contact-form button.dhs-contact-submit:not(:disabled):hover,
body .dhs-contact-form > button:not(:disabled):hover,
body a.dhs-contact-map-button:hover,
body a.dhs-booking-primary:hover,
body .dhs-room-booking-bar a.is-primary:hover,
body .dhs-room-booking-bar button.is-primary:not(:disabled):hover,
body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit:not(:disabled):hover {
  background: var(--dhs-button-hover-bg) !important;
  background-color: var(--dhs-button-hover-bg) !important;
  color: var(--dhs-button-hover-text) !important;
  -webkit-text-fill-color: var(--dhs-button-hover-text) !important;
  border-color: color-mix(in srgb, var(--dhs-button-hover-text) 25%, transparent) !important;
}
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit,
html.dhs-dark-mode body .dhs-contact-form > button,
html.dhs-dark-mode body a.dhs-contact-map-button,
html.dhs-dark-mode body a.dhs-booking-primary,
html.dhs-dark-mode body .dhs-room-booking-bar a.is-primary,
html.dhs-dark-mode body .dhs-room-booking-bar button.is-primary,
html.dhs-dark-mode body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit {
  background: var(--dhs-button-bg-dark, var(--dhs-button-bg)) !important;
  background-color: var(--dhs-button-bg-dark, var(--dhs-button-bg)) !important;
  color: var(--dhs-button-text-dark, var(--dhs-button-text)) !important;
  -webkit-text-fill-color: var(--dhs-button-text-dark, var(--dhs-button-text)) !important;
  border-color: color-mix(in srgb, var(--dhs-button-text-dark, var(--dhs-button-text)) 22%, transparent) !important;
}
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit:not(:disabled):hover,
html.dhs-dark-mode body .dhs-contact-form > button:not(:disabled):hover,
html.dhs-dark-mode body a.dhs-contact-map-button:hover,
html.dhs-dark-mode body a.dhs-booking-primary:hover,
html.dhs-dark-mode body .dhs-room-booking-bar a.is-primary:hover,
html.dhs-dark-mode body .dhs-room-booking-bar button.is-primary:not(:disabled):hover,
html.dhs-dark-mode body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit:not(:disabled):hover {
  background: var(--dhs-button-hover-bg-dark, var(--dhs-button-hover-bg)) !important;
  background-color: var(--dhs-button-hover-bg-dark, var(--dhs-button-hover-bg)) !important;
  color: var(--dhs-button-hover-text-dark, var(--dhs-button-hover-text)) !important;
  -webkit-text-fill-color: var(--dhs-button-hover-text-dark, var(--dhs-button-hover-text)) !important;
  border-color: color-mix(in srgb, var(--dhs-button-hover-text-dark, var(--dhs-button-hover-text)) 25%, transparent) !important;
}
/* Disabled form buttons keep the configured base colours and never inherit hover colours. */
body .dhs-contact-form button.dhs-contact-submit:disabled,
body .dhs-contact-form button.dhs-contact-submit:disabled:hover,
body .dhs-contact-form > button:disabled,
body .dhs-contact-form > button:disabled:hover,
body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit:disabled,
body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit:disabled:hover {
  background: var(--dhs-button-bg) !important;
  background-color: var(--dhs-button-bg) !important;
  color: var(--dhs-button-text) !important;
  -webkit-text-fill-color: var(--dhs-button-text) !important;
  opacity: .62 !important;
  transform: none !important;
}
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit:disabled,
html.dhs-dark-mode body .dhs-contact-form button.dhs-contact-submit:disabled:hover,
html.dhs-dark-mode body .dhs-contact-form > button:disabled,
html.dhs-dark-mode body .dhs-contact-form > button:disabled:hover,
html.dhs-dark-mode body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit:disabled,
html.dhs-dark-mode body .dhs-club-signup .dhs-club-signup__form button.dhs-club-signup__submit:disabled:hover {
  background: var(--dhs-button-bg-dark, var(--dhs-button-bg)) !important;
  background-color: var(--dhs-button-bg-dark, var(--dhs-button-bg)) !important;
  color: var(--dhs-button-text-dark, var(--dhs-button-text)) !important;
  -webkit-text-fill-color: var(--dhs-button-text-dark, var(--dhs-button-text)) !important;
}
/* Icons and nested spans inherit the same configured text colour. */
body a.dhs-booking-primary *,
body .dhs-room-booking-bar .is-primary *,
body .dhs-contact-map-button *,
body .dhs-club-signup__submit * { color: inherit !important; stroke: currentColor !important; }

/* Dateck Unterkunft Suite 0.20.17 – final Route planen hover override.
 * The Minimal preset used a more specific hover rule and therefore kept the
 * light-mode colours while dark mode was active. */
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:hover,
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:focus,
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:focus-visible,
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:active,
html.dhs-dark-mode body a.dhs-contact-map-button:hover,
html.dhs-dark-mode body a.dhs-contact-map-button:focus-visible {
  background: var(--dhs-button-hover-bg-dark, var(--dhs-button-hover-bg)) !important;
  background-color: var(--dhs-button-hover-bg-dark, var(--dhs-button-hover-bg)) !important;
  color: var(--dhs-button-hover-text-dark, var(--dhs-button-hover-text)) !important;
  -webkit-text-fill-color: var(--dhs-button-hover-text-dark, var(--dhs-button-hover-text)) !important;
  border-color: color-mix(in srgb, var(--dhs-button-hover-text-dark, var(--dhs-button-hover-text)) 25%, transparent) !important;
}
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:hover *,
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:focus *,
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:focus-visible *,
html.dhs-dark-mode body.dhs-preset-minimal a.dhs-contact-map-button:active * {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  stroke: currentColor !important;
}

/* Dateck Unterkunft Suite 0.22.0 – globale Zimmerdetail-Anordnungen */
.dhs-room-detail .dhs-detail-top{grid-template-columns:minmax(0,var(--dhs-room-gallery-fr,1fr)) minmax(340px,var(--dhs-room-copy-fr,1fr));}
.dhs-room-detail.dhs-room-split-40-60{--dhs-room-gallery-fr:.67fr;--dhs-room-copy-fr:1fr}
.dhs-room-detail.dhs-room-split-50-50{--dhs-room-gallery-fr:1fr;--dhs-room-copy-fr:1fr}
.dhs-room-detail.dhs-room-split-60-40{--dhs-room-gallery-fr:1.5fr;--dhs-room-copy-fr:1fr}
.dhs-room-detail .dhs-amenity-groups{grid-template-columns:repeat(var(--dhs-amenity-columns,2),minmax(0,1fr))}

.dhs-room-layout-reverse .dhs-detail-gallery-column{order:2}
.dhs-room-layout-reverse .dhs-detail-summary{order:1}

.dhs-room-layout-editorial .dhs-detail-top,
.dhs-room-layout-gallery_first .dhs-detail-top{grid-template-columns:1fr;gap:34px}
.dhs-room-layout-editorial .dhs-detail-summary{order:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);column-gap:46px;align-items:start}
.dhs-room-layout-editorial .dhs-detail-summary>.dhs-badge,
.dhs-room-layout-editorial .dhs-detail-summary>h1,
.dhs-room-layout-editorial .dhs-detail-summary>.dhs-detail-subtitle,
.dhs-room-layout-editorial .dhs-detail-summary>.dhs-detail-price,
.dhs-room-layout-editorial .dhs-detail-summary>.dhs-detail-facts{grid-column:1/-1}
.dhs-room-layout-editorial .dhs-room-content{grid-column:1}
.dhs-room-layout-editorial .dhs-detail-amenities{grid-column:2;width:100%;margin:0}
.dhs-room-layout-editorial .dhs-detail-gallery-column{order:2}
.dhs-room-layout-editorial .dhs-detail-main-image,
.dhs-room-layout-gallery_first .dhs-detail-main-image{aspect-ratio:16/8.5}

.dhs-room-layout-gallery_first .dhs-detail-gallery-column{order:1}
.dhs-room-layout-gallery_first .dhs-detail-summary{order:2;max-width:980px;width:100%;margin:0 auto}
.dhs-room-layout-gallery_first .dhs-detail-amenities{width:100%;margin-left:0}

.dhs-room-layout-showcase .dhs-detail-top{grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:42px}
.dhs-room-layout-showcase .dhs-detail-main-image{aspect-ratio:5/4}
.dhs-room-layout-showcase .dhs-detail-summary{position:sticky;top:110px}

@media(max-width:1050px){
 .dhs-room-detail .dhs-detail-top,
 .dhs-room-layout-showcase .dhs-detail-top{grid-template-columns:1fr}
 .dhs-room-layout-reverse .dhs-detail-gallery-column{order:1}
 .dhs-room-layout-reverse .dhs-detail-summary{order:2}
 .dhs-room-layout-editorial .dhs-detail-summary{display:block}
 .dhs-room-layout-editorial .dhs-detail-amenities{margin-top:30px}
 .dhs-room-layout-showcase .dhs-detail-summary{position:static}
}
@media(max-width:760px){
 .dhs-room-detail .dhs-amenity-groups{grid-template-columns:1fr}
 .dhs-room-layout-editorial .dhs-detail-main-image,
 .dhs-room-layout-gallery_first .dhs-detail-main-image{aspect-ratio:4/3}
}

/* Dateck Unterkunft Suite 0.22.1 – layoutbezogene Zimmerdetail-Akzente */
.dhs-room-layout-editorial .dhs-room-editorial-accent{
  grid-column:1;
  width:100%;
  min-height:360px;
  margin-top:18px;
  align-self:stretch;
}
.dhs-room-layout-gallery_first .dhs-room-gallery-accent{display:none!important}
@media(max-width:1050px){
  .dhs-room-layout-editorial .dhs-room-editorial-accent{min-height:260px;margin-top:24px}
}
@media(max-width:760px){
  .dhs-room-layout-editorial .dhs-room-editorial-accent{display:none}
}


/* Dateck Unterkunft Suite 0.22.2 – expanded room-detail accents.
 * These styles mirror the richer section accent catalogue while keeping the
 * accent inside the layout-specific decorative canvas. Gallery First remains
 * intentionally free of decorative accents. */
.dhs-room-gallery-accent[data-accent="waves"]::before{
  width:760px;height:310px;right:-180px;top:-105px;
  border:2px solid currentColor;border-radius:50%;background:transparent;
  box-shadow:0 40px 0 currentColor,0 80px 0 currentColor,0 120px 0 currentColor;
  transform:rotate(-8deg);
}
.dhs-room-gallery-accent[data-accent="waves"]::after{
  width:560px;height:230px;left:-180px;bottom:-145px;
  border:2px solid currentColor;border-radius:50%;background:transparent;
  box-shadow:0 34px 0 currentColor,0 68px 0 currentColor;
  transform:rotate(8deg);
}
.dhs-room-gallery-accent[data-accent="noise"]::before{
  inset:0;
  background-image:
    radial-gradient(circle at 20% 30%,currentColor 0 1px,transparent 1.4px),
    radial-gradient(circle at 75% 65%,currentColor 0 1px,transparent 1.4px),
    radial-gradient(circle at 45% 85%,currentColor 0 .8px,transparent 1.2px);
  background-size:23px 23px,31px 31px,19px 19px;
  mask-image:linear-gradient(135deg,#000 0%,#000 38%,transparent 88%);
  -webkit-mask-image:linear-gradient(135deg,#000 0%,#000 38%,transparent 88%);
}
.dhs-room-gallery-accent[data-accent="noise"]::after{
  inset:8% 0 0 18%;
  background-image:repeating-linear-gradient(117deg,currentColor 0 1px,transparent 1px 7px);
  mask-image:linear-gradient(315deg,#000 0%,transparent 76%);
  -webkit-mask-image:linear-gradient(315deg,#000 0%,transparent 76%);
}
.dhs-room-gallery-accent[data-accent="glass"]::before{
  width:52%;height:48%;right:3%;top:7%;border-radius:44px;
  background:linear-gradient(135deg,currentColor,transparent 78%);
  border:1px solid currentColor;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 28px 70px rgba(0,0,0,.08);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transform:rotate(-5deg);
}
.dhs-room-gallery-accent[data-accent="glass"]::after{
  width:38%;height:34%;left:5%;bottom:9%;border-radius:32px;
  background:linear-gradient(145deg,currentColor,transparent 82%);
  border:1px solid currentColor;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 22px 56px rgba(0,0,0,.07);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  transform:rotate(7deg);
}
.dhs-room-gallery-accent[data-accent="diagonal"]::before{
  width:78%;height:62%;right:-28%;top:-12%;
  background:currentColor;transform:rotate(-17deg) skewX(-8deg);
  border-radius:34px;
}
.dhs-room-gallery-accent[data-accent="diagonal"]::after{
  width:66%;height:46%;left:-28%;bottom:-8%;
  background:currentColor;transform:rotate(15deg) skewX(10deg);
  border-radius:28px;
}
.dhs-room-gallery-accent[data-accent="split"]::before{
  inset:0 48% 0 0;background:currentColor;
  clip-path:polygon(0 0,100% 0,75% 100%,0 100%);
}
.dhs-room-gallery-accent[data-accent="split"]::after{
  inset:12% 0 10% 46%;background:currentColor;
  clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);
  opacity:calc(var(--dhs-room-accent-opacity,.09) * .55);
}
html.dhs-dark-mode .dhs-room-gallery-accent[data-accent="split"]::after{
  opacity:calc(var(--dhs-room-accent-dark-opacity,.05) * .55)!important;
}
@media(max-width:1050px){
  .dhs-room-gallery-accent[data-accent="waves"]::before{width:560px;height:240px;right:-150px}
  .dhs-room-gallery-accent[data-accent="waves"]::after{width:420px;height:190px;left:-145px}
}
@media(max-width:760px){
  .dhs-room-gallery-accent[data-accent="glass"]::before{width:60%;height:46%;border-radius:26px}
  .dhs-room-gallery-accent[data-accent="glass"]::after{width:43%;height:31%;border-radius:22px}
}


/* Dateck Unterkunft Suite 0.27.3 – theme-independent room detail layouts.
 * Generic theme rules must not collapse the Suite layout back to one column. */
body.dhs-room-page .dhs-room-template,
body.dhs-room-page main.dhs-room-template{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.dhs-room-page .dhs-room-detail{
  width:min(calc(100% - 40px),var(--dhs-container,1200px))!important;
  max-width:var(--dhs-container,1200px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(min-width:1051px){
  body.dhs-room-page .dhs-room-detail .dhs-detail-top{
    display:grid!important;
    grid-template-columns:minmax(0,var(--dhs-room-gallery-fr,1fr)) minmax(340px,var(--dhs-room-copy-fr,1fr))!important;
    align-items:start!important;
  }
  body.dhs-room-page .dhs-room-layout-reverse .dhs-detail-gallery-column{order:2!important}
  body.dhs-room-page .dhs-room-layout-reverse .dhs-detail-summary{order:1!important}
  body.dhs-room-page .dhs-room-layout-editorial .dhs-detail-top,
  body.dhs-room-page .dhs-room-layout-gallery_first .dhs-detail-top{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.dhs-room-page .dhs-room-layout-editorial .dhs-detail-summary{
    display:grid!important;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;
  }
  body.dhs-room-page .dhs-room-layout-gallery_first .dhs-detail-gallery-column{order:1!important}
  body.dhs-room-page .dhs-room-layout-gallery_first .dhs-detail-summary{order:2!important}
  body.dhs-room-page .dhs-room-layout-showcase .dhs-detail-top{
    grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr)!important;
  }
}

/* Dateck Unterkunft Suite 0.27.4 – serverseitig abgesicherte Zimmer-Anordnung */
@media(max-width:1050px){
  body.dhs-room-page .dhs-room-detail .dhs-detail-top{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"gallery" "summary"!important;
  }
  body.dhs-room-page .dhs-room-layout-editorial .dhs-detail-top{
    grid-template-areas:"summary" "gallery"!important;
  }
}


/* 0.28.1 – Preset-aware navigation colors in dark mode */
.dhs-site-header.dhs-menu-use-design{
  --dhs-menu-hover:var(--dhs-accent)!important;
  --dhs-menu-active:var(--dhs-accent)!important;
  --dhs-hamburger-hover:var(--dhs-accent)!important;
  --dhs-hamburger-active:var(--dhs-accent)!important;
}
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a:not(:hover):not(:focus-visible),
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a:not(:hover):not(:focus-visible),
html.dhs-dark-mode body > .dhs-menu-drawer.dhs-menu-use-design > nav a:not(:hover):not(:focus-visible),
body.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a:not(:hover):not(:focus-visible),
body.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a:not(:hover):not(:focus-visible){
  color:#fff!important;
}
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a:hover,
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a:focus-visible,
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a:hover,
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a:focus-visible,
html.dhs-dark-mode body > .dhs-menu-drawer > nav a:hover,
html.dhs-dark-mode body > .dhs-menu-drawer > nav a:focus-visible,
body.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a:hover,
body.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a:hover{
  color:var(--dhs-accent)!important;
}
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a::after,
html.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a::after,
html.dhs-dark-mode body > .dhs-menu-drawer > nav a::after,
body.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-site-nav > ul > li > a::after,
body.dhs-dark-mode .dhs-site-header.dhs-menu-use-design .dhs-menu-drawer > nav a::after{
  background:var(--dhs-accent)!important;
}

/* 0.28.2 – anchor navigation and explicit normal-menu mode */
/* A normal desktop menu must never render an additional hamburger button. */
.dhs-site-header.dhs-menu-mode-normal .dhs-site-menu-toggle{display:none!important}
@media(max-width:960px){
  .dhs-site-header.dhs-menu-mode-normal .dhs-site-nav{display:flex!important;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .dhs-site-header.dhs-menu-mode-normal .dhs-site-nav::-webkit-scrollbar{display:none}
}

/* Same-page anchor links are neutral until their actual hash is active. */
.dhs-site-header .dhs-site-nav > ul > li.dhs-anchor-menu-item:not(.is-dhs-anchor-active) > a:not(:hover),
.dhs-site-header .dhs-menu-drawer > nav li.dhs-anchor-menu-item:not(.is-dhs-anchor-active) > a:not(:hover),
body > .dhs-menu-drawer > nav li.dhs-anchor-menu-item:not(.is-dhs-anchor-active) > a:not(:hover){
  color:inherit!important;
}
.dhs-site-header .dhs-site-nav > ul > li.dhs-anchor-menu-item:not(.is-dhs-anchor-active) > a::after,
.dhs-site-header .dhs-menu-drawer > nav li.dhs-anchor-menu-item:not(.is-dhs-anchor-active) > a::after,
body > .dhs-menu-drawer > nav li.dhs-anchor-menu-item:not(.is-dhs-anchor-active) > a::after{
  transform:scaleX(0)!important;
}
.dhs-site-header .dhs-site-nav > ul > li.dhs-anchor-menu-item.is-dhs-anchor-active > a:not(:hover),
.dhs-site-header .dhs-menu-drawer > nav li.dhs-anchor-menu-item.is-dhs-anchor-active > a:not(:hover),
body > .dhs-menu-drawer > nav li.dhs-anchor-menu-item.is-dhs-anchor-active > a:not(:hover){
  color:var(--dhs-menu-active,var(--dhs-accent))!important;
}
.dhs-site-header .dhs-site-nav > ul > li.dhs-anchor-menu-item.is-dhs-anchor-active > a::after,
.dhs-site-header .dhs-menu-drawer > nav li.dhs-anchor-menu-item.is-dhs-anchor-active > a::after,
body > .dhs-menu-drawer > nav li.dhs-anchor-menu-item.is-dhs-anchor-active > a::after{
  transform:scaleX(1)!important;
}
/* In dark mode all resting links remain white; only hover/current hash uses accent. */
html.dhs-dark-mode .dhs-site-header .dhs-site-nav > ul > li > a:not(:hover),
html.dhs-dark-mode .dhs-site-header .dhs-menu-drawer > nav a:not(:hover),
html.dhs-dark-mode body > .dhs-menu-drawer > nav a:not(:hover){color:#fff!important}
html.dhs-dark-mode .dhs-site-header .dhs-site-nav > ul > li.dhs-anchor-menu-item.is-dhs-anchor-active > a:not(:hover),
html.dhs-dark-mode .dhs-site-header .dhs-menu-drawer > nav li.dhs-anchor-menu-item.is-dhs-anchor-active > a:not(:hover),
html.dhs-dark-mode body > .dhs-menu-drawer > nav li.dhs-anchor-menu-item.is-dhs-anchor-active > a:not(:hover){color:var(--dhs-menu-active,var(--dhs-accent))!important}

.dhs-legal-frontend{width:min(var(--dhs-container,1200px),calc(100% - 40px));margin:0 auto;padding:70px 0;line-height:1.75}.dhs-legal-frontend h1{margin:0 0 32px}.dhs-legal-frontend h2{margin:34px 0 10px}.dhs-legal-frontend p{max-width:900px}.dhs-legal-frontend a{color:var(--dhs-accent)}

/* Dateck Unterkunft Suite – Legal pages and consent banner */
.dhs-legal-hero{background:var(--dhs-legal-hero-bg,#111);color:var(--dhs-legal-hero-color,#fff);padding:clamp(90px,12vw,170px) 20px;text-align:center}
.dhs-legal-hero>div{width:min(var(--dhs-container,1200px),100%);margin:0 auto}
body .dhs-legal-hero h1{color:inherit!important;margin:0 0 20px!important;font-family:var(--dhs-font-heading,inherit)!important;font-size:clamp(48px,6vw,72px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-.025em!important}
body .dhs-legal-hero p{color:inherit!important;opacity:.88;max-width:760px;margin:0 auto!important;font-size:clamp(18px,1.8vw,22px)!important;line-height:1.65!important}
@media(max-width:600px){body .dhs-legal-hero h1{font-size:clamp(38px,12vw,52px)!important;margin-bottom:14px!important}body .dhs-legal-hero p{font-size:17px!important}}
.dhs-image-sources p{margin:0 0 8px}
.dhs-cookie-banner{position:fixed;z-index:999999;left:20px;right:20px;bottom:20px;color:var(--dhs-cookie-color,#fff)}.dhs-cookie-banner[hidden]{display:none!important}.dhs-cookie-banner.dhs-cookie-center{top:50%;bottom:auto;transform:translateY(-50%)}
.dhs-cookie-inner{width:min(980px,100%);margin:0 auto;background:var(--dhs-cookie-bg,#111);color:inherit;border-radius:16px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.dhs-cookie-inner strong{display:block;font-size:20px;margin-bottom:8px}.dhs-cookie-inner p{margin:0;max-width:760px;color:inherit}.dhs-cookie-inner a{color:inherit;text-decoration:underline}.dhs-cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dhs-cookie-actions button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:11px 18px;cursor:pointer;font:inherit}.dhs-cookie-actions .is-primary{background:var(--dhs-accent,#d28228);border-color:var(--dhs-accent,#d28228);color:#fff}
@media(max-width:640px){.dhs-cookie-banner{left:10px;right:10px;bottom:10px}.dhs-cookie-inner{padding:20px}.dhs-cookie-actions button{width:100%}}

/* Dateck consent manager */
.dhs-cookie-inner{position:relative}.dhs-cookie-close{position:absolute;right:14px;top:10px;border:0!important;background:transparent!important;color:inherit!important;font-size:28px;line-height:1;padding:4px!important;cursor:pointer}.dhs-cookie-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:.92em}.dhs-cookie-settings{margin-top:18px;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);padding-top:10px}.dhs-cookie-category{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)}.dhs-cookie-category>span{display:grid;gap:4px}.dhs-cookie-category small{opacity:.78;line-height:1.4}.dhs-cookie-category input{width:22px;height:22px;flex:0 0 auto}.dhs-cookie-reopen{display:block;margin:14px auto;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}.dhs-consent-placeholder{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:color-mix(in srgb,var(--dhs-card,#fff) 92%,var(--dhs-accent,#d28228));color:var(--dhs-text,#222);border-radius:inherit}.dhs-consent-placeholder strong{font-size:20px}.dhs-consent-placeholder p{margin:8px 0 16px}.dhs-consent-placeholder button{border:0;border-radius:999px;background:var(--dhs-accent,#d28228);color:var(--dhs-accent-contrast,#111);padding:11px 18px;cursor:pointer;font:inherit}.dhs-consent-placeholder[hidden]{display:none!important}
@media(max-width:640px){.dhs-cookie-category{align-items:flex-start}.dhs-cookie-close{right:10px;top:8px}}


/* 0.30.7 – Floating actions become a mobile bottom bar */
@media (max-width:768px){
  html.dhs-has-mobile-floating-actions body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}

  .dhs-floating-actions:not(.is-hidden-mobile){
    position:fixed!important;
    z-index:2147482990!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:4px!important;
    padding:6px!important;
    border:1px solid color-mix(in srgb,var(--dhs-text,#222) 12%,transparent)!important;
    border-radius:18px!important;
    background:color-mix(in srgb,var(--dhs-card,#fff) 96%,transparent)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.24)!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .dhs-floating-actions:not(.is-hidden-mobile) .dhs-floating-action{
    flex:1 1 0!important;
    min-width:0!important;
    width:auto!important;
    height:58px!important;
    margin:0!important;
    border-radius:13px!important;
    box-shadow:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    background:var(--dhs-item-bg,var(--dhs-floating-bg,var(--dhs-accent)))!important;
  }
  .dhs-floating-actions:not(.is-hidden-mobile) .dhs-floating-action span{display:grid;place-items:center;line-height:1}
  .dhs-floating-actions:not(.is-hidden-mobile) .dhs-floating-action svg{width:20px!important;height:20px!important}
  .dhs-floating-actions:not(.is-hidden-mobile) .dhs-floating-action::after{
    content:attr(data-tooltip)!important;
    position:static!important;
    display:block!important;
    max-width:100%!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    opacity:.86!important;
    visibility:visible!important;
    transform:none!important;
  }
  .dhs-back-to-top{
    --dhs-btt-side:14px;
    --dhs-btt-bottom:calc(88px + env(safe-area-inset-bottom,0px));
    width:46px!important;
    height:46px!important;
  }
  html.dhs-dark-mode .dhs-floating-actions:not(.is-hidden-mobile){
    background:color-mix(in srgb,var(--dhs-dark-card,#242424) 96%,transparent)!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.5)!important;
  }
}


/* 0.30.8 – Do not cover consent banners with the mobile quick-action bar */
@media(max-width:768px){
  html.dhs-cookie-overlay-active body{padding-bottom:0!important}
  html.dhs-cookie-overlay-active .dhs-floating-actions:not(.is-hidden-mobile){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(calc(100% + 28px))!important;
  }
}


/* 0.30.9 – optional hotel logo inside the opened mobile menu */
.dhs-mobile-menu-brand{display:none}
@media(max-width:800px){
  .dhs-mobile-menu-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:74px;
    margin:0 0 10px;
    padding:10px 18px 18px;
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);
  }
  .dhs-mobile-menu-brand img{
    display:block;
    width:auto;
    max-width:min(220px,70vw);
    max-height:var(--dhs-mobile-logo-height,44px);
    object-fit:contain;
  }
  .dhs-mobile-menu-brand span{
    font-size:20px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
  }
  .dhs-mobile-menu-brand + nav > ul{margin-top:8px!important}
  html.dhs-dark-mode .dhs-mobile-menu-brand .dhs-logo-light{display:none!important}
  html.dhs-dark-mode .dhs-mobile-menu-brand .dhs-logo-dark{display:block!important}
  html.dhs-dark-mode .dhs-site-header[data-has-dark-logo="0"] .dhs-mobile-menu-brand .dhs-logo-light{display:block!important}
}

/* 0.30.10 – keep mobile menu/lightboxes above the quick-action bar */
@media(max-width:800px){
  html.dhs-menu-open body{padding-bottom:0!important}
  html.dhs-menu-open .dhs-floating-actions:not(.is-hidden-mobile),
  html.dhs-lightbox-open .dhs-floating-actions:not(.is-hidden-mobile){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(calc(100% + 28px))!important;
  }
  html.dhs-menu-open .dhs-site-header,
  html.dhs-menu-open .dhs-mobile-drawer,
  html.dhs-menu-open .dhs-header-drawer,
  html.dhs-menu-open .dhs-menu-overlay{
    z-index:2147483646!important;
  }
}

/* 0.30.11 – portalized mobile drawer must stay above its dimming overlay */
@media(max-width:800px){
  html.dhs-menu-open body > .dhs-menu-overlay{
    z-index:2147483643!important;
    pointer-events:auto!important;
  }
  html.dhs-menu-open body > .dhs-menu-drawer{
    z-index:2147483645!important;
    pointer-events:auto!important;
    visibility:visible!important;
    opacity:1!important;
    isolation:isolate;
  }
  html.dhs-menu-open body > .dhs-menu-drawer > *{
    position:relative;
    z-index:1;
    pointer-events:auto;
  }
  html.dhs-menu-open .dhs-site-header{
    z-index:2147483646!important;
  }
}

/* 0.30.12 – mobile-only drawer logo and compact mobile navigation spacing */
@media (min-width:801px){
  .dhs-site-header .dhs-mobile-menu-brand,
  body > .dhs-menu-drawer .dhs-mobile-menu-brand{
    display:none!important;
  }
}

@media (max-width:800px){
  .dhs-site-header .dhs-mobile-menu-brand,
  body > .dhs-menu-drawer .dhs-mobile-menu-brand{
    display:flex!important;
    min-height:0!important;
    margin:0 0 14px!important;
    padding:4px 10px 12px!important;
  }

  .dhs-site-header .dhs-mobile-menu-brand img,
  body > .dhs-menu-drawer .dhs-mobile-menu-brand img{
    max-width:min(190px,62vw)!important;
    max-height:min(var(--dhs-mobile-logo-height,44px),52px)!important;
  }

  .dhs-site-header .dhs-menu-drawer,
  body > .dhs-menu-drawer{
    bottom:auto!important;
    height:auto!important;
    max-height:calc(100dvh - env(safe-area-inset-bottom,0px))!important;
    padding:18px 22px 20px!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav > ul,
  body > .dhs-menu-drawer > nav > ul,
  .dhs-site-header .dhs-mobile-menu-brand + nav > ul,
  body > .dhs-menu-drawer .dhs-mobile-menu-brand + nav > ul{
    margin:0!important;
    padding:0!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav li,
  body > .dhs-menu-drawer > nav li{
    margin:0!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav a:not(.dhs-site-book),
  body > .dhs-menu-drawer > nav a:not(.dhs-site-book){
    padding:11px 0!important;
    line-height:1.25!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav li:last-child > a,
  body > .dhs-menu-drawer > nav li:last-child > a{
    padding-bottom:5px!important;
  }
}


/* 0.30.13 – tighter top and bottom spacing in the opened mobile menu */
@media (max-width:800px){
  .dhs-site-header .dhs-menu-drawer,
  body > .dhs-menu-drawer{
    padding:8px 18px 10px!important;
  }

  .dhs-site-header .dhs-mobile-menu-brand,
  body > .dhs-menu-drawer .dhs-mobile-menu-brand{
    margin:0 0 6px!important;
    padding:0 6px 7px!important;
    min-height:0!important;
  }

  .dhs-site-header .dhs-mobile-menu-brand img,
  body > .dhs-menu-drawer .dhs-mobile-menu-brand img{
    max-height:min(var(--dhs-mobile-logo-height,44px),46px)!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav,
  body > .dhs-menu-drawer > nav{
    padding-bottom:0!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav a:not(.dhs-site-book),
  body > .dhs-menu-drawer > nav a:not(.dhs-site-book){
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    padding:7px 0!important;
    line-height:1.2!important;
  }

  .dhs-site-header .dhs-menu-drawer > nav li:last-child > a,
  body > .dhs-menu-drawer > nav li:last-child > a{
    padding-bottom:2px!important;
    margin-bottom:0!important;
  }
}


/* Dateck Unterkunft Suite 0.31.1 – aktivierte Zusatzleistungen als Badges auf Zimmerdetails */
.dhs-detail-service-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.dhs-detail-service-badge{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--dhs-text,#222) 10%,transparent);color:var(--dhs-text,#222);font-size:12px;font-weight:750;line-height:1.2}
.dhs-detail-service-badge--included{background:var(--dhs-accent);color:var(--dhs-accent-contrast,#111)}
.dhs-room-layout-editorial .dhs-detail-summary>.dhs-detail-service-badges{grid-column:1/-1}
html.dhs-dark-mode .dhs-detail-service-badge{background:rgba(255,255,255,.13);color:var(--dhs-dark-text,#f5f5f5)}
html.dhs-dark-mode .dhs-detail-service-badge--included{background:var(--dhs-accent);color:var(--dhs-accent-contrast,#111)}
@media(max-width:620px){.dhs-detail-service-badges{gap:7px;margin:12px 0 15px}.dhs-detail-service-badge{font-size:11px;padding:6px 10px}}


/* 0.31.2 – Zusatzleistungs-Badges auf den Zimmerkarten der Startseite */
.dhs-room-card-extra-badges{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:2px 0 14px;
}
.dhs-room-card-extra-badges span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--dhs-accent) 19%,var(--dhs-card));
  color:var(--dhs-text);
  font-size:11px;
  line-height:1.2;
  font-weight:750;
}
html.dhs-dark-mode .dhs-room-card-extra-badges span{
  background:color-mix(in srgb,var(--dhs-accent) 20%,var(--dhs-dark-card,#242424));
  color:var(--dhs-dark-text,#fff);
}
@media(max-width:620px){
  .dhs-room-card-extra-badges{gap:6px;margin-bottom:12px}
  .dhs-room-card-extra-badges span{font-size:10px;padding:5px 9px}
}

/* v0.34.0 – luftiger Kontakt-Textkopf */
.dhs-contact-copy .dhs-contact-badge{margin-bottom:18px}.dhs-contact-copy h2{margin-top:0!important;margin-bottom:10px!important}.dhs-contact-copy h3{margin-top:0!important;margin-bottom:20px!important}

/* Dateck Unterkunft Suite 0.36.0 – Zimmerbewertungen */
.dhs-review-stars{color:#f3ad16;font-weight:900;letter-spacing:1px;white-space:nowrap}
.dhs-review-card-summary{position:relative;z-index:3;display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:2px 0 13px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--dhs-accent) 34%,transparent);border-radius:999px;background:color-mix(in srgb,var(--dhs-accent) 13%,var(--dhs-card));color:var(--dhs-text)!important;text-decoration:none!important;font-size:12px;line-height:1.2}
.dhs-review-card-summary strong{font-size:12px}.dhs-review-card-summary em{font-style:normal;color:var(--dhs-muted);font-weight:650}
.dhs-review-card-summary:hover{background:color-mix(in srgb,var(--dhs-accent) 22%,var(--dhs-card))}
.dhs-review-detail-summary{display:flex;align-items:center;gap:14px;margin:20px 0 22px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--dhs-accent) 32%,transparent);border-radius:16px;background:color-mix(in srgb,var(--dhs-accent) 10%,var(--dhs-card));color:var(--dhs-text)!important;text-decoration:none!important;transition:transform .2s ease,background .2s ease}
.dhs-review-detail-summary:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--dhs-accent) 17%,var(--dhs-card))}
.dhs-review-detail-summary>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.dhs-review-detail-summary strong{font-size:15px}.dhs-review-detail-summary em{font-style:normal;color:var(--dhs-muted);font-size:12px;font-weight:650}.dhs-review-detail-summary>b{margin-left:auto;font-size:18px}
.dhs-reviews-section{scroll-margin-top:110px;margin:34px 0 0;padding:34px;border-radius:var(--dhs-radius);background:var(--dhs-card);box-shadow:var(--dhs-card-shadow);border-top:4px solid var(--dhs-accent)}
.dhs-reviews-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.dhs-reviews-heading h2{margin:4px 0 8px}.dhs-reviews-heading p{margin:0;color:var(--dhs-muted)}
.dhs-reviews-kicker{display:block;color:var(--dhs-accent-dark);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
html.dhs-dark-mode .dhs-reviews-kicker,
html.dhs-dark-mode body.dhs-preset-modern .dhs-review-form-card .dhs-reviews-kicker{
  color:var(--dhs-dark-text,#f5f5f5)!important;
  opacity:.92;
}
.dhs-reviews-score{min-width:180px;padding:18px 20px;border-radius:18px;background:color-mix(in srgb,var(--dhs-accent) 11%,var(--dhs-card));text-align:center}.dhs-reviews-score span,.dhs-reviews-score strong,.dhs-reviews-score small{display:block}.dhs-reviews-score strong{font-size:34px;line-height:1.1;margin:5px 0}.dhs-reviews-score small{color:var(--dhs-muted)}
.dhs-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 26px}.dhs-review-card{padding:20px;border-radius:18px;background:color-mix(in srgb,var(--dhs-text) 4%,var(--dhs-card));border:1px solid color-mix(in srgb,var(--dhs-text) 10%,transparent)}
.dhs-review-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.dhs-review-card-top strong,.dhs-review-card-top small{display:block}.dhs-review-card-top small{margin-top:3px;color:var(--dhs-muted);font-size:12px}.dhs-review-card>p{margin:0;line-height:1.65}
.dhs-review-reply{margin-top:16px;padding:14px 16px;border-left:3px solid var(--dhs-accent);border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--dhs-accent) 9%,transparent)}.dhs-review-reply span{display:block;margin-bottom:5px;color:var(--dhs-accent-dark);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.dhs-review-reply p{margin:0}
.dhs-review-empty{margin-bottom:24px;padding:22px;border:1px dashed color-mix(in srgb,var(--dhs-text) 20%,transparent);border-radius:18px;text-align:center}.dhs-review-empty p{margin:5px 0 0;color:var(--dhs-muted)}
.dhs-review-success{margin:0 0 20px;padding:14px 16px;border:1px solid #a7e7bd;border-radius:14px;background:#edf9f1;color:#176533;font-weight:750}
.dhs-review-form-card{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:30px;padding:26px;border-radius:20px;background:color-mix(in srgb,var(--dhs-text) 3%,var(--dhs-card));border:1px solid color-mix(in srgb,var(--dhs-text) 10%,transparent)}.dhs-review-form-card h3{margin:4px 0 8px}.dhs-review-form-card>div>p{margin:0;color:var(--dhs-muted)}
.dhs-review-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.dhs-review-form label{display:block;font-size:13px;font-weight:750}.dhs-review-form input,.dhs-review-form select,.dhs-review-form textarea{display:block;width:100%;margin-top:6px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--dhs-text) 18%,transparent);border-radius:12px;background:var(--dhs-card);color:var(--dhs-text);font:inherit}.dhs-review-form input:focus,.dhs-review-form select:focus,.dhs-review-form textarea:focus{outline:none;border-color:var(--dhs-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dhs-accent) 18%,transparent)}.dhs-review-full{grid-column:1/-1}.dhs-review-form button{justify-self:start;border:0;cursor:pointer}.dhs-review-hp{display:none!important}
html.dhs-dark-mode .dhs-review-card-summary,html.dhs-dark-mode .dhs-review-detail-summary,html.dhs-dark-mode .dhs-reviews-section{background:var(--dhs-dark-card);color:var(--dhs-dark-text)!important}html.dhs-dark-mode .dhs-review-card,html.dhs-dark-mode .dhs-review-form-card,html.dhs-dark-mode .dhs-reviews-score{background:color-mix(in srgb,var(--dhs-dark-text) 6%,var(--dhs-dark-card))}html.dhs-dark-mode .dhs-review-form input,html.dhs-dark-mode .dhs-review-form select,html.dhs-dark-mode .dhs-review-form textarea{background:var(--dhs-dark-background);color:var(--dhs-dark-text)}html.dhs-dark-mode .dhs-review-card-summary em,html.dhs-dark-mode .dhs-review-detail-summary em,html.dhs-dark-mode .dhs-reviews-heading p,html.dhs-dark-mode .dhs-reviews-score small,html.dhs-dark-mode .dhs-review-card-top small,html.dhs-dark-mode .dhs-review-empty p,html.dhs-dark-mode .dhs-review-form-card>div>p{color:color-mix(in srgb,var(--dhs-dark-text) 66%,transparent)}
@media(max-width:820px){.dhs-reviews-heading,.dhs-review-form-card{grid-template-columns:1fr;display:grid}.dhs-reviews-score{min-width:0;text-align:left}.dhs-review-list{grid-template-columns:1fr}}
@media(max-width:620px){.dhs-reviews-section{padding:22px;margin-top:24px}.dhs-review-form{grid-template-columns:1fr}.dhs-review-full{grid-column:auto}.dhs-review-card-top{flex-direction:column;gap:6px}.dhs-review-detail-summary{padding:13px 14px;gap:10px}.dhs-review-card-summary{font-size:11px}.dhs-review-card-summary em{display:none}}

/* 0.36.8 – Review submit button */
.dhs-review-form .dhs-review-submit{
  grid-column:1/-1;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:54px;
  padding:0 24px;
  border:1px solid var(--dhs-accent);
  border-radius:12px;
  background:var(--dhs-accent);
  color:var(--dhs-accent-contrast,#171717)!important;
  font:inherit;
  font-weight:850;
  letter-spacing:.015em;
  cursor:pointer;
  box-shadow:0 10px 24px color-mix(in srgb,var(--dhs-accent) 24%,transparent);
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.dhs-review-form .dhs-review-submit:hover{background:var(--dhs-accent-dark);border-color:var(--dhs-accent-dark);color:var(--dhs-accent-dark-contrast,#171717)!important;transform:translateY(-1px);box-shadow:0 14px 28px color-mix(in srgb,var(--dhs-accent) 30%,transparent)}
.dhs-review-form .dhs-review-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--dhs-accent) 35%,transparent);outline-offset:3px}
.dhs-review-form .dhs-review-submit:disabled{cursor:wait;opacity:.78;transform:none}
.dhs-review-form .dhs-review-submit b{font-size:18px;line-height:1}
@media(max-width:620px){.dhs-review-form .dhs-review-submit{width:100%;justify-self:stretch;padding:0 18px}}

/* Dateck Unterkunft Suite 0.40.1 – Hero sauber abschneiden.
   Normale Sektionen behalten ihre Übergänge; am Hero werden sie deaktiviert,
   damit hinter der überlagerten Verfügbarkeitssuche kein dunkler Balken entsteht. */
.dhs-homepage .dhs-home-hero{overflow:hidden!important;isolation:isolate}
.dhs-homepage .dhs-home-hero > .dhs-section-transition{display:none!important;height:0!important;box-shadow:none!important;background:none!important;filter:none!important}

/* 0.40.2 – clean hero/search transition and selectable room cards */
.dhs-homepage .dhs-home-hero{box-shadow:none!important;filter:none!important}
.dhs-homepage .dhs-home-hero + .dhs-home-shortcode{position:relative;z-index:8;background:var(--dhs-card,#fff)!important;box-shadow:none!important}
html.dhs-dark-mode .dhs-homepage .dhs-home-hero + .dhs-home-shortcode{background:var(--dhs-dark-background,#171717)!important}
.dhs-room-card-extra-badges{display:none!important}
.dhs-room-card-compact{display:grid!important;grid-template-columns:42% 58%;min-height:260px}
.dhs-room-card-compact .dhs-room-image{height:100%!important;min-height:260px}.dhs-room-card-compact .dhs-room-image img{height:100%!important}
.dhs-room-card-compact .dhs-room-body{padding:22px}.dhs-room-card-compact .dhs-room-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dhs-room-card-compact .dhs-room-foot{margin-top:auto}
.dhs-room-card-overlay{position:relative;min-height:420px;background:#111;color:#fff;overflow:hidden}
.dhs-room-card-overlay .dhs-room-image{position:absolute;inset:0;height:100%!important}.dhs-room-card-overlay .dhs-room-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 22%,rgba(0,0,0,.86) 100%)}
.dhs-room-card-overlay .dhs-room-body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;padding:28px;color:#fff;background:transparent!important}
.dhs-room-card-overlay h3,.dhs-room-card-overlay p,.dhs-room-card-overlay .dhs-room-subtitle,.dhs-room-card-overlay .dhs-room-facts,.dhs-room-card-overlay .dhs-room-foot strong{color:#fff!important}
.dhs-room-card-overlay .dhs-room-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dhs-room-card-overlay .dhs-room-card-button{background:var(--dhs-accent);color:var(--dhs-accent-contrast,#111)!important}
.dhs-room-card-editorial .dhs-room-image{margin:12px 12px 0;border-radius:calc(var(--dhs-radius) - 6px);overflow:hidden}.dhs-room-card-editorial .dhs-room-body{padding:24px 26px 27px}.dhs-room-card-editorial .dhs-room-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.dhs-room-card-compact{grid-template-columns:1fr}.dhs-room-card-compact .dhs-room-image{min-height:220px}.dhs-room-card-overlay,.dhs-room-card-overlay .dhs-room-body{min-height:360px}}


/* Dateck Unterkunft Suite 0.40.3 – Hero-Suche ohne Zwischenbalken */
.dbm-hero-search-mounted{
  position:relative!important;
  z-index:30!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  transform:translateY(-50%)!important;
  overflow:visible!important;
}
.dbm-hero-search-mounted + .dhs-home-section,
.dbm-hero-search-mounted + section{padding-top:110px!important}
@media(max-width:782px){
  .dbm-hero-search-mounted{height:auto!important;transform:none!important;margin:-54px 14px 0!important}
  .dbm-hero-search-mounted + .dhs-home-section,
  .dbm-hero-search-mounted + section{padding-top:48px!important}
}

/* Normale Navigation: auch Ankerlinks erhalten die Unterstreichung. */
.dhs-site-header .dhs-site-nav > ul > li > a[href*="#"]:hover::after,
.dhs-site-header .dhs-site-nav > ul > li > a[href*="#"]:focus-visible::after,
.dhs-site-header .dhs-site-nav > ul > li > a[href*="#"].is-active::after,
.dhs-site-header .dhs-site-nav > ul > li.current-menu-item > a::after,
.dhs-site-header .dhs-site-nav > ul > li.current_page_item > a::after{transform:scaleX(1)!important}
.dhs-site-header .dhs-site-nav > ul > li > a[href*="#"]:hover,
.dhs-site-header .dhs-site-nav > ul > li > a[href*="#"]:focus-visible{color:var(--dhs-menu-hover,var(--dhs-accent))!important}

/* Route planen vollständig an Preset/Farbwelt koppeln. */
body a.dhs-location-route,
body a.dhs-location-route:link,
body a.dhs-location-route:visited{
  background:var(--dhs-button-bg,var(--dhs-accent))!important;
  background-color:var(--dhs-button-bg,var(--dhs-accent))!important;
  color:var(--dhs-button-text,var(--dhs-accent-contrast,#111))!important;
  -webkit-text-fill-color:var(--dhs-button-text,var(--dhs-accent-contrast,#111))!important;
  border-color:color-mix(in srgb,var(--dhs-button-text,var(--dhs-accent-contrast,#111)) 18%,transparent)!important;
  border-radius:var(--dhs-button-radius,999px)!important;
}
body a.dhs-location-route:hover,body a.dhs-location-route:focus-visible{
  background:var(--dhs-button-hover-bg,var(--dhs-accent-dark))!important;
  background-color:var(--dhs-button-hover-bg,var(--dhs-accent-dark))!important;
  color:var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111))!important;
}
html.dhs-dark-mode body a.dhs-location-route{
  background:var(--dhs-button-bg-dark,var(--dhs-button-bg,var(--dhs-accent)))!important;
  color:var(--dhs-button-text-dark,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-text-dark,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
}
html.dhs-dark-mode body a.dhs-location-route:hover,html.dhs-dark-mode body a.dhs-location-route:focus-visible{
  background:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg,var(--dhs-accent-dark)))!important;
  color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111)))!important;
}
body a.dhs-location-route *{color:inherit!important;-webkit-text-fill-color:currentColor!important;stroke:currentColor!important}


/* Dateck Unterkunft Suite 0.40.4 – sauberer Hero/Suche-Abstand und presettreue Routenbuttons. */
.dbm-hero-search-mounted{
  position:relative!important;
  z-index:30!important;
  height:auto!important;
  margin:-72px auto -72px!important;
  padding:0!important;
  background:transparent!important;
  transform:none!important;
  overflow:visible!important;
}
.dbm-hero-search-mounted + .dhs-home-section,
.dbm-hero-search-mounted + section{
  padding-top:90px!important;
}
@media(max-width:782px){
  .dbm-hero-search-mounted{
    height:auto!important;
    margin:-54px 14px -54px!important;
    transform:none!important;
  }
  .dbm-hero-search-mounted + .dhs-home-section,
  .dbm-hero-search-mounted + section{
    padding-top:72px!important;
  }
}

body a.dhs-location-route,
body a.dhs-contact-map-button,
body a.dhs-location-route:link,
body a.dhs-location-route:visited,
body a.dhs-contact-map-button:link,
body a.dhs-contact-map-button:visited{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  background:var(--dhs-button-bg,var(--dhs-accent))!important;
  background-color:var(--dhs-button-bg,var(--dhs-accent))!important;
  color:var(--dhs-button-text,var(--dhs-accent-contrast,#111))!important;
  -webkit-text-fill-color:var(--dhs-button-text,var(--dhs-accent-contrast,#111))!important;
  border:1px solid color-mix(in srgb,var(--dhs-button-text,var(--dhs-accent-contrast,#111)) 16%,transparent)!important;
  border-radius:var(--dhs-button-radius,999px)!important;
  padding:13px 20px!important;
  text-decoration:none!important;
  font-weight:800!important;
  box-shadow:var(--dhs-button-shadow,none)!important;
}
body a.dhs-location-route:hover,
body a.dhs-location-route:focus-visible,
body a.dhs-contact-map-button:hover,
body a.dhs-contact-map-button:focus-visible{
  background:var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent)))!important;
  background-color:var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent)))!important;
  color:var(--dhs-button-hover-text,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
  border-color:color-mix(in srgb,var(--dhs-button-hover-text,var(--dhs-button-text,#111)) 18%,transparent)!important;
}
html.dhs-dark-mode body a.dhs-location-route,
html.dhs-dark-mode body a.dhs-contact-map-button{
  background:var(--dhs-button-bg-dark,var(--dhs-button-bg,var(--dhs-accent)))!important;
  background-color:var(--dhs-button-bg-dark,var(--dhs-button-bg,var(--dhs-accent)))!important;
  color:var(--dhs-button-text-dark,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-text-dark,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
}
html.dhs-dark-mode body a.dhs-location-route:hover,
html.dhs-dark-mode body a.dhs-location-route:focus-visible,
html.dhs-dark-mode body a.dhs-contact-map-button:hover,
html.dhs-dark-mode body a.dhs-contact-map-button:focus-visible{
  background:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent))))!important;
  background-color:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent))))!important;
  color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text,var(--dhs-button-text,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text,var(--dhs-button-text,#111)))!important;
}
body a.dhs-location-route *,body a.dhs-contact-map-button *{color:inherit!important;-webkit-text-fill-color:currentColor!important;stroke:currentColor!important}


/* 0.40.6 – Popups liegen mobil vor den Schnellkontakt-Buttons */
@media(max-width:768px){
  html.dhs-popup-open body{padding-bottom:0!important}
  html.dhs-popup-open .dhs-floating-actions:not(.is-hidden-mobile){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(calc(100% + 28px))!important;
  }
  .dhs-paypal-popup.is-visible{
    z-index:2147483646!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px))!important;
    overflow:auto!important;
  }
}


/* Dateck Unterkunft Suite 0.40.7 – refined room-card variants */
/* Every room-card variant is a complete click target. Interactive controls stay above it. */
.dhs-room-card{position:relative;height:100%;}
.dhs-room-card>.dhs-room-card-hitarea{position:absolute;inset:0;z-index:5;border-radius:inherit;text-decoration:none!important;}
.dhs-room-card .dhs-room-card-button{position:relative;z-index:6;}

/* Compact was retired. Existing saved compact values render safely as Classic via PHP. */

/* Overlay: stronger contrast, readable fact chips and a calmer one-line footer. */
.dhs-room-card-overlay{
  position:relative;
  display:flex!important;
  flex-direction:column;
  min-height:430px;
  overflow:hidden;
  isolation:isolate;
  background:#111;
  color:#fff;
}
.dhs-room-card-overlay .dhs-room-image{position:absolute!important;inset:0;height:100%!important;z-index:0;}
.dhs-room-card-overlay .dhs-room-image img{width:100%;height:100%!important;object-fit:cover;}
.dhs-room-card-overlay .dhs-room-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.28) 32%,rgba(0,0,0,.88) 78%,rgba(0,0,0,.96) 100%);
}
.dhs-room-card-overlay .dhs-room-body{
  position:relative;
  z-index:2;
  display:flex!important;
  flex:1;
  flex-direction:column;
  justify-content:flex-end;
  min-height:430px;
  padding:26px!important;
  background:transparent!important;
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.72);
}
.dhs-room-card-overlay .dhs-room-body h3{
  margin:0 0 7px!important;
  color:#fff!important;
  font-size:clamp(23px,2vw,30px)!important;
  line-height:1.15!important;
  text-shadow:0 3px 18px rgba(0,0,0,.9);
}
.dhs-room-card-overlay .dhs-room-subtitle,
.dhs-room-card-overlay .dhs-room-card-description{color:rgba(255,255,255,.94)!important;}
.dhs-room-card-overlay .dhs-room-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px!important;}
.dhs-room-card-overlay .dhs-reviews-card-summary{filter:drop-shadow(0 2px 8px rgba(0,0,0,.45));}
.dhs-room-card-overlay .dhs-room-facts{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:4px!important;}
.dhs-room-card-overlay .dhs-room-facts span{
  background:rgba(255,255,255,.92)!important;
  color:#182033!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
  text-shadow:none!important;
}
.dhs-room-card-overlay .dhs-room-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(255,255,255,.24)!important;
}
.dhs-room-card-overlay .dhs-room-foot strong{
  color:#fff!important;
  white-space:nowrap;
  font-size:20px!important;
  line-height:1.2!important;
  text-shadow:0 2px 12px rgba(0,0,0,.8);
}
.dhs-room-card-overlay .dhs-room-card-button{
  min-height:42px!important;
  padding:9px 15px!important;
  border-radius:var(--dhs-button-radius,999px)!important;
  font-size:14px!important;
  line-height:1.15!important;
  white-space:nowrap;
  text-shadow:none!important;
}

/* Editorial: equal-height cards and a footer pinned to the bottom in every column count. */
.dhs-room-card-editorial{display:flex!important;flex-direction:column;height:100%;overflow:hidden;}
.dhs-room-card-editorial .dhs-room-image{flex:0 0 auto;margin:12px 12px 0;border-radius:calc(var(--dhs-radius) - 6px);overflow:hidden;}
.dhs-room-card-editorial .dhs-room-body{display:flex!important;flex:1;flex-direction:column;padding:24px 26px 27px!important;}
.dhs-room-card-editorial .dhs-room-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dhs-room-card-editorial .dhs-room-facts{margin-top:14px;}
.dhs-room-card-editorial .dhs-room-foot{
  margin-top:auto!important;
  padding-top:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.dhs-room-card-editorial .dhs-room-foot strong{white-space:nowrap;}

@media(max-width:760px){
  .dhs-room-card-overlay,.dhs-room-card-overlay .dhs-room-body{min-height:370px;}
  .dhs-room-card-overlay .dhs-room-body{padding:22px!important;}
  .dhs-room-card-overlay .dhs-room-foot{align-items:flex-end!important;}
}

/* Dateck Unterkunft Suite 0.40.8 – overlay room-card finishing and circular gallery navigation */
.dhs-room-card-overlay .dhs-room-body{
  justify-content:flex-start!important;
}
.dhs-room-card-overlay .dhs-room-body h3{
  margin-top:0!important;
}
.dhs-room-card-overlay .dhs-room-subtitle{
  margin-bottom:8px!important;
}
.dhs-room-card-overlay .dhs-reviews-card-summary{
  margin-top:2px!important;
}
.dhs-room-card-overlay .dhs-room-card-description{
  margin-top:10px!important;
}
.dhs-room-card-overlay .dhs-room-facts{
  margin-top:auto!important;
  margin-bottom:0!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  align-items:center!important;
}
.dhs-room-card-overlay .dhs-room-facts span{
  flex:0 1 auto!important;
  min-width:0!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  font-size:12px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.dhs-room-card-overlay .dhs-room-foot{
  flex:0 0 auto!important;
}
.dhs-room-card-overlay .dhs-room-card-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
}

/* Theme button rules must not stretch gallery controls into pills. */
.dhs-bento-arrow,
.dhs-gallery-arrow,
.dhs-lightbox-arrow{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  aspect-ratio:1 / 1!important;
  padding:0!important;
  min-width:0!important;
  max-width:none!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.dhs-bento-arrow{
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
}
.dhs-bento-arrow:hover{
  transform:translateY(-2px) scale(1.04);
}

@media(max-width:1100px){
  .dhs-room-card-overlay .dhs-room-facts{
    flex-wrap:wrap!important;
  }
}
@media(max-width:760px){
  .dhs-room-card-overlay .dhs-room-facts{
    flex-wrap:wrap!important;
  }
  .dhs-room-card-overlay .dhs-room-facts span{
    font-size:11px!important;
    padding:7px 9px!important;
  }
  .dhs-bento-arrow{
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
}


/* Dateck Unterkunft Suite 0.40.10 – Overlay-Bilder im Dark Mode und finaler Kontakt-CTA. */
html.dhs-dark-mode body .dhs-room-card.dhs-room-card-overlay{
  position:relative!important;
  overflow:hidden!important;
  background:#111!important;
}
html.dhs-dark-mode body .dhs-room-card.dhs-room-card-overlay .dhs-room-image{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  visibility:visible!important;
  background:transparent!important;
}
html.dhs-dark-mode body .dhs-room-card.dhs-room-card-overlay .dhs-room-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:cover!important;
}
html.dhs-dark-mode body .dhs-room-card.dhs-room-card-overlay .dhs-room-body{
  position:relative!important;
  z-index:2!important;
  background:transparent!important;
  background-color:transparent!important;
}

html body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button,
html body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:link,
html body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:var(--dhs-control-height,50px)!important;
  padding:12px 22px!important;
  background:var(--dhs-button-bg,var(--dhs-accent))!important;
  background-color:var(--dhs-button-bg,var(--dhs-accent))!important;
  background-image:none!important;
  color:var(--dhs-button-text,var(--dhs-accent-contrast,#111))!important;
  -webkit-text-fill-color:var(--dhs-button-text,var(--dhs-accent-contrast,#111))!important;
  border:1px solid color-mix(in srgb,var(--dhs-button-text,var(--dhs-accent-contrast,#111)) 16%,transparent)!important;
  border-radius:var(--dhs-button-radius,999px)!important;
  box-shadow:var(--dhs-shadow-sm,none)!important;
  text-decoration:none!important;
  font-weight:800!important;
}
html body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:hover,
html body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:focus-visible{
  background:var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent)))!important;
  background-color:var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent)))!important;
  background-image:none!important;
  color:var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111))!important;
}
html.dhs-dark-mode body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button,
html.dhs-dark-mode body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:link,
html.dhs-dark-mode body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:visited{
  background:var(--dhs-button-bg-dark,var(--dhs-button-bg,var(--dhs-accent)))!important;
  background-color:var(--dhs-button-bg-dark,var(--dhs-button-bg,var(--dhs-accent)))!important;
  color:var(--dhs-button-text-dark,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-text-dark,var(--dhs-button-text,var(--dhs-accent-contrast,#111)))!important;
}
html.dhs-dark-mode body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:hover,
html.dhs-dark-mode body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button:focus-visible{
  background:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent))))!important;
  background-color:var(--dhs-button-hover-bg-dark,var(--dhs-button-hover-bg,var(--dhs-accent-dark,var(--dhs-accent))))!important;
  color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111)))!important;
  -webkit-text-fill-color:var(--dhs-button-hover-text-dark,var(--dhs-button-hover-text,var(--dhs-accent-dark-contrast,#111)))!important;
}
html body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button *,
html.dhs-dark-mode body .dhs-contact-module .dhs-contact-map-actions > a.dhs-contact-map-button *{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}


/* 0.41.0 – Framework Hero v2 für Rechtliches */
.dhs-legal-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--dhs-legal-hero-bg,#111);color:var(--dhs-legal-hero-color,#fff);padding:clamp(70px,9vw,135px) 20px;text-align:center}
.dhs-legal-hero-inner{position:relative;z-index:3;width:min(var(--dhs-container,1200px),100%);margin:0 auto}
.dhs-legal-eyebrow{display:block;margin-bottom:12px;color:var(--dhs-legal-hero-accent,#f7cb68);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.dhs-legal-hero-size-small{padding-top:clamp(48px,6vw,78px);padding-bottom:clamp(48px,6vw,78px)}
.dhs-legal-hero-size-large{padding-top:clamp(96px,12vw,180px);padding-bottom:clamp(96px,12vw,180px)}
.dhs-legal-hero-align-left{text-align:left}.dhs-legal-hero-align-right{text-align:right}
.dhs-legal-hero-align-left p{margin-left:0!important;margin-right:auto!important}.dhs-legal-hero-align-right p{margin-left:auto!important;margin-right:0!important}
html.dhs-dark-mode .dhs-legal-hero{background:var(--dhs-legal-hero-dark-bg,#171717);color:var(--dhs-legal-hero-dark-color,#fff)}
.dhs-legal-hero::before,.dhs-legal-hero::after,.dhs-legal-orb{pointer-events:none}
.dhs-legal-orb{display:none;position:absolute;border-radius:999px;z-index:1}.dhs-legal-orb-one{width:360px;height:360px;left:-110px;top:-190px;border:1px solid color-mix(in srgb,var(--dhs-legal-hero-accent) 45%,transparent)}.dhs-legal-orb-two{width:220px;height:220px;right:-70px;bottom:-135px;background:color-mix(in srgb,var(--dhs-legal-hero-accent) 15%,transparent);box-shadow:0 0 110px 35px color-mix(in srgb,var(--dhs-legal-hero-accent) 18%,transparent)}
.dhs-legal-hero-accent-circles .dhs-legal-orb,.dhs-legal-hero-accent-glow .dhs-legal-orb-two,.dhs-legal-hero-accent-complete .dhs-legal-orb{display:block}
.dhs-legal-hero-accent-dots::before,.dhs-legal-hero-accent-complete::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle,color-mix(in srgb,var(--dhs-legal-hero-accent) 30%,transparent) 0 1.2px,transparent 1.7px) 0 0/18px 18px;opacity:.58}
.dhs-legal-hero-accent-lines::before{content:"";position:absolute;inset:0;z-index:0;background:repeating-linear-gradient(115deg,transparent 0 38px,color-mix(in srgb,var(--dhs-legal-hero-accent) 12%,transparent) 39px 40px,transparent 41px 78px);opacity:.7}
.dhs-legal-hero-accent-waves::before{content:"";position:absolute;inset:-25% -8%;z-index:0;background:radial-gradient(80% 55% at 20% 45%,transparent 61%,color-mix(in srgb,var(--dhs-legal-hero-accent) 20%,transparent) 62% 63%,transparent 64%),radial-gradient(90% 60% at 78% 55%,transparent 65%,color-mix(in srgb,var(--dhs-legal-hero-accent) 14%,transparent) 66% 67%,transparent 68%);opacity:.55;transform:rotate(-4deg)}
.dhs-legal-hero-accent-texture::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--dhs-legal-hero-accent) 25%,transparent) 0 1px,transparent 1.4px),radial-gradient(circle at 75% 65%,color-mix(in srgb,var(--dhs-legal-hero-color) 12%,transparent) 0 1px,transparent 1.3px);background-size:27px 27px,39px 39px;background-position:0 0,9px 13px;opacity:.42}
.dhs-legal-hero-accent-glass::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(130deg,color-mix(in srgb,var(--dhs-legal-hero-accent) 12%,transparent),transparent 38%),radial-gradient(circle at 13% 20%,color-mix(in srgb,var(--dhs-legal-hero-color) 10%,transparent) 0 8%,transparent 8.4%),radial-gradient(circle at 88% 25%,color-mix(in srgb,var(--dhs-legal-hero-accent) 14%,transparent) 0 10%,transparent 10.4%);opacity:.8}
.dhs-legal-hero-accent-diagonal::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(118deg,color-mix(in srgb,var(--dhs-legal-hero-accent) 18%,transparent) 0 21%,transparent 21.2% 66%,color-mix(in srgb,var(--dhs-legal-hero-accent) 9%,transparent) 66.2% 100%);opacity:.65}
.dhs-legal-hero-transition-shadow{box-shadow:0 24px 50px -36px color-mix(in srgb,var(--dhs-legal-hero-accent) 65%,#000)}
.dhs-legal-hero-transition-gradient::after{content:"";position:absolute;left:0;right:0;bottom:0;height:54px;z-index:2;background:linear-gradient(to bottom,transparent,var(--dhs-section-primary-bg,#fff))}
html.dhs-dark-mode .dhs-legal-hero-transition-gradient::after{background:linear-gradient(to bottom,transparent,var(--dhs-section-primary-dark-bg,#171717))}
.dhs-legal-hero-transition-glow{box-shadow:0 22px 70px -28px color-mix(in srgb,var(--dhs-legal-hero-accent) 58%,transparent)}.dhs-legal-hero-transition-edge{border-bottom:1px solid color-mix(in srgb,var(--dhs-legal-hero-accent) 42%,transparent)}
@media(max-width:700px){.dhs-legal-hero{padding:58px 20px}.dhs-legal-hero-align-right{text-align:left}.dhs-legal-hero-align-right p{margin-left:0!important;margin-right:auto!important}}


/* 0.41.1 – Rechtliches-Hero: Deckkraft und reine Glass Shapes */
.dhs-legal-hero::before,.dhs-legal-hero .dhs-legal-orb{opacity:var(--dhs-legal-hero-accent-opacity,.08)!important}
html.dhs-dark-mode .dhs-legal-hero::before,html.dhs-dark-mode .dhs-legal-hero .dhs-legal-orb{opacity:var(--dhs-legal-hero-accent-dark-opacity,.05)!important}
.dhs-legal-hero-accent-glass::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(130deg,color-mix(in srgb,var(--dhs-legal-hero-accent) 72%,transparent),transparent 46%)}
.dhs-legal-hero-accent-glass .dhs-legal-orb{display:block;filter:none;background:color-mix(in srgb,var(--dhs-legal-hero-color) 28%,transparent);border:1px solid color-mix(in srgb,var(--dhs-legal-hero-color) 55%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent),0 18px 48px color-mix(in srgb,var(--dhs-legal-hero-accent) 30%,transparent);backdrop-filter:blur(12px);border-radius:34px}
.dhs-legal-hero-accent-glass .dhs-legal-orb-one{width:250px;height:105px;left:7%;top:16%;transform:rotate(11deg)}
.dhs-legal-hero-accent-glass .dhs-legal-orb-two{width:190px;height:82px;right:8%;bottom:15%;transform:rotate(-9deg)}


/* 0.41.2 – Guestmap verwendet die einheitliche Framework-Hero-Engine */
.dhs-guestmap-hero{background-position:var(--dhs-guestmap-hero-position,center center);background-size:cover;background-repeat:no-repeat}
.dhs-guestmap-hero .dhs-legal-hero-inner p{max-width:760px;margin:16px auto 0;color:var(--dhs-guestmap-hero-body,var(--dhs-legal-hero-color,#fff));font-size:clamp(16px,1.8vw,20px);line-height:1.65}
.dhs-guestmap-hero.dhs-legal-hero-align-left .dhs-legal-hero-inner p{margin-left:0;margin-right:auto}
.dhs-guestmap-hero.dhs-legal-hero-align-right .dhs-legal-hero-inner p{margin-left:auto;margin-right:0}
html.dhs-dark-mode .dhs-guestmap-hero .dhs-legal-hero-inner p{color:var(--dhs-legal-hero-dark-color,#fff)}


/* 0.43.3 – language switch loading overlay */
.dhs-language-loading-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:rgba(8,13,24,.52);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.dhs-language-loading-overlay.is-visible{opacity:1;visibility:visible;pointer-events:all}
.dhs-language-loading-overlay__card{display:flex;align-items:center;gap:13px;min-width:260px;max-width:calc(100vw - 40px);padding:18px 22px;border:1px solid rgba(255,255,255,.6);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(0,0,0,.24);color:#172033;font-size:15px;text-align:left}
.dhs-language-loading-overlay__globe{font-size:24px;line-height:1}
.dhs-language-loading-overlay__spinner{width:22px;height:22px;border:3px solid rgba(23,32,51,.16);border-top-color:var(--dhs-accent,#2f80ed);border-radius:50%;animation:dhs-language-spin .75s linear infinite}
.dhs-language-loading-overlay__card strong{font:inherit;font-weight:800}
html.dhs-dark-mode .dhs-language-loading-overlay__card{border-color:rgba(255,255,255,.16);background:rgba(24,29,39,.94);color:#fff}
@keyframes dhs-language-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.dhs-language-loading-overlay__card{min-width:0;width:100%;justify-content:center;padding:16px 18px;border-radius:17px}}

/* 0.43.7 – keep the language switch visually stable until GTranslate is ready. */
.dhs-site-language--dynamic.is-language-pending{opacity:.55;pointer-events:none}
.dhs-site-language--dynamic{transition:opacity .18s ease}

/* 0.43.8 – controlled one-time reload lets GTranslate consume the detected language cookie on the first request. */

/* 0.43.9 – preserve canonical zh-CN/zh-TW codes for GTranslate cookies and API calls. */


/* 0.60.1 – Floating labels are real text nodes so translation engines can translate them */
.dhs-floating-action__label{display:none}
@media(max-width:768px){
  .dhs-floating-actions:not(.is-hidden-mobile) .dhs-floating-action::after{display:none!important;content:none!important}
  .dhs-floating-actions:not(.is-hidden-mobile) .dhs-floating-action__label{
    display:block!important;max-width:100%;font-size:10px;font-weight:700;line-height:1.1;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.86
  }
}

/* 0.60.1 – Contact hero uses the full Suite hero framework */
.dhs-page-hero.is-align-left .dhs-page-hero__content{text-align:left}
.dhs-page-hero.is-align-center .dhs-page-hero__content{text-align:center}
.dhs-page-hero.is-align-right .dhs-page-hero__content{text-align:right}
.dhs-page-hero.is-align-center h1,.dhs-page-hero.is-align-center p{margin-left:auto;margin-right:auto}
.dhs-page-hero.is-align-right h1,.dhs-page-hero.is-align-right p{margin-left:auto}
.dhs-page-hero.is-size-small h1{font-size:clamp(38px,4.5vw,54px)}
.dhs-page-hero.is-size-small p{font-size:16px;max-width:650px}
.dhs-page-hero.is-size-large h1{font-size:clamp(58px,7vw,88px)}
.dhs-page-hero.is-size-large p{font-size:20px;max-width:820px}
html.dhs-dark-mode .dhs-page-hero__effect{opacity:var(--dhs-page-hero-effect-opacity-dark,var(--dhs-page-hero-effect-opacity,.05))}
.dhs-page-hero[data-dhs-page-effect="texture"] .dhs-page-hero__effect{background-image:radial-gradient(currentColor .8px,transparent .9px);background-size:9px 9px}
.dhs-page-hero[data-dhs-page-effect="glass"] .dhs-page-hero__effect:before{content:"";position:absolute;width:46%;height:72%;right:5%;top:14%;border:1px solid currentColor;border-radius:34px;background:color-mix(in srgb,currentColor 11%,transparent);backdrop-filter:blur(10px);transform:rotate(-5deg)}
.dhs-page-hero[data-dhs-page-effect="diagonal"] .dhs-page-hero__effect:before{content:"";position:absolute;inset:-30% -15% -30% 56%;background:currentColor;transform:skewX(-17deg)}
.dhs-page-hero[data-dhs-page-effect="complete"] .dhs-page-hero__effect{background-image:radial-gradient(currentColor 1.4px,transparent 1.5px);background-size:28px 28px;mask-image:linear-gradient(110deg,#000 0%,transparent 78%);-webkit-mask-image:linear-gradient(110deg,#000 0%,transparent 78%)}
.dhs-page-hero[data-dhs-page-effect="complete"] .dhs-page-hero__effect:before,.dhs-page-hero[data-dhs-page-effect="complete"] .dhs-page-hero__effect:after{content:"";position:absolute;border-radius:50%;border:42px solid currentColor}
.dhs-page-hero[data-dhs-page-effect="complete"] .dhs-page-hero__effect:before{width:360px;height:360px;right:-120px;top:-180px}
.dhs-page-hero[data-dhs-page-effect="complete"] .dhs-page-hero__effect:after{width:220px;height:220px;left:-100px;bottom:-130px}
.dhs-page-hero.is-transition-shadow{box-shadow:0 24px 54px rgba(0,0,0,.18)}
.dhs-page-hero.is-transition-gradient:after,.dhs-page-hero.is-transition-glow:after,.dhs-page-hero.is-transition-edge:after{content:"";position:absolute;z-index:3;left:0;right:0;bottom:0;pointer-events:none}
.dhs-page-hero.is-transition-gradient:after{height:90px;background:linear-gradient(to bottom,transparent,var(--dhs-bg,#fff))}
html.dhs-dark-mode .dhs-page-hero.is-transition-gradient:after{background:linear-gradient(to bottom,transparent,var(--dhs-dark-background,#181818))}
.dhs-page-hero.is-transition-glow:after{height:4px;background:var(--dhs-page-hero-effect,var(--dhs-accent));box-shadow:0 0 28px 7px color-mix(in srgb,var(--dhs-page-hero-effect,var(--dhs-accent)) 55%,transparent)}
.dhs-page-hero.is-transition-edge:after{height:1px;background:color-mix(in srgb,var(--dhs-page-hero-heading,#fff) 30%,transparent)}
@media(max-width:600px){
  .dhs-page-hero.is-size-large h1{font-size:clamp(42px,13vw,58px)}
  .dhs-page-hero.is-size-small h1{font-size:clamp(34px,10vw,44px)}
}

/* 0.60.3 – Kontakt verwendet dieselben Framework-Hero-Klassen wie Rechtliches */
.dhs-contact-framework-hero{
  display:flex;
  align-items:center;
  min-height:var(--dhs-contact-hero-desktop,520px);
  box-sizing:border-box;
}
.dhs-contact-framework-hero-position-top{align-items:flex-start}
.dhs-contact-framework-hero-position-center{align-items:center}
.dhs-contact-framework-hero-position-bottom{align-items:flex-end}
.dhs-contact-framework-hero .dhs-legal-hero-inner p{
  max-width:760px;
  margin:16px auto 0;
  color:var(--dhs-legal-hero-body,currentColor);
  font-size:clamp(16px,1.8vw,20px);
  line-height:1.65;
}
.dhs-contact-framework-hero.dhs-legal-hero-align-left .dhs-legal-hero-inner p{margin-left:0;margin-right:auto}
.dhs-contact-framework-hero.dhs-legal-hero-align-right .dhs-legal-hero-inner p{margin-left:auto;margin-right:0}
html.dhs-dark-mode .dhs-contact-framework-hero .dhs-legal-hero-inner p{color:var(--dhs-legal-hero-dark-color,#fff)!important}
.dhs-contact-framework-hero__image{
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.24;
  pointer-events:none;
}
html.dhs-dark-mode .dhs-contact-framework-hero__image{opacity:.2}
@media(max-width:900px){.dhs-contact-framework-hero{min-height:var(--dhs-contact-hero-tablet,430px)}}
@media(max-width:600px){.dhs-contact-framework-hero{min-height:var(--dhs-contact-hero-mobile,340px)}}

/* 0.60.4 – Zimmerdetail-Galerie und Darkmode-Polishing */
.dhs-room-detail .dhs-gallery-arrow{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:50%!important;
  background:rgba(20,20,20,.64)!important;
  color:#fff!important;
  font-size:30px!important;
  font-weight:400!important;
  line-height:1!important;
  padding:0 0 3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:translateY(-50%)!important;
  transition:none!important;
  box-shadow:none!important;
}
.dhs-room-detail .dhs-gallery-arrow:hover,
.dhs-room-detail .dhs-gallery-arrow:focus,
.dhs-room-detail .dhs-gallery-arrow:active{
  background:rgba(20,20,20,.64)!important;
  color:#fff!important;
  transform:translateY(-50%)!important;
  box-shadow:none!important;
}
.dhs-room-detail .dhs-gallery-counter{
  background:rgba(12,12,12,.78)!important;
  color:#fff!important;
}
.dhs-room-detail .dhs-gallery-counter,
.dhs-room-detail .dhs-gallery-counter b{
  color:#fff!important;
}
.dhs-room-detail .dhs-gallery-zoom{
  background:rgba(255,255,255,.94)!important;
  color:#111!important;
  line-height:1!important;
  text-shadow:none!important;
}
html.dhs-dark-mode .dhs-room-detail .dhs-gallery-zoom,
html.dhs-light-mode .dhs-room-detail .dhs-gallery-zoom{
  color:#111!important;
}

.dhs-lightbox .dhs-lightbox-arrow{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  border-radius:50%!important;
  padding:0 0 4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:42px!important;
  line-height:1!important;
  text-align:center!important;
  transition:none!important;
  transform:translateY(-50%)!important;
}
.dhs-lightbox .dhs-lightbox-arrow:hover,
.dhs-lightbox .dhs-lightbox-arrow:focus,
.dhs-lightbox .dhs-lightbox-arrow:active{
  transform:translateY(-50%)!important;
}
.dhs-lightbox .dhs-lightbox-counter,
.dhs-lightbox .dhs-lightbox-counter b{
  color:#fff!important;
}

html.dhs-dark-mode .dhs-room-detail .dhs-room-content{
  margin-top:22px!important;
  padding:18px 20px 20px!important;
  border:1px solid color-mix(in srgb,var(--dhs-dark-text,#fff) 12%,transparent)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--dhs-dark-card,#242424) 92%,var(--dhs-accent) 8%)!important;
  box-shadow:none!important;
  line-height:1.75!important;
}
html.dhs-dark-mode .dhs-room-detail .dhs-room-content p{
  margin-top:0!important;
  margin-bottom:.85em!important;
  line-height:1.75!important;
}
html.dhs-dark-mode .dhs-room-detail .dhs-room-content p:last-child{
  margin-bottom:0!important;
}

@media(max-width:760px){
  .dhs-room-detail .dhs-gallery-arrow{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    font-size:27px!important;
  }
  .dhs-lightbox .dhs-lightbox-arrow{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    font-size:34px!important;
    padding-bottom:3px!important;
  }
  html.dhs-dark-mode .dhs-room-detail .dhs-room-content{
    padding:16px 17px 18px!important;
  }
}

/* 0.60.6 – Zimmerdetail-Hero: Full Width + Classic-Inhaltsraster */
.dhs-room-layout-hero .dhs-room-back{margin-bottom:18px}
.dhs-room-hero{position:relative;width:100vw;min-height:clamp(500px,58vw,720px);margin:0 calc(50% - 50vw) 44px;border-radius:0;overflow:hidden;background:#172a30 var(--dhs-room-hero-image) center/cover no-repeat;color:#fff;isolation:isolate;box-shadow:0 24px 64px rgba(0,0,0,.15)}
.dhs-room-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,19,24,.82) 0%,rgba(7,19,24,.54) 48%,rgba(7,19,24,.16) 76%,rgba(7,19,24,.24) 100%)}
.dhs-room-hero__content{min-height:inherit;display:flex;align-items:flex-end;padding:clamp(40px,6vw,78px) 20px}
.dhs-room-hero__inner{width:min(100%,var(--dhs-container));margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:42px}
.dhs-room-hero__copy{max-width:760px}.dhs-room-hero__badge{display:inline-flex;margin-bottom:14px;padding:8px 13px;border-radius:999px;background:var(--dhs-accent);color:#111;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}
.dhs-room-hero h1{margin:0;color:#fff!important;font-size:clamp(48px,7vw,88px)!important;line-height:.95;letter-spacing:-.035em;text-shadow:0 5px 24px rgba(0,0,0,.28)}
.dhs-room-hero__subtitle{max-width:680px;margin:18px 0 0;color:rgba(255,255,255,.9)!important;font-size:clamp(16px,2vw,22px)!important;line-height:1.55}
.dhs-room-hero__services{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.dhs-room-hero__services span{padding:8px 11px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(10,18,22,.38);color:#fff;font-size:12px;backdrop-filter:blur(8px)}
.dhs-room-hero__booking{flex:0 0 auto;min-width:238px;padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(8,19,24,.58);backdrop-filter:blur(12px)}
.dhs-room-hero__price span,.dhs-room-hero__price strong{display:block}.dhs-room-hero__price span{color:rgba(255,255,255,.72);font-size:12px}.dhs-room-hero__price strong{margin:2px 0;color:#fff;font-size:clamp(30px,4vw,48px);font-weight:650}
.dhs-room-hero__button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;margin-top:18px;padding:0 20px;border-radius:8px;background:var(--dhs-accent);color:#111!important;text-decoration:none!important;font-weight:850;text-align:center}.dhs-room-hero__button:hover{filter:brightness(.95);color:#111!important}.dhs-room-hero__button .dhs-icon-svg{width:19px;height:19px;stroke:currentColor;fill:none}
.dhs-room-layout-hero .dhs-detail-top{grid-template-columns:minmax(0,var(--dhs-room-gallery-fr,1fr)) minmax(340px,var(--dhs-room-copy-fr,1fr))!important;grid-template-areas:"gallery summary"!important;gap:34px!important;align-items:start}
.dhs-room-layout-hero .dhs-detail-gallery-column{grid-area:gallery;order:1;min-width:0}
.dhs-room-layout-hero .dhs-detail-summary{grid-area:summary;order:2;display:block!important;min-width:0;padding:0}
.dhs-room-layout-hero .dhs-detail-summary>.dhs-badge,.dhs-room-layout-hero .dhs-detail-summary>h1,.dhs-room-layout-hero .dhs-detail-summary>.dhs-detail-subtitle,.dhs-room-layout-hero .dhs-detail-summary>.dhs-detail-service-badges,.dhs-room-layout-hero .dhs-detail-summary>.dhs-detail-price{display:none!important}
.dhs-room-layout-hero .dhs-room-content{margin:22px 0 0!important;padding:22px 24px!important;border:1px solid rgba(0,0,0,.09)!important;border-radius:18px!important;background:var(--dhs-card,#fff)!important;box-shadow:0 14px 38px rgba(0,0,0,.05)!important;font-size:15px!important;line-height:1.8!important}
.dhs-room-layout-hero .dhs-detail-amenities{width:100%;margin:24px 0 0;padding:24px}
.dhs-room-layout-hero .dhs-amenity-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
html.dhs-dark-mode .dhs-room-layout-hero .dhs-room-content{background:var(--dhs-dark-card,#242424)!important;border-color:rgba(255,255,255,.11)!important}
@media(max-width:1050px){.dhs-room-layout-hero .dhs-detail-top{grid-template-columns:1fr!important;grid-template-areas:"gallery" "summary"!important}.dhs-room-layout-hero .dhs-detail-summary{width:100%}.dhs-room-layout-hero .dhs-room-gallery-accent{min-height:170px}}
@media(max-width:820px){.dhs-room-hero__inner{display:block}.dhs-room-hero__booking{width:min(100%,330px);margin-top:28px}.dhs-room-hero__shade{background:linear-gradient(180deg,rgba(7,19,24,.25),rgba(7,19,24,.86) 72%)}.dhs-room-layout-hero .dhs-amenity-groups{grid-template-columns:1fr}}
@media(max-width:620px){.dhs-room-hero{min-height:640px}.dhs-room-hero__content{padding:34px 20px}.dhs-room-hero h1{font-size:clamp(42px,13vw,62px)!important}.dhs-room-hero__booking{min-width:0;width:100%;padding:18px}.dhs-room-layout-hero .dhs-room-content{padding:18px!important}}


/* Dateck Unterkunft Suite 0.60.7 – final room hero information flow. */
.dhs-room-layout-hero .dhs-room-hero{margin-top:-38px}
.dhs-room-layout-hero .dhs-room-back--hero{display:inline-flex;align-items:center;margin:0 0 16px;color:var(--dhs-muted)!important;font-size:13px;font-weight:650;text-decoration:none}
.dhs-room-layout-hero .dhs-room-back--hero:hover{color:var(--dhs-accent-dark)!important}
.dhs-room-layout-hero .dhs-detail-facts--hero{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 0;border:1px solid rgba(0,0,0,.1);border-radius:16px;overflow:hidden;background:var(--dhs-card,#fff)}
.dhs-room-layout-hero .dhs-detail-facts--hero>div{min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 10px;text-align:center;border-right:1px solid rgba(0,0,0,.1)}
.dhs-room-layout-hero .dhs-detail-facts--hero>div:nth-child(3n){border-right:1px solid rgba(0,0,0,.1)}
.dhs-room-layout-hero .dhs-detail-facts--hero>div:nth-child(4n),.dhs-room-layout-hero .dhs-detail-facts--hero>div:last-child{border-right:0}
.dhs-room-layout-hero .dhs-detail-facts--hero .dhs-fact-icon{display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--dhs-text)}
.dhs-room-layout-hero .dhs-detail-facts--hero .dhs-fact-copy{display:flex;flex-direction:column;gap:7px}
.dhs-room-layout-hero .dhs-detail-facts--hero strong{font-size:13px;line-height:1.35;font-weight:650}
.dhs-room-layout-hero .dhs-detail-facts--hero small{margin:0;color:var(--dhs-muted);font-size:9px;letter-spacing:.12em}
html.dhs-dark-mode .dhs-room-layout-hero .dhs-detail-facts--hero{background:var(--dhs-dark-card,#242424);border-color:rgba(255,255,255,.12)}
html.dhs-dark-mode .dhs-room-layout-hero .dhs-detail-facts--hero>div{border-color:rgba(255,255,255,.12)}
@media(max-width:1050px){.dhs-room-layout-hero .dhs-room-hero{margin-top:-38px}}
@media(max-width:700px){.dhs-room-layout-hero .dhs-room-hero{margin-top:-38px}.dhs-room-layout-hero .dhs-detail-facts--hero{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-room-layout-hero .dhs-detail-facts--hero>div:nth-child(2n){border-right:0}.dhs-room-layout-hero .dhs-detail-facts--hero>div:nth-child(-n+2){border-bottom:1px solid rgba(0,0,0,.1)}html.dhs-dark-mode .dhs-room-layout-hero .dhs-detail-facts--hero>div:nth-child(-n+2){border-bottom-color:rgba(255,255,255,.12)}}


/* Veranstaltungen / Highlights in der Nähe */
.dhs-events{width:100%}.dhs-events__head{max-width:760px;margin:0 auto 38px;text-align:center}.dhs-events__head h2{margin:.25em 0 .3em;font-size:var(--dhs-section-heading-desktop,48px);line-height:1.08}.dhs-events__head p{margin:0;color:var(--dhs-muted)}
.dhs-events__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.dhs-event-card{display:flex;flex-direction:column;min-width:0;background:var(--dhs-card);color:var(--dhs-text);border:1px solid color-mix(in srgb,var(--dhs-text) 12%,transparent);border-radius:var(--dhs-radius);overflow:hidden;box-shadow:0 14px 34px rgba(20,15,30,.08)}
.dhs-event-card__media{position:relative;aspect-ratio:4/3;background-position:center;background-size:cover;background-color:color-mix(in srgb,var(--dhs-accent) 12%,var(--dhs-card));}.dhs-event-card__media.no-image:after{content:'EVENT';position:absolute;inset:0;display:grid;place-items:center;font-weight:800;letter-spacing:.22em;color:color-mix(in srgb,var(--dhs-accent) 55%,transparent)}
.dhs-event-card__date{position:absolute;z-index:1;left:14px;top:14px;display:flex;flex-direction:column;align-items:center;min-width:58px;padding:9px 10px;border-radius:14px;background:var(--dhs-card);color:var(--dhs-text);box-shadow:0 8px 22px rgba(0,0,0,.16)}.dhs-event-card__date strong{font-size:24px;line-height:1}.dhs-event-card__date small{margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--dhs-accent-dark)}
.dhs-event-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.dhs-event-card__body h3{margin:0 0 8px;font-size:21px;line-height:1.18}.dhs-event-card__meta{margin:0 0 12px;font-weight:700;color:var(--dhs-accent-dark)}.dhs-event-card__text{margin-bottom:14px;line-height:1.6;color:var(--dhs-muted)}.dhs-event-card__address{display:flex;gap:7px;align-items:flex-start;margin:auto 0 16px;font-size:14px}.dhs-event-card__address .dashicons{color:var(--dhs-accent-dark)}.dhs-event-card__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dhs-event-card__button{display:inline-flex;padding:11px 15px;border-radius:11px;background:var(--dhs-accent);color:var(--dhs-accent-contrast,#111);font-weight:800;text-decoration:none}.dhs-event-card__link{font-weight:700;text-decoration:none;color:inherit}
html.dhs-dark .dhs-event-card{background:var(--dhs-dark-card);color:var(--dhs-dark-text);border-color:color-mix(in srgb,var(--dhs-dark-text) 14%,transparent)}html.dhs-dark .dhs-event-card__date{background:var(--dhs-dark-card);color:var(--dhs-dark-text)}html.dhs-dark .dhs-event-card__text,html.dhs-dark .dhs-events__head p{color:color-mix(in srgb,var(--dhs-dark-text) 72%,transparent)}
@media(max-width:1180px){.dhs-events__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.dhs-events__head{text-align:left;margin-bottom:25px}.dhs-events__head h2{font-size:var(--dhs-section-heading-mobile,34px)}.dhs-events__grid{grid-template-columns:1fr}.dhs-event-card{display:grid;grid-template-columns:120px 1fr}.dhs-event-card__media{height:100%;aspect-ratio:auto;min-height:200px}.dhs-event-card__body{padding:17px}.dhs-event-card__date{left:9px;top:9px;min-width:50px}.dhs-event-card__date strong{font-size:20px}}

/* Events 0.62 */
.dhs-events__head{max-width:none!important;display:flex;align-items:end;justify-content:space-between;gap:30px;text-align:left!important}.dhs-events__head>div{max-width:760px}.dhs-events__all{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;padding:13px 20px;border:1px solid color-mix(in srgb,var(--dhs-text) 15%,transparent);border-radius:var(--dhs-button-radius);color:var(--dhs-text);font-weight:750;text-decoration:none;transition:.2s}.dhs-events__all:hover{transform:translateY(-2px);border-color:var(--dhs-accent);color:var(--dhs-text)}
.dhs-events__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.dhs-event-card h3 a{color:inherit;text-decoration:none}.dhs-event-card__media{display:block}.dhs-event-card__button{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:var(--dhs-button-radius);background:var(--dhs-button-bg);color:var(--dhs-button-text);font-weight:750;text-decoration:none}.dhs-event-card__body{display:flex;flex-direction:column}.dhs-event-card__text{margin-bottom:18px}
.dhs-event-page-hero,.dhs-event-detail-hero{position:relative;isolation:isolate;display:flex;align-items:end;min-height:clamp(380px,52vw,650px);background:linear-gradient(135deg,var(--dhs-primary),color-mix(in srgb,var(--dhs-primary) 70%,var(--dhs-accent)));background-position:center;background-size:cover;color:#fff}.dhs-event-page-hero:before,.dhs-event-detail-hero__shade{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,16,.82),rgba(8,10,16,.3) 70%,rgba(8,10,16,.12))}.dhs-event-page-hero__inner,.dhs-event-detail-hero__inner{width:min(var(--dhs-container),calc(100% - 40px));margin:0 auto;padding:100px 0 78px}.dhs-event-page-hero h1,.dhs-event-detail-hero h1{max-width:900px;margin:.2em 0 .18em;color:#fff;font-size:clamp(44px,6vw,82px);line-height:1.02}.dhs-event-page-hero p{max-width:650px;margin:0;font-size:clamp(17px,2vw,22px);color:rgba(255,255,255,.82)}
.dhs-event-archive__content{width:min(var(--dhs-container),calc(100% - 40px));margin:0 auto;padding:90px 0 110px}.dhs-event-archive__intro{max-width:760px;margin-bottom:42px}.dhs-event-archive__intro h2{margin:.22em 0 .28em}.dhs-event-archive__intro p{color:var(--dhs-muted)}.dhs-event-archive__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.dhs-event-empty{padding:70px 30px;border:1px dashed color-mix(in srgb,var(--dhs-text) 20%,transparent);border-radius:var(--dhs-radius);text-align:center}
.dhs-event-detail-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.dhs-event-detail-hero__meta span{padding:9px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(10,10,14,.28);backdrop-filter:blur(8px)}.dhs-event-detail{width:min(var(--dhs-container),calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;padding:80px 0 110px}.dhs-event-back{display:inline-flex;margin-bottom:38px;color:var(--dhs-muted);text-decoration:none;font-weight:700}.dhs-event-detail__copy{padding:38px;border:1px solid color-mix(in srgb,var(--dhs-text) 12%,transparent);border-radius:var(--dhs-radius);background:var(--dhs-card);box-shadow:var(--dhs-card-shadow)}.dhs-event-detail__copy h2{margin:.25em 0 .65em}.dhs-event-detail__copy>*:last-child{margin-bottom:0}.dhs-event-info-card{position:sticky;top:110px;padding:30px;border:1px solid color-mix(in srgb,var(--dhs-text) 12%,transparent);border-radius:var(--dhs-radius);background:var(--dhs-card);box-shadow:var(--dhs-card-shadow)}.dhs-event-info-card h2{margin:0 0 22px;font-size:26px}.dhs-event-info-card dl{margin:0}.dhs-event-info-card dl div{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--dhs-text) 10%,transparent)}.dhs-event-info-card dt{color:var(--dhs-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.dhs-event-info-card dd{margin:0;font-weight:650}.dhs-event-info-card__actions{display:grid;gap:10px;margin-top:24px}.dhs-event-primary-action,.dhs-event-secondary-action{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:var(--dhs-button-radius);font-weight:800;text-decoration:none}.dhs-event-primary-action{background:var(--dhs-button-bg);color:var(--dhs-button-text)}.dhs-event-secondary-action{border:1px solid color-mix(in srgb,var(--dhs-text) 16%,transparent);color:var(--dhs-text)}
html.dhs-dark-mode .dhs-event-card,html.dhs-dark-mode .dhs-event-detail__copy,html.dhs-dark-mode .dhs-event-info-card{background:var(--dhs-dark-card);color:var(--dhs-dark-text);border-color:color-mix(in srgb,var(--dhs-dark-text) 15%,transparent)}html.dhs-dark-mode .dhs-events__all,html.dhs-dark-mode .dhs-event-secondary-action{color:var(--dhs-dark-text);border-color:color-mix(in srgb,var(--dhs-dark-text) 20%,transparent)}html.dhs-dark-mode .dhs-event-archive__intro p,html.dhs-dark-mode .dhs-event-back,html.dhs-dark-mode .dhs-event-info-card dt{color:color-mix(in srgb,var(--dhs-dark-text) 68%,transparent)}
@media(max-width:960px){.dhs-event-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-event-detail{grid-template-columns:1fr}.dhs-event-info-card{position:static}}@media(max-width:760px){.dhs-events__head{align-items:flex-start;flex-direction:column}.dhs-events__all{align-self:stretch;justify-content:center}.dhs-events__grid,.dhs-event-archive__grid{grid-template-columns:1fr!important}.dhs-event-page-hero__inner,.dhs-event-detail-hero__inner{padding:80px 0 55px}.dhs-event-detail{padding:50px 0 80px;gap:28px}.dhs-event-detail__copy{padding:24px}.dhs-event-card{display:flex!important}.dhs-event-card__media{min-height:230px!important}}


/* 0.62.2 – Events archive hero typography */
@media(min-width:761px){
  .dhs-event-page-hero h1{
    max-width:none!important;
    font-size:clamp(40px,4.55vw,64px)!important;
    line-height:1.04!important;
    white-space:nowrap;
  }
  .dhs-event-page-hero p{
    max-width:none!important;
    font-size:clamp(16px,1.55vw,20px)!important;
    white-space:nowrap;
  }
}
@media(max-width:760px){
  .dhs-event-page-hero h1,.dhs-event-page-hero p{white-space:normal}
}


/* 0.62.3 – Event detail back link beneath info card */
.dhs-event-detail__main{display:flex;flex-direction:column;justify-content:flex-start}
.dhs-event-detail__aside{display:flex;flex-direction:column;align-items:stretch}
.dhs-event-back--aside{margin:18px 0 0;padding:0 4px;align-self:flex-start}
@media(max-width:960px){.dhs-event-back--aside{margin-top:14px}}


/* 0.62.5 – Back link stays inside the sticky event information card. */
.dhs-event-info-card__actions .dhs-event-back--card{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:2px;padding-top:14px;border-top:1px solid rgba(120,130,140,.18);text-decoration:none;font-weight:750}
.dhs-event-info-card__actions:empty{display:none}


/* 0.62.9 – compact homepage event excerpts */
.dhs-event-card.is-compact .dhs-event-card__text{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.55;
  min-height:calc(1.55em * 2);
  max-height:calc(1.55em * 2);
  margin-bottom:14px;
}

/* Dateck Unterkunft Suite 1.1.0 – Saisonpreise & Zusatzleistungen */
.dhs-property-pricing{width:min(100%,var(--dhs-container));margin:38px auto 0;display:grid;gap:22px}.dhs-property-block{padding:28px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:var(--dhs-bg,#fff);box-shadow:0 14px 38px rgba(0,0,0,.055)}.dhs-property-block h2{margin:4px 0 20px}.dhs-property-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--dhs-accent-dark);text-transform:uppercase}.dhs-season-price-grid,.dhs-extra-service-grid{display:grid;gap:10px}.dhs-season-price-grid article,.dhs-extra-service-grid article{display:grid;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(0,0,0,.09);border-radius:14px;background:#fff}.dhs-season-price-grid article{grid-template-columns:minmax(0,1fr) auto}.dhs-season-price-grid strong,.dhs-season-price-grid small,.dhs-season-price-value b,.dhs-season-price-value span,.dhs-season-price-value small{display:block}.dhs-season-price-grid small,.dhs-extra-service-grid small,.dhs-extra-service-price span{color:var(--dhs-muted);font-size:12px}.dhs-season-price-value{text-align:right}.dhs-season-price-value b,.dhs-extra-service-price b{font-size:20px;color:var(--dhs-accent-dark)}.dhs-extra-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dhs-extra-service-grid article{grid-template-columns:auto minmax(0,1fr) auto}.dhs-extra-service-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:color-mix(in srgb,var(--dhs-accent) 18%,#fff);color:var(--dhs-accent-dark)}.dhs-extra-service-icon svg{width:22px;height:22px;stroke:currentColor;fill:none}.dhs-extra-service-grid strong,.dhs-extra-service-grid small{display:block}.dhs-extra-service-price{text-align:right}.dhs-stay-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dhs-stay-info-grid>div{padding:15px;border:1px solid rgba(0,0,0,.09);border-radius:13px;background:#fff}.dhs-stay-info-grid small,.dhs-stay-info-grid strong{display:block}.dhs-stay-info-grid small{color:var(--dhs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.dhs-property-note{margin-top:14px;padding:17px 18px;border-left:4px solid var(--dhs-accent);border-radius:0 14px 14px 0;background:rgba(0,0,0,.025)}.dhs-property-note p{margin:6px 0 0!important}@media(max-width:820px){.dhs-extra-service-grid{grid-template-columns:1fr}.dhs-stay-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dhs-property-block{padding:20px}.dhs-season-price-grid article,.dhs-extra-service-grid article{grid-template-columns:1fr}.dhs-season-price-value,.dhs-extra-service-price{text-align:left}.dhs-stay-info-grid{grid-template-columns:1fr}}
html.dhs-dark-mode .dhs-season-price-grid article,html.dhs-dark-mode .dhs-extra-service-grid article,html.dhs-dark-mode .dhs-stay-info-grid>div{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}

/* Dateck Property Header + Topbar */
body.dps-header-replace-theme #site-header,body.dps-header-replace-theme #top-bar-wrap,body.dps-header-replace-theme header#masthead:not(.dps-site-header),body.dps-header-replace-theme .site-header:not(.dps-site-header),body.dps-header-replace-theme .ast-primary-header-bar,body.dps-header-replace-theme .kadence-sticky-header{display:none!important}
.dps-header-stack{position:relative;z-index:99990;font-family:inherit}.dps-header-stack.is-sticky{display:contents}.dps-header-stack.is-sticky .dps-site-header{position:sticky;top:0;z-index:99990}
.admin-bar .dps-header-stack.is-sticky .dps-site-header{top:32px}
.dps-topbar{background:var(--dps-topbar-bg);color:var(--dps-topbar-text);border-top:2px solid var(--dps-topbar-accent);border-bottom:1px solid color-mix(in srgb,var(--dps-topbar-text) 10%,transparent)}
.dps-topbar__inner{max-width:var(--dps-container);min-height:38px;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dps-topbar__contact,.dps-topbar__social{display:flex;align-items:center;gap:24px}.dps-topbar a{display:inline-flex;align-items:center;gap:8px;color:inherit!important;text-decoration:none;font-size:13px}.dps-topbar svg{width:18px;height:18px;fill:none;stroke:var(--dps-topbar-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dps-topbar__social{gap:12px}.dps-topbar__social a{width:27px;height:27px;justify-content:center}.dps-topbar__social svg{width:17px;height:17px}
.dps-site-header{background:var(--dps-header-bg);color:var(--dps-header-text);border-bottom:1px solid color-mix(in srgb,var(--dps-header-text) 10%,transparent);box-shadow:0 5px 22px rgba(0,0,0,.035)}
.dps-site-header__inner{max-width:var(--dps-container);min-height:var(--dps-header-height);margin:auto;padding:0 20px;display:flex;align-items:center;gap:28px}.dps-site-header__inner.is-full{max-width:none;padding-left:32px;padding-right:32px}
.dps-site-logo{display:flex;align-items:center;color:inherit!important;text-decoration:none;flex:0 0 auto}.dps-site-logo img{display:block;max-height:var(--dps-logo-height);max-width:230px;width:auto}.dps-logo-dark{display:none!important}
.dps-site-nav{margin-left:auto}.dps-menu-align-left .dps-site-nav{margin-left:0;margin-right:auto}.dps-menu-align-center .dps-site-nav{margin-left:auto;margin-right:auto}.dps-site-nav ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}.dps-site-nav li{position:relative}.dps-site-nav a{position:relative;display:block;padding:28px 0;color:inherit!important;text-decoration:none;font-size:var(--dps-menu-font);font-weight:650}.dps-site-nav>ul>li>a:after{content:"";position:absolute;left:50%;right:50%;bottom:20px;height:2px;background:var(--dps-menu-hover);transition:.2s}.dps-site-nav>ul>li>a:hover:after,.dps-site-nav .current-menu-item>a:after{left:0;right:0}.dps-site-nav a:hover,.dps-site-nav .current-menu-item>a{color:var(--dps-menu-hover)!important}
.dps-site-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:220px;padding:10px 0;background:var(--dps-header-bg);border:1px solid color-mix(in srgb,var(--dps-header-text) 12%,transparent);box-shadow:0 18px 44px rgba(0,0,0,.12);border-radius:12px}.dps-site-nav li:hover>.sub-menu{display:block}.dps-site-nav .sub-menu li{display:block}.dps-site-nav .sub-menu a{padding:10px 18px;white-space:nowrap}
.dps-site-actions{display:flex;align-items:center;gap:10px}.dps-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--dps-button-radius);background:var(--dps-accent);color:#111!important;text-decoration:none;font-weight:750}.dps-header-cta:hover{background:var(--dps-accent-dark)}
.dps-language-toggle,.dps-dark-toggle{border:0;background:color-mix(in srgb,var(--dps-primary) 8%,var(--dps-card));color:var(--dps-header-text);height:40px;border-radius:999px;padding:4px;display:inline-flex;align-items:center;cursor:pointer}.dps-language-toggle span{padding:6px 8px;border-radius:999px;font-size:11px;font-weight:750}.dps-language-toggle .is-active{background:var(--dps-accent);color:#111}.dps-dark-toggle{width:40px;justify-content:center}.dps-dark-toggle span:last-child{display:none}.dps-translate-engine{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dps-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--dps-accent);border-radius:50%;background:transparent;padding:10px;cursor:pointer}.dps-menu-toggle span{display:block;width:21px;height:2px;margin:4px auto;background:var(--dps-header-text)}.dps-menu-mode-hamburger .dps-menu-toggle{display:block}
.dps-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.25s;z-index:99998}.dps-menu-drawer{position:fixed;top:0;bottom:0;left:0;width:min(390px,88vw);padding:38px 32px;background:var(--dps-header-bg);color:var(--dps-header-text);transform:translateX(-105%);transition:.28s;z-index:99999;overflow:auto;box-shadow:20px 0 60px rgba(0,0,0,.18)}.dps-menu-open .dps-menu-overlay{opacity:1;visibility:visible}.dps-menu-open .dps-menu-drawer{transform:none}.dps-menu-close{position:absolute;right:18px;top:12px;border:0;background:none;color:inherit;font-size:38px;cursor:pointer}.dps-drawer-logo img{max-width:190px;max-height:65px}.dps-menu-drawer ul{list-style:none;margin:40px 0 28px;padding:0}.dps-menu-drawer li{border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}.dps-menu-drawer a:not(.dps-header-cta){display:block;padding:14px 0;color:inherit!important;text-decoration:none;font-size:17px;font-weight:650}.dps-menu-drawer .sub-menu{margin:0 0 8px 16px}
html.dps-dark-mode .dps-site-header,html.dps-dark-mode .dps-menu-drawer{--dps-header-bg:var(--dps-header-dark-bg);--dps-header-text:var(--dps-header-dark-text)}html.dps-dark-mode .dps-logo-light{display:none!important}html.dps-dark-mode .dps-logo-dark{display:block!important}html.dps-dark-mode .dps-dark-toggle span:first-child{display:none}html.dps-dark-mode .dps-dark-toggle span:last-child{display:inline}html.dps-dark-mode body{background:var(--dps-dark-bg);color:var(--dps-dark-text)}
@media(max-width:960px){.dps-site-nav{display:none}.dps-menu-toggle{display:block}.dps-header-cta{display:none}.dps-topbar__social{display:none}.dps-topbar__contact{gap:14px}.dps-topbar__contact a span{display:none}.dps-topbar__contact a:first-child span{display:inline}.dps-site-header__inner{gap:12px}.dps-site-actions{margin-left:auto}}
@media(max-width:600px){.dps-topbar__contact a:first-child span{display:none}.dps-topbar__inner{min-height:34px}.dps-language-toggle{display:none}.dps-site-logo img{max-width:155px}}
@media(max-width:782px){.admin-bar .dps-header-stack.is-sticky .dps-site-header{top:46px}}

/* 0.4.1 – Header controls inherit the complete Property design engine */
.dps-header-cta{
 background:var(--dps-button-bg,var(--dps-accent))!important;
 color:var(--dps-button-text,#111)!important;
 -webkit-text-fill-color:var(--dps-button-text,#111)!important;
}
.dps-header-cta:hover,.dps-header-cta:focus-visible{
 background:var(--dps-button-hover-bg,var(--dps-accent-dark))!important;
 color:var(--dps-button-hover-text,#111)!important;
 -webkit-text-fill-color:var(--dps-button-hover-text,#111)!important;
}
.dps-language-toggle{
 background:color-mix(in srgb,var(--dps-header-text) 8%,var(--dps-header-bg))!important;
 color:var(--dps-header-text)!important;
 border:1px solid color-mix(in srgb,var(--dps-header-text) 13%,transparent)!important;
}
.dps-language-toggle span:not(.is-active){color:var(--dps-header-text)!important}
.dps-language-toggle .is-active{
 background:var(--dps-button-bg,var(--dps-accent))!important;
 color:var(--dps-button-text,#111)!important;
 -webkit-text-fill-color:var(--dps-button-text,#111)!important;
}
.dps-language-toggle:hover .is-active{background:var(--dps-button-hover-bg,var(--dps-accent-dark))!important;color:var(--dps-button-hover-text,#111)!important}
.dps-dark-toggle{
 background:color-mix(in srgb,var(--dps-header-text) 9%,var(--dps-header-bg))!important;
 color:var(--dps-header-text)!important;
 border:1px solid color-mix(in srgb,var(--dps-header-text) 10%,transparent)!important;
}
.dps-menu-toggle{border-color:var(--dps-accent)!important}.dps-menu-toggle span{background:var(--dps-header-text)!important}
html.dps-dark-mode .dps-header-cta{background:var(--dps-dark-button-bg,var(--dps-accent))!important;color:var(--dps-dark-button-text,#111)!important;-webkit-text-fill-color:var(--dps-dark-button-text,#111)!important}
html.dps-dark-mode .dps-header-cta:hover{background:var(--dps-dark-button-hover-bg,var(--dps-accent-dark))!important;color:var(--dps-dark-button-hover-text,#111)!important;-webkit-text-fill-color:var(--dps-dark-button-hover-text,#111)!important}
html.dps-dark-mode .dps-language-toggle .is-active{background:var(--dps-dark-button-bg,var(--dps-accent))!important;color:var(--dps-dark-button-text,#111)!important;-webkit-text-fill-color:var(--dps-dark-button-text,#111)!important}
html.dps-dark-mode .dps-language-toggle span:not(.is-active){color:var(--dps-header-dark-text)!important}

/* Dateck Property Footer */
body.dps-footer-replace-theme footer#footer,body.dps-footer-replace-theme #footer,body.dps-footer-replace-theme .site-footer:not(.dps-site-footer),body.dps-footer-replace-theme footer.site-footer:not(.dps-site-footer),body.dps-footer-replace-theme .footer-widgets,body.dps-footer-replace-theme .ast-footer-wrap,body.dps-footer-replace-theme .kadence-footer-wrap{display:none!important}
body.dps-footer-replace-copyright #copyright,body.dps-footer-replace-copyright .site-info,body.dps-footer-replace-copyright .footer-bottom,body.dps-footer-replace-copyright .ast-footer-copyright,body.dps-footer-replace-copyright .site-footer-bottom-section-1{display:none!important}
.dps-site-footer{margin:0;background:var(--dps-footer-bg);color:var(--dps-footer-text);font-family:inherit}
.dps-site-footer__inner{max-width:var(--dps-container);margin:0 auto;padding:66px 20px 22px}
.dps-site-footer.is-full-width{width:100%}
.dps-site-footer__grid{display:grid;grid-template-columns:1.35fr 1fr .9fr 1.1fr;gap:46px;padding-bottom:44px}
.dps-site-footer h2,.dps-site-footer h3{color:var(--dps-footer-heading);margin-top:0}
.dps-site-footer h3{font-size:16px;margin-bottom:18px}
.dps-site-footer p{color:var(--dps-footer-text);line-height:1.65;margin:0 0 12px}
.dps-site-footer a{color:var(--dps-footer-link)!important;text-decoration:none}
.dps-site-footer a:hover{color:var(--dps-footer-link-hover)!important}
.dps-site-footer__brand img{display:block;max-width:235px;max-height:76px;width:auto;margin-bottom:20px}
.dps-footer-logo-dark{display:none!important}
.dps-site-footer__brand p{max-width:360px;color:var(--dps-footer-muted)}
.dps-footer-line,.dps-footer-line a{display:flex!important;align-items:flex-start;gap:10px}
.dps-footer-line svg,.dps-footer-social svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:var(--dps-footer-link-hover);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dps-footer-menu{list-style:none;margin:0;padding:0}.dps-footer-menu li{margin:0 0 10px}.dps-footer-menu a{display:inline-block}
.dps-footer-cta{padding:24px;border:1px solid var(--dps-footer-border);border-radius:var(--dps-radius);background:color-mix(in srgb,var(--dps-footer-text) 4%,transparent)}
.dps-footer-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:0 18px;border-radius:var(--dps-button-radius);background:var(--dps-button-bg)!important;color:var(--dps-button-text)!important;font-weight:750}
.dps-footer-button:hover{background:var(--dps-button-hover-bg)!important;color:var(--dps-button-hover-text)!important}
.dps-footer-social{display:flex;align-items:center;gap:10px;margin-top:20px}.dps-footer-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--dps-footer-border);border-radius:50%}
.dps-site-footer__bottom{display:flex;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--dps-footer-border);color:var(--dps-footer-muted);font-size:12px}
.dps-site-footer__bottom a{color:var(--dps-footer-muted)!important}
html.dps-dark-mode .dps-site-footer{--dps-footer-bg:var(--dps-footer-dark-bg);--dps-footer-text:var(--dps-footer-dark-text);--dps-footer-heading:var(--dps-footer-dark-heading);--dps-footer-link:var(--dps-footer-dark-link);--dps-footer-link-hover:var(--dps-footer-dark-link-hover);--dps-footer-border:var(--dps-footer-dark-border);--dps-footer-muted:var(--dps-footer-dark-muted)}
html.dps-dark-mode .dps-footer-logo-light{display:none!important}
html.dps-dark-mode .dps-footer-logo-dark{display:block!important}
html.dps-dark-mode .dps-footer-button{background:var(--dps-dark-button-bg)!important;color:var(--dps-dark-button-text)!important}
html.dps-dark-mode .dps-footer-button:hover{background:var(--dps-dark-button-hover-bg)!important;color:var(--dps-dark-button-hover-text)!important}
@media(max-width:980px){.dps-site-footer__grid{grid-template-columns:1fr 1fr}.dps-site-footer__brand{grid-column:1/-1}.dps-site-footer__brand p{max-width:none}}
@media(max-width:620px){.dps-site-footer__inner{padding-top:46px}.dps-site-footer__grid{grid-template-columns:1fr;gap:32px}.dps-site-footer__brand{grid-column:auto}.dps-site-footer__bottom{flex-direction:column;gap:8px}}


/* Property Header Layout Fix 0.5.1 */

/* Anchor links (#...) must never look active just because WordPress marks the page current. */
.dps-site-nav > ul > li.current-menu-item > a[href*="#"]:after,
.dps-site-nav > ul > li.current-menu-parent > a[href*="#"]:after,
.dps-site-nav > ul > li.current_page_item > a[href*="#"]:after{
    left:50%!important;
    right:50%!important;
}
.dps-site-nav > ul > li.current-menu-item > a[href*="#"],
.dps-site-nav > ul > li.current-menu-parent > a[href*="#"],
.dps-site-nav > ul > li.current_page_item > a[href*="#"]{
    color:inherit!important;
}
.dps-site-nav > ul > li > a[href*="#"]:hover:after{
    left:0!important;
    right:0!important;
}
.dps-site-nav > ul > li > a[href*="#"]:hover{
    color:var(--dps-menu-hover)!important;
}

/* Leading hamburger exists before the logo. Trailing hamburger is only the mobile fallback for normal navigation. */
.dps-menu-toggle--leading{display:none}
.dps-menu-toggle--trailing{display:none}

/* Desktop hamburger mode: hamburger -> logo -> flexible space -> controls. */
.dps-menu-mode-hamburger .dps-menu-toggle--leading{
    display:block;
    flex:0 0 46px;
    order:0;
}
.dps-menu-mode-hamburger .dps-site-logo{
    order:1;
}
.dps-menu-mode-hamburger .dps-site-nav{
    display:none!important;
}
.dps-menu-mode-hamburger .dps-site-actions{
    order:3;
    margin-left:auto;
}
.dps-menu-mode-hamburger .dps-menu-toggle--trailing{
    display:none!important;
}

/* Normal navigation remains logo -> menu -> controls. */
.dps-menu-mode-normal .dps-site-logo{order:0}
.dps-menu-mode-normal .dps-site-nav{order:1}
.dps-menu-mode-normal .dps-site-actions{order:2}

/* Full-width behaves like the Unterkunft Suite: content really spans the viewport,
   with generous but fixed side padding instead of a centered pseudo-container. */
.dps-site-header__inner.is-full{
    width:100%;
    max-width:none!important;
    padding-left:48px!important;
    padding-right:48px!important;
}
.dps-menu-mode-hamburger .dps-site-header__inner.is-full{
    gap:24px;
}

/* In hamburger mode the normal action block remains on the right exactly as in normal navigation. */
.dps-menu-mode-hamburger .dps-site-actions .dps-language-toggle,
.dps-menu-mode-hamburger .dps-site-actions .dps-dark-toggle,
.dps-menu-mode-hamburger .dps-site-actions .dps-header-cta{
    display:inline-flex;
}

/* Mobile: hamburger is still always left of the logo.
   Normal-menu mode also switches to that same leading hamburger pattern. */
@media(max-width:960px){
    .dps-site-header__inner,
    .dps-site-header__inner.is-full{
        padding-left:20px!important;
        padding-right:20px!important;
    }
    .dps-menu-mode-normal .dps-menu-toggle--leading{
        display:block;
        flex:0 0 46px;
        order:0;
    }
    .dps-menu-mode-normal .dps-site-logo{
        order:1;
    }
    .dps-menu-mode-normal .dps-site-actions{
        order:3;
        margin-left:auto;
    }
    .dps-menu-mode-normal .dps-menu-toggle--trailing{
        display:none!important;
    }

    .dps-menu-mode-hamburger .dps-menu-toggle--leading{
        display:block;
        order:0;
    }
    .dps-menu-mode-hamburger .dps-site-logo{
        order:1;
    }
    .dps-menu-mode-hamburger .dps-site-actions{
        order:3;
        margin-left:auto;
    }

    /* Preserve the existing mobile decision for the big CTA. */
    .dps-site-actions .dps-header-cta{
        display:none!important;
    }
}


/* Footer design inheritance fix 0.5.2 */
.dps-site-footer{
  background:var(--dps-footer-bg)!important;
  color:var(--dps-footer-text)!important;
}
.dps-site-footer h1,.dps-site-footer h2,.dps-site-footer h3{
  color:var(--dps-footer-heading)!important;
}
.dps-site-footer p,.dps-site-footer li,.dps-site-footer span{
  color:inherit;
}
.dps-site-footer a:not(.dps-footer-button){
  color:var(--dps-footer-link)!important;
}
.dps-site-footer a:not(.dps-footer-button):hover,
.dps-site-footer a:not(.dps-footer-button):focus-visible{
  color:var(--dps-footer-link-hover)!important;
}
.dps-site-footer__brand p{
  color:var(--dps-footer-muted)!important;
}
.dps-site-footer__bottom,
.dps-site-footer__bottom span,
.dps-site-footer__bottom a{
  color:var(--dps-footer-muted)!important;
}
html.dps-dark-mode .dps-site-footer[data-has-dark-logo="1"] .dps-footer-logo-light{display:none!important}
html.dps-dark-mode .dps-site-footer[data-has-dark-logo="1"] .dps-footer-logo-dark{display:block!important}
html.dps-dark-mode .dps-site-footer[data-has-dark-logo="0"] .dps-footer-logo-light{display:block!important}
html.dps-dark-mode .dps-site-footer[data-has-dark-logo="0"] .dps-footer-logo-dark{display:none!important}


/* Footer icon + CTA specificity fix 0.5.3 */
.dps-site-footer .dps-footer-line svg{
  stroke:var(--dps-footer-text)!important;
}
.dps-site-footer .dps-footer-social svg{
  stroke:var(--dps-footer-text)!important;
}
.dps-site-footer .dps-footer-social a{
  border-color:color-mix(in srgb,var(--dps-footer-text) 30%,transparent)!important;
  color:var(--dps-footer-text)!important;
  transition:background .2s,border-color .2s,color .2s;
}
.dps-site-footer .dps-footer-social a:hover,
.dps-site-footer .dps-footer-social a:focus-visible{
  border-color:var(--dps-footer-link-hover)!important;
  background:color-mix(in srgb,var(--dps-footer-link-hover) 14%,transparent)!important;
}
.dps-site-footer .dps-footer-social a:hover svg,
.dps-site-footer .dps-footer-social a:focus-visible svg,
.dps-site-footer .dps-footer-line a:hover svg,
.dps-site-footer .dps-footer-line a:focus-visible svg{
  stroke:var(--dps-footer-link-hover)!important;
}
/* Higher specificity than the generic footer link rule. */
.dps-site-footer a.dps-footer-button,
.dps-site-footer a.dps-footer-button:visited{
  background:var(--dps-button-bg)!important;
  color:var(--dps-button-text)!important;
}
.dps-site-footer a.dps-footer-button:hover,
.dps-site-footer a.dps-footer-button:focus-visible{
  background:var(--dps-button-hover-bg)!important;
  color:var(--dps-button-hover-text)!important;
}
html.dps-dark-mode .dps-site-footer a.dps-footer-button,
html.dps-dark-mode .dps-site-footer a.dps-footer-button:visited{
  background:var(--dps-dark-button-bg)!important;
  color:var(--dps-dark-button-text)!important;
}
html.dps-dark-mode .dps-site-footer a.dps-footer-button:hover,
html.dps-dark-mode .dps-site-footer a.dps-footer-button:focus-visible{
  background:var(--dps-dark-button-hover-bg)!important;
  color:var(--dps-dark-button-hover-text)!important;
}


/* Footer link hover contrast fix 0.5.4
   Normal links stay white; hover becomes a clearly visible light accent on dark footer surfaces. */
.dps-site-footer{
  --dps-footer-readable-hover: color-mix(in srgb, var(--dps-footer-text) 68%, var(--dps-accent) 32%);
}
.dps-site-footer a:not(.dps-footer-button):hover,
.dps-site-footer a:not(.dps-footer-button):focus-visible,
.dps-site-footer .dps-footer-contact a:hover,
.dps-site-footer .dps-footer-contact a:focus-visible{
  color:var(--dps-footer-readable-hover)!important;
}
.dps-site-footer .dps-footer-contact a:hover svg,
.dps-site-footer .dps-footer-contact a:focus-visible svg{
  color:var(--dps-footer-readable-hover)!important;
  stroke:currentColor!important;
}


/* Footer icon hover follows readable footer link hover 0.5.5 */
.dps-site-footer .dps-footer-contact a:hover svg,
.dps-site-footer .dps-footer-contact a:focus-visible svg,
.dps-site-footer .dps-footer-social a:hover,
.dps-site-footer .dps-footer-social a:focus-visible,
.dps-site-footer .dps-footer-social a:hover svg,
.dps-site-footer .dps-footer-social a:focus-visible svg{
  color:var(--dps-footer-readable-hover)!important;
  stroke:currentColor!important;
}
.dps-site-footer .dps-footer-social a:hover svg *,
.dps-site-footer .dps-footer-social a:focus-visible svg *,
.dps-site-footer .dps-footer-contact a:hover svg *,
.dps-site-footer .dps-footer-contact a:focus-visible svg *{
  stroke:currentColor!important;
}


/* =========================================================
 * 0.5.6 – Header controls 1:1 from Dateck Unterkunft Suite
 * ======================================================= */
.dps-topbar a{font-size:var(--dps-topbar-font-size,13px)!important}
.dps-topbar svg{width:var(--dps-topbar-icon-size,18px)!important;height:var(--dps-topbar-icon-size,18px)!important}
.dps-topbar__social svg{width:var(--dps-topbar-icon-size,18px)!important;height:var(--dps-topbar-icon-size,18px)!important}

/* Language control – canonical Unterkunft implementation. */
.dps-site-language{
  display:flex;
  align-items:center;
  height:44px;
  border-radius:999px;
  background:color-mix(in srgb,var(--dps-header-text) 7%,var(--dps-header-bg));
  padding:4px;
  box-sizing:border-box;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.025);
}
.dps-site-language button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  color:var(--dps-header-text)!important;
  border-radius:999px!important;
  padding:0 13px!important;
  min-width:38px!important;
  height:36px!important;
  min-height:36px!important;
  line-height:1!important;
  font-size:13px!important;
  font-weight:800!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
  box-shadow:none!important;
  cursor:pointer;
}
.dps-site-language button:hover{
  color:var(--dps-button-bg,var(--dps-accent))!important;
}
.dps-site-language button.is-active{
  background:var(--dps-button-bg,var(--dps-accent))!important;
  color:var(--dps-button-text,#fff)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
}

/* Dark-mode control – canonical Unterkunft implementation. */
.dps-site-header .dps-darkmode-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--dps-header-text) 7%,var(--dps-header-bg))!important;
  color:var(--dps-header-text)!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.025)!important;
  line-height:1!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
  cursor:pointer;
}
.dps-site-header .dps-darkmode-toggle:hover{transform:translateY(-1px)}
.dps-site-header .dps-darkmode-toggle svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.dps-site-header .dps-icon-sun{display:none}
html.dps-dark-mode .dps-site-header .dps-icon-moon{display:none}
html.dps-dark-mode .dps-site-header .dps-icon-sun{display:inline-flex}
html.dps-dark-mode .dps-site-language{
  background:color-mix(in srgb,var(--dps-dark-text) 12%,var(--dps-dark-card))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;
}
html.dps-dark-mode .dps-site-language button:not(.is-active){
  color:var(--dps-dark-text,#f5f5f5)!important;
}
html.dps-dark-mode .dps-site-language button.is-active{
  background:var(--dps-dark-button-bg,var(--dps-accent))!important;
  color:var(--dps-dark-button-text,#111)!important;
}
html.dps-dark-mode .dps-site-header .dps-darkmode-toggle{
  background:color-mix(in srgb,var(--dps-dark-text) 12%,var(--dps-dark-card))!important;
  color:var(--dps-dark-text)!important;
}

/* Hide obsolete Property control styles if old cached markup is ever present. */
.dps-language-toggle,.dps-dark-toggle{display:none!important}

@media(max-width:650px){
  .dps-site-header .dps-darkmode-toggle{
    flex-basis:36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  .dps-site-language{height:42px;padding:4px}
  .dps-site-language button{
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 9px!important;
    font-size:12px!important;
  }
}


/* 0.6.0 – Language module copied from Dateck Unterkunft Suite */
.dps-language-loading-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:rgba(8,13,24,.52);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.dps-language-loading-overlay.is-visible{opacity:1;visibility:visible;pointer-events:all}
.dps-language-loading-overlay__card{display:flex;align-items:center;gap:13px;min-width:260px;max-width:calc(100vw - 40px);padding:18px 22px;border:1px solid rgba(255,255,255,.6);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(0,0,0,.24);color:#172033;font-size:15px;text-align:left}
.dps-language-loading-overlay__globe{font-size:24px;line-height:1}
.dps-language-loading-overlay__spinner{width:22px;height:22px;border:3px solid rgba(23,32,51,.16);border-top-color:var(--dps-accent,#2f80ed);border-radius:50%;animation:dps-language-spin .75s linear infinite}
.dps-language-loading-overlay__card strong{font:inherit;font-weight:800}
html.dps-dark-mode .dps-language-loading-overlay__card{border-color:rgba(255,255,255,.16);background:rgba(24,29,39,.94);color:#fff}
@keyframes dps-language-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.dps-language-loading-overlay__card{min-width:0;width:100%;justify-content:center;padding:16px 18px;border-radius:17px}}
.dps-site-language--dynamic.is-language-pending{opacity:.55;pointer-events:none}
.dps-site-language--dynamic{transition:opacity .18s ease}
.dps-gtranslate-bridge{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* =========================================================
 * 0.7.0 – Property Website Studio / Startseite
 * canonical Unterkunft container behavior
 * ======================================================= */
.dps-property-homepage{width:100%;overflow:clip;background:var(--dps-bg)}
.dps-property-homepage *{box-sizing:border-box}
.dps-home-container{position:relative;z-index:2;width:100%;max-width:var(--dps-container);margin:0 auto;padding-left:20px;padding-right:20px}
.dps-home-full-section{position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);padding-top:var(--dps-home-pt);padding-bottom:var(--dps-home-pb);background:var(--dps-home-bg);color:var(--dps-home-text);font-size:var(--dps-home-body-desktop)}
html.dps-dark-mode .dps-home-full-section{background:var(--dps-home-dark-bg);color:var(--dps-home-dark-text)}
.dps-home-full-section h2,.dps-home-full-section h3{color:inherit}
.dps-home-section__head{max-width:760px;margin:0 0 34px}.dps-home-section__head.is-center{margin-left:auto;margin-right:auto;text-align:center}.dps-home-section__head h2{margin:7px 0 10px;font-size:var(--dps-home-h-desktop);line-height:1.08}.dps-home-section__head p{margin:0;opacity:.78;line-height:1.65}
.dps-home-kicker{display:block;color:var(--dps-accent);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.dps-home-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}.dps-home-actions a,.dps-home-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border:1px solid currentColor;border-radius:var(--dps-button-radius);color:inherit!important;text-decoration:none;font-weight:800}.dps-home-actions a.is-primary,.dps-home-button{border-color:var(--dps-button-bg);background:var(--dps-button-bg);color:var(--dps-button-text)!important}.dps-home-actions a.is-primary:hover,.dps-home-button:hover{border-color:var(--dps-button-hover-bg);background:var(--dps-button-hover-bg);color:var(--dps-button-hover-text)!important}
html.dps-dark-mode .dps-home-actions a.is-primary,html.dps-dark-mode .dps-home-button{border-color:var(--dps-dark-button-bg);background:var(--dps-dark-button-bg);color:var(--dps-dark-button-text)!important}

/* Hero is always fully full-width. Only its text sits in the global container. */
.dps-property-hero{position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);min-height:max(var(--dps-hero-min),var(--dps-hero-desktop));display:flex;background:var(--dps-primary);background-image:linear-gradient(rgba(0,0,0,var(--dps-hero-overlay)),rgba(0,0,0,var(--dps-hero-overlay))),var(--dps-hero-image);background-size:cover;background-position:var(--dps-hero-position);color:#fff}
.dps-property-hero__inner{width:100%;max-width:var(--dps-container);margin:0 auto;padding:60px 20px;display:flex}
.dps-property-hero.is-pos-top .dps-property-hero__inner{align-items:flex-start}.dps-property-hero.is-pos-center .dps-property-hero__inner{align-items:center}.dps-property-hero.is-pos-bottom .dps-property-hero__inner{align-items:flex-end}
.dps-property-hero__copy{max-width:760px}.dps-property-hero.has-text-glass.is-align-center .dps-property-hero__copy{margin:auto;text-align:center}.dps-property-hero.has-text-glass.is-align-right .dps-property-hero__copy{margin-left:auto;text-align:right}
.dps-property-hero .dps-home-kicker{color:var(--dps-hero-eyebrow)}.dps-property-hero h1{margin:8px 0 14px;color:var(--dps-hero-heading);font-size:var(--dps-home-h-desktop);line-height:1.03}.dps-property-hero p{max-width:680px;margin:0;color:var(--dps-hero-body);font-size:var(--dps-home-body-desktop);line-height:1.65}.dps-property-hero.is-align-center p{margin-left:auto;margin-right:auto}.dps-property-hero.is-align-right p{margin-left:auto}

/* Search */
.dps-home-search .dpm-search{position:relative;z-index:4;max-width:1180px;margin:0 auto;border:1px solid color-mix(in srgb,currentColor 10%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.09)}
.dps-home-search .dpm-search__submit{background:var(--dps-button-bg);color:var(--dps-button-text)}

/* Properties */
.dps-home-properties-grid{display:grid;grid-template-columns:repeat(var(--dps-property-cols),minmax(0,1fr));gap:24px}
.dps-home-property-card{position:relative;overflow:hidden;border-radius:var(--dps-radius);background:var(--dps-card);color:var(--dps-text);box-shadow:0 10px 32px rgba(15,23,42,.08);transition:transform .2s ease,box-shadow .2s ease}
.dps-home-property-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(15,23,42,.14)}
.dps-home-property-card__image{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#e8ebef}.dps-home-property-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.dps-home-property-card:hover img{transform:scale(1.035)}
.dps-home-property-card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#e8ebef,#f8fafc)}
.dps-home-property-card__market{position:absolute;top:14px;left:14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#111;font-size:11px;font-weight:850}
.dps-home-property-card__body{padding:20px}.dps-home-property-card h3{margin:0 0 7px;font-size:20px}.dps-home-property-card h3 a{color:inherit!important;text-decoration:none}.dps-home-property-card__location{margin:0 0 12px;opacity:.65}.dps-home-property-card__facts{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 15px;font-size:13px;opacity:.78}.dps-home-property-card__price{font-size:17px}
html.dps-dark-mode .dps-home-property-card{background:var(--dps-dark-card);color:var(--dps-dark-text)}
.dps-home-more{text-align:center;margin-top:34px}

/* About */
.dps-home-about__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px}.dps-home-about__image img{display:block;width:100%;max-height:580px;object-fit:cover;border-radius:var(--dps-radius)}.dps-home-about__copy h2,.dps-home-cta h2{margin:8px 0 16px;font-size:var(--dps-home-h-desktop);line-height:1.08}.dps-home-richtext{line-height:1.75}.dps-home-link{display:inline-flex;gap:10px;margin-top:20px;color:inherit!important;font-weight:800;text-decoration:none}.dps-home-link:hover{color:var(--dps-accent)!important}

/* CTA */
.dps-home-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.dps-home-cta__inner>div:first-child{max-width:760px}.dps-home-cta__inner p{margin:0;opacity:.78;line-height:1.65}

/* Generic empty state */
.dps-home-empty{padding:24px;border:1px dashed color-mix(in srgb,currentColor 25%,transparent);border-radius:var(--dps-radius);text-align:center}.dps-home-empty p{margin-bottom:0}

/* Decorative accents, same conceptual system as Unterkunft Suite. */
.dps-home-full-section:before,.dps-home-full-section:after{content:"";position:absolute;pointer-events:none;z-index:1;opacity:0}
.dps-home-full-section[data-dps-accent="circles"]:before{width:340px;height:340px;border-radius:50%;background:var(--dps-home-accent);opacity:var(--dps-home-accent-opacity);top:-120px;right:-100px}
.dps-home-full-section[data-dps-accent="glow"]:before{width:460px;height:460px;border-radius:50%;background:var(--dps-home-accent);filter:blur(110px);opacity:var(--dps-home-accent-opacity);top:-150px;right:-100px}
.dps-home-full-section[data-dps-accent="dots"]:before{inset:0;background-image:radial-gradient(var(--dps-home-accent) 1px,transparent 1px);background-size:22px 22px;opacity:var(--dps-home-accent-opacity)}
.dps-home-full-section[data-dps-accent="lines"]:before{inset:0;background-image:linear-gradient(var(--dps-home-accent) 1px,transparent 1px),linear-gradient(90deg,var(--dps-home-accent) 1px,transparent 1px);background-size:38px 38px;opacity:var(--dps-home-accent-opacity)}
.dps-home-full-section[data-dps-accent="diagonal"]:before{width:45%;height:100%;right:-10%;top:0;background:var(--dps-home-accent);transform:skewX(-16deg);opacity:var(--dps-home-accent-opacity)}
html.dps-dark-mode .dps-home-full-section:before,html.dps-dark-mode .dps-home-full-section:after{--dps-home-accent:var(--dps-home-accent-dark);opacity:var(--dps-home-accent-dark-opacity)}
.dps-home-full-section[data-dps-transition="shadow-soft"]{box-shadow:0 14px 30px rgba(0,0,0,.06)}
.dps-home-full-section[data-dps-transition="shadow-medium"]{box-shadow:0 18px 42px rgba(0,0,0,.11)}
.dps-home-full-section[data-dps-transition="shadow-strong"]{box-shadow:0 22px 58px rgba(0,0,0,.18)}
.dps-home-full-section[data-dps-transition="light-edge"]{border-bottom:1px solid rgba(255,255,255,.28)}
.dps-home-full-section[data-dps-transition="glow-soft"]{box-shadow:0 18px 60px color-mix(in srgb,var(--dps-accent) 18%,transparent)}

@media(max-width:1024px){
 .dps-property-hero{min-height:max(var(--dps-hero-min),var(--dps-hero-tablet))}
 .dps-home-full-section{font-size:var(--dps-home-body-tablet)}.dps-home-section__head h2,.dps-home-about__copy h2,.dps-home-cta h2,.dps-property-hero h1{font-size:var(--dps-home-h-tablet)}
 .dps-home-properties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dps-home-about__grid{gap:36px}
}
@media(max-width:700px){
 .dps-property-hero{min-height:max(var(--dps-hero-min),var(--dps-hero-mobile))}
 .dps-property-hero__inner{padding:45px 20px}
 .dps-home-full-section{font-size:var(--dps-home-body-mobile)}.dps-home-section__head h2,.dps-home-about__copy h2,.dps-home-cta h2,.dps-property-hero h1{font-size:var(--dps-home-h-mobile)}
 .dps-home-properties-grid{grid-template-columns:1fr}
 .dps-home-about__grid{grid-template-columns:1fr}.dps-home-about__grid.is-image-left .dps-home-about__image{order:0}.dps-home-about__grid.is-image-left .dps-home-about__copy{order:1}
 .dps-home-cta__inner{display:block}.dps-home-cta__inner .dps-home-actions{margin-top:24px}
}

/* 0.7.1 – Immobiliensuche wie Unterkunft Suite: halb über dem Hero */
.dps-hero-search-wrap{position:relative;z-index:20;width:100%;margin-top:-58px;margin-bottom:-4px}.dps-hero-search-wrap .dps-home-container{max-width:var(--dps-container)}.dps-hero-search-wrap .dpm-search{margin:0;border-radius:18px;background:var(--dps-card);box-shadow:0 20px 55px rgba(15,23,42,.14);border:1px solid color-mix(in srgb,var(--dps-text) 10%,transparent);padding:22px}.dps-hero-search-wrap .dpm-search__row{align-items:stretch}.dps-hero-search-wrap .dpm-search input,.dps-hero-search-wrap .dpm-search select{min-height:52px;border-radius:12px}.dps-hero-search-wrap .dpm-search__submit{min-height:52px;border-radius:12px;background:var(--dps-button-bg)!important;color:var(--dps-button-text)!important}.dps-hero-search-wrap .dpm-search__submit:hover{background:var(--dps-button-hover-bg)!important;color:var(--dps-button-hover-text)!important}html.dps-dark-mode .dps-hero-search-wrap .dpm-search{background:var(--dps-dark-card);color:var(--dps-dark-text);border-color:color-mix(in srgb,var(--dps-dark-text) 14%,transparent)}html.dps-dark-mode .dps-hero-search-wrap .dpm-search input,html.dps-dark-mode .dps-hero-search-wrap .dpm-search select{background:color-mix(in srgb,var(--dps-dark-card) 88%,#fff 12%);color:var(--dps-dark-text);border-color:color-mix(in srgb,var(--dps-dark-text) 16%,transparent)}@media(max-width:900px){.dps-hero-search-wrap{margin-top:-42px}.dps-hero-search-wrap .dpm-search{padding:16px}}@media(max-width:640px){.dps-hero-search-wrap{margin-top:-28px}.dps-hero-search-wrap .dpm-search{border-radius:15px}}


/* 0.7.2 – Hero-Suche korrekt direkt am Hero + Builder-Typografie verbindlich */
.dps-property-homepage .dps-property-hero h1{
  font-size:var(--dps-home-h-desktop)!important;
  line-height:1.03!important;
}
.dps-property-homepage .dps-property-hero p{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-hero-search-mounted{
  position:relative;
  z-index:30;
  width:100%;
  max-width:none;
  height:0;
  transform:translateY(-50%);
  margin:0;
}
.dps-hero-search-mounted .dps-home-container{
  max-width:var(--dps-container);
}
.dps-hero-search-mounted .dpm-search{
  margin:0;
  padding:22px;
  border:1px solid color-mix(in srgb,var(--dps-text) 10%,transparent);
  border-radius:18px;
  background:var(--dps-card);
  box-shadow:0 20px 55px rgba(15,23,42,.14);
}
.dps-hero-search-mounted + .dps-home-full-section{
  padding-top:calc(var(--dps-home-pt) + 58px);
}
html.dps-dark-mode .dps-hero-search-mounted .dpm-search{
  background:var(--dps-dark-card);
  color:var(--dps-dark-text);
  border-color:color-mix(in srgb,var(--dps-dark-text) 14%,transparent);
}
.dps-hero-search-mounted .dpm-search input,
.dps-hero-search-mounted .dpm-search select{
  min-height:52px;
  border-radius:12px;
}
.dps-hero-search-mounted .dpm-search__submit{
  min-height:52px;
  border-radius:12px;
  background:var(--dps-button-bg)!important;
  color:var(--dps-button-text)!important;
}
.dps-hero-search-mounted .dpm-search__submit:hover{
  background:var(--dps-button-hover-bg)!important;
  color:var(--dps-button-hover-text)!important;
}
@media(max-width:1024px){
  .dps-property-homepage .dps-property-hero h1{font-size:var(--dps-home-h-tablet)!important}
  .dps-property-homepage .dps-property-hero p{font-size:var(--dps-home-body-tablet)!important}
}
@media(max-width:700px){
  .dps-property-homepage .dps-property-hero h1{font-size:var(--dps-home-h-mobile)!important}
  .dps-property-homepage .dps-property-hero p{font-size:var(--dps-home-body-mobile)!important}
  .dps-hero-search-mounted{
    height:auto;
    transform:none;
    margin:-28px 14px 0;
    width:auto;
  }
  .dps-hero-search-mounted + .dps-home-full-section{
    padding-top:48px;
  }
  .dps-hero-search-mounted .dpm-search{padding:16px;border-radius:15px}
}


/* 0.7.3 – Hero-Suche 1:1 nach finaler Dateck Unterkunft Suite Positionierung */
.dps-hero-search-mounted{
  position:relative!important;
  z-index:30!important;
  height:auto!important;
  margin:-72px auto -72px!important;
  padding:0!important;
  background:transparent!important;
  transform:none!important;
  overflow:visible!important;
}
.dps-hero-search-mounted + .dps-home-full-section,
.dps-hero-search-mounted + section{
  padding-top:90px!important;
}
@media(max-width:782px){
  .dps-hero-search-mounted{
    height:auto!important;
    margin:-54px 14px -54px!important;
    transform:none!important;
  }
  .dps-hero-search-mounted + .dps-home-full-section,
  .dps-hero-search-mounted + section{
    padding-top:72px!important;
  }
}

/* 0.7.4 – Property cards + vollständige Section-Akzente */
.dps-home-full-section[data-dps-accent="waves"]:before{width:700px;height:300px;right:-120px;top:-85px;border:2px solid var(--dps-home-accent);border-radius:50%;box-shadow:0 38px 0 var(--dps-home-accent),0 76px 0 var(--dps-home-accent),0 114px 0 var(--dps-home-accent);transform:rotate(-9deg);opacity:var(--dps-home-accent-opacity)}
.dps-home-full-section[data-dps-accent="noise"]:before{inset:0;background-image:radial-gradient(circle at 18% 24%,var(--dps-home-accent) 0 .7px,transparent .9px),radial-gradient(circle at 72% 66%,var(--dps-home-accent) 0 .65px,transparent .85px),radial-gradient(circle at 43% 82%,var(--dps-home-accent) 0 .55px,transparent .75px);background-size:11px 11px,13px 13px,17px 17px;opacity:calc(var(--dps-home-accent-opacity) * .55)}
.dps-home-full-section[data-dps-accent="glass"]:before{width:360px;height:210px;right:-70px;top:-55px;border-radius:54px;background:linear-gradient(135deg,var(--dps-home-accent),transparent 72%);border:1px solid var(--dps-home-accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 28px 70px rgba(0,0,0,.08);transform:rotate(-9deg);opacity:var(--dps-home-accent-opacity)}
.dps-home-full-section[data-dps-accent="glass"]:after{content:"";position:absolute;width:210px;height:210px;left:-72px;bottom:-82px;border-radius:50%;border:28px solid var(--dps-home-accent);box-shadow:0 24px 65px rgba(0,0,0,.06);opacity:var(--dps-home-accent-opacity);pointer-events:none}
.dps-home-full-section[data-dps-accent-position="top-left"]:before{left:-70px;right:auto}.dps-home-full-section[data-dps-accent-position="bottom"]:before{top:auto;bottom:-70px}.dps-home-full-section[data-dps-accent-position="both"]:after{display:block}
html.dps-dark-mode .dps-home-full-section[data-dps-accent="glass"]:before,html.dps-dark-mode .dps-home-full-section[data-dps-accent="glass"]:after{opacity:var(--dps-home-accent-dark-opacity)}

/* Kartenstile: alle Farben/Radien bleiben am zentralen Design-System */
.dps-home-properties-grid.is-card-classic .dps-home-property-card{border:1px solid color-mix(in srgb,var(--dps-text) 12%,transparent);box-shadow:none}.dps-home-properties-grid.is-card-classic .dps-home-property-card__body{padding:24px}.dps-home-properties-grid.is-card-classic .dps-home-property-card__price{display:block;padding-top:14px;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.dps-home-properties-grid.is-card-minimal .dps-home-property-card{background:transparent;box-shadow:none;border-radius:0}.dps-home-properties-grid.is-card-minimal .dps-home-property-card:hover{box-shadow:none;transform:none}.dps-home-properties-grid.is-card-minimal .dps-home-property-card__image{border-radius:var(--dps-radius)}.dps-home-properties-grid.is-card-minimal .dps-home-property-card__body{padding:16px 2px}.dps-home-properties-grid.is-card-minimal .dps-home-property-card__facts{display:none}
.dps-home-properties-grid.is-card-overlay .dps-home-property-card{min-height:430px;background:#111}.dps-home-properties-grid.is-card-overlay .dps-home-property-card__image{position:absolute;inset:0;aspect-ratio:auto}.dps-home-properties-grid.is-card-overlay .dps-home-property-card__image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 65%)}.dps-home-properties-grid.is-card-overlay .dps-home-property-card__body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:26px;color:#fff}.dps-home-properties-grid.is-card-overlay .dps-home-property-card__location{color:#fff;opacity:.8}.dps-home-properties-grid.is-card-overlay .dps-home-property-card__market{z-index:3}


/* =========================================================
 * 0.7.5 – Section accents & transitions 1:1 from Unterkunft Suite
 * ======================================================= */

/* Sections are isolated containers. Decorative layers are clipped inside each section. */
.dps-property-homepage .dps-home-full-section,
.dps-property-homepage .dps-property-hero{
  position:relative;
  isolation:isolate;
  overflow:visible;
}

/* Retire all old pseudo-element accents to prevent ghost circles / shapes. */
.dps-property-homepage .dps-home-full-section[data-dps-accent]::before,
.dps-property-homepage .dps-home-full-section[data-dps-accent]::after,
.dps-property-homepage .dps-property-hero[data-dps-accent]::before,
.dps-property-homepage .dps-property-hero[data-dps-accent]::after{
  content:none!important;
  display:none!important;
}

/* Real content stays above decorative layers. */
.dps-property-homepage .dps-home-full-section > :not(.dps-section-accent-layer):not(.dps-section-transition),
.dps-property-homepage .dps-property-hero > :not(.dps-section-accent-layer):not(.dps-section-transition){
  position:relative;
  z-index:2;
}

/* Full viewport accent layer, clipped to the current section only. */
.dps-section-accent-layer{
  position:absolute!important;
  left:50%!important;
  top:0!important;
  bottom:0!important;
  width:100vw!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  color:var(--dps-home-accent,var(--dps-accent));
  opacity:var(--dps-home-accent-opacity,.09);
}
html.dps-dark-mode .dps-section-accent-layer{
  color:var(--dps-home-accent-dark,var(--dps-home-accent,var(--dps-accent)));
  opacity:var(--dps-home-accent-dark-opacity,.05);
}
.dps-section-accent-layer::before,
.dps-section-accent-layer::after{
  content:"";
  position:absolute;
  pointer-events:none;
  color:inherit;
  box-sizing:border-box;
}

/* Circles */
.dps-home-full-section[data-dps-accent="circles"] > .dps-section-accent-layer::before{
  width:360px;height:360px;border-radius:50%;background:currentColor;top:-205px;right:-90px;
  box-shadow:-72vw 430px 0 -105px currentColor;
}
.dps-home-full-section[data-dps-accent="circles"] > .dps-section-accent-layer::after{
  width:230px;height:230px;border:52px solid currentColor;border-radius:50%;left:-95px;bottom:-145px;background:transparent;
}

/* Glow */
.dps-home-full-section[data-dps-accent="glow"] > .dps-section-accent-layer::before{
  width:620px;height:410px;border-radius:50%;background:currentColor;filter:blur(88px);top:-245px;right:-160px;
}
.dps-home-full-section[data-dps-accent="glow"] > .dps-section-accent-layer::after{
  width:430px;height:330px;border-radius:50%;background:currentColor;filter:blur(105px);left:-170px;bottom:-215px;
}

/* Dots */
.dps-home-full-section[data-dps-accent="dots"] > .dps-section-accent-layer{
  background-image:radial-gradient(currentColor 1.7px,transparent 1.8px);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
  mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
}
.dps-home-full-section[data-dps-accent="dots"] > .dps-section-accent-layer::after{
  inset:0 0 0 auto;width:44vw;
  background-image:radial-gradient(currentColor 1.4px,transparent 1.5px);
  background-size:28px 28px;
  -webkit-mask-image:linear-gradient(250deg,#000,transparent 72%);
  mask-image:linear-gradient(250deg,#000,transparent 72%);
}

/* Lines / Grid */
.dps-home-full-section[data-dps-accent="lines"] > .dps-section-accent-layer{
  background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
  mask-image:linear-gradient(110deg,#000 0%,#000 18%,transparent 72%);
}
.dps-home-full-section[data-dps-accent="lines"] > .dps-section-accent-layer::after{
  inset:0 0 0 auto;width:44vw;
  background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:linear-gradient(250deg,#000,transparent 72%);
  mask-image:linear-gradient(250deg,#000,transparent 72%);
}

/* Waves */
.dps-home-full-section[data-dps-accent="waves"] > .dps-section-accent-layer::before{
  width:700px;height:300px;right:-120px;top:-85px;border:2px solid currentColor;border-radius:50%;
  box-shadow:0 38px 0 currentColor,0 76px 0 currentColor,0 114px 0 currentColor;transform:rotate(-9deg);
}
.dps-home-full-section[data-dps-accent="waves"] > .dps-section-accent-layer::after{
  width:520px;height:220px;left:-125px;bottom:-130px;border:2px solid currentColor;border-radius:50%;
  box-shadow:0 32px 0 currentColor,0 64px 0 currentColor;transform:rotate(8deg);
}

/* Noise */
.dps-home-full-section[data-dps-accent="noise"] > .dps-section-accent-layer{
  background-image:
    radial-gradient(circle at 18% 24%,currentColor 0 0.7px,transparent 0.9px),
    radial-gradient(circle at 72% 66%,currentColor 0 0.65px,transparent 0.85px),
    radial-gradient(circle at 43% 82%,currentColor 0 0.55px,transparent 0.75px);
  background-size:11px 11px,13px 13px,17px 17px;
  opacity:calc(var(--dps-home-accent-opacity,.09) * .55);
  -webkit-mask-image:linear-gradient(100deg,transparent 0%,#000 15%,#000 85%,transparent 100%);
  mask-image:linear-gradient(100deg,transparent 0%,#000 15%,#000 85%,transparent 100%);
}
html.dps-dark-mode .dps-home-full-section[data-dps-accent="noise"] > .dps-section-accent-layer{
  opacity:calc(var(--dps-home-accent-dark-opacity,.05) * .7);
}

/* Glass Shapes */
.dps-home-full-section[data-dps-accent="glass"] > .dps-section-accent-layer::before{
  width:360px;height:210px;right:-70px;top:-55px;border-radius:54px;
  background:linear-gradient(135deg,currentColor,transparent 72%);
  border:1px solid currentColor;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 28px 70px rgba(0,0,0,.08);
  transform:rotate(-9deg);
  filter:blur(.15px);
}
.dps-home-full-section[data-dps-accent="glass"] > .dps-section-accent-layer::after{
  width:210px;height:210px;left:-72px;bottom:-82px;border-radius:50%;
  border:28px solid currentColor;background:transparent;
  box-shadow:0 24px 65px rgba(0,0,0,.06);
}

/* Diagonal planes */
.dps-home-full-section[data-dps-accent="diagonal"] > .dps-section-accent-layer::before{
  width:48vw;height:155%;right:-16vw;top:-28%;background:currentColor;
  transform:skewX(-18deg) rotate(2deg);border-radius:80px;
}
.dps-home-full-section[data-dps-accent="diagonal"] > .dps-section-accent-layer::after{
  width:24vw;height:125%;left:-14vw;bottom:-20%;border:2px solid currentColor;
  transform:skewX(16deg) rotate(-4deg);border-radius:70px;
}

/* Position selector */
.dps-home-full-section[data-dps-accent-position="top-left"] > .dps-section-accent-layer::before{left:-95px!important;right:auto!important}
.dps-home-full-section[data-dps-accent-position="top-left"] > .dps-section-accent-layer::after{display:none!important}
.dps-home-full-section[data-dps-accent-position="top-right"] > .dps-section-accent-layer::after{display:none!important}
.dps-home-full-section[data-dps-accent-position="bottom"] > .dps-section-accent-layer::before{top:auto!important;bottom:-165px!important}
.dps-home-full-section[data-dps-accent-position="bottom"] > .dps-section-accent-layer::after{display:none!important}
.dps-home-full-section[data-dps-accent-position="top-left"][data-dps-accent="glass"] > .dps-section-accent-layer::before,
.dps-home-full-section[data-dps-accent-position="top-left"][data-dps-accent="diagonal"] > .dps-section-accent-layer::before{left:-70px!important;right:auto!important}
.dps-home-full-section[data-dps-accent-position="bottom"][data-dps-accent="glass"] > .dps-section-accent-layer::before{top:auto!important;bottom:-70px!important}

/* Parent sections no longer cast their own shadows/transitions. */
.dps-property-homepage [data-dps-transition]{
  box-shadow:none!important;
}

/* Transition layer exactly at bottom edge. */
.dps-property-homepage .dps-home-full-section > .dps-section-transition,
.dps-property-homepage .dps-property-hero > .dps-section-transition{
  position:absolute!important;
  left:50%!important;
  bottom:-1px!important;
  width:100vw!important;
  height:1px!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
  z-index:4!important;
  opacity:1!important;
  background:transparent;
}

/* Classic transitions */
.dps-property-homepage [data-dps-transition="shadow-soft"] > .dps-section-transition{box-shadow:0 12px 28px 10px rgba(0,0,0,.09)!important}
.dps-property-homepage [data-dps-transition="shadow-medium"] > .dps-section-transition{box-shadow:0 18px 42px 15px rgba(0,0,0,.14)!important}
.dps-property-homepage [data-dps-transition="shadow-strong"] > .dps-section-transition{box-shadow:0 24px 58px 20px rgba(0,0,0,.20)!important}
.dps-property-homepage [data-dps-transition="fade-soft"] > .dps-section-transition{
  height:72px!important;bottom:-72px!important;box-shadow:none!important;
  background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,0))!important;
}
.dps-property-homepage [data-dps-transition="glow-soft"] > .dps-section-transition{
  height:90px!important;bottom:-45px!important;box-shadow:none!important;
  background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.16) 0%,rgba(0,0,0,.07) 38%,transparent 72%)!important;
  filter:blur(8px);
}
.dps-property-homepage [data-dps-transition="light-edge"] > .dps-section-transition{
  height:2px!important;bottom:-1px!important;
  box-shadow:0 1px 0 rgba(255,255,255,.72),0 8px 24px rgba(0,0,0,.08)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92) 18%,rgba(255,255,255,.92) 82%,transparent)!important;
}

/* Premium transition shadows – final Unterkunft 0.19.3 behavior */
.dps-property-homepage [data-dps-transition="shadow-long"] > .dps-section-transition,
.dps-property-homepage [data-dps-transition="shadow-floating"] > .dps-section-transition,
.dps-property-homepage [data-dps-transition="shadow-glass"] > .dps-section-transition{
  height:1px!important;
  bottom:-1px!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}
.dps-property-homepage [data-dps-transition="shadow-long"] > .dps-section-transition{
  box-shadow:18px 22px 42px 8px rgba(15,23,42,.18)!important;
}
.dps-property-homepage [data-dps-transition="shadow-floating"] > .dps-section-transition{
  box-shadow:0 13px 28px 8px rgba(15,23,42,.14),0 30px 58px 10px rgba(15,23,42,.12)!important;
}
.dps-property-homepage [data-dps-transition="shadow-glass"] > .dps-section-transition{
  box-shadow:0 1px 0 rgba(255,255,255,.72),0 14px 34px 10px rgba(15,23,42,.12)!important;
}
.dps-property-homepage [data-dps-transition="glow-ambient"] > .dps-section-transition{
  height:120px!important;bottom:-60px!important;
  background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dps-home-accent,var(--dps-accent)) 30%,transparent),transparent 72%)!important;
  filter:blur(10px);box-shadow:none!important;
}
.dps-property-homepage [data-dps-transition="glow-premium"] > .dps-section-transition{
  height:116px!important;bottom:-58px!important;
  background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dps-home-accent,var(--dps-accent)) 20%,transparent),transparent 66%)!important;
  box-shadow:0 18px 34px -22px rgba(15,23,42,.2),0 52px 94px -44px rgba(15,23,42,.3)!important;
  filter:blur(5px);
}

/* Dark mode transition variants */
html.dps-dark-mode .dps-property-homepage [data-dps-transition="shadow-soft"] > .dps-section-transition{box-shadow:0 12px 30px 11px rgba(0,0,0,.28)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="shadow-medium"] > .dps-section-transition{box-shadow:0 18px 46px 16px rgba(0,0,0,.38)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="shadow-strong"] > .dps-section-transition{box-shadow:0 25px 64px 22px rgba(0,0,0,.48)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="fade-soft"] > .dps-section-transition{background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,0))!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="glow-soft"] > .dps-section-transition{background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.52) 0%,rgba(0,0,0,.22) 40%,transparent 74%)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="light-edge"] > .dps-section-transition{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 18%,rgba(255,255,255,.18) 82%,transparent)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.09),0 10px 28px rgba(0,0,0,.30)!important;
}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="shadow-long"] > .dps-section-transition{box-shadow:18px 24px 48px 8px rgba(0,0,0,.52)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="shadow-floating"] > .dps-section-transition{box-shadow:0 15px 32px 8px rgba(0,0,0,.45),0 34px 66px 10px rgba(0,0,0,.38)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="shadow-glass"] > .dps-section-transition{box-shadow:0 1px 0 rgba(255,255,255,.12),0 16px 38px 10px rgba(0,0,0,.46)!important}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="glow-ambient"] > .dps-section-transition{
  background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dps-home-accent,var(--dps-accent)) 22%,transparent),transparent 74%)!important;
}
html.dps-dark-mode .dps-property-homepage [data-dps-transition="glow-premium"] > .dps-section-transition{
  background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--dps-home-accent,var(--dps-accent)) 16%,transparent),transparent 70%)!important;
  box-shadow:0 20px 42px -20px rgba(0,0,0,.62),0 58px 112px -42px rgba(0,0,0,.82)!important;
}

/* Mobile tuning copied from Unterkunft Suite */
@media(max-width:760px){
  .dps-home-full-section[data-dps-accent="circles"] > .dps-section-accent-layer::before{width:260px;height:260px;top:-155px}
  .dps-home-full-section[data-dps-accent="circles"] > .dps-section-accent-layer::after{width:170px;height:170px;border-width:38px}
  .dps-home-full-section[data-dps-accent="waves"] > .dps-section-accent-layer::before{width:460px;height:210px}
  .dps-home-full-section[data-dps-accent="waves"] > .dps-section-accent-layer::after{width:350px;height:170px}
  .dps-home-full-section[data-dps-accent="glass"] > .dps-section-accent-layer::before{width:250px;height:150px;right:-85px;top:-45px;border-radius:38px}
  .dps-home-full-section[data-dps-accent="glass"] > .dps-section-accent-layer::after{width:145px;height:145px;border-width:20px}
  .dps-home-full-section[data-dps-accent="diagonal"] > .dps-section-accent-layer::before{width:72vw;right:-34vw}
  .dps-property-homepage [data-dps-transition="shadow-strong"] > .dps-section-transition{box-shadow:0 16px 38px 12px rgba(0,0,0,.16)!important}
  .dps-property-homepage [data-dps-transition="fade-soft"] > .dps-section-transition{height:48px!important;bottom:-48px!important}
  .dps-property-homepage [data-dps-transition="glow-soft"] > .dps-section-transition{height:64px!important;bottom:-32px!important}
  .dps-property-homepage [data-dps-transition="shadow-long"] > .dps-section-transition,
  .dps-property-homepage [data-dps-transition="shadow-floating"] > .dps-section-transition,
  .dps-property-homepage [data-dps-transition="shadow-glass"] > .dps-section-transition{
    height:1px!important;bottom:-1px!important;
  }
}


/* 0.7.6 – Glass "Beide Seiten": zwei echte Glasflächen statt rechter Fläche + linker Ring */
.dps-home-full-section[data-dps-accent="glass"][data-dps-accent-position="both"] > .dps-section-accent-layer::after{
  display:block!important;
  width:300px!important;
  height:175px!important;
  left:-82px!important;
  right:auto!important;
  top:auto!important;
  bottom:-62px!important;
  border-radius:46px!important;
  border:1px solid currentColor!important;
  background:linear-gradient(315deg,currentColor,transparent 72%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 24px 65px rgba(0,0,0,.07)!important;
  transform:rotate(8deg)!important;
  filter:blur(.15px)!important;
}
@media(max-width:760px){
  .dps-home-full-section[data-dps-accent="glass"][data-dps-accent-position="both"] > .dps-section-accent-layer::after{
    width:210px!important;
    height:125px!important;
    left:-72px!important;
    bottom:-48px!important;
    border-radius:34px!important;
  }
}


/* 0.7.7 – Kleine Zeile / Eyebrow in allen Sections korrekt im Darkmode */
body.dps-dark-mode .dps-home-full-section .dps-section-kicker,
body.dps-dark-mode .dps-home-full-section .dps-section-eyebrow,
body.dps-dark-mode .dps-home-full-section .dps-kicker,
body.dps-dark-mode .dps-home-full-section .dps-eyebrow,
body.dps-dark-mode .dps-home-full-section .dps-home-section-kicker,
body.dps-dark-mode .dps-home-full-section .dps-home-section-eyebrow,
html[data-theme="dark"] .dps-home-full-section .dps-section-kicker,
html[data-theme="dark"] .dps-home-full-section .dps-section-eyebrow,
html[data-theme="dark"] .dps-home-full-section .dps-kicker,
html[data-theme="dark"] .dps-home-full-section .dps-eyebrow,
html[data-theme="dark"] .dps-home-full-section .dps-home-section-kicker,
html[data-theme="dark"] .dps-home-full-section .dps-home-section-eyebrow{
  color:var(--dps-section-kicker-dark,var(--dps-heading-dark,#f7f8fb))!important;
}

/* discovered kicker selectors */
body.dps-dark-mode .dps-home-full-section .dps-home-kicker,
html[data-theme="dark"] .dps-home-full-section .dps-home-kicker{color:var(--dps-section-kicker-dark,var(--dps-heading-dark,#f7f8fb))!important;}


/* =========================================================
 * 0.7.8 – Darkmode kicker fix + Unterkunft-style glass search
 * ======================================================= */

/* Correct dark-mode selector: dark mode lives on <html>. */
html.dps-dark-mode .dps-property-homepage .dps-home-full-section .dps-home-kicker,
html.dps-dark-mode .dps-property-homepage .dps-home-about .dps-home-kicker,
html.dps-dark-mode .dps-property-homepage .dps-home-properties .dps-home-kicker,
html.dps-dark-mode .dps-property-homepage .dps-home-gallery .dps-home-kicker,
html.dps-dark-mode .dps-property-homepage .dps-home-cta .dps-home-kicker{
  color:var(--dps-dark-heading,#f7f8fb)!important;
}

/* Hero keeps its explicitly configured eyebrow color. */
html.dps-dark-mode .dps-property-homepage .dps-property-hero .dps-home-kicker{
  color:var(--dps-hero-eyebrow,#fff)!important;
}

/* Glass search bar – adapted from the visual language of the Unterkunft weather module. */
.dps-hero-search-mounted .dpm-search{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72)!important;
  background:rgba(255,255,255,.78)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%);
  backdrop-filter:blur(22px) saturate(135%);
  box-shadow:
    0 24px 65px rgba(15,23,42,.14),
    inset 0 1px 0 rgba(255,255,255,.82)!important;
}
.dps-hero-search-mounted .dpm-search::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.26),transparent 42%),
    radial-gradient(circle at 85% 15%,rgba(255,255,255,.32),transparent 32%);
}
.dps-hero-search-mounted .dpm-search > *{
  position:relative;
  z-index:1;
}

/* Inputs inside the glass card stay slightly more solid for readability. */
.dps-hero-search-mounted .dpm-search input,
.dps-hero-search-mounted .dpm-search select{
  border:1px solid rgba(15,23,42,.12)!important;
  background:rgba(255,255,255,.84)!important;
  color:var(--dps-text,#172033)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.dps-hero-search-mounted .dpm-search input::placeholder{
  color:color-mix(in srgb,var(--dps-text,#172033) 58%,transparent)!important;
}

/* Darkmode: deep glass like Unterkunft weather. */
html.dps-dark-mode .dps-hero-search-mounted .dpm-search{
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(18,25,37,.72)!important;
  color:var(--dps-dark-text,#f4f7fb)!important;
  -webkit-backdrop-filter:blur(24px) saturate(130%);
  backdrop-filter:blur(24px) saturate(130%);
  box-shadow:
    0 28px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html.dps-dark-mode .dps-hero-search-mounted .dpm-search::before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.055),transparent 44%),
    radial-gradient(circle at 84% 16%,rgba(255,255,255,.06),transparent 34%);
}
html.dps-dark-mode .dps-hero-search-mounted .dpm-search input,
html.dps-dark-mode .dps-hero-search-mounted .dpm-search select{
  border-color:rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.075)!important;
  color:var(--dps-dark-text,#f4f7fb)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 1px 0 rgba(0,0,0,.18)!important;
}
html.dps-dark-mode .dps-hero-search-mounted .dpm-search input::placeholder{
  color:rgba(244,247,251,.62)!important;
}
html.dps-dark-mode .dps-hero-search-mounted .dpm-search select option{
  background:#172033;
  color:#fff;
}

/* CTA stays design-linked in both modes. */
html.dps-dark-mode .dps-hero-search-mounted .dpm-search__submit{
  background:var(--dps-dark-button-bg,var(--dps-accent))!important;
  color:var(--dps-dark-button-text,#111)!important;
}
html.dps-dark-mode .dps-hero-search-mounted .dpm-search__submit:hover{
  background:var(--dps-dark-button-hover-bg,var(--dps-accent-dark))!important;
  color:var(--dps-dark-button-hover-text,#111)!important;
}

@media(max-width:700px){
  .dps-hero-search-mounted .dpm-search{
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    backdrop-filter:blur(18px) saturate(125%);
  }
}
/* Property Suite 0.8.0 – About Builder */
.dps-property-aboutpage .dps-about-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:clamp(38px,6vw,90px);align-items:center}
.dps-property-aboutpage .dps-about-split.is-image-left .dps-about-split__image{order:-1}
.dps-property-aboutpage .dps-about-split__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--dps-radius);box-shadow:0 22px 60px rgba(15,23,42,.12)}
.dps-property-aboutpage .dps-about-richtext{font-size:var(--dps-home-body-desktop);line-height:1.75;color:inherit}.dps-property-aboutpage .dps-about-richtext p:last-child{margin-bottom:0}
.dps-property-aboutpage .dps-about-statement{max-width:980px;margin:auto}.dps-property-aboutpage .dps-about-statement.is-center{text-align:center}.dps-property-aboutpage .dps-about-statement h2{font-size:var(--dps-home-h-desktop);line-height:1.12;margin:10px 0 18px}.dps-property-aboutpage .dps-about-statement p{font-size:clamp(18px,2vw,24px);margin:0;opacity:.88}
.dps-about-team-grid{display:grid;grid-template-columns:repeat(var(--dps-team-cols,3),minmax(0,1fr));gap:28px;margin-top:38px}.dps-about-team-card{overflow:hidden;border-radius:var(--dps-radius);background:var(--dps-card);box-shadow:0 14px 40px rgba(15,23,42,.09)}.dps-about-team-card__image img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.dps-about-team-card__body{padding:22px}.dps-about-team-card__body h3{margin:0 0 8px;font-size:22px}.dps-about-team-grid.is-minimal .dps-about-team-card{box-shadow:none;background:transparent}.dps-about-team-grid.is-minimal .dps-about-team-card__body{padding:18px 0}.dps-about-team-grid.is-overlay .dps-about-team-card{position:relative}.dps-about-team-grid.is-overlay .dps-about-team-card__body{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;padding:70px 22px 22px}.dps-about-team-grid.is-overlay .dps-about-team-card__body h3{color:#fff}
html.dps-dark-mode .dps-about-team-card{background:var(--dps-dark-card);color:var(--dps-dark-text)}
@media(max-width:900px){.dps-property-aboutpage .dps-about-split{grid-template-columns:1fr}.dps-property-aboutpage .dps-about-split.is-image-left .dps-about-split__image{order:0}.dps-about-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dps-property-aboutpage .dps-about-statement h2{font-size:var(--dps-home-h-tablet)}}
@media(max-width:600px){.dps-about-team-grid{grid-template-columns:1fr}.dps-property-aboutpage .dps-about-statement h2{font-size:var(--dps-home-h-mobile)}.dps-property-aboutpage .dps-about-richtext{font-size:var(--dps-home-body-mobile)}}


/* 0.8.2 – About sections use the same viewport/container split as the homepage */
.dps-property-aboutpage .dps-about-section{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
.dps-property-aboutpage .dps-about-section > .dps-home-container{
  width:100%!important;
  max-width:var(--dps-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Small section line follows the design system. Accent sections use their contrast text color. */
.dps-property-aboutpage .dps-about-section .dps-home-kicker{
  color:var(--dps-accent)!important;
}
.dps-property-aboutpage .dps-about-section[data-dps-section-style="accent"] .dps-home-kicker{
  color:var(--dps-home-text)!important;
  opacity:.78;
}
html.dps-dark-mode .dps-property-aboutpage .dps-about-section .dps-home-kicker,
html.dps-dark-mode .dps-property-aboutpage .dps-about-section[data-dps-section-style="accent"] .dps-home-kicker{
  color:var(--dps-home-dark-text)!important;
  opacity:.82;
}

/* Statement remains content-contained while its background is full viewport width. */
.dps-property-aboutpage .dps-about-statement{
  width:100%;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}


/* 0.8.3 – About details */
.dps-property-aboutpage .dps-about-split__image{
  overflow:hidden;
}
.dps-property-aboutpage .dps-about-split__image img{
  width:100%;
  height:100%;
  min-height:420px;
  max-height:580px;
  object-fit:cover;
  display:block;
}

/* Kein Bild: Story / Geschichte werden sauber im Container zentriert. */
.dps-property-aboutpage .dps-about-split.is-no-image{
  display:block!important;
}
.dps-property-aboutpage .dps-about-split.is-no-image .dps-about-split__copy{
  width:100%;
  max-width:820px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.dps-property-aboutpage .dps-about-split.is-no-image .dps-home-section__head{
  max-width:820px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.dps-property-aboutpage .dps-about-split.is-no-image .dps-about-richtext{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* Team-Kopf immer zentriert im globalen Container. */
.dps-property-aboutpage .dps-about-team-head{
  width:100%;
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}
.dps-property-aboutpage .dps-about-team-head .dps-home-section__head{
  max-width:820px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.dps-property-aboutpage .dps-about-team-head .dps-home-section__head p{
  margin-left:auto;
  margin-right:auto;
}

/* Leerer Team-Hinweis ebenfalls mittig. */
.dps-property-aboutpage .dps-about-team + .dps-home-empty,
.dps-property-aboutpage .dps-about-team-head + .dps-home-empty{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
@media(max-width:700px){
  .dps-property-aboutpage .dps-about-split__image img{min-height:300px}
}


/* 0.8.4 – Team section wirklich komplett zentrieren */
.dps-property-aboutpage .dps-about-team .dps-home-container,
.dps-property-aboutpage section.dps-about-team > .dps-home-container{
  width:100%!important;
  max-width:var(--dps-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:20px!important;
  padding-right:20px!important;
}

/* Header mittig über der gesamten verfügbaren Containerbreite */
.dps-property-aboutpage .dps-about-team-head{
  width:100%!important;
  max-width:820px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
}
.dps-property-aboutpage .dps-about-team-head .dps-home-section__head{
  width:100%!important;
  max-width:820px!important;
  margin:0 auto!important;
  text-align:center!important;
}

/* Empty State ebenfalls wirklich zentriert */
.dps-property-aboutpage section.dps-about-team .dps-home-empty{
  width:min(720px,100%)!important;
  max-width:720px!important;
  margin:0 auto!important;
  text-align:center!important;
}

/* Falls später echte Mitarbeiterkarten vorhanden sind, zentriert das Grid bei weniger Karten */
.dps-property-aboutpage section.dps-about-team .dps-about-team{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center;
}


/* 0.8.5 – Team section/grid class collision fixed */
.dps-property-aboutpage section.dps-about-team{
  display:block!important;
  width:100%!important;
}
.dps-property-aboutpage section.dps-about-team > .dps-home-container{
  display:block!important;
  width:100%!important;
  max-width:var(--dps-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dps-property-aboutpage section.dps-about-team .dps-about-team-head{
  width:100%!important;
  max-width:820px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
}
.dps-property-aboutpage section.dps-about-team .dps-about-team-head .dps-home-section__head{
  width:100%!important;
  max-width:820px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.dps-property-aboutpage section.dps-about-team .dps-home-empty{
  width:min(720px,100%)!important;
  max-width:720px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.dps-property-aboutpage .dps-about-team-grid{
  width:100%;
  margin:38px auto 0;
}


/* 0.9.0 – Team cards from central employee management */
.dps-about-team-card__image--empty{display:grid;place-items:center;aspect-ratio:1/1;background:linear-gradient(135deg,#eef2f6,#f8fafc);font-size:56px}
.dps-about-team-card__responsibility{display:inline-block;margin-bottom:8px;color:var(--dps-accent);font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.dps-about-team-card__position{margin:-2px 0 11px!important;color:var(--dps-muted);font-weight:650}
.dps-about-team-card__short{margin:0 0 16px!important;line-height:1.6;opacity:.82}
.dps-about-team-card__contact{display:flex;align-items:center;gap:8px;margin-top:14px}
.dps-about-team-card__contact a{display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:50%;color:inherit!important;text-decoration:none;font-size:12px;font-weight:850}
.dps-about-team-card__contact a:hover{border-color:var(--dps-accent);color:var(--dps-accent)!important}
.dps-about-team-card__button{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;min-height:42px;padding:0 15px;border-radius:var(--dps-button-radius);background:var(--dps-button-bg);color:var(--dps-button-text)!important;text-decoration:none;font-weight:800}
.dps-about-team-card__button:hover{background:var(--dps-button-hover-bg);color:var(--dps-button-hover-text)!important}
html.dps-dark-mode .dps-about-team-card__position{color:var(--dps-dark-muted,#a7b0bd)}
html.dps-dark-mode .dps-about-team-card__button{background:var(--dps-dark-button-bg);color:var(--dps-dark-button-text)!important}

/* Overlay keeps all employee details readable over the picture */
.dps-about-team-grid.is-overlay .dps-about-team-card{min-height:460px;background:#111}
.dps-about-team-grid.is-overlay .dps-about-team-card__image{position:absolute;inset:0;width:100%;height:100%}
.dps-about-team-grid.is-overlay .dps-about-team-card__image img{height:100%;aspect-ratio:auto}
.dps-about-team-grid.is-overlay .dps-about-team-card__body{z-index:2}
.dps-about-team-grid.is-overlay .dps-about-team-card__position,
.dps-about-team-grid.is-overlay .dps-about-team-card__short{color:#fff;opacity:.88}
.dps-about-team-grid.is-overlay .dps-about-team-card__responsibility{color:#fff;opacity:.78}
.dps-about-team-grid.is-overlay .dps-about-team-card__contact a{border-color:rgba(255,255,255,.35);color:#fff!important}


/* =========================================================
 * 0.9.1 – About Builder typography: section values are authoritative
 * ======================================================= */

/* Hero */
.dps-property-aboutpage .dps-property-hero h1{
  font-size:var(--dps-home-h-desktop)!important;
  line-height:1.03!important;
}
.dps-property-aboutpage .dps-property-hero p{
  font-size:var(--dps-home-body-desktop)!important;
}

/* Every normal About section uses its own Builder variables. */
.dps-property-aboutpage .dps-about-section{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-aboutpage .dps-about-section .dps-home-section__head h2,
.dps-property-aboutpage .dps-about-section .dps-about-split__copy .dps-home-section__head h2,
.dps-property-aboutpage .dps-about-section .dps-about-team-head .dps-home-section__head h2,
.dps-property-aboutpage .dps-about-section.dps-about-gallery .dps-home-section__head h2,
.dps-property-aboutpage .dps-about-section .dps-about-statement h2{
  font-size:var(--dps-home-h-desktop)!important;
  line-height:1.08!important;
}

/* Description / body size from the current section. */
.dps-property-aboutpage .dps-about-section .dps-home-section__head p,
.dps-property-aboutpage .dps-about-section .dps-about-richtext,
.dps-property-aboutpage .dps-about-section .dps-about-richtext p,
.dps-property-aboutpage .dps-about-section .dps-about-statement p,
.dps-property-aboutpage .dps-about-section .dps-about-team-head .dps-home-section__head p,
.dps-property-aboutpage .dps-about-section.dps-about-gallery .dps-home-section__head p{
  font-size:var(--dps-home-body-desktop)!important;
}

/* Statement previously used a hard-coded clamp – Builder now wins. */
.dps-property-aboutpage .dps-about-statement p{
  line-height:1.65!important;
}

/* Team card copy follows the Team section content size without making names huge. */
.dps-property-aboutpage .dps-about-team-card__position,
.dps-property-aboutpage .dps-about-team-card__short{
  font-size:var(--dps-home-body-desktop)!important;
}

@media(max-width:1024px){
  .dps-property-aboutpage .dps-property-hero h1{
    font-size:var(--dps-home-h-tablet)!important;
  }
  .dps-property-aboutpage .dps-property-hero p{
    font-size:var(--dps-home-body-tablet)!important;
  }
  .dps-property-aboutpage .dps-about-section{
    font-size:var(--dps-home-body-tablet)!important;
  }
  .dps-property-aboutpage .dps-about-section .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section .dps-about-split__copy .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section .dps-about-team-head .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section.dps-about-gallery .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section .dps-about-statement h2{
    font-size:var(--dps-home-h-tablet)!important;
  }
  .dps-property-aboutpage .dps-about-section .dps-home-section__head p,
  .dps-property-aboutpage .dps-about-section .dps-about-richtext,
  .dps-property-aboutpage .dps-about-section .dps-about-richtext p,
  .dps-property-aboutpage .dps-about-section .dps-about-statement p,
  .dps-property-aboutpage .dps-about-section .dps-about-team-head .dps-home-section__head p,
  .dps-property-aboutpage .dps-about-section.dps-about-gallery .dps-home-section__head p,
  .dps-property-aboutpage .dps-about-team-card__position,
  .dps-property-aboutpage .dps-about-team-card__short{
    font-size:var(--dps-home-body-tablet)!important;
  }
}

@media(max-width:700px){
  .dps-property-aboutpage .dps-property-hero h1{
    font-size:var(--dps-home-h-mobile)!important;
  }
  .dps-property-aboutpage .dps-property-hero p{
    font-size:var(--dps-home-body-mobile)!important;
  }
  .dps-property-aboutpage .dps-about-section{
    font-size:var(--dps-home-body-mobile)!important;
  }
  .dps-property-aboutpage .dps-about-section .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section .dps-about-split__copy .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section .dps-about-team-head .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section.dps-about-gallery .dps-home-section__head h2,
  .dps-property-aboutpage .dps-about-section .dps-about-statement h2{
    font-size:var(--dps-home-h-mobile)!important;
  }
  .dps-property-aboutpage .dps-about-section .dps-home-section__head p,
  .dps-property-aboutpage .dps-about-section .dps-about-richtext,
  .dps-property-aboutpage .dps-about-section .dps-about-richtext p,
  .dps-property-aboutpage .dps-about-section .dps-about-statement p,
  .dps-property-aboutpage .dps-about-section .dps-about-team-head .dps-home-section__head p,
  .dps-property-aboutpage .dps-about-section.dps-about-gallery .dps-home-section__head p,
  .dps-property-aboutpage .dps-about-team-card__position,
  .dps-property-aboutpage .dps-about-team-card__short{
    font-size:var(--dps-home-body-mobile)!important;
  }
}


/* =========================================================
 * 1.0.0 – Leistungen Seite
 * ======================================================= */
.dps-property-servicespage .dps-home-full-section{
  position:relative;
  left:50%;
  width:100vw;
  max-width:none;
  margin-left:0;
  transform:translateX(-50%);
}
.dps-property-servicespage .dps-home-full-section>.dps-home-container{
  width:100%;
  max-width:var(--dps-container);
  margin:0 auto;
}
.dps-property-servicespage .dps-home-section__head h2,
.dps-property-servicespage .dps-service-block h2,
.dps-property-servicespage .dps-services-cta h2{
  font-size:var(--dps-home-h-desktop)!important;
}
.dps-property-servicespage .dps-home-full-section,
.dps-property-servicespage .dps-service-block__text,
.dps-property-servicespage .dps-services-cta p{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-servicespage .dps-home-kicker{color:var(--dps-accent)}
.dps-property-servicespage [data-dps-section-style="accent"] .dps-home-kicker{color:var(--dps-home-text)!important;opacity:.8}
html.dps-dark-mode .dps-property-servicespage .dps-home-kicker{color:var(--dps-home-dark-text)!important}

/* Overview */
.dps-services-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}
.dps-service-overview-card{display:grid;grid-template-columns:60px minmax(0,1fr) 24px;align-items:center;gap:16px;padding:22px;border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:var(--dps-radius);background:var(--dps-card);color:var(--dps-text)!important;text-decoration:none;box-shadow:0 10px 30px rgba(15,23,42,.07);transition:.22s ease}
.dps-service-overview-card:hover{transform:translateY(-4px);box-shadow:0 17px 38px rgba(15,23,42,.12)}
.dps-service-overview-card strong,.dps-service-overview-card small{display:block}.dps-service-overview-card strong{font-size:20px}.dps-service-overview-card small{margin-top:5px;color:var(--dps-muted);line-height:1.5}.dps-service-overview-card>i{font-style:normal;font-size:21px}
.dps-service-icon,.dps-service-block__icon{display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--dps-accent);border-radius:50%;color:var(--dps-accent)}
.dps-service-icon svg,.dps-service-block__icon svg{width:30px;height:30px}
html.dps-dark-mode .dps-service-overview-card{background:var(--dps-dark-card);color:var(--dps-dark-text)!important}

/* Service block */
.dps-service-block__intro{display:grid;grid-template-columns:76px minmax(0,1fr);gap:24px;align-items:start;max-width:1080px;margin:0 auto 44px}
.dps-service-block__icon{width:68px;height:68px}.dps-service-block__icon svg{width:34px;height:34px}
.dps-service-block h2{margin:5px 0 14px;line-height:1.08;color:inherit}
.dps-service-block__text{max-width:920px;line-height:1.72}.dps-service-block__text p:first-child{margin-top:0}

/* Slider */
.dps-service-slider{position:relative;margin-top:28px;padding:0 45px 36px}
.dps-service-slider__viewport{overflow:hidden}
.dps-service-slider__track{display:flex;gap:24px;scroll-behavior:smooth;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 18px}.dps-service-slider__track::-webkit-scrollbar{display:none}
.dps-service-slide{flex:0 0:calc((100% - var(--dps-service-gap-total,48px))/var(--dps-service-visible,3));scroll-snap-align:start;min-height:340px;padding:28px;border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:var(--dps-radius);background:var(--dps-card);color:var(--dps-text);box-shadow:0 12px 34px rgba(15,23,42,.09);text-align:center}
.dps-service-slide h3{margin:0 0 17px;font-size:18px;line-height:1.35;color:inherit}.dps-service-slide div{line-height:1.65}.dps-service-slide p:first-child{margin-top:0}
html.dps-dark-mode .dps-service-slide{background:var(--dps-dark-card);color:var(--dps-dark-text)}
.dps-service-slider__prev,.dps-service-slider__next{position:absolute;top:46%;z-index:3;display:grid;place-items:center;width:38px;height:54px;border:0;background:transparent;color:var(--dps-accent);font-size:42px;line-height:1;cursor:pointer}.dps-service-slider__prev{left:0}.dps-service-slider__next{right:0}
.dps-service-slider__dots{display:flex;justify-content:center;gap:7px;margin-top:13px}.dps-service-slider__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--dps-accent) 25%,transparent);cursor:pointer}.dps-service-slider__dots button.is-active{background:var(--dps-accent)}

/* CTA */
.dps-services-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:46px}.dps-services-cta__inner>div{max-width:820px}.dps-services-cta h2{margin:6px 0 12px;line-height:1.08}.dps-services-cta p{margin:0;line-height:1.65;opacity:.82}

/* Design accent/transition compatibility with existing engine */
.dps-property-servicespage .dps-home-full-section{isolation:isolate;overflow:visible}
.dps-property-servicespage .dps-home-full-section>:not(.dps-section-accent-layer):not(.dps-section-transition){position:relative;z-index:2}

@media(max-width:1024px){
 .dps-property-servicespage .dps-home-section__head h2,.dps-property-servicespage .dps-service-block h2,.dps-property-servicespage .dps-services-cta h2{font-size:var(--dps-home-h-tablet)!important}
 .dps-property-servicespage .dps-home-full-section,.dps-property-servicespage .dps-service-block__text,.dps-property-servicespage .dps-services-cta p{font-size:var(--dps-home-body-tablet)!important}
 .dps-services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .dps-property-servicespage .dps-home-section__head h2,.dps-property-servicespage .dps-service-block h2,.dps-property-servicespage .dps-services-cta h2{font-size:var(--dps-home-h-mobile)!important}
 .dps-property-servicespage .dps-home-full-section,.dps-property-servicespage .dps-service-block__text,.dps-property-servicespage .dps-services-cta p{font-size:var(--dps-home-body-mobile)!important}
 .dps-services-overview-grid{grid-template-columns:1fr}
 .dps-service-block__intro{grid-template-columns:1fr}.dps-service-block__icon{width:58px;height:58px}
 .dps-service-slider{padding-left:34px;padding-right:34px}.dps-service-slide{flex-basis:100%;min-height:0}
 .dps-services-cta__inner{display:block}.dps-services-cta__inner .dps-home-button{margin-top:22px}
}


/* =========================================================
 * 1.0.1 – Startseiten-Typografie verbindlich aus Website Studio
 * About und Leistungen besitzen ihre eigene Typografie-Engine.
 * ======================================================= */
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-property-hero h1{
  font-size:var(--dps-home-h-desktop)!important;
  line-height:1.03!important;
}
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-property-hero p{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-full-section{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-section__head h2,
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-about__copy h2,
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-cta h2{
  font-size:var(--dps-home-h-desktop)!important;
  line-height:1.08!important;
}
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-section__head p,
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-richtext,
.dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-cta__inner p{
  font-size:var(--dps-home-body-desktop)!important;
}

@media(max-width:1024px){
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-property-hero h1{
    font-size:var(--dps-home-h-tablet)!important;
  }
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-property-hero p,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-full-section,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-section__head p,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-richtext,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-cta__inner p{
    font-size:var(--dps-home-body-tablet)!important;
  }
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-section__head h2,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-about__copy h2,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-cta h2{
    font-size:var(--dps-home-h-tablet)!important;
  }
}

@media(max-width:700px){
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-property-hero h1{
    font-size:var(--dps-home-h-mobile)!important;
  }
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-property-hero p,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-full-section,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-section__head p,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-richtext,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-cta__inner p{
    font-size:var(--dps-home-body-mobile)!important;
  }
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-section__head h2,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-about__copy h2,
  .dps-property-homepage:not(.dps-property-aboutpage):not(.dps-property-servicespage) .dps-home-cta h2{
    font-size:var(--dps-home-h-mobile)!important;
  }
}


/* =========================================================
 * 1.0.2 – About/Services Hero heights + richer cards
 * ======================================================= */

/* Hero heights from the builders are authoritative */
.dps-property-aboutpage .dps-property-hero,
.dps-property-servicespage .dps-property-hero{
  min-height:var(--dps-hero-desktop)!important;
  height:var(--dps-hero-desktop)!important;
}
@media(max-width:1024px){
  .dps-property-aboutpage .dps-property-hero,
  .dps-property-servicespage .dps-property-hero{
    min-height:var(--dps-hero-tablet)!important;
    height:var(--dps-hero-tablet)!important;
  }
}
@media(max-width:700px){
  .dps-property-aboutpage .dps-property-hero,
  .dps-property-servicespage .dps-property-hero{
    min-height:var(--dps-hero-mobile)!important;
    height:var(--dps-hero-mobile)!important;
  }
}

/* Leistungsübersicht: mehr sichtbarer Design-Akzent */
.dps-property-servicespage .dps-service-overview-card{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--dps-accent) 28%,transparent);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.dps-property-servicespage .dps-service-overview-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--dps-accent);
  opacity:.9;
}
.dps-property-servicespage .dps-service-overview-card::after{
  content:"";
  position:absolute;
  inset:auto -55px -70px auto;
  width:150px;
  height:150px;
  border-radius:50%;
  background:color-mix(in srgb,var(--dps-accent) 11%,transparent);
  pointer-events:none;
}
.dps-property-servicespage .dps-service-overview-card:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb,var(--dps-accent) 55%,transparent);
  box-shadow:0 20px 44px rgba(15,23,42,.14);
}
.dps-property-servicespage .dps-service-overview-card:hover .dps-service-icon{
  background:var(--dps-accent);
  color:var(--dps-button-text);
  transform:scale(1.04);
}
.dps-property-servicespage .dps-service-icon{
  transition:background .24s ease,color .24s ease,transform .24s ease;
}

/* Slider cards: mehr Tiefe, Akzentkante und ruhiger Hover */
.dps-property-servicespage .dps-service-slide{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--dps-accent) 18%,transparent);
  box-shadow:0 14px 38px rgba(15,23,42,.09);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.dps-property-servicespage .dps-service-slide::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:var(--dps-accent);
}
.dps-property-servicespage .dps-service-slide::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-65px;
  width:155px;
  height:155px;
  border-radius:50%;
  background:color-mix(in srgb,var(--dps-accent) 8%,transparent);
  pointer-events:none;
}
.dps-property-servicespage .dps-service-slide:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--dps-accent) 38%,transparent);
  box-shadow:0 22px 50px rgba(15,23,42,.14);
}
.dps-property-servicespage .dps-service-slide h3{
  position:relative;
  z-index:1;
  color:inherit;
}
.dps-property-servicespage .dps-service-slide>div{
  position:relative;
  z-index:1;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slide{
  border-color:color-mix(in srgb,var(--dps-accent) 24%,transparent);
  box-shadow:0 14px 40px rgba(0,0,0,.24);
}

/* Team cards: dezenter Lift + Bildzoom */
.dps-property-aboutpage .dps-about-team-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  will-change:transform;
}
.dps-property-aboutpage .dps-about-team-card__image{
  overflow:hidden;
}
.dps-property-aboutpage .dps-about-team-card__image img{
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
}
.dps-property-aboutpage .dps-about-team-card:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 50px rgba(15,23,42,.16);
  border-color:color-mix(in srgb,var(--dps-accent) 24%,transparent);
}
.dps-property-aboutpage .dps-about-team-card:hover .dps-about-team-card__image img{
  transform:scale(1.035);
}
html.dps-dark-mode .dps-property-aboutpage .dps-about-team-card:hover{
  box-shadow:0 24px 54px rgba(0,0,0,.34);
}


/* 1.0.6 – Leistungen Slider: exakt 2/3 Karten Desktop, 2 Tablet, 1 Mobile */
.dps-service-slider{
  --dps-service-visible:3;
  --dps-service-gap:24px;
  --dps-service-gap-total:48px;
}
.dps-service-slider__track{
  gap:var(--dps-service-gap)!important;
}
.dps-service-slide{
  flex-grow:0!important;
  flex-shrink:0!important;
  width:calc((100% - var(--dps-service-gap-total))/var(--dps-service-visible))!important;
  flex-basis:calc((100% - var(--dps-service-gap-total))/var(--dps-service-visible))!important;
  max-width:calc((100% - var(--dps-service-gap-total))/var(--dps-service-visible))!important;
}

@media(max-width:1024px){
  .dps-service-slider{
    --dps-service-visible:2!important;
    --dps-service-gap-total:24px!important;
  }
}
@media(max-width:760px){
  .dps-service-slider{
    --dps-service-visible:1!important;
    --dps-service-gap-total:0px!important;
  }
  .dps-service-slide{
    width:100%!important;
    flex-basis:100%!important;
    max-width:100%!important;
  }
}


/* 1.0.8 – Leistungen: Typografie-Einstellungen vollständig verdrahtet */
.dps-property-servicespage .dps-home-full-section,
.dps-property-servicespage .dps-service-block__text,
.dps-property-servicespage .dps-services-cta p,
.dps-property-servicespage .dps-service-overview-card small,
.dps-property-servicespage .dps-service-slide,
.dps-property-servicespage .dps-service-slide div,
.dps-property-servicespage .dps-service-slide p{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-servicespage .dps-home-section__head h2,
.dps-property-servicespage .dps-service-block h2,
.dps-property-servicespage .dps-services-cta h2{
  font-size:var(--dps-home-h-desktop)!important;
}
.dps-property-servicespage .dps-service-overview-card strong,
.dps-property-servicespage .dps-service-slide h3{
  font-size:calc(var(--dps-home-body-desktop) * 1.15)!important;
}
.dps-property-servicespage .dps-home-kicker,
.dps-property-servicespage .dps-service-kicker{
  font-size:calc(var(--dps-home-body-desktop) * .75)!important;
}

@media(max-width:1024px){
  .dps-property-servicespage .dps-home-full-section,
  .dps-property-servicespage .dps-service-block__text,
  .dps-property-servicespage .dps-services-cta p,
  .dps-property-servicespage .dps-service-overview-card small,
  .dps-property-servicespage .dps-service-slide,
  .dps-property-servicespage .dps-service-slide div,
  .dps-property-servicespage .dps-service-slide p{
    font-size:var(--dps-home-body-tablet)!important;
  }
  .dps-property-servicespage .dps-service-overview-card strong,
  .dps-property-servicespage .dps-service-slide h3{
    font-size:calc(var(--dps-home-body-tablet) * 1.15)!important;
  }
  .dps-property-servicespage .dps-home-kicker,
  .dps-property-servicespage .dps-service-kicker{
    font-size:calc(var(--dps-home-body-tablet) * .75)!important;
  }
}

@media(max-width:600px){
  .dps-property-servicespage .dps-home-full-section,
  .dps-property-servicespage .dps-service-block__text,
  .dps-property-servicespage .dps-services-cta p,
  .dps-property-servicespage .dps-service-overview-card small,
  .dps-property-servicespage .dps-service-slide,
  .dps-property-servicespage .dps-service-slide div,
  .dps-property-servicespage .dps-service-slide p{
    font-size:var(--dps-home-body-mobile)!important;
  }
  .dps-property-servicespage .dps-service-overview-card strong,
  .dps-property-servicespage .dps-service-slide h3{
    font-size:calc(var(--dps-home-body-mobile) * 1.15)!important;
  }
  .dps-property-servicespage .dps-home-kicker,
  .dps-property-servicespage .dps-service-kicker{
    font-size:calc(var(--dps-home-body-mobile) * .75)!important;
  }
}


/* =========================================================
 * 1.0.9 – Leistungen: 1–4 Karten + Ausrichtung + Abschluss
 * ======================================================= */
.dps-property-servicespage .is-left{text-align:left!important}
.dps-property-servicespage .is-center{text-align:center!important}
.dps-property-servicespage .is-right{text-align:right!important}

.dps-property-servicespage .dps-home-section__head.is-left{margin-left:0;margin-right:auto}
.dps-property-servicespage .dps-home-section__head.is-center{margin-left:auto;margin-right:auto}
.dps-property-servicespage .dps-home-section__head.is-right{margin-left:auto;margin-right:0}

.dps-property-servicespage .dps-service-block__intro.is-center{text-align:center}
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__icon{margin-left:auto;margin-right:auto}
.dps-property-servicespage .dps-service-block__intro.is-right{text-align:right}
.dps-property-servicespage .dps-service-block__intro.is-right .dps-service-block__icon{margin-left:auto}

.dps-property-servicespage .dps-service-slider.is-cards-left .dps-service-slide{text-align:left}
.dps-property-servicespage .dps-service-slider.is-cards-center .dps-service-slide{text-align:center}
.dps-property-servicespage .dps-service-slider.is-cards-right .dps-service-slide{text-align:right}

.dps-service-block__closing{
  width:100%;
  max-width:980px;
  margin:42px auto 0;
}
.dps-service-block__closing.is-left{margin-left:0;margin-right:auto}
.dps-service-block__closing.is-right{margin-left:auto;margin-right:0}
.dps-service-block__closing h3{
  margin:0 0 18px;
  font-size:calc(var(--dps-home-body-desktop) * 1.35)!important;
  line-height:1.25;
  color:inherit;
}
.dps-service-block__closing>div{
  font-size:var(--dps-home-body-desktop)!important;
  line-height:1.72;
}
.dps-service-block__closing p:last-child{margin-bottom:0}

.dps-services-cta__inner.is-center{flex-direction:column;text-align:center}
.dps-services-cta__inner.is-right{text-align:right}
.dps-services-cta__inner.is-right>div{margin-left:auto}
.dps-services-cta__inner.is-left>div{margin-right:auto}

@media(max-width:1024px){
  .dps-service-block__closing h3{font-size:calc(var(--dps-home-body-tablet) * 1.35)!important}
  .dps-service-block__closing>div{font-size:var(--dps-home-body-tablet)!important}
}
@media(max-width:760px){
  .dps-service-block__closing{margin-top:30px}
  .dps-service-block__closing h3{font-size:calc(var(--dps-home-body-mobile) * 1.35)!important}
  .dps-service-block__closing>div{font-size:var(--dps-home-body-mobile)!important}
}


/* =========================================================
 * 1.0.10 – Leistungen Typografie + Textausrichtung verbindlich
 * Icon bleibt IMMER links oben, nur der Textblock wird ausgerichtet.
 * ======================================================= */

/* Intro-Struktur: Icon links oben fix, Text rechts daneben */
.dps-property-servicespage .dps-service-block__intro{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro .dps-service-block__icon{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
  justify-self:start!important;
  align-self:start!important;
}
.dps-property-servicespage .dps-service-block__intro>div{
  grid-column:2!important;
  min-width:0;
}

/* Nur der eigentliche Textblock wird links / mittig / rechts ausgerichtet */
.dps-property-servicespage .dps-service-block__intro.is-left>div{
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center>div{
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right>div{
  text-align:right!important;
}

/* Kleine Zeile folgt ebenfalls ausschließlich dem Textblock */
.dps-property-servicespage .dps-service-block__intro.is-left .dps-home-kicker{
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center .dps-home-kicker{
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right .dps-home-kicker{
  text-align:right!important;
}

/* Schriftgrößen direkt an die konkreten Elemente binden */
.dps-property-servicespage .dps-service-block__intro h2{
  font-size:var(--dps-home-h-desktop)!important;
  line-height:1.08!important;
}
.dps-property-servicespage .dps-service-block__intro .dps-service-block__text,
.dps-property-servicespage .dps-service-block__intro .dps-service-block__text p{
  font-size:var(--dps-home-body-desktop)!important;
  line-height:1.72!important;
}
.dps-property-servicespage .dps-service-block__intro .dps-home-kicker{
  font-size:calc(var(--dps-home-body-desktop) * .75)!important;
}

/* Übersicht */
.dps-property-servicespage .dps-services-overview .dps-home-section__head h2{
  font-size:var(--dps-home-h-desktop)!important;
}
.dps-property-servicespage .dps-services-overview .dps-home-section__head p{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-servicespage .dps-services-overview .dps-home-kicker{
  font-size:calc(var(--dps-home-body-desktop) * .75)!important;
}

/* Sliderkarten */
.dps-property-servicespage .dps-service-slide{
  font-size:var(--dps-home-body-desktop)!important;
}
.dps-property-servicespage .dps-service-slide h3{
  font-size:calc(var(--dps-home-body-desktop) * 1.15)!important;
}
.dps-property-servicespage .dps-service-slide div,
.dps-property-servicespage .dps-service-slide p{
  font-size:var(--dps-home-body-desktop)!important;
}

/* Abschlussbereich */
.dps-property-servicespage .dps-service-block__closing h3{
  font-size:calc(var(--dps-home-body-desktop) * 1.35)!important;
}
.dps-property-servicespage .dps-service-block__closing,
.dps-property-servicespage .dps-service-block__closing>div,
.dps-property-servicespage .dps-service-block__closing p{
  font-size:var(--dps-home-body-desktop)!important;
}

/* CTA */
.dps-property-servicespage .dps-services-cta h2{
  font-size:var(--dps-home-h-desktop)!important;
}
.dps-property-servicespage .dps-services-cta p{
  font-size:var(--dps-home-body-desktop)!important;
}

/* Responsive */
@media(max-width:1024px){
  .dps-property-servicespage .dps-service-block__intro h2,
  .dps-property-servicespage .dps-services-overview .dps-home-section__head h2,
  .dps-property-servicespage .dps-services-cta h2{
    font-size:var(--dps-home-h-tablet)!important;
  }

  .dps-property-servicespage .dps-service-block__intro .dps-service-block__text,
  .dps-property-servicespage .dps-service-block__intro .dps-service-block__text p,
  .dps-property-servicespage .dps-services-overview .dps-home-section__head p,
  .dps-property-servicespage .dps-service-slide,
  .dps-property-servicespage .dps-service-slide div,
  .dps-property-servicespage .dps-service-slide p,
  .dps-property-servicespage .dps-service-block__closing,
  .dps-property-servicespage .dps-service-block__closing>div,
  .dps-property-servicespage .dps-service-block__closing p,
  .dps-property-servicespage .dps-services-cta p{
    font-size:var(--dps-home-body-tablet)!important;
  }

  .dps-property-servicespage .dps-service-slide h3{
    font-size:calc(var(--dps-home-body-tablet) * 1.15)!important;
  }
  .dps-property-servicespage .dps-service-block__closing h3{
    font-size:calc(var(--dps-home-body-tablet) * 1.35)!important;
  }
  .dps-property-servicespage .dps-service-block__intro .dps-home-kicker,
  .dps-property-servicespage .dps-services-overview .dps-home-kicker{
    font-size:calc(var(--dps-home-body-tablet) * .75)!important;
  }
}

@media(max-width:760px){
  .dps-property-servicespage .dps-service-block__intro{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:16px!important;
  }

  .dps-property-servicespage .dps-service-block__intro h2,
  .dps-property-servicespage .dps-services-overview .dps-home-section__head h2,
  .dps-property-servicespage .dps-services-cta h2{
    font-size:var(--dps-home-h-mobile)!important;
  }

  .dps-property-servicespage .dps-service-block__intro .dps-service-block__text,
  .dps-property-servicespage .dps-service-block__intro .dps-service-block__text p,
  .dps-property-servicespage .dps-services-overview .dps-home-section__head p,
  .dps-property-servicespage .dps-service-slide,
  .dps-property-servicespage .dps-service-slide div,
  .dps-property-servicespage .dps-service-slide p,
  .dps-property-servicespage .dps-service-block__closing,
  .dps-property-servicespage .dps-service-block__closing>div,
  .dps-property-servicespage .dps-service-block__closing p,
  .dps-property-servicespage .dps-services-cta p{
    font-size:var(--dps-home-body-mobile)!important;
  }

  .dps-property-servicespage .dps-service-slide h3{
    font-size:calc(var(--dps-home-body-mobile) * 1.15)!important;
  }
  .dps-property-servicespage .dps-service-block__closing h3{
    font-size:calc(var(--dps-home-body-mobile) * 1.35)!important;
  }
  .dps-property-servicespage .dps-service-block__intro .dps-home-kicker,
  .dps-property-servicespage .dps-services-overview .dps-home-kicker{
    font-size:calc(var(--dps-home-body-mobile) * .75)!important;
  }
}


/* =========================================================
 * 1.0.11 – Leistungen: echte Textzentrierung, Kicker-Größe,
 * Abschluss-Card und Slider-Hintergrund bereinigt
 * ======================================================= */

/* Der Intro-Container wird zur Positionierungsfläche.
   Icon bleibt IMMER links oben. Text nutzt die komplette Containerbreite. */
.dps-property-servicespage .dps-service-block__intro{
  position:relative!important;
  display:block!important;
  max-width:1080px!important;
  min-height:68px;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
}
.dps-property-servicespage .dps-service-block__intro .dps-service-block__icon{
  position:absolute!important;
  left:0!important;
  top:0!important;
  z-index:3;
  margin:0!important;
}
.dps-property-servicespage .dps-service-block__intro>div{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
  padding-left:92px!important;
}

/* Bei mittig/rechts bleibt links genug Platz fürs Icon,
   aber die Textausrichtung bezieht sich auf die volle Inhaltsbreite. */
.dps-property-servicespage .dps-service-block__intro.is-left>div{
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center>div{
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right>div{
  text-align:right!important;
}

/* Kleine Zeile wirklich separat einstellbar */
.dps-property-servicespage .dps-service-block__intro .dps-home-kicker,
.dps-property-servicespage .dps-services-overview .dps-home-kicker,
.dps-property-servicespage .dps-services-cta .dps-home-kicker{
  font-size:var(--dps-home-kicker-desktop,12px)!important;
}

/* Slider selbst darf keinen durchgehenden grauen Block erzeugen */
.dps-property-servicespage .dps-service-slider,
.dps-property-servicespage .dps-service-slider__viewport,
.dps-property-servicespage .dps-service-slider__track{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.dps-property-servicespage .dps-service-slider__track{
  padding-bottom:18px!important;
}

/* Abschlussbereich als echte Card – bündig mit dem Slider-Inhalt */
.dps-property-servicespage .dps-service-block__closing{
  position:relative;
  width:auto!important;
  max-width:none!important;
  margin:34px 45px 0!important;
  padding:30px 34px!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--dps-accent) 18%,transparent);
  border-radius:var(--dps-radius);
  background:var(--dps-card);
  color:var(--dps-text);
  box-shadow:0 14px 38px rgba(15,23,42,.08);
}
.dps-property-servicespage .dps-service-block__closing::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:var(--dps-accent);
}
.dps-property-servicespage .dps-service-block__closing::after{
  content:"";
  position:absolute;
  right:-65px;
  bottom:-75px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:color-mix(in srgb,var(--dps-accent) 8%,transparent);
  pointer-events:none;
}
.dps-property-servicespage .dps-service-block__closing h3,
.dps-property-servicespage .dps-service-block__closing>div{
  position:relative;
  z-index:1;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-block__closing{
  background:var(--dps-dark-card);
  color:var(--dps-dark-text);
  box-shadow:0 16px 42px rgba(0,0,0,.26);
}

/* alte margin-left/right Regeln für closing neutralisieren */
.dps-property-servicespage .dps-service-block__closing.is-left,
.dps-property-servicespage .dps-service-block__closing.is-center,
.dps-property-servicespage .dps-service-block__closing.is-right{
  margin-left:45px!important;
  margin-right:45px!important;
}
.dps-property-servicespage .dps-service-block__closing.is-left{text-align:left!important}
.dps-property-servicespage .dps-service-block__closing.is-center{text-align:center!important}
.dps-property-servicespage .dps-service-block__closing.is-right{text-align:right!important}

@media(max-width:1024px){
  .dps-property-servicespage .dps-service-block__intro .dps-home-kicker,
  .dps-property-servicespage .dps-services-overview .dps-home-kicker,
  .dps-property-servicespage .dps-services-cta .dps-home-kicker{
    font-size:var(--dps-home-kicker-tablet,12px)!important;
  }
}

@media(max-width:760px){
  .dps-property-servicespage .dps-service-block__intro{
    min-height:58px;
  }
  .dps-property-servicespage .dps-service-block__intro .dps-service-block__icon{
    width:58px!important;
    height:58px!important;
  }
  .dps-property-servicespage .dps-service-block__intro>div{
    padding-left:72px!important;
  }
  .dps-property-servicespage .dps-service-block__intro .dps-home-kicker,
  .dps-property-servicespage .dps-services-overview .dps-home-kicker,
  .dps-property-servicespage .dps-services-cta .dps-home-kicker{
    font-size:var(--dps-home-kicker-mobile,11px)!important;
  }
  .dps-property-servicespage .dps-service-block__closing,
  .dps-property-servicespage .dps-service-block__closing.is-left,
  .dps-property-servicespage .dps-service-block__closing.is-center,
  .dps-property-servicespage .dps-service-block__closing.is-right{
    margin-left:34px!important;
    margin-right:34px!important;
    padding:24px 22px!important;
  }
}


/* =========================================================
 * 1.0.12 – Leistungen: echte Zentrierung + Design-Icons
 * + Slider-Viewport vollständig transparent
 * ======================================================= */

/* Intro-Section: Icon komplett vom Textfluss lösen */
.dps-property-servicespage .dps-service-block__intro{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-height:68px!important;
}
.dps-property-servicespage .dps-service-block__intro .dps-service-block__icon{
  position:absolute!important;
  left:0!important;
  top:0!important;
  margin:0!important;
  z-index:4!important;
}

/* Textblock darf wirklich die VOLLE Breite der Section verwenden */
.dps-property-servicespage .dps-service-block__intro>div{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* links bekommt etwas Luft für das Icon, center/right aber nicht */
.dps-property-servicespage .dps-service-block__intro.is-left>div{
  padding-left:92px!important;
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center>div{
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right>div{
  padding-left:0!important;
  padding-right:0!important;
  text-align:right!important;
}

/* Bei Center begrenzen wir nur die Textbreite optisch,
   zentrieren sie aber im gesamten Container */
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__text{
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right .dps-service-block__text{
  max-width:920px!important;
  margin-left:auto!important;
}

/* kleine Zeile + H2 folgen exakt der gewählten Ausrichtung */
.dps-property-servicespage .dps-service-block__intro.is-left .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-left h2{
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-center h2{
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-right h2{
  text-align:right!important;
}

/* Icons: vollständig aus dem aktuellen Design ziehen */
.dps-property-servicespage .dps-service-icon,
.dps-property-servicespage .dps-service-block__icon{
  border-color:var(--dps-accent)!important;
  color:var(--dps-accent)!important;
  background:color-mix(in srgb,var(--dps-accent) 7%,transparent)!important;
}
.dps-property-servicespage .dps-service-icon svg,
.dps-property-servicespage .dps-service-block__icon svg{
  color:inherit!important;
  stroke:currentColor!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-icon,
html.dps-dark-mode .dps-property-servicespage .dps-service-block__icon{
  border-color:var(--dps-accent)!important;
  color:var(--dps-accent)!important;
  background:color-mix(in srgb,var(--dps-accent) 10%,transparent)!important;
}

/* Hover bleibt ebenfalls designbasiert */
.dps-property-servicespage .dps-service-overview-card:hover .dps-service-icon{
  background:var(--dps-accent)!important;
  color:var(--dps-button-text)!important;
}

/* Viewport-Hintergrund: alle beteiligten Wrapper neutralisieren */
.dps-property-servicespage .dps-service-slider{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.dps-property-servicespage .dps-service-slider__viewport{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  outline:0!important;
}
.dps-property-servicespage .dps-service-slider__track{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  outline:0!important;
}
.dps-property-servicespage .dps-service-slider::before,
.dps-property-servicespage .dps-service-slider::after,
.dps-property-servicespage .dps-service-slider__viewport::before,
.dps-property-servicespage .dps-service-slider__viewport::after,
.dps-property-servicespage .dps-service-slider__track::before,
.dps-property-servicespage .dps-service-slider__track::after{
  display:none!important;
  content:none!important;
}

/* Falls die graue Fläche vom Section-Card-Layer kommt */
.dps-property-servicespage .dps-service-block .dps-service-slider__viewport,
.dps-property-servicespage .dps-service-block .dps-service-slider__track{
  background-color:transparent!important;
  background-image:none!important;
}

/* Mobile: Icon bleibt links, Center bleibt wirklich Center */
@media(max-width:760px){
  .dps-property-servicespage .dps-service-block__intro{
    min-height:58px!important;
  }
  .dps-property-servicespage .dps-service-block__intro.is-left>div{
    padding-left:72px!important;
  }
  .dps-property-servicespage .dps-service-block__intro.is-center>div,
  .dps-property-servicespage .dps-service-block__intro.is-right>div{
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* =========================================================
 * 1.0.13 – Leistungen FINALER Layout-Fix
 * - Center ohne Icon-Überlagerung
 * - UI-Akzent aus Design/Farbwelt inkl. Darkmode
 * - graue Slider-Fläche entfernt (Card-Shadows waren die Ursache)
 * ======================================================= */

/* Eigener Leistungsseiten-Akzent aus den Design-Buttonfarben.
   Diese sind in hell/dunkel separat Bestandteil der Farbwelt. */
.dps-property-servicespage{
  --dps-services-accent:var(--dps-button-bg,var(--dps-accent));
  --dps-services-accent-text:var(--dps-button-text,#111);
}
html.dps-dark-mode .dps-property-servicespage{
  --dps-services-accent:var(--dps-dark-button-bg,var(--dps-accent));
  --dps-services-accent-text:var(--dps-dark-button-text,#111);
}

/* ---------------------------------------------------------
 * Intro: Icon links in eigener fester Spur.
 * Center bekommt eine SYMMETRISCHE Textfläche mit linker UND
 * rechter Reserve. Dadurch ist der Text wirklich mittig und
 * kann niemals auf das Icon laufen.
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-service-block__intro{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:1080px!important;
  min-height:68px!important;
  margin:0 auto 44px!important;
}
.dps-property-servicespage .dps-service-block__intro .dps-service-block__icon{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:68px!important;
  height:68px!important;
  margin:0!important;
  z-index:4!important;
}
.dps-property-servicespage .dps-service-block__intro>div{
  display:block!important;
  box-sizing:border-box!important;
  max-width:none!important;
}

/* Links: Icon-Spur links reservieren */
.dps-property-servicespage .dps-service-block__intro.is-left>div{
  width:100%!important;
  margin:0!important;
  padding:0 0 0 92px!important;
  text-align:left!important;
}

/* Mitte: links UND rechts 92px Reserve => echte geometrische Mitte */
.dps-property-servicespage .dps-service-block__intro.is-center>div{
  width:calc(100% - 184px)!important;
  margin:0 92px!important;
  padding:0!important;
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__text{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Rechts: symmetrisch zur linken Variante */
.dps-property-servicespage .dps-service-block__intro.is-right>div{
  width:100%!important;
  margin:0!important;
  padding:0 92px 0 0!important;
  text-align:right!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right .dps-service-block__text{
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:0!important;
}

.dps-property-servicespage .dps-service-block__intro.is-left .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-left h2,
.dps-property-servicespage .dps-service-block__intro.is-left .dps-service-block__text,
.dps-property-servicespage .dps-service-block__intro.is-left .dps-service-block__text p{
  text-align:left!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-center h2,
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__text,
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__text p{
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-right .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-right h2,
.dps-property-servicespage .dps-service-block__intro.is-right .dps-service-block__text,
.dps-property-servicespage .dps-service-block__intro.is-right .dps-service-block__text p{
  text-align:right!important;
}

/* ---------------------------------------------------------
 * Alle UI-Icons / Akzente der Leistungsseite aus Farbwelt
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-service-icon,
.dps-property-servicespage .dps-service-block__icon{
  border-color:var(--dps-services-accent)!important;
  color:var(--dps-services-accent)!important;
  background:color-mix(in srgb,var(--dps-services-accent) 10%,transparent)!important;
}
.dps-property-servicespage .dps-service-icon svg,
.dps-property-servicespage .dps-service-block__icon svg{
  color:inherit!important;
  stroke:currentColor!important;
}
.dps-property-servicespage .dps-service-overview-card::before,
.dps-property-servicespage .dps-service-slide::before,
.dps-property-servicespage .dps-service-block__closing::before{
  background:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-overview-card::after,
.dps-property-servicespage .dps-service-slide::after,
.dps-property-servicespage .dps-service-block__closing::after{
  background:color-mix(in srgb,var(--dps-services-accent) 9%,transparent)!important;
}
.dps-property-servicespage .dps-service-overview-card,
.dps-property-servicespage .dps-service-slide,
.dps-property-servicespage .dps-service-block__closing{
  border-color:color-mix(in srgb,var(--dps-services-accent) 24%,transparent)!important;
}
.dps-property-servicespage .dps-service-slider__prev,
.dps-property-servicespage .dps-service-slider__next{
  color:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-slider__dots button{
  background:color-mix(in srgb,var(--dps-services-accent) 28%,transparent)!important;
}
.dps-property-servicespage .dps-service-slider__dots button.is-active{
  background:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-overview-card:hover .dps-service-icon{
  background:var(--dps-services-accent)!important;
  border-color:var(--dps-services-accent)!important;
  color:var(--dps-services-accent-text)!important;
}

/* ---------------------------------------------------------
 * Grauer "Viewport": entstand durch die abgeschnittenen,
 * ineinander laufenden Card-Shadows. Für den Textslider
 * bewusst keine äußeren Card-Shadows mehr.
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-service-slider,
.dps-property-servicespage .dps-service-slider__viewport,
.dps-property-servicespage .dps-service-slider__track{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}
.dps-property-servicespage .dps-service-slide{
  box-shadow:none!important;
}
.dps-property-servicespage .dps-service-slide:hover{
  box-shadow:none!important;
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--dps-services-accent) 48%,transparent)!important;
}

/* Track nur so viel Innenraum wie nötig; kein grauer Schattenstreifen */
.dps-property-servicespage .dps-service-slider__track{
  padding-top:6px!important;
  padding-bottom:8px!important;
}
.dps-property-servicespage .dps-service-slider{
  padding-bottom:24px!important;
}

@media(max-width:760px){
  .dps-property-servicespage .dps-service-block__intro{
    min-height:58px!important;
  }
  .dps-property-servicespage .dps-service-block__intro .dps-service-block__icon{
    width:58px!important;
    height:58px!important;
  }
  .dps-property-servicespage .dps-service-block__intro.is-left>div{
    padding-left:72px!important;
  }
  .dps-property-servicespage .dps-service-block__intro.is-center>div{
    width:calc(100% - 144px)!important;
    margin-left:72px!important;
    margin-right:72px!important;
  }
  .dps-property-servicespage .dps-service-block__intro.is-right>div{
    padding-right:72px!important;
  }
}


/* =========================================================
 * 1.0.14 – Leistungen: echter Center-Fix + Kicker-Felder
 * + Icons aus Section/Farbwelt
 * ======================================================= */

/* Der HTML-Klassenfehler ist behoben; diese Regeln greifen jetzt wirklich. */
.dps-property-servicespage .dps-service-block__intro.is-center>div{
  width:calc(100% - 184px)!important;
  margin-left:92px!important;
  margin-right:92px!important;
  padding:0!important;
  text-align:center!important;
}
.dps-property-servicespage .dps-service-block__intro.is-center .dps-home-kicker,
.dps-property-servicespage .dps-service-block__intro.is-center h2,
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__text,
.dps-property-servicespage .dps-service-block__intro.is-center .dps-service-block__text p{
  text-align:center!important;
}

/* Section-spezifische Akzentfarbe hat Vorrang.
   Dadurch folgt jedes Icon dem gewählten Design des Bereichs. */
.dps-property-servicespage .dps-service-block{
  --dps-services-local-accent:var(--dps-home-accent,var(--dps-accent));
}
html.dps-dark-mode .dps-property-servicespage .dps-service-block{
  --dps-services-local-accent:var(--dps-home-accent-dark,var(--dps-accent));
}

.dps-property-servicespage .dps-service-block .dps-service-block__icon{
  border-color:var(--dps-services-local-accent)!important;
  color:var(--dps-services-local-accent)!important;
  background:color-mix(in srgb,var(--dps-services-local-accent) 10%,transparent)!important;
}
.dps-property-servicespage .dps-service-block .dps-service-block__icon svg{
  color:inherit!important;
  stroke:currentColor!important;
}

/* Übersichtskarten verwenden die Section-Akzentfarbe der Übersicht */
.dps-property-servicespage .dps-services-overview{
  --dps-services-local-accent:var(--dps-home-accent,var(--dps-accent));
}
html.dps-dark-mode .dps-property-servicespage .dps-services-overview{
  --dps-services-local-accent:var(--dps-home-accent-dark,var(--dps-accent));
}
.dps-property-servicespage .dps-services-overview .dps-service-icon{
  border-color:var(--dps-services-local-accent)!important;
  color:var(--dps-services-local-accent)!important;
  background:color-mix(in srgb,var(--dps-services-local-accent) 10%,transparent)!important;
}
.dps-property-servicespage .dps-services-overview .dps-service-overview-card::before{
  background:var(--dps-services-local-accent)!important;
}
.dps-property-servicespage .dps-services-overview .dps-service-overview-card:hover .dps-service-icon{
  background:var(--dps-services-local-accent)!important;
  border-color:var(--dps-services-local-accent)!important;
}

/* Kleine Zeile: eigene neue Werte */
.dps-property-servicespage .dps-service-block .dps-home-kicker{
  font-size:var(--dps-home-kicker-desktop,12px)!important;
}
@media(max-width:1024px){
  .dps-property-servicespage .dps-service-block .dps-home-kicker{
    font-size:var(--dps-home-kicker-tablet,12px)!important;
  }
}
@media(max-width:760px){
  .dps-property-servicespage .dps-service-block__intro.is-center>div{
    width:calc(100% - 144px)!important;
    margin-left:72px!important;
    margin-right:72px!important;
  }
  .dps-property-servicespage .dps-service-block .dps-home-kicker{
    font-size:var(--dps-home-kicker-mobile,11px)!important;
  }
}


/* =========================================================
 * 1.0.15 – Leistungen vollständig an globale Design-Engine
 * Presets + Farbwelten + Darkmode wirken auf ALLE UI-Elemente.
 * ======================================================= */

/* Zentrale UI-Tokens für die Leistungsseite */
.dps-property-servicespage{
  --dps-services-accent:var(--dps-accent);
  --dps-services-accent-strong:var(--dps-accent-dark);
  --dps-services-card:var(--dps-card);
  --dps-services-text:var(--dps-text);
  --dps-services-heading:var(--dps-heading);
  --dps-services-muted:var(--dps-muted);
  --dps-services-button-bg:var(--dps-button-bg,var(--dps-accent));
  --dps-services-button-text:var(--dps-button-text,#111);
  --dps-services-button-hover-bg:var(--dps-button-hover-bg,var(--dps-accent-dark));
  --dps-services-button-hover-text:var(--dps-button-hover-text,#111);
}
html.dps-dark-mode .dps-property-servicespage{
  --dps-services-accent:var(--dps-accent-dark,var(--dps-accent));
  --dps-services-accent-strong:var(--dps-accent,var(--dps-accent-dark));
  --dps-services-card:var(--dps-dark-card);
  --dps-services-text:var(--dps-dark-text);
  --dps-services-heading:var(--dps-dark-heading);
  --dps-services-muted:color-mix(in srgb,var(--dps-dark-text) 68%,transparent);
  --dps-services-button-bg:var(--dps-dark-button-bg,var(--dps-accent-dark));
  --dps-services-button-text:var(--dps-dark-button-text,#111);
  --dps-services-button-hover-bg:var(--dps-dark-button-hover-bg,var(--dps-accent));
  --dps-services-button-hover-text:var(--dps-dark-button-hover-text,#111);
}

/* ---------------------------------------------------------
 * Übersichtskarten
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-service-overview-card{
  background:var(--dps-services-card)!important;
  color:var(--dps-services-text)!important;
  border-color:color-mix(in srgb,var(--dps-services-accent) 28%,transparent)!important;
}
.dps-property-servicespage .dps-service-overview-card strong{
  color:var(--dps-services-heading)!important;
}
.dps-property-servicespage .dps-service-overview-card small{
  color:var(--dps-services-muted)!important;
}
.dps-property-servicespage .dps-service-overview-card::before{
  background:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-overview-card::after{
  background:color-mix(in srgb,var(--dps-services-accent) 10%,transparent)!important;
}
.dps-property-servicespage .dps-service-overview-card>i{
  color:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-overview-card:hover{
  border-color:color-mix(in srgb,var(--dps-services-accent) 58%,transparent)!important;
}
.dps-property-servicespage .dps-service-overview-card:hover>i{
  color:var(--dps-services-accent-strong)!important;
}

/* Übersicht + Bereichs-Icons */
.dps-property-servicespage .dps-service-icon,
.dps-property-servicespage .dps-service-block__icon{
  color:var(--dps-services-accent)!important;
  border-color:var(--dps-services-accent)!important;
  background:color-mix(in srgb,var(--dps-services-accent) 9%,transparent)!important;
}
.dps-property-servicespage .dps-service-icon svg,
.dps-property-servicespage .dps-service-block__icon svg{
  color:inherit!important;
  stroke:currentColor!important;
}
.dps-property-servicespage .dps-service-overview-card:hover .dps-service-icon{
  color:var(--dps-services-button-text)!important;
  border-color:var(--dps-services-button-bg)!important;
  background:var(--dps-services-button-bg)!important;
}

/* Im Darkmode bewusst die helle Farbwelt-Variante nutzen */
html.dps-dark-mode .dps-property-servicespage .dps-service-icon,
html.dps-dark-mode .dps-property-servicespage .dps-service-block__icon{
  color:var(--dps-accent-dark,var(--dps-services-accent))!important;
  border-color:var(--dps-accent-dark,var(--dps-services-accent))!important;
  background:color-mix(in srgb,var(--dps-accent-dark,var(--dps-services-accent)) 12%,transparent)!important;
}

/* ---------------------------------------------------------
 * Textslider Cards
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-service-slide{
  background:var(--dps-services-card)!important;
  color:var(--dps-services-text)!important;
  border-color:color-mix(in srgb,var(--dps-services-accent) 25%,transparent)!important;
}
.dps-property-servicespage .dps-service-slide h3{
  color:var(--dps-services-heading)!important;
}
.dps-property-servicespage .dps-service-slide::before{
  background:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-slide::after{
  background:color-mix(in srgb,var(--dps-services-accent) 9%,transparent)!important;
}
.dps-property-servicespage .dps-service-slide:hover{
  border-color:color-mix(in srgb,var(--dps-services-accent) 55%,transparent)!important;
}

/* Slider-Navigation IMMER sichtbar, auch bei Minimal/Graphite/Dark */
.dps-property-servicespage .dps-service-slider__prev,
.dps-property-servicespage .dps-service-slider__next{
  color:var(--dps-services-accent)!important;
  opacity:1!important;
  -webkit-text-fill-color:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-slider__prev:hover,
.dps-property-servicespage .dps-service-slider__next:hover{
  color:var(--dps-services-accent-strong)!important;
  -webkit-text-fill-color:var(--dps-services-accent-strong)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__prev,
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__next{
  color:var(--dps-accent-dark,var(--dps-services-accent))!important;
  -webkit-text-fill-color:var(--dps-accent-dark,var(--dps-services-accent))!important;
}

/* Dots */
.dps-property-servicespage .dps-service-slider__dots button{
  background:color-mix(in srgb,var(--dps-services-accent) 30%,transparent)!important;
  border:0!important;
}
.dps-property-servicespage .dps-service-slider__dots button.is-active{
  background:var(--dps-services-accent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__dots button{
  background:color-mix(in srgb,var(--dps-accent-dark,var(--dps-services-accent)) 34%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__dots button.is-active{
  background:var(--dps-accent-dark,var(--dps-services-accent))!important;
}

/* ---------------------------------------------------------
 * Abschluss-Card
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-service-block__closing{
  background:var(--dps-services-card)!important;
  color:var(--dps-services-text)!important;
  border-color:color-mix(in srgb,var(--dps-services-accent) 25%,transparent)!important;
}
.dps-property-servicespage .dps-service-block__closing h3{
  color:var(--dps-services-heading)!important;
}
.dps-property-servicespage .dps-service-block__closing::before{
  background:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-service-block__closing::after{
  background:color-mix(in srgb,var(--dps-services-accent) 9%,transparent)!important;
}

/* ---------------------------------------------------------
 * CTA Button
 * ------------------------------------------------------ */
.dps-property-servicespage .dps-services-cta a,
.dps-property-servicespage .dps-services-cta .button{
  background:var(--dps-services-button-bg)!important;
  color:var(--dps-services-button-text)!important;
  border-color:var(--dps-services-button-bg)!important;
}
.dps-property-servicespage .dps-services-cta a:hover,
.dps-property-servicespage .dps-services-cta .button:hover{
  background:var(--dps-services-button-hover-bg)!important;
  color:var(--dps-services-button-hover-text)!important;
  border-color:var(--dps-services-button-hover-bg)!important;
}

/* Kleine Zeilen und sonstige Akzenttexte */
.dps-property-servicespage .dps-home-kicker{
  color:var(--dps-services-accent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-home-kicker{
  color:var(--dps-accent-dark,var(--dps-services-accent))!important;
}

/* ---------------------------------------------------------
 * Preset-sichere Kontraste:
 * Bei sehr neutralen Presets bleibt UI über currentColor sichtbar.
 * ------------------------------------------------------ */
.dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__prev,
.dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__next{
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
}
.dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__dots button{
  background:color-mix(in srgb,currentColor 30%,transparent)!important;
}
.dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__dots button.is-active{
  background:currentColor!important;
}

/* Bereichs-Icon bei Accent-Sections: hoher Kontrast statt zu dunklem Ton */
.dps-property-servicespage [data-dps-section-style="accent"] .dps-service-block__icon{
  color:currentColor!important;
  border-color:currentColor!important;
  background:color-mix(in srgb,currentColor 10%,transparent)!important;
}

/* Keine alten section-lokalen Iconfarben mehr */
.dps-property-servicespage .dps-service-block{
  --dps-services-local-accent:var(--dps-services-accent)!important;
}
.dps-property-servicespage .dps-services-overview{
  --dps-services-local-accent:var(--dps-services-accent)!important;
}


/* =========================================================
 * 1.0.16 – Soft-Farbe der Farbwelt als Darkmode-Gegenspiel
 * ======================================================= */

/* Die rechte Farbe der Farbwelt: heller Gegenpol zum Accent.
   Für Custom wird sie automatisch genauso harmonisch abgeleitet. */
.dps-property-servicespage{
  --dps-services-soft:var(--dps-accent-soft,color-mix(in srgb,var(--dps-accent) 22%,#fff));
  --dps-services-soft-strong:var(--dps-accent-soft-strong,color-mix(in srgb,var(--dps-accent) 38%,#fff));
}
html.dps-dark-mode .dps-property-servicespage{
  --dps-services-accent:var(--dps-services-soft);
  --dps-services-accent-strong:var(--dps-services-soft-strong);
  --dps-services-card:var(--dps-dark-card);
  --dps-services-text:var(--dps-dark-text);
  --dps-services-heading:var(--dps-dark-heading);
}

/* Darkmode-Icons: Soft-Farbe statt dunklem Hauptaccent */
html.dps-dark-mode .dps-property-servicespage .dps-service-icon,
html.dps-dark-mode .dps-property-servicespage .dps-service-block__icon{
  color:var(--dps-services-soft)!important;
  border-color:var(--dps-services-soft)!important;
  background:color-mix(in srgb,var(--dps-services-soft) 11%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-icon svg,
html.dps-dark-mode .dps-property-servicespage .dps-service-block__icon svg{
  color:inherit!important;
  stroke:currentColor!important;
}

/* Overview Cards im Darkmode */
html.dps-dark-mode .dps-property-servicespage .dps-service-overview-card{
  background:var(--dps-dark-card)!important;
  color:var(--dps-dark-text)!important;
  border-color:color-mix(in srgb,var(--dps-services-soft) 32%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-overview-card strong{
  color:var(--dps-dark-heading)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-overview-card small{
  color:color-mix(in srgb,var(--dps-dark-text) 70%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-overview-card::before{
  background:var(--dps-services-soft)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-overview-card>i{
  color:var(--dps-services-soft)!important;
}

/* Slider Cards: dunkle Card + heller Farbwelt-Kontrast */
html.dps-dark-mode .dps-property-servicespage .dps-service-slide{
  background:var(--dps-dark-card)!important;
  color:var(--dps-dark-text)!important;
  border-color:color-mix(in srgb,var(--dps-services-soft) 28%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slide h3{
  color:var(--dps-dark-heading)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slide::before{
  background:var(--dps-services-soft)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slide::after{
  background:color-mix(in srgb,var(--dps-services-soft) 8%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slide:hover{
  border-color:color-mix(in srgb,var(--dps-services-soft) 62%,transparent)!important;
}

/* Slider Navigation */
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__prev,
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__next{
  color:var(--dps-services-soft)!important;
  -webkit-text-fill-color:var(--dps-services-soft)!important;
  opacity:1!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__prev:hover,
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__next:hover{
  color:var(--dps-services-soft-strong)!important;
  -webkit-text-fill-color:var(--dps-services-soft-strong)!important;
}

/* Dots */
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__dots button{
  background:color-mix(in srgb,var(--dps-services-soft) 34%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-slider__dots button.is-active{
  background:var(--dps-services-soft)!important;
}

/* Kleine Zeilen und Abschluss-Card */
html.dps-dark-mode .dps-property-servicespage .dps-home-kicker{
  color:var(--dps-services-soft)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-block__closing{
  background:var(--dps-dark-card)!important;
  color:var(--dps-dark-text)!important;
  border-color:color-mix(in srgb,var(--dps-services-soft) 28%,transparent)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-block__closing h3{
  color:var(--dps-dark-heading)!important;
}
html.dps-dark-mode .dps-property-servicespage .dps-service-block__closing::before{
  background:var(--dps-services-soft)!important;
}

/* Accent-Sections: ebenfalls Soft-Farbe als sichtbarer UI-Kontrast */
html.dps-dark-mode .dps-property-servicespage [data-dps-section-style="accent"] .dps-service-block__icon,
html.dps-dark-mode .dps-property-servicespage [data-dps-section-style="accent"] .dps-service-icon{
  color:var(--dps-services-soft)!important;
  border-color:var(--dps-services-soft)!important;
}
html.dps-dark-mode .dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__prev,
html.dps-dark-mode .dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__next{
  color:var(--dps-services-soft)!important;
  -webkit-text-fill-color:var(--dps-services-soft)!important;
}
html.dps-dark-mode .dps-property-servicespage [data-dps-section-style="accent"] .dps-service-slider__dots button.is-active{
  background:var(--dps-services-soft)!important;
}


/* =========================================================
 * 1.0.17 – Globales Dateck Karten-Stil-System
 * Design > Karten-Design > Standard / Glas / Outline / Clean
 * Wirkt auf die bereits vorhandenen Property-Suite-Karten.
 * ======================================================= */

/* Gemeinsame Kartenziele der bisher gebauten Bereiche */
.dps-card-style-standard :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  --dps-card-surface:var(--dps-card);
  --dps-card-surface-dark:var(--dps-dark-card);
}

/* ---------------- GLAS ---------------- */
.dps-card-style-glass :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  background:color-mix(in srgb,var(--dps-card) 72%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--dps-accent) 22%,rgba(255,255,255,.38))!important;
  box-shadow:0 18px 46px rgba(15,23,42,.11)!important;
  -webkit-backdrop-filter:blur(18px) saturate(128%);
  backdrop-filter:blur(18px) saturate(128%);
}

html.dps-dark-mode .dps-card-style-glass :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  background:color-mix(in srgb,var(--dps-dark-card) 68%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 30%,rgba(255,255,255,.14))!important;
  box-shadow:0 20px 52px rgba(0,0,0,.24)!important;
}

/* Glass highlight */
.dps-card-style-glass :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
)::before{
  border-color:transparent!important;
}

/* ---------------- OUTLINE ---------------- */
.dps-card-style-outline :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  background:transparent!important;
  box-shadow:none!important;
  border:1.5px solid color-mix(in srgb,var(--dps-accent) 42%,transparent)!important;
}
html.dps-dark-mode .dps-card-style-outline :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  border-color:color-mix(in srgb,var(--dps-accent-soft) 48%,transparent)!important;
}

/* ---------------- CLEAN ---------------- */
.dps-card-style-clean :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  background:var(--dps-card)!important;
  border-color:color-mix(in srgb,var(--dps-text) 10%,transparent)!important;
  box-shadow:none!important;
}
html.dps-dark-mode .dps-card-style-clean :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
){
  background:var(--dps-dark-card)!important;
  border-color:color-mix(in srgb,var(--dps-dark-text) 12%,transparent)!important;
}

/* Global hover behaves consistently with the current Design settings */
.dps-card-style-glass :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
):hover{
  border-color:color-mix(in srgb,var(--dps-accent) 48%,transparent)!important;
}
html.dps-dark-mode .dps-card-style-glass :is(
  .dps-property-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing,
  .dps-team-card,
  .dps-about-card,
  .dps-home-card,
  .dps-feature-card,
  .dps-gallery-card,
  .dps-cta-card
):hover{
  border-color:color-mix(in srgb,var(--dps-accent-soft) 55%,transparent)!important;
}

/* Slider cards must keep their accent strip in every card style */
.dps-card-style-glass .dps-service-slide::before,
.dps-card-style-outline .dps-service-slide::before,
.dps-card-style-clean .dps-service-slide::before{
  display:block!important;
  content:""!important;
  background:var(--dps-accent)!important;
}
html.dps-dark-mode .dps-card-style-glass .dps-service-slide::before,
html.dps-dark-mode .dps-card-style-outline .dps-service-slide::before,
html.dps-dark-mode .dps-card-style-clean .dps-service-slide::before{
  background:var(--dps-accent-soft)!important;
}

/* The soft color principle now applies to ALL existing Dateck module icons in dark mode */
html.dps-dark-mode :is(
  .dps-property-homepage,
  .dps-property-aboutpage,
  .dps-property-servicespage
) :is(
  .dps-service-icon,
  .dps-service-block__icon,
  .dps-team-card svg,
  .dps-team-card .dashicons,
  .dps-home-card svg,
  .dps-feature-card svg
){
  color:var(--dps-accent-soft)!important;
  stroke:currentColor!important;
}

/* Preset safe navigation accents across current sections */
html.dps-dark-mode :is(
  .dps-property-homepage,
  .dps-property-aboutpage,
  .dps-property-servicespage
) :is(
  .dps-service-slider__prev,
  .dps-service-slider__next
){
  color:var(--dps-accent-soft)!important;
  -webkit-text-fill-color:var(--dps-accent-soft)!important;
}


/* =========================================================
 * 1.0.19 – Global Card Style Audit / echtes Glassmorphism
 * Korrigiert die realen Frontend-Klassennamen aller bisher
 * vorhandenen Kartenbereiche.
 * ======================================================= */

/* Reale Kartenklassen: Startseite, Über uns/Team, Leistungen */
body.dps-card-style-glass :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
){
 position:relative;
 isolation:isolate;
 background:color-mix(in srgb,var(--dps-card) 46%,transparent)!important;
 border:1px solid color-mix(in srgb,#ffffff 62%,var(--dps-accent) 38%)!important;
 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.62),
   0 14px 38px rgba(15,23,42,.10)!important;
 -webkit-backdrop-filter:blur(20px) saturate(145%);
 backdrop-filter:blur(20px) saturate(145%);
}

html.dps-dark-mode body.dps-card-style-glass :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
){
 background:color-mix(in srgb,var(--dps-dark-card) 44%,transparent)!important;
 border-color:color-mix(in srgb,var(--dps-accent-soft) 44%,rgba(255,255,255,.20))!important;
 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.10),
   0 18px 46px rgba(0,0,0,.24)!important;
}

/* echter Glas-Lichtreflex, ohne bestehende Service-Akzentlinie zu zerstören */
body.dps-card-style-glass :is(.dps-home-property-card,.dps-about-team-card)::after{
 content:"";
 position:absolute;
 z-index:-1;
 inset:0;
 pointer-events:none;
 border-radius:inherit;
 background:linear-gradient(135deg,rgba(255,255,255,.20),transparent 34%,transparent 72%,rgba(255,255,255,.06));
}
html.dps-dark-mode body.dps-card-style-glass :is(.dps-home-property-card,.dps-about-team-card)::after{
 background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 34%,transparent 72%,color-mix(in srgb,var(--dps-accent-soft) 8%,transparent));
}

/* Service-Übersicht: vorhandene Deko bleibt, Oberfläche wird wirklich transparent */
body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card{
 background:color-mix(in srgb,var(--dps-card) 42%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card{
 background:color-mix(in srgb,var(--dps-dark-card) 40%,transparent)!important;
}

/* Slider */
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide{
 background:color-mix(in srgb,var(--dps-card) 45%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide{
 background:color-mix(in srgb,var(--dps-dark-card) 42%,transparent)!important;
}
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::after{
 background:color-mix(in srgb,var(--dps-accent) 7%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::after{
 background:color-mix(in srgb,var(--dps-accent-soft) 7%,transparent)!important;
}

/* Abschlusskarte */
body.dps-card-style-glass .dps-property-servicespage .dps-service-block__closing{
 background:color-mix(in srgb,var(--dps-card) 45%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-block__closing{
 background:color-mix(in srgb,var(--dps-dark-card) 42%,transparent)!important;
}

/* Teamkarten – Bilder bleiben natürlich deckend, nur der Card-Body ist Glas */
body.dps-card-style-glass .dps-about-team-card__body{
 background:transparent!important;
}

/* Objektkarten */
body.dps-card-style-glass .dps-home-property-card__body{
 background:transparent!important;
}

/* Outline: reale Kartenklassen */
body.dps-card-style-outline :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
){
 background:transparent!important;
 box-shadow:none!important;
 border:1.5px solid color-mix(in srgb,var(--dps-accent) 48%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-outline :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
){
 border-color:color-mix(in srgb,var(--dps-accent-soft) 52%,transparent)!important;
}

/* Clean: reale Kartenklassen */
body.dps-card-style-clean :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
){
 background:var(--dps-card)!important;
 box-shadow:none!important;
 border:1px solid color-mix(in srgb,var(--dps-text) 9%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-clean :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
){
 background:var(--dps-dark-card)!important;
 border-color:color-mix(in srgb,var(--dps-dark-text) 12%,transparent)!important;
}

/* Glass hover – subtil, nicht wieder zu einer massiven Card machen */
body.dps-card-style-glass :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
):hover{
 border-color:color-mix(in srgb,var(--dps-accent) 58%,#ffffff 42%)!important;
}
html.dps-dark-mode body.dps-card-style-glass :is(
 .dps-home-property-card,
 .dps-about-team-card,
 .dps-service-overview-card,
 .dps-service-slide,
 .dps-service-block__closing
):hover{
 border-color:color-mix(in srgb,var(--dps-accent-soft) 66%,rgba(255,255,255,.20))!important;
}

/* Overlay/Minimal-Sonderlayouts behalten ihre funktionale Darstellung.
   Glass wirkt dort auf die lesbare Contentfläche statt das Bild zu milchig zu machen. */
body.dps-card-style-glass .dps-about-team-grid.is-overlay .dps-about-team-card{
 background:#111!important;
 border-color:color-mix(in srgb,var(--dps-accent) 30%,transparent)!important;
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
}
body.dps-card-style-glass .dps-home-properties-grid.is-card-overlay .dps-home-property-card{
 background:#111!important;
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
}

/* =========================================================
 * 1.0.19 – Glass final pass
 * One authoritative layer for real cards + slider viewport.
 * ======================================================= */

/* Slider viewport must NEVER render its own surface/shadow. */
.dps-property-servicespage :is(.dps-service-slider,.dps-service-slider__viewport,.dps-service-slider__track){
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;outline:0!important;box-shadow:none!important;filter:none!important;
}
.dps-property-servicespage .dps-service-slider__viewport{overflow:hidden!important;padding:0!important;}
.dps-property-servicespage .dps-service-slider__track{padding-bottom:18px!important;}
.dps-property-servicespage .dps-service-slider__track::before,
.dps-property-servicespage .dps-service-slider__track::after,
.dps-property-servicespage .dps-service-slider__viewport::before,
.dps-property-servicespage .dps-service-slider__viewport::after{display:none!important;content:none!important;}

/* Real glass: deliberately translucent, with visible glass edge/highlight. */
body.dps-card-style-glass :is(.dps-service-overview-card,.dps-service-slide,.dps-service-block__closing,.dps-about-team-card,.dps-home-property-card){
  background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(255,255,255,.26))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 10px 28px rgba(15,23,42,.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
}
html.dps-dark-mode body.dps-card-style-glass :is(.dps-service-overview-card,.dps-service-slide,.dps-service-block__closing,.dps-about-team-card,.dps-home-property-card){
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;
  border:1px solid color-mix(in srgb,var(--dps-accent-soft) 42%,rgba(255,255,255,.38))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 12px 30px rgba(0,0,0,.14)!important;
}

/* Service slides: no giant clipped shadow that looks like a grey viewport. */
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide,
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}

/* Team: image stays crisp; content surface belongs to the glass parent. */
body.dps-card-style-glass .dps-about-team-card__body{background:transparent!important;}
body.dps-card-style-glass .dps-about-team-card__image{background:transparent!important;}
body.dps-card-style-glass .dps-about-team-card{overflow:hidden;}

/* Dark mode team/contact UI follows the soft counterpart color. */
html.dps-dark-mode body.dps-card-style-glass .dps-about-team-card__contact a{
  color:var(--dps-accent-soft)!important;border-color:color-mix(in srgb,var(--dps-accent-soft) 42%,transparent)!important;
}


/* =========================================================
 * 1.0.20 – Glassmorphism auf einfarbigen Sections sichtbar
 * Frosted Surface statt nur transparentem Background.
 * ======================================================= */

body.dps-card-style-glass{
  --dps-glass-light:
    linear-gradient(135deg,
      rgba(255,255,255,.44) 0%,
      rgba(255,255,255,.22) 34%,
      color-mix(in srgb,var(--dps-accent) 7%,rgba(255,255,255,.12)) 100%);
  --dps-glass-dark:
    linear-gradient(135deg,
      rgba(255,255,255,.105) 0%,
      rgba(255,255,255,.045) 30%,
      color-mix(in srgb,var(--dps-accent-soft) 9%,rgba(255,255,255,.025)) 100%);
}

/* echte Frosted-Oberfläche – relevant für alle bereits gebauten Card-Typen */
body.dps-card-style-glass :is(
  .dps-home-property-card,
  .dps-about-team-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
){
  background:
    var(--dps-glass-light),
    color-mix(in srgb,var(--dps-card) 34%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--dps-accent) 22%,rgba(255,255,255,.64))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 18px 44px rgba(15,23,42,.10)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%);
}

html.dps-dark-mode body.dps-card-style-glass :is(
  .dps-home-property-card,
  .dps-about-team-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
){
  background:
    var(--dps-glass-dark),
    color-mix(in srgb,var(--dps-dark-card) 30%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 32%,rgba(255,255,255,.20))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 20px 48px rgba(0,0,0,.22)!important;
}

/* Team: Bild bleibt deckend, Textteil bleibt Teil derselben Glas-Card */
body.dps-card-style-glass .dps-about-team-card__body{
  background:transparent!important;
}

/* Objektkarte ebenso */
body.dps-card-style-glass .dps-home-property-card__body{
  background:transparent!important;
}

/* Service-Karten behalten ihre Farbwelt-Deko, aber deutlich softer */
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::after,
body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card::after{
  background:color-mix(in srgb,var(--dps-accent) 5%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::after,
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card::after{
  background:color-mix(in srgb,var(--dps-accent-soft) 6%,transparent)!important;
}

/* Die obere Akzentkante wird beim Glas heller und filigraner */
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::before{
  background:color-mix(in srgb,var(--dps-accent) 72%,#ffffff 28%)!important;
  height:3px!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::before{
  background:var(--dps-accent-soft)!important;
}

/* Hover: mehr Licht statt einfach mehr Schatten */
body.dps-card-style-glass :is(
  .dps-home-property-card,
  .dps-about-team-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
):hover{
  border-color:color-mix(in srgb,var(--dps-accent) 42%,#ffffff 58%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 22px 52px rgba(15,23,42,.13)!important;
}

html.dps-dark-mode body.dps-card-style-glass :is(
  .dps-home-property-card,
  .dps-about-team-card,
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
):hover{
  border-color:color-mix(in srgb,var(--dps-accent-soft) 52%,rgba(255,255,255,.28))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 24px 56px rgba(0,0,0,.28)!important;
}

/* Viewport/Track bleibt garantiert unsichtbar */
body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-slider,
  .dps-service-slider__viewport,
  .dps-service-slider__track
){
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  filter:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Suchbox-artige Glaswirkung für die Leistungsübersicht im Darkmode */
html.dps-dark-mode body.dps-card-style-glass .dps-service-overview-card{
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.035) 42%,
      color-mix(in srgb,var(--dps-accent-soft) 8%,transparent)),
    color-mix(in srgb,var(--dps-dark-card) 28%,transparent)!important;
}


/* =========================================================
 * 1.0.21 – Frosted Glass sichtbarer + Darkmode Active Menu
 * ======================================================= */

/* ---------------------------------------------------------
 * Glas deutlich sichtbarer – näher an der Hero-Suchbox
 * ------------------------------------------------------ */
body.dps-card-style-glass :is(
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
){
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.58) 0%,
      rgba(255,255,255,.34) 42%,
      color-mix(in srgb,var(--dps-accent) 10%,rgba(255,255,255,.22)) 100%
    )!important;
  border:1px solid color-mix(in srgb,var(--dps-accent) 22%,rgba(255,255,255,.78))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 16px 42px rgba(15,23,42,.10)!important;
  -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
  backdrop-filter:blur(24px) saturate(155%)!important;
}

/* Im Darkmode bewusst deutlich heller als die Section selbst */
html.dps-dark-mode body.dps-card-style-glass :is(
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
){
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.115) 0%,
      rgba(255,255,255,.058) 38%,
      color-mix(in srgb,var(--dps-accent-soft) 12%,rgba(255,255,255,.025)) 100%
    )!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 34%,rgba(255,255,255,.25))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 20px 46px rgba(0,0,0,.22)!important;
}

/* Überlagerung sichtbar machen, ohne einen massiven Farbblock zu erzeugen */
body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card::after,
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::after{
  opacity:1!important;
  background:
    radial-gradient(
      circle at 100% 100%,
      color-mix(in srgb,var(--dps-accent) 10%,transparent) 0 34%,
      transparent 35%
    )!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card::after,
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::after{
  background:
    radial-gradient(
      circle at 100% 100%,
      color-mix(in srgb,var(--dps-accent-soft) 11%,transparent) 0 34%,
      transparent 35%
    )!important;
}

/* Team ebenfalls auf denselben Frosted-Kontrast bringen */
body.dps-card-style-glass .dps-about-team-card{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.55),
      rgba(255,255,255,.30) 48%,
      color-mix(in srgb,var(--dps-accent) 8%,rgba(255,255,255,.20))
    )!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-about-team-card{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.045) 46%,
      color-mix(in srgb,var(--dps-accent-soft) 10%,rgba(255,255,255,.02))
    )!important;
}

/* ---------------------------------------------------------
 * Active Navigation / Header States
 * Darkmode nutzt die helle Gegenfarbe der Farbwelt
 * ------------------------------------------------------ */
html.dps-dark-mode :is(
  .dps-header-nav a.current-menu-item,
  .dps-header-nav .current-menu-item > a,
  .dps-header-nav a.current-menu-ancestor,
  .dps-header-nav .current-menu-ancestor > a,
  .dps-header-nav a.is-active,
  .dps-header-nav a[aria-current="page"],
  .dps-site-header nav a.current-menu-item,
  .dps-site-header nav .current-menu-item > a,
  .dps-site-header nav a[aria-current="page"]
){
  color:var(--dps-accent-soft)!important;
  -webkit-text-fill-color:var(--dps-accent-soft)!important;
}

/* Unterstrich / aktive Linie */
html.dps-dark-mode :is(
  .dps-header-nav a.current-menu-item,
  .dps-header-nav .current-menu-item > a,
  .dps-header-nav a.current-menu-ancestor,
  .dps-header-nav .current-menu-ancestor > a,
  .dps-header-nav a.is-active,
  .dps-header-nav a[aria-current="page"],
  .dps-site-header nav a.current-menu-item,
  .dps-site-header nav .current-menu-item > a,
  .dps-site-header nav a[aria-current="page"]
)::after{
  background:var(--dps-accent-soft)!important;
}

/* Fallback für Header-Implementationen mit border-bottom */
html.dps-dark-mode :is(
  .dps-header-nav a.current-menu-item,
  .dps-header-nav .current-menu-item > a,
  .dps-header-nav a.current-menu-ancestor,
  .dps-header-nav .current-menu-ancestor > a,
  .dps-header-nav a.is-active,
  .dps-header-nav a[aria-current="page"]
){
  border-bottom-color:var(--dps-accent-soft)!important;
}

/* DE/EN aktiver Zustand ebenfalls sauber kontrastreich */
html.dps-dark-mode :is(
  .dps-language-switch .is-active,
  .dps-language-switch [aria-current="true"],
  .dps-lang-switch .is-active,
  .dps-lang-switch [aria-current="true"]
){
  background:var(--dps-accent-soft)!important;
  color:#111!important;
}

/* ---------------------------------------------------------
 * Slider-Viewport bleibt weiterhin komplett transparent
 * ------------------------------------------------------ */
body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-slider,
  .dps-service-slider__viewport,
  .dps-service-slider__track
){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  outline:0!important;
  filter:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}


/* =========================================================
 * 1.0.22 – Frosted Glass sichtbar + Akzente zurück
 * + Header Hover Darkmode korrekt
 * ======================================================= */

/* ---------------------------------------------------------
 * GLAS: deutlich transparenter / heller als Section
 * ------------------------------------------------------ */
body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
){
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.72) 0%,
      rgba(255,255,255,.47) 44%,
      color-mix(in srgb,var(--dps-accent) 9%,rgba(255,255,255,.34)) 100%
    )!important;
  border:1px solid color-mix(in srgb,var(--dps-accent) 28%,rgba(255,255,255,.80))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 14px 38px rgba(15,23,42,.09)!important;
  -webkit-backdrop-filter:blur(26px) saturate(160%)!important;
  backdrop-filter:blur(26px) saturate(160%)!important;
}

/* Darkmode: bewusst sichtbar heller als der Section-Hintergrund */
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-overview-card,
  .dps-service-slide,
  .dps-service-block__closing
){
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.145) 0%,
      rgba(255,255,255,.080) 46%,
      color-mix(in srgb,var(--dps-accent-soft) 13%,rgba(255,255,255,.032)) 100%
    )!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 38%,rgba(255,255,255,.28))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 0 0 1px rgba(255,255,255,.045),
    0 18px 44px rgba(0,0,0,.20)!important;
}

/* Team ebenfalls klarer als Glasfläche */
body.dps-card-style-glass .dps-about-team-card{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.68),
      rgba(255,255,255,.42) 50%,
      color-mix(in srgb,var(--dps-accent) 8%,rgba(255,255,255,.28))
    )!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-about-team-card{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.135),
      rgba(255,255,255,.072) 48%,
      color-mix(in srgb,var(--dps-accent-soft) 12%,rgba(255,255,255,.025))
    )!important;
}

/* ---------------------------------------------------------
 * AKZENTE wieder sichtbar
 * ------------------------------------------------------ */

/* obere Linie Slidercards */
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:4px!important;
  background:var(--dps-accent)!important;
  opacity:1!important;
  z-index:3!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide::before{
  background:var(--dps-accent-soft)!important;
}

/* linke Akzentlinie Übersichtskarten */
body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:4px!important;
  height:auto!important;
  background:var(--dps-accent)!important;
  opacity:1!important;
  z-index:3!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-overview-card::before{
  background:var(--dps-accent-soft)!important;
}

/* Eck-Akzent unten rechts */
body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-overview-card,
  .dps-service-slide
)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:150px!important;
  height:150px!important;
  right:-55px!important;
  bottom:-62px!important;
  left:auto!important;
  top:auto!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--dps-accent) 9%,transparent)!important;
  opacity:1!important;
  pointer-events:none!important;
  z-index:0!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-overview-card,
  .dps-service-slide
)::after{
  background:color-mix(in srgb,var(--dps-accent-soft) 10%,transparent)!important;
}

/* Inhalte immer über Akzent-Deko */
body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-overview-card,
  .dps-service-slide
)>*{
  position:relative;
  z-index:1;
}

/* ---------------------------------------------------------
 * Slider-Viewport bleibt transparent
 * ------------------------------------------------------ */
body.dps-card-style-glass .dps-property-servicespage :is(
  .dps-service-slider,
  .dps-service-slider__viewport,
  .dps-service-slider__track
){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* ---------------------------------------------------------
 * HEADER DARKMODE HOVER
 * ------------------------------------------------------ */

/* normale Links beim Hover */
html.dps-dark-mode :is(
  .dps-header-nav a,
  .dps-site-header nav a
):hover{
  color:var(--dps-accent-soft)!important;
  -webkit-text-fill-color:var(--dps-accent-soft)!important;
}

/* Hover-Unterstrich */
html.dps-dark-mode :is(
  .dps-header-nav a,
  .dps-site-header nav a
):hover::after{
  background:var(--dps-accent-soft)!important;
}

/* vorhandene Navigation mit Border-Unterstrich */
html.dps-dark-mode :is(
  .dps-header-nav a,
  .dps-site-header nav a
):hover{
  border-bottom-color:var(--dps-accent-soft)!important;
}

/* Active bleibt ebenfalls Soft-Farbe */
html.dps-dark-mode :is(
  .dps-header-nav a.current-menu-item,
  .dps-header-nav .current-menu-item > a,
  .dps-header-nav a.current-menu-ancestor,
  .dps-header-nav .current-menu-ancestor > a,
  .dps-header-nav a.is-active,
  .dps-header-nav a[aria-current="page"],
  .dps-site-header nav .current-menu-item > a,
  .dps-site-header nav a[aria-current="page"]
){
  color:var(--dps-accent-soft)!important;
  -webkit-text-fill-color:var(--dps-accent-soft)!important;
  border-bottom-color:var(--dps-accent-soft)!important;
}


/* =========================================================
 * 1.0.23 – Slider-Viewport endgültig entfernen
 * ======================================================= */
.dps-property-servicespage .dps-service-slider,
.dps-property-servicespage .dps-service-slider__viewport,
.dps-property-servicespage .dps-service-slider__track{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

.dps-property-servicespage .dps-service-slider::before,
.dps-property-servicespage .dps-service-slider::after,
.dps-property-servicespage .dps-service-slider__viewport::before,
.dps-property-servicespage .dps-service-slider__viewport::after,
.dps-property-servicespage .dps-service-slider__track::before,
.dps-property-servicespage .dps-service-slider__track::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}

.dps-property-servicespage .dps-service-slider__track{
  padding-top:6px!important;
  padding-bottom:10px!important;
}

.dps-property-servicespage .dps-service-slider{
  padding-bottom:28px!important;
  overflow:visible!important;
}

.dps-property-servicespage .dps-service-slider__viewport{
  overflow:hidden!important;
}

.dps-property-servicespage .dps-service-slide,
.dps-property-servicespage .dps-service-slide:hover{
  box-shadow:none!important;
}


/* =========================================================
 * 1.0.24 – Slider-Unterkante / Compositing-Artefakt entfernen
 * Der graue Streifen kam nicht mehr vom Wrapper selbst,
 * sondern vom gemeinsamen Backdrop-Filter-Compositing der
 * Glass-Cards innerhalb des geclippten horizontalen Viewports.
 * ======================================================= */

/* Slider-Wrapper absolut flach und ohne zusätzliche Unterkante */
.dps-property-servicespage .dps-service-slider__viewport,
.dps-property-servicespage .dps-service-slider__track{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
.dps-property-servicespage .dps-service-slider__track{
  padding-top:6px!important;
  padding-bottom:0!important;
}

/* Wichtig: Glass-Optik bleibt über Verlauf + Border erhalten,
   aber kein backdrop-filter mehr auf den Slider-Cards.
   So entsteht im Overflow-Viewport kein gemeinsamer grauer Layer. */
body.dps-card-style-glass .dps-property-servicespage .dps-service-slide,
html.dps-dark-mode body.dps-card-style-glass .dps-property-servicespage .dps-service-slide{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none!important;
  box-shadow:none!important;
  isolation:isolate!important;
  transform:translateZ(0);
}

/* Keine Filter-/Shadow-Ausläufer unterhalb der Cards */
.dps-property-servicespage .dps-service-slide::before,
.dps-property-servicespage .dps-service-slide::after{
  box-shadow:none!important;
  filter:none!important;
}

/* Dots bekommen ihren Abstand separat – nicht über den Track */
.dps-property-servicespage .dps-service-slider__dots{
  margin-top:18px!important;
}


/* =========================================================
 * 1.0.25 – Hero-Texte als Glass-Panel
 * Einheitlich für Startseite und interne Property-Suite-Seiten.
 * Der Textblock bekommt eine dezente Frosted-Glass-Fläche,
 * damit H1/Kicker/Text auf Fotos jederzeit lesbar bleiben.
 * ======================================================= */

.dps-property-hero__content,
.dps-page-hero__content,
.dps-hero__content,
.dps-services-hero__content,
.dps-property-servicespage .dps-service-hero__content,
.dps-property-aboutpage .dps-about-hero__content,
.dps-property-contactpage .dps-contact-hero__content,
.dps-property-objectspage .dps-objects-hero__content{
  display:inline-block;
  width:auto;
  max-width:min(820px, calc(100% - 32px));
  padding:22px 28px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(8,20,38,.58),rgba(8,20,38,.30));
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  backdrop-filter:blur(12px) saturate(125%);
  box-shadow:0 12px 36px rgba(0,0,0,.16);
}

/* Falls einzelne Hero-Templates den Textwrapper anders benennen */
.dps-property-servicespage [class*="hero"] > .dps-container > div:first-child,
.dps-property-aboutpage [class*="hero"] > .dps-container > div:first-child{
  border-radius:18px;
}

/* Hero-Schrift bleibt klar über dem Glas */
.dps-property-hero__content *,
.dps-page-hero__content *,
.dps-hero__content *,
.dps-services-hero__content *,
.dps-service-hero__content *,
.dps-about-hero__content *,
.dps-contact-hero__content *,
.dps-objects-hero__content *{
  position:relative;
  z-index:1;
}

/* Mobile kompakter */
@media (max-width:767px){
  .dps-property-hero__content,
  .dps-page-hero__content,
  .dps-hero__content,
  .dps-services-hero__content,
  .dps-property-servicespage .dps-service-hero__content,
  .dps-property-aboutpage .dps-about-hero__content,
  .dps-property-contactpage .dps-contact-hero__content,
  .dps-property-objectspage .dps-objects-hero__content{
    max-width:calc(100% - 24px);
    padding:17px 19px;
    border-radius:15px;
    -webkit-backdrop-filter:blur(10px) saturate(120%);
    backdrop-filter:blur(10px) saturate(120%);
  }
}


/* =========================================================
 * 1.0.28 – Hero Glass Light / Dark
 * ======================================================= */
.dps-property-hero.has-text-glass .dps-property-hero__copy{
  display:block!important;width:fit-content!important;
  max-width:min(820px,calc(100% - 32px))!important;
  padding:24px 30px!important;border:1px solid rgba(255,255,255,.72)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,
    color-mix(in srgb,#fff calc(var(--dps-hero-glass-opacity,.65) * 100%),transparent) 0%,
    color-mix(in srgb,#fff calc(var(--dps-hero-glass-opacity,.65) * 82%),transparent) 52%,
    color-mix(in srgb,var(--dps-accent-soft) 12%,color-mix(in srgb,#fff calc(var(--dps-hero-glass-opacity,.65) * 72%),transparent)) 100%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),0 16px 42px rgba(15,23,42,.15)!important;
}
.dps-property-hero.has-text-glass.is-align-right .dps-property-hero__copy{margin-left:auto!important}
.dps-property-hero.has-text-glass.is-align-center .dps-property-hero__copy{margin-left:auto!important;margin-right:auto!important}
.dps-property-hero.has-text-glass .dps-property-hero__copy>*{position:relative;z-index:1}
.dps-property-hero.has-text-glass .dps-property-hero__copy h1,
.dps-property-hero.has-text-glass .dps-property-hero__copy p,
.dps-property-hero.has-text-glass .dps-property-hero__copy .dps-home-kicker{text-shadow:0 1px 10px rgba(0,0,0,.16)}

html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy{
  border-color:color-mix(in srgb,var(--dps-accent-soft) 48%,rgba(255,255,255,.22))!important;
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--dps-primary) 78%,color-mix(in srgb,rgb(7 16 30) calc(var(--dps-hero-glass-opacity,.65) * 100%),transparent)) 0%,
    color-mix(in srgb,var(--dps-primary) 64%,color-mix(in srgb,rgb(7 16 30) calc(var(--dps-hero-glass-opacity,.65) * 86%),transparent)) 58%,
    color-mix(in srgb,var(--dps-accent) 15%,color-mix(in srgb,rgb(7 16 30) calc(var(--dps-hero-glass-opacity,.65) * 78%),transparent)) 100%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 46px rgba(0,0,0,.25)!important;
}
html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy h1,
html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy p,
html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy .dps-home-kicker{
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.28)!important
}
html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy a:not(.dps-home-button):not(.is-primary){color:#fff!important}

@media(max-width:767px){
 .dps-property-hero.has-text-glass .dps-property-hero__copy{
   width:auto!important;max-width:calc(100% - 24px)!important;padding:18px 20px!important;border-radius:15px!important;
   -webkit-backdrop-filter:blur(14px) saturate(130%)!important;backdrop-filter:blur(14px) saturate(130%)!important
 }
}

/* =========================================================
 * 1.0.29 – Hero Glass typography
 * Glass AN + Light: Kleine Zeile, Headline und Text dunkel.
 * Glass AN + Dark: dieselben Texte weiß.
 * Glass AUS: keine Regel -> vorhandene weiße Hero-Typografie bleibt erhalten.
 * ======================================================= */
html:not(.dps-dark-mode) .dps-property-hero.has-text-glass .dps-property-hero__copy .dps-home-kicker,
html:not(.dps-dark-mode) .dps-property-hero.has-text-glass .dps-property-hero__copy h1,
html:not(.dps-dark-mode) .dps-property-hero.has-text-glass .dps-property-hero__copy p{
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  text-shadow:none!important;
}

html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy .dps-home-kicker,
html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy h1,
html.dps-dark-mode .dps-property-hero.has-text-glass .dps-property-hero__copy p{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.28)!important;
}


/* 1.0.30 Kontakt & Rechtliches */
.dps-property-contactpage,.dps-legal-page{background:var(--dps-background);color:var(--dps-text)}
.dps-contact-info,.dps-contact-form-section,.dps-contact-map,.dps-legal-page{padding:90px 24px}.dps-container{width:min(var(--dps-container,1200px),100%);margin:auto}.dps-section-heading{max-width:760px;margin:0 auto 44px}.dps-section-heading.is-center{text-align:center}.dps-section-heading p{color:var(--dps-muted)}
.dps-contact-office{max-width:850px;margin:0 auto 34px;text-align:center;padding:26px;border-radius:var(--dps-radius);background:color-mix(in srgb,var(--dps-card) 86%,transparent);border:1px solid color-mix(in srgb,var(--dps-accent) 14%,transparent)}.dps-contact-office h3{margin-top:0}.dps-contact-office p{color:var(--dps-muted)}
.dps-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dps-contact-card{display:flex;align-items:center;gap:18px;padding:26px;text-decoration:none!important;color:var(--dps-text)!important;background:var(--dps-card);border:1px solid color-mix(in srgb,var(--dps-accent) 20%,transparent);border-radius:var(--dps-radius);transition:.25s}.dps-contact-card:hover{transform:translateY(-5px);border-color:var(--dps-accent)}.dps-contact-card__icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--dps-accent) 10%,transparent);color:var(--dps-accent);flex:0 0 auto}.dps-contact-card svg{width:28px;fill:none;stroke:currentColor;stroke-width:1.8}.dps-contact-card strong,.dps-contact-card small{display:block}.dps-contact-card small{margin-top:5px;color:var(--dps-muted);white-space:normal}.dps-contact-card i{margin-left:auto;font-style:normal;color:var(--dps-accent)}.dps-contact-socials{display:flex;justify-content:center;gap:12px;margin-top:26px}.dps-contact-socials a{padding:9px 14px;border-radius:999px;background:color-mix(in srgb,var(--dps-accent) 9%,transparent);color:var(--dps-accent);text-decoration:none}
.dps-contact-form-section{background:color-mix(in srgb,var(--dps-accent) 4%,var(--dps-background))}.dps-contact-form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.dps-contact-form{position:relative;padding:32px;background:var(--dps-card);border:1px solid color-mix(in srgb,var(--dps-accent) 18%,transparent);border-radius:var(--dps-radius);box-shadow:0 18px 45px rgba(15,23,42,.08)}.dps-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dps-contact-form label{display:block;margin-bottom:18px}.dps-contact-form label>span:first-child{display:block;font-weight:700;margin-bottom:7px}.dps-contact-form input:not([type=checkbox]),.dps-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--dps-text) 15%,transparent);border-radius:12px;padding:13px 15px;background:var(--dps-background);color:var(--dps-text)}.dps-form-consent{display:flex!important;gap:10px;font-size:14px}.dps-contact-form button,.dps-map-route a{display:inline-flex;padding:14px 22px;border:0;border-radius:var(--dps-button-radius);background:var(--dps-button-bg);color:var(--dps-button-text);font-weight:700;text-decoration:none;cursor:pointer}.dps-hp{position:absolute!important;left:-9999px!important}.dps-contact-overlay{position:absolute;inset:0;display:none;place-content:center;text-align:center;background:color-mix(in srgb,var(--dps-card) 88%,transparent);backdrop-filter:blur(8px);border-radius:inherit;z-index:5}.dps-contact-form.is-sending .dps-contact-overlay{display:grid}.dps-contact-overlay span{width:34px;height:34px;border:3px solid color-mix(in srgb,var(--dps-accent) 25%,transparent);border-top-color:var(--dps-accent);border-radius:50%;animation:dpsspin .8s linear infinite;margin:0 auto 12px}@keyframes dpsspin{to{transform:rotate(360deg)}}.dps-contact-feedback{margin-top:15px;font-weight:700}.dps-contact-feedback.is-success{color:#16834a}.dps-contact-feedback.is-error{color:#b42318}
.dps-map-frame{overflow:hidden;border-radius:var(--dps-radius);border:1px solid color-mix(in srgb,var(--dps-accent) 20%,transparent);height:480px}.dps-map-frame iframe{width:100%;height:100%;border:0}.dps-map-route{text-align:center;margin-top:22px}
.dps-legal-page header{text-align:center;margin-bottom:50px}.dps-legal-page article{max-width:920px;margin:auto;padding:42px;background:var(--dps-card);border-radius:var(--dps-radius);border:1px solid color-mix(in srgb,var(--dps-accent) 16%,transparent)}
html.dps-dark-mode .dps-property-contactpage,html.dps-dark-mode .dps-legal-page{background:var(--dps-dark-background);color:var(--dps-dark-text)}html.dps-dark-mode .dps-contact-card,html.dps-dark-mode .dps-contact-office,html.dps-dark-mode .dps-contact-form,html.dps-dark-mode .dps-legal-page article{background:var(--dps-dark-card);color:var(--dps-dark-text)}html.dps-dark-mode .dps-contact-card__icon{color:var(--dps-accent-soft);background:color-mix(in srgb,var(--dps-accent-soft) 10%,transparent)}html.dps-dark-mode .dps-contact-form input:not([type=checkbox]),html.dps-dark-mode .dps-contact-form textarea{background:var(--dps-dark-background);color:var(--dps-dark-text)}
@media(max-width:850px){.dps-contact-cards{grid-template-columns:1fr}.dps-contact-form-grid{grid-template-columns:1fr;gap:35px}.dps-form-row{grid-template-columns:1fr}.dps-contact-info,.dps-contact-form-section,.dps-contact-map,.dps-legal-page{padding:65px 18px}.dps-map-frame{height:380px}}




/* 1.0.36 exact Unterkunft frontend contact/legal */
.dps-contact-container{width:min(var(--dps-container,1200px),calc(100% - 40px));margin:0 auto}
.dps-contact-hero{display:flex;align-items:center;min-height:360px;padding:70px 0;background:var(--dps-contact-hero-bg,#111);color:var(--dps-contact-hero-text,var(--dps-accent))}
.dps-contact-hero span{display:block;margin-bottom:4px;color:rgba(255,255,255,.62);font-size:14px}.dps-contact-hero h1{margin:0;color:inherit!important;font-size:var(--dps-h1-desktop,64px)}
.dps-contact-section{padding:110px 0;background:var(--dps-bg);transition:.25s}
.dps-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,1fr);gap:72px;align-items:center}
.dps-contact-badge{display:inline-flex;padding:10px 17px;border:1px solid var(--dps-contact-accent);border-radius:999px;color:var(--dps-contact-accent-dark);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.dps-contact-copy h2{margin:20px 0 12px;color:var(--dps-heading);font-size:var(--dps-h2-desktop,48px);font-weight:500;letter-spacing:.08em}.dps-contact-copy h3{margin:0 0 20px;color:var(--dps-heading);font-size:var(--dps-h3-desktop,28px)}.dps-contact-copy>p{max-width:620px;margin:0 0 32px;color:var(--dps-text);line-height:1.75}
.dps-contact-details{display:grid;gap:18px}.dps-contact-details a,.dps-contact-details>div{display:flex;align-items:center;gap:16px;color:var(--dps-text)!important;text-decoration:none!important}.dps-contact-details span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--dps-contact-accent) 18%,#fff);color:var(--dps-contact-accent-dark);flex:0 0 auto}.dps-contact-details svg{width:20px;height:20px;fill:currentColor}.dps-contact-details strong{font-weight:700}
.dps-contact-form{padding:38px;border:1px solid color-mix(in srgb,var(--dps-contact-accent) 55%,transparent);border-radius:28px;background:var(--dps-card);box-shadow:0 22px 55px rgba(0,0,0,.09)}
.dps-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.dps-contact-fields label{display:grid;gap:9px;color:var(--dps-text);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.dps-contact-fields .wide{grid-column:1/-1}.dps-contact-fields label>span small{font-weight:400;text-transform:none;letter-spacing:0}.dps-contact-fields input:not([type=checkbox]),.dps-contact-fields textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:28px;background:#f6f6f6;color:#1f1f1f;padding:15px 18px;font:inherit;text-transform:none;letter-spacing:0;outline:none;transition:.2s}.dps-contact-fields textarea{border-radius:22px;resize:vertical}.dps-contact-fields input:focus,.dps-contact-fields textarea:focus{border-color:var(--dps-contact-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dps-contact-accent) 18%,transparent)}
.dps-contact-privacy{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:14px!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:400!important}.dps-contact-privacy input{width:22px;height:22px;margin:0}.dps-contact-privacy a{color:var(--dps-contact-accent-dark)!important;text-decoration:none!important}.dps-contact-hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.dps-contact-form>button{width:100%;margin-top:24px;padding:17px 24px;border:0;border-radius:999px;background:var(--dps-contact-accent);color:#111;font-weight:800;letter-spacing:.08em;cursor:pointer;box-shadow:0 13px 30px color-mix(in srgb,var(--dps-contact-accent) 28%,transparent);transition:.2s}.dps-contact-form>button:hover{background:var(--dps-contact-accent-dark);transform:translateY(-1px)}.dps-contact-form>button:disabled{opacity:.65;cursor:wait}.dps-contact-message{display:none;margin-top:16px;padding:13px 16px;border-radius:12px;font-size:14px}.dps-contact-message.is-success{display:block;background:#e7f7ec;color:#176c35}.dps-contact-message.is-error{display:block;background:#fff0f0;color:#a52020}
.dps-contact-map{margin-top:70px}.dps-contact-map-heading{display:flex;align-items:flex-start;gap:16px;margin:0 0 24px}.dps-contact-map-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--dps-contact-accent) 18%,#fff);color:var(--dps-contact-accent-dark)}.dps-contact-map-icon svg{width:22px;height:22px;fill:currentColor}.dps-contact-map-heading h3{margin:0 0 7px;color:var(--dps-heading);font-size:var(--dps-h3-desktop,28px)}.dps-contact-map-heading p{max-width:760px;margin:0;color:var(--dps-text);line-height:1.7}.dps-contact-map iframe{display:block;width:100%;border:0;border-radius:24px;box-shadow:0 18px 45px rgba(0,0,0,.08)}.dps-contact-map-actions{display:flex;justify-content:flex-start;margin-top:22px}.dps-contact-map-button{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--dps-contact-accent);color:#111!important;text-decoration:none!important;font-weight:800;transition:.2s}.dps-contact-map-button span{transition:transform .2s}.dps-contact-map-button:hover{background:var(--dps-contact-accent-dark);color:#111!important}.dps-contact-map-button:hover span{transform:translate(3px,-2px)}
html.dps-dark-mode .dps-contact-section{background:var(--dps-dark-background)}html.dps-dark-mode .dps-contact-module{color:var(--dps-dark-text)}html.dps-dark-mode .dps-contact-copy h2,html.dps-dark-mode .dps-contact-copy h3{color:var(--dps-dark-heading)!important}html.dps-dark-mode .dps-contact-copy>p,html.dps-dark-mode .dps-contact-details a,html.dps-dark-mode .dps-contact-details>div{color:var(--dps-dark-text)!important}html.dps-dark-mode .dps-contact-form{background:var(--dps-dark-card);border-color:color-mix(in srgb,var(--dps-contact-accent) 45%,transparent)}html.dps-dark-mode .dps-contact-map-heading h3{color:var(--dps-dark-heading)!important}html.dps-dark-mode .dps-contact-map-heading p{color:var(--dps-dark-text)!important}html.dps-dark-mode .dps-contact-map-icon{background:color-mix(in srgb,var(--dps-contact-accent) 18%,var(--dps-dark-card));color:var(--dps-contact-accent)}html.dps-dark-mode .dps-contact-fields label{color:var(--dps-dark-text)}html.dps-dark-mode .dps-contact-fields input:not([type=checkbox]),html.dps-dark-mode .dps-contact-fields textarea{background:#1b1b1b;border-color:#444;color:var(--dps-dark-text)}
@media(max-width:900px){.dps-contact-grid{grid-template-columns:1fr;gap:50px}.dps-contact-hero h1{font-size:var(--dps-h1-tablet,52px)}.dps-contact-copy h2{font-size:var(--dps-h2-tablet,40px)}}
@media(max-width:600px){.dps-contact-map-heading{gap:12px}.dps-contact-map-icon{width:42px;height:42px}.dps-contact-map-heading h3{font-size:var(--dps-h3-mobile,22px)}.dps-contact-map-actions{display:block}.dps-contact-map-button{justify-content:center;width:100%;box-sizing:border-box}.dps-contact-container{width:min(100% - 28px,var(--dps-container,1200px))}.dps-contact-hero{min-height:250px;padding:48px 0}.dps-contact-hero h1{font-size:var(--dps-h1-mobile,40px)}.dps-contact-section{padding:72px 0}.dps-contact-copy h2{font-size:var(--dps-h2-mobile,32px)}.dps-contact-fields{grid-template-columns:1fr}.dps-contact-fields .wide{grid-column:auto}.dps-contact-form{padding:25px 18px;border-radius:22px}}
.dps-legal-frontend{width:min(var(--dps-container,1200px),calc(100% - 40px));margin:0 auto;padding:70px 0;line-height:1.75}.dps-legal-frontend h1{margin:0 0 32px}.dps-legal-frontend h2{margin:34px 0 10px}.dps-legal-frontend p{max-width:900px}.dps-legal-frontend a{color:var(--dps-accent)}

/* Dateck Unterkunft Suite – Legal pages and consent banner */
.dps-legal-hero{background:var(--dps-legal-hero-bg,#111);color:var(--dps-legal-hero-color,#fff);padding:clamp(90px,12vw,170px) 20px;text-align:center}
.dps-legal-hero>div{width:min(var(--dps-container,1200px),100%);margin:0 auto}
body .dps-legal-hero h1{color:inherit!important;margin:0 0 20px!important;font-family:var(--dps-font-heading,inherit)!important;font-size:clamp(48px,6vw,72px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-.025em!important}
body .dps-legal-hero p{color:inherit!important;opacity:.88;max-width:760px;margin:0 auto!important;font-size:clamp(18px,1.8vw,22px)!important;line-height:1.65!important}
@media(max-width:600px){body .dps-legal-hero h1{font-size:clamp(38px,12vw,52px)!important;margin-bottom:14px!important}body .dps-legal-hero p{font-size:17px!important}}


/* =========================================================
 * 1.0.43 – Kontaktbereich optisch wie Dateck Unterkunft Suite
 * ======================================================= */

.dps-contact-module{
  --dps-contact-surface:color-mix(in srgb,var(--dps-card,#fff) 88%,transparent);
  --dps-contact-surface-strong:color-mix(in srgb,var(--dps-card,#fff) 96%,transparent);
  --dps-contact-border:color-mix(in srgb,var(--dps-contact-accent) 30%,#dbe3ec);
  --dps-contact-muted:color-mix(in srgb,var(--dps-text,#172033) 66%,transparent);
}

.dps-contact-section{
  padding:88px 24px!important;
  background:var(--dps-section-bg,var(--dps-background,#f7f9fc))!important;
  color:var(--dps-text,#172033)!important;
}

.dps-contact-container{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
}

.dps-contact-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr)!important;
  gap:70px!important;
  align-items:center!important;
}

.dps-contact-copy{
  align-self:center!important;
  padding:0!important;
  max-width:100%!important;
}

.dps-contact-copy .dps-contact-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-width:100%!important;
  min-height:40px!important;
  margin:0 0 24px!important;
  padding:9px 16px!important;
  border:1px solid var(--dps-contact-accent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--dps-contact-accent) 10%,transparent)!important;
  color:var(--dps-contact-accent-dark,var(--dps-contact-accent))!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.dps-contact-copy h2{
  margin:0 0 10px!important;
  color:var(--dps-heading,var(--dps-text,#172033))!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.08!important;
}

.dps-contact-copy h3{
  margin:0 0 22px!important;
  color:var(--dps-heading,var(--dps-text,#172033))!important;
  font-size:20px!important;
  line-height:1.35!important;
}

.dps-contact-copy>p{
  margin:0 0 34px!important;
  max-width:620px!important;
  color:var(--dps-contact-muted)!important;
  font-size:17px!important;
  line-height:1.75!important;
}

.dps-contact-details{
  display:grid!important;
  gap:16px!important;
  margin:0!important;
}

.dps-contact-details>a,
.dps-contact-details>div{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:68px!important;
  padding:12px 18px!important;
  border:1px solid color-mix(in srgb,var(--dps-contact-border) 68%,#dbe3ec)!important;
  border-radius:12px!important;
  background:var(--dps-contact-surface-strong)!important;
  color:var(--dps-text,#172033)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}

.dps-contact-details>a:hover{
  transform:translateY(-2px)!important;
  border-color:var(--dps-contact-accent)!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--dps-contact-accent) 12%,rgba(15,23,42,.08))!important;
}

.dps-contact-details>a>span,
.dps-contact-details>div>span{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--dps-contact-accent) 11%,#eef2f7)!important;
  color:var(--dps-contact-accent)!important;
}

.dps-contact-details svg{
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
}

.dps-contact-details strong{
  color:var(--dps-text,#172033)!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.45!important;
}

.dps-contact-form{
  position:relative!important;
  align-self:start!important;
  width:100%!important;
  margin:0!important;
  padding:34px!important;
  border:1px solid var(--dps-contact-border)!important;
  border-radius:18px!important;
  background:var(--dps-contact-surface-strong)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.10)!important;
  box-sizing:border-box!important;
}

.dps-contact-form::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:100px!important;
  height:80px!important;
  border-radius:0 18px 0 100%!important;
  background:color-mix(in srgb,var(--dps-contact-accent) 10%,transparent)!important;
  pointer-events:none!important;
}

.dps-contact-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}

.dps-contact-fields label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0!important;
}

.dps-contact-fields label.wide{
  grid-column:1/-1!important;
}

.dps-contact-fields label>span{
  color:var(--dps-text,#172033)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
}

.dps-contact-fields input,
.dps-contact-fields textarea,
.dps-contact-fields select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid color-mix(in srgb,var(--dps-contact-border) 48%,#d7dde5)!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--dps-background,#f7f9fc) 78%,#fff)!important;
  color:var(--dps-text,#172033)!important;
  font:inherit!important;
  line-height:1.4!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  appearance:auto!important;
}

.dps-contact-fields input{
  height:48px!important;
  min-height:48px!important;
}

.dps-contact-fields textarea{
  height:160px!important;
  min-height:160px!important;
  max-height:240px!important;
  resize:vertical!important;
}

.dps-contact-fields input:focus,
.dps-contact-fields textarea:focus,
.dps-contact-fields select:focus{
  outline:none!important;
  border-color:var(--dps-contact-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dps-contact-accent) 14%,transparent)!important;
}

.dps-contact-privacy{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:18px 0!important;
  color:var(--dps-contact-muted)!important;
  font-size:14px!important;
  line-height:1.5!important;
}

.dps-contact-privacy input[type="checkbox"]{
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  margin:1px 0 0!important;
  accent-color:var(--dps-contact-accent)!important;
}

.dps-contact-privacy a{
  color:var(--dps-contact-accent-dark,var(--dps-contact-accent))!important;
}

.dps-contact-submit,
.dps-contact-form button[type="submit"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:13px 20px!important;
  border:1px solid var(--dps-contact-accent)!important;
  border-radius:10px!important;
  background:var(--dps-contact-accent)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--dps-contact-accent) 26%,transparent)!important;
  cursor:pointer!important;
  transition:transform .2s ease,filter .2s ease!important;
}

.dps-contact-submit:hover,
.dps-contact-form button[type="submit"]:hover{
  transform:translateY(-1px)!important;
  filter:brightness(.95)!important;
}

html.dps-dark-mode .dps-contact-module{
  --dps-contact-surface:color-mix(in srgb,var(--dps-card-dark,#17202e) 82%,transparent);
  --dps-contact-surface-strong:color-mix(in srgb,var(--dps-card-dark,#17202e) 92%,transparent);
  --dps-contact-border:color-mix(in srgb,var(--dps-accent-soft,var(--dps-contact-accent)) 46%,rgba(255,255,255,.16));
  --dps-contact-muted:rgba(255,255,255,.72);
}

html.dps-dark-mode .dps-contact-section{
  background:var(--dps-dark-background,#0d1623)!important;
  color:#fff!important;
}

html.dps-dark-mode .dps-contact-copy h2,
html.dps-dark-mode .dps-contact-copy h3,
html.dps-dark-mode .dps-contact-details strong,
html.dps-dark-mode .dps-contact-fields label>span{
  color:#fff!important;
}

html.dps-dark-mode .dps-contact-details>a,
html.dps-dark-mode .dps-contact-details>div,
html.dps-dark-mode .dps-contact-form{
  background:var(--dps-contact-surface-strong)!important;
}

html.dps-dark-mode .dps-contact-fields input,
html.dps-dark-mode .dps-contact-fields textarea,
html.dps-dark-mode .dps-contact-fields select{
  background:color-mix(in srgb,var(--dps-dark-background,#0d1623) 74%,#fff 6%)!important;
  color:#fff!important;
}

@media(max-width:980px){
  .dps-contact-grid{
    grid-template-columns:1fr!important;
    gap:42px!important;
  }
  .dps-contact-copy{
    max-width:760px!important;
  }
}

@media(max-width:640px){
  .dps-contact-section{
    padding:64px 18px!important;
  }
  .dps-contact-form{
    padding:24px 18px!important;
    border-radius:15px!important;
  }
  .dps-contact-fields{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }
  .dps-contact-fields label.wide{
    grid-column:auto!important;
  }
  .dps-contact-copy .dps-contact-badge{
    min-width:0!important;
  }
}


/* 1.0.44 – Kontakt: Darkmode, Datenschutzzeile, Hero-Akzente */
.dps-contact-module{--dps-contact-accent:var(--dps-contact-accent-light,var(--dps-accent,#0e2a5f))}
html.dps-dark-mode .dps-contact-module{--dps-contact-accent:var(--dps-contact-accent-dark,var(--dps-accent-soft,#7fa9ff))}

html.dps-dark-mode .dps-contact-copy .dps-contact-badge{
  color:var(--dps-contact-accent)!important;
  border-color:var(--dps-contact-accent)!important;
  background:color-mix(in srgb,var(--dps-contact-accent) 14%,transparent)!important;
}

.dps-contact-privacy{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin:18px 0 20px!important;
}
.dps-contact-privacy input[type="checkbox"]{
  flex:0 0 20px!important;width:20px!important;height:20px!important;min-width:20px!important;margin:2px 0 0!important;
}
.dps-contact-privacy label,
.dps-contact-privacy span{
  margin:0!important;padding:0!important;font-size:14px!important;line-height:1.55!important;
  text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:var(--dps-contact-muted)!important;
}
.dps-contact-privacy a{color:var(--dps-contact-accent)!important;text-decoration:underline!important;text-underline-offset:2px!important}
html.dps-dark-mode .dps-contact-privacy label,
html.dps-dark-mode .dps-contact-privacy span{color:rgba(255,255,255,.78)!important}

.dps-contact-hero{
  --dps-contact-effect-active:var(--dps-contact-effect-color,#f7cb68);
}
html.dps-dark-mode .dps-contact-hero{
  --dps-contact-effect-active:var(--dps-contact-effect-color-dark,#7fa9ff);
}
.dps-contact-hero::before,
.dps-contact-hero::after{
  color:var(--dps-contact-effect-active)!important;
  border-color:var(--dps-contact-effect-active)!important;
}


/* 1.0.45 – Exakte Kontakt-Selektoren */
html.dps-dark-mode .dps-contact-module .dps-contact-copy > .dps-contact-badge{
  color:var(--dps-contact-accent-dark,#9fc0ff)!important;
  border-color:var(--dps-contact-accent-dark,#9fc0ff)!important;
  background:color-mix(in srgb,var(--dps-contact-accent-dark,#9fc0ff) 16%,transparent)!important;
}
.dps-contact-module .dps-contact-fields > label.wide.dps-contact-privacy{
  grid-column:1/-1!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:18px 0 20px!important;
  padding:0!important;
}
.dps-contact-module .dps-contact-fields > label.wide.dps-contact-privacy > input[type=checkbox]{
  flex:0 0 20px!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:2px 0 0!important;padding:0!important;
}
.dps-contact-module .dps-contact-fields > label.wide.dps-contact-privacy > span{
  display:block!important;flex:1 1 auto!important;width:auto!important;margin:0!important;padding:0!important;
  color:var(--dps-contact-muted)!important;font-size:14px!important;line-height:1.55!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;
}
.dps-contact-module .dps-contact-fields > label.wide.dps-contact-privacy > span > a{
  color:var(--dps-contact-accent-light,var(--dps-contact-accent))!important;text-decoration:underline!important;text-underline-offset:2px!important;
}
html.dps-dark-mode .dps-contact-module .dps-contact-fields > label.wide.dps-contact-privacy > span{color:rgba(255,255,255,.82)!important}
html.dps-dark-mode .dps-contact-module .dps-contact-fields > label.wide.dps-contact-privacy > span > a{color:var(--dps-contact-accent-dark,#9fc0ff)!important}

.dps-contact-framework-hero{--dps-legal-hero-accent-active:var(--dps-legal-hero-accent)!important}
html.dps-dark-mode .dps-contact-framework-hero{--dps-legal-hero-accent-active:var(--dps-legal-hero-accent-dark,#9fc0ff)!important}
.dps-contact-framework-hero .dps-legal-orb,
.dps-contact-framework-hero::before,
.dps-contact-framework-hero::after{color:var(--dps-legal-hero-accent-active)!important;border-color:var(--dps-legal-hero-accent-active)!important}

/* =========================================================
 * 1.0.47 – Kontakt-Hero: echte DPS-Framework-Engine
 * Dark Mode, Hintergrundakzente und bündige Kontaktspalten
 * ======================================================= */
.dps-contact-framework-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:var(--dps-contact-hero-desktop,520px)!important;
  padding:clamp(70px,9vw,135px) 20px!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  background:var(--dps-legal-hero-bg,#f5f5f5)!important;
  color:var(--dps-legal-hero-color,#172033)!important;
  text-align:center!important;
}
.dps-contact-framework-hero__image{
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.dps-contact-framework-hero.has-background-image::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:rgba(0,0,0,.34)!important;
}
.dps-contact-framework-hero.has-background-image{
  color:#fff!important;
}
.dps-contact-framework-hero .dps-legal-hero-inner{
  position:relative!important;
  z-index:3!important;
  width:min(var(--dps-container,1200px),100%)!important;
  margin:0 auto!important;
}
.dps-contact-framework-hero .dps-legal-eyebrow{
  display:block!important;
  margin-bottom:12px!important;
  color:var(--dps-legal-hero-accent,#f7cb68)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.dps-contact-framework-hero h1{
  color:inherit!important;
}
.dps-contact-framework-hero p{
  color:var(--dps-legal-hero-body,currentColor)!important;
}
.dps-contact-framework-hero.dps-legal-hero-align-left{text-align:left!important}
.dps-contact-framework-hero.dps-legal-hero-align-right{text-align:right!important}
.dps-contact-framework-hero.dps-legal-hero-align-left p{margin-left:0!important;margin-right:auto!important}
.dps-contact-framework-hero.dps-legal-hero-align-right p{margin-left:auto!important;margin-right:0!important}
.dps-contact-framework-hero-position-top{align-items:flex-start!important}
.dps-contact-framework-hero-position-center{align-items:center!important}
.dps-contact-framework-hero-position-bottom{align-items:flex-end!important}

html.dps-dark-mode .dps-contact-framework-hero{
  background:var(--dps-legal-hero-dark-bg,#0d1623)!important;
  color:var(--dps-legal-hero-dark-color,#fff)!important;
}
html.dps-dark-mode .dps-contact-framework-hero p{
  color:var(--dps-legal-hero-dark-color,#fff)!important;
}
html.dps-dark-mode .dps-contact-framework-hero .dps-legal-eyebrow{
  color:var(--dps-legal-hero-accent-dark,#9fc0ff)!important;
}

.dps-contact-framework-hero::before,
.dps-contact-framework-hero::after,
.dps-contact-framework-hero .dps-legal-orb{pointer-events:none!important}
.dps-contact-framework-hero .dps-legal-orb{
  display:none;
  position:absolute!important;
  border-radius:999px!important;
  z-index:1!important;
}
.dps-contact-framework-hero .dps-legal-orb-one{
  width:360px!important;height:360px!important;left:-110px!important;top:-190px!important;
  border:1px solid color-mix(in srgb,var(--dps-legal-hero-accent) 45%,transparent)!important;
}
.dps-contact-framework-hero .dps-legal-orb-two{
  width:220px!important;height:220px!important;right:-70px!important;bottom:-135px!important;
  background:color-mix(in srgb,var(--dps-legal-hero-accent) 15%,transparent)!important;
  box-shadow:0 0 110px 35px color-mix(in srgb,var(--dps-legal-hero-accent) 18%,transparent)!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-circles .dps-legal-orb,
.dps-contact-framework-hero.dps-legal-hero-accent-glow .dps-legal-orb-two,
.dps-contact-framework-hero.dps-legal-hero-accent-complete .dps-legal-orb{display:block!important}
.dps-contact-framework-hero.dps-legal-hero-accent-dots::before,
.dps-contact-framework-hero.dps-legal-hero-accent-complete::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
  background:radial-gradient(circle,color-mix(in srgb,var(--dps-legal-hero-accent) 30%,transparent) 0 1.2px,transparent 1.7px) 0 0/18px 18px!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-lines::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
  background:repeating-linear-gradient(115deg,transparent 0 38px,color-mix(in srgb,var(--dps-legal-hero-accent) 12%,transparent) 39px 40px,transparent 41px 78px)!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-waves::before{
  content:""!important;position:absolute!important;inset:-25% -8%!important;z-index:0!important;
  background:radial-gradient(80% 55% at 20% 45%,transparent 61%,color-mix(in srgb,var(--dps-legal-hero-accent) 20%,transparent) 62% 63%,transparent 64%),radial-gradient(90% 60% at 78% 55%,transparent 65%,color-mix(in srgb,var(--dps-legal-hero-accent) 14%,transparent) 66% 67%,transparent 68%)!important;
  transform:rotate(-4deg)!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-texture::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
  background-image:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--dps-legal-hero-accent) 25%,transparent) 0 1px,transparent 1.4px),radial-gradient(circle at 75% 65%,color-mix(in srgb,var(--dps-legal-hero-color) 12%,transparent) 0 1px,transparent 1.3px)!important;
  background-size:27px 27px,39px 39px!important;background-position:0 0,9px 13px!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-diagonal::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
  background:linear-gradient(118deg,color-mix(in srgb,var(--dps-legal-hero-accent) 18%,transparent) 0 21%,transparent 21.2% 66%,color-mix(in srgb,var(--dps-legal-hero-accent) 9%,transparent) 66.2% 100%)!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-glass::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
  background:linear-gradient(130deg,color-mix(in srgb,var(--dps-legal-hero-accent) 72%,transparent),transparent 46%)!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-glass .dps-legal-orb{
  display:block!important;
  background:color-mix(in srgb,var(--dps-legal-hero-color) 28%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--dps-legal-hero-color) 55%,transparent)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent),0 18px 48px color-mix(in srgb,var(--dps-legal-hero-accent) 30%,transparent)!important;
  backdrop-filter:blur(12px)!important;border-radius:34px!important;
}
.dps-contact-framework-hero.dps-legal-hero-accent-glass .dps-legal-orb-one{width:250px!important;height:105px!important;left:7%!important;top:16%!important;transform:rotate(11deg)!important}
.dps-contact-framework-hero.dps-legal-hero-accent-glass .dps-legal-orb-two{width:190px!important;height:82px!important;right:8%!important;bottom:15%!important;transform:rotate(-9deg)!important}
.dps-contact-framework-hero::before,
.dps-contact-framework-hero .dps-legal-orb{opacity:var(--dps-legal-hero-accent-opacity,.08)!important}
html.dps-dark-mode .dps-contact-framework-hero::before,
html.dps-dark-mode .dps-contact-framework-hero .dps-legal-orb{
  opacity:var(--dps-legal-hero-accent-dark-opacity,.05)!important;
  --dps-legal-hero-accent:var(--dps-legal-hero-accent-dark,#9fc0ff);
}

/* Beide Kontaktspalten beginnen exakt auf derselben Oberkante. */
.dps-contact-module .dps-contact-grid{
  align-items:start!important;
}
.dps-contact-module .dps-contact-copy,
.dps-contact-module .dps-contact-form{
  align-self:start!important;
  margin-top:0!important;
}
.dps-contact-module .dps-contact-copy{
  justify-content:flex-start!important;
  padding-top:0!important;
}
.dps-contact-module .dps-contact-copy .dps-contact-badge{
  margin-top:0!important;
}

@media(max-width:900px){
  .dps-contact-framework-hero{min-height:var(--dps-contact-hero-tablet,430px)!important}
}
@media(max-width:600px){
  .dps-contact-framework-hero{min-height:var(--dps-contact-hero-mobile,340px)!important;padding:48px 20px!important}
}



/* =========================================================
 * 1.0.48 – Kontakt-Hero: vorhandene Textausrichtung erzwingen
 * Backend: Links / Mittig / Rechts
 * ======================================================= */
.dps-contact-framework-hero .dps-legal-hero-inner{
  width:min(1180px,calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* LINKS */
.dps-contact-framework-hero.dps-legal-hero-align-left .dps-legal-hero-inner{
  text-align:left!important;
}
.dps-contact-framework-hero.dps-legal-hero-align-left .dps-legal-eyebrow,
.dps-contact-framework-hero.dps-legal-hero-align-left h1,
.dps-contact-framework-hero.dps-legal-hero-align-left p{
  text-align:left!important;
  margin-left:0!important;
  margin-right:auto!important;
}

/* MITTE */
.dps-contact-framework-hero.dps-legal-hero-align-center .dps-legal-hero-inner{
  text-align:center!important;
}
.dps-contact-framework-hero.dps-legal-hero-align-center .dps-legal-eyebrow,
.dps-contact-framework-hero.dps-legal-hero-align-center h1,
.dps-contact-framework-hero.dps-legal-hero-align-center p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* RECHTS */
.dps-contact-framework-hero.dps-legal-hero-align-right .dps-legal-hero-inner{
  text-align:right!important;
}
.dps-contact-framework-hero.dps-legal-hero-align-right .dps-legal-eyebrow,
.dps-contact-framework-hero.dps-legal-hero-align-right h1,
.dps-contact-framework-hero.dps-legal-hero-align-right p{
  text-align:right!important;
  margin-left:auto!important;
  margin-right:0!important;
}

/* Die Textbreite bleibt bei allen drei Varianten angenehm lesbar. */
.dps-contact-framework-hero .dps-legal-hero-inner h1,
.dps-contact-framework-hero .dps-legal-hero-inner p{
  max-width:820px!important;
}

@media(max-width:767px){
  .dps-contact-framework-hero .dps-legal-hero-inner{
    width:calc(100% - 32px)!important;
  }
}


/* =========================================================
 * 1.0.49 – Kontakt-UI konsequent an Design-Akzent koppeln
 * Der Senden-Button war bereits korrekt; Badge, Icons und
 * Form-Akzent verwenden jetzt exakt dieselbe Farbquelle.
 * ======================================================= */
.dps-contact-module{
  --dps-contact-ui-accent:var(--dps-contact-accent-light,var(--dps-contact-accent,var(--dps-accent,#0e2a5f)));
}

/* Auch im Darkmode bleibt die Kontakt-UI an der zentralen Designfarbe.
   Der Hero darf weiterhin seine eigene Dark-Akzentfarbe besitzen. */
html.dps-dark-mode .dps-contact-module{
  --dps-contact-ui-accent:var(--dps-contact-accent-light,var(--dps-accent,#0e2a5f));
}

/* Badge links oben */
.dps-contact-copy .dps-contact-badge{
  border-color:var(--dps-contact-ui-accent)!important;
  background:var(--dps-contact-ui-accent)!important;
  color:#fff!important;
}

/* Kontaktkarten: Akzent am Rahmen dezent, Icon selbst volle Designfarbe */
.dps-contact-details>a,
.dps-contact-details>div{
  border-color:color-mix(in srgb,var(--dps-contact-ui-accent) 34%,#dbe3ec)!important;
}

.dps-contact-details>a>span,
.dps-contact-details>div>span{
  background:var(--dps-contact-ui-accent)!important;
  color:#fff!important;
  border:1px solid var(--dps-contact-ui-accent)!important;
}

.dps-contact-details>a:hover,
.dps-contact-details>div:hover{
  border-color:var(--dps-contact-ui-accent)!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--dps-contact-ui-accent) 16%,rgba(15,23,42,.08))!important;
}

/* Formularkarte und dekorative Ecke rechts oben */
.dps-contact-form{
  border-color:color-mix(in srgb,var(--dps-contact-ui-accent) 48%,#dbe3ec)!important;
}

.dps-contact-form::before{
  background:color-mix(in srgb,var(--dps-contact-ui-accent) 22%,transparent)!important;
}

/* Felder / Datenschutz */
.dps-contact-fields input:focus,
.dps-contact-fields textarea:focus,
.dps-contact-fields select:focus{
  border-color:var(--dps-contact-ui-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dps-contact-ui-accent) 15%,transparent)!important;
}

label.wide.dps-contact-privacy input[type="checkbox"]{
  accent-color:var(--dps-contact-ui-accent)!important;
}

label.wide.dps-contact-privacy a{
  color:var(--dps-contact-ui-accent)!important;
}

/* Senden-Button ebenfalls explizit auf dieselbe Quelle,
   damit alle Kontaktakzente garantiert identisch sind. */
.dps-contact-submit,
.dps-contact-form button[type="submit"],
.dps-contact-form>button{
  background:var(--dps-contact-ui-accent)!important;
  border-color:var(--dps-contact-ui-accent)!important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--dps-contact-ui-accent) 26%,transparent)!important;
}

/* Darkmode: weiße Icons/Text auf derselben Design-Akzentfarbe */
html.dps-dark-mode .dps-contact-copy .dps-contact-badge,
html.dps-dark-mode .dps-contact-details>a>span,
html.dps-dark-mode .dps-contact-details>div>span{
  background:var(--dps-contact-ui-accent)!important;
  border-color:var(--dps-contact-ui-accent)!important;
  color:#fff!important;
}

/* 1.0.50 – Kontaktkarten */
.dps-contact-info-section{padding:72px 24px 10px;background:var(--dps-section-primary-bg,#f5f7fa)}
.dps-contact-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dps-contact-info-card{display:flex;align-items:flex-start;gap:18px;min-height:190px;padding:28px;border-radius:var(--dps-contact-card-radius,20px);background:var(--dps-contact-card-light,#fff);color:var(--dps-text,#172033);border:1px solid transparent;transition:.22s ease}
.dps-contact-info-card.has-card-border{border-color:color-mix(in srgb,currentColor 14%,transparent)}
.dps-contact-info-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:16px;background:var(--dps-contact-ui-accent);color:#fff}
.dps-contact-info-icon svg{width:24px;height:24px}
.dps-contact-info-card h3{margin:2px 0 14px;font-size:1.15rem;color:inherit}
.dps-contact-info-card p{margin:0 0 8px;line-height:1.6;color:inherit}
.dps-contact-info-card a{color:inherit;text-decoration:none}.dps-contact-info-card a:hover{color:var(--dps-contact-ui-accent)}
.dps-contact-office-note{margin-top:16px!important;opacity:.76}
.dps-contact-socials{display:flex;gap:10px;margin-top:16px}.dps-contact-socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--dps-contact-ui-accent);color:#fff!important;font-weight:800;font-size:18px}
.dps-contact-info-card.dps-card-shadow-flat{box-shadow:none}.dps-contact-info-card.dps-card-shadow-soft{box-shadow:0 12px 32px rgba(15,23,42,.08)}.dps-contact-info-card.dps-card-shadow-long{box-shadow:0 22px 42px rgba(15,23,42,.12)}.dps-contact-info-card.dps-card-shadow-floating{box-shadow:0 18px 46px rgba(15,23,42,.16)}.dps-contact-info-card.dps-card-shadow-glass{box-shadow:0 16px 38px rgba(15,23,42,.09);backdrop-filter:blur(14px)}.dps-contact-info-card.dps-card-shadow-ambient{box-shadow:0 16px 42px color-mix(in srgb,var(--dps-contact-ui-accent) 15%,transparent)}.dps-contact-info-card.dps-card-shadow-premium{box-shadow:0 20px 50px color-mix(in srgb,var(--dps-contact-ui-accent) 22%,rgba(15,23,42,.08))}
.dps-contact-info-card.dps-card-hover-lift:hover{transform:translateY(-5px)}.dps-contact-info-card.dps-card-hover-lift-shadow:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(15,23,42,.15)}.dps-contact-info-card.dps-card-hover-shadow:hover{box-shadow:0 20px 46px rgba(15,23,42,.16)}.dps-contact-info-card.dps-card-hover-glow:hover{box-shadow:0 18px 44px color-mix(in srgb,var(--dps-contact-ui-accent) 28%,transparent);border-color:var(--dps-contact-ui-accent)}
html.dps-dark-mode .dps-contact-info-section{background:var(--dps-section-primary-dark-bg,#0d1828)}html.dps-dark-mode .dps-contact-info-card{background:var(--dps-contact-card-dark,#1f2937);color:var(--dps-dark-text,#fff)}
@media(max-width:900px){.dps-contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dps-contact-info-card:last-child{grid-column:1/-1}}
@media(max-width:640px){.dps-contact-info-section{padding:48px 18px 4px}.dps-contact-info-grid{grid-template-columns:1fr;gap:16px}.dps-contact-info-card:last-child{grid-column:auto}.dps-contact-info-card{min-height:0;padding:22px}}


/* =========================================================
 * 1.0.51 – Kontaktkarten Design + Hintergrundakzente
 * ======================================================= */
.dps-contact-info-section{
  position:relative;
  overflow:hidden;
  padding:72px 24px 72px!important;
  isolation:isolate;
}
.dps-contact-info-section .dps-contact-container{
  position:relative;
  z-index:2;
}
.dps-contact-info-grid{
  align-items:stretch;
}
.dps-contact-info-card{
  min-height:210px;
}
.dps-contact-info-icon{
  border-radius:14px;
  background:color-mix(in srgb,var(--dps-contact-ui-accent) 12%,transparent)!important;
  color:var(--dps-contact-ui-accent)!important;
  border:1px solid color-mix(in srgb,var(--dps-contact-ui-accent) 28%,transparent)!important;
}
.dps-contact-info-icon svg{
  width:24px;height:24px;
  stroke:currentColor!important;
  fill:none!important;
}
.dps-contact-socials{
  gap:12px!important;
  margin-top:18px!important;
}
.dps-contact-socials a{
  position:relative;
  width:40px!important;height:40px!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--dps-contact-ui-accent) 11%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--dps-contact-ui-accent) 28%,transparent)!important;
  color:var(--dps-contact-ui-accent)!important;
  transition:.2s ease;
}
.dps-contact-socials a:hover{
  transform:translateY(-2px);
  background:var(--dps-contact-ui-accent)!important;
  color:#fff!important;
  border-color:var(--dps-contact-ui-accent)!important;
}
.dps-social-facebook span{
  font-family:Arial,sans-serif;
  font-size:19px;
  font-weight:700;
  line-height:1;
}
.dps-social-instagram span{
  width:17px;height:17px;
  border:2px solid currentColor;
  border-radius:5px;
  display:block;
  position:relative;
}
.dps-social-instagram span:before{
  content:"";
  position:absolute;
  width:5px;height:5px;
  border:2px solid currentColor;
  border-radius:50%;
  left:4px;top:4px;
  box-sizing:border-box;
}
.dps-social-instagram span:after{
  content:"";
  position:absolute;
  width:3px;height:3px;
  border-radius:50%;
  background:currentColor;
  right:2px;top:2px;
}

/* Background accent engine */
.dps-contact-info-section:before,
.dps-contact-info-section:after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:1;
  opacity:var(--dps-contact-info-opacity-light,.08);
}
.dps-contact-info-effect-none:before,
.dps-contact-info-effect-none:after{display:none}

.dps-contact-info-effect-circles:before{
  width:260px;height:260px;border-radius:50%;
  right:-70px;top:-80px;
  background:var(--dps-contact-info-accent-light);
}
.dps-contact-info-effect-circles:after{
  width:180px;height:180px;border-radius:50%;
  left:-45px;bottom:-70px;
  background:var(--dps-contact-info-accent-light);
}
.dps-contact-info-effect-dots:before{
  inset:0;
  background-image:radial-gradient(var(--dps-contact-info-accent-light) 1px,transparent 1px);
  background-size:18px 18px;
}
.dps-contact-info-effect-lines:before{
  inset:-20%;
  background:repeating-linear-gradient(135deg,var(--dps-contact-info-accent-light) 0 1px,transparent 1px 28px);
}
.dps-contact-info-effect-glass:before{
  width:320px;height:140px;
  left:4%;top:12%;
  border:1px solid var(--dps-contact-info-accent-light);
  border-radius:30px;
  transform:rotate(-8deg);
  backdrop-filter:blur(10px);
  background:color-mix(in srgb,var(--dps-contact-info-accent-light) 12%,transparent);
}
.dps-contact-info-effect-glass:after{
  width:240px;height:110px;
  right:3%;bottom:10%;
  border:1px solid var(--dps-contact-info-accent-light);
  border-radius:30px;
  transform:rotate(8deg);
  backdrop-filter:blur(10px);
  background:color-mix(in srgb,var(--dps-contact-info-accent-light) 10%,transparent);
}
.dps-contact-info-effect-glow:before{
  width:380px;height:380px;border-radius:50%;
  right:-100px;top:-130px;
  background:var(--dps-contact-info-accent-light);
  filter:blur(90px);
}
.dps-contact-info-effect-glow:after{
  width:300px;height:300px;border-radius:50%;
  left:-100px;bottom:-130px;
  background:var(--dps-contact-info-accent-light);
  filter:blur(90px);
}

html.dps-dark-mode .dps-contact-info-section:before,
html.dps-dark-mode .dps-contact-info-section:after{
  opacity:var(--dps-contact-info-opacity-dark,.08);
}
html.dps-dark-mode .dps-contact-info-effect-circles:before,
html.dps-dark-mode .dps-contact-info-effect-circles:after,
html.dps-dark-mode .dps-contact-info-effect-glow:before,
html.dps-dark-mode .dps-contact-info-effect-glow:after{
  background:var(--dps-contact-info-accent-dark);
}
html.dps-dark-mode .dps-contact-info-effect-dots:before{
  background-image:radial-gradient(var(--dps-contact-info-accent-dark) 1px,transparent 1px);
}
html.dps-dark-mode .dps-contact-info-effect-lines:before{
  background:repeating-linear-gradient(135deg,var(--dps-contact-info-accent-dark) 0 1px,transparent 1px 28px);
}
html.dps-dark-mode .dps-contact-info-effect-glass:before,
html.dps-dark-mode .dps-contact-info-effect-glass:after{
  border-color:var(--dps-contact-info-accent-dark);
  background:color-mix(in srgb,var(--dps-contact-info-accent-dark) 12%,transparent);
}

@media(max-width:640px){
  .dps-contact-info-section{padding:52px 18px!important}
}


/* =========================================================
 * 1.0.52 – Kontaktkarten: echte globale Dateck-Designregeln
 * Light = --dps-accent, Dark = --dps-accent-soft
 * Cards folgen Standard / Glas / Outline / Clean.
 * ======================================================= */

/* Eine einzige Akzentquelle wie bei Leistungen und Team */
.dps-contact-info-section{
  --dps-contact-card-accent:var(--dps-accent)!important;
}
html.dps-dark-mode .dps-contact-info-section{
  --dps-contact-card-accent:var(--dps-accent-soft)!important;
}

/* Standard-Card exakt aus dem globalen Design */
.dps-contact-info-card{
  background:var(--dps-card)!important;
  color:var(--dps-text)!important;
  border-color:color-mix(in srgb,var(--dps-accent) 18%,transparent)!important;
}
html.dps-dark-mode .dps-contact-info-card{
  background:var(--dps-dark-card)!important;
  color:var(--dps-dark-text)!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 30%,rgba(255,255,255,.12))!important;
}

/* Icons: dieselbe Regel wie die anderen Dateck Module */
.dps-contact-info-icon{
  color:var(--dps-accent)!important;
  background:color-mix(in srgb,var(--dps-accent) 8%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent) 38%,transparent)!important;
}
html.dps-dark-mode .dps-contact-info-icon{
  color:var(--dps-accent-soft)!important;
  background:color-mix(in srgb,var(--dps-accent-soft) 8%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 42%,transparent)!important;
}

/* Socials gehören zum Textblock, linksbündig und in derselben Akzentregel */
.dps-contact-info-card > div{
  min-width:0;
  flex:1 1 auto;
}
.dps-contact-socials{
  justify-content:flex-start!important;
  align-items:center!important;
  width:auto!important;
  margin:16px 0 0!important;
}
.dps-contact-socials a{
  color:var(--dps-accent)!important;
  background:color-mix(in srgb,var(--dps-accent) 8%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent) 38%,transparent)!important;
}
html.dps-dark-mode .dps-contact-socials a{
  color:var(--dps-accent-soft)!important;
  background:color-mix(in srgb,var(--dps-accent-soft) 8%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 42%,transparent)!important;
}
.dps-contact-socials a:hover{
  color:#fff!important;
  background:var(--dps-accent)!important;
  border-color:var(--dps-accent)!important;
}
html.dps-dark-mode .dps-contact-socials a:hover{
  color:#111!important;
  background:var(--dps-accent-soft)!important;
  border-color:var(--dps-accent-soft)!important;
}

/* GLAS – gleiche Oberfläche wie bestehende Dateck Cards */
body.dps-card-style-glass .dps-contact-info-card{
  background:
    var(--dps-glass-light),
    color-mix(in srgb,var(--dps-card) 34%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--dps-accent) 22%,rgba(255,255,255,.64))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 18px 44px rgba(15,23,42,.10)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%);
}
html.dps-dark-mode body.dps-card-style-glass .dps-contact-info-card{
  background:
    var(--dps-glass-dark),
    color-mix(in srgb,var(--dps-dark-card) 30%,transparent)!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft) 32%,rgba(255,255,255,.20))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 20px 48px rgba(0,0,0,.22)!important;
}

/* OUTLINE */
body.dps-card-style-outline .dps-contact-info-card{
  background:transparent!important;
  box-shadow:none!important;
  border:1.5px solid color-mix(in srgb,var(--dps-accent) 48%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-outline .dps-contact-info-card{
  border-color:color-mix(in srgb,var(--dps-accent-soft) 52%,transparent)!important;
}

/* CLEAN */
body.dps-card-style-clean .dps-contact-info-card{
  background:var(--dps-card)!important;
  box-shadow:none!important;
  border:1px solid color-mix(in srgb,var(--dps-text) 9%,transparent)!important;
}
html.dps-dark-mode body.dps-card-style-clean .dps-contact-info-card{
  background:var(--dps-dark-card)!important;
  border-color:color-mix(in srgb,var(--dps-dark-text) 12%,transparent)!important;
}

/* Hover ebenfalls identisch zum globalen Prinzip */
body.dps-card-style-glass .dps-contact-info-card:hover{
  border-color:color-mix(in srgb,var(--dps-accent) 42%,#ffffff 58%)!important;
}
html.dps-dark-mode body.dps-card-style-glass .dps-contact-info-card:hover{
  border-color:color-mix(in srgb,var(--dps-accent-soft) 52%,rgba(255,255,255,.28))!important;
}


/* =========================================================
 * 1.0.53 – Kontaktkarten: Designfarben + Social-Ausrichtung
 * ======================================================= */

/* Light: dunkle Design-Akzentfarbe als Iconfarbe, helle Fläche */
.dps-contact-info-card .dps-contact-info-icon{
  background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 8%,#ffffff)!important;
  border-color:color-mix(in srgb,var(--dps-accent,#0e2a5f) 34%,transparent)!important;
  color:var(--dps-accent,#0e2a5f)!important;
}
.dps-contact-info-card .dps-contact-info-icon svg{
  stroke:currentColor!important;
  color:inherit!important;
}

/* Dark: helle Gegenfarbe als Fläche, Icon weiß */
html.dps-dark-mode .dps-contact-info-card .dps-contact-info-icon{
  background:var(--dps-accent-soft,#7fa9ff)!important;
  border-color:var(--dps-accent-soft,#7fa9ff)!important;
  color:#fff!important;
}
html.dps-dark-mode .dps-contact-info-card .dps-contact-info-icon svg{
  stroke:#fff!important;
}

/* Adresse nur einmal als Inhalt unter sauberer Headline */
.dps-contact-address{
  margin-bottom:0!important;
}

/* Social-Media linksbündig unter Adresse/Text */
.dps-contact-social-block{
  margin-top:18px!important;
  text-align:left!important;
}
.dps-contact-social-block h4{
  margin:0 0 10px!important;
  color:inherit!important;
  font-size:.95rem!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.dps-contact-socials{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
.dps-contact-socials a{
  margin:0!important;
}

/* Light socials = gleiche dunkle Akzentfarbe */
.dps-contact-socials a{
  background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 8%,#ffffff)!important;
  border-color:color-mix(in srgb,var(--dps-accent,#0e2a5f) 34%,transparent)!important;
  color:var(--dps-accent,#0e2a5f)!important;
}

/* Dark socials = helle Gegenfarbe mit weißem Icon */
html.dps-dark-mode .dps-contact-socials a{
  background:var(--dps-accent-soft,#7fa9ff)!important;
  border-color:var(--dps-accent-soft,#7fa9ff)!important;
  color:#fff!important;
}
html.dps-dark-mode .dps-social-instagram span{
  color:#fff!important;
  border-color:#fff!important;
}
html.dps-dark-mode .dps-social-instagram span:after{
  background:#fff!important;
}


/* =========================================================
 * 1.0.54 – Kontaktkarten final: echte Designfarben
 * Light: dunkle Design-Akzentfläche + weißes Icon
 * Dark: helle Gegenfarbe + weißes Icon
 * ======================================================= */

/* Haupticons */
.dps-contact-info-card .dps-contact-info-icon{
  background:var(--dps-accent,#0e2a5f)!important;
  border-color:var(--dps-accent,#0e2a5f)!important;
  color:#fff!important;
}
.dps-contact-info-card .dps-contact-info-icon svg{
  stroke:#fff!important;
  color:#fff!important;
}
html.dps-dark-mode .dps-contact-info-card .dps-contact-info-icon{
  background:var(--dps-accent-soft,#7fa9ff)!important;
  border-color:var(--dps-accent-soft,#7fa9ff)!important;
  color:#fff!important;
}
html.dps-dark-mode .dps-contact-info-card .dps-contact-info-icon svg{
  stroke:#fff!important;
  color:#fff!important;
}

/* Dritte Karte: Inhalte und Social-Media wirklich linksbündig */
.dps-contact-info-content{
  min-width:0!important;
  flex:1 1 auto!important;
  text-align:left!important;
}
.dps-contact-address{
  margin:0!important;
}
.dps-contact-social-block{
  margin-top:20px!important;
  text-align:left!important;
}
.dps-contact-social-block h4{
  margin:0 0 10px!important;
  padding:0!important;
  color:inherit!important;
  font-size:.95rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  text-align:left!important;
}
.dps-contact-socials{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}

/* Social-Buttons exakt dieselbe Farblogik */
.dps-contact-socials a{
  width:40px!important;
  height:40px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:var(--dps-accent,#0e2a5f)!important;
  border:1px solid var(--dps-accent,#0e2a5f)!important;
  color:#fff!important;
}
html.dps-dark-mode .dps-contact-socials a{
  background:var(--dps-accent-soft,#7fa9ff)!important;
  border-color:var(--dps-accent-soft,#7fa9ff)!important;
  color:#fff!important;
}
.dps-social-facebook span{
  color:#fff!important;
}
.dps-social-instagram span{
  color:#fff!important;
  border-color:#fff!important;
}
.dps-social-instagram span:before{
  border-color:#fff!important;
}
.dps-social-instagram span:after{
  background:#fff!important;
}


/* =========================================================
 * 1.0.55 – Kontaktkarten Feinschliff
 * ======================================================= */
.dps-contact-card-line{
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  margin:0 0 8px!important;
}
.dps-contact-card-line strong{
  font-weight:700!important;
}

/* Social-Media wirklich an die linke Kartenkante / Iconkante */
.dps-contact-info-card:has(.dps-contact-social-full){
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:18px!important;
}
.dps-contact-info-card:has(.dps-contact-social-full) > .dps-contact-info-icon{
  grid-column:1!important;
  grid-row:1!important;
}
.dps-contact-info-card:has(.dps-contact-social-full) > .dps-contact-info-content{
  grid-column:2!important;
  grid-row:1!important;
}
.dps-contact-social-full{
  grid-column:1 / -1!important;
  grid-row:2!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.dps-contact-social-full h4{
  margin:0 0 10px!important;
  text-align:left!important;
}
.dps-contact-social-full .dps-contact-socials{
  justify-content:flex-start!important;
}


/* =========================================================
 * 1.0.56 – Kontakt Darkmode konsequent ans globale Design
 * ======================================================= */

/* 1) INFO-CARDS:
   Dark = helle Gegenfarbe als Fläche, aber dunkelblaues Icon.
   So entspricht es der aktuellen Dateck-Farbwelt. */
html.dps-dark-mode .dps-contact-info-card .dps-contact-info-icon{
  background:var(--dps-accent-soft)!important;
  border-color:var(--dps-accent-soft)!important;
  color:var(--dps-accent)!important;
}
html.dps-dark-mode .dps-contact-info-card .dps-contact-info-icon svg{
  color:var(--dps-accent)!important;
  stroke:currentColor!important;
}

/* 2) NORMALE KONTAKT-CARDS links neben dem Formular:
   gleiche Darkmode-Regel wie oben. */
html.dps-dark-mode .dps-contact-details>a>span,
html.dps-dark-mode .dps-contact-details>div>span{
  background:var(--dps-accent-soft)!important;
  border-color:var(--dps-accent-soft)!important;
  color:var(--dps-accent)!important;
}
html.dps-dark-mode .dps-contact-details>a>span svg,
html.dps-dark-mode .dps-contact-details>div>span svg{
  color:var(--dps-accent)!important;
  stroke:currentColor!important;
}

/* 3) SOCIALS:
   echte SVGs aus DPS_Icons, gleiche Farbregel wie die anderen Icons. */
.dps-contact-socials a svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
  color:currentColor!important;
  stroke:currentColor!important;
}
.dps-contact-socials a{
  background:var(--dps-accent)!important;
  border-color:var(--dps-accent)!important;
  color:#fff!important;
}
html.dps-dark-mode .dps-contact-socials a{
  background:var(--dps-accent-soft)!important;
  border-color:var(--dps-accent-soft)!important;
  color:var(--dps-accent)!important;
}
html.dps-dark-mode .dps-contact-socials a svg{
  color:var(--dps-accent)!important;
  stroke:currentColor!important;
}

/* Alte CSS-Zeichenkonstruktion für Instagram/Facebook nicht mehr benutzen. */
.dps-social-facebook span,
.dps-social-instagram span,
.dps-social-instagram span:before,
.dps-social-instagram span:after{
  display:none!important;
}

/* 4) SENDEN-BUTTON:
   Nicht mehr eigene Kontaktfarbe im Darkmode.
   Er folgt exakt Design → Buttons → Darkmode. */
html.dps-dark-mode .dps-contact-submit,
html.dps-dark-mode .dps-contact-form button[type="submit"],
html.dps-dark-mode .dps-contact-form>button{
  background:var(--dps-dark-button-bg)!important;
  border-color:var(--dps-dark-button-bg)!important;
  color:var(--dps-dark-button-text)!important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--dps-dark-button-bg) 26%,transparent)!important;
}
html.dps-dark-mode .dps-contact-submit:hover,
html.dps-dark-mode .dps-contact-form button[type="submit"]:hover,
html.dps-dark-mode .dps-contact-form>button:hover{
  background:var(--dps-dark-button-hover-bg)!important;
  border-color:var(--dps-dark-button-hover-bg)!important;
  color:var(--dps-dark-button-hover-text)!important;
}

/* Checkbox und Datenschutzlink im Darkmode ebenfalls über die helle Gegenfarbe. */
html.dps-dark-mode label.wide.dps-contact-privacy input[type="checkbox"]{
  accent-color:var(--dps-accent-soft)!important;
}
html.dps-dark-mode label.wide.dps-contact-privacy a{
  color:var(--dps-accent-soft)!important;
}


/* =========================================================
 * 1.0.57 – Social Icons final
 * Dedicated SVGs, independent from global icon rules.
 * ======================================================= */
.dps-contact-socials a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  padding:0!important;
  line-height:1!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.dps-contact-socials .dps-social-icon{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex:0 0 18px!important;
}

/* Facebook is a filled mark */
.dps-contact-socials .dps-social-icon-facebook{
  fill:currentColor!important;
  stroke:none!important;
}

/* Instagram uses a clean outline mark */
.dps-contact-socials .dps-social-icon-instagram{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.dps-contact-socials .dps-social-icon-instagram .dps-instagram-dot{
  fill:currentColor!important;
  stroke:none!important;
}

/* Light */
.dps-contact-socials a{
  background:var(--dps-accent,#0e2a5f)!important;
  border-color:var(--dps-accent,#0e2a5f)!important;
  color:#fff!important;
}

/* Dark */
html.dps-dark-mode .dps-contact-socials a{
  background:var(--dps-accent-soft,#7fa9ff)!important;
  border-color:var(--dps-accent-soft,#7fa9ff)!important;
  color:var(--dps-accent,#0e2a5f)!important;
}

/* Explicitly neutralize earlier social SVG overrides */
.dps-contact-socials a svg{
  color:currentColor!important;
}


/* =========================================================
 * 1.0.63 – Rechtliches Hero Engine 1:1 wie Unterkunft/Kontakt
 * Impressum + Datenschutz: Akzente, Light/Dark, Übergänge
 * ======================================================= */
.dps-legal-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:var(--dps-legal-hero-bg,#f5f5f5)!important;
  color:var(--dps-legal-hero-color,#172033)!important;
}
.dps-legal-hero .dps-legal-hero-inner{
  position:relative!important;
  z-index:3!important;
  width:min(var(--dps-container,1200px),100%)!important;
  margin:0 auto!important;
}
.dps-legal-hero .dps-legal-eyebrow{
  display:block!important;
  margin-bottom:12px!important;
  color:var(--dps-legal-hero-accent,#0e2a5f)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.dps-legal-hero h1{color:inherit!important}
.dps-legal-hero p{color:inherit!important}

.dps-legal-hero-align-left{text-align:left!important}
.dps-legal-hero-align-center{text-align:center!important}
.dps-legal-hero-align-right{text-align:right!important}
.dps-legal-hero-align-left p{margin-left:0!important;margin-right:auto!important}
.dps-legal-hero-align-center p{margin-left:auto!important;margin-right:auto!important}
.dps-legal-hero-align-right p{margin-left:auto!important;margin-right:0!important}

.dps-legal-hero-size-small{padding:70px 20px!important}
.dps-legal-hero-size-medium{padding:105px 20px!important}
.dps-legal-hero-size-large{padding:145px 20px!important}

html.dps-dark-mode .dps-legal-hero{
  background:var(--dps-legal-hero-dark-bg,#0d1623)!important;
  color:var(--dps-legal-hero-dark-color,#fff)!important;
}
html.dps-dark-mode .dps-legal-hero .dps-legal-eyebrow{
  color:var(--dps-legal-hero-accent-dark,#9fc0ff)!important;
}

.dps-legal-hero::before,
.dps-legal-hero::after,
.dps-legal-hero .dps-legal-orb{
  pointer-events:none!important;
}
.dps-legal-hero .dps-legal-orb{
  display:none;
  position:absolute!important;
  border-radius:999px!important;
  z-index:1!important;
}
.dps-legal-hero .dps-legal-orb-one{
  width:360px!important;
  height:360px!important;
  left:-110px!important;
  top:-190px!important;
  border:1px solid color-mix(in srgb,var(--dps-legal-hero-accent) 45%,transparent)!important;
}
.dps-legal-hero .dps-legal-orb-two{
  width:220px!important;
  height:220px!important;
  right:-70px!important;
  bottom:-135px!important;
  background:color-mix(in srgb,var(--dps-legal-hero-accent) 15%,transparent)!important;
  box-shadow:0 0 110px 35px color-mix(in srgb,var(--dps-legal-hero-accent) 18%,transparent)!important;
}

.dps-legal-hero-accent-circles .dps-legal-orb,
.dps-legal-hero-accent-glow .dps-legal-orb-two,
.dps-legal-hero-accent-complete .dps-legal-orb{
  display:block!important;
}
.dps-legal-hero-accent-dots::before,
.dps-legal-hero-accent-complete::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:radial-gradient(circle,color-mix(in srgb,var(--dps-legal-hero-accent) 30%,transparent) 0 1.2px,transparent 1.7px) 0 0/18px 18px!important;
}
.dps-legal-hero-accent-lines::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:repeating-linear-gradient(115deg,transparent 0 38px,color-mix(in srgb,var(--dps-legal-hero-accent) 12%,transparent) 39px 40px,transparent 41px 78px)!important;
}
.dps-legal-hero-accent-waves::before{
  content:""!important;
  position:absolute!important;
  inset:-25% -8%!important;
  z-index:0!important;
  background:radial-gradient(80% 55% at 20% 45%,transparent 61%,color-mix(in srgb,var(--dps-legal-hero-accent) 20%,transparent) 62% 63%,transparent 64%),radial-gradient(90% 60% at 78% 55%,transparent 65%,color-mix(in srgb,var(--dps-legal-hero-accent) 14%,transparent) 66% 67%,transparent 68%)!important;
  transform:rotate(-4deg)!important;
}
.dps-legal-hero-accent-texture::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background-image:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--dps-legal-hero-accent) 25%,transparent) 0 1px,transparent 1.4px),radial-gradient(circle at 75% 65%,color-mix(in srgb,var(--dps-legal-hero-color) 12%,transparent) 0 1px,transparent 1.3px)!important;
  background-size:27px 27px,39px 39px!important;
  background-position:0 0,9px 13px!important;
}
.dps-legal-hero-accent-diagonal::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:linear-gradient(118deg,color-mix(in srgb,var(--dps-legal-hero-accent) 18%,transparent) 0 21%,transparent 21.2% 66%,color-mix(in srgb,var(--dps-legal-hero-accent) 9%,transparent) 66.2% 100%)!important;
}
.dps-legal-hero-accent-glass::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:linear-gradient(130deg,color-mix(in srgb,var(--dps-legal-hero-accent) 72%,transparent),transparent 46%)!important;
}
.dps-legal-hero-accent-glass .dps-legal-orb{
  display:block!important;
  background:color-mix(in srgb,var(--dps-legal-hero-color) 28%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--dps-legal-hero-color) 55%,transparent)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent),0 18px 48px color-mix(in srgb,var(--dps-legal-hero-accent) 30%,transparent)!important;
  backdrop-filter:blur(12px)!important;
  border-radius:34px!important;
}
.dps-legal-hero-accent-glass .dps-legal-orb-one{
  width:250px!important;height:105px!important;left:7%!important;top:16%!important;transform:rotate(11deg)!important
}
.dps-legal-hero-accent-glass .dps-legal-orb-two{
  width:190px!important;height:82px!important;right:8%!important;bottom:15%!important;transform:rotate(-9deg)!important
}

.dps-legal-hero::before,
.dps-legal-hero .dps-legal-orb{
  opacity:var(--dps-legal-hero-accent-opacity,.08)!important;
}
html.dps-dark-mode .dps-legal-hero::before,
html.dps-dark-mode .dps-legal-hero .dps-legal-orb{
  opacity:var(--dps-legal-hero-accent-dark-opacity,.05)!important;
  --dps-legal-hero-accent:var(--dps-legal-hero-accent-dark,#9fc0ff);
}

/* Unterer Übergang */
.dps-legal-hero-transition-shadow{box-shadow:0 20px 45px rgba(15,23,42,.08)}
.dps-legal-hero-transition-gradient::after{
  content:""!important;position:absolute!important;left:0;right:0;bottom:0;height:70px;z-index:2;
  background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--dps-legal-hero-bg) 85%,transparent))
}
.dps-legal-hero-transition-glow{box-shadow:0 18px 55px color-mix(in srgb,var(--dps-legal-hero-accent) 20%,transparent)}
.dps-legal-hero-transition-edge{border-bottom:1px solid color-mix(in srgb,var(--dps-legal-hero-accent) 35%,transparent)}

@media(max-width:600px){
  .dps-legal-hero-size-small{padding:55px 18px!important}
  .dps-legal-hero-size-medium{padding:70px 18px!important}
  .dps-legal-hero-size-large{padding:90px 18px!important}
}


/* =========================================================
 * 1.0.64 – Cookie-Banner Frontend im Dateck Framework
 * Fixed Overlay/Card statt Dokumentfluss.
 * ======================================================= */

#dps-cookie-banner.dps-cookie-banner{
  position:fixed!important;
  z-index:999999!important;
  inset:auto 20px 20px 20px!important;
  display:flex!important;
  justify-content:center!important;
  pointer-events:none!important;
  font-family:inherit!important;
}

#dps-cookie-banner[hidden]{
  display:none!important;
}

#dps-cookie-banner.dps-cookie-center{
  inset:0!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(5,12,24,.28)!important;
  backdrop-filter:blur(5px)!important;
}

#dps-cookie-banner .dps-cookie-inner{
  position:relative!important;
  width:min(920px,100%)!important;
  max-height:min(82vh,760px)!important;
  overflow:auto!important;
  pointer-events:auto!important;
  box-sizing:border-box!important;
  padding:24px 26px!important;
  border:1px solid color-mix(in srgb,var(--dps-cookie-color,#fff) 18%,transparent)!important;
  border-radius:20px!important;
  background:color-mix(in srgb,var(--dps-cookie-bg,#111) 94%,transparent)!important;
  color:var(--dps-cookie-color,#fff)!important;
  box-shadow:0 24px 70px rgba(3,10,22,.28)!important;
  backdrop-filter:blur(18px)!important;
}

#dps-cookie-banner .dps-cookie-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--dps-cookie-color,#fff) 20%,transparent)!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--dps-cookie-color,#fff) 8%,transparent)!important;
  color:var(--dps-cookie-color,#fff)!important;
  font-size:23px!important;
  line-height:1!important;
  cursor:pointer!important;
}

#dps-cookie-banner .dps-cookie-inner>strong{
  display:block!important;
  margin:0 46px 8px 0!important;
  color:inherit!important;
  font-size:19px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

#dps-cookie-banner .dps-cookie-inner>p{
  margin:0 0 12px!important;
  max-width:760px!important;
  color:inherit!important;
  opacity:.88!important;
  font-size:14px!important;
  line-height:1.6!important;
}

#dps-cookie-banner .dps-cookie-links{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px 16px!important;
  margin:0 0 18px!important;
}

#dps-cookie-banner .dps-cookie-links a{
  color:inherit!important;
  opacity:.82!important;
  font-size:13px!important;
  font-weight:650!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

#dps-cookie-banner .dps-cookie-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:18px!important;
}

#dps-cookie-banner .dps-cookie-actions button{
  min-height:44px!important;
  margin:0!important;
  padding:10px 16px!important;
  border-radius:11px!important;
  border:1px solid color-mix(in srgb,var(--dps-cookie-color,#fff) 28%,transparent)!important;
  background:color-mix(in srgb,var(--dps-cookie-color,#fff) 8%,transparent)!important;
  color:var(--dps-cookie-color,#fff)!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.2!important;
  cursor:pointer!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}

#dps-cookie-banner .dps-cookie-actions button:hover{
  transform:translateY(-1px)!important;
  background:color-mix(in srgb,var(--dps-cookie-color,#fff) 14%,transparent)!important;
}

#dps-cookie-banner .dps-cookie-actions [data-dps-cookie-accept]{
  border-color:var(--dps-accent,#0e2a5f)!important;
  background:var(--dps-accent,#0e2a5f)!important;
  color:#fff!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--dps-accent,#0e2a5f) 24%,transparent)!important;
}

#dps-cookie-banner .dps-cookie-settings{
  margin-top:18px!important;
  padding:16px!important;
  border:1px solid color-mix(in srgb,var(--dps-cookie-color,#fff) 16%,transparent)!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--dps-cookie-color,#fff) 5%,transparent)!important;
}

#dps-cookie-banner .dps-cookie-category{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:12px 0!important;
  margin:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--dps-cookie-color,#fff) 12%,transparent)!important;
  color:inherit!important;
}

#dps-cookie-banner .dps-cookie-category:last-child{
  border-bottom:0!important;
}

#dps-cookie-banner .dps-cookie-category>span{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  min-width:0!important;
}

#dps-cookie-banner .dps-cookie-category strong{
  color:inherit!important;
  font-size:14px!important;
}

#dps-cookie-banner .dps-cookie-category small{
  color:inherit!important;
  opacity:.7!important;
  font-size:12px!important;
  line-height:1.45!important;
}

#dps-cookie-banner .dps-cookie-category input[type="checkbox"]{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  accent-color:var(--dps-accent,#0e2a5f)!important;
}

/* Footer-Link des Cookie-Systems nicht als hässlicher Button rendern */
.dps-cookie-footer-link,
[data-dps-cookie-open]{
  cursor:pointer!important;
}

/* Darkmode:
   globale Dateck-Gegenfarbe für Primary-Button und aktive Controls */
html.dps-dark-mode #dps-cookie-banner .dps-cookie-actions [data-dps-cookie-accept]{
  border-color:var(--dps-accent-soft,#9fc0ff)!important;
  background:var(--dps-accent-soft,#9fc0ff)!important;
  color:var(--dps-accent,#0e2a5f)!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--dps-accent-soft,#9fc0ff) 24%,transparent)!important;
}

html.dps-dark-mode #dps-cookie-banner .dps-cookie-category input[type="checkbox"]{
  accent-color:var(--dps-accent-soft,#9fc0ff)!important;
}

/* Mobile */
@media(max-width:700px){
  #dps-cookie-banner.dps-cookie-banner{
    inset:auto 10px 10px 10px!important;
  }

  #dps-cookie-banner .dps-cookie-inner{
    padding:20px 18px!important;
    border-radius:16px!important;
    max-height:88vh!important;
  }

  #dps-cookie-banner .dps-cookie-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  #dps-cookie-banner .dps-cookie-actions button{
    width:100%!important;
  }

  #dps-cookie-banner .dps-cookie-category{
    align-items:flex-start!important;
  }
}

/* 1.0.65 Cookie Banner: globale Dateck Farbwelten/Card Design */
#dps-cookie-banner.dps-cookie-auto-design .dps-cookie-inner{
 background:var(--dps-card-bg,var(--dps-bg,#fff))!important;color:var(--dps-text,#172033)!important;
 border-color:var(--dps-card-border,color-mix(in srgb,var(--dps-accent,#0e2a5f) 24%,transparent))!important;
 border-radius:var(--dps-card-radius,20px)!important;box-shadow:var(--dps-card-shadow,0 24px 70px rgba(3,10,22,.18))!important}
#dps-cookie-banner.dps-cookie-auto-design .dps-cookie-close,
#dps-cookie-banner.dps-cookie-auto-design .dps-cookie-actions button{
 color:var(--dps-text,#172033)!important;border-color:color-mix(in srgb,var(--dps-accent,#0e2a5f) 28%,transparent)!important;
 background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 7%,var(--dps-card-bg,#fff))!important}
#dps-cookie-banner.dps-cookie-auto-design .dps-cookie-links a{color:var(--dps-accent,#0e2a5f)!important;opacity:1!important}
#dps-cookie-banner.dps-cookie-auto-design .dps-cookie-actions [data-dps-cookie-accept]{
 background:var(--dps-accent,#0e2a5f)!important;border-color:var(--dps-accent,#0e2a5f)!important;color:#fff!important}
#dps-cookie-banner.dps-cookie-auto-design .dps-cookie-settings{
 background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 5%,var(--dps-card-bg,#fff))!important;
 border-color:color-mix(in srgb,var(--dps-accent,#0e2a5f) 20%,transparent)!important}
#dps-cookie-banner.dps-cookie-auto-design input[type=checkbox]{accent-color:var(--dps-accent,#0e2a5f)!important}

html.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-inner,
body.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-inner{
 background:var(--dps-card-bg-dark,var(--dps-bg-dark,#111c2d))!important;color:var(--dps-text-dark,#fff)!important;
 border-color:var(--dps-card-border-dark,color-mix(in srgb,var(--dps-accent-soft,#cbd7ea) 42%,transparent))!important}
html.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-close,
html.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-actions button,
body.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-close,
body.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-actions button{
 color:var(--dps-text-dark,#fff)!important;border-color:color-mix(in srgb,var(--dps-accent-soft,#cbd7ea) 45%,transparent)!important;
 background:color-mix(in srgb,var(--dps-accent-soft,#cbd7ea) 10%,var(--dps-card-bg-dark,#111c2d))!important}
html.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-links a,
body.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-links a{color:var(--dps-accent-soft,#cbd7ea)!important}
html.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-actions [data-dps-cookie-accept],
body.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design .dps-cookie-actions [data-dps-cookie-accept]{
 background:var(--dps-accent-soft,#cbd7ea)!important;border-color:var(--dps-accent-soft,#cbd7ea)!important;color:var(--dps-accent,#0e2a5f)!important}
html.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design input[type=checkbox],
body.dps-dark-mode #dps-cookie-banner.dps-cookie-auto-design input[type=checkbox]{accent-color:var(--dps-accent-soft,#cbd7ea)!important}


/* =========================================================
 * 1.0.66 – Floating Buttons & Popups
 * 1:1 Unterkunft Framework, Property-Farbwelt
 * ======================================================= */
.dps-floating-actions{position:fixed;z-index:9991;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.dps-floating-actions.is-right{right:var(--dps-floating-side,22px)}
.dps-floating-actions.is-left{left:var(--dps-floating-side,22px)}
.dps-floating-actions.is-middle{top:50%;transform:translateY(-50%)}
.dps-floating-actions.is-bottom{bottom:var(--dps-floating-bottom,110px)}
.dps-floating-action{position:relative;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--dps-item-bg,var(--dps-floating-bg,var(--dps-accent)));color:var(--dps-item-fg,var(--dps-floating-fg,#fff))!important;text-decoration:none!important;box-shadow:0 12px 28px rgba(0,0,0,.18);pointer-events:auto;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.dps-floating-action svg{width:21px;height:21px;stroke:currentColor}
.dps-floating-action:hover,.dps-floating-action:focus-visible{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 34px rgba(0,0,0,.24);filter:brightness(.97)}
.dps-floating-action::after{content:attr(data-tooltip);position:absolute;top:50%;right:calc(100% + 11px);transform:translateY(-50%) translateX(6px);padding:8px 11px;border-radius:9px;background:#111;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;visibility:hidden;transition:.18s;pointer-events:none}
.dps-floating-actions.is-left .dps-floating-action::after{right:auto;left:calc(100% + 11px);transform:translateY(-50%) translateX(-6px)}
.dps-floating-action:hover::after,.dps-floating-action:focus-visible::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.dps-floating-actions.is-bar{gap:0;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--dps-card-bg,#fff) 92%,transparent);box-shadow:0 12px 35px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.dps-floating-actions.is-bar .dps-floating-action{width:44px;height:44px;box-shadow:none}
.dps-floating-actions.is-bar .dps-floating-action+.dps-floating-action{margin-top:3px}
html.dps-dark-mode .dps-floating-actions.is-bar{background:color-mix(in srgb,var(--dps-card-bg-dark,#17202e) 92%,transparent)}
html.dps-dark-mode .dps-floating-action{background:var(--dps-item-bg,var(--dps-accent-soft,#cbd7ea));color:var(--dps-item-fg,var(--dps-accent,#0e2a5f))!important}
@media(min-width:769px){.is-hidden-desktop{display:none!important}}
@media(max-width:768px){.is-hidden-mobile{display:none!important}.dps-floating-actions{--dps-floating-side:14px}.dps-floating-action{width:46px;height:46px}.dps-floating-action::after{display:none}}

/* Popups */
.dps-popup{position:fixed;width:min(340px,calc(100vw - 36px));z-index:999998;display:none;background:var(--dps-card-bg,#fff);border:1px solid color-mix(in srgb,var(--dps-popup-accent,var(--dps-accent)) 55%,#ddd);border-radius:28px;padding:26px 28px 24px;box-shadow:0 20px 55px rgba(0,0,0,.18);color:var(--dps-text,#222)}
.dps-popup.is-visible{display:block;animation:dpsPopupIn .35s ease}
.dps-popup--right-bottom{right:30px;bottom:30px}.dps-popup--left-bottom{left:30px;bottom:30px}
.dps-popup--right-center{right:30px;top:50%;transform:translateY(-50%)}.dps-popup--left-center{left:30px;top:50%;transform:translateY(-50%)}
.dps-popup--right-top{right:30px;top:30px}.dps-popup--left-top{left:30px;top:30px}
.dps-popup-close{position:absolute;top:13px;right:17px;border:0;background:none;color:inherit;font-size:28px;cursor:pointer;opacity:.65}
.dps-popup-badge{display:inline-flex;align-items:center;gap:8px;background:var(--dps-popup-accent,var(--dps-accent));color:#fff;padding:6px 13px;border-radius:999px;font-size:13px;font-weight:800}
.dps-popup-badge svg{width:18px;height:18px;stroke:currentColor}
.dps-popup h3{margin:18px 0 9px;font-size:22px;line-height:1.25;color:var(--dps-heading,var(--dps-text,#222))}
.dps-popup p{margin:0 0 21px;color:var(--dps-muted,#666);line-height:1.65;font-size:14px}
.dps-popup-button{display:block;padding:14px 18px;border-radius:999px;background:var(--dps-popup-accent,var(--dps-accent));color:#fff!important;text-align:center;text-decoration:none!important;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:.05em}
.dps-popup-button:hover{filter:brightness(.96)}
html.dps-dark-mode .dps-popup{background:var(--dps-card-bg-dark,#17202e);border-color:color-mix(in srgb,var(--dps-popup-accent-dark,var(--dps-accent-soft)) 48%,transparent);color:var(--dps-text-dark,#fff)}
html.dps-dark-mode .dps-popup h3{color:var(--dps-heading-dark,var(--dps-text-dark,#fff))}
html.dps-dark-mode .dps-popup p{color:color-mix(in srgb,var(--dps-text-dark,#fff) 72%,transparent)}
html.dps-dark-mode .dps-popup-badge,html.dps-dark-mode .dps-popup-button{background:var(--dps-popup-accent-dark,var(--dps-accent-soft));color:var(--dps-accent,#0e2a5f)!important}
@keyframes dpsPopupIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:520px){.dps-popup{right:18px!important;left:18px!important;bottom:18px!important;top:auto!important;transform:none!important;padding:23px;width:auto}}


/* =========================================================
 * 1.0.73 – Floating Buttons
 * Desktop polished + Mobile Bottom Bar nach Unterkunft
 * ======================================================= */

/* Desktop */
.dps-floating-action{
  overflow:visible!important;
  text-align:center!important;
}
.dps-floating-action__label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.dps-floating-action__icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  line-height:0!important;
}
.dps-floating-action__icon svg{
  display:block!important;
  width:21px!important;
  height:21px!important;
  margin:auto!important;
}
.dps-floating-actions.is-circles .dps-floating-action{
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
}
.dps-floating-actions.is-circles{
  gap:12px!important;
}
.dps-floating-actions.is-right .dps-floating-action::after{
  right:calc(100% + 12px)!important;
  left:auto!important;
}
.dps-floating-actions.is-left .dps-floating-action::after{
  left:calc(100% + 12px)!important;
  right:auto!important;
}
.dps-floating-action::after{
  z-index:5!important;
  padding:8px 12px!important;
  border-radius:9px!important;
  background:rgba(15,23,42,.94)!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
html.dps-dark-mode .dps-floating-action::after{
  background:rgba(255,255,255,.94)!important;
  color:#0f172a!important;
}

/* MOBILE: eigene Bottom-Bar – Position/Style aus Desktop vollständig überschreiben */
@media screen and (max-width:768px){

  html body .dps-floating-actions,
  html body .dps-floating-actions.is-right,
  html body .dps-floating-actions.is-left,
  html body .dps-floating-actions.is-middle,
  html body .dps-floating-actions.is-bottom,
  html body .dps-floating-actions.is-circles,
  html body .dps-floating-actions.is-bar{
    position:fixed!important;
    inset:auto 8px 8px 8px!important;
    top:auto!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;

    width:auto!important;
    max-width:none!important;
    height:auto!important;
    transform:none!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:5px!important;

    padding:5px!important;
    margin:0!important;

    background:rgba(255,255,255,.97)!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:15px!important;
    box-shadow:0 8px 26px rgba(15,23,42,.22)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;

    overflow:visible!important;
    pointer-events:auto!important;
    z-index:2147482900!important;
    box-sizing:border-box!important;
  }

  html.dps-dark-mode body .dps-floating-actions{
    background:color-mix(in srgb,var(--dps-card-bg-dark,#17202e) 96%,transparent)!important;
    border-color:color-mix(in srgb,var(--dps-accent-soft,#cbd7ea) 22%,transparent)!important;
  }

  html body .dps-floating-actions > .dps-floating-action,
  html body .dps-floating-actions.is-circles > .dps-floating-action,
  html body .dps-floating-actions.is-bar > .dps-floating-action{
    position:relative!important;
    flex:1 1 0!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;

    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;

    padding:5px 6px!important;
    margin:0!important;

    border:0!important;
    border-radius:10px!important;
    -webkit-border-radius:10px!important;
    outline:0!important;

    aspect-ratio:auto!important;
    clip-path:none!important;
    -webkit-clip-path:none!important;

    background:var(--dps-item-bg,var(--dps-floating-bg,var(--dps-accent,#2f7df4)))!important;
    color:var(--dps-item-fg,var(--dps-floating-fg,#fff))!important;

    box-shadow:none!important;
    transform:none!important;
    filter:none!important;
    overflow:hidden!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
  }

  html.dps-dark-mode body .dps-floating-actions > .dps-floating-action{
    background:var(--dps-accent-soft,#cbd7ea)!important;
    color:var(--dps-accent,#0e2a5f)!important;
  }

  html body .dps-floating-actions .dps-floating-action__icon{
    position:static!important;
    flex:0 0 auto!important;
    display:grid!important;
    place-items:center!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    line-height:0!important;
  }

  html body .dps-floating-actions .dps-floating-action__icon svg{
    display:block!important;
    width:17px!important;
    height:17px!important;
    margin:0!important;
    color:inherit!important;
    stroke:currentColor!important;
  }

  html body .dps-floating-actions .dps-floating-action__label{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
    clip:auto!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;

    color:inherit!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.05!important;
    text-align:center!important;
  }

  html body .dps-floating-actions .dps-floating-action::before,
  html body .dps-floating-actions .dps-floating-action::after{
    display:none!important;
    content:none!important;
  }

  html body .dps-floating-actions .dps-floating-action:hover,
  html body .dps-floating-actions .dps-floating-action:focus-visible{
    transform:none!important;
    filter:brightness(.97)!important;
    box-shadow:none!important;
  }

  html body.dps-has-mobile-floating-actions{
    padding-bottom:76px!important;
  }
}


/* =========================================================
 * 1.0.78 – Galerien 1:1 Unterkunft Suite
 * ======================================================= */
.dps-detail-main-image{position:relative;overflow:hidden;border-radius:18px;background:#eee;aspect-ratio:4/3;cursor:zoom-in}.dps-detail-slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .28s ease}.dps-detail-slide.is-active{opacity:1;pointer-events:auto}.dps-detail-slide img{width:100%;height:100%;object-fit:cover;display:block}.dps-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(40,40,40,.62);color:#fff;font-size:30px;line-height:1;cursor:pointer}.dps-gallery-prev{left:14px}.dps-gallery-next{right:14px}.dps-gallery-counter{position:absolute;right:14px;bottom:12px;z-index:3;padding:6px 10px;border-radius:999px;background:rgba(17,17,17,.7);color:#fff;font-size:12px}.dps-gallery-zoom{position:absolute;left:14px;bottom:12px;z-index:3;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:#111;font-size:17px}.dps-detail-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.dps-detail-thumb{height:74px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.7;transition:.2s}.dps-detail-thumb.is-active{border-color:var(--dps-accent);opacity:1}.dps-detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}
html.dps-lightbox-open,html.dps-lightbox-open body{overflow:hidden}.dps-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:34px;background:rgba(12,12,12,.92)}.dps-lightbox.is-open{display:flex}.dps-lightbox-stage{position:relative;width:min(86vw,1400px);height:min(88vh,950px)}.dps-lightbox-slide{position:absolute;inset:0;margin:0;display:none;align-items:center;justify-content:center}.dps-lightbox-slide.is-active{display:flex}.dps-lightbox-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.4)}.dps-lightbox-close{position:fixed;top:10px;right:18px;width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:48px;line-height:1;cursor:pointer}.dps-lightbox-arrow{position:fixed;top:var(--dps-lightbox-arrow-top,50%);transform:translateY(-50%);width:58px;height:58px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:44px;cursor:pointer}.dps-lightbox-prev{left:var(--dps-lightbox-prev-left,18px)}.dps-lightbox-next{right:var(--dps-lightbox-next-right,18px)}.dps-lightbox-counter{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:13px}
@media(max-width:1050px){.dps-detail-top{grid-template-columns:1fr}.dps-detail-amenities{width:100%;margin-left:0}.dps-booking-cta{grid-template-columns:auto 1fr}.dps-booking-primary,.dps-booking-secondary{width:100%}}
@media(max-width:760px){.dps-room-template{padding:24px 14px 44px}.dps-detail-main-image{aspect-ratio:4/3;border-radius:14px}.dps-detail-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}.dps-detail-thumb{height:62px}.dps-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dps-detail-facts>div,.dps-detail-facts>div:nth-child(3n){border-right:1px solid rgba(0,0,0,.1)}.dps-detail-facts>div:nth-child(2n){border-right:0}.dps-amenity-list{grid-template-columns:1fr}.dps-booking-cta{grid-template-columns:1fr;padding:24px;text-align:center}.dps-booking-icon{display:none}.dps-booking-primary,.dps-booking-secondary{white-space:normal;padding:14px 18px}.dps-lightbox{padding:12px}.dps-lightbox-stage{width:92vw;height:82vh}.dps-lightbox-arrow{width:44px;height:44px;font-size:34px}.dps-lightbox-prev{left:8px}.dps-lightbox-next{right:8px}}



/* 0.9.0 – Dateck Hotel Gallery */
.dps-property-gallery{width:100%;min-width:0}.dps-property-gallery .dps-detail-main-image{aspect-ratio:16/9;border-radius:var(--dps-card-radius);box-shadow:0 20px 55px rgba(0,0,0,.10)}.dps-gallery-ratio-4-3 .dps-detail-main-image{aspect-ratio:4/3}.dps-gallery-ratio-3-2 .dps-detail-main-image{aspect-ratio:3/2}.dps-gallery-ratio-auto .dps-detail-main-image{aspect-ratio:auto;min-height:460px}.dps-property-gallery--panorama .dps-detail-main-image{aspect-ratio:21/8}.dps-property-gallery .dps-detail-thumbnails{display:flex;grid-template-columns:none;gap:10px;overflow-x:auto;padding:3px 1px 8px;scrollbar-width:thin}.dps-property-gallery .dps-detail-thumb{flex:0 0 118px;height:78px}.dps-property-gallery__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dps-property-gallery__tile{position:relative;width:100%;height:auto;min-height:220px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#eee;cursor:zoom-in}.dps-property-gallery__tile img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;transition:transform .35s ease}.dps-property-gallery__tile:hover img{transform:scale(1.035)}.dps-property-gallery__tile span{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;border-radius:10px;background:rgba(15,15,15,.64);color:#fff;font-size:12px;text-align:left}.dps-property-gallery--masonry .dps-property-gallery__tiles{display:block;columns:3;column-gap:14px}.dps-property-gallery--masonry .dps-property-gallery__tile{display:block;min-height:0;margin:0 0 14px;break-inside:avoid}.dps-property-gallery--masonry .dps-property-gallery__tile img{height:auto;min-height:0}.dps-gallery-hidden-stage{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important}.dps-property-gallery--grid .dps-detail-thumb,.dps-property-gallery--masonry .dps-detail-thumb{opacity:1;border:0}.dps-property-gallery--grid .dps-detail-thumb.is-active,.dps-property-gallery--masonry .dps-detail-thumb.is-active{border:0}.dps-dark-mode .dps-property-gallery__tile{background:var(--dps-dark-card)}@media(max-width:800px){.dps-property-gallery__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dps-property-gallery--masonry .dps-property-gallery__tiles{columns:2}.dps-property-gallery--panorama .dps-detail-main-image{aspect-ratio:16/9}.dps-gallery-ratio-auto .dps-detail-main-image{min-height:300px}}@media(max-width:520px){.dps-property-gallery__tiles{grid-template-columns:1fr}.dps-property-gallery--masonry .dps-property-gallery__tiles{columns:1}.dps-property-gallery__tile{min-height:210px}.dps-property-gallery .dps-detail-thumb{flex-basis:86px;height:62px}}

/* 0.9.1 Central compact bento gallery */
.dps-property-gallery--central{position:relative;width:100%;isolation:isolate}
.dps-bento-nav{display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px}
.dps-bento-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(0,0,0,.13);border-radius:50%;background:var(--dps-card,#fff);color:var(--dps-text,#111);font-size:27px;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}
.dps-bento-arrow:hover{transform:translateY(-2px);background:var(--dps-bg,#f5f5f5)}
.dps-bento-arrow:disabled{opacity:.34;cursor:default;transform:none}
.dps-bento-viewport{width:100%;overflow:hidden}
.dps-bento-track{display:flex;width:100%;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform}
.dps-bento-page{flex:0 0 100%;display:grid;grid-template-columns:2.1fr 1.55fr 1.55fr .75fr;grid-template-rows:1fr 1fr;gap:14px;height:500px;min-width:0}
.dps-bento-item{position:relative;display:block;width:100%;height:100%!important;min-width:0;min-height:0;padding:0!important;margin:0!important;border:0!important;border-radius:20px!important;overflow:hidden;background:#ececec;cursor:zoom-in;opacity:1!important;box-shadow:none!important}
.dps-bento-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.dps-bento-item:hover img{transform:scale(1.025)}
.dps-bento-item span{position:absolute;left:12px;right:12px;bottom:12px;padding:7px 10px;border-radius:10px;background:rgba(16,16,16,.62);color:#fff;font-size:12px;text-align:left;opacity:0;transform:translateY(5px);transition:.2s}
.dps-bento-item:hover span{opacity:1;transform:none}
.dps-bento-item--tall-left{grid-column:1;grid-row:1/3}
.dps-bento-item--top-mid{grid-column:2;grid-row:1}
.dps-bento-item--bottom-mid{grid-column:2;grid-row:2}
.dps-bento-item--tall-right{grid-column:3;grid-row:1/3}
.dps-bento-item--top-slim{grid-column:4;grid-row:1}
.dps-bento-item--bottom-slim{grid-column:4;grid-row:2}
.dps-bento-item--default{grid-column:auto;grid-row:auto}
.dps-dark-mode .dps-bento-arrow{border-color:rgba(255,255,255,.15);background:var(--dps-dark-card,#17202e);color:var(--dps-dark-text,#fff)}
.dps-dark-mode .dps-bento-item{background:var(--dps-dark-card,#17202e)}
/* Lightbox always belongs to the viewport, never to a transformed/colored section. */
body>.dps-lightbox{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;z-index:2147483000!important;transform:none!important;overflow:visible!important}
@media(max-width:900px){
  .dps-bento-page{grid-template-columns:1.7fr 1fr 1fr;grid-template-rows:1fr 1fr;height:430px}
  .dps-bento-item--tall-left{grid-column:1;grid-row:1/3}
  .dps-bento-item--top-mid{grid-column:2;grid-row:1}
  .dps-bento-item--bottom-mid{grid-column:2;grid-row:2}
  .dps-bento-item--tall-right{grid-column:3;grid-row:1/3}
  .dps-bento-item--top-slim,.dps-bento-item--bottom-slim{display:none}
}
@media(max-width:600px){
  .dps-bento-nav{margin-bottom:12px}
  .dps-bento-arrow{width:40px;height:40px}
  .dps-bento-page{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;height:330px;gap:9px}
  .dps-bento-item{border-radius:14px!important}
  .dps-bento-item--tall-left{grid-column:1;grid-row:1/3}
  .dps-bento-item--top-mid{grid-column:2;grid-row:1}
  .dps-bento-item--bottom-mid{grid-column:2;grid-row:2}
  .dps-bento-item--tall-right,.dps-bento-item--top-slim,.dps-bento-item--bottom-slim{display:none}
}



/* =========================================================
 * 1.1.0 – Immobilienbewertung
 * ======================================================= */
.dps-home-valuation{
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(90deg,color-mix(in srgb,var(--dps-home-bg) 95%,transparent) 0%,color-mix(in srgb,var(--dps-home-bg) 82%,transparent) 48%,color-mix(in srgb,var(--dps-home-bg) 65%,transparent) 100%),
    var(--dps-valuation-image);
  background-size:cover;
  background-position:center;
}
html.dps-dark-mode .dps-home-valuation{
  background-image:
    linear-gradient(90deg,color-mix(in srgb,var(--dps-home-dark-bg) 97%,transparent) 0%,color-mix(in srgb,var(--dps-home-dark-bg) 88%,transparent) 52%,color-mix(in srgb,var(--dps-home-dark-bg) 72%,transparent) 100%),
    var(--dps-valuation-image);
}
.dps-home-valuation__intro{max-width:760px;margin-bottom:28px}
.dps-home-valuation__intro h2{margin:8px 0 12px;color:inherit}
.dps-home-valuation__intro p{max-width:680px;margin:0;color:inherit;opacity:.78}

.dps-valuation{
  width:min(100%,920px);
  border:1px solid color-mix(in srgb,var(--dps-home-text) 12%,transparent);
  border-radius:var(--dps-card-radius,20px);
  background:color-mix(in srgb,var(--dps-card,#fff) 94%,transparent);
  box-shadow:var(--dps-card-shadow,0 18px 55px rgba(15,23,42,.12));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  overflow:hidden;
}
html.dps-dark-mode .dps-valuation{
  background:color-mix(in srgb,var(--dps-dark-card,#17202e) 94%,transparent);
  border-color:color-mix(in srgb,var(--dps-dark-text,#fff) 16%,transparent);
}
.dps-valuation__progress{padding:20px 26px 0}
.dps-valuation__progress-copy{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dps-valuation__progress-copy strong{font-size:13px}
.dps-valuation__progress-track{height:5px;margin-top:11px;border-radius:999px;background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 12%,transparent);overflow:hidden}
.dps-valuation__progress-track i{display:block;width:16.666%;height:100%;border-radius:inherit;background:var(--dps-accent,#0e2a5f);transition:width .3s ease}
html.dps-dark-mode .dps-valuation__progress-track i{background:var(--dps-accent-soft,var(--dps-accent,#cbd7ea))}
.dps-valuation__form{padding:22px 26px 24px}
.dps-valuation-step{display:none;animation:dpsValIn .24s ease}
.dps-valuation-step.is-active{display:block}
@keyframes dpsValIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.dps-valuation-step__head{display:flex;gap:15px;align-items:flex-start;margin:2px 0 22px}
.dps-valuation-step__head>svg{flex:0 0 46px;width:46px;height:46px;padding:11px;box-sizing:border-box;border-radius:13px;background:var(--dps-accent,#0e2a5f);color:var(--dps-accent-contrast,#fff);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.dps-dark-mode .dps-valuation-step__head>svg{background:var(--dps-accent-soft,var(--dps-accent,#cbd7ea));color:var(--dps-accent,#0e2a5f)}
.dps-valuation-step__head span{display:block;margin-bottom:3px;color:var(--dps-accent,#0e2a5f);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
html.dps-dark-mode .dps-valuation-step__head span{color:var(--dps-accent-soft,var(--dps-accent,#cbd7ea))}
.dps-valuation-step__head h3{margin:0 0 4px;font-size:26px;color:inherit}
.dps-valuation-step__head p{margin:0;opacity:.68}
.dps-valuation-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dps-valuation-choice-grid.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.dps-valuation-choice{
  appearance:none;display:flex;align-items:center;gap:12px;min-height:92px;padding:16px;
  border:1px solid color-mix(in srgb,var(--dps-home-text) 13%,transparent);
  border-radius:14px;background:color-mix(in srgb,var(--dps-card,#fff) 82%,transparent);
  color:inherit;cursor:pointer;text-align:left;transition:.2s
}
html.dps-dark-mode .dps-valuation-choice{background:color-mix(in srgb,var(--dps-dark-card,#17202e) 85%,transparent);border-color:color-mix(in srgb,var(--dps-dark-text,#fff) 15%,transparent)}
.dps-valuation-choice:hover,.dps-valuation-choice.is-selected{transform:translateY(-2px);border-color:var(--dps-accent,#0e2a5f);box-shadow:0 10px 28px color-mix(in srgb,var(--dps-accent,#0e2a5f) 13%,transparent)}
.dps-valuation-choice__icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 10%,transparent);color:var(--dps-accent,#0e2a5f)}
.dps-valuation-choice__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dps-valuation-choice.is-text{min-height:64px;justify-content:flex-start}
.dps-valuation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dps-valuation-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750}
.dps-valuation-fields label.wide{grid-column:1/-1}
.dps-valuation-fields label span small{font-weight:500;opacity:.65}
.dps-valuation-fields input,.dps-valuation-fields textarea{
  width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--dps-home-text) 16%,transparent);
  border-radius:11px;background:color-mix(in srgb,var(--dps-card,#fff) 88%,transparent);color:inherit;
  min-height:48px;padding:11px 13px;box-shadow:none
}
html.dps-dark-mode .dps-valuation-fields input,html.dps-dark-mode .dps-valuation-fields textarea{background:color-mix(in srgb,var(--dps-dark-card,#17202e) 82%,#000);border-color:color-mix(in srgb,var(--dps-dark-text,#fff) 18%,transparent)}
.dps-valuation-fields textarea{min-height:105px;resize:vertical}
.dps-valuation-privacy{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important;font-size:12px!important;font-weight:500!important}
.dps-valuation-privacy input{width:18px!important;height:18px!important;min-height:0!important;margin-top:1px}
.dps-valuation-privacy a{color:var(--dps-accent,#0e2a5f)}
html.dps-dark-mode .dps-valuation-privacy a{color:var(--dps-accent-soft,var(--dps-accent,#cbd7ea))}
.dps-valuation__actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--dps-home-text) 10%,transparent)}
.dps-valuation__actions button{min-height:46px;padding:0 19px;border-radius:10px;font-weight:800;cursor:pointer}
.dps-valuation-back{border:1px solid color-mix(in srgb,var(--dps-home-text) 16%,transparent);background:transparent;color:inherit}
.dps-valuation-back:disabled{opacity:.35;cursor:default}
.dps-valuation-next,.dps-valuation-submit{margin-left:auto;border:1px solid var(--dps-button-bg,var(--dps-accent,#0e2a5f));background:var(--dps-button-bg,var(--dps-accent,#0e2a5f));color:var(--dps-button-text,#fff)}
html.dps-dark-mode .dps-valuation-next,html.dps-dark-mode .dps-valuation-submit{background:var(--dps-button-bg-dark,var(--dps-accent-soft,var(--dps-accent,#cbd7ea)));color:var(--dps-button-text-dark,var(--dps-accent,#0e2a5f))}
.dps-valuation__status{min-height:18px;margin-top:10px;font-size:12px}
.dps-valuation__status.is-error{color:#b42318}
.dps-valuation-success{padding:48px 30px;text-align:center}
.dps-valuation-success__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 10%,transparent);color:var(--dps-accent,#0e2a5f)}
.dps-valuation-success__icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dps-valuation-success>span:not(.dps-valuation-success__icon){font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--dps-accent,#0e2a5f)}
.dps-valuation-success h3{margin:7px 0 9px;font-size:28px;color:inherit}
.dps-valuation-success p{max-width:560px;margin:0 auto;opacity:.72}
@media(max-width:800px){
  .dps-valuation-choice-grid.is-four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .dps-valuation__progress{padding:17px 18px 0}.dps-valuation__form{padding:18px}
  .dps-valuation-choice-grid,.dps-valuation-choice-grid.is-four,.dps-valuation-fields{grid-template-columns:1fr}
  .dps-valuation-fields label.wide{grid-column:auto}
  .dps-valuation-step__head h3{font-size:22px}
  .dps-valuation-choice{min-height:72px}
}


/* =========================================================
 * 1.1.5 – Framework polish: Map, Cookie link, Back to Top
 * ======================================================= */
.dps-contact-map iframe{
  background:var(--dps-card,#fff);
  border:1px solid color-mix(in srgb,var(--dps-text,#172033) 12%,transparent)!important;
}
.dps-contact-map iframe[data-dps-src]:not([src]){display:none!important}
.dps-contact-map-button{
  display:inline-flex!important;align-items:center!important;gap:9px!important;
  padding:14px 20px!important;
  border-radius:var(--dps-button-radius,12px)!important;
  background:var(--dps-button-bg,var(--dps-accent,#0e2a5f))!important;
  color:var(--dps-button-text,#fff)!important;
  border:0!important;text-decoration:none!important;font-weight:800!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--dps-button-bg,var(--dps-accent,#0e2a5f)) 22%,transparent)!important;
}
.dps-contact-map-button:hover,.dps-contact-map-button:focus-visible{
  background:var(--dps-button-hover,var(--dps-primary,#102445))!important;
  color:var(--dps-button-hover-text,#fff)!important;
  transform:translateY(-1px)
}
html.dps-dark-mode .dps-contact-map iframe{
  background:var(--dps-dark-card,#202a38);
  border-color:rgba(255,255,255,.14)!important
}
html.dps-dark-mode .dps-contact-map-button{
  background:var(--dps-dark-button-bg,var(--dps-accent-soft,#cbd7ea))!important;
  color:var(--dps-dark-button-text,var(--dps-primary,#102445))!important
}

button.dps-cookie-reopen{
  appearance:none!important;-webkit-appearance:none!important;
  display:block!important;width:max-content!important;min-width:0!important;
  margin:0 auto!important;padding:12px 8px 15px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:var(--dps-text,#172033)!important;
  font:inherit!important;font-size:13px!important;font-weight:500!important;
  line-height:1.4!important;text-decoration:underline!important;text-underline-offset:3px!important;
  cursor:pointer!important
}
button.dps-cookie-reopen:hover,button.dps-cookie-reopen:focus-visible{
  color:var(--dps-accent,#0e2a5f)!important;background:transparent!important;box-shadow:none!important
}
html.dps-dark-mode button.dps-cookie-reopen{color:var(--dps-dark-text,#f5f7fb)!important}

.dps-back-to-top{
  position:fixed;z-index:2147483000;bottom:var(--dps-btt-bottom,24px);
  display:grid;place-items:center;width:var(--dps-btt-size,48px);height:var(--dps-btt-size,48px);
  min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;
  background:var(--dps-btt-bg,#111);color:var(--dps-btt-fg,#fff)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.22);opacity:0;visibility:hidden;
  transform:translateY(14px);cursor:pointer;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease,background .18s ease,color .18s ease
}
.dps-back-to-top.is-right{right:var(--dps-btt-side,24px)}
.dps-back-to-top.is-left{left:var(--dps-btt-side,24px)}
.dps-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.dps-back-to-top:hover,.dps-back-to-top:focus-visible{
  background:var(--dps-btt-hover,var(--dps-accent,#7fa9ff));
  color:var(--dps-btt-hover-fg,#111)!important;transform:translateY(-2px)
}
.dps-back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:769px){.dps-back-to-top.is-hidden-desktop{display:none!important}}
@media(max-width:768px){
  .dps-back-to-top{--dps-btt-side:14px;--dps-btt-bottom:16px}
  .dps-back-to-top.is-hidden-mobile{display:none!important}
}


/* 1.1.6 – Kontakt: Karten-Icon im selben Framework-Stil wie Kontaktkarten */
.dps-contact-map-heading{align-items:center!important}
.dps-contact-map-icon{
  width:58px!important;height:58px!important;flex:0 0 58px!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--dps-accent) 10%,transparent)!important;
  color:var(--dps-accent)!important
}
.dps-contact-map-icon svg{
  width:28px!important;height:28px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important
}
html.dps-dark-mode .dps-contact-map-icon{
  background:color-mix(in srgb,var(--dps-accent-soft,var(--dps-accent)) 10%,transparent)!important;
  color:var(--dps-accent-soft,var(--dps-accent))!important
}
@media(max-width:600px){
 .dps-contact-map-icon{width:52px!important;height:52px!important;flex-basis:52px!important}
 .dps-contact-map-icon svg{width:25px!important;height:25px!important}
}


/* =========================================================
 * 1.1.7 – valuation alignment/typography + footer replacement
 * ======================================================= */
.dps-valuation-layout{display:flex;flex-direction:column}
.dps-valuation-layout.is-left{align-items:flex-start}
.dps-valuation-layout.is-center{align-items:center}
.dps-valuation-layout.is-right{align-items:flex-end}
.dps-valuation-layout.is-center .dps-home-valuation__intro{text-align:center;margin-left:auto;margin-right:auto}
.dps-valuation-layout.is-center .dps-home-valuation__intro p{margin-left:auto;margin-right:auto}
.dps-valuation-layout.is-right .dps-home-valuation__intro{text-align:right;margin-left:auto}
.dps-valuation-layout.is-right .dps-home-valuation__intro p{margin-left:auto}
.dps-home-valuation__intro h2{font-size:var(--dps-home-h-desktop,var(--dps-h2-desktop,48px))!important;line-height:1.12}
.dps-home-valuation__intro p,.dps-valuation{font-size:var(--dps-home-body-desktop,var(--dps-body-desktop,16px))}
.dps-valuation-step__head h3{font-size:var(--dps-h3-desktop,28px)!important;color:var(--dps-heading)!important}
.dps-valuation-step__head p,.dps-valuation-choice,.dps-valuation-fields{font-size:var(--dps-body-desktop,16px)}
html.dps-dark-mode .dps-valuation-step__head h3{color:var(--dps-dark-heading)!important}
html.dps-dark-mode .dps-valuation{color:var(--dps-dark-text)!important}
html.dps-dark-mode .dps-valuation-fields input,
html.dps-dark-mode .dps-valuation-fields textarea{
 background:var(--dps-dark-card)!important;color:var(--dps-dark-text)!important;border-color:color-mix(in srgb,var(--dps-dark-text) 18%,transparent)!important
}
html.dps-dark-mode .dps-valuation-fields input::placeholder,
html.dps-dark-mode .dps-valuation-fields textarea::placeholder{color:color-mix(in srgb,var(--dps-dark-text) 52%,transparent)!important}
@media(max-width:900px){
 .dps-home-valuation__intro h2{font-size:var(--dps-home-h-tablet,var(--dps-h2-tablet,40px))!important}
 .dps-home-valuation__intro p,.dps-valuation,.dps-valuation-choice,.dps-valuation-fields{font-size:var(--dps-home-body-tablet,var(--dps-body-tablet,16px))}
 .dps-valuation-step__head h3{font-size:var(--dps-h3-tablet,25px)!important}
}
@media(max-width:600px){
 .dps-home-valuation__intro h2{font-size:var(--dps-home-h-mobile,var(--dps-h2-mobile,32px))!important}
 .dps-home-valuation__intro p,.dps-valuation,.dps-valuation-choice,.dps-valuation-fields{font-size:var(--dps-home-body-mobile,var(--dps-body-mobile,15px))}
 .dps-valuation-step__head h3{font-size:var(--dps-h3-mobile,22px)!important}
}

/* Theme footer hiding: complete selector set from the Unterkunft framework. */
body.dps-footer-replace-theme #footer,
body.dps-footer-replace-theme #footer-widgets,
body.dps-footer-replace-theme #footer-bottom,
body.dps-footer-replace-theme #site-footer,
body.dps-footer-replace-theme footer#colophon,
body.dps-footer-replace-theme .site-footer:not(.dps-site-footer),
body.dps-footer-replace-theme .footer-widgets,
body.dps-footer-replace-theme .footer-bottom,
body.dps-footer-replace-theme .footer-wrap:not(.dps-site-footer),
body.dps-footer-replace-theme .site-footer-wrap,
body.dps-footer-replace-theme .kadence-footer-wrap,
body.dps-footer-replace-theme .ast-footer-wrap,
body.dps-footer-replace-theme .oceanwp-footer-callout{display:none!important}


/* 1.1.8 – Immobilienbewertung: Icon-Farben vollständig Light/Dark */
.dps-valuation-choice__icon{
  background:color-mix(in srgb,var(--dps-accent,#0e2a5f) 10%,var(--dps-card,#fff))!important;
  color:var(--dps-accent,#0e2a5f)!important;
  border:1px solid color-mix(in srgb,var(--dps-accent,#0e2a5f) 8%,transparent)
}
.dps-valuation-choice:hover .dps-valuation-choice__icon,
.dps-valuation-choice.is-selected .dps-valuation-choice__icon{
  background:var(--dps-accent,#0e2a5f)!important;
  color:var(--dps-button-text,#fff)!important
}
html.dps-dark-mode .dps-valuation-choice__icon{
  background:color-mix(in srgb,var(--dps-accent-soft,var(--dps-accent,#cbd7ea)) 12%,var(--dps-dark-card,#17202e))!important;
  color:var(--dps-accent-soft,var(--dps-accent,#cbd7ea))!important;
  border-color:color-mix(in srgb,var(--dps-accent-soft,var(--dps-accent,#cbd7ea)) 18%,transparent)!important
}
html.dps-dark-mode .dps-valuation-choice:hover .dps-valuation-choice__icon,
html.dps-dark-mode .dps-valuation-choice.is-selected .dps-valuation-choice__icon{
  background:var(--dps-accent-soft,var(--dps-accent,#cbd7ea))!important;
  color:var(--dps-primary,#0e2a5f)!important
}


/* =========================================================
 * 1.1.11 – Instagram Feed
 * ======================================================= */
.dps-instagram-feed{margin-top:30px}
.dps-instagram-feed__grid{
 display:grid;grid-template-columns:repeat(var(--dps-instagram-columns,3),minmax(0,1fr));gap:18px
}
.dps-instagram-card{
 min-width:0;display:block;border-radius:var(--dps-radius,18px);
 overflow:hidden;background:var(--dps-card,#fff);color:var(--dps-text,#172033)!important;
 text-decoration:none!important;border:1px solid color-mix(in srgb,var(--dps-text,#172033) 9%,transparent);
 box-shadow:0 12px 34px rgba(15,23,42,.07);transition:transform .2s ease,box-shadow .2s ease
}
.dps-instagram-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.12)}
.dps-instagram-card__media{position:relative;display:block;overflow:hidden;background:#eef2f6;aspect-ratio:1/1}
.dps-instagram-card.is-ratio-portrait .dps-instagram-card__media{aspect-ratio:4/5}
.dps-instagram-card.is-ratio-landscape .dps-instagram-card__media{aspect-ratio:4/3}
.dps-instagram-card__media>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .28s ease}
.dps-instagram-card:hover .dps-instagram-card__media>img{transform:scale(1.035)}
.dps-instagram-card__demo-pattern{
 position:absolute;inset:0;display:grid;place-content:center;gap:9px;text-align:center;
 color:color-mix(in srgb,var(--dps-accent,#0e2a5f) 80%,#fff);
 background:
 radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--dps-accent,#0e2a5f) 17%,transparent),transparent 32%),
 linear-gradient(135deg,color-mix(in srgb,var(--dps-card,#fff) 86%,var(--dps-accent,#0e2a5f)),var(--dps-card,#fff))
}
.dps-instagram-card__demo-pattern svg{width:42px;height:42px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.65}
.dps-instagram-card__demo-pattern small{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:10px}
.dps-instagram-card__type{
 position:absolute;right:12px;top:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;
 background:rgba(12,22,40,.74);color:#fff;font-size:11px;backdrop-filter:blur(5px)
}
.dps-instagram-card__hover{
 position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,18,34,.38);
 opacity:0;transition:opacity .2s ease
}
.dps-instagram-card__hover svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.8}
.dps-instagram-card:hover .dps-instagram-card__hover{opacity:1}
.dps-instagram-card__caption{display:block;padding:15px 17px 17px;line-height:1.55;font-size:.92em}
.dps-instagram-feed__action{display:flex;justify-content:center;margin-top:24px}
.dps-instagram-feed__action .dps-home-button{display:inline-flex!important;align-items:center;gap:9px}
.dps-instagram-feed__action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.dps-instagram-feed.is-slider .dps-instagram-feed__grid{
 display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px;
 scrollbar-width:thin
}
.dps-instagram-feed.is-slider .dps-instagram-card{flex:0 0:min(330px,78vw);scroll-snap-align:start}
html.dps-dark-mode .dps-instagram-card{
 background:var(--dps-dark-card,#17202e);color:var(--dps-dark-text,#f5f7fb)!important;
 border-color:rgba(255,255,255,.1);box-shadow:0 14px 36px rgba(0,0,0,.22)
}
html.dps-dark-mode .dps-instagram-card__demo-pattern{
 color:var(--dps-accent-soft,var(--dps-accent,#cbd7ea));
 background:
 radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--dps-accent-soft,var(--dps-accent,#cbd7ea)) 13%,transparent),transparent 32%),
 linear-gradient(135deg,color-mix(in srgb,var(--dps-dark-card,#17202e) 88%,#fff),var(--dps-dark-card,#17202e))
}
@media(max-width:900px){.dps-instagram-feed__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dps-instagram-feed__grid{grid-template-columns:1fr;gap:14px}.dps-instagram-card__caption{padding:13px 14px 15px}}


/* 1.1.14 – dezenter Mitarbeiter-Login im Footer */
.dps-footer-copyright{display:inline-flex!important;align-items:center;gap:7px}
.dps-footer-login-door{
 display:inline-grid!important;place-items:center;width:22px;height:22px;
 margin-left:1px;border-radius:50%;color:var(--dps-footer-muted)!important;
 opacity:.34;transition:opacity .18s ease,background .18s ease,color .18s ease,transform .18s ease
}
.dps-footer-login-door svg{
 width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.55;
 stroke-linecap:round;stroke-linejoin:round
}
.dps-footer-login-door:hover,.dps-footer-login-door:focus-visible{
 opacity:.92;background:color-mix(in srgb,var(--dps-footer-text) 8%,transparent);
 color:var(--dps-footer-link-hover)!important;transform:translateY(-1px);outline:none
}
html.dps-dark-mode .dps-footer-login-door{
 color:var(--dps-footer-dark-muted)!important
}
html.dps-dark-mode .dps-footer-login-door:hover,
html.dps-dark-mode .dps-footer-login-door:focus-visible{
 color:var(--dps-footer-dark-link-hover)!important;
 background:color-mix(in srgb,var(--dps-footer-dark-text) 10%,transparent)
}


/* 1.1.24 – Galerie-Lightbox: Pfeilzeichen exakt im Kreis zentrieren */
.dps-lightbox-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  box-sizing:border-box;
  line-height:1;
  text-align:center;
  font-family:Arial,sans-serif;
  font-weight:400;
  text-indent:0;
}
.dps-lightbox-prev,
.dps-lightbox-next{
  padding:0;
}
.dps-lightbox-prev{
  padding-bottom:4px;
}
.dps-lightbox-next{
  padding-bottom:4px;
}


/* =========================================================
 * 1.1.25 – Central Gallery mobile: alle Bilder + Lightbox
 * ======================================================= */

/* Tablet: Auch hier keine Bilder einer 6er-Seite verstecken. */
@media(max-width:900px){
  .dps-property-gallery--central .dps-bento-page{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(2,190px);
    height:auto;
    min-height:394px;
  }
  .dps-property-gallery--central .dps-bento-item--tall-left,
  .dps-property-gallery--central .dps-bento-item--top-mid,
  .dps-property-gallery--central .dps-bento-item--bottom-mid,
  .dps-property-gallery--central .dps-bento-item--tall-right,
  .dps-property-gallery--central .dps-bento-item--top-slim,
  .dps-property-gallery--central .dps-bento-item--bottom-slim{
    display:block;
    grid-column:auto;
    grid-row:auto;
  }
}

/* Handy: jede Galerieseite zeigt wirklich alle bis zu 6 Bilder. */
@media(max-width:600px){
  .dps-property-gallery--central .dps-bento-page{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,150px);
    gap:9px;
    height:auto;
    min-height:468px;
  }
  .dps-property-gallery--central .dps-bento-item--tall-left,
  .dps-property-gallery--central .dps-bento-item--top-mid,
  .dps-property-gallery--central .dps-bento-item--bottom-mid,
  .dps-property-gallery--central .dps-bento-item--tall-right,
  .dps-property-gallery--central .dps-bento-item--top-slim,
  .dps-property-gallery--central .dps-bento-item--bottom-slim{
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }

  /* Lightbox-Navigation immer mittig links/rechts im Handy-Viewport. */
  body>.dps-lightbox .dps-lightbox-arrow{
    position:fixed!important;
    top:50%!important;
    top:50dvh!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:46px;
    height:46px;
    z-index:2147483002!important;
  }
  body>.dps-lightbox .dps-lightbox-prev{
    left:14px!important;
    right:auto!important;
  }
  body>.dps-lightbox .dps-lightbox-next{
    right:14px!important;
    left:auto!important;
  }
  body>.dps-lightbox .dps-lightbox-stage{
    width:calc(100vw - 28px)!important;
    height:calc(100dvh - 100px)!important;
    max-height:none!important;
  }
}


/* =========================================================
 * 1.1.26 – Mobile Central Gallery 2x2 + saubere Lightbox
 * ======================================================= */
@media(max-width:600px){
  /* Pro mobile Galerieseite exakt vier Bilder: 2 Spalten × 2 Reihen. */
  .dps-property-gallery--central .dps-bento-page{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,165px)!important;
    gap:10px!important;
    height:340px!important;
    min-height:340px!important;
  }
  .dps-property-gallery--central .dps-bento-item{
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    height:165px!important;
  }
  .dps-property-gallery--central .dps-bento-nav[hidden]{
    display:none!important;
  }

  /* Lightbox: Bild bekommt Luft und Navigation sitzt außerhalb des Fotos. */
  body>.dps-lightbox{
    padding:70px 64px 90px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  body>.dps-lightbox .dps-lightbox-stage{
    position:relative!important;
    width:100%!important;
    height:calc(100dvh - 180px)!important;
    max-width:none!important;
    max-height:none!important;
  }
  body>.dps-lightbox .dps-lightbox-slide{
    inset:0!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body>.dps-lightbox .dps-lightbox-slide img{
    display:block!important;
    max-width:100%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
    margin:auto!important;
    object-fit:contain!important;
    border-radius:16px!important;
  }

  body>.dps-lightbox .dps-lightbox-arrow{
    position:fixed!important;
    top:50dvh!important;
    bottom:auto!important;
    width:46px!important;
    height:46px!important;
    transform:translateY(-50%)!important;
    background:rgba(255,255,255,.16)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    z-index:2147483002!important;
  }
  body>.dps-lightbox .dps-lightbox-prev{
    left:10px!important;
    right:auto!important;
  }
  body>.dps-lightbox .dps-lightbox-next{
    right:10px!important;
    left:auto!important;
  }
  body>.dps-lightbox .dps-lightbox-counter{
    bottom:28px!important;
  }
  body>.dps-lightbox .dps-lightbox-close{
    top:calc(env(safe-area-inset-top,0px) + 12px)!important;
    right:14px!important;
    z-index:2147483003!important;
  }
}
@media(max-width:380px){
  .dps-property-gallery--central .dps-bento-page{
    grid-template-rows:repeat(2,145px)!important;
    height:300px!important;
    min-height:300px!important;
  }
  .dps-property-gallery--central .dps-bento-item{
    height:145px!important;
  }
  body>.dps-lightbox{
    padding-left:56px!important;
    padding-right:56px!important;
  }
}


/* 1.1.27 – Mobile Lightbox: Bildzentrum exakt auf Pfeilachse */
@media(max-width:600px){
  body>.dps-lightbox .dps-lightbox-stage{
    position:fixed!important;
    left:64px!important;
    right:64px!important;
    top:50dvh!important;
    width:auto!important;
    height:calc(100dvh - 190px)!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }
  body>.dps-lightbox .dps-lightbox-slide{
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body>.dps-lightbox .dps-lightbox-slide img{
    margin:0!important;
  }
}
@media(max-width:380px){
  body>.dps-lightbox .dps-lightbox-stage{
    left:56px!important;
    right:56px!important;
  }
}
