/* Hotel Zum Schlangenkönig – Angebotsdrawer, Version 2.1 */
.sk2{--sk-red:#9e1812;--sk-ink:#202020;--sk-muted:#777;--sk-line:#e9dfda;font-family:'Satoshi',Arial,sans-serif;font-weight:300;color:var(--sk-ink)}
.sk2,.sk2 *{box-sizing:border-box}.sk2 button,.sk2 a{font-family:'Satoshi',Arial,sans-serif}.sk2-tab{position:fixed;right:0;top:42%;z-index:10020;display:flex;align-items:center;gap:12px;border:0;border-radius:24px 0 0 24px;padding:10px 15px 10px 10px;background:#fff;color:var(--sk-ink);box-shadow:0 7px 28px #0002;cursor:pointer;transition:transform .45s cubic-bezier(.22,.61,.36,1)}.sk2-tab-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sk-red);color:#fff;position:relative}.sk2-tab-icon svg{width:22px;height:22px}.sk2-tab-icon em{position:absolute;right:-5px;top:-7px;min-width:19px;height:19px;line-height:17px;text-align:center;border:1px solid var(--sk-red);border-radius:50%;background:#fff;color:var(--sk-red);font:500 11px 'Satoshi',sans-serif}.sk2-tab small{display:block;text-align:left;color:var(--sk-red);font-size:10px;font-weight:500;letter-spacing:.15em}.sk2-tab strong{display:block;text-align:left;font-size:13px;font-weight:500;letter-spacing:0}.sk2-tab-arrow{font-size:21px;color:var(--sk-red)}.sk2-tab.sk2-peek{transform:translateX(calc(100% - 64px))}.sk2-tab.sk2-peek:hover{transform:translateX(calc(100% - 74px))}
.sk2-backdrop{position:fixed;inset:0;z-index:10030;background:rgba(0,0,0,.58)}.sk2-backdrop[hidden]{display:none!important}.sk2-drawer{position:fixed;top:0;right:0;width:min(545px,100vw);height:100vh;height:100dvh;z-index:10040;background:#f8f5f3;box-shadow:-10px 0 32px #0002;transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain;visibility:hidden}.sk2-drawer.sk2-open{transform:translateX(0);visibility:visible}.sk2-close{position:sticky;top:17px;float:right;margin:17px 17px -56px 0;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--sk-red);font-size:27px;font-weight:300;box-shadow:0 3px 15px #0001;cursor:pointer}.sk2-inner{padding:39px 37px 36px}.sk2-kicker{margin:0 55px 12px 0;color:var(--sk-red);font-size:11px;font-weight:500;letter-spacing:.18em}.sk2 .sk2-inner h2{margin:0 50px 14px 0;padding:0;color:#1d1d1d;font-family:'Satoshi',Arial,sans-serif;font-size:clamp(37px,3.6vw,48px);font-weight:300;letter-spacing:-.045em;line-height:1.06;text-align:left;text-transform:none}.sk2 .sk2-inner h2 em{display:block;color:var(--sk-red);font-family:'Satoshi',Arial,sans-serif;font-weight:300;font-style:italic;letter-spacing:-.045em}.sk2-intro{margin:0 0 22px;color:#777;font-size:14px;font-weight:300;line-height:1.7}.sk2-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.sk2-filters button{padding:8px 15px;border:1px solid #e7dad3;border-radius:22px;background:#fff;color:#6c6461;font-size:12px;font-weight:400;line-height:1.3;cursor:pointer}.sk2-filters button.active{background:var(--sk-red);border-color:var(--sk-red);color:#fff}.sk2-count{font-size:12px;color:#777;font-weight:500;margin:8px 0 13px}.sk2-list{display:grid;gap:12px}.sk2-card{display:grid;grid-template-columns:115px minmax(0,1fr);background:#fff;border:1px solid var(--sk-line);border-radius:15px;overflow:hidden;min-width:0;box-shadow:none}.sk2-card[hidden]{display:none!important}.sk2-card-image{position:relative;min-height:145px;overflow:hidden;background:#efe9e5}.sk2-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sk2-card-image--empty{display:grid;place-items:center;background:#eee5df;color:#9e1812;font-size:11px;text-align:center;padding:12px}.sk2-card-copy{padding:15px 15px 14px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.sk2-category{font-size:10px;line-height:1.5;letter-spacing:.12em;font-weight:500;color:var(--sk-red);text-transform:uppercase}.sk2 .sk2-card h3{display:block;width:100%;font-family:'Satoshi',Arial,sans-serif;color:#252525;font-size:17px;font-weight:400;letter-spacing:-.02em;line-height:1.32;margin:7px 0 5px;padding:0;text-align:left;text-transform:none;overflow-wrap:anywhere}.sk2-subtitle{font-size:12px;line-height:1.45;font-weight:400;color:var(--sk-red);margin:0 0 7px}.sk2-description{font-size:12px;line-height:1.55;font-weight:300;color:#777;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sk2-card-cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--sk-red);font-size:12px;font-weight:500;text-decoration:none}.sk2-card-cta span{font-size:17px}.sk2-featured{display:block}.sk2-featured .sk2-card-image{height:206px}.sk2-feature-badge{position:absolute;top:14px;left:14px;padding:8px 12px;border-radius:20px;background:var(--sk-red);color:#fff;font-size:10px;letter-spacing:.04em;font-weight:500}.sk2-featured .sk2-card-copy{padding:19px 19px 20px}.sk2 .sk2-featured h3{font-size:25px;line-height:1.2;font-weight:400;margin:9px 0 7px}.sk2-featured .sk2-subtitle{font-size:15px;font-weight:500;margin-bottom:9px}.sk2-featured .sk2-description{display:block;font-size:13px;line-height:1.65;font-weight:300;margin-bottom:0}.sk2-featured .sk2-card-cta{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:16px;padding:13px 17px;border-radius:25px;background:var(--sk-red);color:#fff;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.01em}.sk2-footer{margin:25px 0 0;color:#777;font-size:12px;font-weight:400}.sk2-lock{overflow:hidden!important}
@media(max-width:600px){.sk2-tab{top:auto;bottom:125px}.sk2-drawer{width:100vw}.sk2-inner{padding:36px 18px 28px}.sk2 .sk2-inner h2{font-size:39px}.sk2-card{grid-template-columns:105px minmax(0,1fr)}.sk2-card-copy{padding:12px}.sk2 .sk2-card h3{font-size:15px}.sk2-description{-webkit-line-clamp:3}.sk2-featured .sk2-card-image{height:190px}.sk2-featured .sk2-card-copy{padding:17px}.sk2 .sk2-featured h3{font-size:24px}}@media(prefers-reduced-motion:reduce){.sk2-drawer,.sk2-tab{transition:none}}

/* V3: typografischer Abgleich mit der freigegebenen Referenz (03.11.2026) */
.sk2-drawer{background:#f8f5f3}
.sk2-inner{padding:17px 20px 30px}
.sk2-kicker{font-size:10px;font-weight:500;letter-spacing:.19em;margin:0 48px 13px 0;line-height:1.5}
.sk2 .sk2-inner h2{font-family:'Satoshi',Arial,sans-serif;font-size:40px;font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:0 44px 13px 0}
.sk2 .sk2-inner h2 em{font-family:'Satoshi',Arial,sans-serif;font-size:40px;font-weight:300;font-style:italic;letter-spacing:-.045em;line-height:1.03}
.sk2-intro{font-size:13px;font-weight:300;line-height:1.7;margin:0 0 21px;max-width:420px}
.sk2-filters{justify-content:flex-start;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.sk2-filters button{padding:10px 15px;font-size:12px;font-weight:400;line-height:1.15;white-space:nowrap}
.sk2-count{font-size:12px;font-weight:500;margin:8px 0 13px}
.sk2-close{top:12px;margin:12px 12px -54px 0}
.sk2 .sk2-card h3{font-weight:400}
.sk2 .sk2-featured h3{font-weight:400}
@media(max-width:600px){
 .sk2-inner{padding:17px 19px 28px}
 .sk2 .sk2-inner h2{font-size:40px;font-weight:400;line-height:1.02}
 .sk2 .sk2-inner h2 em{font-size:40px;font-weight:300}
 .sk2-intro{font-size:13px;line-height:1.7;margin-bottom:21px}
 .sk2-filters{gap:6px}
 .sk2-filters button{padding:10px 14px;font-size:12px}
}

/* V4 – kompakte Angebotskarten: Aktionslink immer sichtbar */
#sk2-offers .sk2-card:not(.sk2-featured){min-height:182px;grid-template-columns:115px minmax(0,1fr);align-items:stretch}
#sk2-offers .sk2-card:not(.sk2-featured) .sk2-card-image{height:auto;min-height:182px}
#sk2-offers .sk2-card:not(.sk2-featured) .sk2-card-copy{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:182px;padding:13px 15px 12px;overflow:visible;box-sizing:border-box}
#sk2-offers .sk2-card:not(.sk2-featured) .sk2-category{flex:0 0 auto}
#sk2-offers .sk2-card:not(.sk2-featured) h3{flex:0 0 auto;margin:6px 0 4px}
#sk2-offers .sk2-card:not(.sk2-featured) .sk2-subtitle{flex:0 0 auto;margin-bottom:5px}
#sk2-offers .sk2-card:not(.sk2-featured) .sk2-description{flex:0 1 auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin:0 0 10px;line-height:1.45}
#sk2-offers .sk2-card:not(.sk2-featured) a.sk2-card-cta{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;transform:none!important;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:9px;align-self:stretch;margin:auto 0 0!important;padding:7px 0 0!important;min-height:27px;height:auto!important;max-height:none!important;overflow:visible!important;color:#9e1812!important;background:transparent!important;font-family:'Satoshi',Arial,sans-serif;font-size:12px!important;font-weight:500!important;line-height:1.4!important;text-decoration:none!important;text-transform:none!important;white-space:normal;z-index:1}
#sk2-offers .sk2-card:not(.sk2-featured) a.sk2-card-cta span{display:inline!important;visibility:visible!important;opacity:1!important;font-size:18px!important;line-height:1!important}
#sk2-offers .sk2-card:not(.sk2-featured) a.sk2-card-cta:hover,#sk2-offers .sk2-card:not(.sk2-featured) a.sk2-card-cta:focus-visible{text-decoration:underline!important;color:#74120e!important}
@media(max-width:600px){#sk2-offers .sk2-card:not(.sk2-featured){grid-template-columns:105px minmax(0,1fr);min-height:186px}#sk2-offers .sk2-card:not(.sk2-featured) .sk2-card-image{min-height:186px}#sk2-offers .sk2-card:not(.sk2-featured) .sk2-card-copy{min-height:186px;padding:12px 12px 10px}#sk2-offers .sk2-card:not(.sk2-featured) a.sk2-card-cta{font-size:11px!important}}

/* V5: Angebotslasche mobil rechts in mittlerer Bildschirmhoehe, oberhalb der Buchungsleiste */
@media(max-width:600px){#sk2-offers .sk2-tab{position:fixed!important;top:44%!important;bottom:auto!important;right:0!important;}}


/* V6 – Filter und Schliessen-Button, abgestimmt auf die mobile Vorlage */
#sk2-offers .sk2-filters {
    display: flex;
    justify-content: flex-start !important;
    align-items: center;
    align-content: flex-start;
    flex-wrap: wrap;
    column-gap: 7px !important;
    row-gap: 8px !important;
    width: 100%;
}
#sk2-offers .sk2-filters button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-family: 'Satoshi', Arial, sans-serif;
    font-weight: 400;
}
#sk2-offers .sk2-close {
    top: 24px !important;
    margin: 24px 18px -68px 0 !important;
}
@media (max-width: 600px) {
    #sk2-offers .sk2-filters {
        column-gap: 6px !important;
        row-gap: 7px !important;
    }
    #sk2-offers .sk2-filters button {
        padding: 10px 12px;
        font-size: 11px;
    }
    #sk2-offers .sk2-close {
        top: 26px !important;
        margin: 26px 16px -70px 0 !important;
    }
}

/* V7 – Schliessen-Button dauerhaft innerhalb des Drawers */
#sk2-offers .sk2-drawer .sk2-close {
    position: fixed !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    bottom: auto !important;
    float: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 100 !important;
    width: 44px;
    height: 44px;
}
@media (max-width: 600px) {
    #sk2-offers .sk2-drawer .sk2-close {
        top: 18px !important;
        right: 18px !important;
        margin: 0 !important;
    }
}

/* V9: Drawer als eigene oberste Ebene, auch ueber mobiler Buchungsleiste */
body > #sk2-offers { position: static !important; isolation: auto !important; }
body > #sk2-offers .sk2-backdrop { z-index: 2147483000 !important; }
body > #sk2-offers .sk2-drawer { z-index: 2147483001 !important; top: 0 !important; bottom: 0 !important; height: 100dvh !important; max-height: 100dvh !important; }
body > #sk2-offers .sk2-tab { z-index: 2147482999 !important; }
body > #sk2-offers .sk2-drawer .sk2-close { position: sticky !important; top: 18px !important; right: 18px !important; float: right !important; margin: 18px 18px -62px 0 !important; z-index: 10 !important; width: 44px !important; height: 44px !important; display: grid !important; place-items: center !important; }
@media (max-width: 600px) {
 body > #sk2-offers .sk2-drawer .sk2-close { top: 22px !important; margin: 22px 18px -66px 0 !important; }
 body > #sk2-offers .sk2-drawer .sk2-inner { padding-top: 40px !important; padding-bottom: max(40px, env(safe-area-inset-bottom)) !important; }
}
