/* Reise-Detailseite */
.detail{padding-bottom:80px}
.detail__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:20px 0 24px}
.detail__top .crumbs{padding:0}
.detail__actions{display:flex;gap:8px}
.detail__action{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:0;background:none;font:700 13px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer}
.detail__action:hover{color:var(--wine-700)}
.detail__action svg{width:18px;height:18px}
html:not(.js) .detail__action[data-print]{display:none}
.detail__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.detail__intro,.detail__body,.detail__aside{min-width:0}
@media (min-width:1024px){.detail__grid{grid-template-columns:minmax(0,1fr) 400px;column-gap:56px;row-gap:0}.detail__intro{grid-column:1;grid-row:1}.detail__body{grid-column:1;grid-row:2}.detail__aside{grid-column:2;grid-row:1/span 2}}

/* Galerie */
.gallery{margin:0}
.gallery__main{position:relative;background:var(--surface-muted);aspect-ratio:1200/750;overflow:hidden}
.gallery__slide{position:absolute;inset:0;display:block}
.gallery__slide[hidden]{display:none}
.gallery__slide img{width:100%;height:100%;object-fit:cover;display:block}
.gallery__count{position:absolute;left:16px;bottom:16px;z-index:2;padding:6px 12px;background:rgba(0,0,0,.6);color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em}
.gallery__nav{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:8px}
html:not(.js) .gallery__nav{display:none}
.gallery__btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:var(--wine-700);color:#fff;cursor:pointer}
.gallery__btn:hover{background:var(--wine-900)}
.gallery__btn svg{width:20px;height:20px}
.gallery__thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px}
.gallery__thumb{position:relative;display:block;aspect-ratio:280/175;overflow:hidden;background:var(--surface-muted);outline-offset:2px}
.gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}
.gallery__thumb:hover img{opacity:.8}
.gallery__thumb.is-active::after{content:"";position:absolute;inset:0;border:3px solid var(--wine-700)}
.gallery__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(71,4,35,.7);color:#fff;font-weight:700;font-size:16px}
@media (max-width:599px){.gallery__thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery__thumb:nth-child(n+5){display:none}}

/* Anker-Navigation */
.dtabs{margin:32px 0 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.dtabs ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;min-width:max-content}
.dtabs a{display:flex;align-items:center;min-height:52px;padding:0 16px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.dtabs a:hover,.dtabs a:focus-visible{color:var(--wine-700);border-bottom-color:var(--wine-700)}
.dtabs li:first-child a{color:var(--wine-700);border-bottom-color:var(--wine-700)}

/* Kopf und Abschnitte */
.dhead{padding-top:40px}
.dhead__kicker{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wine-700)}
.dhead__title{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.12;color:var(--ink)}
.dhead__lead{margin:16px 0 0;font-size:clamp(18px,2vw,22px);font-weight:300;line-height:1.5;color:var(--text-muted)}
.dbadges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.dbadge{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;background:var(--wine-100);color:var(--wine-700);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dbadge--ok{background:#E6F9EF;color:#05663A}
.dsec{padding-top:56px;scroll-margin-top:24px}
.dsec__title{margin:0 0 24px;font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.2;color:var(--ink)}
.dsec__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:24px}
.dsec__head .dsec__title{margin:0}
.dsec__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.dsec .prose{font-size:17px;line-height:1.7}
.dsec .prose ul{padding-left:1.2em}
.dsec .prose li{margin:4px 0}
.dsec--first{padding-top:32px}
.dsec__sub{margin:32px 0 12px;font-family:var(--font-sans);font-size:20px;font-weight:700;color:var(--ink)}
.dsec__extra{margin-top:24px}
.prose--check ul{list-style:none;padding-left:0}
.prose--check li{position:relative;padding-left:30px}
.prose--check li::before{content:"";position:absolute;left:0;top:.3em;width:18px;height:18px;background:var(--wine-700);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center/contain}

/* Reiseverlauf (Akkordeon) */
.itin__toggle{min-height:44px;padding:0;border:0;background:none;font:700 14px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--wine-700);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
html:not(.js) .itin__toggle{display:none}
.itin{border-top:1px solid var(--line)}
.itin__item{border-bottom:1px solid var(--line)}
.itin__item summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:4px 16px;padding:20px 0;cursor:pointer;list-style:none}
.itin__item summary::-webkit-details-marker{display:none}
.itin__day{grid-column:1;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wine-700)}
.itin__name{grid-column:1;font-family:var(--font-display);font-size:clamp(20px,2.2vw,24px);line-height:1.3;color:var(--ink)}
.itin__chev{grid-column:2;grid-row:1/span 2;justify-self:end;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--wine-700);transition:transform .2s}
.itin__chev svg{width:20px;height:20px}
.itin__item[open] .itin__chev{transform:rotate(180deg)}
.itin__body{padding:0 0 24px}
.itin__meals{margin:12px 0 0;font-size:15px;color:var(--text-muted)}
.itin__imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:16px}
.itin__imgs img{width:100%;height:auto;aspect-ratio:280/175;object-fit:cover}

