/* Rössle – Design Polish 1.2.1
   Tokens: Farben kommen aus den Elementor-Variablen (--cafe-noir, --kombu-green, --bg-1, --bg-bone, --tan).
   Eigene Tokens nur für Radius, Abstand und Schatten. */
:root{
  --r-radius:8px;                 /* = Radius der Zimmer-/Restaurant-/Firmenkarten und Buttons */
  --r-line:rgba(76,61,25,.14);
  --r-shadow:0 14px 30px -18px rgba(76,61,25,.35);
  --r-ease:cubic-bezier(.23,1,.32,1);
  --section-y:4.75rem;            /* Sektionsabstand oben/unten, zentral */
  --r-header-gap:14px;            /* Abstand schwebender Header zum Rand */
}
@media(max-width:1024px){ :root{ --section-y:4rem; } }
@media(max-width:767px){ :root{ --section-y:3.25rem; --r-header-gap:10px; } }

/* ---------- 1. Sektionsabstände (alle Seiten) ---------- */
body .elementor[data-elementor-type="wp-page"] > section.e-flexbox-base:not(.sec--anfrage),
body .elementor[data-elementor-type="wp-page"] > .elementor-element-6611e96c{
  padding-block:var(--section-y)!important;
}

/* ---------- 2. Schwebender Glas-Header ---------- */
header.elementor-element-95b64ee{
  top:var(--r-header-gap)!important; left:var(--r-header-gap)!important; right:var(--r-header-gap)!important;
  width:auto!important; max-width:1280px!important; margin-inline:auto!important;
  border-radius:var(--r-radius);
  border:1px solid rgba(76,61,25,.12);
  background-color:rgba(252,249,243,.78)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 10px 30px -14px rgba(40,30,10,.35)!important;
  transition:background-color .35s var(--r-ease), box-shadow .35s var(--r-ease);
}
header.elementor-element-95b64ee.is-scrolled{ background-color:rgba(252,249,243,.92)!important; box-shadow:0 14px 34px -14px rgba(40,30,10,.45)!important; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  header.elementor-element-95b64ee{ background-color:var(--bg-1)!important; }
}
/* Kontaktzeile: kein grüner Balken mehr, ruhige Zeile im Glas; klappt beim Scrollen ein */
header.elementor-element-95b64ee .elementor-element-f174878{
  background:transparent!important; padding:.3rem 1.5rem!important; border-bottom:1px solid var(--r-line);
  max-height:40px; overflow:hidden; border-radius:var(--r-radius) var(--r-radius) 0 0;
  transition:max-height .35s var(--r-ease), padding .35s var(--r-ease), opacity .25s;
}
header.elementor-element-95b64ee .elementor-element-f174878 :is(.elementor-icon-list-text, .elementor-icon-list-icon i, a){ color:var(--cafe-noir)!important; font-size:13px; }
header.elementor-element-95b64ee .elementor-element-f174878 .elementor-icon-list-icon svg{ fill:var(--cafe-noir)!important; }
header.elementor-element-95b64ee.is-scrolled .elementor-element-f174878{ max-height:0; padding-block:0!important; opacity:0; border-bottom-color:transparent; }
header.elementor-element-95b64ee .elementor-element-d105797{ padding:0 1.25rem!important; }
/* Menü passt in die schmalere Leiste: weniger Innenabstand statt Umbruch */
header.elementor-element-95b64ee .elementor-element-bf282d7{ flex:1 1 auto!important; width:auto!important; }
header.elementor-element-95b64ee .elementor-nav-menu--main > .elementor-nav-menu{ justify-content:flex-end!important; }
header.elementor-element-95b64ee .elementor-nav-menu--main .elementor-item{ padding:12px 14px!important; font-size:15px!important; }
@media(max-width:1280px){ header.elementor-element-95b64ee .elementor-nav-menu--main .elementor-item{ padding:12px 10px!important; font-size:14px!important; letter-spacing:.5px!important; } }
header.elementor-element-95b64ee .elementor-menu-toggle{ margin-left:auto!important; }
/* Burger-Menü als Karte unter der Leiste statt randloser Fläche */
@media(max-width:1024px){
  header.elementor-element-95b64ee .elementor-nav-menu--dropdown.elementor-nav-menu__container{
    left:auto!important; right:-.6rem!important; width:min(340px, calc(100vw - 20px))!important; top:calc(100% + 12px)!important;
    border-radius:var(--r-radius); overflow:hidden; box-shadow:0 18px 40px -16px rgba(30,24,8,.55);
  }
}
/* Logo: 80 % der Originalgröße (271×77 → 217×62) */
header.elementor-element-95b64ee .elementor-widget-theme-site-logo img{ height:62px!important; max-height:none!important; width:auto!important; }
header.elementor-element-95b64ee .elementor-widget-theme-site-logo .elementor-widget-container{ padding-block:6px!important; }
@media(max-width:767px){
  header.elementor-element-95b64ee .elementor-element-f174878{ display:none!important; }
  header.elementor-element-95b64ee .elementor-element-d105797{ padding:0 .6rem!important; }
  header.elementor-element-95b64ee .elementor-widget-theme-site-logo img{ height:48px!important; }
}

