
/* ===== Ergänzungen Okt. 2026: Unterseiten, Gästestimmen, Sehenswürdigkeiten ===== */
.page-hero{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;border-radius:10px;margin-top:1.4rem}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;margin-top:2rem}
.quote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.8rem}
.quote .stars{font-size:1rem}
.quote blockquote{margin:0;font:italic 400 1.05rem/1.6 var(--display);color:var(--ink)}
.quote figcaption{margin-top:auto;font-size:var(--s-1);color:var(--ink-soft)}
.quote figcaption b{color:var(--ink);font-weight:500}
.quote-src{margin-top:1rem;font-size:var(--s-1);color:var(--ink-soft)}
.sights{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;margin-top:1.6rem}
.sight{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.3rem}
.sight b{display:block;font:600 1.12rem/1.3 var(--display);color:var(--ink);margin-bottom:.35rem}
.sight p{margin:0;font-size:.92rem;color:var(--ink-soft)}
.sight small{display:block;margin-top:.5rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.tile-grid.t2{grid-template-columns:repeat(2,1fr)}
.tbl-wrap{overflow-x:auto;margin-top:.4rem}
.tbl{width:100%;border-collapse:collapse;font-size:.93rem;min-width:520px}
.tbl th,.tbl td{text-align:left;padding:.75rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:600;color:var(--ink);background:var(--paper-2)}
.tbl td{color:var(--ink-soft)}
.tbl td b{color:var(--ink);font-weight:500}
.steps-num{list-style:none;margin:0;padding:0;counter-reset:n;display:grid;gap:.9rem}
.steps-num li{counter-increment:n;display:grid;grid-template-columns:34px 1fr;gap:.8rem;align-items:start;color:var(--ink-soft)}
.steps-num li::before{content:counter(n);width:34px;height:34px;border-radius:50%;background:var(--wine);color:#FBF3EA;display:grid;place-items:center;font:600 1rem var(--display)}
.steps-num b{color:var(--ink);font-weight:500}
.note-box{background:var(--paper-2);border-left:3px solid var(--gold-l);border-radius:6px;padding:1rem 1.2rem;font-size:.9rem;color:var(--ink-soft)}
.cta-band{background:var(--band);color:var(--band-fg);border-radius:12px;padding:clamp(1.4rem,4vw,2.2rem);display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
.cta-band b{display:block;font:600 1.35rem/1.25 var(--display);color:#FBF3EA}
.cta-band p{margin:.3rem 0 0;color:var(--band-soft);max-width:52ch}
.cta-band .btns{display:flex;flex-wrap:wrap;gap:.6rem}
.cta-band .btn-line{border-color:#ffffff66;color:#FBF3EA}
.sub-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.2rem}
form .chk{display:flex;flex-direction:row;align-items:center;gap:.6rem;cursor:pointer;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink)}
form .chk input{width:18px;height:18px;margin:0;accent-color:var(--wine)}
@media (max-width:640px){.tile-grid.t2{grid-template-columns:1fr}}
@media (min-width:1201px){.nav{gap:1.15rem}.nav a{white-space:nowrap}}
@media (min-width:1201px) and (max-width:1320px){.nav{gap:.9rem;letter-spacing:.03em}}
@media (max-width:640px){.page-hero{aspect-ratio:4/3}}

/* CTA-Band: goldener Button */
.cta-band .btn-gold{background:#C9A35A;color:#2A1214;border-color:#C9A35A}
.cta-band .btn-gold:hover{background:#DDBA75}

/* Apartments auf dem Handy kompakt: Bild links, Text rechts */
@media (max-width:640px){
  .tile-grid.t2{gap:.7rem}
  .tile-grid.t2 .tile{flex-direction:row;min-height:7.5rem}
  .tile-grid.t2 .tile img{width:40%;flex:none;aspect-ratio:auto;height:auto;object-fit:cover}
  .tile-grid.t2 .tile-t{padding:.75rem .85rem;gap:.2rem}
  .tile-grid.t2 .tile-t b{font-size:1.05rem}
  .tile-grid.t2 .tile-t small{font-size:.8rem}
  .tile-grid.t2 .tile-t em{font-size:.7rem;padding-top:.25rem}
}

/* Anruf-Knopf auf dem Handy (alle Seiten) */
.tel-float{display:none}
@media (max-width:620px){
  .tel-float{display:flex;position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:25;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:#C9A35A;color:#2A1214;box-shadow:0 12px 26px -10px #000a,inset 0 0 0 1.5px #ffffff55}
  .tel-float svg{width:22px;height:22px}
}

/* Grid-Spalte darf schrumpfen (verhindert seitliches Scrollen auf dem Handy) */
.d-main{min-width:0}

/* Tabelle im Ratgeber auf dem Handy als Karten */
@media (max-width:640px){
  .tbl{min-width:0}
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:.35rem .9rem .5rem;margin-bottom:.7rem}
  .tbl td{border:0;padding:.3rem 0}
  .tbl td[data-label]::before{content:attr(data-label);display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:.1rem}
  .tbl td:first-child::before{display:none}
  .tbl td:first-child{font-size:1.02rem;color:var(--ink);padding-top:.55rem}
}

/* Seitenbox: Kennzahlen und Buttons überlappen nicht (schmale Handys, große Schrift) */
.kv-side>div{min-width:0}
.kv-side span{overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto;letter-spacing:.07em;line-height:1.4}
.side-card .btn{white-space:normal;flex-wrap:wrap;row-gap:.3em;line-height:1.3;text-align:center}
.side-card .btn .nw{white-space:nowrap}
.side-c a,.foot a[href^="tel:"]{color:inherit}
@media (max-width:420px){
  .side-card{padding:1.15rem}
  .side-card .btn{letter-spacing:.08em;padding-inline:1em}
  .kv-side b{font-size:1.2rem}
}

/* Lange deutsche Wörter auf schmalen Handys umbrechen statt überstehen */
h1,h2,.path b,.path strong{overflow-wrap:break-word;hyphens:manual;-webkit-hyphens:manual}
@media (max-width:860px){.path-grid{grid-template-columns:minmax(0,1fr)}.path{min-width:0}}

/* Gastgeber-Kasten: Foto vom Eingang + schlichtes Abzeichen */
.host-mark.host-card{padding:0;display:block;background:#fff;overflow:hidden;margin:0;place-items:initial}
.host-mark.host-card img.hc-img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 0}
.host-card .hc-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-top:3px solid #C9A35A;background:#fff}
.host-mark.host-card img.hc-logo{width:auto;max-width:52%;height:auto;max-height:42px}
.host-card .hc-badge{display:flex;flex-direction:column;align-items:flex-end;text-align:right;border-left:1px solid #DED4CD;padding-left:1rem}
.host-card .hc-badge b{font:600 .95rem/1.25 Lora,Georgia,serif;color:#251719}
.host-card .hc-badge small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#9A7429;margin-top:.15rem}
.host-card .hc-cap{font-size:.8rem;color:#6B5B59;padding:0 1.2rem 1rem;background:#fff;margin:0}
@media (max-width:420px){.host-card .hc-row{flex-direction:column;align-items:flex-start}.host-card .hc-badge{align-items:flex-start;text-align:left;border-left:0;padding-left:0;border-top:1px solid #DED4CD;padding-top:.6rem;width:100%}}

/* Eigenes Video (statt YouTube) */
.own-video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;border-radius:2px}
.vid-note{font-size:.85rem;color:var(--ink-soft);margin-top:.5rem}

/* Unterseiten auf dem Handy: Überschrift kleiner, mehr Luft */
@media (max-width:600px){
  .d-head h1{font-size:clamp(1.75rem,1.2rem + 3vw,2.1rem);line-height:1.18}
  .d-head h1 em{font-size:.62em;line-height:1.3;margin-top:.45rem}
  .d-head .tag{font-size:1.1rem;line-height:1.5}
  .d-loc{letter-spacing:.08em;line-height:1.6}
}
