/* LZ package detail: one width system, teal hero + ticket, constrained gallery and content.
   Scoped to body.single-package #package_single. Same typeface (inherited), teal #032926, red #d8011f. */
body.single-package #package_single { --pkg-max:1240px;--pkg-gutter:clamp(20px,4.5vw,48px);--pkg-ink:#032926;--pkg-red:#d8011f;--pkg-paper:#f3f5f1;--pkg-line:#dce3dc;--pkg-muted:#52615a;--pkg-mint:#a7d8b9;--pkg-soft:#c3d6d1; }

/* Width system: hero, gallery and content share one measure and one left edge. */
body.single-package #package_single :is(.lzk-ux-top,#package_single_container) { width:100%;max-width:calc(var(--pkg-max) + 2 * var(--pkg-gutter));margin-inline:auto;padding-inline:var(--pkg-gutter); }
body.single-package #package_single > .lzk-ux-top { padding-top:clamp(104px,9vw,124px) !important;padding-bottom:0; }
body.single-package #package_single > .lzk-ux-top > .row { display:block;margin:0; }
body.single-package #package_single > .gallery { width:100%;max-width:calc(var(--pkg-max) + 2 * var(--pkg-gutter));margin-inline:auto;padding:24px var(--pkg-gutter) 0; }
body.single-package #package_single > .gallery .items { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:none !important;grid-auto-rows:auto;grid-auto-flow:row;gap:12px;margin:0;height:auto;width:100%; }
body.single-package #package_single > .gallery .gallery_item { position:relative;grid-row:auto !important;grid-column:span 6;width:auto;height:auto;min-height:0;margin:0;flex:none;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background-size:cover;background-position:center;overflow:hidden; }
body.single-package #package_single > #package_single_container { padding-block:clamp(32px,4vw,56px) clamp(48px,7vw,96px); }
body.single-package #package_single_container > .row { display:grid;grid-template-columns:minmax(0,1fr);gap:40px;margin:0; }
body.single-package #package_single :is(.gallery,#package_single_container,#text_content,#sidebar) { margin-bottom:0; }
body.single-package #package_single_container :is(#text_content,#sidebar) { width:auto;max-width:none;flex:none;float:none;padding-inline:0;position:static;min-width:0; }
body.single-package #package_single_container #text_content { max-width:820px;font-size:17px;line-height:1.7;overflow-wrap:break-word; }
body.single-package #package_single_container #text_content :is(img,iframe,video,table) { max-width:100%; }
body.single-package #package_single_container #sidebar:not(:has(.obs_husk)) { display:none; }
body.single-package #package_single_container #sidebar .inner { position:static; }
/* The legacy price children are replaced by the summary; remove their empty shell only.
   Keep the shell when it contains financing, payment imagery or any other additional child. */
