/* ===== Rössle Design Polish – Runde 3 (1.3.0) =====
   Nur was Elementor nicht selbst ausdrücken kann (Theme-Builder-Header, V3-Widgets, HTML-Widgets,
   Pseudo-Elemente/SVG-Ornamente). Alles andere liegt als globale Klasse / Komponente in Elementor. */

/* ---------- Header: Kontaktzeile dunkelgrün, beim Scrollen ganze Leiste grün + beige ---------- */
header.elementor-element-95b64ee .elementor-element-f174878{ background:var(--kombu-green)!important; border-bottom:0!important; }
header.elementor-element-95b64ee .elementor-element-f174878 :is(.elementor-icon-list-text, .elementor-icon-list-icon i, a){ color:var(--bg-bone)!important; }
header.elementor-element-95b64ee .elementor-element-f174878 .elementor-icon-list-icon svg{ fill:var(--tan)!important; }
header.elementor-element-95b64ee.is-scrolled{ background-color:rgba(53,64,36,.97)!important; border-color:rgba(207,187,153,.28)!important; }
header.elementor-element-95b64ee.is-scrolled .elementor-nav-menu--main .elementor-item{ color:var(--bg-bone)!important; }
header.elementor-element-95b64ee.is-scrolled .elementor-nav-menu--main .elementor-item:is(:hover,:focus-visible,.elementor-item-active){ color:var(--kombu-green)!important; }
header.elementor-element-95b64ee.is-scrolled .elementor-nav-menu--main .elementor-item::before,
header.elementor-element-95b64ee.is-scrolled .elementor-nav-menu--main .elementor-item::after{ border-color:rgba(207,187,153,.4)!important; }
header.elementor-element-95b64ee.is-scrolled .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child)::after{ border-color:rgba(207,187,153,.35)!important; }
header.elementor-element-95b64ee .elementor-widget-theme-site-logo img{ transition:filter .35s var(--r-ease); }
header.elementor-element-95b64ee.is-scrolled .elementor-widget-theme-site-logo img{ filter:brightness(0) invert(.93) sepia(.3) saturate(1.4); }
header.elementor-element-95b64ee.is-scrolled .elementor-menu-toggle{ background-color:var(--tan)!important; color:var(--kombu-green)!important; }
header.elementor-element-95b64ee.is-scrolled .elementor-menu-toggle svg{ fill:var(--kombu-green)!important; }

/* ---------- Startseite: Hero mit Platz für die Anfrage-Leiste, die genau auf der Kante sitzt ---------- */
.elementor-element-1466fc18{ padding-bottom:130px!important; }
@media(max-width:1024px){ .elementor-element-1466fc18{ padding-bottom:110px!important; } }
@media(max-width:767px){ .elementor-element-1466fc18{ padding-bottom:96px!important; } }

/* ---------- Helfen-Karten: schlichte runde Icons ---------- */
.elementor-element-8e84fca .elementor-icon{ width:64px!important; height:64px!important; border-radius:50%!important; }

/* ---------- Kein Weiß auf der Seite ---------- */
.elementor-element-6e324b8f .elementor-icon-list-text{ color:var(--bg-bone)!important; }
.elementor-element-6e324b8f .elementor-icon-list-icon svg{ fill:var(--tan)!important; }
.elementor-element-10626a01 .e-n-tab-title[aria-selected="true"] :is(span, .e-n-tab-title-text){ color:var(--bg-bone)!important; }

/* ---------- Zähler-Leiste (Komponente): Wrapper ohne Abstand, feine Trennlinien ---------- */
[data-elementor-type="wp-page"] > .e-div-block-base:has(.trust-bar){ padding:0!important; }
.trust-bar{ border-block:1px solid rgba(207,187,153,.22); }
.trust-item + .trust-item{ border-left:1px solid rgba(207,187,153,.28); }
@media(max-width:767px){ .trust-item:nth-child(3){ border-left:0; } }
.trust-num{ font-variant-numeric:lining-nums tabular-nums; }