/* ---------- 3. Papier-Korn + Bogen-Oberkanten ---------- */
.elementor-element-1e4041b6,.elementor-element-7a4e7e1b,.elementor-element-6a8233ca{ position:relative; isolation:isolate; }
.elementor-element-1e4041b6::before,.elementor-element-7a4e7e1b::before,.elementor-element-6a8233ca::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3  0 0 0 0 .24  0 0 0 0 .1  0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.elementor-element-7a4e7e1b,.elementor-element-6a8233ca{ border-radius:48px 48px 0 0; margin-top:-48px; z-index:1; }
@media(max-width:767px){ .elementor-element-7a4e7e1b,.elementor-element-6a8233ca{ border-radius:28px 28px 0 0; margin-top:-28px; } }

/* ---------- 4. "Wie können wir Ihnen helfen?" 2×2 ---------- */
@media(min-width:768px){ .elementor .elementor-element.elementor-element-8e84fca{ display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
.elementor-element-8e84fca{ width:100%; max-width:1000px; gap:1.5rem!important; }
@media(max-width:767px){ .elementor .elementor-element.elementor-element-8e84fca{ display:grid!important; grid-template-columns:1fr!important; gap:1rem!important; } }
.elementor-element-8e84fca > .e-con{
  position:relative; overflow:hidden;
  border-radius:var(--r-radius)!important;
  border:1px solid var(--r-line)!important;
  background:linear-gradient(180deg,#FDFBF6 0%,#F6EFE2 100%)!important;
  box-shadow:var(--r-shadow)!important;
  padding:1.75rem 2rem!important;
  transition:transform .35s var(--r-ease), box-shadow .35s var(--r-ease);
}
.elementor-element-8e84fca > .e-con::after{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,transparent,var(--tan),transparent); }
.elementor-element-8e84fca > .e-con > .e-con{
  display:grid!important; grid-template-columns:64px 1fr; grid-template-rows:auto auto 1fr auto;
  column-gap:1.4rem; row-gap:.6rem; align-items:start!important;
}
.elementor-element-8e84fca > .e-con > .e-con > .elementor-widget-icon{ grid-column:1; grid-row:1 / span 4; }
.elementor-element-8e84fca > .e-con > .e-con > :not(.elementor-widget-icon){ grid-column:2; margin:0; }
/* Button über die volle Kartenbreite (unter Icon + Text), damit er einzeilig bleibt */
.elementor-element-8e84fca > .e-con > .e-con > .e-button-base{ grid-column:1 / -1!important; justify-self:start; margin-top:.6rem; }
@media(max-width:1024px){ .elementor-element-8e84fca > .e-con{ padding:1.5rem 1.25rem!important; } .elementor-element-8e84fca > .e-con > .e-con{ column-gap:1rem; } }
.elementor-element-8e84fca .elementor-icon{
  display:inline-flex; align-items:center; justify-content:center; width:64px; height:72px;
  border-radius:999px 999px var(--r-radius) var(--r-radius);
  background:var(--cafe-noir);
}
.elementor-element-8e84fca .elementor-icon svg{ width:26px; height:26px; fill:var(--bg-1)!important; }
.elementor-element-8e84fca .elementor-icon i{ color:var(--bg-1)!important; font-size:26px; }
.elementor-element-8e84fca h3{ text-wrap:balance; }
@media(hover:hover){ .elementor .elementor-element-8e84fca > .elementor-element:hover{ transform:translateY(-3px)!important; } }
@media(max-width:767px){
  .elementor-element-8e84fca > .e-con{ padding:1.4rem 1.25rem!important; }
  .elementor-element-8e84fca > .e-con > .e-con{ grid-template-columns:1fr; }
  .elementor-element-8e84fca > .e-con > .e-con > .elementor-widget-icon,
  .elementor-element-8e84fca > .e-con > .e-con > :not(.elementor-widget-icon){ grid-column:1; grid-row:auto; }
}

/* ---------- 5. Vorteile: Icon + Wort mittig ---------- */
.elementor-element-23fe51c0 > .e-con{
  display:flex!important; flex-direction:column; align-items:center!important; justify-content:center!important;
  text-align:center; min-height:160px; padding:1.5rem 1rem!important;
  border-radius:var(--r-radius)!important; border:1px solid var(--r-line)!important;
  background:rgba(252,249,243,.72)!important; box-shadow:var(--r-shadow)!important;
}
.elementor-element-23fe51c0 > .e-con > .e-con{ align-items:center!important; justify-content:center!important; width:auto; padding:0!important; row-gap:.85rem; }
.elementor-element-23fe51c0 .elementor-widget-icon,.elementor-element-23fe51c0 .elementor-icon-wrapper{ display:flex; justify-content:center; text-align:center; }
.elementor-element-23fe51c0 .elementor-icon{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:var(--cafe-noir); }
.elementor-element-23fe51c0 .elementor-icon svg{ width:28px; height:28px; fill:var(--bg-1)!important; }
.elementor-element-23fe51c0 .elementor-icon i{ color:var(--bg-1)!important; font-size:28px; }
.elementor-element-23fe51c0 h3{ text-align:center; margin:0; font-size:1.25rem!important; text-wrap:balance; }
@media(max-width:767px){ .elementor-element-23fe51c0 > .e-con{ min-height:130px; padding:1.1rem .6rem!important; } .elementor-element-23fe51c0 h3{ font-size:1.05rem!important; } .elementor-element-23fe51c0 .elementor-icon{ width:52px; height:52px; } .elementor-element-23fe51c0 .elementor-icon svg{ width:22px; height:22px; } }

/* ---------- 6. Gästestimmen-Marquee ---------- */
/* Container war ein 2-Zeilen-Grid (leere zweite Zeile = Weißraum unter dem Marquee) */
.elementor .elementor-element.elementor-element-4dacc615{ display:block!important; grid-template-rows:none!important; }
.elementor-element-4dacc615{
  overflow:hidden; padding:.75rem 0 1.5rem!important; /* Reserve für den Kartenschatten */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.rm-track{ display:flex; gap:1.5rem; width:max-content; animation:rm-scroll var(--rm-dur,60s) linear infinite; will-change:transform; }
.rm-track:hover,.rm-track:focus-within{ animation-play-state:paused; }
.rm-track > .e-con{ width:380px!important; flex:0 0 380px!important; }
@keyframes rm-scroll{ to{ transform:translate3d(calc(-1 * var(--rm-shift,50%)),0,0); } }
@media(max-width:767px){ .rm-track > .e-con{ width:300px!important; flex-basis:300px!important; } .rm-track{ gap:1rem; } }
@media(prefers-reduced-motion:reduce){
  .rm-track{ animation:none; width:auto; }
  .elementor-element-4dacc615{ overflow-x:auto; scroll-snap-type:x proximity; }
  .rm-track > .e-con{ scroll-snap-align:start; }
  .rm-clone{ display:none!important; }
}
