/* ETAP5: one geometry contract per photo and program. */
.pk-photo{display:block;width:100%;min-width:0;line-height:0}
.pk-photo img{display:block;width:100%;max-width:100%}
.pk-photo-failed{display:none!important}
.pk-photo-error{display:block;padding:.75rem 1rem;font:600 .875rem/1.4 'DM Sans',sans-serif;color:#173955;background:#fff3cc;max-width:100%;box-sizing:border-box}
/* Remove guessed 900px boxes; native lazy still saves image transfers. */
body.vibrant.rc8 main :is(.home-band,.section,.art-world,.offer-paths,.promotions-section,.home-story,.home-play-break,.offer-section,.offer-visual-band){content-visibility:visible;contain-intrinsic-size:none}
body.vibrant.rc8 :is(.visual-frame,.home-moments-grid figure){align-self:start;transform:none!important;border-radius:1.5rem}
body.vibrant.rc8 :is(.visual-frame,.home-moments-grid figure) button,body.vibrant.rc8 .home-moments-grid figure:first-child button,body.vibrant.rc8 .visual-frame.frame-1 button{display:block;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:4/3;padding:0;line-height:0;overflow:hidden}
body.vibrant.rc8 :is(.visual-frame,.home-moments-grid figure) button>.pk-photo{position:absolute;inset:0;height:100%}
body.vibrant.rc8 :is(.visual-frame,.home-moments-grid figure) button img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
body.vibrant.rc8 .visual-frame button img.photo-contain{object-fit:contain;background:#fffaf0}
body.vibrant.rc8 .visual-story-stage{grid-template-rows:auto;grid-auto-rows:auto;align-items:start}
body.vibrant.rc8 .promo-event .promo-media{display:block;align-self:start;height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:0;background:#fffaf0;line-height:0}
body.vibrant.rc8 .promo-event .promo-media img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:1672/941}
body.vibrant.rc8 .promo-event .promo-copy{min-width:0}
body.vibrant.rc8 .offer-accordion{--program-tone:#fff0bd;background:#fffaf0;border:2px solid #17395524;border-radius:1.5rem;margin:0 0 1rem;overflow:visible;scroll-margin-top:calc(var(--rc9-header-height) + 1rem)}
body.vibrant.rc8 .offer-accordion:nth-child(4n+2){--program-tone:#ccebdd}
body.vibrant.rc8 .offer-accordion:nth-child(4n+3){--program-tone:#dfd2f0}
body.vibrant.rc8 .offer-accordion:nth-child(4n){--program-tone:#f9d5c5}
body.vibrant.rc8 .offer-accordion-list .offer-summary{display:grid;grid-template-columns:2.75rem minmax(0,1fr) minmax(9rem,auto) 2.5rem;grid-template-rows:auto auto;gap:.5rem 1rem;align-items:center;background:var(--program-tone);color:#173955;border-radius:1.35rem;padding:1.25rem;list-style:none;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere}
body.vibrant.rc8 .offer-summary::-webkit-details-marker{display:none}
body.vibrant.rc8 .offer-summary>*{min-width:0;max-width:100%;white-space:normal;box-sizing:border-box}
body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-number{grid-area:1/1/3/2;width:2.5rem;height:2.5rem;display:grid;place-items:center;background:#173955;color:#fffaf0;border-radius:50%;font-size:1rem}
body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-title{grid-area:1/2/2/3;font-size:clamp(1.125rem,1rem + .5vw,1.5rem);line-height:1.25;overflow-wrap:anywhere}
body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-meta{grid-area:1/3/3/4;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.125rem;font-size:1rem;line-height:1.4}
body.vibrant.rc8 .offer-summary-meta strong{color:#173955;font-size:1.5rem;line-height:1.2}
body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-toggle{grid-area:1/4/3/5;display:grid;place-items:center;background:#1455c5;color:white;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.75rem;transform:none}
body.vibrant.rc8 .offer-accordion[open] .offer-toggle{transform:rotate(45deg)}
body.vibrant.rc8 .offer-disclosure-label{grid-area:2/2/3/3;font-size:.875rem;line-height:1.4;font-weight:700;text-decoration:underline;text-underline-offset:3px}
body.vibrant.rc8 .offer-accordion[open]>.offer-summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:2px solid #17395524}
body.vibrant.rc8 .offer-body{padding:clamp(1rem,3vw,2rem)}
body.vibrant.rc8 .offer-body-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);gap:1.5rem;align-items:start}
body.vibrant.rc8 .offer-program-copy{min-width:0}
body.vibrant.rc8 .offer-program-copy :is(p,li){font-size:1rem;line-height:1.5;margin-block:.4rem;overflow-wrap:anywhere}
body.vibrant.rc8 .offer-program-copy h3{font-family:'DM Sans',sans-serif;font-size:1.125rem;line-height:1.3;margin:0 0 .75rem;color:#173955}
body.vibrant.rc8 .offer-program-copy ul{padding-left:1.25rem;margin:.5rem 0}
body.vibrant.rc8 .offer-program-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem;margin-block:1rem}
body.vibrant.rc8 .offer-program-block{background:var(--program-tone);border-radius:1rem;padding:1rem;min-width:0}
body.vibrant.rc8 .offer-program-info{border-left:3px solid #1455c5;padding:.5rem 1rem;margin:1rem 0}
body.vibrant.rc8 .offer-program-photo{margin:0;min-width:0;border-radius:1rem;overflow:hidden;background:var(--program-tone)}
body.vibrant.rc8 .offer-program-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.vibrant.rc8 .offer-program-photo img[src$=".svg"]{object-fit:contain}
body.vibrant.rc8 .offer-program-cta{background:#1455c5;color:#fff;border:2px solid #173955;font-weight:800;box-shadow:3px 3px 0 #173955;min-height:3rem;margin-top:.75rem}
body.vibrant.rc8 .rc8-exclusive summary{background:#ffda24;color:#173955;border-radius:.75rem;padding:.75rem 1rem;font-weight:800;width:fit-content;max-width:100%}
body.vibrant.rc8 .rc8-exclusive summary:focus-visible{outline:3px solid white;outline-offset:4px}
body.vibrant.rc8 .offer-official{min-width:0;overflow-wrap:anywhere}
@media(max-width:60rem){body.vibrant.rc8 .offer-body-grid{grid-template-columns:minmax(0,1fr)}body.vibrant.rc8 .offer-program-photo{max-width:32rem;width:100%;justify-self:center}}
@media(max-width:48rem){
 body.vibrant.rc8 .promo-event{grid-template-columns:minmax(0,1fr)}
 body.vibrant.rc8 #urodziny .birthday-photos{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;height:auto;min-height:0;padding:0;transform:none}
 body.vibrant.rc8 #urodziny .birthday-photos :is(.birthday-main,.birthday-small){position:static;inset:auto;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transform:none;margin:0;box-sizing:border-box}
 body.vibrant.rc8 #urodziny .photo-sticker{position:static;inset:auto;margin:.25rem 0 1rem;transform:none;max-width:100%;white-space:normal}
 body.vibrant.rc8 .art-offer-hero .art-page-scene{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding-bottom:1rem}
 body.vibrant.rc8 .art-offer-hero .rc8-birthday-overlay{position:static;inset:auto;display:block;width:100%;max-width:100%;margin:0;transform:none;box-sizing:border-box}
 body.vibrant.rc8 .rc8-birthday-overlay .owner-photo{width:100%;height:auto;aspect-ratio:4/3}
 body.vibrant.rc8 .rc8-birthday-overlay img{width:100%;height:100%;object-fit:cover}
 body.vibrant.rc8 .art-offer-hero :is(.art-party,.art-page-stamp){display:none}
 body.vibrant.rc8 .vibrant-hero-play .vibrant-hero-scene{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem 0;height:auto;min-height:0}
 body.vibrant.rc8 .vibrant-hero-play :is(.vibrant-hero-main,.vibrant-hero-small){position:static;inset:auto;justify-self:center;width:100%;max-width:100%;margin:0;transform:none!important;box-sizing:border-box}
 body.vibrant.rc8 .vibrant-hero-play .vibrant-hero-small img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
 body.vibrant.rc8 .vibrant-hero-play :is(.vibrant-hero-stamp,.vibrant-hero-orbit){display:none}
 body.vibrant.rc8 .offer-accordion-list .offer-summary{grid-template-columns:2rem minmax(0,1fr) 2rem;grid-template-rows:auto auto auto;gap:.5rem;padding:1rem}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-number{grid-area:1/1/2/2;width:2rem;height:2rem;font-size:.875rem}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-title{grid-area:1/2/2/3;overflow-wrap:anywhere}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-meta{grid-area:2/2/3/4;display:flex;flex-wrap:wrap;flex-direction:row;gap:.25rem .75rem}
 body.vibrant.rc8 .offer-summary-meta>span{flex-basis:100%}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-toggle{grid-area:1/3/2/4;width:2rem;height:2rem}
 body.vibrant.rc8 .offer-disclosure-label{grid-area:3/2/4/4}
 body.vibrant.rc8 .visual-story-stage{padding:.5rem 0;gap:1.25rem}
 body.vibrant.rc8 .home-moments-grid{gap:1.25rem}
 body.vibrant.rc8 .offer-visual-band:nth-of-type(even){background:#e4f1eb}
}
body.vibrant.rc8 .rc9-camp-story-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:start}
body.vibrant.rc8 .rc9-camp-story-grid figure{margin:0;min-width:0;border-radius:1.5rem;overflow:hidden;background:#fffaf0}
body.vibrant.rc8 .rc9-camp-story-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.vibrant.rc8 .rc9-camp-story-grid figcaption{padding:.75rem 1rem;font-size:.875rem;line-height:1.5}
body.vibrant.rc8 .rc9-camp-activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;margin-block:1.5rem}
body.vibrant.rc8 .rc9-camp-activity-grid article{border-radius:1.5rem;padding:1.5rem;background:#ccebdd}
body.vibrant.rc8 .rc9-camp-activity-grid article:nth-child(2){background:#dfd2f0}
body.vibrant.rc8 .rc9-camp-activity-grid h3{font-size:1.25rem;line-height:1.3}
body.vibrant.rc8 .rc8-care-notes ul{font-size:1rem;line-height:1.55;padding-left:1.25rem}
body.vibrant.rc8 .rc8-camp-care{background:#fff0bd;border-radius:2rem;padding:clamp(1.25rem,3.8vw,3rem);overflow:hidden;max-width:100%}
body.vibrant.rc8 .rc9-camp-why{margin-top:1rem}
@media(max-width:48rem){body.vibrant.rc8 .rc9-camp-story-grid{grid-template-columns:minmax(0,1fr)}body.vibrant.rc8 .vibrant-hero-play :is(.vibrant-sticker,.vibrant-doodle){width:4rem;height:4rem;pointer-events:none}}
/* Compact failure surfaces; retain the full source only in the audit/registry. */
body.vibrant.rc8 .pk-media-failed{height:auto!important;min-height:0!important;aspect-ratio:auto!important;background:#fff3cc}
body.vibrant.rc8 .pk-media-failed .pk-photo-error{position:static;line-height:1.4}
/* Keep control tracks stable while text doubles; let words and prices wrap. */
@media(max-width:48rem){
 body.vibrant.rc8 .offer-accordion-list .offer-summary{grid-template-columns:32px minmax(0,1fr) 32px;padding:16px;gap:8px}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-number,body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-toggle{width:32px;height:32px;font-size:20px;min-width:0}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-meta{grid-area:2/1/3/4;min-width:0;max-width:100%;overflow-wrap:anywhere}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-disclosure-label{grid-area:3/1/4/4}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-title{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
 body.vibrant.rc8 .offer-summary-meta :is(strong,span,small){min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
}
body.vibrant.rc8 .rc8-camp-care>*{min-width:0}
body.vibrant.rc8 .rc8-camp-care :is(p,li,h2,h3){overflow-wrap:anywhere;max-width:100%}
body.vibrant.rc8 .rc8-camp-care{box-sizing:border-box}
/* Essential content never depends on an observer or an entrance animation. */
body.vibrant.rc8 .reveal{opacity:1!important;transform:none!important}
