/* Welt Private Dining (Praefix .pd-). Schwarz-Gold wie die Visitenkarte. */
main[data-world="dining"] { --pd-gold: #d4a843; --pd-hi: #f0d078; --pd-soft: #d9c690; background: #0b0a08; color: #ecd189; }
.pd-grad { background: linear-gradient(100deg, #b98b2e, #f7e2a0 45%, #d4a843); -webkit-background-clip: text; background-clip: text; color: transparent; }

.pd-hero { min-height: 100svh; display: grid; place-items: center; padding: 110px var(--gutter) 60px; background: radial-gradient(ellipse at 50% 30%, #241c0c 0%, #0b0a08 70%); }
.pd-frame { position: relative; width: min(880px, 100%); padding: clamp(40px, 8vw, 90px) clamp(20px, 5vw, 60px); text-align: center; border: 1px solid rgba(212,168,67,.7); background: rgba(10,9,8,.5); }
.pd-frame::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(212,168,67,.32); pointer-events: none; }
.pd-hat svg { width: clamp(64px, 12vw, 110px); margin: 0 auto 18px; filter: drop-shadow(0 0 18px rgba(240,208,120,.35)); }
.pd-tagline { margin: 0; display: flex; gap: 16px; align-items: center; justify-content: center; font-family: var(--sans); font-size: clamp(.62rem, 1.5vw, .85rem); letter-spacing: .3em; text-transform: uppercase; color: var(--pd-gold); }
.pd-tagline::before, .pd-tagline::after { content: ""; height: 1px; width: clamp(20px, 8%, 70px); background: linear-gradient(90deg, transparent, var(--pd-gold)); }
.pd-tagline::after { transform: scaleX(-1); }
.pd-frame h1 { margin: .35em 0 .1em; font-weight: 400; font-style: italic; font-size: clamp(2.8rem, 9vw, 6.6rem); line-height: 1.05; padding-bottom: .12em; background: linear-gradient(100deg, #b98b2e, #f7e2a0 45%, #d4a843); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pd-diamond { width: 9px; height: 9px; background: var(--pd-gold); transform: rotate(45deg); margin: 14px auto; }
.pd-lead { margin: .6rem auto 0; max-width: 32ch; font-size: clamp(1.1rem, 2.2vw, 1.55rem); color: #e8d6a0; }
.pd-by { margin: 1.6rem 0 0; font-family: var(--sans); font-size: .72rem; letter-spacing: .32em; text-transform: uppercase; color: #a8925a; }
.pd-l1, .pd-l2, .pd-l3, .pd-l4, .pd-l5, .pd-hat { opacity: 0; animation: pd-in 1.6s var(--ease) forwards; }
.pd-hat { animation-delay: .2s; } .pd-l1 { animation-delay: .9s; } .pd-l2 { animation-delay: 1.5s; } .pd-l3 { animation-delay: 2.1s; }
.pd-l4 { animation-delay: 2.6s; } .pd-l5 { animation-delay: 3.3s; }
.pd-diamond.pd-l3 { animation-name: pd-in-d; }
@keyframes pd-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes pd-in-d { from { opacity: 0; transform: rotate(45deg) scale(.2); } to { opacity: 1; transform: rotate(45deg); } }

.pd-sec { padding: clamp(70px, 11vw, 130px) var(--gutter); }
.pd-alt { background: #100e09; border-block: 1px solid rgba(212,168,67,.14); }
.pd-wrap { width: min(1100px, 100%); margin: 0 auto; }
.pd-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 1rem; font-family: var(--sans); font-size: .76rem; letter-spacing: .32em; text-transform: uppercase; color: var(--pd-gold); }
.pd-dm { width: 7px; height: 7px; background: var(--pd-gold); transform: rotate(45deg); }
.pd-sec h2 { margin: 0 0 2rem; font-weight: 400; font-style: italic; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.1; padding-bottom: .1em; background: linear-gradient(100deg, #b98b2e, #f7e2a0 45%, #d4a843); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pd-mt { color: var(--pd-soft); max-width: 52ch; margin: 0 0 1.2rem; }
.pd-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 22px; }
.pd-card { position: relative; padding: 30px 26px; border: 1px solid rgba(212,168,67,.4); }
.pd-card::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(212,168,67,.16); pointer-events: none; }
.pd-card h3 { margin: 0 0 .6rem; font-weight: 400; font-size: 1.35rem; color: var(--pd-hi); }
.pd-card p { margin: 0; color: var(--pd-soft); }

.pd-menus { display: grid; grid-template-columns: 1fr 1.25fr; gap: 26px; align-items: start; }
.pd-menu { position: relative; padding: clamp(26px, 4vw, 42px); border: 1px solid rgba(212,168,67,.6); background: radial-gradient(ellipse at 50% 0%, #1d1709, #0b0a08 75%); }
.pd-menu::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(212,168,67,.24); pointer-events: none; }
.pd-count { margin: 0; font-family: var(--sans); font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: var(--pd-gold); }
.pd-menu h3 { margin: .3rem 0 .6rem; font-weight: 400; font-style: italic; font-size: clamp(1.8rem, 3.4vw, 2.6rem); color: var(--pd-hi); }
.pd-dishes { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: 16px; }
.pd-dishes li { display: grid; grid-template-columns: 2rem 1fr; gap: 10px; align-items: baseline; padding-top: 14px; border-top: 1px solid rgba(212,168,67,.18); }
.pd-n { font-family: var(--sans); font-size: .75rem; color: var(--pd-gold); letter-spacing: .1em; }
.pd-d strong { display: block; font-weight: 400; font-size: 1.15rem; color: #f3e2b0; }
.pd-d em { display: block; font-size: .93rem; color: #b9a56c; margin-top: 2px; }
.pd-seasons.pd-js .pd-season[hidden] { display: none; }
.pd-season + .pd-season { margin-top: 1.6rem; }
.pd-seasons.pd-js .pd-season + .pd-season { margin-top: 0; }
.pd-sn { margin: 1.2rem 0 0; font-family: var(--sans); font-weight: 500; font-size: .78rem; letter-spacing: .26em; text-transform: uppercase; color: var(--pd-hi); }
.pd-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1rem; }
.pd-tabs button { font: inherit; font-family: var(--sans); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; padding: 10px 14px; color: var(--pd-soft); background: transparent; border: 1px solid rgba(212,168,67,.35); cursor: pointer; transition: background .3s, color .3s; }
.pd-tabs button[aria-selected="true"] { background: var(--pd-gold); color: #0b0a08; border-color: var(--pd-gold); }
.pd-tabs button:hover:not([aria-selected="true"]) { border-color: var(--pd-hi); color: var(--pd-hi); }
.pd-fine { margin: 1.6rem 0 0; font-size: .9rem; color: #a8925a; }

.pd-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 30px; }
.pd-steps li { border-top: 1px solid rgba(212,168,67,.5); padding-top: 22px; }
.pd-sno { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 14px; border: 1px solid var(--pd-gold); border-radius: 50%; color: var(--pd-gold); font-family: var(--sans); font-size: .8rem; }
.pd-sno { text-indent: 0; }
.pd-steps h3 { margin: 0 0 .4rem; font-weight: 400; font-size: 1.4rem; color: var(--pd-hi); }
.pd-steps p { margin: 0; color: var(--pd-soft); }

.pd-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 1.6rem; }
.pd-tile { position: relative; margin: 0; aspect-ratio: 4 / 5; display: grid; place-items: center; color: rgba(212,168,67,.4); border: 1px solid rgba(212,168,67,.3);
  background: repeating-linear-gradient(135deg, rgba(212,168,67,.05) 0 12px, transparent 12px 24px), #0d0c09; }
.pd-tile svg { width: 42%; }
.pd-tile figcaption { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; display: grid; gap: 2px; }
.pd-tile span { font-family: var(--sans); font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--pd-gold); }
.pd-tile small { font-size: .8rem; color: #a8925a; }

.pd-tile-photo { padding: 0; overflow: hidden; place-items: stretch; }
.pd-tile-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-tile-photo figcaption { background: linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,0) 65%); padding: 30px 10px 12px; }

.pd-cta { max-width: 46ch; color: var(--pd-soft); margin: 0 0 .4rem; }

.pd-end { text-align: center; }
.pd-endwrap { display: grid; gap: 18px; justify-items: center; }
.pd-contact { font-size: 1.2rem; color: var(--pd-soft); }
.pd-contact p { margin: 0; }
.pd-contact a { color: var(--pd-hi); }
.pd-k { display: block; margin-bottom: 8px; font-family: var(--sans); font-size: .74rem; letter-spacing: .3em; text-transform: uppercase; color: var(--pd-gold); }
.pd-ki { font-size: .82rem; color: #a8925a; max-width: 60ch; }
main[data-world="dining"] .pagenav { width: 100%; margin-top: 30px; border-color: rgba(212,168,67,.3); text-align: left; }
main[data-world="dining"] .pagenav a { color: var(--pd-gold); }

@media (max-width: 800px) {
  .pd-hero { padding-top: 96px; }
  .pd-menus { grid-template-columns: 1fr; }
  .pd-gallery { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pd-tagline { letter-spacing: .18em; }
}
@media (prefers-reduced-motion: reduce) {
  .pd-l1, .pd-l2, .pd-l3, .pd-l4, .pd-l5, .pd-hat { animation-delay: 0s !important; opacity: 1; }
  .pd-diamond.pd-l3 { transform: rotate(45deg); }
}

/* Galerie mit ungerader Fotoanzahl: letzte Reihe mittig (02.10.2026) */
.pd-gallery { grid-template-columns: repeat(6, 1fr); }
.pd-gallery .pd-tile { grid-column: span 2; }
.pd-gallery .pd-tile:nth-child(3n+1):nth-last-child(2) { grid-column: 2 / 4; }
.pd-gallery .pd-tile:nth-child(3n+1):last-child { grid-column: 3 / 5; }
@media (max-width: 720px) {
  .pd-gallery { grid-template-columns: repeat(4, 1fr); }
  .pd-gallery .pd-tile, .pd-gallery .pd-tile:nth-child(3n+1):nth-last-child(2) { grid-column: span 2; }
  .pd-gallery .pd-tile:nth-child(odd):last-child { grid-column: 2 / 4; }
}

/* Unterzeile unter der Erlebnis-Überschrift (Marcus, 02.10.2026) */
.pd-sec h2.pd-h2-sub { margin-bottom: .6rem; }
.pd-sub { margin: 0 0 2rem; font-style: italic; font-size: clamp(1.1rem, 2.4vw, 1.4rem); color: var(--pd-gold); opacity: .9; }
