/* ==========================================================================
   s'Platzl – Design-System fuer die Inhaltsseiten
   Gilt NUR fuer die Inhaltsbereiche (#main, Appartement-Seiten, Canvas-Seiten).
   Menue / Navigation (#site_header, .mobile-header) bleiben unveraendert.
   easybooking-Formulare und Gravity Forms sind ausgenommen.
   ========================================================================== */

/* ---------- Schriften (lokal gehostet, DSGVO-konform) ---------- */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/dmsans-normal-300-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/dmsans-normal-300-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/dmsans-italic-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dmmono-normal-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/dmmono-normal-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Design-Tokens ---------- */
:root{
  --sp-bg:#1F211E;          /* warmes Fast-Schwarz */
  --sp-surface:#282A26;     /* Karten / Flaechen */
  --sp-surface-2:#30332E;
  --sp-heading:#F2F0EA;     /* Creme */
  --sp-text:#D9D6CC;        /* Fliesstext */
  --sp-muted:#A9A79B;
  --sp-accent:#C2AA88;      /* warmer Sandton, abgeleitet vom Markenbraun */
  --sp-brand:#786950;       /* s'Platzl Markenbraun */
  --sp-line:rgba(242,240,234,.14);
  --sp-radius:4px;
  --sp-font:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --sp-mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
  --sp-ease:cubic-bezier(.4,0,.2,1);
  --sp-fs-body:17px;
  --sp-fs-h1:clamp(38px,4.6vw,68px);
  --sp-fs-h2:clamp(30px,3.3vw,50px);
  --sp-fs-h3:clamp(20px,1.7vw,25px);
  --sp-fs-eyebrow:12.5px;
  --sp-space:clamp(64px,8vw,120px);
  --sp-maxw:1240px;
}

/* ---------- Flaechen ---------- */
.pt-page,
.page-portfolio-loaded,
.portfolio-page-content,
body.elementor-template-canvas{background-color:var(--sp-bg)}
.pt-page{box-shadow:none}
.border-block-top-110,.border-block-top-40{display:none !important}

/* ---------- Grundtypografie ---------- */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas){
  font-family:var(--sp-font);
  font-size:var(--sp-fs-body);
  line-height:1.65;
  color:var(--sp-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-kerning:normal;
}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(p,li,td,th,dd,blockquote):not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){
  font-family:var(--sp-font);
  font-size:inherit;
  letter-spacing:0;
}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) p:not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){margin:0 0 1.1em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) strong{font-weight:600;color:var(--sp-heading)}

/* Ueberschriften: grosse, ruhige Grotesk in normaler Schreibweise */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(h1,h2,h3,.elementor-heading-title):not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *,.elementor-slide-heading)){
  font-family:var(--sp-font);
  font-weight:500;
  letter-spacing:-.015em;
  text-transform:none;
  color:var(--sp-heading);
}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) h1:not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){font-size:var(--sp-fs-h1);line-height:1.05;margin:0 0 .45em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) h2:not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){font-size:var(--sp-fs-h2);line-height:1.1;margin:0 0 .55em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) h3:not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){font-size:var(--sp-fs-h3);line-height:1.25;margin:1.6em 0 .5em;letter-spacing:-.01em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(h2,h3) + h3{margin-top:.2em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(h1,h2,h3) :is(strong,b,em){font-weight:inherit;font-style:normal;color:var(--sp-accent)}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(h1,h2,h3):first-child{margin-top:0}

/* Ueberzeile (Eyebrow) – wie h4 */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(h4,.sp-eyebrow):not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){
  display:block;
  font-family:var(--sp-mono);
  font-size:var(--sp-fs-eyebrow);
  font-weight:500;
  line-height:1.3;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sp-accent);
  margin:0 0 18px;
}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(h5,h6):not(:where(.ebContainer *,#ebAvailability *,#ebOffer *,.gform_wrapper *)){font-family:var(--sp-font);font-weight:500;letter-spacing:0;color:var(--sp-heading)}

/* Einleitungstext */
:where(#main,.portfolio-page-content,body.elementor-template-canvas) .sp-lead{font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--sp-heading);font-weight:400}

/* Links */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(.elementor-widget-text-editor,.elementor-text-editor) a:not(.elementor-button){
  color:var(--sp-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .2s var(--sp-ease)
}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(.elementor-widget-text-editor,.elementor-text-editor) a:not(.elementor-button):hover{color:var(--sp-heading)}

/* Listen */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) .elementor-widget-text-editor ul{padding-left:1.15em;margin:0 0 1.2em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) .elementor-widget-text-editor li{margin:0 0 .45em;padding-left:.2em}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) .elementor-widget-text-editor li::marker{color:var(--sp-accent)}

/* ---------- Seitentitel der Unterseiten ---------- */
.pt-page .section-title-block{margin:0 auto clamp(40px,5vw,72px);max-width:var(--sp-maxw);padding:clamp(28px,4vw,56px) clamp(20px,4vw,48px) clamp(26px,3vw,40px);border-bottom:1px solid var(--sp-line);text-align:left}
.pt-page .section-title-wrapper{display:block;text-align:left}
.pt-page .section-title{display:block;font-family:var(--sp-font);font-weight:500;font-size:clamp(42px,6vw,92px);line-height:1;letter-spacing:-.025em;text-transform:none;color:var(--sp-heading);margin:0}
.pt-page .section-title::before{display:block;font-family:var(--sp-mono);font-size:var(--sp-fs-eyebrow);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-accent);margin-bottom:22px;content:"Appartements s\2019Platzl \00B7  Serfaus"}
.pt-page[data-id="portfolio"] .section-title::before{content:"Wohnen in Serfaus"}
.pt-page[data-id="ueber-uns"] .section-title::before{content:"Willkommen im s\2019Platzl"}
.pt-page[data-id="serfaus-fiss-ladis-sommer"] .section-title::before{content:"Serfaus-Fiss-Ladis \00B7  Sommer"}
.pt-page[data-id="serfaus-fiss-ladis-winter"] .section-title::before{content:"Serfaus-Fiss-Ladis \00B7  Winter"}
.pt-page[data-id="wissenswertes"] .section-title::before{content:"Gut zu wissen"}
.pt-page[data-id="kontakt"] .section-title::before{content:"Wir freuen uns auf Sie"}
.pt-page[data-id="news"] .section-title::before{content:"Aktuelles aus dem s\2019Platzl"}
.pt-page[data-id="buchen"] .section-title::before{content:"Online buchen"}

/* ---------- Inhaltsbreite & Rhythmus ---------- */
.pt-page:not([data-id="startseite"]) .section-inner > .elementor,
.pt-page .section-inner > .portfolio-grid{max-width:var(--sp-maxw);margin-left:auto !important;margin-right:auto !important;padding-left:clamp(5px,2vw,18px);padding-right:clamp(5px,2vw,18px)}
.pt-page:not([data-id="startseite"]) .section-inner{padding-bottom:var(--sp-space) !important}
.pt-page .section-inner > .elementor > .elementor-section + .elementor-section{margin-top:clamp(28px,4vw,56px)}
.elementor-section.elementor-section-boxed > .elementor-container{max-width:var(--sp-maxw)}

/* ---------- Bilder ---------- */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) :is(.elementor-widget-image img,.elementor-image-gallery img,.gallery-item img){border-radius:var(--sp-radius)}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-widget-image{overflow:hidden;border-radius:var(--sp-radius)}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-widget-image img{transition:transform .9s var(--sp-ease)}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-widget-image:hover img{transform:scale(1.025)}