/* ---------- Firmen: "Lage & Erreichbarkeit" dunkel (HTML-Widget hat feste Farben) ---------- */
.elementor-element-691fb35a .lage-root{ color:var(--bg-bone); }
.elementor-element-691fb35a .lage-address{ color:var(--tan); }
.elementor-element-691fb35a .lage-item{ border-bottom-color:rgba(207,187,153,.25); }
.elementor-element-691fb35a .lage-dist{ color:var(--tan); }
.elementor-element-691fb35a .lage-name{ color:var(--bg-bone); }
.elementor-element-691fb35a .lage-sub{ color:#CDBFA6; }
.elementor-element-691fb35a .lage-map{ border-color:rgba(207,187,153,.3); border-radius:var(--r-radius); background:#3A3020; }

/* ---------- Zimmer: "Was inklusive ist"-Karten wie die Vorteile-Kacheln der Startseite ---------- */
.elementor-element-7a1ca575 > .e-con{ border-radius:var(--r-radius)!important; border:1px solid var(--r-line)!important; box-shadow:var(--r-shadow)!important; }

/* ---------- Restaurant ---------- */
/* Intro: hell statt olivgrün, Zitat kleiner, passt mit Bildern in einen Viewport */
.elementor-element-6b5ebc0d{ background-color:var(--bg-bone)!important; background-image:none!important; }
.elementor-element-6b5ebc0d .elementor-element-5b2aed0, .elementor-element-6b5ebc0d .elementor-element-5b2aed0 *{ color:var(--darker-moss)!important; }
.elementor-element-321c6431 .elementor-heading-title{ font-family:"Playfair Display",serif!important; font-size:clamp(1.35rem,2.1vw,1.75rem)!important; line-height:1.45!important; color:var(--cafe-noir)!important; max-width:46rem; margin-inline:auto; text-wrap:balance; }
.elementor-element-44373785{ gap:1.25rem!important; margin-top:1.5rem; }
.elementor-element-44373785 > .e-con{ border-radius:var(--r-radius); overflow:hidden; }
.elementor-element-44373785 img{ height:240px!important; object-fit:cover; }
@media(max-width:767px){ .elementor-element-44373785 img{ height:200px!important; } }
/* Vollservice-Karten: hell wie die Gästestimmen-Karten */
.elementor-element-638e3575 > .e-con{
  padding:1.75rem!important; border-radius:var(--r-radius)!important; border:1px solid var(--r-line)!important;
  background:linear-gradient(180deg,#FFFEFB 0%,#FAF6EC 100%)!important; box-shadow:var(--r-shadow)!important;
}
/* Frühstück: drei runde, überlappende Fotos wie in der Tradition-Sektion */
.round-trio{ position:relative; height:500px; width:100%; padding:0!important; display:block!important; }
.round-trio > img{ position:absolute!important; display:block; object-fit:cover; aspect-ratio:1; height:auto!important; border-radius:50%!important; border:8px solid var(--bg-bone)!important; box-shadow:0 24px 48px -18px rgba(40,30,10,.5); margin:0!important; max-width:none!important; }
.round-trio > img:nth-child(1){ top:0; right:0; width:min(400px,80%)!important; z-index:1; }
.round-trio > img:nth-child(2){ left:0; bottom:40px; width:min(220px,44%)!important; z-index:3; }
.round-trio > img:nth-child(3){ left:min(160px,32%); bottom:-10px; width:min(160px,33%)!important; z-index:4; }
@media(max-width:900px){ .round-trio{ height:min(420px,105vw); } }

/* ---------- Kontakt: "Anfahrt & Lage" dunkel, Karten lesbar, runde Icons ---------- */
.elementor-element-1018afc5 .elementor-element-48140b9, .elementor-element-1018afc5 .elementor-element-48140b9 *{ font-family:Lora,serif!important; letter-spacing:.14em; text-transform:uppercase; font-size:13px!important; color:var(--darker-moss)!important; }
.elementor-element-1018afc5 .elementor-element-5d859aa .elementor-heading-title{ font-family:"Playfair Display",serif!important; font-size:1.35rem!important; line-height:1.45!important; color:var(--cafe-noir)!important; }
.elementor-element-03ed5a1{ gap:1.25rem!important; }
.elementor-element-03ed5a1 > .elementor-widget-icon-box{
  background:linear-gradient(180deg,#FFFEFB 0%,#FAF6EC 100%); border:1px solid var(--r-line); border-radius:var(--r-radius); box-shadow:var(--r-shadow); padding:1.5rem;
}
.elementor-element-03ed5a1 .elementor-icon{ width:56px!important; height:56px!important; display:inline-flex!important; align-items:center; justify-content:center; padding:0!important; border-radius:50%!important; background:var(--cafe-noir)!important; }
.elementor-element-03ed5a1 .elementor-icon svg{ width:24px!important; height:24px!important; fill:var(--bg-1)!important; }
.elementor-element-03ed5a1 .elementor-icon-box-title, .elementor-element-03ed5a1 .elementor-icon-box-title *{ font-family:"Playfair Display",serif!important; font-size:1.25rem!important; font-weight:600!important; line-height:1.3!important; color:var(--cafe-noir)!important; }
.elementor-element-03ed5a1 .elementor-icon-box-description, .elementor-element-03ed5a1 .elementor-icon-box-description *{ font-family:Lora,serif!important; font-size:15px!important; line-height:1.65!important; color:#5B4B2B!important; }
.elementor-element-9046ad1 > .e-con{ border-radius:var(--r-radius)!important; }
/* Adresskarte: helle Karte statt Grün auf Grün; Button dort = Secondary-Optik (hell) */
.elementor-element-5b94aaf{ background:linear-gradient(180deg,#FFFEFB 0%,#FAF6EC 100%)!important; border:1px solid var(--r-line); box-shadow:var(--r-shadow); }
.elementor-element-0f82dd1 .elementor-button{ color:var(--bg-bone)!important; background-color:var(--darker-moss)!important; border-color:var(--bg-bone)!important; }
.elementor-element-0f82dd1 .elementor-button:is(:hover,:focus-visible){ color:var(--bg-bone)!important; background-color:var(--cafe-noir)!important; }
.elementor-element-a6583bb{ border-radius:var(--r-radius); overflow:hidden; }

/* ---------- Google Maps erst nach Klick (Platzhalter aus dem PHP-Filter) ---------- */
.r-map-gate{ position:relative; width:100%; min-height:300px; height:100%; display:flex; align-items:center; justify-content:center; text-align:center; padding:2rem 1.5rem; border-radius:var(--r-radius);
  background:linear-gradient(135deg,#EFE8DA,#E2D7C2); border:1px solid rgba(76,61,25,.18); color:var(--cafe-noir); font-family:Lora,serif; }
.r-map-gate__in{ max-width:26rem; display:flex; flex-direction:column; align-items:center; gap:.9rem; }
.r-map-gate__icon{ width:56px; height:56px; border-radius:50%; background:var(--kombu-green); display:flex; align-items:center; justify-content:center; }
.r-map-gate__icon svg{ width:24px; height:24px; fill:var(--bg-bone); }
.r-map-gate p{ margin:0; font-size:14px; line-height:1.6; color:#5B4B2B; }
.r-map-gate a{ color:var(--kombu-green); text-decoration:underline; }
.r-map-gate button{ font-family:Lora,serif; font-weight:600; font-size:15px; letter-spacing:.1em; text-transform:uppercase; color:var(--bg-bone); background:var(--darker-moss); border:1px solid var(--bg-bone); border-radius:8px; padding:12px 24px; cursor:pointer; }
.r-map-gate button:is(:hover,:focus-visible){ background:var(--cafe-noir); }
.lage-map .r-map-gate{ min-height:380px; }

/* ---------- FAQ im Rahmen: dunkelgrüne Doppellinie + botanische Ranken oben und unten ---------- */
.faq-frame{
  --frame-bg:var(--bg-1);
  position:relative!important; max-width:980px; margin-inline:auto;
  border:1.5px solid var(--kombu-green)!important; border-radius:var(--r-radius)!important;
  outline:1px solid rgba(53,64,36,.35); outline-offset:-11px;
  padding:4rem clamp(1.25rem,5vw,4rem) 3.75rem!important;
}
.faq-frame::before, .faq-frame::after{
  content:""; position:absolute; left:50%; width:260px; height:52px; transform:translateX(-50%); pointer-events:none;
  background:var(--frame-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 48'><g fill='none' stroke='%23354024' stroke-width='1.3' stroke-linecap='round'><path d='M108 24C96 13 82 9 66 17S40 33 22 27'/><path d='M22 27c-6-3-12-1-14 4'/><path d='M132 24c12-11 26-15 42-7s26 16 44 10'/><path d='M218 27c6-3 12-1 14 4'/><circle cx='120' cy='24' r='7.5'/></g><g fill='%23354024'><ellipse cx='97' cy='13' rx='7' ry='2.6' transform='rotate(-28 97 13)'/><ellipse cx='83' cy='19' rx='7' ry='2.6' transform='rotate(32 83 19)'/><ellipse cx='67' cy='11' rx='7' ry='2.6' transform='rotate(-38 67 11)'/><ellipse cx='50' cy='29' rx='7' ry='2.6' transform='rotate(28 50 29)'/><ellipse cx='35' cy='21' rx='6' ry='2.3' transform='rotate(-22 35 21)'/><ellipse cx='143' cy='13' rx='7' ry='2.6' transform='rotate(28 143 13)'/><ellipse cx='157' cy='19' rx='7' ry='2.6' transform='rotate(-32 157 19)'/><ellipse cx='173' cy='11' rx='7' ry='2.6' transform='rotate(38 173 11)'/><ellipse cx='190' cy='29' rx='7' ry='2.6' transform='rotate(-28 190 29)'/><ellipse cx='205' cy='21' rx='6' ry='2.3' transform='rotate(22 205 21)'/><circle cx='120' cy='24' r='3'/><ellipse cx='120' cy='13.5' rx='2.2' ry='3.6'/><ellipse cx='120' cy='34.5' rx='2.2' ry='3.6'/><ellipse cx='109.5' cy='24' rx='3.6' ry='2.2'/><ellipse cx='130.5' cy='24' rx='3.6' ry='2.2'/></g></svg>") center / 240px 48px no-repeat;
}
.faq-frame::before{ top:-27px; }
.faq-frame::after{ bottom:-27px; transform:translateX(-50%) rotate(180deg); }
.faq-frame .e-n-accordion-item{ border-bottom:1px solid rgba(53,64,36,.18)!important; }
.faq-frame .e-n-accordion-item:last-child{ border-bottom:0!important; }
.faq-frame .e-n-accordion-item-title-text{ font-family:"Playfair Display",serif!important; color:var(--cafe-noir)!important; }
@media(max-width:767px){
  .faq-frame{ outline-offset:-8px; padding:3.25rem 1.1rem 3rem!important; }
  .faq-frame::before, .faq-frame::after{ width:200px; height:40px; background-size:184px 37px; }
  .faq-frame::before{ top:-21px; } .faq-frame::after{ bottom:-21px; }
}

/* ---------- Bento-Bildraster (volle Breite, mit Bildern befüllbar) ---------- */
body .elementor[data-elementor-type="wp-page"] > section.sec--bento{ width:100%; padding:6px!important; background:var(--bg-1); }
.bento-grid{ width:100%; display:grid!important; grid-template-columns:2fr 1fr 1fr; grid-template-rows:280px 280px; gap:6px!important; padding:0!important; }
.bento-tile{ position:relative; overflow:hidden; padding:0!important; border-radius:4px; min-height:0; }
.bento-tile:first-child{ grid-row:1 / span 2; }
.bento-tile > img{ position:absolute!important; inset:0; width:100%!important; height:100%!important; max-width:none!important; object-fit:cover; transition:transform .8s var(--r-ease); }
.bento-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(41,30,19,.72)); pointer-events:none; }
.bento-caption{ position:absolute!important; left:1.4rem; bottom:1.1rem; z-index:2; margin:0!important; font-family:"Playfair Display",serif!important; font-style:italic; font-size:1.25rem!important; letter-spacing:.04em; color:var(--bg-bone)!important; }
@media(hover:hover){ .bento-tile:hover > img{ transform:scale(1.04); } }
@media(max-width:767px){
  .bento-grid{ grid-template-columns:1fr 1fr; grid-template-rows:240px 170px 170px; }
  .bento-tile:first-child{ grid-column:1 / span 2; grid-row:auto; }
  .bento-caption{ font-size:1.05rem!important; left:1rem; bottom:.8rem; }
}
