/* Kyaro goodiebag V6 hero, programme, postage stamp + postmark, sticky bar, chooser. Needs goodiebag-base.css.
   Sticky bar + dialog are body-level: no transform/filter/overflow/contain on their ancestors. */
.gb-hero .gb__inner,.gb-programme .gb__inner{padding-inline:var(--gb-space-3)}
.gb-hero__grid{display:grid;gap:var(--gb-space-5)}
.gb-hero__main{min-width:0}
.gb-hero__main>*+*{margin-top:var(--gb-space-3)}
.gb-hero__main>.gb__label{display:flex;align-items:center;gap:var(--gb-space-2);color:var(--gb-blue-d)}
.gb-hero__main>.gb__label::after{content:"";flex:0 1 40px;height:1px;background:currentColor}
.gb-hero__head{position:relative;min-height:184px}
.gb-hero__title{padding-inline-end:158px;overflow-wrap:break-word}
.gb-hero__offer{max-width:30ch;font:700 clamp(1.125rem,4.6vw,1.5rem)/1.3 var(--gb-h);color:var(--gb-ink)}
.gb-hero__main>.gb__text{color:var(--gb-i2)}
.gb-hero__media{min-width:0}
.gb-hero__ctas{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--gb-space-2);max-width:480px}
.gb-hero__ctas .gb-btn{padding-inline:12px}
.gb-route__btn:only-child{grid-column:1/-1}
.gb-cal__icon{flex:0 0 20px;width:20px;height:20px}
.gb-hero__main>.gb-cal{margin-top:var(--gb-space-1)}
.gb .gb-cal__other{min-height:44px;padding:0 2px;border:0;background:none;color:var(--gb-i2);font:15px var(--gb-b);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gb-cal__noscript a{color:inherit;text-decoration:underline}
.no-js .gb-count,.no-js .gb-cal__other{display:none}
html.gb-ended .gb-hero :is(.gb-cal__btn,.gb-cal,.gb-count){display:none}
.gb-count__line,.gb-count__phase,.gb-count__open{font:700 15px/1.4 var(--gb-h);color:var(--gb-blue-d)}
.gb-count b{font-variant-numeric:tabular-nums}
.gb-count__sep,.gb-count__s{color:var(--gb-muted);font-weight:400}
.gb-ph--hero{aspect-ratio:4/5;width:100%}
/* postage stamp (static) + postmark (animated). Default state = final state. */
.gb-stamp-wrap{position:absolute;z-index:1;top:-4px;right:-6px;width:118px;height:148px;transform:rotate(3deg);pointer-events:none}
.gb-post{position:absolute;inset:0;font:700 9px/1.1 var(--gb-h);filter:drop-shadow(0 2px 3px #16191e38)}
.gb-post__p{--r:3px;--s:11px;--x:repeat-x;--y:repeat-y;--h:#0000 var(--r),#000 calc(var(--r) + .6px);height:100%;padding:8px;background:#fff;mask:radial-gradient(circle at 50% 0,var(--h)) 0 0/var(--s) 100% var(--x),radial-gradient(circle at 50% 100%,var(--h)) 0 0/var(--s) 100% var(--x),radial-gradient(circle at 0 50%,var(--h)) 0 0/100% var(--s) var(--y),radial-gradient(circle at 100% 50%,var(--h)) 0 0/100% var(--s) var(--y);mask-composite:intersect}
.gb-post__f{position:relative;display:flex;align-items:center;justify-content:center;height:100%;overflow:hidden;background:var(--gb-blue);color:var(--gb-paper);text-transform:uppercase;text-align:center}
.gb-post__f::after{content:"";position:absolute;inset:0;background:linear-gradient(#16191e66,#0000 35% 55%,#16191e99)}
.gb-post__f--t{background:repeating-radial-gradient(circle at 50% 130%,#0000 0 5px,#fff2 0 6px),var(--gb-blue)}
.gb-post__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gb-post__val,.gb-post__band{position:absolute;z-index:1}
.gb-post__val{top:.5em;right:.6em;font-size:1.9em;font-weight:800;text-shadow:0 1px 2px #0006}
.gb-post__f--t .gb-post__val{position:static;font-size:2.8em;text-shadow:none}
.gb-post__band{inset:auto 0 .5em;display:grid;gap:.3em;letter-spacing:.1em}
.gb-post__d{font-weight:400}
.gb-stamp{position:absolute;left:-44px;bottom:-30px;width:96px;height:96px;overflow:visible;color:#3a6699e8;transform:rotate(-12deg)}
.gb-stamp text{fill:currentColor;font-family:var(--gb-h);text-transform:uppercase}
.gb-stamp__ring{font-size:10.5px;font-weight:700;letter-spacing:.06em}
.gb-stamp__date{font-size:15px;font-weight:800}
.gb-stamp__time{font-size:12px;font-weight:700}
.gb-fx .gb-stamp{opacity:0;animation:gb-stamp-safe 0s 3.2s forwards}
.gb-fx.gb-fx-go .gb-stamp{animation:gb-drop .38s both}
.gb-fx.gb-fx-go [data-gb-ink]{animation:gb-ink .4s .26s linear backwards}
.gb-fx.gb-fx-go [data-gb-jolt]{animation:gb-jolt .12s .23s ease-out}
@keyframes gb-stamp-safe{to{opacity:1}}
@keyframes gb-drop{0%{opacity:0;transform:rotate(-24deg) scale(1.8);animation-timing-function:cubic-bezier(.5,0,.9,.4)}60%{opacity:1;transform:rotate(-10deg) scale(.95);animation-timing-function:ease-out}100%{opacity:1;transform:rotate(-12deg)}}
@keyframes gb-ink{from{opacity:.4}}
@keyframes gb-jolt{50%{transform:translate(1px,2px)}}
.gb-programme .gb__label{padding-bottom:var(--gb-space-3);border-bottom:1px solid var(--gb-ink)}
.gb-prog{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--gb-ink)}
.gb-prog__row{position:relative;display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr);gap:var(--gb-space-2) var(--gb-space-3);align-items:baseline;padding:var(--gb-space-4) 0}
.gb-prog__row+.gb-prog__row::before,.gb-prog__time::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:radial-gradient(circle,var(--gb-hair) 1.3px,#0000 1.7px) 0 0/9px 3px repeat-x}
.gb-prog__time{font:800 clamp(2.25rem,11vw,3rem)/1 var(--gb-h);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--gb-blue)}
.gb-prog__time::after{display:none}
.gb-prog__body>*+*{margin-top:var(--gb-space-1)}
.gb-prog__text{color:var(--gb-i2)}
.gb-prog__media{grid-column:1/-1;margin-top:var(--gb-space-2)}
.gb-ph.gb-prog__media{aspect-ratio:3/2}
.gb-prog__note{margin-top:var(--gb-space-4)}
.gb.gb-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:85dvh;margin:0;padding:0;overflow:auto;border:0;border-radius:var(--gb-radius-2) var(--gb-radius-2) 0 0;background:var(--gb-card);color:var(--gb-ink)}
.gb-sheet::backdrop{background:rgba(13,15,18,.5)}
.gb-sheet__in{padding:var(--gb-space-4) var(--gb-space-3) calc(var(--gb-space-4) + env(safe-area-inset-bottom))}
.gb-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--gb-space-3);margin-bottom:var(--gb-space-2)}
.gb .gb-sheet__title{font:800 1.5rem/1.1 var(--gb-h);text-transform:none}
.gb .gb-sheet__close{display:grid;place-items:center;flex:0 0 48px;height:48px;padding:0;border:1px solid var(--gb-hair);border-radius:50%;background:none;color:var(--gb-ink);cursor:pointer}
.gb-sheet__close svg{width:20px;height:20px}
.gb-sheet__list{margin:0;padding:0;list-style:none}
.gb-sheet__list li+li{border-top:1px solid var(--gb-hair)}
.gb .gb-opt{display:flex;align-items:center;gap:var(--gb-space-3);width:100%;min-height:56px;padding:8px 4px;border:0;background:none;color:var(--gb-ink);font:700 16px/1.3 var(--gb-b);text-align:left;text-decoration:none;cursor:pointer}
.gb-opt__icon{flex:0 0 24px;width:24px;height:24px;color:var(--gb-blue-d)}
.gb-opt__label small{display:block;font-weight:400;font-size:14px;color:var(--gb-muted)}
.gb-sheet__hint{margin-top:var(--gb-space-3);font-size:14px;color:var(--gb-muted)}
.gb.gb-sticky{position:fixed;inset-inline:0;bottom:0;z-index:5000;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px var(--gb-space-3) calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--gb-ink);background:var(--gb-paper);box-shadow:0 -4px 12px rgba(20,22,26,.06);transform:translateY(calc(100% + env(safe-area-inset-bottom)));visibility:hidden}
.gb.gb-sticky.is-shown{transform:none;visibility:visible}
.gb-sticky__text{font:700 15px/1.2 var(--gb-h);white-space:nowrap}
.gb .gb-sticky__btn{flex:0 1 auto;min-height:48px}
html.gb-sticky-on{scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom))}
@media (max-width:399px){.gb-hero__ctas .gb-cal__icon{display:none}}
@media (min-width:768px){
.gb-hero__ctas{grid-template-columns:auto auto;justify-content:start}
.gb .gb-hero__ctas .gb-btn{padding-inline:24px}
.gb.gb-sheet{inset:0;width:440px;height:fit-content;margin:auto;border-radius:var(--gb-radius-2)}
.gb.gb-sticky{display:none}
}
@media (min-width:990px){
.gb-hero__grid{position:relative;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gb-space-4);align-items:start}
.gb-hero__main{grid-column:1/11}
.gb-hero__grid--photo .gb-hero__main{grid-column:1/8}
.gb-hero__media{grid-column:8/13}
.gb-hero__head{min-height:0}
.gb-stamp-wrap{width:190px;height:238px}
.gb-post{font-size:14px}
.gb-post__p{--r:4.5px;--s:15px;padding:12px}
.gb-stamp{left:-62px;bottom:-36px;width:140px;height:140px}
.gb-hero__grid:not(.gb-hero__grid--photo) .gb-hero__head{position:static}
.gb-hero__grid:not(.gb-hero__grid--photo) .gb-stamp-wrap{top:0;right:0}
.gb-hero__grid:not(.gb-hero__grid--photo) .gb-hero__title{padding-inline-end:64px}
.gb-hero__grid--photo .gb-stamp-wrap{top:var(--gb-space-4);right:-95px}
.gb-hero__grid--photo .gb-hero__title{padding-inline-end:170px}
.gb-prog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gb-space-4);border:0;padding-top:var(--gb-space-4)}
.gb-prog__row{display:flex;flex-direction:column;align-items:stretch;gap:var(--gb-space-3);padding:var(--gb-space-4);border:1px solid var(--gb-ink);background:var(--gb-card)}
.gb-prog__row+.gb-prog__row::before{display:none}
.gb-prog__time{font-size:3.5rem;padding-bottom:var(--gb-space-3);position:relative}
.gb-prog__time::after{display:block;inset:auto 0 0}
.gb-prog__media{order:-1;margin:calc(var(--gb-space-4) * -1) calc(var(--gb-space-4) * -1) 0}
.gb-prog__media img{border-width:0 0 1px}
}
@media (prefers-reduced-motion:reduce){html.gb-fx .gb-stamp{opacity:1}}
