/* Wspólna biblioteka kart (Hero/Mixed/News-grid) — ładowana PRZED *-base.css i plikami wariantów (tpl_enqueue_cards_css()),
   więc reguły wariantów o tej samej specyficzności wygrywają jak dotąd. Sekcje: 1) .card-light (boksy jasne: text/split/stack) +
   modyfikatory, 2) lista małych newsów (.list-mod), 3) karta .ngc + skórki. DOCS: sekcja 33. */
/* 1) .card-light — przeniesione z mixed-base.css. */
.card-light{--card-light-title-fs:var(--hero-fs-17);background:var(--card-light-bg,var(--color-bg-light));border-radius:8px;padding:20px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;box-sizing:border-box;}
.card-light .card-light-title{font-size:var(--card-light-title-fs);line-height:1.35;display:block;}
.card-light .card-light-category{font-size:var(--hero-fs-meta);font-weight:600;margin-bottom:6px;}
.card-light .card-light-date{font-size:var(--hero-fs-meta);margin-top:10px;}
.card-light .card-light-excerpt{font-size:var(--hero-fs-14);line-height:1.6;margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card-light.card-light-split{padding:0;display:grid;grid-template-columns:1fr 1fr;}
.card-light-split .card-light-photo{position:relative;overflow:hidden;min-height:0;}
.card-light-split .card-light-photo > *{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.card-light-split .card-light-body{padding:22px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.card-light-split .card-light-title{font-size:var(--hero-fs-18);}
.card-light-split--mirror .card-light-photo{order:2;}
/* Modyfikatory .card-light (tpl_card_light_mod_classes()) — tylko >=769px; na mobile boks jak w siatce bazowej. Kolory tekstu na ciemnym jak M14, na kolorze jak card-split-solid (hover = podkreślenie, sekcja 6.1 DOCS). */
@media (min-width:769px){
.card-light.card-light--bg-white{--card-light-bg:var(--color-white);}
.card-light.card-light--bg-dark{--card-light-bg:var(--color-bg-dark);}
.card-light.card-light--bg-primary{--card-light-bg:var(--color-primary);}
.card-light.card-light--bg-secondary{--card-light-bg:var(--color-secondary,var(--color-primary));}
.card-light.card-light--bg-tertiary{--card-light-bg:var(--color-tertiary,var(--color-primary));}
.card-light.card-light--bg-gradient{background:linear-gradient(155deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 62%,#000) 100%);}
.card-light.card-light--border-light{outline:1px solid var(--color-border-light);outline-offset:-1px;}
.card-light.card-light--border-accent{outline:2px solid var(--color-primary);outline-offset:-2px;}
.card-light.card-light-split.card-light--framed{padding:20px;column-gap:20px;}
.card-light-split.card-light--framed .card-light-photo{border-radius:var(--news-border-radius);}
.card-light-split.card-light--framed .card-light-body{padding:0;}
.card-light-split.card-light--framed .card-light-title{overflow-wrap:break-word;}
.card-light.card-light--on-dark .card-light-title{color:var(--color-white);}
article.card-light--on-dark:hover .news-title-base.card-light-title{color:var(--color-primary);}
.card-light.card-light--on-dark .card-light-excerpt{color:var(--white-70);}
.card-light.card-light--on-dark .card-light-date{color:var(--white-40);}
.card-light.card-light--on-color .card-light-title{color:var(--color-white);text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color 0.15s ease;}
article.card-light--on-color:hover .news-title-base.card-light-title{color:var(--color-white);text-decoration-color:currentColor;}
.card-light.card-light--on-color .card-light-category,.card-light.card-light--on-color .card-light-excerpt,.card-light.card-light--on-color .card-light-date{color:var(--white-80);}
}
/* .card-light-stack — tytuł u góry, pas zdjęcia pod spodem (tpl_card_light_stack(), C/D/E). */
.card-light.card-light-stack{padding:0;justify-content:flex-start;}
.card-light-stack .card-light-body{padding:20px;display:flex;flex-direction:column;flex:none;min-width:0;}
.card-light-stack .card-light-title{font-size:var(--fs-mixed-featured-title,28px);line-height:1.3;}
.card-light-stack .card-light-excerpt{font-size:var(--fs-mixed-featured-excerpt,15px);}
.card-light-stack .card-light-photo{position:relative;flex:1 0 auto;aspect-ratio:16/6;margin:0 20px 20px;overflow:hidden;border-radius:var(--news-border-radius);background-color:var(--color-news-placeholder);}
.card-light-stack .card-light-photo > *{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:768px){.card-light-stack .card-light-body{padding:16px;}
.card-light-stack .card-light-title{font-size:var(--hero-fs-title);}
.card-light-stack .card-light-photo{margin:0 16px 16px;aspect-ratio:16/9;}
}
/* Dekoracje boksu bez zdjęcia (deco: mark/bar/initial; X/Y/Z). Znak portalu ukryty na mobile. */
.card-light-mark{display:none;}
@media (min-width:769px){
.card-light.card-light--deco-mark{position:relative;isolation:isolate;background:linear-gradient(160deg,color-mix(in srgb,var(--color-primary) 10%,var(--color-white)) 0%,var(--color-white) 72%);}
.card-light--deco-mark .card-light-mark{display:block;position:absolute;top:-15px;right:-15px;z-index:-1;pointer-events:none;opacity:.13;font-weight:700;font-size:calc(var(--hero-fs-title) * 4.5);line-height:1;color:var(--color-primary);}
.card-light--deco-mark .card-light-mark--icon{opacity:.08;}
.card-light--deco-mark .card-light-mark img{display:block;width:100px;height:100px;object-fit:contain;}
.card-light.card-light--deco-bar{padding-left:24px;box-shadow:inset 4px 0 0 var(--color-primary);}
.card-light--deco-initial .card-light-excerpt{-webkit-line-clamp:4;}
.card-light--deco-initial .card-light-excerpt::first-letter{float:left;margin:4px 10px 0 0;font-size:3.7em;font-weight:700;line-height:.85;color:var(--color-primary);}
/* `compact` — niski kafel (np. pół wysokości pasa Trendy): bez wstępu, tytuł max 3 linie, padding 16px. */
.card-light.card-light--compact{padding:16px;}
.card-light-split.card-light--compact{padding:0;}
.card-light-split.card-light--compact .card-light-body{padding:16px;}
.card-light--compact .card-light-excerpt,.card-light--compact .card-light-date{display:none;}
.card-light--compact .card-light-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
}
/* 2) Lista małych newsów — modyfikatory wrappera listy (tpl_list_mod_classes(); I/J/K/L). Selektory z `div.` —
   muszą wygrać z gap/padding wariantu (cards.css ładuje się przed plikami wariantów). Tylko >=769px. */
@media (min-width:769px){
div.list-mod.list-mod--box{box-sizing:border-box;gap:0;padding:4px 24px;border-radius:8px;background-color:var(--color-white);}
div.list-mod.list-mod--box > *{padding-top:15px;padding-bottom:15px;}
div.list-mod.list-mod--box > * + *{border-top:1px solid color-mix(in srgb,var(--color-border-light) 50%,transparent);}
div.list-mod.list-mod--box.list-mod--bg-light{background-color:var(--color-bg-light);}
div.list-mod.list-mod--box.list-mod--bg-dark{background-color:var(--color-bg-dark);}
div.list-mod.list-mod--box.list-mod--bg-dark > * + *{border-top-color:color-mix(in srgb,var(--color-white) 18%,transparent);}
div.list-mod.list-mod--box.list-mod--bg-primary{background-color:var(--color-primary);}
div.list-mod.list-mod--box.list-mod--bg-gradient,div.list-mod.list-mod--cards.list-mod--bg-gradient{background:linear-gradient(155deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 62%,#000) 100%);}
div.list-mod.list-mod--box.list-mod--on-color > * + *{border-top-color:var(--white-25);}
div.list-mod.list-mod--cards > *{box-sizing:border-box;padding:20px;border-radius:8px;background-color:var(--color-white);}
div.list-mod.list-mod--cards > .article-horizontal:hover{transform:none;}
div.list-mod.list-mod--cards[class*="list-mod--bg-"]{box-sizing:border-box;padding:15px;border-radius:8px;}
div.list-mod.list-mod--cards.list-mod--bg-light{background-color:var(--color-bg-light);}
div.list-mod.list-mod--cards.list-mod--bg-dark{background-color:var(--color-bg-dark);}
div.list-mod.list-mod--cards.list-mod--bg-primary{background-color:var(--color-primary);}
div.list-mod.list-mod--box.list-mod--border-light,div.list-mod.list-mod--cards.list-mod--border-light > *{outline:1px solid var(--color-border-light);outline-offset:-1px;}
div.list-mod.list-mod--box.list-mod--border-accent,div.list-mod.list-mod--cards.list-mod--border-accent > *{outline:2px solid var(--color-primary);outline-offset:-2px;}
div.list-mod.list-mod--plain{gap:16px;padding:0;background:none;}
div.list-mod.list-mod--plain > *{padding:0;border:0;background:none;}
div.list-mod > .article-horizontal .article-content{min-width:0;overflow-wrap:break-word;}
div.list-mod.list-mod--thumb-right > .article-horizontal{flex-direction:row-reverse;}
div.list-mod.list-mod--box.list-mod--thumb-right > .article-horizontal:hover{transform:translateX(-4px);}
.list-mod--on-dark .news-title-base,.list-mod--on-color .news-title-base{color:var(--color-white);}
.list-mod--on-dark article:hover .news-title-base{color:var(--color-primary);}
.list-mod--on-color .news-title-base{text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color 0.15s ease;}
.list-mod--on-color article:hover .news-title-base{color:var(--color-white);text-decoration-color:currentColor;}
.list-mod--on-color .text-date{color:var(--white-80);}
}
/* 3) Karta .ngc — baza przeniesiona z news-grid-base.css, skórki z news-grid-v13…v22.css. */
.ngc{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:10px;overflow:hidden;isolation:isolate;cursor:pointer;}
.ngc-ph{position:relative;overflow:hidden;min-width:0;background-color:var(--color-news-placeholder);}
.ngc-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ngc:hover .ngc-img{transform:scale(1.04);}
.ngc-bd{position:relative;display:flex;flex-direction:column;min-width:0;}
.ngc-cat{display:block;max-width:100%;font-size:var(--hero-fs-meta);font-weight:600;line-height:1;color:var(--color-category-badge);}
.ngc--kick .ngc-cat{margin-bottom:10px;}
.ngc-title{display:block;font-family:var(--font-family-heading);font-weight:700;font-size:var(--hero-fs-18);line-height:1.35;color:var(--color-news-title);text-decoration:none;}
.ngc-title::after{content:"";position:absolute;inset:0;z-index:3;}
.ngc-lead{margin:8px 0 0;font-size:var(--hero-fs-14);line-height:1.55;color:var(--color-news-date);}
.ngc-meta{margin-top:10px;font-size:var(--hero-fs-meta);line-height:1.4;color:var(--color-news-date);}
.ngc:hover .ngc-title{color:var(--color-news-title-hover);}
/* Ramka 1px tylko na korpusie (lewa/prawa/dolna) — zdjęcie bez obwódki (7.99.53). */
.ngc-frame{background-color:var(--color-white);}
.ngc-frame .ngc-ph{flex:none;aspect-ratio:16/9;}
.ngc-frame .ngc-bd{flex:1;padding:20px;border:1px solid var(--color-border-light);border-top:0;border-radius:0 0 10px 10px;}
.ngc-split{flex-direction:row;min-height:260px;background-color:var(--color-white);border:1px solid var(--color-border-light);}
.ngc-split .ngc-ph{flex:0 0 50%;}
.ngc-split .ngc-img{position:absolute;inset:0;}
.ngc-split .ngc-bd{flex:1;justify-content:center;padding:28px;}
.ngc-split .ngc-title{font-size:var(--hero-fs-title);}
.ngc-glass-panel{justify-content:flex-end;min-height:300px;}
.ngc-glass-panel .ngc-ph{position:absolute;inset:0;}
.ngc-glass-panel .ngc-bd{margin:auto 12px 12px;padding:20px;border:0;border-radius:8px;background-color:rgba(18,16,20,.75);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:2;}
.ngc-glass-panel .ngc-title,.ngc-glass-panel .ngc-cat{color:var(--color-white);}
.ngc-glass-panel .ngc-meta{color:var(--white-80);}
.ngc.ngc-glass-panel:hover .ngc-title{color:var(--color-white);text-decoration:underline;}
.ngc-glass-band{justify-content:flex-end;min-height:300px;}
.ngc-glass-band .ngc-ph{position:absolute;inset:0;}
.ngc-glass-band .ngc-bd{margin-top:auto;padding:20px;background-color:rgba(18,16,20,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;}
.ngc-glass-band .ngc-title,.ngc-glass-band .ngc-cat{color:var(--color-white);}
.ngc-glass-band .ngc-meta{color:var(--white-80);}
.ngc.ngc-glass-band:hover .ngc-title{color:var(--color-white);text-decoration:underline;}
.ngc-inset{justify-content:flex-end;min-height:300px;}
.ngc-inset .ngc-ph{position:absolute;inset:0;}
.ngc-inset .ngc-bd{margin:auto 12px 12px;padding:20px;border-radius:8px;background-color:var(--color-white);z-index:2;}
.ngc-ring{padding:20px;background-color:var(--color-white);box-shadow:0 0 0 1px var(--color-border-light) inset;transition:box-shadow .2s ease;}
.ngc-ring:hover{box-shadow:0 0 0 2px var(--color-category-badge) inset;}
.ngc-ring .ngc-bd{display:contents;}
.ngc-ring .ngc-cat{order:-1;}
.ngc-ring .ngc-ph{aspect-ratio:16/9;flex:none;border-radius:var(--news-border-radius);margin-bottom:0;}
.ngc-ring .ngc-title{margin-top:14px;}
.ngc-accent .ngc-ph{flex:none;aspect-ratio:16/9;}
.ngc-accent .ngc-bd{flex:1;padding:20px;background-color:var(--color-primary);}
.ngc-accent .ngc-title{color:var(--color-white);}
.ngc.ngc-accent .ngc-cat{color:var(--white-80);}
.ngc-accent .ngc-meta{color:var(--white-80);}
.ngc.ngc-accent:hover .ngc-title{color:var(--color-white);text-decoration:underline;}
.ngc-accent-2 .ngc-ph{flex:none;aspect-ratio:16/9;}
.ngc-accent-2 .ngc-bd{flex:1;padding:20px;background-color:var(--color-secondary);}
.ngc-accent-2 .ngc-title{color:var(--color-white);}
.ngc.ngc-accent-2 .ngc-cat{color:var(--white-80);}
.ngc-accent-2 .ngc-meta{color:var(--white-80);}
.ngc.ngc-accent-2:hover .ngc-title{color:var(--color-white);text-decoration:underline;}
.ngc-accent-3 .ngc-ph{flex:none;aspect-ratio:16/9;}
.ngc-accent-3 .ngc-bd{flex:1;padding:20px;background-color:var(--color-tertiary);}
.ngc-accent-3 .ngc-title{color:var(--color-white);}
.ngc.ngc-accent-3 .ngc-cat{color:var(--white-80);}
.ngc-accent-3 .ngc-meta{color:var(--white-80);}
.ngc.ngc-accent-3:hover .ngc-title{color:var(--color-white);text-decoration:underline;}
/* Skórki dodane z news-card-variants: tint (O), plain (P), dark (U), typo (V). */
.ngc-tint{padding:12px;background-color:color-mix(in srgb,var(--color-primary) 10%,var(--color-white));}
.ngc-tint .ngc-ph{flex:none;aspect-ratio:16/9;border-radius:var(--news-border-radius);}
.ngc-tint .ngc-bd{flex:1;padding:14px 8px 8px;}
.ngc-plain{border-radius:0;overflow:visible;}
.ngc-plain .ngc-ph{flex:none;aspect-ratio:16/9;border-radius:10px;}
.ngc-plain .ngc-bd{flex:1;padding:14px 0 0;}
.ngc-dark{background-color:var(--color-bg-dark);}
.ngc-dark .ngc-ph{flex:none;aspect-ratio:16/9;}
.ngc-dark .ngc-bd{flex:1;padding:20px;}
.ngc-dark .ngc-title{color:var(--color-white);}
.ngc.ngc-dark:hover .ngc-title{color:var(--color-primary);}
.ngc-dark .ngc-lead{color:var(--white-70);}
.ngc-dark .ngc-meta{color:var(--white-40);}
.ngc-typo{padding:20px;background:linear-gradient(155deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 62%,#000) 100%);}
.ngc-typo .ngc-ph{flex:none;aspect-ratio:16/9;border-radius:var(--news-border-radius);}
.ngc-typo .ngc-bd{flex:1;padding:14px 0 0;}
.ngc-typo .ngc-title{color:var(--color-white);}
.ngc.ngc-typo .ngc-cat,.ngc-typo .ngc-lead,.ngc-typo .ngc-meta{color:var(--white-80);}
.ngc-typo .ngc-meta{margin-top:auto;padding-top:12px;}
.ngc.ngc-typo:hover .ngc-title{color:var(--color-white);text-decoration:underline;}
/* Wiersz 120×80 na mobile dla .ngc w siatkach Hero/Mixed — wrapper slotu z klasą .cards-row-mobile
   (ten sam wygląd co karty News-grid zwijane w news-grid-base.css i overlaye w wierszach Mixed). */
@media (max-width:768px){.cards-row-mobile > .ngc{flex-direction:row;align-items:center;gap:15px;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;}
.cards-row-mobile > .ngc .ngc-ph{position:relative;inset:auto;order:-1;flex:0 0 120px;width:120px;height:80px;aspect-ratio:auto;margin:0;border-radius:var(--news-border-radius);}
.cards-row-mobile > .ngc .ngc-bd{position:relative;display:flex;flex-direction:column;flex:1;margin:0;border:0;padding:0;background:transparent;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;}
.cards-row-mobile > .ngc .ngc-title{order:1;font-size:var(--fs-news-title-base);line-height:1.4;color:var(--color-news-title);text-shadow:none;text-decoration:none;}
.cards-row-mobile > .ngc .ngc-cat{order:2;align-self:flex-start;margin:6px 0 0;padding:0;background:transparent;font-size:var(--hero-fs-meta);font-weight:500;line-height:1.3;color:var(--color-news-date);}
.cards-row-mobile > .ngc .ngc-meta{order:3;margin-top:2px;color:var(--color-news-date);}
.cards-row-mobile > .ngc .ngc-lead{display:none;} /* Wiersz 120×80 bez wstępu (jak pozostałe wiersze). */
.cards-row-mobile > .ngc:hover .ngc-title{color:var(--color-news-title);text-decoration:none;}
}
@media (max-width:768px) and (hover:hover){.cards-row-mobile > .ngc:hover .ngc-title{color:var(--color-news-title-hover);}
}
/* To samo dla splitu .card-light (wzór: zwijanie splitu w wariantach Mixed, np. mixed-m31.css). */
@media (max-width:768px){.cards-row-mobile > .card-light.card-light-split{display:flex;flex-direction:row;align-items:center;gap:15px;height:auto;min-height:0;padding:0;background:transparent;border-radius:0;overflow:visible;}
.cards-row-mobile > .card-light-split .card-light-photo{width:120px;height:80px;flex-shrink:0;border-radius:var(--news-border-radius);}
.cards-row-mobile > .card-light-split .card-light-body{flex:1;padding:0;justify-content:flex-start;}
.cards-row-mobile > .card-light-split .card-light-title{order:1;font-size:var(--fs-news-title-base);line-height:1.4;}
.cards-row-mobile > .card-light-split .card-light-category{order:2;margin:6px 0 0;color:var(--color-news-date);font-size:var(--hero-fs-meta);font-weight:500;}
.cards-row-mobile > .card-light-split .card-light-excerpt,.cards-row-mobile > .card-light-split .card-light-date{display:none;}
}
/* 5) Styl listy newsów z bloku (7.99.50, tpl_list_style_section_class()): sekcja wariantu spoza Trendy dostaje `tpl-ls…`,
   a lista = najbliższy rodzic artykułów `.article-horizontal` (:has). Te same wyglądy co presety I / I2 / J / K / L; tylko >=769px. */
@media (min-width:769px){
section.tpl-ls div:has(> article.article-horizontal){box-sizing:border-box;} /* Układ listy (kolumna / siatka 2 kol.) zostaje z wariantu. */
section.tpl-ls div:has(> article.article-horizontal) .news-title-base{color:var(--color-news-title);}
section.tpl-ls div:has(> article.article-horizontal) article:hover .news-title-base{color:var(--color-primary);}
section.tpl-ls div:has(> article.article-horizontal) .text-date{color:var(--color-news-date);}
section.tpl-ls div:has(> article.article-horizontal) > article.article-horizontal{margin:0;border:0;box-shadow:none;}
section.tpl-ls--box div:has(> article.article-horizontal){row-gap:0;padding:4px 24px;border-radius:8px;background:var(--color-white);}
section.tpl-ls--box div:has(> article.article-horizontal) > *{padding-top:12px;padding-bottom:12px;}
section.tpl-ls--box div:has(> article.article-horizontal) > * + *{border-top:1px solid var(--color-border-light);}
section.tpl-ls--box.tpl-ls--border-light div:has(> article.article-horizontal){outline:1px solid var(--color-border-light);outline-offset:-1px;}
section.tpl-ls--box.tpl-ls--border-accent div:has(> article.article-horizontal){outline:2px solid var(--color-primary);outline-offset:-2px;}
section.tpl-ls--cards div:has(> article.article-horizontal){row-gap:12px;padding:0;background:none;border-radius:0;outline:0;}
section.tpl-ls--cards div:has(> article.article-horizontal) > *{box-sizing:border-box;padding:14px 16px;border-radius:8px;background:var(--color-white);}
section.tpl-ls--cards.tpl-ls--border-light div:has(> article.article-horizontal) > *{outline:1px solid var(--color-border-light);outline-offset:-1px;}
section.tpl-ls--cards.tpl-ls--border-accent div:has(> article.article-horizontal) > *{outline:2px solid var(--color-primary);outline-offset:-2px;}
section.tpl-ls--cards.tpl-ls--bg-gradient div:has(> article.article-horizontal){padding:12px;border-radius:8px;background:linear-gradient(155deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 62%,#000) 100%);}
section.tpl-ls--plain div:has(> article.article-horizontal){row-gap:16px;padding:0;border:0;border-radius:0;outline:0;box-shadow:none;background:none;}
section.tpl-ls--plain div:has(> article.article-horizontal) > *{padding:0;border:0;background:none;}
section.tpl-ls--thumb-right div:has(> article.article-horizontal) > article.article-horizontal{flex-direction:row-reverse;}
section.tpl-ls div:has(> article.article-horizontal) > article.article-horizontal .article-content{min-width:0;overflow-wrap:break-word;}
}
/* Cała karta klikalna (theme.js) — kursor jak na linku (7.99.71). */
.article-featured,.mixed-featured,.article-vertical,.hero-solid,.hero-list-item{cursor:pointer;}
