/* Gasthof Weisses Rössle · Erscheinungsbild auf dem Gastro-Kit.
   Leitidee: „Alles hat seine Zeit“ (Motto des Hauses). Bordeaux aus dem Pferde-Logo, helles Haus, Newsreader (Gasthof seit 1913).
   Formregel: Knöpfe ganz rund, Bilder und Karten 10px. */
:root{
  --bg:#faf9f6; --fg:#1c1a19; --muted:#66605a; --line:rgba(28,26,25,.12);
  --dark:#1d1b1a; --dark-fg:#f4f1ec; --dark-muted:#b3aca3; --dark-line:rgba(244,241,236,.14);
  --acc:#8e1f2c; --acc-ink:#ffffff; --acc-soft:#e8b9b2;
  --font-d:'Newsreader',Georgia,serif; --font-b:'Figtree',system-ui,sans-serif;
  --r:10px; --r-s:8px;
}
h1,h2,h3{font-weight:400;letter-spacing:-.02em;font-optical-sizing:auto}
h1 i,h2 i,h3 i,.it{font-style:italic;font-weight:300}
.dark h1 i,.dark h2 i,.k-hero h1 i,.k-phero h1 i,.k-kino h2 i{color:var(--acc-soft)}
.h-xl{font-size:clamp(3rem,1.5rem + 6.4vw,7.6rem);line-height:.98}
.k-brand img{height:44px;width:auto}
.k-brand .ro-w{display:block}.k-brand .ro-c{display:none}
.k-head.is-scrolled .k-brand .ro-w{display:none}.k-head.is-scrolled .k-brand .ro-c{display:block}
.nav-open .k-brand .ro-w{display:block}.nav-open .k-brand .ro-c{display:none}
.ro-name{font-family:var(--font-d);font-size:1.3rem;line-height:1;letter-spacing:-.01em}
.ro-name small{display:block;font-family:var(--font-b);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;opacity:.75;margin-top:.25rem}
.k-btn::after{background:var(--dark)}
.k-btn.ghost::after{background:var(--fg)}

