/* Private JetOne homepage: Events & Holidays showcase ("Sunlit Itineraries" on the homepage).
   Markup: the block between <!-- pj1-packages-home:start/end --> written by _tools/packages/build_pages.py (copy:
   templates/home.json). Scoped to .pj1-hpk; each card carries its own palette inline (--th-*, design/themes.json). */
.pj1-hpk{--hpk-bg:#f3f0e9;--hpk-text:#0c0e0f;--hpk-sub:#5c564b;--hpk-kick:#6e5631;--hpk-line:#d9d0bf;--hpk-ring:#0c0e0f;--hpk-btn-edge:#8e7447;--hpk-ease:cubic-bezier(.16,1,.3,1);background:var(--hpk-bg);color:var(--hpk-text);color-scheme:light}
.pj1-hpk--dark{--hpk-bg:#0c0e0f;--hpk-text:#f3f0e9;--hpk-sub:#b8bcb9;--hpk-kick:#c7b18a;--hpk-line:#ffffff24;--hpk-ring:#e1d0ae;--hpk-btn-edge:#c7b18a;color-scheme:dark}
.pj1-lux.pj1-hpk h2{color:var(--hpk-text)!important;text-wrap:balance}
.pj1-lux.pj1-hpk p{color:var(--hpk-sub)!important}
.pj1-lux.pj1-hpk .pj1-kicker{color:var(--hpk-kick)!important}
.pj1-hpk-nw{white-space:nowrap}
.pj1-hpk-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* group: title + hairline, the row, then the CTA (DOM = focus order); the grid lifts the CTA to the top-right */
.pj1-hpk-group{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head cta" "row row";align-items:center;column-gap:24px;margin-top:clamp(40px,5vw,64px)}
.pj1-hpk-group__head{grid-area:head;display:flex;align-items:center;gap:20px}
.pj1-hpk-group__head::after{content:"";flex:1 1 24px;height:1px;background:var(--hpk-line)}
.pj1-lux .pj1-hpk-group__title{font-size:clamp(24px,1.1vw + 14px,30px)!important;line-height:1.15!important;letter-spacing:-.02em;color:var(--hpk-text)!important;white-space:nowrap}
.pj1-hpk-group__swipe{display:none}
.pj1-hpk .pj1-hpk-group__cta.pj1-button{grid-area:cta;min-height:44px;padding:11px 18px;gap:14px;border-color:var(--hpk-btn-edge);white-space:nowrap}
.pj1-hpk-progress{display:none}
/* every event has ended (the inline script): only the "Explore all events" link stays */
.pj1-hpk-group[data-pj1-hpk-empty]{grid-template-columns:minmax(0,1fr);grid-template-areas:"cta"}
.pj1-hpk-group[data-pj1-hpk-empty]>:not(.pj1-hpk-group__cta){display:none!important}
.pj1-hpk .pj1-hpk-group[data-pj1-hpk-empty] .pj1-hpk-group__cta.pj1-button{justify-self:start;margin-top:0}

/* row: six posters on wide screens; every card is a subgrid so photo, kicker, title, facts and price line up */
.pj1-hpk .pj1-hpk-row{grid-area:row;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(5,auto);column-gap:20px;margin:24px 0 0;padding:0;list-style:none}
.pj1-hpk-card{position:relative;display:grid;grid-row:span 5;grid-template-rows:subgrid;min-width:0;--hpk-kc:var(--th-accent)}
.pj1-hpk--dark .pj1-hpk-card{--hpk-kc:var(--th-glow)}
.pj1-hpk-card[hidden]{display:none}
.pj1-hpk-card__media{position:relative;display:block;aspect-ratio:4/5;margin-bottom:16px;overflow:hidden;background:var(--th-ink) radial-gradient(120% 80% at 30% 20%,color-mix(in srgb,var(--th-glow) 18%,#0000),#0000)}
.pj1-hpk-card__media::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--th-accent),var(--th-accent2))}
.pj1-hpk .pj1-hpk-card__img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--hpk-ease)}
.pj1-hpk-card:hover .pj1-hpk-card__img{transform:scale(1.04)}
.pj1-hpk-card__kicker{align-self:end;font:600 11px/1.4 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--hpk-kc)}
.pj1-lux .pj1-hpk-card__title{margin-top:6px;font-size:clamp(19px,.45vw + 13px,22px)!important;line-height:1.2!important;letter-spacing:-.01em;color:var(--hpk-text)!important;text-wrap:balance}
.pj1-hpk-card__title a{background:linear-gradient(var(--hpk-kc),var(--hpk-kc)) 0 100%/0 1px no-repeat;transition:background-size .24s var(--hpk-ease)}
.pj1-hpk-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.pj1-hpk-card:hover .pj1-hpk-card__title a{background-size:100% 1px}
.pj1-lux .pj1-hpk-card__title a:hover{color:inherit!important}
.pj1-hpk-card__meta{display:grid;align-content:start;margin-top:8px;font:400 13px/1.5 Inter,Arial,sans-serif;color:var(--hpk-sub)}
.pj1-hpk-card__local{color:var(--hpk-kc)}
.pj1-hpk-card__price{margin-top:14px;padding-top:12px;border-top:1px solid var(--hpk-line);font:500 18px/1.2 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums tabular-nums;color:var(--hpk-text)}
.pj1-hpk-card__from{margin-right:2px;font:600 11px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--hpk-sub)}
.pj1-lux.pj1-hpk .pj1-hpk-note{margin-top:clamp(32px,4vw,48px);max-width:96ch;font-size:13px!important;line-height:1.6!important}

