/* ===========================================================================
   RCNT — własne bloki treści + style natywnych bloków
   Zakres: kolor akcentu pobierany z var(--art-accent) (kontekst filaru),
   z bezpiecznym fallbackiem dla edytora i stron bez akcentu.
   ======================================================================== */

.rcnt-block { --acc: var(--art-accent, #22D3EE); margin: 34px 0; }
.rcnt-block:first-child { margin-top: 0; }

/* --------------------------------------------------------------- Cytat --- */
.rcnt-bquote { position: relative; }
.rcnt-bquote__mark { font-family: var(--f-display); font-size: 64px; line-height: 0.5; color: color-mix(in srgb, var(--acc) 55%, transparent); display: block; height: 26px; }
.rcnt-bquote__text { margin: 0; padding: 0; border: 0; font-family: var(--f-display); font-weight: 400; color: #0A1628; letter-spacing: -0.01em; }
.rcnt-bquote__cite { margin-top: 16px; display: flex; flex-direction: column; gap: 2px; }
.rcnt-bquote__author { font-weight: 600; color: #0A1628; font-size: 15px; }
.rcnt-bquote__role { font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; color: #64748B; }

.rcnt-bquote--accent { padding-left: 28px; border-left: 3px solid var(--acc); }
.rcnt-bquote--accent .rcnt-bquote__mark { display: none; }
.rcnt-bquote--accent .rcnt-bquote__text { font-size: clamp(20px, 2.6vw, 26px); line-height: 1.42; }

.rcnt-bquote--duzy { text-align: center; padding: 8px 4%; }
.rcnt-bquote--duzy .rcnt-bquote__text { font-size: clamp(24px, 4vw, 38px); line-height: 1.28; }
.rcnt-bquote--duzy .rcnt-bquote__cite { align-items: center; }

.rcnt-bquote--karta { padding: 34px 36px; border-radius: 20px; background:
	radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--acc) 9%, #fff), transparent 55%), #fff;
	border: 1px solid color-mix(in srgb, var(--acc) 16%, #E6EAF0); box-shadow: 0 24px 50px -34px color-mix(in srgb, var(--acc) 50%, rgba(10,22,40,.5)); }
.rcnt-bquote--karta .rcnt-bquote__text { font-size: clamp(20px, 2.4vw, 25px); line-height: 1.4; }

.rcnt-bquote--autor { display: grid; grid-template-columns: 72px 1fr; gap: 22px; align-items: center; padding: 28px 30px; border-radius: 20px; background: #fff; border: 1px solid color-mix(in srgb, var(--acc) 16%, #E6EAF0); box-shadow: 0 24px 50px -34px color-mix(in srgb, var(--acc) 50%, rgba(10,22,40,.5)); }
.rcnt-bquote--autor .rcnt-bquote__mark { display: none; }
.rcnt-bquote--autor .rcnt-bquote__avatar img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px color-mix(in srgb, var(--acc) 30%, transparent); }
.rcnt-bquote--autor .rcnt-bquote__text { font-size: clamp(17px, 2vw, 20px); line-height: 1.45; }
@media (max-width: 560px) { .rcnt-bquote--autor { grid-template-columns: 1fr; text-align: left; } }

/* ----------------------------------------------------- Box informacyjny --- */
.rcnt-bcallout { --tone: var(--acc); display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; padding: 22px 24px; border-radius: 16px;
	background: linear-gradient(180deg, color-mix(in srgb, var(--tone) 9%, #fff), color-mix(in srgb, var(--tone) 4%, #fff));
	border: 1px solid color-mix(in srgb, var(--tone) 26%, transparent); }
.rcnt-bcallout--info { --tone: var(--acc); }
.rcnt-bcallout--wskazowka { --tone: #F59E0B; }
.rcnt-bcallout--sukces { --tone: #10B981; }
.rcnt-bcallout--uwaga { --tone: #EF4444; }
.rcnt-bcallout__icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: #fff;
	background: linear-gradient(135deg, var(--tone), color-mix(in srgb, var(--tone) 65%, #fff)); box-shadow: 0 8px 18px -8px var(--tone); }
.rcnt-bcallout__title { margin: 2px 0 6px; font-family: var(--f-display); font-weight: 600; font-size: 17px; color: color-mix(in srgb, var(--tone) 45%, #0A1628); }
.rcnt-bcallout__text { font-size: 15px; line-height: 1.6; color: #334155; }
.rcnt-bcallout__text p { margin: 0 0 8px; }
.rcnt-bcallout__text p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------- Statystyki --- */
.rcnt-bstats { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.rcnt-bstats--cols-2 { grid-template-columns: repeat(2, 1fr); }
.rcnt-bstats--cols-4 { grid-template-columns: repeat(4, 1fr); }
.rcnt-bstats__item { padding: 24px 20px; border-radius: 16px; text-align: center;
	background: radial-gradient(130% 130% at 50% 0%, color-mix(in srgb, var(--acc) 8%, #fff), #fff);
	border: 1px solid color-mix(in srgb, var(--acc) 14%, #E6EAF0); }
.rcnt-bstats__num { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.02em; line-height: 1; font-size: clamp(34px, 5vw, 48px);
	background: linear-gradient(135deg, var(--acc), color-mix(in srgb, var(--acc) 55%, #0A1628)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rcnt-bstats__suffix { font-size: 0.55em; margin-left: 2px; }
.rcnt-bstats__label { margin-top: 8px; font-size: 13px; line-height: 1.4; color: #475569; }
@media (max-width: 680px) { .rcnt-bstats, .rcnt-bstats--cols-4 { grid-template-columns: repeat(2, 1fr); } }

/* ------------------------------------------------------- Kluczowe dane --- */
.rcnt-bfacts { position: relative; border-radius: 20px; overflow: hidden;
	background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--acc) 10%, #fff), transparent 55%), linear-gradient(180deg, #fff, color-mix(in srgb, var(--acc) 4%, #fff));
	border: 1px solid color-mix(in srgb, var(--acc) 16%, #E6EAF0); box-shadow: 0 12px 28px -24px color-mix(in srgb, var(--acc) 36%, rgba(10,22,40,.45)); }
.rcnt-bfacts::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--acc), color-mix(in srgb, var(--acc) 35%, #fff)); }
.rcnt-bfacts__head { padding: 18px 26px 0; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: color-mix(in srgb, var(--acc) 52%, #0A1628); }
.rcnt-bfacts__list { margin: 0; padding: 8px 0; }
.rcnt-bfacts__row { display: grid; grid-template-columns: 32% 1fr; gap: 8px; padding: 14px 26px; border-top: 1px solid color-mix(in srgb, var(--acc) 9%, #EEF2F7); transition: background .18s ease; }
.rcnt-bfacts__row:first-child { border-top: 0; }
.rcnt-bfacts__row:hover { background: color-mix(in srgb, var(--acc) 5%, transparent); }
.rcnt-bfacts__label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; color: color-mix(in srgb, var(--acc) 52%, #0A1628); align-self: center; }
.rcnt-bfacts__value { margin: 0; font-size: 16px; font-weight: 500; color: #1E293B; line-height: 1.5; }
@media (max-width: 560px) { .rcnt-bfacts__row { grid-template-columns: 1fr; gap: 2px; } }

/* ---------------------------------------------------------------- CTA --- */
.rcnt-bcta { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 30px 34px; border-radius: 20px; }
.rcnt-bcta__title { margin: 0 0 6px; font-family: var(--f-display); font-weight: 600; font-size: clamp(19px, 2.4vw, 24px); letter-spacing: -0.01em; }
.rcnt-bcta__text { margin: 0; font-size: 15px; line-height: 1.55; opacity: 0.92; }
.rcnt-bcta__copy { flex: 1 1 320px; }
.rcnt-bcta__btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; font-weight: 600; font-size: 15px; transition: transform .15s ease, filter .2s ease, box-shadow .2s ease; }
.rcnt-bcta__btn:hover { transform: translateY(-2px); }
.rcnt-bcta--gradient { color: #fff; background: linear-gradient(120deg, color-mix(in srgb, var(--acc) 88%, #0A1628), var(--acc)); box-shadow: 0 26px 50px -28px var(--acc); }
.rcnt-bcta--gradient .rcnt-bcta__title { color: #fff; }
.rcnt-bcta--gradient .rcnt-bcta__btn { background: #fff; color: #0A1628; }
.rcnt-bcta--gradient .rcnt-bcta__btn:hover { box-shadow: 0 12px 28px -10px rgba(0,0,0,.4); }
.rcnt-bcta--solid { color: #fff; background: var(--acc); }
.rcnt-bcta--solid .rcnt-bcta__title { color: #fff; }
.rcnt-bcta--solid .rcnt-bcta__btn { background: rgba(255,255,255,.16); color: #fff; backdrop-filter: blur(6px); }
.rcnt-bcta--outline { background: color-mix(in srgb, var(--acc) 5%, #fff); border: 1px solid color-mix(in srgb, var(--acc) 28%, transparent); color: #0A1628; }
.rcnt-bcta--outline .rcnt-bcta__title { color: #0A1628; }
.rcnt-bcta--outline .rcnt-bcta__btn { background: var(--acc); color: #fff; }

/* ------------------------------------------------------------ Galeria --- */
.rcnt-bgallery--empty { padding: 28px; border: 1px dashed color-mix(in srgb, var(--acc) 35%, #cbd5e1); border-radius: 16px; color: #64748B; font-size: 14px; text-align: center; }
.rcnt-bgallery__item { margin: 0; }
.rcnt-bgallery__link { position: relative; display: block; overflow: hidden; border-radius: 14px; }
.rcnt-bgallery__link img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s cubic-bezier(.2,.7,.2,1); border-radius: 14px; }
.rcnt-bgallery__link:hover img { transform: scale(1.05); }
.rcnt-bgallery__zoom { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: color-mix(in srgb, var(--acc) 30%, rgba(10,22,40,.35)); opacity: 0; transition: opacity .25s ease; }
.rcnt-bgallery__link:hover .rcnt-bgallery__zoom { opacity: 1; }
.rcnt-bgallery__cap { margin-top: 8px; font-size: 12px; color: #64748B; }
.rcnt-bgallery--siatka { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.rcnt-bgallery--siatka .rcnt-bgallery__link { aspect-ratio: 4/3; }
.rcnt-bgallery--mozaika { columns: 3; column-gap: 12px; }
.rcnt-bgallery--mozaika .rcnt-bgallery__item { break-inside: avoid; margin-bottom: 12px; }
.rcnt-bgallery--pasek { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; -webkit-overflow-scrolling: touch; }
.rcnt-bgallery--pasek .rcnt-bgallery__item { flex: 0 0 72%; max-width: 420px; scroll-snap-align: start; }
.rcnt-bgallery--pasek .rcnt-bgallery__link { aspect-ratio: 3/2; }
@media (max-width: 680px) { .rcnt-bgallery--mozaika { columns: 2; } }
@media (max-width: 460px) { .rcnt-bgallery--mozaika { columns: 1; } }

/* lightbox */
.rcnt-lightbox { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(6,16,30,.92); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.rcnt-lightbox.is-open { opacity: 1; visibility: visible; }
.rcnt-lightbox img { max-width: 92vw; max-height: 88vh; border-radius: 12px; box-shadow: 0 40px 80px -20px rgba(0,0,0,.7); }
.rcnt-lightbox__close { position: absolute; top: 20px; right: 24px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 22px; cursor: pointer; display: grid; place-items: center; }
.rcnt-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; display: grid; place-items: center; }
.rcnt-lightbox__nav--prev { left: 18px; }
.rcnt-lightbox__nav--next { right: 18px; }

/* --------------------------------------------------------- Akordeon --- */
.rcnt-baccordion { display: flex; flex-direction: column; gap: 10px; }
.rcnt-baccordion .rcnt-faq { --acc: var(--art-accent, #22D3EE); border-radius: 14px; background: #fff; border: 1px solid color-mix(in srgb, var(--acc) 16%, #E6EAF0); overflow: hidden; }
.rcnt-baccordion .rcnt-faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; background: none; border: 0; cursor: pointer; text-align: left; font-family: var(--f-display); font-weight: 500; font-size: 16px; color: #0A1628; }
.rcnt-baccordion .rcnt-faq__icon { flex: 0 0 auto; color: var(--acc); transition: transform .3s ease; }
.rcnt-baccordion .rcnt-faq__q[aria-expanded="true"] { color: var(--acc); }
.rcnt-baccordion .rcnt-faq__q[aria-expanded="true"] .rcnt-faq__icon { transform: rotate(180deg); }
.rcnt-baccordion .rcnt-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.rcnt-baccordion .rcnt-faq__q[aria-expanded="true"] + .rcnt-faq__a { grid-template-rows: 1fr; }
.rcnt-baccordion .rcnt-faq__a-inner { overflow: hidden; }
.rcnt-baccordion .rcnt-faq__a-inner p { margin: 0; padding: 0 22px 20px; font-size: 15px; line-height: 1.65; color: #475569; }

/* ----------------------------------------------------------- Oś czasu --- */
.rcnt-btimeline { list-style: none; margin: 0; padding: 0 0 0 6px; position: relative; }
.rcnt-btimeline::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 2px; background: linear-gradient(180deg, var(--acc), color-mix(in srgb, var(--acc) 15%, transparent)); }
.rcnt-btimeline__item { position: relative; padding: 0 0 26px 30px; }
.rcnt-btimeline__item:last-child { padding-bottom: 0; }
.rcnt-btimeline__dot { position: absolute; left: -1px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--acc); box-shadow: 0 0 0 4px color-mix(in srgb, var(--acc) 16%, transparent); transform: translateX(-50%); }
.rcnt-btimeline__date { display: inline-block; margin-bottom: 4px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: color-mix(in srgb, var(--acc) 55%, #0A1628); }
.rcnt-btimeline__title { margin: 0 0 4px; font-family: var(--f-display); font-weight: 600; font-size: 18px; color: #0A1628; }
.rcnt-btimeline__text { margin: 0; font-size: 15px; line-height: 1.6; color: #475569; }

/* --------------------------------------------------- Kafelki/wyróżniki --- */
.rcnt-bfeatures { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.rcnt-bfeatures--cols-2 { grid-template-columns: repeat(2, 1fr); }
.rcnt-bfeatures__item { position: relative; padding: 26px 24px; border-radius: 18px; background: #fff; border: 1px solid color-mix(in srgb, var(--acc) 14%, #E6EAF0); transition: transform .2s ease, box-shadow .25s ease, border-color .2s ease; }
.rcnt-bfeatures__item--link:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -32px color-mix(in srgb, var(--acc) 55%, rgba(10,22,40,.5)); border-color: color-mix(in srgb, var(--acc) 35%, transparent); }
.rcnt-bfeatures__icon { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; color: var(--acc); margin-bottom: 16px; background: color-mix(in srgb, var(--acc) 12%, transparent); }
.rcnt-bfeatures__title { margin: 0 0 8px; font-family: var(--f-display); font-weight: 600; font-size: 18px; color: #0A1628; }
.rcnt-bfeatures__text { margin: 0; font-size: 14px; line-height: 1.6; color: #475569; }
.rcnt-bfeatures__arrow { display: inline-flex; margin-top: 14px; color: var(--acc); transition: transform .2s ease; }
.rcnt-bfeatures__item--link:hover .rcnt-bfeatures__arrow { transform: translateX(4px); }
@media (max-width: 760px) { .rcnt-bfeatures, .rcnt-bfeatures--cols-2 { grid-template-columns: 1fr; } }

/* =========================================================================
   Style natywnych bloków (is-style-rcnt-*)
   ====================================================================== */
.rcnt-content .wp-block-quote.is-style-rcnt-card { padding: 28px 30px; border-left: 0; border-radius: 18px; background: color-mix(in srgb, var(--art-accent, #22D3EE) 5%, #fff); border: 1px solid color-mix(in srgb, var(--art-accent, #22D3EE) 16%, #E6EAF0); }
.rcnt-content .wp-block-pullquote.is-style-rcnt-big { border: 0; border-top: 2px solid color-mix(in srgb, var(--art-accent, #22D3EE) 30%, transparent); border-bottom: 2px solid color-mix(in srgb, var(--art-accent, #22D3EE) 30%, transparent); text-align: center; }
.rcnt-content .wp-block-pullquote.is-style-rcnt-big p { font-family: var(--f-display); font-size: clamp(24px, 4vw, 36px); }

.rcnt-content .wp-block-image.is-style-rcnt-frame img { border-radius: 4px; padding: 10px; background: #fff; border: 1px solid color-mix(in srgb, var(--art-accent, #22D3EE) 18%, #E2E8F0); box-shadow: 0 20px 40px -30px rgba(10,22,40,.5); }
.rcnt-content .wp-block-image.is-style-rcnt-rounded img { border-radius: 22px; }

.rcnt-content .wp-block-gallery.is-style-rcnt-mosaic { display: block; columns: 3; column-gap: 12px; }
.rcnt-content .wp-block-gallery.is-style-rcnt-mosaic .wp-block-image { break-inside: avoid; margin-bottom: 12px; }

.rcnt-content .wp-block-list.is-style-rcnt-check { list-style: none; padding-left: 0; }
.rcnt-content .wp-block-list.is-style-rcnt-check li { position: relative; padding-left: 32px; margin-bottom: 12px; }
.rcnt-content .wp-block-list.is-style-rcnt-check li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--art-accent, #22D3EE) 16%, transparent); }
.rcnt-content .wp-block-list.is-style-rcnt-check li::after { content: ""; position: absolute; left: 6px; top: 7px; width: 8px; height: 5px; border-left: 2px solid var(--art-accent, #22D3EE); border-bottom: 2px solid var(--art-accent, #22D3EE); transform: rotate(-45deg); }
.rcnt-content .wp-block-list.is-style-rcnt-arrow { list-style: none; padding-left: 0; }
.rcnt-content .wp-block-list.is-style-rcnt-arrow li { position: relative; padding-left: 28px; margin-bottom: 10px; }
.rcnt-content .wp-block-list.is-style-rcnt-arrow li::before { content: "›"; position: absolute; left: 6px; top: -1px; color: var(--art-accent, #22D3EE); font-size: 20px; font-weight: 700; }

.rcnt-content .wp-block-separator.is-style-rcnt-accent { border: 0; height: 3px; max-width: 60px; margin: 44px auto; border-radius: 999px; background: linear-gradient(90deg, var(--art-accent, #22D3EE), color-mix(in srgb, var(--art-accent, #22D3EE) 30%, transparent)); opacity: 1; }

.rcnt-content .wp-block-group.is-style-rcnt-panel { padding: 30px 32px; border-radius: 20px; background: color-mix(in srgb, var(--art-accent, #22D3EE) 5%, #fff); border: 1px solid color-mix(in srgb, var(--art-accent, #22D3EE) 14%, #E6EAF0); }

/* core table — wariant „Kluczowe dane" identyczny z .rcnt-facts-table */
.rcnt-content .wp-block-table.is-style-rcnt-facts table { border-collapse: collapse; }
.rcnt-content .wp-block-table.is-style-rcnt-facts td:first-child { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 600; color: color-mix(in srgb, var(--art-accent, #22D3EE) 52%, #0A1628); }