/* Unterkunft */
.hotel{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:24px;border:1px solid var(--line);background:#fff}
.hotel+.hotel{margin-top:16px}
@media (min-width:768px){.hotel--img{grid-template-columns:280px minmax(0,1fr)}}
.hotel__img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.hotel__head{display:flex;gap:16px;align-items:flex-start;margin-bottom:12px}
.hotel__pin{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--wine-100);color:var(--wine-700)}
.hotel__pin svg{width:22px;height:22px}
.hotel__name{margin:0;font-family:var(--font-sans);font-size:20px;font-weight:700;line-height:1.3;color:var(--ink)}
.hotel__stars{display:flex;gap:2px;margin:6px 0 0;color:var(--warning)}
.hotel__stars svg{width:16px;height:16px}
.hotel .prose{font-size:16px}
.hotel__link{margin-top:16px}

/* Buchungsbox */
.dbox{background:#fff;border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.08);padding:28px 24px}
@media (min-width:1024px){.dbox{position:sticky;top:24px;padding:32px}}
.dbox__kicker{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wine-700)}
.dbox__meta{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px;color:var(--text-muted)}
.dbox__meta li{display:flex;align-items:center;gap:8px}
.dbox__meta svg{width:18px;height:18px;color:var(--wine-700);flex-shrink:0}
.dbox__title{margin:0 0 16px;font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.25;color:var(--ink)}
.dbox__hl{margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.dbox__hl ul{list-style:none;margin:0;padding:0}
.dbox__hl li{position:relative;padding-left:30px;margin:8px 0;font-size:16px;line-height:1.5}
.dbox__hl li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;background:var(--wine-700);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center/contain}
.dbox__hl p{margin:8px 0}
.dbox__contact{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--text-muted)}
.dbox__contact a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:20px;font-weight:700;color:var(--wine-700);text-decoration:none}
.dbox__contact svg{width:20px;height:20px}
.dbox{--sk-booking-primary:var(--wine-700);--sk-booking-text:var(--text);--sk-booking-muted:var(--text-muted);--sk-booking-line:var(--line);--sk-booking-surface:#fff;--sk-booking-radius:0;--sk-booking-button-text:#fff;--sk-booking-discount-surface:var(--wine-100);--sk-booking-discount-text:var(--wine-700)}

/* Ähnliche Reisen */
.dsimilar{background:var(--surface-muted);padding:80px 0}

@media print{
  .site-header,.site-footer,.detail__actions,.gallery__nav,.gallery__thumbs,.dtabs,.dsimilar,.itin__toggle{display:none!important}
  .itin__item:not([open]) .itin__body{display:block}
  .dbox{box-shadow:none;position:static}
}