/* focus: the title link's overlay is the card's click area, so its ring frames the whole card */
.pj1-home-refined .pj1-hpk :focus-visible{outline:2px solid var(--hpk-ring)!important;outline-offset:4px!important}
.pj1-home-refined .pj1-hpk-card a:focus-visible{outline:0!important}
.pj1-hpk-card__title a:focus-visible::after{outline:2px solid var(--hpk-ring);outline-offset:4px}

/* tablets and small laptops: a preview, not the catalogue - the first three of each row, landscape crops */
@media (min-width:761px) and (max-width:1239px){
.pj1-hpk .pj1-hpk-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.pj1-hpk-row>.pj1-hpk-card:nth-child(n+4){display:none}
.pj1-hpk-card__media{aspect-ratio:3/2}
}

/* phones (and narrow windows): a rail with scroll-snap, the next card peeking in, and the CTA after the rail.
   Mouse / trackpad users keep a thin scrollbar; on touch screens a "Swipe" hint and a progress line replace it. */
@media (max-width:760px){
.pj1-hpk-group{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "row" "progress" "cta"}
.pj1-lux .pj1-hpk-group__title{font-size:24px!important}
.pj1-hpk .pj1-hpk-group__cta.pj1-button{justify-self:start;margin-top:20px}
.pj1-hpk .pj1-hpk-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78vw,300px);column-gap:14px;margin:12px calc(-1*var(--pj-gutter)) 0;padding:8px var(--pj-gutter) 14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pj-gutter);scrollbar-width:thin;scrollbar-color:var(--hpk-sub) var(--hpk-line)}
.pj1-hpk-card{scroll-snap-align:start}
.pj1-hpk-card__media{aspect-ratio:4/3;margin-bottom:14px}
.pj1-hpk-card__price{margin-top:12px}
}
@media (max-width:760px) and (pointer:coarse){
.pj1-hpk-group__swipe{display:inline-flex;align-items:center;gap:8px;order:2;font:600 11px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--hpk-sub);white-space:nowrap}
.pj1-hpk-group__swipe::after{content:"\2192";font-size:15px;letter-spacing:0}
}
@supports (timeline-scope:--a) and (animation-timeline:scroll()){
@media (max-width:760px) and (pointer:coarse){
.pj1-hpk-group{timeline-scope:--hpk-rail}
.pj1-hpk .pj1-hpk-row{scroll-timeline:--hpk-rail x;scrollbar-width:none}
.pj1-hpk .pj1-hpk-row::-webkit-scrollbar{display:none}
.pj1-hpk-progress{grid-area:progress;display:block;height:2px;margin-top:2px;overflow:hidden;background:var(--hpk-line)}
.pj1-hpk-progress i{display:block;width:34%;height:100%;background:var(--hpk-kick);animation:pj1-hpk-rail linear both;animation-timeline:--hpk-rail}
}
}
@keyframes pj1-hpk-rail{to{transform:translateX(194%)}}
@media (prefers-reduced-motion:reduce){
.pj1-hpk .pj1-hpk-card__img,.pj1-hpk-card__title a{transition:none}
.pj1-hpk-card:hover .pj1-hpk-card__img{transform:none}
}