body.single-package #package_single:has(.lzk-pkg) #sidebar .prices_box:not(:has(> :not(.main,.additional,ul,.btn_ledige_hold))) { display:none; }
@media(min-width:1024px){
	body.single-package #package_single_container > .row:has(#sidebar .obs_husk) { grid-template-columns:minmax(0,1fr) 338px;gap:56px; }
	body.single-package #package_single_container > .row:has(#sidebar .obs_husk) #text_content { max-width:none; }
	body.single-package #package_single_container > .row:has(#sidebar .obs_husk) #sidebar { align-self:start; }
	body.single-package #package_single_container > .row:has(#sidebar .obs_husk) #sidebar .inner { position:sticky;top:112px; }
}
/* Gallery layout by item count (12-col grid): every count fills complete rows, left-aligned, no legacy row placements. */
@media(min-width:1024px){
	body.single-package #package_single > .gallery .items .gallery_item { grid-column:span 3; }
	body.single-package #package_single > .gallery .items :is(.gallery_item:first-child:nth-last-child(1),.gallery_item:first-child:nth-last-child(1) ~ .gallery_item) { grid-column:span 7;aspect-ratio:16/9; }
	body.single-package #package_single > .gallery .items :is(.gallery_item:first-child:nth-last-child(2),.gallery_item:first-child:nth-last-child(2) ~ .gallery_item) { grid-column:span 5; }
	body.single-package #package_single > .gallery .items :is(.gallery_item:first-child:nth-last-child(3),.gallery_item:first-child:nth-last-child(3) ~ .gallery_item,.gallery_item:first-child:nth-last-child(5),.gallery_item:first-child:nth-last-child(5) ~ .gallery_item,.gallery_item:first-child:nth-last-child(6),.gallery_item:first-child:nth-last-child(6) ~ .gallery_item,.gallery_item:first-child:nth-last-child(9),.gallery_item:first-child:nth-last-child(9) ~ .gallery_item) { grid-column:span 4; }
	body.single-package #package_single > .gallery .items .gallery_item:first-child:nth-last-child(5) ~ .gallery_item:nth-child(n+4) { grid-column:span 6; }
	body.single-package #package_single > .gallery .items .gallery_item:first-child:nth-last-child(7) ~ .gallery_item:nth-child(n+5) { grid-column:span 4; }
}
@media(max-width:1023px){ body.single-package #package_single > .gallery .items .gallery_item:last-child:nth-child(odd) { grid-column:1/-1; } }
@media(max-width:480px){ body.single-package #package_single > .gallery .items { gap:8px; } body.single-package #package_single > .gallery .gallery_item { border-radius:10px; } }

/* Hero */
body.single-package #package_single .lzk-pkg { display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "ticket" "inc";gap:28px;width:100%;max-width:100%;flex:none;margin:0;padding:clamp(20px,4vw,40px);border-radius:20px;color:#fff;background:radial-gradient(90% 120% at 100% 0,#0d4f47 0,transparent 62%),var(--pkg-ink); }
body.single-package #package_single .lzk-pkg--noticket { grid-template-areas:"head" "inc"; }
body.single-package #package_single .lzk-pkg--noinc { grid-template-areas:"head" "ticket"; }
body.single-package #package_single .lzk-pkg--noticket.lzk-pkg--noinc { grid-template-areas:"head"; }
@media(min-width:1100px){
	body.single-package #package_single .lzk-pkg { grid-template-columns:minmax(0,1fr) minmax(340px,400px);grid-template-areas:"head ticket" "inc ticket";grid-template-rows:auto 1fr;column-gap:48px;row-gap:32px; }
	body.single-package #package_single .lzk-pkg--noinc { grid-template-areas:"head ticket";grid-template-rows:auto; }
	body.single-package #package_single .lzk-pkg--noticket { grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "inc";grid-template-rows:auto; }
	body.single-package #package_single .lzk-pkg--noticket.lzk-pkg--noinc { grid-template-areas:"head"; }
	body.single-package #package_single .lzk-pkg-inc { align-self:end;padding-top:28px;border-top:1px solid rgb(255 255 255 / .14); }
	body.single-package #package_single .lzk-pkg--noticket .lzk-pkg-inc { align-self:start; }
		body.single-package #package_single .lzk-pkg:not(.lzk-pkg--noticket) .lzk-pkg-list { grid-template-columns:minmax(0,1fr); }
		body.single-package #package_single .lzk-pkg:not(.lzk-pkg--noticket) .lzk-pkg-list li { padding:18px 20px; }
}
.lzk-pkg-head { grid-area:head;min-width:0;align-self:start; }
.lzk-pkg-meta { display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;list-style:none;margin:0 0 18px;padding:0; }
.lzk-pkg-meta li { margin:0;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--pkg-mint); }
.lzk-pkg-meta li:first-child { display:flex;align-items:center;gap:8px; }
.lzk-pkg-meta li:first-child::before { content:"";flex:none;width:22px;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,#ff6b7e 0 7px,transparent 7px 11px); }
body.single-package #package_single .lzk-pkg h1 { margin:0 0 14px;color:#fff;font-size:clamp(32px,4.4vw,56px);font-weight:600;line-height:1.06;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:break-word; }
body.single-package #package_single .lzk-pkg-head > p { max-width:56ch;margin:0 0 14px;color:var(--pkg-soft);font-size:clamp(16px,1.5vw,19px);line-height:1.55; }
body.single-package #package_single .lzk-pkg a.lzk-ux-review-link { display:inline-flex;align-items:center;min-height:44px;color:#fff;font-size:15px;text-decoration:underline;text-underline-offset:4px; }

/* Included */
.lzk-pkg-inc { grid-area:inc;min-width:0;align-self:start;container:lzk-inc / inline-size; }
body.single-package #package_single .lzk-pkg-inc h2 { margin:0 0 14px;color:var(--pkg-mint);font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.07em;text-transform:uppercase; }
.lzk-pkg-list { display:grid;grid-template-columns:minmax(0,1fr);gap:10px;list-style:none;margin:0;padding:0; }
.lzk-pkg-list li { display:flex;align-items:flex-start;gap:12px;margin:0;padding:16px;border:1px solid rgb(255 255 255 / .14);border-radius:12px;background:rgb(255 255 255 / .07);font-size:16px;font-weight:500;line-height:1.35;color:#fff;min-width:0; }
.lzk-pkg-list li > span:last-child { min-width:0;overflow-wrap:break-word; }
.lzk-pkg-list small { display:block;margin-top:4px;font-size:14px;font-weight:400;line-height:1.45;color:var(--pkg-soft); }
.lzk-pkg-tick { flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgb(167 216 185 / .16);color:var(--pkg-mint); }
.lzk-pkg-tick svg { width:14px;height:14px; }
@container lzk-inc (min-width:420px){ .lzk-pkg-list--w2,.lzk-pkg-list--w3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container lzk-inc (min-width:640px){ .lzk-pkg-list--w3 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
body.single-package #package_single .lzk-pkg-inc .lzk-ux-small { margin:16px 0 0;max-width:62ch;color:var(--pkg-soft);font-size:14px;line-height:1.6; }
body.single-package #package_single .lzk-pkg-inc .lzk-ux-small a { display:inline-block;padding-block:8px;color:#fff;text-decoration:underline;text-underline-offset:3px; }

/* Ticket: same language as the city cards (photo, price, road-line stub) */
.lzk-pkg-ticket { grid-area:ticket;align-self:start;min-width:0;overflow:clip;border-radius:16px;background:#fff;color:var(--pkg-ink);box-shadow:0 18px 40px -22px rgb(0 0 0 / .55); }
.lzk-pkg-ticket-media { position:relative;display:block;aspect-ratio:16/7;background:#dfe7e0; }
.lzk-pkg-ticket-media img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block; }
.lzk-pkg-ticket-body { display:flex;flex-direction:column;gap:16px;padding:24px;min-width:0; }
.lzk-pkg-pricebox { min-width:0; }
body.single-package #package_single .lzk-pkg-ticket p.lzk-pkg-price-label { margin:0 0 6px;color:var(--pkg-muted);font-size:14px;line-height:1.3; }
body.single-package #package_single .lzk-pkg-ticket p.lzk-pkg-price { margin:0;color:var(--pkg-ink);font-size:clamp(44px,4.4vw,56px);font-weight:700;line-height:1;letter-spacing:-.045em;overflow-wrap:anywhere; }
.lzk-pkg-start { display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border-radius:10px;background:#eaf1ea; }
.lzk-pkg-start > svg { flex:none;width:30px;height:30px;padding:6px;border-radius:8px;background:#fff;color:var(--pkg-ink); }
.lzk-pkg-start .lzk-ux-start { min-width:0;font-size:14px;line-height:1.45;color:var(--pkg-ink); }
.lzk-pkg-start .lzk-ux-start[data-status="none"] { color:var(--pkg-muted); }
body.single-package #package_single .lzk-pkg a.lzk-pkg-cta { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:14px 20px;border-radius:8px;background:var(--pkg-red);color:#fff;font-size:16px;font-weight:600;line-height:1.3;text-decoration:none;order:0; }
.lzk-pkg-cta svg { flex:none;width:20px;height:20px; }
.lzk-pkg-extra { margin:0;padding-top:16px;border-top:2px dashed var(--pkg-line); }
body.single-package #package_single .lzk-pkg-extra h2 { margin:0 0 6px;color:var(--pkg-ink);font-size:16px;font-weight:600;line-height:1.3; }
.lzk-pkg-extra ul { list-style:none;margin:0;padding:0; }
.lzk-pkg-extra li { display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0;padding:10px 0;border-bottom:1px solid #e8ece9;font-size:14px;line-height:1.4; }
.lzk-pkg-extra li:last-child { border-bottom:0; }
.lzk-pkg-extra li > span { min-width:0;overflow-wrap:break-word; }
.lzk-pkg-extra small { display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--pkg-muted); }
.lzk-pkg-extra strong { flex:none;white-space:nowrap;font-weight:600;color:var(--pkg-ink); }
body.single-package #package_single .lzk-pkg-ticket p.lzk-ux-small { margin:0;color:var(--pkg-muted);font-size:13px;line-height:1.6; }
@media(min-width:640px) and (max-width:1099px){
	.lzk-pkg-ticket--photo { display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr); }
	.lzk-pkg-ticket--photo .lzk-pkg-ticket-media { aspect-ratio:auto;min-height:100%; }
}
@media(max-width:479px){
	body.single-package #package_single .lzk-pkg { border-radius:16px; }
	.lzk-pkg-ticket-body { padding:20px; }
	.lzk-pkg-list li { padding:14px; }
}

/* Interaction */
body.single-package #package_single .lzk-pkg :is(a,summary):focus-visible { outline:3px solid #fff;outline-offset:3px; }
body.single-package #package_single .lzk-pkg-ticket :is(a,summary):focus-visible { outline-color:var(--pkg-red); }
@media(hover:hover) and (pointer:fine){
	body.single-package #package_single .lzk-pkg a.lzk-pkg-cta:hover { background:#b80019;color:#fff; }
}
@media(prefers-reduced-motion:no-preference){
	body.single-package #package_single .lzk-pkg a.lzk-pkg-cta { transition:background-color 150ms ease,transform 120ms ease; }
}
body.single-package #package_single .lzk-pkg a.lzk-pkg-cta:active { transform:scale(.98); }
@media(prefers-reduced-motion:reduce){ body.single-package #package_single .lzk-pkg a.lzk-pkg-cta:active { transform:none; } }
