/* ==========================================================
   Portraits / Angebote: Einleitung, Buchungskacheln, Fenster, Platten, Lightbox
   ========================================================== */

.kicker{margin:0;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}

/* Einleitung */
.pt-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px;align-items:end;padding-top:40px}
.pt-hero-img{background:var(--tone);padding:clamp(24px,4vw,56px)}
.pt-hero-img img{width:100%;height:auto;display:block}
.pt-ph{display:block;aspect-ratio:4/5}
.pt-h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,58px);line-height:1.16;text-wrap:balance}
.pt-lead{max-width:34em;margin:24px 0 0;font-family:var(--serif);font-size:22px;line-height:1.45;color:var(--ink-2)} /* höchstens ca. 70 Zeichen pro Zeile */
.pt-priceline{margin:20px 0 0;font-size:14px;color:#4a4a4a}

.pt-sec{margin-top:140px}
.pt-sec-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:28px;font-size:13px;color:var(--muted)}
.pt-sec-head .kicker{color:var(--ink)}

/* Buchungskacheln: offene Ecken wie auf der Mattscheibe, Platten im Maßstab */
@property --c{syntax:'<length>';inherits:true;initial-value:22px}
.b-more,.b-book{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid var(--ink)}
.b-more{background:transparent;color:var(--ink)}
.b-more:hover{background:#fff;color:var(--ink)}
.b-book{background:var(--ink);color:#fff}
.b-book:hover{background:#3a3a3a;color:#fff}

.offers{--s:5px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.offers-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.offers-n1{grid-template-columns:minmax(0,1fr)}
.offers-group,.offers-plain{margin-top:88px}
.pt-sec > .offers-group:first-child,.pt-sec-head + .offers-group,.pt-sec > .offers-plain:first-child{margin-top:0}
.offers-group{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 24px;margin-bottom:24px}
.offers-gh{margin:0;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.offers-group p{margin:0;font-size:13px;color:var(--muted)}

/* Offene Ecken: Angebotskacheln und alle übrigen Kästen (Kurskarte, Grundlagen-Kachel, Anfrage, Fakten) */
.oc,.card,.feat,.pt-content .anfrage-box,.art-content .fakten{--k:var(--ink);background:
  linear-gradient(var(--k),var(--k)) 0 0/var(--c) 1px no-repeat,
  linear-gradient(var(--k),var(--k)) 0 0/1px var(--c) no-repeat,
  linear-gradient(var(--k),var(--k)) 100% 0/var(--c) 1px no-repeat,
  linear-gradient(var(--k),var(--k)) 100% 0/1px var(--c) no-repeat,
  linear-gradient(var(--k),var(--k)) 0 100%/var(--c) 1px no-repeat,
  linear-gradient(var(--k),var(--k)) 0 100%/1px var(--c) no-repeat,
  linear-gradient(var(--k),var(--k)) 100% 100%/var(--c) 1px no-repeat,
  linear-gradient(var(--k),var(--k)) 100% 100%/1px var(--c) no-repeat;background-color:transparent;border:0}
.oc{position:relative;display:flex;flex-direction:column;gap:18px;padding:40px 36px 34px}
.offer,.offer-plain{cursor:pointer} /* ganze Kachel öffnet „Mehr Infos“ (offers.js) */
.offer:hover .b-more,.offer-plain:hover .b-more{color:var(--ink)}
/* Darüberfahren: Ecken wachsen, ein feinerer Strich schließt den Rahmen, die Fläche wird leicht grau */
.oc,.feat{transition:--c .35s ease,background-color .3s ease,box-shadow .3s ease}
.oc:hover,.oc:focus-within,.feat:hover,.feat:focus-visible{--c:36px;background-color:#f6f6f4;box-shadow:inset 0 0 0 .5px rgba(26,26,26,.5)}
@media (max-resolution:1dppx){.oc:hover,.oc:focus-within,.feat:hover,.feat:focus-visible{box-shadow:inset 0 0 0 1px #c9c9c6}}

/* Bühne: alle Platten einer Gruppe stehen auf derselben Linie */
.offer-stage{height:calc(var(--stage,24) * var(--s) + 14px);border-bottom:1px solid var(--ink);margin-bottom:2px}
.stage-v{display:flex;align-items:flex-end;gap:10px;height:100%}
.stage-v[hidden]{display:none}
.pl{flex:none;display:block;width:calc(var(--w) * var(--s));height:calc(var(--h) * var(--s));overflow:hidden;background:#1c1916}
.pl img{display:block;width:100%;height:100%;object-fit:cover}
.pl-ph{background:radial-gradient(ellipse 72% 62% at 50% 42%,#8d8478 0%,#4b443c 48%,#1c1916 100%)}
.pl-glass{background:radial-gradient(ellipse 72% 62% at 50% 42%,#ebe7e0 0%,#cbc4b9 55%,#a69d90 100%);box-shadow:inset 0 0 0 1px #8f877b}
.pl-ghost{background:none;border:1px dashed #9a9a98}
[data-formats] .pl[data-pick]{cursor:pointer}
[data-formats] .pl-ghost[data-pick]{transition:border-color .2s,background-color .2s}
[data-formats] .pl-ghost[data-pick]:hover{border-color:var(--ink);background:rgba(26,26,26,.04)}

.offer-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 16px;min-height:44px}
.offer-fmt{margin:0;font-size:12px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.offer-fmt[hidden]{display:none}
.fmt-switch{display:flex}
.fmt-switch button{min-height:44px;padding:0 14px;font-size:13px;color:var(--muted);border:1px solid var(--line-2);background:#fff;cursor:pointer}
.fmt-switch button + button{margin-left:-1px}
.fmt-switch button[aria-pressed="true"]{position:relative;z-index:1;border-color:var(--ink);color:var(--ink);font-weight:500}
.offer-kicker{display:block;margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.offer-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.7vw,38px);line-height:1.05}
.offer-text{margin:0;max-width:34em;font-size:15px;line-height:1.55;color:#4a4a4a}
.offer-note{margin:0;font-size:13px;color:var(--muted)}
.offer-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 20px}
.offer-price{margin:0;font-family:var(--serif);font-size:28px;line-height:1.2}
.offer-price [hidden]{display:none}
.offer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 22px}
.offer .b-more,.offer .b-book,.offer-plain .b-more,.offer-plain .b-book,.card-actions .b-more,.card-actions .b-book,.dt .b-book{min-height:44px;padding:0;border:0;background:none;color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none}
.offer .b-more,.offer-plain .b-more,.card-actions .b-more{color:var(--muted)}
.offer .b-more:hover,.offer-plain .b-more:hover,.card-actions .b-more:hover{color:var(--ink);background:none}
.offer .b-book,.offer-plain .b-book,.card-actions .b-book,.dt .b-book{font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.card-actions .b-book::after,.dt .b-book::after{content:'';display:inline-block;width:1.15em;height:.62em;margin-left:.35em;vertical-align:-.02em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 6h19.4M15.4 1.2 20.4 6l-5 4.8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 6h19.4M15.4 1.2 20.4 6l-5 4.8'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s ease}
.card-actions .b-book:hover::after,.dt .b-book:hover::after,.card-actions .b-book:focus-visible::after,.dt .b-book:focus-visible::after{transform:translateX(.22em)}
.offer .b-book:hover,.offer-plain .b-book:hover,.card-actions .b-book:hover,.dt .b-book:hover{background:none;color:var(--ink);text-decoration-thickness:2px}

/* Streifen „Außerdem“ (Gutschein, Events): bewusst leiser als die Portraitkacheln */
.offers-plain{display:grid;grid-template-columns:180px repeat(2,minmax(0,1fr));gap:0 48px;padding:44px 48px;background:var(--tone)}
.offers-plain-h{margin:0;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.offer-plain{display:flex;flex-direction:column;gap:12px}
.offer-plain + .offer-plain{border-left:1px solid #d6d6d4;padding-left:48px}
.offer-plain-t{margin:0;font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1}
.offer-plain .offer-text{font-size:14px}
.offer-plain .offer-price{font-family:var(--sans);font-size:15px}

/* Fenster „Mehr Infos / Buchung“ */
.offer-dlg{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:0;background:#fff;color:var(--ink);overflow:auto}
.offer-dlg::backdrop{background:rgba(26,26,26,.55)}
.dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 32px 16px}
.dlg-title{margin:6px 0 4px;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.1}
.dlg-price{font-size:14px;color:#4a4a4a}
.dlg-price[hidden]{display:none}
.dlg-fmt{margin-top:14px}
.facts [hidden]{display:none}
.dlg-close{font-size:13px;min-height:44px;padding:0 4px;white-space:nowrap}
.dlg-close:hover{color:var(--muted)}
.tabs{display:flex;gap:28px;padding:0 32px;border-bottom:1px solid var(--line)}
.tab{border-bottom:2px solid transparent;margin-bottom:-1px;padding:14px 0;min-height:44px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.track-wrap{overflow:hidden}
.track{display:flex;align-items:flex-start;width:200%;transition:transform .45s ease}
/* Nur der sichtbare Reiter bestimmt die Höhe des Fensters */
.track:not(.is-book) > .panel + .panel,.track.is-book > .panel:first-child{max-height:0;overflow:hidden;padding-top:0;padding-bottom:0}
.track.single{width:100%}
.track.is-book{transform:translateX(-50%)}
.panel{width:50%;padding:28px 32px 32px}
.track.single .panel{width:100%}
.panel-lead p{margin:0 0 20px;font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--ink-2)}
.facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 20px;font-size:14px;margin:0}
.facts dt{color:var(--muted)}
.facts dd{margin:0}
.panel-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.acuity{display:block;width:100%;height:min(640px,60dvh);border:0;background:var(--tone)}
.acuity-note{margin:10px 0 0;font-size:12px;color:var(--muted)}
/* Sprache des Fensters: DE / EN neben „Schließen“ (Texte und Buchungskalender) */
.dlg-tools{display:flex;align-items:center;gap:18px;flex-shrink:0}
.cal-lang{display:flex}
.cal-lang button{min-height:36px;min-width:40px;padding:0 10px;font-size:12px;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line-2);background:#fff;cursor:pointer}
.cal-lang button + button{margin-left:-1px}
.cal-lang button[aria-pressed="true"]{position:relative;z-index:1;border-color:var(--ink);color:var(--ink);font-weight:500}
.offer-dlg.is-switching .track-wrap{opacity:.4;transition:opacity .2s}
.acuity-note a{border-bottom:1px solid var(--line-2)}

/* Fertige Platten */
.plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.plate-fig{margin:0}
.plate{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;padding:20px;background:var(--tone);cursor:zoom-in;transition:background .3s}
.plate:hover{background:#ececea}
.plate img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.plate-fig figcaption{margin-top:10px;font-size:13px;color:#4a4a4a}

/* Lightbox */
.lb{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:16px 24px 24px;border:0;background:rgba(17,17,17,.96);color:#f2f2f0}
.lb[open]{display:flex;flex-direction:column}
.lb::backdrop{background:rgba(17,17,17,.96)}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px}
.lb-btn{color:#f2f2f0;min-width:44px;min-height:44px}
.lb-btn:hover{color:#fff;opacity:.7}
.lb-arrow{font-size:28px}
.lb-main{flex:1;min-height:0;display:flex;align-items:center;gap:8px}
.lb-stage{flex:1;min-height:0;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.lb-stage.is-zoomed{cursor:zoom-out}
.lb-img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;transition:transform .35s ease}
.lb-cap{margin:12px 0 0;text-align:center;font-size:14px}

/* Editor-Inhalt: Ablauf, Häufige Fragen */
.pt-content{margin-top:140px;max-width:none}
.pt-content > h2{margin:0 0 40px;padding-top:28px;border-top:1px solid var(--line);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.pt-content > h2:not(:first-child){margin-top:120px}
.pt-content > ol{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin:0;padding:0}
.pt-content > ol > li{counter-increment:step;font-size:14px;color:#4a4a4a}
.pt-content > ol > li::before{content:counter(step);display:block;font-family:var(--serif);font-size:40px;color:#9a9a9a;line-height:1.2}
.pt-content > ol > li strong{display:block;margin:4px 0 8px;font-size:15px;font-weight:500;color:var(--ink)}
.pt-content .wp-block-details{border-top:1px solid var(--line);padding:18px 0}
.pt-content .wp-block-details:last-child{border-bottom:1px solid var(--line)}
.pt-content .wp-block-details summary{font-family:var(--serif);font-weight:500;font-size:22px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.pt-content .wp-block-details summary::-webkit-details-marker{display:none}
.pt-content .wp-block-details summary::after{content:'+';font-family:var(--sans);font-weight:300}
.pt-content .wp-block-details[open] summary::after{content:'−'}
.pt-content .wp-block-details p{margin:10px 0 0;font-size:15px;color:#4a4a4a;max-width:46em}
.pt-content p{max-width:46em}

@media (max-width:900px){
  .pt-hero{grid-template-columns:minmax(0,1fr);gap:40px}
  .offers,.offers-n2{grid-template-columns:minmax(0,1fr);gap:24px}
  .oc{padding:30px 24px 24px}
  .offers-plain{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 24px}
  .offer-plain + .offer-plain{border-left:0;padding-left:0;border-top:1px solid #d6d6d4;padding-top:24px}
  .plates{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .pt-sec,.pt-content{margin-top:96px}
  .pt-content > ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dlg-head,.panel{padding-left:20px;padding-right:20px}
  .tabs{padding:0 20px}
  .facts{grid-template-columns:minmax(0,1fr);gap:2px}
  .facts dd{margin-bottom:10px}
}
@media (max-width:420px){.offers{--s:4.4px}}
@media (prefers-reduced-motion:reduce){.track,.lb-img,.oc,.feat{transition:none}}

/* Angebotsfenster mit Video (z. B. Making-of): Text links, Hochformat-Video rechts */
.panel.has-video .panel-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px 28px;align-items:start}
.panel.has-video .vid{border-radius:2px}
.panel.has-video .vid-tall{aspect-ratio:9/16}
@media (max-width:700px){
  .panel.has-video .panel-body{grid-template-columns:1fr}
  .panel.has-video .vid{order:-1;max-height:62vh;width:auto;margin:0 auto}
}
@media (max-width:600px){.dlg-tools{gap:10px}.dlg-head{gap:12px}}
