/*
 * Chit Chat Elementor Blueprints
 * Frontend styles are loaded only on pages generated from a blueprint.
 * No fonts, icon packs, JS libraries or remote assets are requested here.
 */
.cctk-bp-el,
.cctk-bp-el > .e-con-inner,
.cctk-bp-el > .elementor-widget,
.cctk-bp-el .elementor-widget-container {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.cctk-bp-el--hero { --padding-top:0 !important; --padding-bottom:0 !important; }
.cctk-bp-el--hero .cctk-page-hero { margin-bottom:0; }

.cctk-premium-section {
    --cctk-accent:#f18419;
    --cctk-accent-rgb:241,132,25;
    --cctk-ink:#302c27;
    --cctk-muted:#6e665f;
    --cctk-cream:#fffde1;
    --cctk-warm:#fff8cf;
    --cctk-surface:#fffef4;
    --cctk-line:rgba(48,44,39,.10);
    --cctk-radius:30px;
    position:relative;
    isolation:isolate;
    overflow:clip;
    width:100vw;
    max-width:100vw;
    margin:0 calc(50% - 50vw);
    color:var(--cctk-ink);
    background:var(--cctk-cream);
    font:inherit;
}
.cctk-premium-section *,
.cctk-premium-section *::before,
.cctk-premium-section *::after { box-sizing:border-box; }

.cctk-premium-section--accent-purple { --cctk-accent:#c651e6; --cctk-accent-rgb:198,81,230; }
.cctk-premium-section--accent-orange,
.cctk-premium-section--accent-brand { --cctk-accent:#f18419; --cctk-accent-rgb:241,132,25; }
.cctk-premium-section--accent-teal { --cctk-accent:#05abc5; --cctk-accent-rgb:5,171,197; }
.cctk-premium-section--accent-green { --cctk-accent:#9dca43; --cctk-accent-rgb:157,202,67; }
.cctk-premium-section--accent-business { --cctk-accent:#456678; --cctk-accent-rgb:69,102,120; }
.cctk-premium-section--accent-plus { --cctk-accent:#f06f45; --cctk-accent-rgb:240,111,69; }

.cctk-premium-section--tone-warm { background:var(--cctk-warm); }
.cctk-premium-section--tone-soft {
    background:
        radial-gradient(circle at 88% 18%, rgba(var(--cctk-accent-rgb),.10), transparent 25rem),
        linear-gradient(180deg,#fffef1 0%,#fffbe4 100%);
}
.cctk-premium-section--tone-accent {
    color:#fff;
    background:
        radial-gradient(circle at 90% -10%, rgba(255,255,255,.20), transparent 28rem),
        linear-gradient(125deg, var(--cctk-accent), color-mix(in srgb, var(--cctk-accent) 72%, #302c27));
}

.cctk-premium-section__shell {
    position:relative;
    z-index:2;
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
    padding:clamp(62px,8vw,112px) 0;
}
.cctk-premium-section--cta .cctk-premium-section__shell { padding:clamp(58px,7vw,88px) 0; }

.cctk-premium-section__decor {
    position:absolute;
    z-index:0;
    width:18rem;
    height:18rem;
    right:-9rem;
    top:-8rem;
    border:1px solid rgba(var(--cctk-accent-rgb),.14);
    border-radius:42% 58% 63% 37% / 43% 34% 66% 57%;
    transform:rotate(18deg);
    pointer-events:none;
}
.cctk-premium-section--tone-accent .cctk-premium-section__decor { border-color:rgba(255,255,255,.22); }

.cctk-premium-section__head {
    max-width:850px;
    margin:0 0 clamp(24px,3.2vw,42px);
}
.cctk-premium-section__eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    color:var(--cctk-accent);
    font-size:.78rem;
    font-weight:850;
    line-height:1.25;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.cctk-premium-section__eyebrow::before {
    content:"";
    width:22px;
    height:3px;
    border-radius:99px;
    background:currentColor;
}
.cctk-premium-section--tone-accent .cctk-premium-section__eyebrow { color:#fff; opacity:.86; }

.cctk-premium-section h2,
.cctk-premium-section h3 {
    font-family:inherit;
    color:inherit;
}
.cctk-premium-section h2 {
    max-width:900px;
    margin:0;
    font-size:clamp(2rem,4vw,4rem);
    line-height:1.02;
    letter-spacing:-.035em;
    font-weight:850;
    text-wrap:balance;
}
.cctk-premium-section__content {
    max-width:830px;
    color:var(--cctk-muted);
    font-size:clamp(1rem,1.25vw,1.1rem);
    line-height:1.75;
}
.cctk-premium-section__content p { margin:0 0 1em; }
.cctk-premium-section__content p:last-child { margin-bottom:0; }
.cctk-premium-section__content strong { color:var(--cctk-ink); }
.cctk-premium-section__content ul {
    display:grid;
    gap:.68rem;
    margin:1.35rem 0 0;
    padding:0;
    list-style:none;
}
.cctk-premium-section__content li {
    position:relative;
    padding-left:1.65rem;
}
.cctk-premium-section__content li::before {
    content:"";
    position:absolute;
    left:.1rem;
    top:.72em;
    width:.58rem;
    height:.58rem;
    border-radius:50%;
    background:var(--cctk-accent);
    box-shadow:0 0 0 5px rgba(var(--cctk-accent-rgb),.11);
}
.cctk-premium-section--tone-accent .cctk-premium-section__content,
.cctk-premium-section--tone-accent .cctk-premium-section__content strong { color:rgba(255,255,255,.88); }
.cctk-premium-section--tone-accent .cctk-premium-section__content li::before { background:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.12); }

.cctk-premium-section__items {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(14px,2vw,24px);
    margin-top:clamp(30px,4vw,52px);
}
.cctk-premium-section__item {
    --cctk-item-accent:var(--cctk-accent);
    --cctk-item-accent-rgb:var(--cctk-accent-rgb);
    position:relative;
    min-width:0;
    padding:clamp(24px,3vw,34px);
    overflow:hidden;
    border:1px solid var(--cctk-line);
    border-radius:var(--cctk-radius);
    background:rgba(255,255,255,.72);
    box-shadow:0 18px 55px rgba(75,61,42,.07);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
@media (hover:hover) {
    .cctk-premium-section__item:hover {
        transform:translateY(-4px);
        border-color:rgba(var(--cctk-item-accent-rgb),.34);
        box-shadow:0 24px 66px rgba(75,61,42,.11);
    }
}
.cctk-premium-section__item::after {
    content:"";
    position:absolute;
    width:7.5rem;
    height:7.5rem;
    right:-4.7rem;
    bottom:-5rem;
    border-radius:50%;
    background:rgba(var(--cctk-item-accent-rgb),.10);
    pointer-events:none;
}
.cctk-premium-section__item h3 {
    position:relative;
    z-index:1;
    margin:0 0 10px;
    font-size:clamp(1.15rem,1.8vw,1.45rem);
    line-height:1.18;
    letter-spacing:-.018em;
    font-weight:800;
}
.cctk-premium-section__item-text {
    position:relative;
    z-index:1;
    color:var(--cctk-muted);
    font-size:.98rem;
    line-height:1.65;
}
.cctk-premium-section__item-text p { margin:0 0 .7em; }
.cctk-premium-section__item-text p:last-child { margin-bottom:0; }
.cctk-premium-section__item-text ul { margin:.8rem 0 0; padding-left:1.15rem; }
.cctk-premium-section__item-link {
    position:relative;
    z-index:2;
    display:inline-flex;
    gap:8px;
    align-items:center;
    margin-top:18px;
    color:var(--cctk-item-accent) !important;
    font-weight:800;
    text-decoration:none !important;
}
.cctk-premium-section__item-link span { transition:transform .2s ease; }
.cctk-premium-section__item-link:hover span { transform:translateX(4px); }

.cctk-premium-section--steps .cctk-premium-section__items { counter-reset:cctk-step; }
.cctk-premium-section--steps .cctk-premium-section__item { padding-top:74px; }
.cctk-premium-section__number {
    position:absolute;
    top:24px;
    left:28px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:13px;
    color:var(--cctk-item-accent);
    background:rgba(var(--cctk-item-accent-rgb),.11);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.04em;
}

.cctk-premium-section--stats .cctk-premium-section__item {
    min-height:180px;
    background:#fff;
}
.cctk-premium-section--stats .cctk-premium-section__item h3 { color:var(--cctk-accent); }
.cctk-premium-section--stats .cctk-premium-section__item-text {
    font-size:clamp(1.2rem,2.1vw,1.8rem);
    line-height:1.25;
    font-weight:800;
    color:var(--cctk-ink);
}

.cctk-premium-section--cta .cctk-premium-section__shell { max-width:980px; }
.cctk-premium-section--cta .cctk-premium-section__head,
.cctk-premium-section--cta .cctk-premium-section__content { max-width:760px; }
.cctk-premium-section--tone-accent h2 { color:#fff !important; }
.cctk-premium-section--tone-accent .cctk-premium-section__content { color:rgba(255,255,255,.88); }
.cctk-premium-section__actions { margin-top:clamp(24px,3vw,34px); }
.cctk-premium-section__button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:52px;
    padding:0 25px;
    border:1px solid transparent;
    border-radius:999px;
    color:#fff !important;
    background:var(--cctk-accent);
    box-shadow:0 12px 30px rgba(var(--cctk-accent-rgb),.22);
    font-size:.96rem;
    font-weight:850;
    line-height:1;
    text-decoration:none !important;
    transition:transform .2s ease,box-shadow .2s ease;
}
.cctk-premium-section--tone-accent .cctk-premium-section__button {
    color:var(--cctk-ink) !important;
    background:#fff;
    box-shadow:0 12px 34px rgba(48,44,39,.16);
}
.cctk-premium-section__button:hover { transform:translateY(-2px); box-shadow:0 18px 38px rgba(var(--cctk-accent-rgb),.28); }
.cctk-premium-section--tone-accent .cctk-premium-section__button:hover { box-shadow:0 18px 38px rgba(48,44,39,.22); }

/* Existing Team/FAQ modules inside composed sections should not create a second large outer gap. */
.cctk-premium-section--module .cctk-team,
.cctk-premium-section--module .cctk-faq { margin-top:0; margin-bottom:0; }
.cctk-premium-section--module .cctk-premium-section__head { margin-bottom:34px; }

@media (max-width:980px) {
    .cctk-premium-section__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
    .cctk-premium-section__shell { width:min(100% - 30px,1180px); padding:54px 0; }
    .cctk-premium-section h2 { font-size:clamp(1.85rem,9vw,2.7rem); }
    .cctk-premium-section__items { grid-template-columns:1fr; gap:13px; margin-top:28px; }
    .cctk-premium-section__item { padding:23px; border-radius:23px; }
    .cctk-premium-section--steps .cctk-premium-section__item { padding-top:68px; }
}
@media (prefers-reduced-motion:reduce) {
    .cctk-premium-section__item,
    .cctk-premium-section__button,
    .cctk-premium-section__item-link span { transition:none !important; }
}

/* Compact premium strips: useful for languages, subjects and location labels. */
.cctk-premium-section--chips .cctk-premium-section__shell { padding:clamp(42px,5vw,64px) 0; }
.cctk-premium-section--chips .cctk-premium-section__head { margin-bottom:24px; }
.cctk-premium-section--chips .cctk-premium-section__items {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.cctk-premium-section--chips .cctk-premium-section__item {
    min-height:0;
    width:auto;
    padding:11px 17px;
    border-radius:999px;
    box-shadow:none;
    background:rgba(255,255,255,.78);
}
.cctk-premium-section--chips .cctk-premium-section__item::after { display:none; }
.cctk-premium-section--chips .cctk-premium-section__item h3 {
    margin:0;
    font-size:.9rem;
    line-height:1.2;
    letter-spacing:0;
    font-weight:800;
}
.cctk-premium-section--chips .cctk-premium-section__item-link { margin-top:7px; font-size:.82rem; }
@media (hover:hover) {
    .cctk-premium-section--chips .cctk-premium-section__item:hover { transform:translateY(-2px); }
}

/* -------------------------------------------------------------------------
 * v1.3.1 — stronger editorial accent + optional image moments.
 * Image placeholders exist only inside Elementor edit mode; empty slots do
 * not create public markup or network requests.
 * ---------------------------------------------------------------------- */
.cctk-premium-section--bar-top::before {
    content:"";
    position:absolute;
    z-index:4;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,
        rgba(var(--cctk-accent-rgb),.95) 0%,
        rgba(var(--cctk-accent-rgb),.78) 20%,
        rgba(var(--cctk-accent-rgb),.20) 58%,
        transparent 88%);
    pointer-events:none;
}
.cctk-premium-section--bar-side .cctk-premium-section__copy {
    position:relative;
    padding-left:clamp(22px,2.4vw,34px);
}
.cctk-premium-section--bar-side .cctk-premium-section__copy::before {
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:5px;
    height:clamp(70px,9vw,112px);
    border-radius:99px;
    background:linear-gradient(180deg,var(--cctk-accent),rgba(var(--cctk-accent-rgb),.22));
    box-shadow:0 0 0 7px rgba(var(--cctk-accent-rgb),.055);
}
.cctk-premium-section--tone-accent.cctk-premium-section--bar-side .cctk-premium-section__copy::before {
    background:linear-gradient(180deg,#fff,rgba(255,255,255,.28));
    box-shadow:0 0 0 7px rgba(255,255,255,.07);
}

/* Cards keep the light premium surface but visibly inherit the age colour. */
.cctk-premium-section--cards .cctk-premium-section__item,
.cctk-premium-section--steps .cctk-premium-section__item {
    border-top:3px solid rgba(var(--cctk-item-accent-rgb),.48);
}
.cctk-premium-section--steps .cctk-premium-section__number {
    border:1px solid rgba(var(--cctk-item-accent-rgb),.15);
    box-shadow:0 8px 20px rgba(var(--cctk-item-accent-rgb),.09);
}


/* Semantic course-family accents: any premium card that explicitly points to
 * one of the four core groups inherits that group's colour automatically. */
.cctk-premium-section__item--accent-purple { --cctk-item-accent:#c651e6; --cctk-item-accent-rgb:198,81,230; }
.cctk-premium-section__item--accent-orange { --cctk-item-accent:#f18419; --cctk-item-accent-rgb:241,132,25; }
.cctk-premium-section__item--accent-teal { --cctk-item-accent:#05abc5; --cctk-item-accent-rgb:5,171,197; }
.cctk-premium-section__item--accent-green { --cctk-item-accent:#9dca43; --cctk-item-accent-rgb:157,202,67; }
.cctk-premium-section__item--group {
    border-top-width:4px;
    border-top-color:rgba(var(--cctk-item-accent-rgb),.52);
    background:
        radial-gradient(circle at 100% 100%, rgba(var(--cctk-item-accent-rgb),.085), transparent 9rem),
        rgba(255,255,255,.78);
}
.cctk-premium-section__item--group::before {
    content:"";
    position:absolute;
    z-index:1;
    left:clamp(22px,3vw,32px);
    top:-4px;
    width:54px;
    height:4px;
    border-radius:0 0 99px 99px;
    background:var(--cctk-item-accent);
    box-shadow:0 6px 18px rgba(var(--cctk-item-accent-rgb),.18);
    pointer-events:none;
}
.cctk-premium-section__item--group .cctk-premium-section__item-text li::marker { color:var(--cctk-item-accent); }
@media (hover:hover) {
    .cctk-premium-section__item--group:hover {
        box-shadow:0 25px 68px rgba(var(--cctk-item-accent-rgb),.10), 0 18px 55px rgba(75,61,42,.07);
    }
}

/* Intro + image split. The cards/items stay full width below this grid. */
.cctk-premium-section__intro { min-width:0; }
.cctk-premium-section--has-side-media .cctk-premium-section__intro {
    display:grid;
    align-items:center;
    gap:clamp(34px,5.6vw,78px);
}
.cctk-premium-section--media-right .cctk-premium-section__intro {
    grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);
}
.cctk-premium-section--media-left .cctk-premium-section__intro {
    grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr);
}
.cctk-premium-section--has-side-media .cctk-premium-section__head,
.cctk-premium-section--has-side-media .cctk-premium-section__content { max-width:100%; }

.cctk-premium-section__media {
    position:relative;
    min-width:0;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(var(--cctk-accent-rgb),.15);
    border-radius:clamp(25px,3vw,40px);
    background:rgba(255,255,255,.66);
    box-shadow:
        0 28px 70px rgba(75,61,42,.12),
        0 0 0 8px rgba(var(--cctk-accent-rgb),.035);
    transform:translateZ(0);
}
.cctk-premium-section__media::after {
    content:"";
    position:absolute;
    z-index:2;
    width:42%;
    height:9px;
    left:10%;
    bottom:0;
    border-radius:99px 99px 0 0;
    background:var(--cctk-accent);
    opacity:.72;
    pointer-events:none;
}
.cctk-premium-section__media-ratio-landscape { aspect-ratio:4 / 3; }
.cctk-premium-section__media-ratio-wide { aspect-ratio:16 / 9; }
.cctk-premium-section__media-ratio-portrait { aspect-ratio:4 / 5; }
.cctk-premium-section__media-ratio-square { aspect-ratio:1 / 1; }
.cctk-premium-section__media-img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.cctk-premium-section--has-wide-media .cctk-premium-section__media-pos-wide {
    width:100%;
    margin-top:clamp(30px,4vw,50px);
    max-height:620px;
}
.cctk-premium-section__media-placeholder {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    height:100%;
    min-height:270px;
    padding:34px;
    color:var(--cctk-muted);
    text-align:center;
    background:
        radial-gradient(circle at 75% 20%,rgba(var(--cctk-accent-rgb),.13),transparent 40%),
        repeating-linear-gradient(135deg,rgba(255,255,255,.72) 0 13px,rgba(var(--cctk-accent-rgb),.035) 13px 26px);
}
.cctk-premium-section__media-placeholder-icon {
    position:relative;
    width:40px;
    height:32px;
    border:2px solid var(--cctk-accent);
    border-radius:8px;
    opacity:.86;
}
.cctk-premium-section__media-placeholder-icon::before {
    content:"";
    position:absolute;
    width:7px;
    height:7px;
    right:7px;
    top:6px;
    border-radius:50%;
    background:var(--cctk-accent);
}
.cctk-premium-section__media-placeholder-icon::after {
    content:"";
    position:absolute;
    left:7px;
    right:7px;
    bottom:7px;
    height:12px;
    background:linear-gradient(135deg,transparent 0 25%,var(--cctk-accent) 26% 47%,transparent 48% 55%,var(--cctk-accent) 56% 100%);
    clip-path:polygon(0 100%,35% 20%,56% 62%,72% 42%,100% 100%);
    opacity:.75;
}
.cctk-premium-section__media-placeholder strong { color:var(--cctk-ink); font-size:1rem; }
.cctk-premium-section__media-placeholder small { max-width:250px; line-height:1.45; }

/* Summary belongs to the step sequence, but visually no longer sits inside
 * the final card. Used e.g. for "Jak uczymy?" on Przedszkolaki. */
.cctk-premium-section__after {
    position:relative;
    display:grid;
    grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);
    gap:clamp(22px,4vw,54px);
    margin-top:clamp(26px,3.6vw,46px);
    padding:clamp(26px,3.5vw,42px);
    overflow:hidden;
    border:1px solid rgba(var(--cctk-accent-rgb),.18);
    border-left:6px solid var(--cctk-accent);
    border-radius:26px;
    background:rgba(255,255,255,.68);
    box-shadow:0 18px 48px rgba(75,61,42,.065);
}
.cctk-premium-section__after::after {
    content:"";
    position:absolute;
    right:-70px;
    bottom:-90px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(var(--cctk-accent-rgb),.08);
    pointer-events:none;
}
.cctk-premium-section__after h3 {
    position:relative;
    z-index:1;
    margin:0;
    color:var(--cctk-ink);
    font-size:clamp(1.55rem,2.6vw,2.35rem);
    line-height:1.05;
    letter-spacing:-.03em;
    font-weight:850;
}
.cctk-premium-section__after-content {
    position:relative;
    z-index:1;
    color:var(--cctk-muted);
    font-size:1rem;
    line-height:1.65;
}
.cctk-premium-section__after-content p { margin:0 0 .9em; }
.cctk-premium-section__after-content p:last-child {
    margin-bottom:0;
    color:var(--cctk-ink);
    font-weight:750;
}
.cctk-premium-section__after-content ul {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 22px;
    margin:0 0 1.15rem;
    padding:0;
    list-style:none;
}
.cctk-premium-section__after-content li {
    position:relative;
    padding-left:1.35rem;
}
.cctk-premium-section__after-content li::before {
    content:"";
    position:absolute;
    left:0;
    top:.65em;
    width:.48rem;
    height:.48rem;
    border-radius:50%;
    background:var(--cctk-accent);
    box-shadow:0 0 0 4px rgba(var(--cctk-accent-rgb),.09);
}

@media (max-width:980px) {
    .cctk-premium-section--media-right .cctk-premium-section__intro,
    .cctk-premium-section--media-left .cctk-premium-section__intro {
        grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);
        gap:32px;
    }
    .cctk-premium-section--media-left .cctk-premium-section__intro {
        grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);
    }
}
@media (max-width:760px) {
    .cctk-premium-section--has-side-media .cctk-premium-section__intro {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:28px;
    }
    .cctk-premium-section--media-left .cctk-premium-section__copy { order:1; }
    .cctk-premium-section--media-left .cctk-premium-section__media { order:2; }
    .cctk-premium-section__media { width:100%; max-height:520px; }
    .cctk-premium-section__media-ratio-portrait { aspect-ratio:4 / 3; }
    .cctk-premium-section__after { grid-template-columns:1fr; }
    .cctk-premium-section__after-content ul { grid-template-columns:1fr; }
    .cctk-premium-section--bar-side .cctk-premium-section__copy { padding-left:20px; }
    .cctk-premium-section--bar-side .cctk-premium-section__copy::before { width:4px; height:74px; }
}

/* -------------------------------------------------------------------------
 * v1.4.0 — editorial hierarchy, safe line breaking and course-card hub.
 * ---------------------------------------------------------------------- */
.cctk-premium-section h2,
.cctk-premium-section h3,
.cctk-premium-section__eyebrow,
.cctk-premium-section__item h3,
.cctk-premium-section__after h3 {
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}
.cctk-premium-section__head {
    margin-bottom:clamp(30px,3.8vw,48px);
}
.cctk-premium-section--has-side-media .cctk-premium-section__head {
    margin-bottom:clamp(24px,3vw,36px);
}
.cctk-premium-section__subhead {
    display:flex;
    align-items:center;
    gap:11px;
    margin:clamp(28px,3.2vw,42px) 0 13px !important;
    color:var(--cctk-ink) !important;
    font-size:clamp(1.14rem,1.8vw,1.42rem) !important;
    line-height:1.18 !important;
    letter-spacing:-.018em !important;
    font-weight:850 !important;
}
.cctk-premium-section__subhead::before {
    content:"";
    flex:0 0 auto;
    width:18px;
    height:4px;
    border-radius:99px;
    background:var(--cctk-accent);
    box-shadow:0 0 0 5px rgba(var(--cctk-accent-rgb),.07);
}
.cctk-premium-section__content > .cctk-premium-section__subhead:first-child { margin-top:0 !important; }
.cctk-premium-section__badges {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:20px 0 0 !important;
}
.cctk-premium-section__badges span {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 13px;
    border:1px solid rgba(var(--cctk-accent-rgb),.2);
    border-radius:999px;
    color:var(--cctk-ink);
    background:rgba(var(--cctk-accent-rgb),.075);
    font-size:.86rem;
    line-height:1.1;
    font-weight:800;
}
.cctk-premium-section--list .cctk-premium-section__content > ul {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.72rem 1.3rem;
    margin:1.4rem 0 1.6rem;
    padding:clamp(20px,2.5vw,28px);
    border:1px solid rgba(var(--cctk-accent-rgb),.14);
    border-radius:22px;
    background:rgba(255,255,255,.62);
    box-shadow:0 14px 38px rgba(75,61,42,.055);
}
.cctk-premium-section--list .cctk-premium-section__content > ul + p {
    margin-top:1.45rem;
}
@media (max-width:680px) {
    .cctk-premium-section--list .cctk-premium-section__content > ul { grid-template-columns:1fr; }
    .cctk-premium-section__head { margin-bottom:26px; }
}

/* Course family grid — Elementor widget used on Home and /kursy/. */
.cctk-course-grid {
    --cctk-course-ink:#302c27;
    --cctk-course-muted:#716960;
    position:relative;
    isolation:isolate;
    overflow:clip;
    width:100vw;
    max-width:100vw;
    margin:0 calc(50% - 50vw);
    color:var(--cctk-course-ink);
    background:#fffde1;
    font:inherit;
}
.cctk-course-grid *,
.cctk-course-grid *::before,
.cctk-course-grid *::after { box-sizing:border-box; }
.cctk-course-grid--tone-soft { background:linear-gradient(180deg,#fffef3 0%,#fffbe4 100%); }
.cctk-course-grid--tone-white { background:#fff; }
.cctk-course-grid__shell {
    position:relative;
    z-index:2;
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
    padding:clamp(62px,7.5vw,104px) 0;
}
.cctk-course-grid__decor {
    position:absolute;
    z-index:0;
    right:-8rem;
    top:3rem;
    width:21rem;
    height:21rem;
    border:1px solid rgba(5,171,197,.1);
    border-radius:41% 59% 46% 54% / 55% 38% 62% 45%;
    transform:rotate(18deg);
    pointer-events:none;
}
.cctk-course-grid__head {
    max-width:820px;
    margin:0 auto clamp(34px,4vw,52px);
    text-align:center;
}
.cctk-course-grid__eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:11px;
    color:#e57210;
    font-size:.78rem;
    line-height:1.2;
    letter-spacing:.085em;
    text-transform:uppercase;
    font-weight:850;
}
.cctk-course-grid__eyebrow::before,
.cctk-course-grid__eyebrow::after {
    content:"";
    width:18px;
    height:3px;
    border-radius:99px;
    background:currentColor;
    opacity:.75;
}
.cctk-course-grid__head h2 {
    margin:0;
    color:var(--cctk-course-ink);
    font:inherit;
    font-size:clamp(2rem,4vw,3.65rem);
    line-height:1.03;
    letter-spacing:-.035em;
    font-weight:850;
    text-wrap:balance;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}
.cctk-course-grid__head p {
    max-width:680px;
    margin:16px auto 0;
    color:var(--cctk-course-muted);
    font-size:clamp(.98rem,1.25vw,1.08rem);
    line-height:1.65;
}
.cctk-course-grid__items {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(16px,2vw,24px);
}
.cctk-course-grid--cols-2 .cctk-course-grid__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cctk-course-grid--cols-4 .cctk-course-grid__items { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cctk-course-grid--cols-4 .cctk-course-grid__item:nth-child(5),.cctk-course-grid--cols-4 .cctk-course-grid__item:nth-child(6){grid-column:span 2}
.cctk-course-grid__item {
    --cctk-card-bg:#d9720f;
    --cctk-card-rgb:217,114,15;
    min-width:0;
}
.cctk-course-grid__item--purple { --cctk-card-bg:#ac43ca; --cctk-card-rgb:172,67,202; }
.cctk-course-grid__item--orange,
.cctk-course-grid__item--brand { --cctk-card-bg:#b85c00; --cctk-card-rgb:184,92,0; }
.cctk-course-grid__item--teal { --cctk-card-bg:#027f93; --cctk-card-rgb:2,127,147; }
.cctk-course-grid__item--green { --cctk-card-bg:#5d8019; --cctk-card-rgb:93,128,25; }
.cctk-course-grid__card {
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:100%;
    overflow:hidden;
    border:1px solid rgba(48,44,39,.08);
    border-radius:27px;
    color:#fff !important;
    background:var(--cctk-card-bg);
    box-shadow:0 18px 50px rgba(75,61,42,.09);
    text-decoration:none !important;
    transform:translateZ(0);
    transition:transform .24s ease,box-shadow .24s ease;
}
.cctk-course-grid__media {
    position:relative;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:rgba(255,255,255,.16);
}
.cctk-course-grid__image {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .42s cubic-bezier(.2,.7,.2,1);
}
.cctk-course-grid__media::after {
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:58%;
    background:linear-gradient(180deg,transparent,rgba(36,30,24,.36));
    pointer-events:none;
}
.cctk-course-grid__category {
    position:absolute;
    z-index:2;
    left:clamp(20px,2.4vw,27px);
    right:clamp(20px,2.4vw,27px);
    bottom:18px;
    color:#fff;
    font-size:clamp(1.25rem,2vw,1.7rem);
    line-height:1.06;
    letter-spacing:-.025em;
    font-weight:850;
    text-shadow:0 2px 14px rgba(0,0,0,.22);
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}
.cctk-course-grid__image-fallback {
    position:absolute;
    inset:0;
    display:block;
    overflow:hidden;
    background:
        radial-gradient(circle at 20% 20%,rgba(255,255,255,.34),transparent 26%),
        linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.03));
}
.cctk-course-grid__image-fallback i {
    position:absolute;
    display:block;
    border:2px solid rgba(255,255,255,.42);
    border-radius:48% 52% 38% 62% / 58% 36% 64% 42%;
}
.cctk-course-grid__image-fallback i:nth-child(1) { width:150px; height:150px; right:-30px; top:-48px; transform:rotate(18deg); }
.cctk-course-grid__image-fallback i:nth-child(2) { width:88px; height:88px; left:16%; top:24%; transform:rotate(-22deg); }
.cctk-course-grid__image-fallback i:nth-child(3) { width:210px; height:75px; left:-42px; bottom:-35px; transform:rotate(7deg); }
.cctk-course-grid__body {
    position:relative;
    display:flex;
    flex:1;
    flex-direction:column;
    padding:clamp(22px,2.7vw,30px);
}
.cctk-course-grid__body::after {
    content:"";
    position:absolute;
    right:-46px;
    bottom:-54px;
    width:130px;
    height:130px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    pointer-events:none;
}
.cctk-course-grid__body h3 {
    margin:0 0 11px;
    color:#fff;
    font:inherit;
    font-size:clamp(1.25rem,2vw,1.65rem);
    line-height:1.08;
    letter-spacing:-.022em;
    font-weight:850;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}
.cctk-course-grid__body p {
    position:relative;
    z-index:1;
    margin:0;
    color:rgba(255,255,255,.94);
    font-size:.96rem;
    line-height:1.55;
}
.cctk-course-grid__cta {
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:9px;
    min-height:39px;
    margin-top:auto;
    padding-top:20px;
    color:#fff;
    font-size:.89rem;
    line-height:1.1;
    font-weight:850;
}
.cctk-course-grid__cta i {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    font-style:normal;
    transition:transform .2s ease,background .2s ease;
}
.cctk-course-grid .screen-reader-text {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}
@media (hover:hover) {
    .cctk-course-grid__card:hover {
        transform:translateY(-6px);
        box-shadow:0 26px 66px rgba(75,61,42,.15);
    }
    .cctk-course-grid__card:hover .cctk-course-grid__image { transform:scale(1.045); }
    .cctk-course-grid__card:hover .cctk-course-grid__cta i { transform:translateX(3px); background:rgba(255,255,255,.23); }
}
@media (max-width:920px) {
    .cctk-course-grid__items,
    .cctk-course-grid--cols-3 .cctk-course-grid__items,
    .cctk-course-grid--cols-4 .cctk-course-grid__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cctk-course-grid--cols-4 .cctk-course-grid__item:nth-child(5),.cctk-course-grid--cols-4 .cctk-course-grid__item:nth-child(6){grid-column:span 1}
}
@media (max-width:620px) {
    .cctk-course-grid__shell { width:min(100% - 30px,1180px); padding:54px 0; }
    .cctk-course-grid__head { text-align:left; margin-bottom:28px; }
    .cctk-course-grid__eyebrow::after { display:none; }
    .cctk-course-grid__head h2 { font-size:clamp(1.95rem,9vw,2.75rem); }
    .cctk-course-grid__head p { margin-left:0; }
    .cctk-course-grid__items,
    .cctk-course-grid--cols-2 .cctk-course-grid__items,
    .cctk-course-grid--cols-3 .cctk-course-grid__items,
    .cctk-course-grid--cols-4 .cctk-course-grid__items { grid-template-columns:1fr; gap:15px; }
    .cctk-course-grid__card { border-radius:23px; }
}
@media (prefers-reduced-motion:reduce) {
    .cctk-course-grid__card,
    .cctk-course-grid__image,
    .cctk-course-grid__cta i { transition:none !important; }
}

/* -------------------------------------------------------------------------
 * Synced full course directory for /kursy/.
 * ---------------------------------------------------------------------- */
.cctk-course-directory {
    --cctk-dir-ink:#302c27;
    --cctk-dir-muted:#716960;
    --cctk-dir-accent:#e97816;
    --cctk-dir-accent-rgb:233,120,22;
    position:relative;
    isolation:isolate;
    overflow:clip;
    width:100vw;
    max-width:100vw;
    margin:0 calc(50% - 50vw);
    color:var(--cctk-dir-ink);
    background:#fff8e8;
    font:inherit;
}
.cctk-course-directory *,
.cctk-course-directory *::before,
.cctk-course-directory *::after { box-sizing:border-box; }
.cctk-course-directory--tone-cream { background:#fffde1; }
.cctk-course-directory--tone-white { background:#fff; }
.cctk-course-directory__shell {
    position:relative;
    z-index:2;
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
    padding:clamp(64px,7vw,96px) 0;
}
.cctk-course-directory__decor {
    position:absolute;
    z-index:0;
    right:-7rem;
    bottom:-8rem;
    width:23rem;
    height:23rem;
    border:1px solid rgba(233,120,22,.10);
    border-radius:56% 44% 61% 39% / 43% 58% 42% 57%;
    transform:rotate(-17deg);
    pointer-events:none;
}
.cctk-course-directory__head {
    max-width:830px;
    margin:0 0 clamp(30px,4vw,46px);
}
.cctk-course-directory__eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:10px;
    color:#e57210;
    font-size:.78rem;
    line-height:1.2;
    letter-spacing:.085em;
    text-transform:uppercase;
    font-weight:850;
}
.cctk-course-directory__eyebrow::before {
    content:"";
    width:19px;
    height:3px;
    border-radius:99px;
    background:currentColor;
}
.cctk-course-directory__head h2 {
    max-width:780px;
    margin:0;
    color:var(--cctk-dir-ink);
    font:inherit;
    font-size:clamp(2rem,4vw,3.45rem);
    line-height:1.04;
    letter-spacing:-.035em;
    font-weight:850;
    text-wrap:balance;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}
.cctk-course-directory__head p {
    max-width:720px;
    margin:16px 0 0;
    color:var(--cctk-dir-muted);
    font-size:clamp(.98rem,1.2vw,1.06rem);
    line-height:1.65;
}
.cctk-course-directory__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(16px,2vw,24px);
    align-items:start;
}
.cctk-course-directory__group {
    --cctk-dir-group:#e97816;
    --cctk-dir-group-rgb:233,120,22;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(58,48,37,.09);
    border-radius:24px;
    background:rgba(255,255,255,.82);
    box-shadow:0 18px 50px rgba(75,61,42,.065);
    backdrop-filter:blur(4px);
}
.cctk-course-directory__group--subjects {
    --cctk-dir-group:#0a8da0;
    --cctk-dir-group-rgb:10,141,160;
}
.cctk-course-directory__group--specialist {
    --cctk-dir-group:#6c891f;
    --cctk-dir-group-rgb:108,137,31;
}
.cctk-course-directory__group--exams {
    --cctk-dir-group:#ac43ca;
    --cctk-dir-group-rgb:172,67,202;
}
.cctk-course-directory__group-head {
    display:flex;
    align-items:center;
    min-height:68px;
    gap:10px;
    padding:17px 19px;
    border-bottom:1px solid rgba(58,48,37,.08);
    background:linear-gradient(135deg,rgba(var(--cctk-dir-group-rgb),.08),rgba(255,255,255,.52));
}
.cctk-course-directory__group-mark {
    flex:0 0 auto;
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--cctk-dir-group);
    box-shadow:0 0 0 7px rgba(var(--cctk-dir-group-rgb),.10);
}
.cctk-course-directory__group-head h3 {
    min-width:0;
    margin:0;
    color:var(--cctk-dir-ink);
    font:inherit;
    font-size:1rem;
    line-height:1.2;
    letter-spacing:.01em;
    text-transform:uppercase;
    font-weight:850;
}
.cctk-course-directory__count {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    min-width:28px;
    height:28px;
    margin-left:auto;
    padding:0 7px;
    border-radius:999px;
    color:var(--cctk-dir-group);
    background:rgba(var(--cctk-dir-group-rgb),.09);
    font-size:.76rem;
    font-weight:850;
}
.cctk-course-directory__links {
    display:flex;
    flex-direction:column;
    padding:8px;
}
.cctk-course-directory__link {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:58px;
    padding:11px 11px 11px 13px;
    border-radius:15px;
    color:var(--cctk-dir-ink) !important;
    text-decoration:none !important;
    transition:background .18s ease,transform .18s ease;
}
.cctk-course-directory__link + .cctk-course-directory__link {
    border-top:1px solid rgba(58,48,37,.065);
}
.cctk-course-directory__link-copy {
    display:flex;
    flex:1;
    min-width:0;
    flex-direction:column;
    gap:3px;
}
.cctk-course-directory__link strong {
    color:inherit;
    font-size:.98rem;
    line-height:1.25;
    font-weight:800;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
}
.cctk-course-directory__link small {
    color:var(--cctk-dir-muted);
    font-size:.78rem;
    line-height:1.35;
    font-weight:600;
}
.cctk-course-directory__arrow {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:30px;
    height:30px;
    border:1px solid rgba(var(--cctk-dir-group-rgb),.16);
    border-radius:50%;
    color:var(--cctk-dir-group);
    background:rgba(var(--cctk-dir-group-rgb),.06);
    font-size:.93rem;
    transition:transform .18s ease,background .18s ease;
}
.cctk-course-directory__empty {
    padding:24px;
    border:1px dashed rgba(233,120,22,.28);
    border-radius:18px;
    background:rgba(255,255,255,.7);
    color:var(--cctk-dir-muted);
}
@media (hover:hover) {
    .cctk-course-directory__link:hover {
        background:rgba(var(--cctk-dir-group-rgb),.065);
        transform:translateX(2px);
    }
    .cctk-course-directory__link:hover .cctk-course-directory__arrow {
        transform:translateX(2px);
        background:rgba(var(--cctk-dir-group-rgb),.12);
    }
}
@media (max-width:920px) {
    .cctk-course-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
    .cctk-course-directory__shell { width:min(100% - 30px,1180px); padding:54px 0; }
    .cctk-course-directory__head { margin-bottom:27px; }
    .cctk-course-directory__head h2 { font-size:clamp(1.95rem,9vw,2.72rem); }
    .cctk-course-directory__grid { grid-template-columns:1fr; gap:14px; }
    .cctk-course-directory__group { border-radius:20px; }
}
@media (prefers-reduced-motion:reduce) {
    .cctk-course-directory__link,
    .cctk-course-directory__arrow { transition:none !important; }
}

/* -------------------------------------------------------------------------
 * v1.7.0 — universal second column: image / safe HTML iframe / shortcode.
 * ---------------------------------------------------------------------- */
.cctk-premium-section--media-right.cctk-premium-section--split-50-50 .cctk-premium-section__intro {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.cctk-premium-section--media-right.cctk-premium-section--split-40-60 .cctk-premium-section__intro {
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
}
.cctk-premium-section--media-right.cctk-premium-section--split-60-40 .cctk-premium-section__intro {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
}
.cctk-premium-section--media-left.cctk-premium-section--split-50-50 .cctk-premium-section__intro {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.cctk-premium-section--media-left.cctk-premium-section--split-40-60 .cctk-premium-section__intro {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
}
.cctk-premium-section--media-left.cctk-premium-section--split-60-40 .cctk-premium-section__intro {
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
}
.cctk-premium-section__media-type-html,
.cctk-premium-section__media-type-shortcode {
    min-height:var(--cctk-media-height,420px);
    height:var(--cctk-media-height,420px);
}
.cctk-premium-section__embed {
    width:100%;
    height:100%;
    min-height:inherit;
}
.cctk-premium-section__embed > iframe,
.cctk-premium-section__embed iframe {
    display:block;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:100%;
    margin:0;
    border:0 !important;
}
.cctk-premium-section__embed--shortcode > :first-child { margin-top:0; }
.cctk-premium-section__embed--shortcode > :last-child { margin-bottom:0; }

@media (hover:hover) {
    .cctk-premium-section__media-type-html,
    .cctk-premium-section__media-type-shortcode {
        transition:transform .25s ease, box-shadow .25s ease;
    }
    .cctk-premium-section__media-type-html:hover,
    .cctk-premium-section__media-type-shortcode:hover {
        transform:translateY(-2px);
        box-shadow:0 32px 76px rgba(75,61,42,.14),0 0 0 8px rgba(var(--cctk-accent-rgb),.045);
    }
}
@media (max-width:980px) and (min-width:761px) {
    .cctk-premium-section--has-side-media .cctk-premium-section__intro {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    }
}
@media (max-width:760px) {
    .cctk-premium-section__media-type-html,
    .cctk-premium-section__media-type-shortcode {
        height:min(var(--cctk-media-height,420px),420px);
        min-height:320px;
    }
}

/* -------------------------------------------------------------------------
 * v1.9.5 — natural image ratio for logos and non-standard graphics.
 * Keeps the media at 100% column width without forcing a crop/aspect ratio.
 * ---------------------------------------------------------------------- */
.cctk-premium-section__media-ratio-natural {
    aspect-ratio:auto;
    height:auto;
}
.cctk-premium-section__media-ratio-natural .cctk-premium-section__media-img {
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
}
@media (max-width:760px) {
    .cctk-premium-section__media-ratio-natural {
        max-height:none;
    }
}