/* ---------- Buttons: ruhige Outline-Buttons ---------- */
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) .elementor-button,
#main .cicolors.pull-right.btn-large.btn-arrow.nextStep{font-family:var(--sp-font) !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) a.elementor-button{
  background:transparent !important;
  color:var(--sp-heading) !important;
  border:1px solid rgba(242,240,234,.55) !important;
  border-radius:var(--sp-radius) !important;
  padding:17px 30px !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  box-shadow:none !important;
  transition:background-color .25s var(--sp-ease),color .25s var(--sp-ease),border-color .25s var(--sp-ease) !important;
}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) a.elementor-button:hover,
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) a.elementor-button:focus-visible{background:var(--sp-heading) !important;color:var(--sp-bg) !important;border-color:var(--sp-heading) !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded,body.elementor-template-canvas) a.elementor-button .elementor-button-text{font:inherit;letter-spacing:inherit}
/* gefuellte Variante (Klasse sp-btn-solid am Button-Widget) */
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .sp-btn-solid a.elementor-button{background:var(--sp-heading) !important;color:var(--sp-bg) !important;border-color:var(--sp-heading) !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .sp-btn-solid a.elementor-button:hover{background:transparent !important;color:var(--sp-heading) !important}

/* ---------- Icon-Boxen als ruhige Karten ---------- */
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-widget-icon-box{height:100%}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-widget-icon-box > .elementor-widget-container{height:100%;background:var(--sp-surface) !important;border:1px solid var(--sp-line) !important;border-radius:var(--sp-radius) !important;padding:clamp(24px,2.4vw,36px) !important;transition:border-color .3s var(--sp-ease),transform .3s var(--sp-ease)}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-widget-icon-box:hover > .elementor-widget-container{border-color:rgba(194,170,136,.55) !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-wrapper{text-align:left !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-wrapper .elementor-icon-box-icon{margin:0 0 20px !important;text-align:left}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-wrapper .elementor-icon{font-size:26px !important;color:var(--sp-accent) !important;fill:var(--sp-accent) !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-wrapper .elementor-icon svg{width:26px;height:26px}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-title,
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-title a{font-family:var(--sp-font) !important;font-size:20px !important;font-weight:500 !important;line-height:1.25 !important;letter-spacing:-.005em !important;text-transform:none !important;color:var(--sp-heading) !important;margin:0 0 10px !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-box-description{font-family:var(--sp-font) !important;font-size:15.5px !important;font-weight:400 !important;line-height:1.6 !important;letter-spacing:0 !important;color:var(--sp-text) !important;margin:0 !important}

/* ---------- Icon-Listen ---------- */
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-list-items .elementor-icon-list-item{padding:14px 0 !important;border-bottom:1px solid var(--sp-line);margin:0 !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-list-items .elementor-icon-list-item:first-child{border-top:1px solid var(--sp-line)}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-list-text{font-family:var(--sp-font) !important;font-size:16.5px !important;color:var(--sp-heading) !important}
:where(#main,.portfolio-page-content,.page-portfolio-loaded) .elementor-icon-list-icon i{color:var(--sp-accent) !important;font-size:14px}

/* ---------- Karten / Panels (Klasse sp-panel an Abschnitt) ---------- */
.sp-panel{background:var(--sp-surface) !important;border:1px solid var(--sp-line) !important;border-radius:var(--sp-radius) !important}

/* ---------- Bewertungen (Premium Testimonials) ---------- */
#main .premium-testimonial-box,#main .premium-testimonial-container{font-family:var(--sp-font)}
#main .premium-testimonial-text-wrapper,#main .premium-testimonial-text-wrapper p{font-size:clamp(18px,1.5vw,22px) !important;line-height:1.55 !important;color:var(--sp-heading) !important;font-style:normal !important;font-weight:400 !important}
#main .premium-testimonial-person-name{font-family:var(--sp-font) !important;font-weight:600 !important;font-size:15px !important;letter-spacing:.02em;color:var(--sp-heading) !important}
#main .premium-testimonial-company-name,#main .premium-testimonial-company-name span{font-family:var(--sp-mono) !important;font-size:12px !important;letter-spacing:.14em;text-transform:uppercase;color:var(--sp-accent) !important}
#main .premium-testimonial-upper-quote,#main .premium-testimonial-lower-quote{color:var(--sp-brand) !important;opacity:.7}

/* ---------- Startseite: Slider ---------- */
#main .elementor-slides .swiper-slide-contents{
  background:rgba(31,33,30,.78) !important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:0 !important;border-left:2px solid var(--sp-accent) !important;
  border-radius:var(--sp-radius);
  height:auto !important;max-height:none !important;
  padding:clamp(28px,3.4vw,52px) !important;
}
#main .elementor-slides .elementor-slide-heading{font-family:var(--sp-font) !important;font-weight:500 !important;font-size:clamp(36px,4.4vw,66px) !important;line-height:1.02 !important;letter-spacing:-.02em !important;text-transform:none !important;color:var(--sp-heading) !important;padding:0 !important;margin-bottom:22px !important}
#main .elementor-slides .elementor-slide-heading::before{content:"Appartements s\2019Platzl \00B7  Serfaus";display:block;font-family:var(--sp-mono);font-size:12.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-accent);margin-bottom:20px}
#main .elementor-slides .elementor-slide-description{font-family:var(--sp-font) !important;font-size:clamp(16px,1.25vw,19px) !important;line-height:1.6 !important;font-weight:400 !important;letter-spacing:0 !important;color:var(--sp-text) !important;padding:0 !important}
#main .elementor-slides .swiper-pagination-bullet{background:var(--sp-heading);opacity:.4}
#main .elementor-slides .swiper-pagination-bullet-active{opacity:1}

/* ---------- Appartements-Raster ---------- */
#main .portfolio-grid figure{border-radius:var(--sp-radius);overflow:hidden}
#main .portfolio-grid figure img{transition:transform .9s var(--sp-ease)}
#main .portfolio-grid figure:hover img{transform:scale(1.04)}
#main .portfolio-grid figure .portfolio-preview-desc{left:0 !important;top:auto;bottom:0;height:auto;padding:0;background:linear-gradient(180deg,rgba(31,33,30,0) 0%,rgba(31,33,30,.88) 100%)}
#main .portfolio-grid figure .portfolio-preview-desc .portfolio-preview-desc-inner{background:transparent !important;padding:60px 22px 20px;height:auto}
#main .portfolio-grid figure .portfolio-preview-desc h5{font-family:var(--sp-font);font-weight:500;font-size:22px;letter-spacing:-.01em;color:var(--sp-heading);margin:0}
#main .portfolio-grid figure .portfolio-preview-desc h5::before{content:"Appartement ansehen";display:block;font-family:var(--sp-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-accent);margin-bottom:8px}
#main .portfolio-grid figure .portfolio-preview-desc i{color:var(--sp-heading);bottom:22px;right:22px;font-size:22px}

/* ---------- Appartement-Detailseiten ---------- */
.portfolio-page-content .portfolio-page-title{text-align:left;max-width:var(--sp-maxw);margin:0 auto;padding:clamp(28px,4vw,56px) 0 clamp(24px,3vw,36px);border-bottom:1px solid var(--sp-line);margin-bottom:clamp(32px,4vw,56px)}
.portfolio-page-content .portfolio-page-title h1{font-family:var(--sp-font);font-weight:500;font-size:clamp(38px,5vw,76px);line-height:1.02;letter-spacing:-.02em;color:var(--sp-heading)}
.portfolio-page-content .portfolio-page-title h1::before{content:"Ihr Appartement in Serfaus";display:block;font-family:var(--sp-mono);font-size:12.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-accent);margin-bottom:20px}
.portfolio-page-content .portfolio-page-nav > div.nav-item a{color:var(--sp-muted)}
.portfolio-page-content .portfolio-page-nav > div.nav-item a:hover{color:var(--sp-heading)}

/* ---------- Buchen: Formular auf heller Flaeche ---------- */
.pt-page[data-id="buchen"] .elementor-element-701503a{border-radius:var(--sp-radius);overflow:hidden;padding:clamp(16px,3vw,40px) !important;background:#FFFFFF !important}

/* ---------- Google Maps ---------- */
#main .elementor-widget-google_maps iframe{border-radius:var(--sp-radius);filter:grayscale(.35) contrast(1.02)}

/* ---------- Popups (Preise, Planskizze, Buchungsinfos) ---------- */
.pum-container .pum-content{font-family:var(--sp-font)}
.pum-container .pum-title{font-family:var(--sp-font);font-weight:500;letter-spacing:-.01em;text-transform:none}

/* ---------- Mobil ---------- */
@media (max-width:767px){
  :root{--sp-fs-body:16px}
  .pt-page .section-title-block{padding-left:18px;padding-right:18px}
  .pt-page .elementor-column .elementor-widget-wrap{padding-left:6px !important;padding-right:6px !important}
  #main .elementor-slides .swiper-slide-contents{padding:24px !important}
}

/* ---------- easybooking: Schrift vereinheitlichen, Elementor-h4 (Mono) dort aufheben ---------- */
.ebContainer, #ebAvailability, #ebOffer{font-family:var(--sp-font)}
.ebContainer :is(h1,h2,h3,h4,h5,h6), #ebAvailability :is(h1,h2,h3,h4,h5,h6), #ebOffer :is(h1,h2,h3,h4,h5,h6){font-family:var(--sp-font);letter-spacing:0}

/* ==========================================================================
   FUSSLEISTE (Footer) mit Navigationspfeilen, Rechtlichem und Kontakt-Menue
   ========================================================================== */
:root{--sp-footer-h:64px;--sp-footer-bg:#786950;--sp-footer-fg:#F2F0EA}
.sp-footer{display:none;font-family:var(--sp-font);color:var(--sp-footer-fg);background:var(--sp-footer-bg);box-sizing:border-box}
.sp-footer.is-placed{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--sp-footer-h);padding:0 clamp(14px,2.4vw,32px);border-top:1px solid rgba(242,240,234,.18)}
.pt-wrapper.sp-has-footer > .sp-footer{position:absolute;left:0;right:0;bottom:0;z-index:120}
.pt-wrapper.sp-has-footer > .subpages{height:calc(100% - var(--sp-footer-h))}
body.sp-footer-static .sp-footer{position:relative}
.sp-footer *{box-sizing:border-box}
.sp-footer a{color:var(--sp-footer-fg);text-decoration:none}

/* links: Name, Adresse, Route */
.sp-footer__left{min-width:0;flex:1 1 auto}
.sp-footer__route{display:inline-flex;align-items:center;gap:12px;min-width:0;font-size:14px;line-height:1.2;white-space:nowrap}
.sp-footer__route > i{font-size:15px;opacity:.9}
.sp-footer__name{font-weight:600;letter-spacing:.01em}
.sp-footer__addr{opacity:.85;overflow:hidden;text-overflow:ellipsis}
.sp-footer__addr::before{content:"";display:inline-block;width:1px;height:14px;background:rgba(242,240,234,.4);margin-right:12px;vertical-align:-2px}
.sp-footer__routelabel{font-family:var(--sp-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:6px 9px;border:1px solid rgba(242,240,234,.45);border-radius:var(--sp-radius);transition:background-color .2s var(--sp-ease),color .2s var(--sp-ease)}
.sp-footer__route:hover .sp-footer__routelabel,.sp-footer__route:focus-visible .sp-footer__routelabel{background:var(--sp-footer-fg);color:var(--sp-footer-bg)}

/* rechts: Rechtliches + Kontakt */
.sp-footer__right{display:flex;align-items:center;gap:clamp(14px,2vw,28px);flex:0 0 auto}
.sp-footer__legal{display:flex;gap:18px}
.sp-footer__legal a{font-size:13px;opacity:.85;border-bottom:1px solid transparent;transition:opacity .2s,border-color .2s}
.sp-footer__legal a:hover,.sp-footer__legal a:focus-visible{opacity:1;border-bottom-color:currentColor}

.sp-contact{position:relative}
.sp-contact__toggle{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;font-family:var(--sp-font);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1;color:var(--sp-footer-bg);background:var(--sp-footer-fg);border:1px solid var(--sp-footer-fg);border-radius:var(--sp-radius);cursor:pointer;transition:background-color .2s var(--sp-ease),color .2s var(--sp-ease)}
.sp-contact__toggle i{font-size:10px;transition:transform .25s var(--sp-ease)}
.sp-contact__toggle:hover,.sp-contact__toggle:focus-visible{background:transparent;color:var(--sp-footer-fg)}
.sp-contact.is-open .sp-contact__toggle i{transform:rotate(180deg)}
.sp-contact__menu{position:absolute;right:0;bottom:calc(100% + 12px);min-width:270px;margin:0;padding:8px;list-style:none;background:#F2F0EA;border-radius:var(--sp-radius);box-shadow:0 18px 48px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--sp-ease),transform .22s var(--sp-ease),visibility 0s linear .22s;z-index:130}
.sp-contact.is-open .sp-contact__menu{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--sp-ease),transform .22s var(--sp-ease)}
.sp-contact__menu::after{content:"";position:absolute;right:26px;bottom:-6px;width:12px;height:12px;background:#F2F0EA;transform:rotate(45deg)}
.sp-contact__menu li{margin:0;padding:0;list-style:none}
.sp-contact__menu a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:3px;color:#1F211E !important;transition:background-color .15s}
.sp-contact__menu a:hover,.sp-contact__menu a:focus-visible{background:#E4E0D5}
.sp-contact__menu i{flex:0 0 34px;width:34px;height:34px;line-height:34px;text-align:center;border-radius:50%;background:#786950;color:#F2F0EA;font-size:14px}
.sp-contact__menu .fa-whatsapp{background:#25D366;font-size:17px}
.sp-contact__menu span{display:flex;flex-direction:column;line-height:1.25}
.sp-contact__menu strong{font-size:15px;font-weight:600;color:#1F211E}
.sp-contact__menu small{font-size:12.5px;color:#5E5B52}


@media (max-width:1280px){.sp-footer__addr{display:none}}
@media (max-width:1099px){
  .sp-footer__name{display:none}
}
@media (max-width:767px){
  :root{--sp-footer-h:58px}
  .sp-footer.is-placed{gap:10px;padding:0 12px}
  .sp-footer__route{gap:8px}
  .sp-footer__routelabel{padding:6px 8px;font-size:10.5px}
  .sp-footer__legal{gap:12px}
  .sp-footer__legal a{font-size:12px}
  .sp-contact__toggle{height:38px;padding:0 13px;font-size:11.5px;letter-spacing:.1em}
  .sp-contact__menu{min-width:250px;right:-4px}
}
@media (max-width:420px){
  .sp-footer__route > i{display:none}
  .sp-footer__legal{flex-direction:column;gap:2px}
  .sp-footer__legal a{font-size:11.5px;line-height:1.3}
}

/* Popups Impressum & Datenschutz */
.pum-container:has(.sp-legal){background:#F2F0EA !important;border:0 !important;border-radius:var(--sp-radius) !important;padding:clamp(24px,4vw,48px) !important;box-shadow:0 24px 60px rgba(0,0,0,.4) !important}
.pum-container:has(.sp-legal) .pum-title{font-family:var(--sp-font) !important;font-weight:500 !important;font-size:clamp(28px,3vw,40px) !important;line-height:1.1 !important;letter-spacing:-.015em;color:#1F211E !important;margin-bottom:18px}
.sp-legal{font-family:var(--sp-font);font-size:15.5px;line-height:1.65;color:#2E302B}
.sp-legal h4{font-family:var(--sp-mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#786950;margin:0 0 20px}
.sp-legal h3{font-family:var(--sp-font);font-size:18px;font-weight:600;letter-spacing:0;text-transform:none;color:#1F211E;margin:28px 0 8px}
.sp-legal p{margin:0 0 12px;font-size:inherit !important}
.sp-legal a{color:#786950;text-decoration:underline;text-underline-offset:.2em}
.sp-legal strong{color:#1F211E}
.sp-legal .sp-todo{background:#FFE7A3;color:#5C4300;padding:1px 6px;border-radius:3px;font-size:.92em}
/* Fallback ohne :has() */
#popmake-585,#popmake-586{background:#F2F0EA !important;border:0 !important;border-radius:4px !important;padding:clamp(24px,4vw,48px) !important}
#popmake-585 .pum-title,#popmake-586 .pum-title{font-family:var(--sp-font) !important;font-weight:500 !important;font-size:clamp(28px,3vw,40px) !important;line-height:1.1 !important;color:#1F211E !important}

/* ---------- PFEILE V2: mittig in der Leiste, modern ---------- */
.sp-footer.is-placed{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.sp-footer__left{justify-self:start}
.sp-footer__right{justify-self:end}
.sp-footer__center{display:flex;justify-content:center}
.sp-footer__center .lmpixels-arrows-nav{position:static !important;display:flex !important;align-items:center;gap:14px;width:auto !important;margin:0;padding:0;transform:none;z-index:auto;bottom:auto;right:auto !important;left:auto}
.sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-left,
.sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-right{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 !important;padding:0;border-radius:50%;background:rgba(242,240,234,.12);border:1px solid rgba(242,240,234,.38);color:#F2F0EA;box-shadow:none;cursor:pointer;transition:background-color .25s var(--sp-ease),border-color .25s var(--sp-ease),color .25s var(--sp-ease),transform .25s var(--sp-ease)}
.sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-left:hover,
.sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-right:hover,
.sp-footer__center .lmpixels-arrows-nav > div:focus-visible{background:#F2F0EA;border-color:#F2F0EA;color:#786950;outline:none}
.sp-footer__center .lmpixels-arrow-left:hover svg{transform:translateX(-2px)}
.sp-footer__center .lmpixels-arrow-right:hover svg{transform:translateX(2px)}
.sp-footer__center .lmpixels-arrows-nav svg{display:block;transition:transform .25s var(--sp-ease)}
.sp-footer__center .lmpixels-arrows-nav > div:active{transform:scale(.94)}
.sp-footer__center .lmpixels-arrows-nav i.pe-7s-icon{display:none}
/* Zaehler zwischen den Pfeilen */
.sp-arrows__count{display:inline-flex;align-items:center;gap:8px;min-width:64px;justify-content:center;font-family:var(--sp-mono);font-size:12px;letter-spacing:.12em;color:rgba(242,240,234,.7);white-space:nowrap;cursor:default;user-select:none}
.sp-arrows__count b{font-weight:500;color:#F2F0EA}
.sp-arrows__count i{display:inline-block;width:18px;height:1px;background:rgba(242,240,234,.45)}
.sp-arrows__count em{font-style:normal;text-transform:uppercase;letter-spacing:.16em;color:#F2F0EA;margin-left:8px;padding-left:12px;border-left:1px solid rgba(242,240,234,.3)}
@media (max-width:1280px){.sp-arrows__count em{display:none}}
@media (max-width:767px){
  .sp-footer__center .lmpixels-arrows-nav{gap:8px}
  .sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-left,
  .sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-right{width:38px;height:38px}
  .sp-arrows__count{display:none}
}
@media (max-width:480px){
  .sp-footer__routelabel{display:none}
  .sp-footer__route > i{display:inline-block !important;font-size:18px;width:38px;height:38px;line-height:36px;text-align:center;border:1px solid rgba(242,240,234,.45);border-radius:50%}
  .sp-contact__toggle{padding:0 11px}
}
/* ==========================================================================
   MODALBOX (ersetzt Popup Maker im Frontend)
   ========================================================================== */
html.sp-modal-open,html.sp-modal-open body{overflow:hidden !important}
html.sp-modal-open body{padding-right:var(--sp-scrollbar,0)}
.sp-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,4vh,48px) 16px;font-family:var(--sp-font)}
.sp-modal[hidden]{display:none !important}
.sp-modal__backdrop{position:absolute;inset:0;background:rgba(18,19,17,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .26s var(--sp-ease)}
.sp-modal__panel{position:relative;display:flex;flex-direction:column;width:min(740px,100%);max-height:min(88vh,1100px);background:#F2F0EA;color:#2E302B;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04);opacity:0;transform:translateY(18px) scale(.985);transition:opacity .26s var(--sp-ease),transform .32s var(--sp-ease);outline:none;overflow:hidden}
.sp-modal.is-open .sp-modal__backdrop{opacity:1}
.sp-modal.is-open .sp-modal__panel{opacity:1;transform:none}
.sp-modal[data-variant="legal"] .sp-modal__panel{width:min(820px,100%)}
.sp-modal[data-variant="frame"] .sp-modal__panel,.sp-modal[data-variant="media"] .sp-modal__panel{width:min(980px,100%)}

/* Kopf */
.sp-modal__head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 18px 30px;border-bottom:1px solid rgba(31,33,30,.1);background:#F2F0EA}
.sp-modal__heading{min-width:0}
.sp-modal__eyebrow{display:block;font-family:var(--sp-mono);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#786950;margin:0 0 8px}
.sp-modal__title{font-family:var(--sp-font) !important;font-size:clamp(22px,2.3vw,30px) !important;font-weight:500 !important;line-height:1.15 !important;letter-spacing:-.015em !important;text-transform:none !important;color:#1F211E !important;margin:0 !important}
.sp-modal__head.is-untitled .sp-modal__title{display:none}
.sp-modal__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(31,33,30,.22);background:transparent;color:#1F211E;cursor:pointer;transition:background-color .2s var(--sp-ease),color .2s var(--sp-ease),border-color .2s var(--sp-ease),transform .2s var(--sp-ease)}
.sp-modal__close:hover,.sp-modal__close:focus-visible{background:#1F211E;color:#F2F0EA;border-color:#1F211E;outline:none}
.sp-modal__close:active{transform:scale(.94)}

/* Inhalt */
.sp-modal__body{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:26px 30px 34px}
.sp-modal__content{font-size:15.5px;line-height:1.65;color:#2E302B}
.sp-modal__content > :first-child{margin-top:0}
.sp-modal__content > :last-child{margin-bottom:0}
.sp-modal__content p{margin:0 0 12px;font-size:inherit !important}
.sp-modal__content :is(h1,h2){font-family:var(--sp-font);font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-transform:none;color:#1F211E;margin:26px 0 12px}
.sp-modal__content h3{font-family:var(--sp-font);font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none;color:#1F211E;margin:24px 0 8px}
.sp-modal__content h4{font-family:var(--sp-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#786950;margin:24px 0 12px}
.sp-modal__content strong{color:#1F211E;font-weight:600}
.sp-modal__content ul,.sp-modal__content ol{margin:0 0 14px;padding-left:1.2em}
.sp-modal__content li{margin:0 0 6px}
.sp-modal__content li::marker{color:#786950}
.sp-modal__content ul ul{margin-top:6px}
.sp-modal__content a{color:#786950;text-decoration:underline;text-underline-offset:.2em}
.sp-modal__content a:hover{color:#1F211E}
.sp-modal__content img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:4px}
.sp-modal__content .aligncenter{margin-left:auto;margin-right:auto}
.sp-modal__content iframe{display:block;width:100% !important;height:min(72vh,720px) !important;border:0;border-radius:4px;background:#fff}
.sp-modal__content hr{border:0;border-top:1px solid rgba(31,33,30,.12);margin:22px 0}
.sp-modal__content .sp-legal{font-size:inherit}

/* Varianten */
.sp-modal[data-variant="frame"] .sp-modal__body{padding:16px}
.sp-modal[data-variant="media"] .sp-modal__body{padding:18px;display:flex;align-items:center;justify-content:center;background:#fff}
.sp-modal[data-variant="media"] .sp-modal__content img{max-height:calc(88vh - 140px);width:auto;object-fit:contain;border-radius:0}
.sp-modal[data-variant="media"] .sp-modal__content p{margin:0}

/* Mobil: Fenster faehrt von unten herein */
@media (max-width:640px){
  .sp-modal{align-items:flex-end;padding:0}
  .sp-modal__panel,.sp-modal[data-variant] .sp-modal__panel{width:100%;max-height:92vh;border-radius:16px 16px 0 0;transform:translateY(100%)}
  .sp-modal.is-open .sp-modal__panel{transform:none}
  .sp-modal__head{position:relative;padding:24px 16px 14px 20px}
  .sp-modal__head::before{content:"";position:absolute;top:9px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:rgba(31,33,30,.18)}
  .sp-modal__body{padding:20px 20px calc(28px + env(safe-area-inset-bottom))}
  .sp-modal[data-variant="frame"] .sp-modal__body{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .sp-modal__content iframe{height:calc(92vh - 120px) !important}
  .sp-modal__close{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
  .sp-modal__backdrop,.sp-modal__panel{transition:none !important}
}
/* ---------- FUSSLEISTE MOBIL V2: Rechtliches links, Pfeile Mitte, Kontakt rechts ---------- */
.sp-contact__icon{display:none}
.sp-contact__menu .sp-contact__item--route{display:list-item}
@media (max-width:767px){
  :root{--sp-footer-h:62px}
  .sp-footer.is-placed{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:0 12px}
  .sp-footer__left{display:none}
  .sp-footer__right{display:contents}
  .sp-footer__legal{grid-column:1;grid-row:1;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
  .sp-footer__legal a{display:block;font-size:12px;line-height:1.2;padding:4px 0;opacity:.9;border-bottom:0}
  .sp-footer__center{grid-column:2;grid-row:1}
  .sp-footer__center .lmpixels-arrows-nav{gap:10px}
  .sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-left,
  .sp-footer__center .lmpixels-arrows-nav > .lmpixels-arrow-right{width:42px;height:42px}
  .sp-arrows__count{display:none}
  .sp-contact{grid-column:3;grid-row:1;justify-self:end}
  .sp-contact__toggle{height:42px;padding:0 14px;gap:8px;font-size:11.5px;letter-spacing:.1em}
  .sp-contact__icon{display:inline-block;font-size:14px}
  .sp-contact__chev{display:none}
  .sp-contact__menu{right:0;min-width:0;width:min(290px,calc(100vw - 24px))}
  .sp-contact__menu .sp-contact__item--route{display:list-item}
}
@media (max-width:374px){
  .sp-footer.is-placed{gap:6px;padding:0 10px}
  .sp-contact__label{display:none}
  .sp-contact__toggle{width:42px;padding:0;justify-content:center;border-radius:50%}
  .sp-footer__center .lmpixels-arrows-nav{gap:8px}
  .sp-footer__legal a{font-size:11.5px}
}
/* ==========================================================================
   KEIN SEITLICHES SCROLLEN / KEINE WEISSEN RAENDER (v. a. mobil)
   ========================================================================== */
/* dunkler Grund statt #f5f5f5 / #fff (sichtbar beim Ueberscrollen und Laden) */
html,body,body.elementor-kit-196{background-color:var(--sp-bg) !important}
.preloader,.page-portfolio-loaded .preloader{background-color:var(--sp-bg) !important}
.portfolio-page-content{background-color:var(--sp-bg) !important}
html,body{overflow-x:hidden;max-width:100%}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* 100vw (inkl. Scrollbar) durch 100% ersetzen */
#main .pt-wrapper,
#main .subpages,
#main .pt-page .section-inner{width:100% !important;max-width:100% !important;box-sizing:border-box}
#main .pt-page,#main .pt-page .section-inner{overflow-x:hidden !important}
#main .elementor-widget-slides,
#main .elementor-swiper,
#main .elementor-main-swiper,
#main .elementor-slides-wrapper,
#main .elementor-slides .swiper-slide{width:100% !important;max-width:100% !important}

/* Inhalte nie breiter als der Bildschirm */
#main .elementor,#main .elementor-section,#main .elementor-container{max-width:100%}
#main img,#main iframe,#main video{max-width:100%}
#main .elementor-widget-image img{height:auto}

/* Appartement-Raster: feste 50px-Raender nur am Desktop */
@media (max-width:991px){
  #main .portfolio-grid{margin-left:12px !important;margin-right:12px !important;margin-bottom:40px !important}
  #main .pt-page .section-inner > .portfolio-grid{padding-left:0;padding-right:0}
}
@media (max-width:767px){
  /* Elementor-Abschnitte: seitliche Abstaende reduzieren, negative Spalten-Abstaende neutralisieren */
  #main .pt-page:not([data-id="startseite"]) .elementor-top-section{padding-left:14px !important;padding-right:14px !important;margin-left:0 !important;margin-right:0 !important}
  #main .pt-page .elementor-inner-section{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important}
  #main .pt-page .elementor-column-gap-extended,#main .pt-page .elementor-column-gap-wide,#main .pt-page .elementor-column-gap-wider{margin-left:0 !important;margin-right:0 !important}
  #main .pt-page .elementor-column > .elementor-widget-wrap{padding-left:6px !important;padding-right:6px !important}
  #main .pt-page .section-title-block{margin-left:0;margin-right:0}
  /* Bewertungs-Slider (Slick) nicht ueber den Rand laufen lassen */
  #main .premium-testimonial-box,#main .slick-list{overflow:hidden;max-width:100%}
  /* Appartement-Detailseite */
  .page-portfolio-loaded .portfolio-page-wrapper{padding-left:16px !important;padding-right:16px !important}
  .portfolio-page-content .row{margin-left:0;margin-right:0}
}
/* ==========================================================================
   VOLLE BREITE: APPARTEMENTS & BUCHUNGSFORMULAR
   ========================================================================== */
:root{--sp-edge:clamp(12px,2.6vw,44px)}

/* Appartement-Detailseiten (Ajax-Fenster und Einzelaufruf) */
.page-portfolio-loaded .portfolio-page-wrapper,
.portfolio-page-content .portfolio-page-wrapper{max-width:none !important;padding:16px var(--sp-edge) 64px !important}
.portfolio-page-content .portfolio-page-title{max-width:none !important}
.portfolio-page-content .row{margin-left:0 !important;margin-right:0 !important}
.portfolio-page-content .portfolio-block{width:100% !important;max-width:none !important;float:none !important;padding-left:0 !important;padding-right:0 !important}
.portfolio-page-content .elementor-section.elementor-section-boxed > .elementor-container,
.portfolio-page-content .elementor-section > .elementor-container{max-width:none !important}
.portfolio-page-content .elementor-top-section{padding-left:0 !important;padding-right:0 !important}
.portfolio-page-content .elementor-section + .elementor-section{margin-top:clamp(20px,3vw,40px)}
/* Buttons (Planskizze / Preise / Jetzt buchen) gleichmaessig */
.portfolio-page-content .elementor-widget-button .elementor-button{width:100%;justify-content:center}
.portfolio-page-content .elementor-widget-button .elementor-button-wrapper{text-align:center}
/* Verfuegbarkeitskalender ueber die volle Breite auf heller Flaeche */
.portfolio-page-content .elementor-widget-html:has(#ebAvailability){background:#fff;border-radius:var(--sp-radius);padding:clamp(14px,2vw,28px);color:#222}
.portfolio-page-content .elementor-widget-html:has(#ebAvailability) h4{color:#786950 !important}
#ebAvailability{width:100%;max-width:none}

/* Buchen-Bereich: Formular nutzt die ganze Breite */
.pt-page[data-id="buchen"] .section-inner > .elementor,
.pt-page[data-id="buchen"] .section-title-block{max-width:none !important}
.pt-page[data-id="buchen"] .section-title-block{padding-left:var(--sp-edge);padding-right:var(--sp-edge)}
.pt-page[data-id="buchen"] .section-inner > .elementor{padding-left:var(--sp-edge) !important;padding-right:var(--sp-edge) !important}
#main .pt-page[data-id="buchen"] .elementor-top-section{padding-left:0 !important;padding-right:0 !important}
.pt-page[data-id="buchen"] .elementor-section > .elementor-container{max-width:none !important}
.pt-page[data-id="buchen"] .elementor-column > .elementor-widget-wrap{padding:0 !important}
.pt-page[data-id="buchen"] .elementor-element-701503a{padding:clamp(10px,2vw,32px) !important}
.pt-page[data-id="buchen"] .elementor-element-701503a .elementor-widget-button{margin-bottom:clamp(12px,2vw,24px)}
/* Button "Buchungsinfos" auf heller Flaeche lesbar */
.pt-page[data-id="buchen"] .elementor-element-701503a a.elementor-button{color:#1F211E !important;border-color:rgba(31,33,30,.35) !important}
.pt-page[data-id="buchen"] .elementor-element-701503a a.elementor-button:hover{background:#1F211E !important;color:#F2F0EA !important;border-color:#1F211E !important}

/* easybooking: interne Containerbreiten aufheben */
#ebFrontEndFrame,#ebFrontEndFrame > .ebFrontEndPlugin,#ebFrontEndFrame .ebContainer{width:100% !important;max-width:none !important}
#ebFrontEndFrame .ebContainer .container,#ebAvailability .container,#ebOffer .container{max-width:100% !important;width:100% !important}

@media (max-width:767px){
  :root{--sp-edge:8px}
  .pt-page[data-id="buchen"] .elementor-element-701503a{padding:10px 6px !important;border-radius:4px}
  .pt-page[data-id="buchen"] .elementor-element-701503a .elementor-widget-button .elementor-button{width:100%;justify-content:center}
  .pt-page[data-id="buchen"] .section-title-block{padding-left:16px;padding-right:16px}
  #ebFrontEndFrame .ebContainer .container,#ebAvailability .container,#ebOffer .container{padding-left:6px !important;padding-right:6px !important}
  #ebFrontEndFrame .ebContainer .row{margin-left:-6px;margin-right:-6px}
  #ebFrontEndFrame .ebContainer [class*="col-"]{padding-left:6px;padding-right:6px}
  /* iOS: kein automatisches Hineinzoomen bei Eingabefeldern, groessere Tippflaechen */
  .ebContainer :is(input,select,textarea),#ebAvailability :is(input,select,textarea),#ebOffer :is(input,select,textarea){font-size:16px !important}
  .ebContainer :is(button,.btn,select,input[type="text"],input[type="email"],input[type="tel"],input[type="number"]){min-height:44px}
  .portfolio-page-content .elementor-widget-html:has(#ebAvailability){padding:10px 6px}
  .page-portfolio-loaded .portfolio-page-wrapper,.portfolio-page-content .portfolio-page-wrapper{padding:10px 10px 48px !important}
}
/* ==========================================================================
   HAUPTMENUE – nur Schrift, Symbole (Sommer/Winter) und Buchen-Block; Layout bleibt vom Theme
   ========================================================================== */
#site_header .site-main-menu,#site_header .site-main-menu ul{font-family:var(--sp-font)}
#site_header .site-main-menu li a,#site_header .site-main-menu li a:hover{font-family:var(--sp-font);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
/* SFL-Logo bei Sommer/Winter so gross wie die anderen Icons (21px) */
#site_header .site-main-menu i.menu-icon.pe-7s-portfolio{position:relative}
#site_header .site-main-menu i.menu-icon.pe-7s-portfolio::before{width:21px !important;height:21px !important;margin-bottom:-3px !important;background-position:center !important}
/* kleine Sonne / Schneeflocke */
#site_header .site-main-menu a[href="#serfaus-fiss-ladis-sommer"] i.menu-icon::after,#site_header .site-main-menu a[href="#serfaus-fiss-ladis-winter"] i.menu-icon::after{content:"";position:absolute;top:-5px;left:calc(50% + 6px);width:12px;height:12px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
#site_header .site-main-menu a[href="#serfaus-fiss-ladis-sommer"] i.menu-icon::after{background-color:#F0B54A;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4.6' fill='black'/%3E%3Cpath d='M12 1.6v3.2M12 19.2v3.2M1.6 12h3.2M19.2 12h3.2M4.6 4.6l2.2 2.2M17.2 17.2l2.2 2.2M4.6 19.4l2.2-2.2M17.2 6.8l2.2-2.2' stroke='black' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4.6' fill='black'/%3E%3Cpath d='M12 1.6v3.2M12 19.2v3.2M1.6 12h3.2M19.2 12h3.2M4.6 4.6l2.2 2.2M17.2 17.2l2.2 2.2M4.6 19.4l2.2-2.2M17.2 6.8l2.2-2.2' stroke='black' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E")}
#site_header .site-main-menu a[href="#serfaus-fiss-ladis-winter"] i.menu-icon::after{background-color:#A9D4F0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8v20.4M3.2 6.9l17.6 10.2M3.2 17.1l17.6-10.2M8.8 3.4L12 6l3.2-2.6M8.8 20.6L12 18l3.2 2.6M2.6 10.6l3.8 1.4-.7 4M21.4 13.4l-3.8-1.4.7-4M2.6 13.4l3.8-1.4-.7-4M21.4 10.6l-3.8 1.4.7 4' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8v20.4M3.2 6.9l17.6 10.2M3.2 17.1l17.6-10.2M8.8 3.4L12 6l3.2-2.6M8.8 20.6L12 18l3.2 2.6M2.6 10.6l3.8 1.4-.7 4M21.4 13.4l-3.8-1.4.7-4M2.6 13.4l3.8-1.4-.7-4M21.4 10.6l-3.8 1.4.7 4' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}
/* Buchen-Block mit Akzentfarbe als Hintergrund (Desktop & mobil) */
#site_header .site-main-menu li a[href="#buchen"],#site_header .site-main-menu li a[href="#buchen"]:hover{background-color:#786950 !important;color:#F2F0EA !important;opacity:1 !important}
#site_header .site-main-menu li a[href="#buchen"]:hover,#site_header .site-main-menu li.active a[href="#buchen"]{background-color:#8B7B60 !important}
/* MENUE GESTRECKT V3 (Desktop): Logo bleibt links (float wie im Theme), das Menue fuellt den Rest der Leiste,
   Buchen buendig am rechten Rand. Funktioniert auch mit dem Scroll-Container (mCustomScrollbar) des Themes. */
@media only screen and (min-width:992px){
  .layout-menu-top #site_header.header{padding-right:0}
  .layout-menu-top #site_header .mCSB_container,.layout-menu-top #site_header .mCustomScrollBox{margin-right:0 !important;overflow:visible !important}
  .layout-menu-top #site_header .mCSB_scrollTools{display:none !important}
  .layout-menu-top #site_header .my-photo{width:164px;max-width:none;flex:none;margin-right:clamp(20px,2.4vw,40px)}
  .layout-menu-top #site_header .site-nav{float:none;display:block;overflow:hidden;padding-left:0;height:80px}
  .layout-menu-top #site_header .site-main-menu{display:flex;float:none;width:100%;flex-wrap:nowrap;height:80px}
  .layout-menu-top #site_header .site-main-menu li{display:block;float:none;flex:1 1 auto;min-width:0}
  .layout-menu-top #site_header .site-main-menu li a,.layout-menu-top #site_header .site-main-menu li a:hover{
    padding-left:clamp(3px,.55vw,12px);padding-right:clamp(3px,.55vw,12px);
    font-size:clamp(9.5px,.82vw,13px);letter-spacing:.04em;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis}
}
/* grosse Bildschirme: Originalabstand zum Logo */
@media only screen and (min-width:1600px){
  .layout-menu-top #site_header .my-photo{width:300px;max-width:none;margin-right:100px}
  .layout-menu-top #site_header .site-nav{padding-left:40px}
  .layout-menu-top #site_header .site-main-menu li a,.layout-menu-top #site_header .site-main-menu li a:hover{letter-spacing:.06em}
}
/* sehr breite Bildschirme: alle Punkte exakt gleich breit */
@media only screen and (min-width:1900px){
  .layout-menu-top #site_header .site-main-menu li{flex:1 1 0}
}
/* ==========================================================================
   BUENDIGE INHALTSKANTE: Seitentitel und Inhalte auf einer Linie
   (gilt fuer alle Unterseiten ausser Startseite-Slider und Buchen, die eigene Regeln haben)
   ========================================================================== */
:root{--sp-gutter:clamp(16px,4vw,48px);--sp-col-gap:clamp(10px,1.4vw,20px)}

/* Seitentitel */
#main .pt-page .section-title-block{padding-left:var(--sp-gutter) !important;padding-right:var(--sp-gutter) !important}

/* Inhaltsbereich: gleiche Aussenkante wie der Titel */
#main .pt-page:not([data-id="startseite"]):not([data-id="buchen"]) .section-inner > .elementor{padding-left:var(--sp-gutter) !important;padding-right:var(--sp-gutter) !important}
#main .pt-page:not([data-id="startseite"]):not([data-id="buchen"]) .section-inner > .elementor > .elementor-section{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important}
/* aeussere Spalten ohne seitlichen Innenabstand */
#main .pt-page:not([data-id="startseite"]):not([data-id="buchen"]) .section-inner > .elementor > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap{padding-left:0 !important;padding-right:0 !important}
/* verschachtelte Zeilen: Spaltenabstand innen, aussen per Negativ-Rand ausgeglichen */
#main .pt-page:not([data-id="startseite"]):not([data-id="buchen"]) .elementor-inner-section{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important}
#main .pt-page:not([data-id="startseite"]):not([data-id="buchen"]) .elementor-inner-section > .elementor-container{max-width:none !important;margin-left:calc(var(--sp-col-gap) * -1) !important;margin-right:calc(var(--sp-col-gap) * -1) !important}
#main .pt-page:not([data-id="startseite"]):not([data-id="buchen"]) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap{padding-left:var(--sp-col-gap) !important;padding-right:var(--sp-col-gap) !important}

/* Appartement-Raster an derselben Kante */
#main .pt-page[data-id="portfolio"] .section-inner > .portfolio-grid{width:auto;max-width:min(calc(var(--sp-maxw) - 2 * var(--sp-gutter)), calc(100% - 2 * var(--sp-gutter))) !important;margin-left:auto !important;margin-right:auto !important;padding-left:0 !important;padding-right:0 !important}
/* FUSSLEISTE OHNE ROUTE-BUTTON: Adresse als reiner Text */
.sp-footer__route{cursor:default}
.sp-footer__route > i{color:#F2F0EA;opacity:.85}
@media (max-width:1280px){.sp-footer__addr{display:inline}}
@media (max-width:1099px){.sp-footer__addr{display:none}}
#site_header .site-main-menu i.menu-icon.fab{font-family:"Font Awesome 5 Brands" !important;font-weight:400;font-size:19px;line-height:1}

/* TITEL AN INHALTSKANTE: Titelblock so breit wie der Inhalt (volle Breite mit gleichem Seitenabstand) */
#main .pt-page .section-title-block{max-width:none !important;margin-left:0 !important;margin-right:0 !important}
#main .pt-page[data-id="portfolio"] .section-inner > .portfolio-grid{max-width:calc(100% - 2 * var(--sp-gutter)) !important}
#site_header .site-main-menu i.menu-icon.fas{font-family:"Font Awesome 5 Free" !important;font-weight:900;font-size:18px;line-height:1}

/* ==========================================================================
   INHALTSBOX: Inhalte zentriert mit max. Breite (Menue, Fussleiste, Startseiten-Slider bleiben voll breit)
   ========================================================================== */
:root{--sp-box:1760px}
#main .pt-page .section-title-block,
#main .pt-page:not([data-id="startseite"]) .section-inner > .elementor{max-width:var(--sp-box) !important;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box}
#main .pt-page[data-id="portfolio"] .section-inner > .portfolio-grid{max-width:min(calc(var(--sp-box) - 2 * var(--sp-gutter)), calc(100% - 2 * var(--sp-gutter))) !important}
.page-portfolio-loaded .portfolio-page-wrapper,.portfolio-page-content .portfolio-page-wrapper{max-width:var(--sp-box) !important;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box}/* RASTER IN DER BOX: Appartement-Raster (liegt nicht direkt in .section-inner) */
#main .pt-page[data-id="portfolio"] .portfolio-grid{width:auto !important;max-width:min(calc(var(--sp-box) - 2 * var(--sp-gutter)), calc(100% - 2 * var(--sp-gutter))) !important;margin-left:auto !important;margin-right:auto !important;padding-left:0 !important;padding-right:0 !important}

/* SCHIMMER BUCHEN: leichter Lichtstreifen, solange "Buchen" aktiv ist */
#site_header .site-main-menu li.active a[href="#buchen"]{overflow:hidden}
#site_header .site-main-menu li.active a[href="#buchen"]::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;pointer-events:none;z-index:1;
  background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,244,222,.08) 30%,rgba(255,244,222,.32) 50%,rgba(255,244,222,.08) 70%,rgba(255,255,255,0) 100%);
  transform:skewX(-18deg);animation:spBuchenShimmer 3.2s ease-in-out infinite}
@keyframes spBuchenShimmer{0%{left:-60%}55%{left:130%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){#site_header .site-main-menu li.active a[href="#buchen"]::before{animation:none;display:none}}
/* ==========================================================================
   STARTSEITE SLIDER V2: Slider = sichtbarer Bereich, Textkasten passt immer hinein
   ========================================================================== */
:root{--sp-slider-h:calc(100vh - 80px - var(--sp-footer-h))}
@supports (height:100dvh){:root{--sp-slider-h:calc(100dvh - 80px - var(--sp-footer-h))}}
@media (max-width:991px){
  :root{--sp-slider-h:calc(100vh - 50px - var(--sp-footer-h))}
  @supports (height:100dvh){:root{--sp-slider-h:calc(100dvh - 50px - var(--sp-footer-h))}}
}
#main .pt-page[data-id="startseite"] :is(.elementor-widget-slides,.elementor-widget-slides > .elementor-widget-container,.elementor-swiper,.elementor-main-swiper,.elementor-slides-wrapper,.elementor-slides,.elementor-slides .swiper-slide){height:var(--sp-slider-h) !important;min-height:0 !important}
#main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-inner{
  display:flex !important;align-items:center !important;justify-content:flex-end !important;
  height:100% !important;box-sizing:border-box;
  padding:clamp(16px,4vh,48px) clamp(16px,5vw,96px) !important}
#main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-contents{
  width:min(620px,52%) !important;max-width:min(620px,52%) !important;
  max-height:100% !important;overflow-y:auto !important;overscroll-behavior:contain;
  box-sizing:border-box;padding:clamp(22px,3.2vh,44px) clamp(22px,2.6vw,44px) !important;
  scrollbar-width:thin;scrollbar-color:rgba(194,170,136,.6) transparent}
#main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-contents::-webkit-scrollbar{width:6px}
#main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-contents::-webkit-scrollbar-thumb{background:rgba(194,170,136,.6);border-radius:3px}
#main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading{font-size:clamp(30px,3.2vw,52px) !important;margin-bottom:clamp(12px,2vh,22px) !important}
#main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading::before{margin-bottom:clamp(10px,1.6vh,18px)}
#main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-description{font-size:clamp(15px,1.05vw,17px) !important;line-height:1.6 !important;max-height:none !important;overflow:visible !important}
/* niedrige Desktop-Fenster (z. B. 1280x720): etwas kompakter */
@media (min-width:992px) and (max-height:780px){
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-contents{width:min(680px,58%) !important;max-width:min(680px,58%) !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-description{font-size:15px !important;line-height:1.55 !important}
}
/* Tablet & Handy: Kasten ueber die volle Breite */
@media (max-width:991px){
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-inner{justify-content:center !important;align-items:flex-end !important;padding:14px !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-contents{width:100% !important;max-width:560px !important;padding:22px 20px !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading{font-size:clamp(26px,7vw,34px) !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading::before{font-size:11px;margin-bottom:10px}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-description{font-size:15px !important;line-height:1.55 !important}
}/* STARTSEITE SLIDER V4: --sp-slider-h wird per JS aus der echten Hoehe des Seitenbereichs gesetzt (functions.php) */
#main .pt-page[data-id="startseite"] .elementor-widget-slides{margin:0 !important}
/* startseite-padding0 */
#main .pt-page[data-id="startseite"]{padding-top:0 !important;padding-bottom:0 !important}
/* startseite-gap0 */
#main .pt-page[data-id="startseite"] .elementor-widget-wrap{padding:0 !important}
#main .pt-page[data-id="startseite"] .elementor-section,#main .pt-page[data-id="startseite"] .elementor-container{margin:0 !important;padding:0 !important}

/* ==========================================================================
   STARTSEITE MOBIL: FOTO OBEN, TEXT DARUNTER auf dunklem Grund
   ========================================================================== */
@media (max-width:991px){
  #main .pt-page[data-id="startseite"] :is(.elementor-widget-slides,.elementor-widget-slides > .elementor-widget-container,.elementor-swiper,.elementor-main-swiper,.elementor-slides-wrapper,.elementor-slides,.elementor-slides .swiper-slide){height:auto !important;min-height:0 !important;max-height:none !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide{display:flex !important;flex-direction:column;background:var(--sp-bg) !important}
  /* Foto */
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide .swiper-slide-bg{position:relative !important;inset:auto !important;display:block;width:100% !important;height:min(46vh,440px) !important;min-height:240px;background-size:cover !important;background-position:center 35% !important;transform:none !important;flex:0 0 auto}
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide .elementor-background-overlay{display:none !important}
  /* Text */
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-inner{position:static !important;inset:auto !important;display:block !important;height:auto !important;padding:28px var(--sp-gutter) 40px !important;background:var(--sp-bg) !important;text-align:left !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-contents{width:100% !important;max-width:none !important;max-height:none !important;overflow:visible !important;padding:0 !important;margin:0 !important;background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;text-align:left !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading{text-align:left !important;font-size:clamp(30px,8.5vw,40px) !important;line-height:1.05 !important;margin-bottom:18px !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading::before{text-align:left;font-size:11.5px;margin-bottom:12px}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-description{text-align:left !important;font-size:16px !important;line-height:1.65 !important;color:var(--sp-text) !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-pagination{display:none}
}/* startseite-mobil-scroll: Theme-Klasse .table verhindert Scrollen */
@media (max-width:991px){
  #main .pt-page[data-id="startseite"]{display:block !important;height:100% !important}
  #main .pt-page[data-id="startseite"].pt-page-current{overflow-y:auto !important;-webkit-overflow-scrolling:touch}
  #main .pt-page[data-id="startseite"] .section-inner{display:block !important;height:auto !important;overflow:visible !important}
}
/* startseite-mobil-left */
@media (max-width:991px){
  #main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-inner,#main .pt-page[data-id="startseite"] .elementor-slides .swiper-slide-inner *{text-align:left !important}
  #main .pt-page[data-id="startseite"] .elementor-slides .elementor-slide-heading{display:block !important;width:100% !important;margin-left:0 !important;margin-right:0 !important}
}

/* PREISLISTE IN DER MODALBOX (easybooking ebPricelist) */
.sp-modal #pricesFrame{font-family:var(--sp-font)}
.sp-modal #pricesFrame :is(button,input[type=button],input[type=submit]){background:#786950 !important;color:#F2F0EA !important;border:1px solid #786950 !important;border-radius:4px !important;font-family:var(--sp-font) !important;font-weight:600;cursor:pointer;text-shadow:none !important;box-shadow:none !important}
.sp-modal #pricesFrame :is(button,input[type=button],input[type=submit]):hover{background:#8B7B60 !important;border-color:#8B7B60 !important}
.sp-modal #pricesFrame input[type=text],.sp-modal #pricesFrame select{border:1px solid rgba(31,33,30,.25);border-radius:4px;font-family:var(--sp-font);color:#1F211E;background:#fff}
/* datepicker-ueber-modal */
#ui-datepicker-div,.ui-datepicker{z-index:2147483001 !important}
/* preisliste-kategoriebuttons: wie in den alten HTML-Dateien ausblenden */
.sp-modal .EBPRC-wrapper .EBPRC-category-buttons{display:none !important}

/* ==========================================================================
   SPRACHUMSCHALTER (TranslatePress) in der Fussleiste
   ========================================================================== */
.sp-footer__actions{display:flex;align-items:center;gap:10px}
.sp-lang{position:relative}
.sp-lang__toggle{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 14px;font-family:var(--sp-font);font-size:13px;font-weight:500;line-height:1;color:var(--sp-footer-fg);background:transparent;border:1px solid rgba(242,240,234,.5);border-radius:var(--sp-radius);cursor:pointer;transition:background-color .2s var(--sp-ease),border-color .2s var(--sp-ease)}
.sp-lang__toggle:hover,.sp-lang__toggle:focus-visible,.sp-lang.is-open .sp-lang__toggle{background:rgba(242,240,234,.12);border-color:#F2F0EA;outline:none}
.sp-lang__flag{display:block;width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.15);flex:0 0 auto}
.sp-lang__chev{font-size:10px;opacity:.8;transition:transform .25s var(--sp-ease)}
.sp-lang.is-open .sp-lang__chev{transform:rotate(180deg)}
.sp-lang__menu{position:absolute;right:0;bottom:calc(100% + 12px);min-width:190px;margin:0;padding:6px;list-style:none;background:#F2F0EA;border-radius:var(--sp-radius);box-shadow:0 18px 48px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--sp-ease),transform .22s var(--sp-ease),visibility 0s linear .22s;z-index:130}
.sp-lang.is-open .sp-lang__menu{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--sp-ease),transform .22s var(--sp-ease)}
.sp-lang__menu::after{content:"";position:absolute;right:22px;bottom:-6px;width:12px;height:12px;background:#F2F0EA;transform:rotate(45deg)}
.sp-lang__menu li{margin:0;padding:0;list-style:none}
.sp-lang__item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:3px;color:#1F211E !important;font-family:var(--sp-font);font-size:14.5px;font-weight:500;text-decoration:none !important;transition:background-color .15s}
.sp-lang__item:hover,.sp-lang__item:focus-visible{background:#E4E0D5}
.sp-lang__item.is-current{background:#786950;color:#F2F0EA !important}
.sp-lang__item.is-current::after{content:"";margin-left:auto;width:6px;height:10px;border:solid #F2F0EA;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-1px)}
/* mittlere Breiten: nur Kuerzel-freie, schmale Variante */
@media (max-width:1180px){.sp-lang__label{display:none}.sp-lang__toggle{padding:0 11px}}
/* Handy: nur Fahnen */
@media (max-width:767px){
  .sp-footer__actions{grid-column:3;grid-row:1;justify-self:end;gap:8px}
  .sp-footer__actions .sp-contact{grid-column:auto;grid-row:auto}
  .sp-lang__toggle{height:42px;padding:0 10px;gap:6px}
  .sp-lang__chev{display:none}
  .sp-lang__menu{min-width:0;width:auto;padding:6px;right:-4px}
  .sp-lang__menu::after{right:18px}
  .sp-lang__item{padding:10px;gap:0;justify-content:center}
  .sp-lang__name{display:none}
  .sp-lang__item.is-current::after{display:none}
  .sp-lang__item .sp-lang__flag{width:26px;height:18px}
}
@media (max-width:374px){
  .sp-lang__toggle{width:42px;padding:0;justify-content:center;border-radius:50%}
}/* mobil-kontakt-rund: Platz fuer Sprachumschalter neben Kontakt */
@media (max-width:767px){
  .sp-footer__actions .sp-contact__label{display:none}
  .sp-footer__actions .sp-contact__toggle{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
  .sp-footer__actions .sp-contact__icon{font-size:16px}
  .sp-lang__toggle{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
  .sp-lang__toggle .sp-lang__flag{width:22px;height:15px}
}