/* Saison-Band oben auf der Startseite */
.ro-season{display:inline-flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:.45rem .5rem .45rem 1rem;font-size:.86rem;text-decoration:none;margin-bottom:1.6rem}
.ro-season b{background:var(--acc);color:#fff;border-radius:99px;padding:.25rem .7rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.ro-hero .lead{color:rgba(255,255,255,.88);margin-bottom:2rem}
.ro-hero .eyebrow{color:rgba(255,255,255,.8)}
.ro-facts{display:flex;gap:2.4rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.25)}
.ro-facts div{font-size:.84rem;color:rgba(255,255,255,.8)}
.ro-facts b{display:block;font-family:var(--font-d);font-weight:400;font-size:1.9rem;color:#fff;line-height:1.1}

/* Wegweiser */
.ro-ways{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ro-way{position:relative;display:flex;flex-direction:column;text-decoration:none;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:0 1px 0 var(--line),0 18px 40px -28px rgba(60,20,20,.35);transition:transform .5s var(--ease),box-shadow .5s}
.ro-way:hover{transform:translateY(-6px);box-shadow:0 1px 0 var(--line),0 30px 60px -30px rgba(60,20,20,.45)}
.ro-way figure{margin:0;aspect-ratio:4/3;overflow:hidden}
.ro-way img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ro-way:hover img{transform:scale(1.06)}
.ro-way div{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.ro-way small{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);font-weight:700}
.ro-way b{font-family:var(--font-d);font-weight:400;font-size:1.7rem;line-height:1.1}
.ro-way span{color:var(--muted);font-size:.92rem}
.ro-way i.go{font-style:normal;margin-top:auto;padding-top:.8rem;display:inline-flex;align-items:center;gap:.4rem;font-weight:650;font-size:.88rem;color:var(--acc)}
@media (max-width:1000px){.ro-ways{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ro-ways{grid-template-columns:1fr}}

/* Jahresuhr „Alles hat seine Zeit“ */
.ro-year{display:grid;grid-template-columns:minmax(300px,520px) 1fr;gap:clamp(2rem,6vw,7rem);align-items:center}
.ro-dial{position:relative;aspect-ratio:1;width:100%}
.ro-dial svg{width:100%;height:100%;overflow:visible}
.ro-dial .seg{cursor:pointer;transition:opacity .4s,stroke-width .4s}
.ro-dial .seg:not(.on){opacity:.32}
.ro-dial .seg:hover{opacity:.8}
.ro-dial-mid{position:absolute;inset:22%;border-radius:50%;display:grid;place-items:center;text-align:center;overflow:hidden}
.ro-dial-mid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s}
.ro-dial-mid::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(0,0,0,.05),rgba(0,0,0,.45))}
.ro-dial-mid span{position:relative;z-index:2;color:#fff;font-family:var(--font-d);font-style:italic;font-size:clamp(1.2rem,1rem + 1vw,1.8rem);text-shadow:0 2px 12px rgba(0,0,0,.5)}
.ro-months text{font-size:11px;font-family:var(--font-b);letter-spacing:.12em;fill:var(--muted)}
.ro-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.6rem 0}
.ro-tabs button{border:1px solid var(--line);background:none;border-radius:99px;padding:.6em 1.1em;font-weight:650;cursor:pointer;font-size:.9rem}
.ro-tabs button[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:#fff}
.ro-pane[hidden]{display:none}
.ro-pane .when{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:700}
.ro-pane h3{font-size:clamp(2rem,1.4rem + 2vw,3rem);margin:.4rem 0 1rem}
.ro-pane .now{display:inline-block;margin-left:.6rem;background:var(--acc);color:#fff;padding:.2em .6em;border-radius:99px;font-size:.7rem;letter-spacing:.1em;vertical-align:middle}
@media (max-width:860px){.ro-year{grid-template-columns:1fr}.ro-dial{max-width:420px;margin:0 auto}}

/* Tagesessen */
.ro-week{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.ro-week-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;background:var(--acc);color:#fff;flex-wrap:wrap}
.ro-week-head b{font-family:var(--font-d);font-weight:400;font-size:1.5rem}
.ro-week-head nav{display:flex;gap:.4rem}
.ro-week-head nav button{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:99px;padding:.4em .9em;cursor:pointer;font-size:.84rem;font-weight:600}
.ro-week-head nav button[aria-pressed="true"]{background:#fff;color:var(--acc)}
.ro-day{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1rem;padding:1.05rem 1.4rem;border-top:1px solid var(--line);align-items:baseline}
.ro-day:first-of-type{border-top:0}
.ro-day.is-today{background:#fbf1ef}
.ro-day.is-today .ro-dn::after{content:"heute";display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-weight:700}
.ro-dn{font-weight:700;font-size:.92rem}
.ro-day b{font-family:var(--font-d);font-weight:400;font-size:1.3rem;display:block;line-height:1.2}
.ro-day span{color:var(--muted);font-size:.9rem}
.ro-day .p{font-weight:650;white-space:nowrap}
.ro-week-foot{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.ro-week-foot div{padding:1.1rem 1.4rem}
.ro-week-foot div+div{border-left:1px solid var(--line)}
.ro-week-foot small{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:700}
.ro-week-foot p{margin:.3rem 0 0}
@media (max-width:640px){.ro-day{grid-template-columns:1fr auto}.ro-dn{grid-column:1/-1}.ro-week-foot{grid-template-columns:1fr}.ro-week-foot div+div{border-left:0;border-top:1px solid var(--line)}}

/* Zeitleiste Gastgeber */
.ro-time{position:relative;display:grid;gap:0}
.ro-time::before{content:"";position:absolute;left:7.5rem;top:.6rem;bottom:.6rem;width:1px;background:var(--line)}
.ro-time li{list-style:none;display:grid;grid-template-columns:7.5rem 1fr;gap:2rem;padding:1.4rem 0;position:relative}
.ro-time li::before{content:"";position:absolute;left:calc(7.5rem - 6px);top:2.05rem;width:11px;height:11px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 5px var(--bg)}
.dark .ro-time li::before{box-shadow:0 0 0 5px var(--dark)}
.ro-time b{font-family:var(--font-d);font-weight:400;font-size:2.4rem;line-height:1}
.ro-time h3{font-size:1.45rem;margin-bottom:.3rem}
.ro-time p{color:var(--muted);margin:0}
.ro-time ul{padding:0;margin:0}
@media (max-width:600px){.ro-time::before{left:4.5rem}.ro-time li{grid-template-columns:4.5rem 1fr;gap:1.4rem}.ro-time li::before{left:calc(4.5rem - 6px)}.ro-time b{font-size:1.6rem}}

/* Räume, Zimmer, Kacheln */
.ro-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:clamp(160px,18vw,260px);gap:12px}
.ro-gal figure{margin:0;border-radius:var(--r);overflow:hidden}
.ro-gal figure:first-child{grid-row:span 2}
.ro-gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ro-gal figure:hover img{transform:scale(1.04)}
@media (max-width:760px){.ro-gal{grid-template-columns:1fr 1fr}.ro-gal figure:first-child{grid-column:span 2;grid-row:auto}}
.ro-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ro-tile{border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;display:flex;flex-direction:column;gap:.6rem;background:#fff}
.dark .ro-tile{background:rgba(255,255,255,.04)}
.ro-tile .i{width:1.8rem;height:1.8rem;color:var(--acc)}
.dark .ro-tile .i{color:var(--acc-soft)}
.ro-tile h3{font-size:1.45rem}
.ro-tile p{margin:0;color:var(--muted);font-size:.95rem}
@media (max-width:860px){.ro-tiles{grid-template-columns:1fr}}
.ro-price{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ro-price article{border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;background:#fff;display:flex;flex-direction:column;gap:.6rem}
.ro-price .amt{font-family:var(--font-d);font-size:3rem;line-height:1}
.ro-price .amt small{font-family:var(--font-b);font-size:.9rem;color:var(--muted)}
.ro-price ul{margin:.4rem 0 0;padding:0;list-style:none;display:grid;gap:.4rem;font-size:.94rem}
.ro-price li{display:flex;gap:.6rem;align-items:center}
.ro-price li .i{color:var(--acc)}
@media (max-width:760px){.ro-price{grid-template-columns:1fr}}
.ro-places{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ro-place{border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line)}
.ro-place img{aspect-ratio:4/3;width:100%;object-fit:cover}
.ro-place div{padding:1.2rem 1.3rem 1.4rem}
.ro-place small{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:700}
.ro-place h3{font-size:1.5rem;margin:.3rem 0 .4rem}
.ro-place p{margin:0;color:var(--muted);font-size:.93rem}
@media (max-width:860px){.ro-places{grid-template-columns:1fr}}
.ro-legal{max-width:760px}
.ro-legal h2{font-size:1.6rem;margin:2.2rem 0 .8rem}
.ro-need{display:grid;gap:14px}
.ro-need article{display:grid;grid-template-columns:200px 1fr auto;gap:1.4rem;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:1rem;background:#fff}
.ro-need img{width:200px;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-s)}
.ro-need h3{font-size:1.25rem;margin-bottom:.3rem}
.ro-need p{margin:0;color:var(--muted);font-size:.92rem}
.ro-badge{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:.35em .8em;border-radius:99px;white-space:nowrap}
.ro-badge.echt{background:#dfe9de;color:#2a5130}.ro-badge.ki{background:#efe3b8;color:#5a4605}.ro-badge.neu{background:#f1d9d2;color:#7a2a17}
@media (max-width:760px){.ro-need article{grid-template-columns:1fr}.ro-need img{width:100%}}
.ro-ask{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
@media (max-width:860px){.ro-ask{grid-template-columns:1fr}}
.ro-visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem)}
@media (max-width:860px){.ro-visit{grid-template-columns:1fr}}
.ro-card{border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.4rem);display:flex;flex-direction:column;gap:1rem;background:#fff}
.dark .ro-card{background:rgba(255,255,255,.04)}
.ro-card .big{font-family:var(--font-d);font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);line-height:1.1}
.ro-kitchen{font-size:.88rem;color:var(--muted);margin-top:.8rem}
.ro-foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--dark-line)}
.ro-foot-top img{height:110px;width:auto}
.k-foot .ro-claim{font-family:var(--font-d);font-size:clamp(2rem,1.3rem + 2.6vw,3.8rem);line-height:1.05;margin:0;opacity:1}
.ro-claim i{color:var(--acc-soft)}
.ro-foot-hours li{display:flex;flex-direction:column;font-size:.9rem}
.ro-foot-hours li span:first-child{color:var(--dark-muted);font-size:.78rem}
.k-foot p{font-size:.92rem;opacity:.88}
@media (max-width:760px){.ro-doors-head{flex-direction:column}}
.ro-head2{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}
.ro-head2 .lead{margin:0}
@media (max-width:760px){.ro-head2{flex-direction:column;align-items:flex-start;gap:1.2rem;margin-bottom:2rem}}

.ro-hero::after{background:linear-gradient(90deg,rgba(18,12,10,.72) 0%,rgba(18,12,10,.38) 45%,rgba(18,12,10,.05) 75%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 25%,rgba(0,0,0,.55) 100%)}
@media (max-width:760px){.ro-hero::after{background:linear-gradient(180deg,rgba(18,12,10,.45),rgba(18,12,10,.55) 40%,rgba(18,12,10,.8))}.ro-facts{gap:1.2rem 2rem}.ro-facts b{font-size:1.5rem}}
