/* ETAP19: shared product controls and surfaces. Content reflows; no clipping fix. */
:root{
 --pk-ink:#173955;--pk-blue:#1455c5;--pk-yellow:#ffda24;
 --pk-cream:#fffaf0;--pk-mint:#ccebdd;--pk-lilac:#dfd2f0;
 --pk-radius-control:1rem;--pk-radius-card:1.5rem;
 --pk-space-control:.75rem;--pk-focus:3px solid var(--pk-ink);
}
body.vibrant.rc8 :is(.btn,.calc-copy){
 border-radius:var(--pk-radius-control);min-height:48px;
 line-height:1.4;white-space:normal;max-width:100%;
 padding:.75rem 1rem;box-sizing:border-box;overflow-wrap:anywhere;
}
body.vibrant.rc8 .btn-blue{background:var(--pk-blue);color:#fff;border:2px solid var(--pk-ink)}
body.vibrant.rc8 .btn-yellow{background:var(--pk-yellow);color:var(--pk-ink);border:2px solid var(--pk-ink)}
body.vibrant.rc8 :is(.btn,.calc-copy):active{transform:translateY(1px);box-shadow:none}
body.vibrant.rc8 :is(a,button,input,select,textarea,summary):focus-visible{
 outline:var(--pk-focus);outline-offset:3px;box-shadow:0 0 0 6px var(--pk-cream);
}
body.vibrant.rc8 main :is(.offer-table tbody th a,.faq-list p a,.read-notice a){
 display:inline-flex;align-items:center;min-height:44px;min-width:44px;
 max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5;
}
/* Scrolling must not shrink a 44px brand link below its touch requirement. */
body.vibrant.rc8 .site-header.is-scrolled .wordmark{transform:none}
body.vibrant.rc8 .site-header .wordmark{min-height:44px}
/* A slightly transformed attraction card must still expose a full touch area. */
body.vibrant.rc8 .quiet-link{min-height:48px}
body.vibrant.rc8 :is(.faq-list details,.offer-faq details,.contact-actions-23,.visit-plan-23){border-radius:var(--pk-radius-card)}
body.vibrant.rc8 .faq-list details{background:var(--pk-cream);border:1px solid #17395533}
body.vibrant.rc8 .faq-list section:nth-child(2n) details{background:#e8f3ed}
body.vibrant.rc8 .contact-actions-23{background:#e6f1fa;border-color:#17395540}
body.vibrant.rc8 .visit-plan-23{background:#fff0bd;border-color:#d4b957}
body.vibrant.rc8 .visit-prices>div:nth-child(2n){background:#e8f3ed}
/* At narrow widths reserve a whole row for long Polish program names, including
   doubled text. The disclosure remains one native, full-size summary target. */
@media(max-width:430px){
 body.vibrant.rc8 .offer-accordion-list .offer-summary{grid-template-rows:auto auto auto auto}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-number{grid-area:1/1/2/2}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-toggle{grid-area:1/3/2/4}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-title{grid-area:2/1/3/4}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-summary-meta{grid-area:3/1/4/4}
 body.vibrant.rc8 .offer-accordion-list .offer-summary>.offer-disclosure-label{grid-area:4/1/5/4}
}
/* A sticky header must leave room for content and the keyboard on short screens. */
@media(max-height:500px){:root{--rc9-header-height:0px!important}body.vibrant.rc8 .site-header{position:relative}}
@media(hover:hover){
 body.vibrant.rc8 .btn-blue:hover{background:#103f91}
 body.vibrant.rc8 .btn-yellow:hover{background:#f2c900}
}
@media(prefers-reduced-motion:reduce){
 body.vibrant.rc8 :is(.btn,.calc-copy):active{transform:none}
}

/* News captions need real document height as text grows. Both photographs keep
   their dedicated source; decorated frames remain, while their captions reflow. */
body.vibrant.rc8 .art-news-intro .art-page-scene{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;align-items:start;height:auto;min-height:0;padding-bottom:1rem}
body.vibrant.rc8 .art-news-intro .art-page-scene :is(.art-page-main-photo,.art-page-small-photo){position:relative;inset:auto;width:100%;max-width:100%;height:auto!important;min-height:0;margin:0;transform:none;box-sizing:border-box}
body.vibrant.rc8 .art-news-intro .art-page-small-photo{display:flex;flex-direction:column;padding:.5rem}
body.vibrant.rc8 .art-news-intro .art-page-small-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
body.vibrant.rc8 .art-news-intro .art-page-small-photo figcaption{position:static;padding:.5rem;font-size:1rem;line-height:1.5;white-space:normal;overflow-wrap:break-word}
@media(max-width:760px){body.vibrant.rc8 .art-news-intro .art-page-scene{grid-template-columns:minmax(0,1fr)}body.vibrant.rc8 .art-news-intro .art-page-small-photo img{aspect-ratio:4/3}}

/* Final scoped regressions: retain text in nested error heroes; preserve touch
   area under the existing reveal transform in the coming-soon cards. */
body.vibrant.rc8 .prose-page .page-hero-copy .eyebrow{display:inline-block;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
body.vibrant.rc8 .rc9-coming-grid .quiet-link{min-height:48px}
