/* ===== Rössle Design Polish – Teil 2 (1.2.1) ===== */

/* ---------- Anfrage-Leiste (V4-Sektion .sec--anfrage, Stil in globalen Klassen) ----------
   Hier nur, was Klassen nicht ausdrücken können: Trennlinien, Theme-Formularstile, Fokus. */
.sec--anfrage .anfrage-feld + .anfrage-feld::before{ content:""; position:absolute; left:0; top:22%; bottom:22%; width:1px; background:var(--r-line); }
.sec--anfrage .anfrage-input{ border:0!important; box-shadow:none!important; background:transparent!important; padding:0!important; margin:0!important; min-height:0!important; height:30px!important; border-radius:0!important; cursor:pointer; -webkit-appearance:none; appearance:none; }
.sec--anfrage select.anfrage-input{ padding-right:1.1rem!important; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23443921' stroke-width='1.4'/></svg>") right center / 10px 6px no-repeat!important; }
.sec--anfrage .anfrage-input::-webkit-calendar-picker-indicator{ opacity:.55; cursor:pointer; }
.sec--anfrage .anfrage-feld:focus-within{ background:rgba(76,61,25,.05); border-radius:var(--r-radius); }
.sec--anfrage .anfrage-input:focus-visible{ outline:2px solid var(--cafe-noir)!important; outline-offset:3px; border-radius:2px!important; }
.sec--anfrage .anfrage-label{ cursor:pointer; }
.sec--anfrage :is(.e-form-success-message,.e-form-error-message){ flex-basis:100%; }
@media(max-width:1024px){ .sec--anfrage .anfrage-feld:nth-child(odd)::before{ display:none; } }

/* ---------- Zähler-Leiste 5c498b66: schmal, ruhig, ohne Kästen ---------- */
.elementor-element-5c498b66{
  background:var(--bg-bone)!important;
  padding:calc(40px + 1.1rem) 1.5rem 1.4rem!important; /* 40px = Überlappung der Anfrage-Leiste */
  min-height:0!important;
}
.elementor-element-5c498b66 > .e-con-inner{ display:flex!important; flex-direction:row!important; justify-content:center!important; gap:0!important; padding:0!important; max-width:980px; }
.elementor-element-5c498b66 > .e-con-inner > .e-con,
.elementor-element-5c498b66 > .e-con{
  border:0!important; background:transparent!important; box-shadow:none!important; padding:0 1.5rem!important; flex:1 1 0; position:relative;
}
.elementor-element-5c498b66 > .e-con-inner > .e-con + .e-con::before{ content:""; position:absolute; left:0; top:15%; bottom:15%; width:1px; background:rgba(68,57,33,.18); }
.elementor-element-5c498b66 .elementor-counter{ gap:0!important; }
.elementor-element-5c498b66 .elementor-counter-number-wrapper{ font-size:34px!important; line-height:1.1!important; color:var(--kombu-green)!important; }
.elementor-element-5c498b66 .elementor-counter-title{ font-size:13px!important; line-height:1.6!important; letter-spacing:.14em; color:var(--cafe-noir)!important; }
@media(max-width:767px){
  .elementor-element-5c498b66{ padding:calc(28px + .9rem) .75rem 1.1rem!important; }
  .elementor-element-5c498b66 > .e-con-inner{ display:grid!important; grid-template-columns:1fr 1fr; row-gap:.8rem!important; }
  .elementor-element-5c498b66 > .e-con-inner > .e-con{ padding:0 .5rem!important; }
  .elementor-element-5c498b66 > .e-con-inner > .e-con:nth-child(3)::before{ display:none; }
  .elementor-element-5c498b66 .elementor-counter-number-wrapper{ font-size:28px!important; }
  .elementor-element-5c498b66 .elementor-counter-title{ font-size:11.5px!important; }
}

/* ---------- Zimmer & Preise: kompaktere Karten (Bild bleibt) ---------- */
.elementor-element-6051f166{ gap:1.5rem!important; }
.elementor-element-6051f166 > .e-con{ padding:14px!important; border-radius:var(--r-radius)!important; }
.elementor-element-6051f166 > .e-con > .e-con:last-child{ padding:1.1rem .6rem .4rem!important; gap:.55rem!important; }
.elementor-element-6051f166 > .e-con > .e-con:last-child ul{ margin:0!important; }
.elementor-element-6051f166 > .e-con > .e-con:last-child li{ padding-bottom:2px!important; margin-top:2px!important; }
.elementor-element-6051f166 > .e-con > .e-con:last-child > .elementor-widget-icon-list{ margin-block:.2rem .35rem!important; }
.elementor-element-6051f166 > .e-con > .e-con:last-child > .e-button-base{ margin-top:.35rem!important; padding-block:12px!important; align-self:flex-start; }
.elementor-element-6051f166 > .e-con > .e-con:first-child img{ border-radius:calc(var(--r-radius) - 2px); }
.r-rating{ margin:0!important; font-size:14px; }
.r-rating > span{ color:#B08D3E; letter-spacing:.12em; font-size:15px; margin-right:.35rem; }

/* ---------- Firmen-Karten (dunkle Sektion 2c6e6320): Buttons unten bündig ---------- */
:is(.elementor-element-23f313a3,.elementor-element-542cd054,.elementor-element-3dd3359a,.elementor-element-70bcfde1){ display:flex!important; flex-direction:column!important; }
:is(.elementor-element-23f313a3,.elementor-element-542cd054,.elementor-element-3dd3359a,.elementor-element-70bcfde1) > .e-con{ flex:1 1 auto!important; display:flex!important; flex-direction:column!important; }
:is(.elementor-element-23f313a3,.elementor-element-542cd054,.elementor-element-3dd3359a,.elementor-element-70bcfde1) .e-button-base{ margin-top:auto!important; align-self:stretch!important; text-align:center; }

/* ---------- Gästestimmen-Karten ---------- */
.rm-track > .e-con{
  display:flex!important; flex-direction:column!important; justify-content:space-between; gap:1.1rem;
  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;
}
.rm-track > .e-con > :nth-child(1){ margin:0; color:#B08D3E; letter-spacing:.2em; font-size:1.05rem; }
.rm-track > .e-con > :nth-child(2){ margin:0; font-family:Lora,serif; font-size:1.02rem; line-height:1.7; color:var(--cafe-noir); }
.rm-track > .e-con > :nth-child(3){ display:flex!important; flex-direction:row!important; align-items:center; gap:.9rem; padding:1.1rem 0 0!important; border-top:1px solid var(--r-line); }
.rm-track > .e-con > :nth-child(3) > :nth-child(1){ margin:0; width:44px; height:44px; flex:0 0 44px; border-radius:50%; background:var(--cafe-noir); color:var(--bg-1); font-family:"Playfair Display",serif; font-size:1.15rem; display:flex; align-items:center; justify-content:center; }
.rm-track > .e-con > :nth-child(3) > :nth-child(2){ display:flex!important; flex-direction:column!important; gap:.15rem; padding:0!important; border:0!important; }
.rm-track > .e-con > :nth-child(3) h3{ margin:0; font-family:"Playfair Display",serif; font-size:1.05rem; font-weight:600; color:var(--cafe-noir); }
.rm-track > .e-con > :nth-child(3) p{ margin:0; font-family:Lora,serif; font-size:.85rem; color:#6B5B3E; }

/* ---------- Tradition-Sektion (Bilder + Icons unverändert) ---------- */
.elementor-element-6611e96c{ position:relative; display:flex!important; justify-content:center; padding-inline:2rem!important; background:var(--bg-1); }
.elementor-element-22f522fb{ width:100%; max-width:1160px; display:grid!important; grid-template-columns:1.05fr 1fr; gap:4rem; align-items:center; padding:0!important; }
.elementor-element-53a44545{ display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:1.15rem; padding:0!important; }
.elementor-element-53a44545 > p:nth-of-type(2), .elementor-element-1711b12{ font-family:Lora,serif; font-size:1.08rem; line-height:1.75; color:var(--cafe-noir); margin:0; max-width:34rem; }
.elementor-element-3b8811f3{ display:flex!important; flex-wrap:wrap; gap:1.5rem 2.25rem; padding:.5rem 0 .75rem!important; }
.elementor-element-3b8811f3 > .e-con{ display:flex!important; flex-direction:column!important; align-items:center!important; gap:.75rem!important; padding:0!important; width:auto!important; min-width:84px; text-align:center; }
.elementor-element-3b8811f3 .e-svg-base{ width:60px!important; height:60px!important; padding:17px; box-sizing:border-box; border-radius:50%; border:1px solid rgba(76,61,25,.22); background:#fff; color:#4C3D19; box-shadow:0 8px 16px -10px rgba(76,61,25,.5); }
.elementor-element-3b8811f3 .e-svg-base svg{ width:100%!important; height:100%!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; border-radius:0!important; fill:currentColor; }
.elementor-element-3b8811f3 p{ margin:0; font-family:Lora,serif; font-size:.88rem; color:var(--cafe-noir); text-align:center; }
.elementor-element-2f870e03{ position:relative; height:540px; width:100%; padding:0!important; display:block!important; }
.elementor-element-2f870e03 > img{ position:absolute!important; display:block; object-fit:cover; aspect-ratio:1; height:auto!important; border-radius:50%!important; border:8px solid #FCF9F3!important; box-shadow:0 24px 48px -18px rgba(40,30,10,.5); margin:0!important; max-width:none!important; }
.elementor-element-2f870e03 > img:nth-child(1){ top:0; right:0; width:min(430px,82%)!important; z-index:1; }
.elementor-element-2f870e03 > img:nth-child(2){ left:0; bottom:38px; width:min(230px,44%)!important; z-index:3; }
.elementor-element-2f870e03 > img:nth-child(3){ left:min(170px,32%); bottom:-14px; width:min(170px,34%)!important; z-index:4; }
@media(max-width:900px){
  .elementor-element-22f522fb{ grid-template-columns:1fr; gap:3rem; }
  .elementor-element-2f870e03{ height:min(440px,110vw); order:2; }
  .elementor-element-6611e96c{ padding-inline:1.2rem!important; }
}
